﻿/* Oro Verde internal application theme */
:root {
    --ov-green-dark: #123d2a;
    --ov-green-deep: #0c2f22;
    --ov-green: #1f7a46;
    --ov-gold: #d7a842;
    --ov-gold-light: #f0d27c;
    --ov-cream: #fbfaf4;
    --ov-card: rgba(255, 255, 255, 0.94);
    --ov-text: #183b2a;
    --ov-muted: #63766a;
    --ov-line: rgba(31, 122, 70, 0.18);
    --ov-shadow: 0 24px 70px rgba(8, 38, 25, 0.20);
}

html,
body.ov-app-page,
body.ov-menu-page,
body.ov-auth-legacy {
    min-height: 100%;
}

body.ov-app-page,
body.ov-menu-page,
body.ov-auth-legacy {
    background:
        linear-gradient(110deg, rgba(8, 38, 25, 0.90) 0%, rgba(18, 61, 42, 0.78) 42%, rgba(215, 168, 66, 0.28) 100%),
        url('../images/home-bg.jpg') center center / cover fixed no-repeat,
        var(--ov-green-dark) !important;
    color: var(--ov-text) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    margin: 0;
}

body.ov-app-page form,
body.ov-menu-page form,
body.ov-auth-legacy form {
    min-height: 100vh;
}

body.ov-app-page a,
body.ov-menu-page a,
body.ov-auth-legacy a {
    color: var(--ov-green) !important;
    font-weight: 800;
    text-decoration: none;
}

body.ov-app-page a:hover,
body.ov-menu-page a:hover,
body.ov-auth-legacy a:hover {
    color: var(--ov-green-dark) !important;
    text-decoration: none;
}

/* Old BSE header converted to Oro Verde branded header */
body.ov-app-page td[style*="bsEa.jpg"],
body.ov-menu-page td[style*="bsEa.jpg"],
body.ov-auth-legacy td[style*="bsEa.jpg"] {
    background:
        linear-gradient(110deg, rgba(8, 38, 25, 0.92), rgba(18, 61, 42, 0.72), rgba(215, 168, 66, 0.24)),
        url('../images/home-bg.jpg') center center / cover no-repeat !important;
    border-bottom: 1px solid rgba(240, 210, 124, 0.24);
    height: 118px !important;
    min-height: 118px !important;
    overflow: hidden;
    padding: 0 34px !important;
    position: relative;
    vertical-align: middle !important;
}

body.ov-app-page td[style*="bsEa.jpg"]:before,
body.ov-menu-page td[style*="bsEa.jpg"]:before,
body.ov-auth-legacy td[style*="bsEa.jpg"]:before {
    align-items: center;
    color: #ffffff;
    content: "Oro Verde";
    display: flex;
    font-size: 30px;
    font-weight: 900;
    letter-spacing: 0.2px;
    left: 34px;
    line-height: 1;
    position: absolute;
    top: 32px;
    z-index: 1;
}

body.ov-app-page td[style*="bsEa.jpg"]:after,
body.ov-menu-page td[style*="bsEa.jpg"]:after,
body.ov-auth-legacy td[style*="bsEa.jpg"]:after {
    background: rgba(215, 168, 66, 0.16);
    border: 1px solid rgba(215, 168, 66, 0.42);
    border-radius: 999px;
    color: #f3d27f;
    content: "Korisnički servis";
    display: inline-flex;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 1.2px;
    padding: 8px 14px;
    position: absolute;
    right: 34px;
    text-transform: uppercase;
    top: 34px;
    z-index: 1;
}

/* Keep old image-button clickable, but remove visible eagle */
body.ov-app-page input[type="image"][src*="BSE3.png"],
body.ov-menu-page input[type="image"][src*="BSE3.png"],
body.ov-auth-legacy input[type="image"][src*="BSE3.png"],
body.ov-app-page img[src*="BSE3.png"],
body.ov-menu-page img[src*="BSE3.png"],
body.ov-auth-legacy img[src*="BSE3.png"] {
    height: 92px !important;
    opacity: 0 !important;
    position: relative;
    width: 260px !important;
    z-index: 2;
}

/* Old cyan content background neutralized */
body.ov-app-page td[style*="background-color:rgb(2, 189, 232)"],
body.ov-menu-page td[style*="background-color:rgb(2, 189, 232)"],
body.ov-auth-legacy td[style*="background-color:rgb(2, 189, 232)"],
body.ov-app-page td[style*="background-color: rgb(2, 189, 232)"],
body.ov-menu-page td[style*="background-color: rgb(2, 189, 232)"],
body.ov-auth-legacy td[style*="background-color: rgb(2, 189, 232)"] {
    background: linear-gradient(180deg, rgba(251, 250, 244, 0.96), rgba(238, 248, 241, 0.94)) !important;
}

/* Main toolbar */
body.ov-app-page .w3-indigo,
body.ov-menu-page .w3-indigo,
body.ov-auth-legacy .w3-indigo {
    background: rgba(18, 61, 42, 0.94) !important;
    border: 1px solid rgba(240, 210, 124, 0.28) !important;
    border-radius: 0 0 26px 26px !important;
    box-shadow: 0 18px 50px rgba(8, 38, 25, 0.20) !important;
    color: #ffffff !important;
    padding: 10px 14px !important;
}

body.ov-app-page .ov-toolbar,
body.ov-menu-page .ov-toolbar {
    align-items: center;
    display: flex !important;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
}

body.ov-app-page .ov-toolbar-item,
body.ov-menu-page .ov-toolbar-item {
    align-items: center;
    display: inline-flex;
    flex-direction: column;
    gap: 5px;
    justify-content: center;
    margin: 4px 6px;
    max-width: 112px;
    min-width: 76px;
    vertical-align: top;
}

body.ov-app-page .ov-toolbar-item input[type="image"],
body.ov-menu-page .ov-toolbar-item input[type="image"] {
    background: rgba(255, 255, 255, 0.94) !important;
    border: 1px solid rgba(240, 210, 124, 0.32) !important;
    border-radius: 18px !important;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.13) !important;
    height: 50px !important;
    object-fit: contain;
    padding: 9px !important;
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
    width: 50px !important;
}

body.ov-app-page .ov-toolbar-item input[type="image"]:hover,
body.ov-menu-page .ov-toolbar-item input[type="image"]:hover {
    background: linear-gradient(135deg, var(--ov-gold), var(--ov-gold-light)) !important;
    box-shadow: 0 14px 30px rgba(215, 168, 66, 0.25) !important;
    transform: translateY(-2px);
}

body.ov-app-page .ov-toolbar-caption,
body.ov-menu-page .ov-toolbar-caption {
    color: rgba(255, 255, 255, 0.92);
    display: block;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.25;
    max-width: 110px;
    overflow: hidden;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Content cards */
body.ov-app-page .w3-blue,
body.ov-auth-legacy .w3-blue,
body.ov-app-page .w3-panel.w3-blue,
body.ov-auth-legacy .w3-panel.w3-blue {
    background: rgba(255, 255, 255, 0.95) !important;
    border: 1px solid var(--ov-line) !important;
    border-radius: 24px !important;
    box-shadow: var(--ov-shadow) !important;
    color: var(--ov-text) !important;
    padding: 24px !important;
}

body.ov-app-page .w3-blue span,
body.ov-auth-legacy .w3-blue span,
body.ov-app-page .w3-blue label,
body.ov-auth-legacy .w3-blue label,
body.ov-app-page .w3-blue p,
body.ov-auth-legacy .w3-blue p,
body.ov-app-page .w3-blue td,
body.ov-auth-legacy .w3-blue td {
    color: var(--ov-text) !important;
}

body.ov-app-page .w3-blue h1,
body.ov-app-page .w3-blue h2,
body.ov-app-page .w3-blue h3,
body.ov-app-page .w3-blue h4,
body.ov-auth-legacy .w3-blue h1,
body.ov-auth-legacy .w3-blue h2,
body.ov-auth-legacy .w3-blue h3,
body.ov-auth-legacy .w3-blue h4 {
    color: var(--ov-green-dark) !important;
    font-weight: 900 !important;
}

body.ov-app-page .w3-round-xlarge,
body.ov-menu-page .w3-round-xlarge,
body.ov-auth-legacy .w3-round-xlarge {
    border-radius: 24px !important;
}

body.ov-app-page input[type="text"],
body.ov-app-page input[type="password"],
body.ov-app-page input[type="email"],
body.ov-app-page input[type="number"],
body.ov-app-page textarea,
body.ov-app-page select,
body.ov-auth-legacy input[type="text"],
body.ov-auth-legacy input[type="password"],
body.ov-auth-legacy input[type="email"],
body.ov-auth-legacy input[type="number"],
body.ov-auth-legacy textarea,
body.ov-auth-legacy select {
    background: rgba(251, 250, 244, 0.96) !important;
    border: 1px solid rgba(31, 122, 70, 0.22) !important;
    border-radius: 14px !important;
    box-shadow: none !important;
    color: var(--ov-text) !important;
    min-height: 38px;
    padding: 8px 12px !important;
}

body.ov-app-page input[type="text"]:focus,
body.ov-app-page input[type="password"]:focus,
body.ov-app-page input[type="email"]:focus,
body.ov-app-page textarea:focus,
body.ov-app-page select:focus,
body.ov-auth-legacy input[type="text"]:focus,
body.ov-auth-legacy input[type="password"]:focus,
body.ov-auth-legacy textarea:focus,
body.ov-auth-legacy select:focus {
    background: #ffffff !important;
    border-color: var(--ov-green) !important;
    box-shadow: 0 0 0 4px rgba(31, 122, 70, 0.12) !important;
    outline: none !important;
}

body.ov-app-page input[type="submit"],
body.ov-app-page input[type="button"],
body.ov-app-page button,
body.ov-auth-legacy input[type="submit"],
body.ov-auth-legacy input[type="button"],
body.ov-auth-legacy button {
    background: linear-gradient(135deg, var(--ov-gold), var(--ov-gold-light)) !important;
    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: 0 12px 26px rgba(215, 168, 66, 0.24) !important;
    color: #173825 !important;
    cursor: pointer;
    font-weight: 900 !important;
    min-height: 44px;
    padding: 9px 18px !important;
}

body.ov-app-page input[type="submit"]:hover,
body.ov-app-page input[type="button"]:hover,
body.ov-app-page button:hover,
body.ov-auth-legacy input[type="submit"]:hover,
body.ov-auth-legacy input[type="button"]:hover,
body.ov-auth-legacy button:hover {
    filter: brightness(1.04);
    transform: translateY(-1px);
}

body.ov-app-page input[type="image"],
body.ov-auth-legacy input[type="image"] {
    transition: transform 0.18s ease, filter 0.18s ease;
}

body.ov-app-page input[type="image"]:hover,
body.ov-auth-legacy input[type="image"]:hover {
    filter: brightness(1.04);
    transform: translateY(-1px);
}

/* GridViews and data tables */
body.ov-app-page table[id*="gv"],
body.ov-app-page table[id*="GridView"],
body.ov-app-page table[id*="grid"],
body.ov-auth-legacy table[id*="gv"] {
    background: rgba(255, 255, 255, 0.96) !important;
    border: 1px solid var(--ov-line) !important;
    border-collapse: separate !important;
    border-radius: 20px !important;
    border-spacing: 0 !important;
    box-shadow: var(--ov-shadow) !important;
    color: var(--ov-text) !important;
    overflow: hidden;
}

body.ov-app-page table[id*="gv"] th,
body.ov-app-page table[id*="GridView"] th,
body.ov-app-page table[id*="grid"] th {
    background: linear-gradient(135deg, var(--ov-green-dark), var(--ov-green)) !important;
    color: #ffffff !important;
    font-weight: 900 !important;
    padding: 12px !important;
}

body.ov-app-page table[id*="gv"] td,
body.ov-app-page table[id*="GridView"] td,
body.ov-app-page table[id*="grid"] td {
    border-bottom: 1px solid rgba(31, 122, 70, 0.10) !important;
    color: var(--ov-text) !important;
    padding: 10px !important;
}

body.ov-app-page table[id*="gv"] tr:nth-child(even) td,
body.ov-app-page table[id*="GridView"] tr:nth-child(even) td,
body.ov-app-page table[id*="grid"] tr:nth-child(even) td {
    background: rgba(238, 248, 241, 0.66) !important;
}

/* Pink/green notification panels become modern alerts */
body.ov-app-page div[style*="ffccff"],
body.ov-auth-legacy div[style*="ffccff"] {
    background: #fff2f2 !important;
    border: 1px solid #f0b5b5 !important;
    border-radius: 16px !important;
    color: #9f1d1d !important;
    padding: 12px !important;
}

body.ov-app-page div[style*="aeeaae"],
body.ov-auth-legacy div[style*="aeeaae"] {
    background: #eef8f1 !important;
    border: 1px solid rgba(31, 122, 70, 0.22) !important;
    border-radius: 16px !important;
    color: var(--ov-green-dark) !important;
    padding: 12px !important;
}

/* Menu pages */
body.ov-menu-page td[style*="background-color:rgb(2, 189, 232)"],
body.ov-menu-page td[style*="background-color: rgb(2, 189, 232)"] {
    background: linear-gradient(180deg, rgba(251, 250, 244, 0.98), rgba(238, 248, 241, 0.96)) !important;
}

body.ov-menu-page [id^="Panel"] {
    background: rgba(255, 255, 255, 0.96) !important;
    border: 1px solid var(--ov-line) !important;
    border-radius: 28px !important;
    box-shadow: var(--ov-shadow) !important;
    color: var(--ov-text) !important;
    min-height: 330px;
    overflow: hidden;
    padding: 18px !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

body.ov-menu-page [id^="Panel"]:hover {
    border-color: rgba(215, 168, 66, 0.48) !important;
    box-shadow: 0 28px 82px rgba(8, 38, 25, 0.24) !important;
    transform: translateY(-4px);
}

body.ov-menu-page span[id^="lblN"] {
    color: var(--ov-green-dark) !important;
    display: block;
    font-size: 21px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
    min-height: 54px;
    text-decoration: none !important;
}

body.ov-menu-page span[id^="lblO"] {
    color: var(--ov-muted) !important;
    display: block;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.65 !important;
    text-align: left !important;
}

body.ov-menu-page [id^="Panel"] input[type="image"][id^="ib"] {
    background: linear-gradient(135deg, rgba(31, 122, 70, 0.10), rgba(215, 168, 66, 0.18)) !important;
    border: 1px solid rgba(31, 122, 70, 0.16) !important;
    border-radius: 24px !important;
    box-shadow: 0 14px 34px rgba(18, 61, 42, 0.10) !important;
    height: 82px !important;
    object-fit: contain;
    padding: 14px !important;
    width: 82px !important;
}

body.ov-menu-page [id^="Panel"] table,
body.ov-menu-page [id^="Panel"] td {
    background: transparent !important;
}

body.ov-menu-page [id^="Panel"] td[style*="height:130px"] {
    height: auto !important;
    min-height: 112px !important;
}

body.ov-menu-page table[style*="width:100%"] {
    max-width: 1360px;
    margin-left: auto;
    margin-right: auto;
}

/* Legacy admin login compact polish */
body.ov-auth-legacy .w3-blue {
    margin: 40px auto !important;
    max-width: 520px;
}

body.ov-auth-legacy td[style*="width:36%"] {
    width: 30% !important;
}

body.ov-auth-legacy td[style*="width:28%"] {
    width: 40% !important;
}

@media (max-width: 992px) {
    body.ov-app-page td[style*="bsEa.jpg"],
    body.ov-menu-page td[style*="bsEa.jpg"],
    body.ov-auth-legacy td[style*="bsEa.jpg"] {
        height: 106px !important;
        min-height: 106px !important;
        padding: 0 20px !important;
    }

    body.ov-app-page td[style*="bsEa.jpg"]:before,
    body.ov-menu-page td[style*="bsEa.jpg"]:before,
    body.ov-auth-legacy td[style*="bsEa.jpg"]:before {
        font-size: 25px;
        left: 20px;
        top: 30px;
    }

    body.ov-app-page td[style*="bsEa.jpg"]:after,
    body.ov-menu-page td[style*="bsEa.jpg"]:after,
    body.ov-auth-legacy td[style*="bsEa.jpg"]:after {
        display: none;
    }

    body.ov-app-page input[type="image"][src*="BSE3.png"],
    body.ov-menu-page input[type="image"][src*="BSE3.png"],
    body.ov-auth-legacy input[type="image"][src*="BSE3.png"] {
        width: 180px !important;
    }

    body.ov-app-page .ov-toolbar-caption,
    body.ov-menu-page .ov-toolbar-caption {
        display: none;
    }

    body.ov-app-page .ov-toolbar-item,
    body.ov-menu-page .ov-toolbar-item {
        min-width: 54px;
    }

    body.ov-menu-page [id^="Panel"] {
        margin-bottom: 18px;
        min-height: 0;
    }
}

@media (max-width: 640px) {
    body.ov-app-page,
    body.ov-menu-page,
    body.ov-auth-legacy {
        background-attachment: scroll !important;
    }

    body.ov-app-page .w3-blue,
    body.ov-auth-legacy .w3-blue,
    body.ov-menu-page [id^="Panel"] {
        border-radius: 20px !important;
        padding: 18px !important;
    }

    body.ov-app-page table[id*="gv"],
    body.ov-app-page table[id*="GridView"],
    body.ov-app-page table[id*="grid"] {
        display: block;
        overflow-x: auto;
        width: 100% !important;
    }
}

/* Oro Verde internal polish v2 - richer panels and fully clickable menu cards */
body.ov-app-page,
body.ov-menu-page,
body.ov-auth-legacy {
    background:
        radial-gradient(circle at 50% 0%, rgba(240, 210, 124, 0.18) 0%, rgba(240, 210, 124, 0) 34%),
        linear-gradient(120deg, rgba(8, 38, 25, 0.92) 0%, rgba(18, 61, 42, 0.78) 45%, rgba(92, 68, 28, 0.54) 100%),
        url('../images/home-bg.jpg') center center / cover fixed no-repeat,
        var(--ov-green-dark) !important;
}

body.ov-app-page td[style*="bsEa.jpg"],
body.ov-menu-page td[style*="bsEa.jpg"],
body.ov-auth-legacy td[style*="bsEa.jpg"] {
    background:
        radial-gradient(circle at 50% 20%, rgba(240, 210, 124, 0.22), rgba(240, 210, 124, 0) 42%),
        linear-gradient(105deg, rgba(8, 38, 25, 0.94), rgba(18, 61, 42, 0.70), rgba(215, 168, 66, 0.20)),
        url('../images/home-bg.jpg') center center / cover no-repeat !important;
    box-shadow: 0 22px 65px rgba(8, 38, 25, 0.20) !important;
}

body.ov-app-page .w3-blue,
body.ov-auth-legacy .w3-blue,
body.ov-app-page .w3-panel.w3-blue,
body.ov-auth-legacy .w3-panel.w3-blue {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(251, 250, 244, 0.95)) !important;
    border: 1px solid rgba(31, 122, 70, 0.22) !important;
    box-shadow: 0 26px 72px rgba(8, 38, 25, 0.18) !important;
}

body.ov-app-page .ov-toolbar,
body.ov-menu-page .ov-toolbar {
    backdrop-filter: blur(8px);
}

body.ov-app-page .ov-toolbar-item,
body.ov-menu-page .ov-toolbar-item {
    border-radius: 18px;
    cursor: pointer;
    padding: 6px 7px;
    transition: background 0.18s ease, transform 0.18s ease;
}

body.ov-app-page .ov-toolbar-item:hover,
body.ov-menu-page .ov-toolbar-item:hover,
body.ov-app-page .ov-toolbar-item:focus,
body.ov-menu-page .ov-toolbar-item:focus {
    background: rgba(255, 255, 255, 0.10);
    outline: none;
    transform: translateY(-1px);
}

body.ov-menu-page [id^="Panel"] {
    min-height: 360px;
}

body.ov-menu-page .ov-menu-card {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(251, 250, 244, 0.96) 100%) !important;
    border: 1px solid rgba(31, 122, 70, 0.22) !important;
    border-radius: 30px !important;
    box-shadow: 0 24px 70px rgba(8, 38, 25, 0.18) !important;
    box-sizing: border-box;
    cursor: pointer;
    isolation: isolate;
    min-height: 360px;
    overflow: hidden;
    padding: 20px 20px 54px !important;
    position: relative;
}

body.ov-menu-page .ov-menu-card:before {
    background: linear-gradient(90deg, var(--ov-green-dark), var(--ov-green), var(--ov-gold));
    content: "";
    height: 7px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
}

body.ov-menu-page .ov-menu-card:after {
    align-items: center;
    background: rgba(31, 122, 70, 0.08);
    border: 1px solid rgba(31, 122, 70, 0.16);
    border-radius: 999px;
    color: var(--ov-green-dark);
    content: "›";
    display: flex;
    font-size: 28px;
    font-weight: 900;
    height: 38px;
    justify-content: center;
    line-height: 1;
    position: absolute;
    right: 18px;
    top: 17px;
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
    width: 38px;
    z-index: 2;
}

body.ov-menu-page .ov-menu-card:hover,
body.ov-menu-page .ov-menu-card:focus {
    border-color: rgba(215, 168, 66, 0.58) !important;
    box-shadow: 0 30px 86px rgba(8, 38, 25, 0.26) !important;
    outline: none;
    transform: translateY(-5px);
}

body.ov-menu-page .ov-menu-card:hover:after,
body.ov-menu-page .ov-menu-card:focus:after {
    background: linear-gradient(135deg, var(--ov-gold), var(--ov-gold-light));
    color: #173825;
    transform: translateX(3px);
}

body.ov-menu-page .ov-menu-card > table {
    height: 100%;
    position: relative;
    table-layout: fixed;
    z-index: 2;
}

body.ov-menu-page .ov-menu-card table,
body.ov-menu-page .ov-menu-card tr,
body.ov-menu-page .ov-menu-card td {
    background: transparent !important;
}

body.ov-menu-page .ov-menu-card span[id^="lblN"] {
    color: var(--ov-green-dark) !important;
    display: block;
    font-size: 22px !important;
    font-weight: 900 !important;
    letter-spacing: -0.2px;
    line-height: 1.22 !important;
    margin: 4px auto 0;
    max-width: 92%;
    min-height: 56px;
    padding-right: 32px;
    text-align: center !important;
    text-decoration: none !important;
}

body.ov-menu-page .ov-menu-card span[id^="lblO"] {
    color: var(--ov-muted) !important;
    display: -webkit-box;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.55 !important;
    margin: 0 auto;
    max-width: 92%;
    overflow: hidden;
    text-align: center !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
}

body.ov-menu-page .ov-menu-card input[type="image"][id^="ib"] {
    background:
        radial-gradient(circle at 50% 25%, rgba(240, 210, 124, 0.34), rgba(240, 210, 124, 0) 62%),
        linear-gradient(145deg, rgba(238, 248, 241, 0.96), rgba(255, 255, 255, 0.98)) !important;
    border: 1px solid rgba(31, 122, 70, 0.18) !important;
    border-radius: 26px !important;
    box-shadow: 0 14px 36px rgba(18, 61, 42, 0.12) !important;
    height: 94px !important;
    margin: 8px auto 4px !important;
    object-fit: contain;
    padding: 16px !important;
    width: 94px !important;
}

body.ov-menu-page .ov-menu-card .ov-menu-cta {
    align-items: center;
    background: linear-gradient(135deg, var(--ov-green-dark), var(--ov-green));
    border-radius: 999px;
    bottom: 18px;
    box-shadow: 0 12px 28px rgba(18, 61, 42, 0.18);
    color: #ffffff;
    display: inline-flex;
    font-size: 12px;
    font-weight: 900;
    justify-content: center;
    left: 50%;
    letter-spacing: 0.7px;
    min-height: 34px;
    padding: 8px 16px;
    position: absolute;
    text-transform: uppercase;
    transform: translateX(-50%);
    white-space: nowrap;
    z-index: 3;
}

body.ov-menu-page .ov-menu-card:hover .ov-menu-cta,
body.ov-menu-page .ov-menu-card:focus .ov-menu-cta {
    background: linear-gradient(135deg, var(--ov-gold), var(--ov-gold-light));
    color: #173825;
}

body.ov-menu-page .ov-menu-card td[style*="height:130px"] {
    height: auto !important;
    min-height: 108px !important;
    vertical-align: top !important;
}

body.ov-menu-page .ov-menu-card br + br {
    display: none;
}

body.ov-menu-page .ov-menu-card input[type="image"][id^="ib"]:hover {
    transform: none;
}

@media (max-width: 992px) {
    body.ov-menu-page .ov-menu-card {
        min-height: 330px;
    }

    body.ov-menu-page .ov-menu-card span[id^="lblN"] {
        font-size: 20px !important;
        min-height: 0;
    }

    body.ov-menu-page .ov-menu-card input[type="image"][id^="ib"] {
        height: 82px !important;
        width: 82px !important;
    }
}

@media (max-width: 760px) {
    body.ov-menu-page .ov-menu-card {
        height: auto !important;
        min-height: 0 !important;
        padding-bottom: 58px !important;
    }

    body.ov-menu-page .ov-menu-card span[id^="lblO"] {
        -webkit-line-clamp: 5;
    }
}

/* Toolbar captions should show database names more clearly */
body.ov-app-page .ov-toolbar-item,
body.ov-menu-page .ov-toolbar-item {
    max-width: 132px;
    min-width: 88px;
}

body.ov-app-page .ov-toolbar-caption,
body.ov-menu-page .ov-toolbar-caption {
    display: -webkit-box;
    font-size: 12px;
    line-height: 1.25;
    max-width: 126px;
    min-height: 30px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

/* User/reset/logout side actions on menu pages */
body.ov-menu-page span[id*="lblKorisnik"] {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(31, 122, 70, 0.16);
    border-radius: 999px;
    color: var(--ov-green-dark) !important;
    display: inline-block;
    font-size: 15px !important;
    font-weight: 900 !important;
    max-width: 170px;
    overflow: hidden;
    padding: 9px 14px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.ov-menu-page input[type="image"][id*="ibReset"],
body.ov-menu-page input[type="image"][id*="ibLogout"] {
    background: rgba(255, 255, 255, 0.95) !important;
    border: 1px solid rgba(240, 210, 124, 0.35) !important;
    border-radius: 18px !important;
    box-shadow: 0 12px 28px rgba(8, 38, 25, 0.14) !important;
    height: 54px !important;
    object-fit: contain;
    padding: 10px !important;
    width: 54px !important;
}

body.ov-menu-page input[type="image"][id*="ibReset"]:hover,
body.ov-menu-page input[type="image"][id*="ibLogout"]:hover {
    background: linear-gradient(135deg, var(--ov-gold), var(--ov-gold-light)) !important;
    transform: translateY(-2px);
}

/* Oro Verde internal polish v3 - readability fixes for all legacy forms */
body.ov-app-page {
    color: var(--ov-text) !important;
}

/* Legacy pages had many labels hardcoded as white; inside pale cards they became unreadable. */
body.ov-app-page td,
body.ov-app-page th,
body.ov-app-page p,
body.ov-app-page label,
body.ov-app-page span:not(.ov-toolbar-caption):not(.member-badge),
body.ov-app-page div:not(.w3-indigo):not(.ov-toolbar):not(.ov-toolbar-item) {
    color: var(--ov-text) !important;
}

/* Keep toolbar dark panel text white. */
body.ov-app-page .w3-indigo,
body.ov-app-page .w3-indigo td,
body.ov-app-page .w3-indigo th,
body.ov-app-page .w3-indigo span,
body.ov-app-page .w3-indigo label,
body.ov-menu-page .w3-indigo,
body.ov-menu-page .w3-indigo td,
body.ov-menu-page .w3-indigo th,
body.ov-menu-page .w3-indigo span,
body.ov-menu-page .w3-indigo label {
    color: #ffffff !important;
}

/* Do not truncate toolbar menu names; show names from database cleanly. */
body.ov-app-page .ov-toolbar,
body.ov-menu-page .ov-toolbar {
    padding: 13px 16px 15px !important;
}

body.ov-app-page .ov-toolbar-item,
body.ov-menu-page .ov-toolbar-item {
    max-width: 126px;
    min-width: 92px;
    padding: 7px 7px 8px;
}

body.ov-app-page .ov-toolbar-caption,
body.ov-menu-page .ov-toolbar-caption {
    color: rgba(255, 255, 255, 0.96) !important;
    display: block !important;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.18;
    max-height: none !important;
    max-width: 122px;
    min-height: 36px;
    overflow: visible !important;
    text-align: center;
    text-overflow: clip !important;
    white-space: normal !important;
    -webkit-line-clamp: unset !important;
}

/* Main content area should feel like a page, not like floating old tables. */
body.ov-app-page td[style*="background-color:rgb(2, 189, 232)"],
body.ov-app-page td[style*="background-color: rgb(2, 189, 232)"] {
    background: linear-gradient(180deg, rgba(251, 250, 244, 0.97), rgba(238, 248, 241, 0.96)) !important;
}

body.ov-app-page table#tabela,
body.ov-app-page table[id$="tabela"] {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 1440px;
}

/* Page title cards, e.g. Članstvo, Referentni kodovi, Uplata/Isplata. */
body.ov-app-page div[id$="Panel12"].w3-blue,
body.ov-app-page div[id$="Panel12"].w3-panel,
body.ov-auth-legacy div[id$="Panel12"].w3-blue,
body.ov-auth-legacy div[id$="Panel12"].w3-panel {
    background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(251,250,244,0.96)) !important;
    border: 1px solid rgba(31, 122, 70, 0.20) !important;
    border-radius: 22px !important;
    box-shadow: 0 18px 55px rgba(8, 38, 25, 0.12) !important;
    margin: 26px auto 28px !important;
    max-width: 540px !important;
    min-width: 320px;
    padding: 26px 28px !important;
    width: 34% !important;
}

body.ov-app-page div[id$="Panel12"] span,
body.ov-auth-legacy div[id$="Panel12"] span {
    color: var(--ov-green-dark) !important;
    font-size: 20px !important;
    font-style: italic;
    font-weight: 900 !important;
    letter-spacing: 0.1px;
}

/* Important labels that were outside cards and therefore invisible before. */
body.ov-app-page span[id$="lblPeriodVazenjaPaketa1"],
body.ov-app-page span[id$="lblPeriodVazenjaPaketa2"],
body.ov-app-page span[id$="lblPaket0"],
body.ov-app-page span[id$="lblRaspolozivo"],
body.ov-app-page span[id$="lblIznosZaPromenu"] {
    background: rgba(255, 255, 255, 0.84) !important;
    border: 1px solid rgba(31, 122, 70, 0.18) !important;
    border-radius: 12px !important;
    color: var(--ov-green-dark) !important;
    display: inline-block;
    font-weight: 900 !important;
    line-height: 1.35;
    padding: 8px 12px;
}

/* Radio buttons and checkboxes on admin forms. */
body.ov-app-page input[type="radio"],
body.ov-app-page input[type="checkbox"] {
    accent-color: var(--ov-green);
    margin-right: 6px;
    transform: translateY(1px);
}

body.ov-app-page input[type="radio"] + label,
body.ov-app-page input[type="checkbox"] + label,
body.ov-app-page label[for] {
    color: var(--ov-green-dark) !important;
    font-weight: 900 !important;
}

/* Inputs/selects were old cyan; make all form fields consistent and readable. */
body.ov-app-page select,
body.ov-app-page input[type="text"],
body.ov-app-page input[type="password"],
body.ov-app-page input[type="email"],
body.ov-app-page input[type="number"],
body.ov-app-page textarea {
    background: rgba(255, 255, 255, 0.93) !important;
    border: 1px solid rgba(31, 122, 70, 0.24) !important;
    border-radius: 13px !important;
    color: var(--ov-text) !important;
    font-weight: 800 !important;
    min-height: 42px !important;
}

body.ov-app-page select option {
    background: #ffffff !important;
    color: var(--ov-text) !important;
}

/* GridViews: old global link color made sortable headers unreadable. */
body.ov-app-page table[id*="gv"] th,
body.ov-app-page table[id*="GridView"] th,
body.ov-app-page table[id*="grid"] th,
body.ov-app-page table[id*="gv"] tr:first-child > th,
body.ov-app-page table[id*="GridView"] tr:first-child > th,
body.ov-app-page table[id*="grid"] tr:first-child > th {
    background: linear-gradient(135deg, #123d2a, #1f7a46) !important;
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 1.25;
    padding: 14px 12px !important;
    text-align: center !important;
}

body.ov-app-page table[id*="gv"] th a,
body.ov-app-page table[id*="GridView"] th a,
body.ov-app-page table[id*="grid"] th a,
body.ov-app-page table[id*="gv"] tr:first-child a,
body.ov-app-page table[id*="GridView"] tr:first-child a,
body.ov-app-page table[id*="grid"] tr:first-child a {
    color: #ffffff !important;
    font-weight: 900 !important;
    text-decoration: none !important;
}

body.ov-app-page table[id*="gv"] td,
body.ov-app-page table[id*="GridView"] td,
body.ov-app-page table[id*="grid"] td {
    color: var(--ov-text) !important;
    font-size: 17px !important;
    line-height: 1.35;
    vertical-align: middle !important;
}

body.ov-app-page table[id*="gv"] tr:hover td,
body.ov-app-page table[id*="GridView"] tr:hover td,
body.ov-app-page table[id*="grid"] tr:hover td {
    background: rgba(240, 210, 124, 0.16) !important;
}

/* Admin forms with wide filters/buttons should breathe better. */
body.ov-app-page input[type="submit"],
body.ov-app-page input[type="button"],
body.ov-app-page button {
    min-height: 48px !important;
    white-space: normal;
}

body.ov-app-page .w3-blue input[type="submit"],
body.ov-app-page .w3-blue input[type="button"],
body.ov-app-page .w3-blue button {
    color: #173825 !important;
}

/* Alert/info panels. Panel3 can also be the main toolbar on TransferSredstava.aspx. */
body.ov-app-page div[id$="Panel3"]:not(.w3-indigo):not(.ov-toolbar),
body.ov-app-page div[id$="Panel6"]:not(.w3-indigo):not(.ov-toolbar),
body.ov-app-page div[style*="#ffccff"]:not(.w3-indigo):not(.ov-toolbar) {
    background: #fff2f2 !important;
    border: 1px solid #f0b5b5 !important;
    border-radius: 14px !important;
    color: #9f1d1d !important;
    margin: 10px auto !important;
    max-width: 1120px;
    padding: 10px 14px !important;
}

body.ov-app-page div[id$="Panel4"],
body.ov-app-page div[style*="#aeeaae"],
body.ov-app-page div[style*="aeeaae"] {
    background: rgba(172, 236, 182, 0.78) !important;
    border: 1px solid rgba(31, 122, 70, 0.18) !important;
    border-radius: 14px !important;
    color: var(--ov-green-dark) !important;
    margin: 12px auto 18px !important;
    max-width: 1200px;
    padding: 10px 14px !important;
}

body.ov-app-page div[id$="Panel3"]:not(.w3-indigo):not(.ov-toolbar) span,
body.ov-app-page div[id$="Panel6"]:not(.w3-indigo):not(.ov-toolbar) span {
    color: #9f1d1d !important;
}

body.ov-app-page div[id$="Panel4"] span {
    color: #1474c8 !important;
    font-weight: 900 !important;
}

/* Product/package cards. */
body.ov-app-page div[id$="Panel1"].w3-blue,
body.ov-app-page div[id$="Panel2"].w3-blue,
body.ov-app-page div[id$="Panel5"].w3-blue,
body.ov-app-page div[id$="Panel7"].w3-blue,
body.ov-app-page div[id$="Panel8"].w3-blue,
body.ov-app-page div[id$="Panel9"].w3-blue,
body.ov-app-page div[id$="Panel10"].w3-blue {
    margin-bottom: 24px !important;
}

@media (max-width: 992px) {
    body.ov-app-page div[id$="Panel12"].w3-blue,
    body.ov-app-page div[id$="Panel12"].w3-panel {
        width: 86% !important;
        min-width: 0;
    }

    body.ov-app-page .ov-toolbar-item,
    body.ov-menu-page .ov-toolbar-item {
        min-width: 82px;
        max-width: 112px;
    }

    body.ov-app-page .ov-toolbar-caption,
    body.ov-menu-page .ov-toolbar-caption {
        display: block !important;
        font-size: 11px;
        min-height: 0;
    }
}

@media (max-width: 640px) {
    body.ov-app-page span[id$="lblPeriodVazenjaPaketa1"],
    body.ov-app-page span[id$="lblPeriodVazenjaPaketa2"],
    body.ov-app-page span[id$="lblPaket0"],
    body.ov-app-page span[id$="lblRaspolozivo"],
    body.ov-app-page span[id$="lblIznosZaPromenu"] {
        display: block;
        margin: 8px auto;
        text-align: center;
    }

    body.ov-app-page .ov-toolbar,
    body.ov-menu-page .ov-toolbar {
        justify-content: center;
        padding: 10px !important;
    }
}


/* Oro Verde internal polish v4 - safer legacy form/layout fixes */

/* v3 had a broad Panel3/Panel6 alert selector; on TransferSredstava.aspx the toolbar is Panel3.
   Force every toolbar back to the same dark Oro Verde style. */
body.ov-app-page .w3-indigo,
body.ov-app-page .w3-indigo.ov-toolbar,
body.ov-app-page div.w3-indigo[id$="Panel3"],
body.ov-app-page div.w3-indigo[id$="Panel11"],
body.ov-menu-page .w3-indigo,
body.ov-menu-page .w3-indigo.ov-toolbar,
body.ov-auth-legacy .w3-indigo,
body.ov-auth-legacy .w3-indigo.ov-toolbar {
    background: rgba(18, 61, 42, 0.96) !important;
    border: 1px solid rgba(240, 210, 124, 0.26) !important;
    border-radius: 0 0 26px 26px !important;
    box-shadow: 0 18px 50px rgba(8, 38, 25, 0.20) !important;
    color: #ffffff !important;
    margin: 0 auto 18px !important;
    max-width: 100% !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 13px 16px 15px !important;
}

body.ov-app-page .w3-indigo *,
body.ov-app-page .w3-indigo td,
body.ov-app-page .w3-indigo span,
body.ov-app-page .w3-indigo label,
body.ov-menu-page .w3-indigo *,
body.ov-menu-page .w3-indigo td,
body.ov-menu-page .w3-indigo span,
body.ov-menu-page .w3-indigo label {
    color: #ffffff !important;
}

body.ov-app-page .w3-indigo input[type="image"],
body.ov-menu-page .w3-indigo input[type="image"] {
    color: initial !important;
}

body.ov-app-page .ov-toolbar,
body.ov-menu-page .ov-toolbar {
    align-items: flex-start;
    gap: 10px;
    justify-content: center;
}

body.ov-app-page .ov-toolbar-caption,
body.ov-menu-page .ov-toolbar-caption {
    color: rgba(255, 255, 255, 0.98) !important;
    text-shadow: 0 1px 0 rgba(0,0,0,0.18);
}

/* Prevent legacy alert styling from ever affecting toolbars again. */
body.ov-app-page div[id$="Panel3"].w3-indigo,
body.ov-app-page div[id$="Panel6"].w3-indigo,
body.ov-app-page div[id$="Panel11"].w3-indigo {
    background: rgba(18, 61, 42, 0.96) !important;
    border-color: rgba(240, 210, 124, 0.26) !important;
}

/* Page title cards are detected by JS via lblNaslov; keep them elegant but do not use Panel12 globally. */
body.ov-app-page .ov-page-title-card {
    background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(251,250,244,0.96)) !important;
    border: 1px solid rgba(31, 122, 70, 0.20) !important;
    border-radius: 22px !important;
    box-shadow: 0 18px 55px rgba(8, 38, 25, 0.12) !important;
    margin: 26px auto 30px !important;
    min-width: 300px;
    padding: 24px 28px !important;
}

body.ov-app-page .ov-page-title-card span[id$="lblNaslov"] {
    color: var(--ov-green-dark) !important;
    font-size: 20px !important;
    font-style: italic;
    font-weight: 900 !important;
    letter-spacing: 0.1px;
}

/* Promena šifre: the real form was Panel12, so the old v3 title-card rule squeezed it.
   This class is added by JS only to the panel containing tbxSifra0/1/2. */
body.ov-app-page .ov-password-card {
    background: linear-gradient(180deg, rgba(255,255,255,0.99), rgba(251,250,244,0.97)) !important;
    border: 1px solid rgba(31, 122, 70, 0.22) !important;
    border-radius: 26px !important;
    box-shadow: 0 26px 72px rgba(8, 38, 25, 0.16) !important;
    box-sizing: border-box;
    margin: 28px auto 44px !important;
    max-width: 720px !important;
    min-width: 520px !important;
    padding: 36px 42px !important;
    width: 100% !important;
}

body.ov-app-page .ov-password-card table {
    border-collapse: separate !important;
    border-spacing: 0 10px !important;
    margin: 0 auto;
    width: 100% !important;
}

body.ov-app-page .ov-password-card td {
    background: transparent !important;
    color: var(--ov-text) !important;
    padding: 7px 8px !important;
    vertical-align: middle !important;
}

body.ov-app-page .ov-password-card span[id$="lblSifra0"],
body.ov-app-page .ov-password-card span[id$="lblSifra1"],
body.ov-app-page .ov-password-card span[id$="lblSifra2"] {
    color: var(--ov-green-dark) !important;
    display: inline-block;
    font-size: 19px !important;
    font-style: italic;
    font-weight: 900 !important;
    line-height: 1.25;
    max-width: 230px;
    text-align: right;
}

body.ov-app-page .ov-password-card input[id$="tbxSifra0"],
body.ov-app-page .ov-password-card input[id$="tbxSifra1"],
body.ov-app-page .ov-password-card input[id$="tbxSifra2"] {
    height: 46px !important;
    max-width: 260px;
    width: 100% !important;
}

body.ov-app-page .ov-password-card input[id$="btnPromeni"] {
    border-radius: 999px !important;
    font-size: 22px !important;
    min-width: 190px;
    padding-left: 24px !important;
    padding-right: 24px !important;
    width: auto !important;
}

body.ov-app-page .ov-password-card .ov-message-card,
body.ov-app-page .ov-password-card div[id$="Panel3"]:not(.w3-indigo) {
    background: rgba(255, 242, 242, 0.92) !important;
    border: 1px solid #f0b5b5 !important;
    border-radius: 999px !important;
    margin: 22px auto 0 !important;
    max-width: 360px;
    min-height: 22px;
    padding: 8px 14px !important;
}

/* Header rows that render as TD instead of TH must also be white on green. */
body.ov-app-page table[id*="gv"] tr:first-child > td,
body.ov-app-page table[id*="GridView"] tr:first-child > td,
body.ov-app-page table[id*="grid"] tr:first-child > td {
    background: linear-gradient(135deg, #123d2a, #1f7a46) !important;
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 1.25;
    padding: 14px 12px !important;
    text-align: center !important;
}

body.ov-app-page table[id*="gv"] tr:first-child > td a,
body.ov-app-page table[id*="GridView"] tr:first-child > td a,
body.ov-app-page table[id*="grid"] tr:first-child > td a,
body.ov-app-page table[id*="gv"] tr:first-child > td span,
body.ov-app-page table[id*="GridView"] tr:first-child > td span,
body.ov-app-page table[id*="grid"] tr:first-child > td span {
    color: #ffffff !important;
}

/* General legacy form polish: make labels readable, fields aligned and avoid cramped controls. */
body.ov-app-page .w3-blue:not(.ov-page-title-card):not(.ov-password-card) {
    box-sizing: border-box;
}

body.ov-app-page .w3-blue:not(.ov-page-title-card) td {
    padding: 5px 7px !important;
}

body.ov-app-page .w3-blue:not(.ov-page-title-card) span,
body.ov-app-page .w3-blue:not(.ov-page-title-card) label {
    color: var(--ov-green-dark) !important;
    font-weight: 900 !important;
}

body.ov-app-page input[type="text"],
body.ov-app-page input[type="password"],
body.ov-app-page input[type="email"],
body.ov-app-page input[type="number"],
body.ov-app-page textarea,
body.ov-app-page select {
    box-sizing: border-box;
    max-width: 100%;
}

body.ov-app-page select {
    min-width: 180px;
}

/* Keep green success/info panels clean without hitting toolbars. */
body.ov-app-page div[id$="Panel4"]:not(.w3-indigo),
body.ov-app-page div[style*="#aeeaae"]:not(.w3-indigo),
body.ov-app-page div[style*="aeeaae"]:not(.w3-indigo) {
    background: rgba(172, 236, 182, 0.72) !important;
    border: 1px solid rgba(31, 122, 70, 0.18) !important;
    border-radius: 12px !important;
    color: var(--ov-green-dark) !important;
}

body.ov-app-page div[id$="Panel3"]:not(.w3-indigo):not(.ov-toolbar),
body.ov-app-page div[id$="Panel6"]:not(.w3-indigo):not(.ov-toolbar),
body.ov-app-page div[style*="#ffccff"]:not(.w3-indigo):not(.ov-toolbar),
body.ov-app-page div[style*="ffccff"]:not(.w3-indigo):not(.ov-toolbar) {
    background: rgba(255, 242, 242, 0.94) !important;
    border: 1px solid #f0b5b5 !important;
    color: #9f1d1d !important;
}

body.ov-app-page .ov-message-card span,
body.ov-app-page div[id$="Panel3"]:not(.w3-indigo):not(.ov-toolbar) span,
body.ov-app-page div[id$="Panel6"]:not(.w3-indigo):not(.ov-toolbar) span {
    color: #9f1d1d !important;
}

/* Admin filter rows and action areas should not look washed out. */
body.ov-app-page input[type="radio"] + label,
body.ov-app-page input[type="checkbox"] + label,
body.ov-app-page label[for] {
    color: var(--ov-green-dark) !important;
    font-weight: 900 !important;
}

body.ov-app-page input[type="submit"],
body.ov-app-page input[type="button"],
body.ov-app-page button {
    line-height: 1.2 !important;
}

@media (max-width: 992px) {
    body.ov-app-page .ov-password-card {
        max-width: 94% !important;
        min-width: 0 !important;
        padding: 28px 26px !important;
    }

    body.ov-app-page .ov-password-card span[id$="lblSifra0"],
    body.ov-app-page .ov-password-card span[id$="lblSifra1"],
    body.ov-app-page .ov-password-card span[id$="lblSifra2"] {
        font-size: 17px !important;
    }

    body.ov-app-page .ov-toolbar-item,
    body.ov-menu-page .ov-toolbar-item {
        min-width: 84px;
        max-width: 112px;
    }
}

@media (max-width: 640px) {
    body.ov-app-page .ov-password-card table,
    body.ov-app-page .ov-password-card tbody,
    body.ov-app-page .ov-password-card tr,
    body.ov-app-page .ov-password-card td {
        display: block;
        width: 100% !important;
        text-align: left !important;
    }

    body.ov-app-page .ov-password-card span[id$="lblSifra0"],
    body.ov-app-page .ov-password-card span[id$="lblSifra1"],
    body.ov-app-page .ov-password-card span[id$="lblSifra2"] {
        max-width: none;
        text-align: left;
    }

    body.ov-app-page .ov-password-card input[id$="tbxSifra0"],
    body.ov-app-page .ov-password-card input[id$="tbxSifra1"],
    body.ov-app-page .ov-password-card input[id$="tbxSifra2"] {
        max-width: none;
    }
}

/* Minimal v4 fixes for pages that still had small legacy leaks. */
body.ov-page-transfersredstava .w3-indigo,
body.ov-page-transfersredstava .w3-indigo *,
body.ov-page-transfersredstava .w3-indigo td,
body.ov-page-transfersredstava .w3-indigo th,
body.ov-page-transfersredstava .w3-indigo span,
body.ov-page-transfersredstava .w3-indigo label,
body.ov-page-transfersredstava .w3-indigo a,
body.ov-page-transfersredstava .ov-toolbar-caption {
    color: #ffffff !important;
}

body.ov-page-transfersredstava .w3-indigo .ov-toolbar-caption {
    color: #ffffff !important;
    opacity: 1 !important;
    text-shadow: 0 1px 0 rgba(0,0,0,0.22);
}


/* OV USER MENU 15 - ordinary-user toolbar only; administrator menu is untouched. */
.ov-user-toolbar-panel {
    background: linear-gradient(135deg, rgba(18, 61, 42, 0.98), rgba(31, 122, 70, 0.95)) !important;
    border: 1px solid rgba(240, 210, 124, 0.30) !important;
    border-radius: 0 0 24px 24px !important;
    box-shadow: 0 16px 40px rgba(8, 38, 25, 0.20) !important;
    box-sizing: border-box;
    display: block !important;
    margin: 0 auto !important;
    max-width: 1380px;
    overflow: visible !important;
    padding: 12px 14px !important;
    width: min(100%, 1380px) !important;
}

.ov-user-toolbar-panel .ov-user-toolbar-legacy-hidden {
    display: none !important;
}

.ov-user-toolbar-flow {
    align-items: stretch;
    display: grid;
    gap: 9px;
    grid-template-columns: repeat(auto-fit, minmax(74px, 1fr));
    justify-content: center;
    width: 100%;
}

.ov-user-toolbar-panel .ov-toolbar-item {
    align-items: center !important;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 15px;
    box-sizing: border-box;
    display: flex !important;
    flex-direction: column;
    gap: 5px;
    justify-content: flex-start;
    margin: 0 !important;
    max-width: none !important;
    min-height: 88px;
    min-width: 0 !important;
    padding: 8px 5px 6px;
    transition: background .18s ease, transform .18s ease, border-color .18s ease;
}

.ov-user-toolbar-panel .ov-toolbar-item:hover,
.ov-user-toolbar-panel .ov-toolbar-item:focus {
    background: rgba(255,255,255,.13);
    border-color: rgba(240,210,124,.38);
    transform: translateY(-2px);
}

.ov-user-toolbar-panel .ov-toolbar-item input[type="image"] {
    background: rgba(255,255,255,.96) !important;
    border: 1px solid rgba(240,210,124,.34) !important;
    border-radius: 14px !important;
    box-shadow: 0 7px 18px rgba(0,0,0,.13) !important;
    box-sizing: border-box;
    height: 48px !important;
    object-fit: contain;
    padding: 8px !important;
    width: 48px !important;
}

.ov-user-toolbar-panel .ov-toolbar-caption {
    color: rgba(255,255,255,.95) !important;
    display: -webkit-box !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1.18 !important;
    max-width: 100% !important;
    min-height: 24px;
    overflow: hidden !important;
    text-align: center !important;
    text-overflow: ellipsis;
    white-space: normal !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.ov-user-toolbar-panel .ov-user-toolbar-action {
    background: rgba(215,168,66,.10);
    border-color: rgba(240,210,124,.22);
}

@media (max-width: 900px) {
    .ov-user-toolbar-flow {
        grid-template-columns: repeat(6, minmax(62px, 1fr));
    }
}

@media (max-width: 620px) {
    .ov-user-toolbar-panel {
        border-radius: 0 0 18px 18px !important;
        padding: 9px !important;
    }
    .ov-user-toolbar-flow {
        gap: 7px;
        grid-template-columns: repeat(4, minmax(58px, 1fr));
    }
    .ov-user-toolbar-panel .ov-toolbar-item {
        min-height: 80px;
        padding: 7px 3px 5px;
    }
    .ov-user-toolbar-panel .ov-toolbar-item input[type="image"] {
        height: 43px !important;
        width: 43px !important;
    }
    .ov-user-toolbar-panel .ov-toolbar-caption {
        font-size: 9px !important;
    }
}
