/*!
 * Tamburoteka + AdminKit merged stylesheet
 * Duplicates resolved in favor of base new-theme/app.css
 */

/* Layer order: base overrides custom on conflicts */
@layer custom, base;

/* AdminKit base (highest priority on duplicates) */
/*@import url("./app.css") layer(base);*/

/* Tamburoteka variables and custom additions */
@layer custom {
    :root,
    [data-bs-theme=light] {
        --bs-blue: #865D36;
        --bs-indigo: #3E362E;
        --bs-purple: #8968AC;
        --bs-primary: #865D36;
        --bs-secondary: #c28851;
        --bs-secondary-new: #c28851;
        --bs-success: #8968AC;
        --bs-info: #93785B;
        --bs-warning: #c28851;
        --bs-danger: #dc3545;
        --bs-light: #f8f9fa;
        --bs-dark: #3E362E;
        --bs-primary-rgb: 134, 93, 54;
        --bs-secondary-rgb: 172, 137, 104;
        --bs-success-rgb: 137, 104, 172;
        --bs-info-rgb: 147, 120, 91;
        --bs-warning-rgb: 172, 137, 104;
        --bg-primary: #ffffff;
        --bg-secondary: #f8f9fa;
        --bg-hover: #f5f5f5;
        --bg-active: #ebebeb;
        --bg-sidebar: #c28851;
        --bg-navbar: linear-gradient(120deg, #c28851 50%, #e3bb95);
        --brand-primary: #865D36;
        --brand-primary-new: #865D36;
        --brand-secondary: #c28851;
        --brand-secondary-new: #c28851;
        --brand-accent: #93785B;
        --brand-dark: black;
        --brand-light: #e3bb95;
        --text-primary: red;
        --text-secondary: #865d36;
        --text-muted: #A69080;
        --text-inverse: #ffffff;
        --text-inverse-new: #ffffff;
        --text-heading: #865d36;
        --border-primary: #c28851;
        --border-secondary: #dee2e6;
        --border-light: #e9ecef;
        --border-dark: #3E362E;
        --accent-primary: #93785B;
        --accent-secondary: #8968AC;
        --accent-gradient: linear-gradient(135deg, #865D36 0%, #c28851 100%);
        --success: #8968AC;
        --success-hover: #cb6fa9;
        --warning: #c28851;
        --danger: #dc3545;
        --info: #93785B;
        --shadow-sm: 0 0 .875rem 0 rgba(62, 54, 46, 0.1);
        --shadow-md: 0 0 .875rem 0 rgba(62, 54, 46, 0.15);
        --shadow-lg: 0 0 1.5rem 0 rgba(62, 54, 46, 0.2);
        --transition-fast: 0.15s ease-in-out;
        --transition-normal: 0.3s ease;
        --transition-slow: 0.5s ease-in-out;
        --radius-sm: 4px;
        --radius-md: 8px;
        --radius-lg: 12px;
        --radius-xl: 16px;
        --radius-round: 50%;
        --spacing-xs: 0.25rem;
        --spacing-sm: 0.5rem;
        --spacing-md: 1rem;
        --spacing-lg: 1.5rem;
        --spacing-xl: 2rem;
        --bs-link-color: #865D36;
        --bs-link-color-rgb: 134, 93, 54;
        --bs-link-hover-color: #c28851;
        --bs-link-hover-color-rgb: 172, 137, 104;
        --bs-body-color: #865d36;
        --bs-body-bg: #f5f7fb;
        --bs-heading-color: #865d36;
        --bs-breadcrumb-margin-bottom: 0.5rem;
        --breadcrumbs-color: #c28851;
        --bs-breadcrumb-item-padding-x: 0.5rem;
        --bs-breadcrumb-divider-color: red;
        --bs-btn-hover-bg-new: #f8efef;
        --bb-ljubicasta: #8968AC;
        --bs-blue: #865D36;
        --bs-indigo: #3E362E;
        --bs-purple: #8968AC;
        --bs-primary: #865D36;
        --bs-secondary: #c28851;
        --bs-secondary-new: #c28851;
        --bs-success: #8968AC;
        --bs-info: #93785B;
        --bs-warning: #c28851;
        --bs-danger: #dc3545;
        --bs-light: #f8f9fa;
        --bs-primary-rgb: 134, 93, 54;
        --bs-secondary-rgb: 172, 137, 104;
        --bs-success-rgb: 137, 104, 172;
        --bs-info-rgb: 147, 120, 91;
        --bs-warning-rgb: 172, 137, 104;
        --bg-primary: #ffffff;
        --bg-secondary: #f8f9fa;
        --bg-tertiary: #f0f2f5;
        --bg-card: #a38a6c;
        --bg-hover: #f5f5f5;
        --bg-active: #ebebeb;
        --bg-form: #f4f4f4;
        --bg-navbar: linear-gradient(120deg, #c28851 50%, #e3bb95);
        --brand-secondary: #c28851;
        --brand-secondary-new: #c28851;
        --brand-accent: #93785B;
        --brand-light: #e3bb95;
        --text-primary: red;
        --text-muted: #A69080;
        --text-inverse: #ffffff;
        --border-primary: #c28851;
        --border-secondary: #dee2e6;
        --border-light: #e9ecef;
        --border-dark: #3E362E;
        --accent-primary: #93785B;
        --accent-secondary: #8968AC;
        --accent-gradient: linear-gradient(135deg, #865D36 0%, #c28851 100%);
        --success: #8968AC;
        --success-hover: #cb6fa9;
        --warning: #c28851;
        --danger: #dc3545;
        --info: #93785B;
        --shadow-sm: 0 0 .875rem 0 rgba(62, 54, 46, 0.1);
        --shadow-md: 0 0 .875rem 0 rgba(62, 54, 46, 0.15);
        --shadow-lg: 0 0 1.5rem 0 rgba(62, 54, 46, 0.2);
        --transition-fast: 0.15s ease-in-out;
        --transition-normal: 0.3s ease;
        --transition-slow: 0.5s ease-in-out;
        --radius-sm: 4px;
        --radius-md: 8px;
        --radius-lg: 12px;
        --radius-xl: 16px;
        --radius-round: 50%;
        --spacing-xs: 0.25rem;
        --spacing-sm: 0.5rem;
        --spacing-md: 1rem;
        --spacing-lg: 1.5rem;
        --spacing-xl: 2rem;
        --bs-link-color: #865D36;
        --bs-link-color-rgb: 134, 93, 54;
        --bs-link-hover-color: #c28851;
        --bs-link-hover-color-rgb: 172, 137, 104;
        --bs-body-color: #865d36;
        --bs-body-bg: #f5f7fb;
        --bs-heading-color: #865d36;
        --bs-breadcrumb-margin-bottom: 0.5rem;
        --bs-breadcrumb-item-padding-x: 0.5rem;
        --bs-breadcrumb-divider-color: red;
        --bs-btn-hover-bg-new: #f8efef;
        --bb-ljubicasta: #8968AC;
        --bs-scroller: #f2f3f5;
        --bb-crvena: #be3157;
        --bb-crvena-hover: #912b47;
        --text-primary-new: #865d36;
        --bs-btn-hover-color-new: white;
        --gallery-overlay: black;
        --gallery-card-bg: white;
        --border-navbar: 5px;
        --bb-white: white;
        --sidebar-border-left: #3b7ddd;
        --bb-tax-badge: #f1f5f9;
        --label-primary: #7c5f3c;
        --bb-btn-input-file: #c28851;
        --dropdown-item: #865D36;
        --text-user-name: #ffffff;
        --bb-black: #000000;
        --bb-white: #ffffff;
        --bb-border-btn-midi: #6e6a6a;
    }

    /*Glavni padding*/
    @media (min-width: 991px) {
        .content {
            padding: 1.6rem !important;
        }
    }



    .dropdown-toggle {
        padding: 0.2px !important;
        font-size: 15px !important;
        color: var(--brand-primary) !important;
    }



    html, body {
        font-family: Arial !important;
        /*font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;*/
        overflow-y: auto !important;
        background-color: var(--bg-primary);
        color: var(--text-primary);
    }

h1:focus { outline: none; }
 
code { color: var(--brand-accent); }
hr { border-color: var(--brand-dark) !important; opacity: 0.8; }

    /*.x-body {
        background-image: url(../img/logo_white_transparent_small.png);
        background-color: black !important;
        background-repeat: no-repeat;
        background-position: center center;
        background-size: 140px;
        height: 100%;
        font-family: Arial !important;
    }

    .x-body-with-bg-img {
        background: linear-gradient(to bottom, rgba(92, 77, 66, 0.2) 0%, rgba(92, 77, 66, 0.4) 100%), url(../img/hero6.jpg);
        background-size: cover;
        background-repeat: no-repeat;
        height: 100%;
        font-family: Arial !important;
    }*/

    .h4, h4 {
        font-size: 1rem !important;
        font-weight: 800 !important;
    }
    h2.cat-box-title {
        margin-top: 0px;
        background: #865d36;
        color: white !important;
        float: left !important;
        padding: 1px 9px 1px 3px !important;
        font-size: 16px !important;
        font-family: Arial !important;
        text-transform: uppercas;
        position: absolute !important;
        left: 0 !important;
        top: 0 !important;
        z-index: 6 !important;
        height: 31px !important;
    }


    

/*.content { padding-top: 1.1rem; background-color: var(--bg-primary); flex: 1; }*/
   /* .content {
        padding: 1.5rem 2rem 2rem 2rem !important;
        background-color: var(--bg-primary, #ffffff);
    }*/

/*.x-content { background-color: var(--bg-primary); }*/
    .x-content {
        background-color: var(--bg-primary, #ffffff);
        min-height: calc(100vh - 62px);
    }
    x-sheet-content {
        background-color: black!important;
        min-height: calc(100vh - 62px);
    }
    body {
        scrollbar-color: var(--bs-secondary-new) var(--bs-scroller);
    }
    .tab-content {
        background-color: var(--bg-card) !important;
    }

.x-navbar { background: var(--bg-navbar) !important; height: 62px !important; box-shadow: var(--shadow-sm); }
.navbar .avatar { margin-bottom: -30px !important; margin-top: -15px !important; }
    .nav-link {
        font-size: 16px !important;
        color: var(--text-heading) !important;
        transition: all var(--transition-fast);
    }
.nav-link:hover { color: var(--brand-secondary-new) !important; }
        .nav-link.active {
            border-top: solid 3px var(--text-heading) !important;
            background-color: var(--bg-card) !important;
            font-size: 16px !important;
            font-weight: 700 !important;
        }
.nav-tabs .nav-link { border-left: solid 1px var(--border-secondary) !important; font-size: 15px !important; }

 
.collapse-arrow { display: inline-block; width: 1.1rem; margin-right: .35rem; font-weight: 600; }
.hamburger, .hamburger:after, .hamburger:before { background: var(--brand-dark) !important; } 
 

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 { color: var(--text-heading) !important; font-weight: 400 !important; }
h2.cat-box-title { margin-top: 0px; background: var(--brand-primary); color: white !important; float: left; padding: 1px 9px 1px 3px; font-size: 16px; font-family: Oswald, arial, Georgia, serif; text-transform: uppercase; position: absolute; left: 0; top: 0; z-index: 6; height: 31px; }

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus { box-shadow: 0 0 0 0.1rem var(--bg-card), 0 0 0 0.25rem var(--brand-accent); }
.btn-primary { color: var(--text-inverse); background-color: var(--brand-primary); border-color: var(--brand-dark); transition: all var(--transition-fast); }
.btn-primary:hover { background-color: var(--brand-dark); border-color: var(--brand-dark); transform: translateY(-1px); }
.btn-secondary { border: 0px !important; margin: 3px !important; background-color: var(--brand-secondary) !important; transition: all var(--transition-fast); }
.btn-secondary:hover { background-color: var(--brand-primary) !important; }
.btn-add { color: var(--text-inverse) !important; background-color: var(--brand-accent) !important; border-color: var(--brand-primary) !important; border-radius: var(--radius-lg) !important; font-weight: 900 !important; transition: all var(--transition-fast); }
.btn-add:hover { background-color: var(--brand-primary) !important; transform: translateY(-2px); box-shadow: var(--shadow-md); }
.btn-success { color: var(--text-inverse-new) !important; background-color: var(--bb-ljubicasta) !important; border-color: var(--bb-ljubicasta) !important; transition: all var(--transition-fast); }
.btn-success:hover { background-color: var(--success-hover) !important; border-color: var(--success-hover) !important; }
.btn-es-primary { color: var(--text-inverse-new) !important; background-color: var(--bb-crvena) !important; border-color: var(--bb-crvena) !important; transition: all var(--transition-fast); }
.btn-es-primary:hover { background-color: var(--bb-crvena-hover) !important; border-color: var(--bb-crvena-hover) !important; }

    
    /*.btn-info { color: var(--text-inverse) !important; background-color: var(--brand-accent) !important; border-color: var(--brand-primary) !important; border-radius: var(--radius-lg) !important; }
*/
    .form-control {
        background-color: var(--bg-form) !important;
        border: 0.5px solid var(--border-primary) !important;
        color: var(--brand-primary) !important;
        font-size: 16px !important;
        transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
    }
.form-control:focus { background-color: var(--bg-card) !important; border-color: var(--border-primary) !important; box-shadow: 0 0 0 0.2rem rgba(172, 137, 104, 0.25) !important; color: var(--brand-primary) !important; }
.form-select { background-color: var(--bg-form)!important; border: 0.5px solid var(--border-primary) !important; color: var(--brand-primary) !important; font-size: 0.875rem !important; }
.form-select:focus { border-color: var(--border-primary) !important; box-shadow: 0 0 0 0.2rem rgba(172, 137, 104, 0.25) !important; color: var(--text-primary) !important;}





.form-check { color: var(--text-heading) !important; }
.form-check-input:checked { background-color:#C28851!important; border-color: #C28851 !important; }
.form-label { color: var(--label-primary) !important; font-size: 1rem; font-weight: 500; }

.card { box-shadow: var(--shadow-md) !important; margin-bottom: 24px !important; background-color: var(--bg-form); border: 1px solid var(--border-light); border-radius: var(--radius-md); transition: box-shadow var(--transition-fast), transform var(--transition-fast); }
.card:hover { box-shadow: var(--shadow-lg) !important; }
    .card-header {
        color: var(--text-heading) !important;
        background-color: var(--bg-tertiary);
        border-bottom: 1px solid var(--border-light);
    }
    .card-body p {
        color: var(--text-heading) !important;
    }
    .card-body dt {
        font-weight: 300 !important;
        color: var(--bs-secondary-new) !important;
    }
.table { background-color: var(--bg-card); }
.table tbody, .table td, .table tfoot, .table th, .table thead, .table tr, .table > :not(:last-child) > :last-child > * { border-color: var(--border-primary) !important; }
   
.table-hover > tbody > tr:hover > * { --bs-table-color-state: var(--text-heading) !important; --bs-table-bg-state: rgba(134, 93, 54, 0.05) !important; }

    tr td {
        color: var(--text-heading) !important;
    }

    .table td {
        vertical-align: middle !important;
        padding: 0.1rem 0.75rem !important;

    }

    .table th {
        color: var(--text-heading) !important;
        background-color: var(--bg-tertiary);
        padding: 0.5rem 0.75rem !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        font-size: 0.8rem !important;
        letter-spacing: 0.5px !important;
    }

.dropdown-menu { background-color: var(--bg-card); border: 1px solid var(--border-secondary); border-radius: var(--radius-md); box-shadow: var(--shadow-md); }
.dropdown-item { color: var(--dropdown-item) !important; transition: all var(--transition-fast); }
.dropdown-item:hover { background-color: var(--bg-hover); color: var(--brand-dark) !important; }

.pagination { gap: 4px; }
.page-item .page-link { border-radius: var(--radius-sm); }
.page-link { color: var(--text-primary) !important; border-color: rgba(134, 93, 54, 0.3) !important; transition: all var(--transition-normal) !important; background-color: var(--bg-card); }
.page-link:hover { color: var(--text-inverse) !important; background-color: var(--brand-secondary) !important; border-color: var(--brand-secondary) !important; }
.active > .page-link, .page-link.active { color: var(--text-inverse) !important; background-color: var(--brand-primary) !important; border-color: var(--brand-primary) !important; }
 
.avatar { border-radius: var(--radius-round); display: block; height: auto; margin: 0 auto; width: 100%; object-fit: cover; border: 2px solid var(--bg-card); box-shadow: var(--shadow-sm); }
.avatar.avatar-large { max-height: 150px; max-width: 150px; }
.avatar.avatar-medium { max-height: 80px; max-width: 80px; }
.avatar.avatar-small { max-height: 40px; max-width: 40px; }

.bi, .icon { transition: all 0.2s ease !important; }
.bi:hover, .icon:hover { transform: scale(1.1) !important; }
.icon-member-edit { color: var(--success); }
.icon-member-delete { color: var(--danger); }
.icon-excel-export { color: green !important; }

.grid-sheet-icon { width: 60px !important; cursor: pointer !important; border-radius: var(--radius-md) !important; transition: all var(--transition-normal) !important; box-shadow: var(--shadow-sm) !important; border: 2px solid transparent; }
    .grid-sheet-icon:hover {
        border: solid 2px var(--brand-secondary-new) !important;
        transform: scale(1.1) !important;
    }

    .grid-usage-name { font-size: 18px !important; font-weight: 400 !important; color: var(--text-heading) !important; cursor: pointer; }
.grid-usage-name:hover { color: var(--text-heading) !important; text-decoration: underline !important; }
.grid-sheet-name { font-size: 18px !important; font-weight: 700 !important; color: var(--brand-primary-new) !important; cursor: pointer; }
.grid-sheet-name:hover { color: var(--brand-primary) !important; text-decoration: underline !important; }


    .grid-item-name {
        font-size: 16px !important;
        font-weight: 500 !important;
        color: var(--brand-primary-new) !important; 
    }

        





.grid-sheet-other { font-size: 16px !important; font-weight: 500 !important; color: var(--text-primary) !important; }
    .grid-sheet-deonica {
        text-decoration: none !important;
        cursor: pointer !important;
    }

        .grid-sheet-deonica:hover {
            color: var(--brand-secondary-new) !important;
            text-decoration: underline !important;
        }
    .grid-sheet-download-icon {
        font-size: 37px !important;
        text-decoration: none !important;
        cursor: pointer !important;
    }

        .grid-sheet-download-icon:hover {
            color: var(--text-heading) !important;
            text-decoration: underline !important;
        }
    
    .cat-box {
        border-top: 5px solid var(--brand-primary);
        position: relative;
        background-color: var(--bg-card);
    }
.cat-box-around-world { margin: 10px 15px; border-top: 5px solid var(--brand-primary); position: relative; background-color: var(--bg-card); }

.modal { z-index: 3000 !important; }
.modal-backdrop { z-index: 2999 !important; }
.toast { z-index: 3100 !important; }
.tooltip { z-index: 3200 !important; }

.loading-progress { position: relative; display: block; width: 8rem; height: 8rem; margin: 20vh auto 1rem auto; }
.loading-progress circle { fill: none; stroke: var(--border-secondary); stroke-width: 0.6rem; transform-origin: 50% 50%; transform: rotate(-90deg); }
.loading-progress circle:last-child { stroke: var(--brand-primary); stroke-dasharray: calc(3.141 * var(--blazor-load-percentage, 0%) * 0.8), 500%; transition: stroke-dasharray 0.05s ease-in-out; }
.loading-progress-text { position: absolute; text-align: center; font-weight: bold; inset: calc(20vh + 3.25rem) 0 auto 0.2rem; color: var(--text-primary); }
.loading-progress-text:after { content: var(--blazor-load-percentage-text, "Učitavanje..."); }
.loading-section { min-height: 400px !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: var(--bg-primary); }

.tt-loading-wrapper { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1.5rem; color: #f5f7ff; z-index: 10; }
.tt-loading-logo { width: 80px; height: 80px; border-radius: var(--radius-round); background: rgba(255, 255, 255, 0.06); display: flex; align-items: center; justify-content: center; }
.tt-loading-note { width: 48px; height: 48px; color: #ffcf33; animation: tt-note-bounce 1.4s ease-in-out infinite; }
.tt-loading-bar { width: 220px; height: 4px; border-radius: var(--radius-round); background: rgba(255, 255, 255, 0.12); overflow: hidden; position: relative; }
.tt-loading-bar-fill { position: absolute; inset: 0; width: 40%; background: linear-gradient(90deg, #ffcf33, #ff7f50); animation: tt-bar-move 1.2s ease-in-out infinite; }

#blazor-error-ui { background: lightyellow; bottom: 0; box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2); display: none; left: 0; padding: 0.6rem 1.25rem 0.7rem 1.25rem; position: fixed; width: 100%; z-index: 1000; }
#blazor-error-ui .dismiss { cursor: pointer; position: absolute; right: 0.75rem; top: 0.5rem; }
.blazor-error-boundary { background: url(data:image/svg+xml;base64,PHN2ZyB3...) no-repeat 1rem/1.8rem, #b32121; padding: 1rem 1rem 1rem 3.7rem; color: white; }
.blazor-error-boundary::after { content: "An error has occurred."; }

.bg-primary { background-color: var(--brand-primary) !important; }
.bg-secondary { background-color: var(--brand-secondary) !important; }
.bg-warning, .bg-accent { background-color: var(--brand-secondary) !important; }
    .bg-success {
        background-color: var(--brand-primary) !important;
        color: var(--brand-secondary) !important;
    }


.border-primary { border-color: var(--brand-primary) !important; }
.text-muted { color: var(--text-muted) !important; }
.txt-color-dark { color: var(--text-heading) !important; }
.accent-primary { color: var(--brand-accent) !important; }

.alert-primary { background-color: rgba(134, 93, 54, 0.1) !important; border-color: var(--brand-primary) !important; color: var(--brand-primary) !important; }
.alert-success { background-color: rgba(137, 104, 172, 0.1) !important; border-color: var(--success) !important; color: var(--success) !important; }
.alert-warning { background-color: rgba(172, 137, 104, 0.1) !important; border-color: var(--warning) !important; color: var(--warning) !important; }
.alert-danger { background-color: rgba(220, 53, 69, 0.1) !important; border-color: var(--danger) !important; color: var(--danger) !important; }

.breadcrumb { background-color: transparent; padding: var(--spacing-sm) 0; text-decoration: none !important;}
.breadcrumb a { font-weight: 700 !important; color: var(--breadcrumbs-color) !important; text-decoration: none !important;}
.breadcrumb a:hover { color: var(--breadcrumbs-color) !important; text-decoration: underline !important;}
.breadcrumb-item.active { color: var(--breadcrumbs-color) !important; }
    .breadcrumb-item
    .list-group-item {
        background-color: var(--bg-card);
        border-color: var(--border-light);
        color: var(--text-primary);
    }

    x-breadcrumb-item + .x-breadcrumb-item::before {
        float: left !important;
        padding-right: var(--bs-breadcrumb-item-padding-x) !important;
        color: var(--bs-breadcrumb-divider-color) !important;
        content: var(--bs-breadcrumb-divider, "/") !important;
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath d='M2.5 0L1 1.5 3.5 4 1 6.5 2.5 8l4-4-4-4z' fill='brown'/%3E%3C/svg%3E")
    }
.list-group-item:hover { background-color: var(--bg-hover); }
.list-group-item::before { content: "•"; color: var(--brand-accent); margin-right: 8px; font-weight: bold; }

.validation-message { color: var(--danger) !important; font-size: 0.85rem; }
.invalid-feedback { color: var(--danger); }
.is-invalid { border-color: var(--danger) !important; }
.is-valid { border-color: var(--success) !important; }

.tab-pane { background-color: var(--bg-tertiary) !important; padding: var(--spacing-md); }

.log-reg-title { color: var(--text-inverse) !important; font-weight: 600; }
.lr-x-card { height: 420px !important; background-color: var(--bg-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); }
    .login-container {
        font-family: Arial !important;
        background: unset !important;
        min-height: 100vh;
        display: flex;
        align-items: center;
        justify-content: center;
    }

.fade-in { animation: fadeIn 0.5s ease-in-out !important; }
.slide-up { animation: slideUp 0.6s ease-out !important; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes slideUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
@keyframes tt-note-bounce { 0%, 100% { transform: translateY(0); } 40% { transform: translateY(-6px); } 60% { transform: translateY(-3px); } }
@keyframes tt-bar-move { 0% { transform: translateX(-60%); } 50% { transform: translateX(0%); } 100% { transform: translateX(120%); } }

html { scroll-behavior: smooth; }
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: var(--bg-secondary); border-radius: var(--radius-sm); }
::-webkit-scrollbar-thumb { background: var(--brand-secondary); border-radius: var(--radius-sm); }
::-webkit-scrollbar-thumb:hover { background: var(--brand-primary); }
:focus-visible { outline: 2px solid var(--brand-secondary); outline-offset: 2px; }
::selection { background-color: rgba(172, 137, 104, 0.3); color: var(--text-primary); }

@media (max-width: 576px) {
    .grid-sheet-name { font-size: 14px !important; }
    .grid-sheet-other { font-size: 13px !important; }
}
@media (max-width: 768px) {
    .grid-sheet-icon { width: 40px !important; }
    .grid-sheet-name { font-size: 16px !important; }
    .badge { font-size: 0.7rem !important; padding: 0.4rem 0.6rem !important; }
    .card { margin-bottom: 16px !important; }
}
@media (min-width: 1px) and (max-width: 991.98px) { .sidebar { margin-left: -210px !important; } }
/*@media (min-width: 992px) { .content { padding: 1.5rem 1rem 2rem 2rem !important; } }*/
@media (min-width: 1200px) { .container, .container-lg, .container-md, .container-sm, .container-xl { max-width: 1800px !important; } }

.right-scroller { max-height: 550px !Important;max-height: 75vh; overflow-y: auto; overflow-x: hidden; padding-right: 6px; scrollbar-gutter: stable; }
    .right-scroller {
        scrollbar-color: var(--bs-secondary-new) var(--bs-scroller);
    }
.event-right-scroller { max-height: 35vh; overflow-y: auto; overflow-x: hidden; padding-right: 6px; scrollbar-gutter: stable; }
    .event-right-scroller {
        scrollbar-color: var(--bs-secondary-new) var(--bs-scroller);
    }
.sheet-details { max-height: 65vh; overflow-y: auto; overflow-x: hidden; padding-right: 6px; scrollbar-gutter: stable; }
    .sheet-details {
        scrollbar-color: var(--bs-secondary-new) var(--bs-scroller);
    }
@media print {
    .sidebar, .navbar, .btn, .no-print { display: none !important; }
    .content { padding: 0 !important; margin: 0 !important; }
    body { background: white !important; color: black !important; }
}

/* Modern Navbar Styles (from _Navbar.razor.css) */
    .modern-navbar {
        position: sticky;
        top: 0;
        z-index: 1000;
        /*background: linear-gradient(120deg, #C28851 0%, #e3bb95 100%);*/
        background-image: url("/img/brown-wood_navbar.png")!important;
        box-shadow: 0 2px 20px rgba(134, 93, 54, 0.15);
        backdrop-filter: blur(10px);
        border-bottom: var(--border-navbar) solid var(--text-primary);
    }

@media (max-width: 991.98px) {
    .modern-navbar { display: none !important; }
}

    .modern-navbar-container {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 0.1rem 0.5rem !important;
        min-height: 40px !important;
        background: transparent !important;
        border: none !important;
        position: relative !important;
        flex-wrap: nowrap !important;
    }

.navbar-left-section { display: flex; align-items: center; gap: 1rem; flex-shrink: 0; }
  
.x-navbar-left-section {
        max-width: 226px !important;
        min-width: 226px !important;
    }

    .navbar-right-section {
        display: flex;
        align-items: center;
        margin-left: auto;
    }

.modern-menu-toggle {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 30px;
    height: 30px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    gap: 4px;
    padding: 0;
    position: relative;
    overflow: hidden;
    min-width: 30px;
    min-height: 30px;
    -webkit-tap-highlight-color: transparent;
}

.modern-menu-toggle::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(45deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05));
    opacity: 0;
    transition: opacity 0.3s ease;
}

.modern-menu-toggle:hover::before,
.modern-menu-toggle:focus::before { opacity: 1; }
.modern-menu-toggle:hover,
.modern-menu-toggle:focus {
    background: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.3);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(134, 93, 54, 0.2);
    outline: none;
}

.modern-menu-toggle:active { transform: translateY(0); }
.hamburger-line { width: 20px; height: 2px; background: #3E362E; border-radius: 2px; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
.modern-menu-toggle:hover .hamburger-line,
.modern-menu-toggle:focus .hamburger-line { background: #2d251f; }

.modern-navbar-nav { display: flex; align-items: center; gap: 0.5rem; margin: 0; padding: 0; list-style: none; }
.modern-nav-item { position: relative; }
.modern-nav-button {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    background: none;
    border: 0px solid rgba(255, 255, 255, 0.15);
    border-radius: 12px;
    color: #3E362E;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    font-weight: 500;
    position: relative;
    overflow: hidden;
    min-height: 30px;
    min-width: 30px;
    -webkit-tap-highlight-color: transparent;
}

    .modern-nav-button::before {
        content: '';
        position: absolute;
        inset: 0;
        background: none!important;
        opacity: 0;
        transition: opacity 0.3s ease;
    }

.modern-nav-button:hover::before,
.modern-nav-button:focus::before { opacity: 1; }
    .modern-nav-button:hover,
    .modern-nav-button:focus {
        background: none !important;
        border-color: rgba(255, 255, 255, 0.25);
        color: #2d251f;
        transform: translateY(-1px);
        box-shadow: 0 4px 12px rgba(134, 93, 54, 0.15);
        outline: none;
    }

.login-btn { padding: 0.5rem 1rem; background: rgba(255, 255, 255, 0.2); }
.login-btn .login-text { color: white; font-weight: 500; }
.login-btn i { color: white; }

.user-profile-btn { padding: 0.375rem 0.75rem; max-width: 280px }
.user-avatar { width: 36px; height: 36px; border-radius: 50%; overflow: hidden; display: flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, 0.15); border: 2px solid rgba(255, 255, 255, 0.2); flex-shrink: 0; }
.avatar-placeholder { background: linear-gradient(135deg, #93785B, #865D36); color: white; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; }
.avatar-placeholder.large { width: 64px; height: 64px; font-size: 2rem; }
.avatar-image { width: 100%; height: 100%; object-fit: cover; }
.avatar-image.large { width: 64px; height: 64px; }
    .user-name {
        font-weight: 200;
        color: #e9ecef;
        max-width: 200px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        color: var(--text-user-name) !important
    }
    .bi-bell {
        color: var(--text-user-name) !important;
    }
.dropdown-arrow { font-size: 0.8rem; color: #3E362E; transition: transform 0.3s ease; }
.user-profile-btn[aria-expanded="true"] .dropdown-arrow { transform: rotate(180deg); }

/*.modern-dropdown {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(134, 93, 54, 0.15);
    border-radius: 16px;
    box-shadow: 0 20px 40px rgba(134, 93, 54, 0.15);
    padding: 0;
    margin-top: 0.5rem;
    animation: dropdownSlideIn 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    max-height: 80vh;
    overflow-y: auto;
}
*/
@keyframes dropdownSlideIn {
    from { opacity: 0; transform: translateY(-10px) scale(0.95); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

.notifications-dropdown { min-width: 380px; }
.dropdown-header {
    padding: 1rem 1.25rem 0.75rem;
    border-bottom: 1px solid rgba(134, 93, 54, 0.1);
    background: linear-gradient(135deg, rgba(172, 137, 104, 0.1), rgba(227, 187, 149, 0.05));
}
.dropdown-title { margin: 0; color: #865D36; font-size: 1.1rem; font-weight: 600; }
.notification-count { color: #93785B; font-size: 0.875rem; font-weight: 500; }
.notifications-list { max-height: 400px; overflow-y: auto; padding: 0.5rem 0; }
.notification-item { display: flex; gap: 0.75rem; padding: 0.75rem 1.25rem; color: inherit; text-decoration: none; transition: all 0.2s ease; border: none; background: none; cursor: pointer; width: 100%; }
.notification-item:hover { background: none!important; color: inherit; text-decoration: none; transform: translateX(2px); }
.notification-avatar { width: 44px; height: 44px; border-radius: 50%; overflow: hidden; flex-shrink: 0; }
.notification-avatar img { width: 100%; height: 100%; object-fit: cover; }
.notification-content { flex: 1; min-width: 0; }
.notification-sender { font-weight: 600; color: #865D36; font-size: 0.9rem; margin-bottom: 0.25rem; }
.notification-message { color: #93785B; font-size: 0.85rem; line-height: 1.4; margin-bottom: 0.25rem; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.notification-time { color: #C28851; font-size: 0.75rem; }
.dropdown-footer { padding: 0.75rem 1.25rem; border-top: 1px solid rgba(134, 93, 54, 0.1); background: linear-gradient(135deg, rgba(172, 137, 104, 0.05), rgba(227, 187, 149, 0.02)); }
.view-all-link { color: #865D36; font-weight: 600; font-size: 0.875rem; text-decoration: none; transition: all 0.2s ease; }
.view-all-link:hover { color: #93785B; text-decoration: underline; }

.user-profile-dropdown { min-width: 280px!important; }
.user-profile-header { padding: 1.5rem 1.25rem 1rem; text-align: center; background: linear-gradient(135deg, rgba(172, 137, 104, 0.1), rgba(227, 187, 149, 0.05)); }
.user-profile-avatar { margin-bottom: 0.75rem; display: flex; justify-content: center; }
.user-display-name { margin: 0 0 0.25rem; color: #865D36; font-size: 1.1rem; font-weight: 600; }
.user-status { color: #28a745; font-weight: 500; position: relative; padding-left: 0.75rem; }
.user-status::before { content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 6px; height: 6px; background: #28a745; border-radius: 50%; box-shadow: 0 0 6px rgba(40, 167, 69, 0.6); }
.user-profile-menu, .user-profile-actions { padding: 0.5rem 0; }

    .modern-dropdown {
       /* background: rgba(255, 255, 255, 0.95) !important;*/
        backdrop-filter: blur(20px) !important;
        border: 1px solid rgba(134, 93, 54, 0.15) !important;
        border-radius: 16px !important;
        box-shadow: 0 20px 40px rgba(134, 93, 54, 0.15) !important;
        padding: 0 !important;
        margin-top: 0.5rem !important;
        animation: dropdownSlideIn-b-jkk2uz0c7p 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
        max-height: 80vh !important;
        /*overflow-y: auto !important;*/
    }


/*.modern-dropdown-item { display: flex; align-items: center; gap: 0.75rem; padding: 0.75rem 1.25rem; color: #865D36; text-decoration: none; transition: all 0.2s ease; border: none; background: none; cursor: pointer; width: 100%; font-weight: 500; min-height: 44px; }
*/.modern-dropdown-item:hover,
.modern-dropdown-item:focus { background: rgba(172, 137, 104, 0.08); color: #865D36; text-decoration: none; transform: translateX(2px); outline: none; }
.item-icon { font-size: 1.1rem; width: 20px; text-align: center; color: #93785B; }
.logout-item { color: #dc3545; }
.logout-item:hover,
.logout-item:focus { background: rgba(220, 53, 69, 0.08); color: #dc3545; }
.logout-item .item-icon { color: #dc3545; }

@media (max-width: 991.98px) {
    .modern-navbar-container { padding: 0.5rem 1rem; min-height: 60px; }
    .modern-navbar-nav { gap: 0.375rem; }
    .modern-nav-button { padding: 0.375rem 0.5rem; min-height: 40px; border-radius: 10px; }
    .user-avatar { width: 32px; height: 32px; }
    .dropdown-arrow, .user-name { display: none !important; }
    .modern-dropdown { margin-top: 0.25rem; border-radius: 12px; }
    .user-profile-dropdown { min-width: 260px; right: 0; left: auto; }
}

@media (max-width: 767.98px) {
    .modern-navbar-container { padding: 0.5rem 0.75rem; min-height: 56px; }
    .navbar-left-section { gap: 0.5rem; }
    .navbar-right-section { flex-shrink: 1; min-width: 0; }
    .modern-navbar-nav { gap: 0.25rem; }
    .modern-nav-item { flex-shrink: 0; }
    .modern-nav-button { padding: 0.375rem; min-width: 40px; min-height: 40px; border-radius: 8px; }
    .user-profile-btn { padding: 0.25rem; justify-content: center; }
    .user-avatar { width: 30px; height: 30px; }
    .dropdown-arrow, .user-name, .login-text { display: none !important; }
    .user-profile-dropdown { position: fixed !important; top: 56px !important; left: 0.5rem !important; right: 0.5rem !important; width: calc(100vw - 1rem) !important; min-width: unset !important; max-width: none !important; transform: none !important; border-radius: 12px; }
    .user-profile-header { padding: 1.25rem 1rem 0.75rem; }
    .user-display-name { font-size: 1rem; }
    .modern-dropdown-item { padding: 1rem 1.25rem; min-height: 48px; }
    .org-switcher-wrapper { max-width: 120px; }
    .culture-selector-wrapper { max-width: 80px; }
}

@media (max-width: 575.98px) {
    .modern-navbar-container { padding: 0.375rem 0.5rem; min-height: 52px; }
    .modern-menu-toggle { width: 40px; height: 40px; min-width: 40px; min-height: 40px; border-radius: 8px; }
    .hamburger-line { width: 18px; }
    .modern-navbar-nav { gap: 0.125rem; }
    .modern-nav-button { padding: 0.25rem; min-width: 36px; min-height: 36px; border-radius: 6px; }
    .user-avatar { width: 28px; height: 28px; }
    .avatar-placeholder { font-size: 1rem; }
    .user-profile-dropdown { top: 52px !important; left: 0.25rem !important; right: 0.25rem !important; width: calc(100vw - 0.5rem) !important; }
    .user-profile-header { padding: 1rem 0.75rem 0.5rem; }
    .avatar-placeholder.large { width: 48px; height: 48px; font-size: 1.5rem; }
    .avatar-image.large { width: 48px; height: 48px; }
    .user-display-name { font-size: 0.9rem; }
    .modern-dropdown-item { padding: 0.875rem 1rem; gap: 0.5rem; }
    .item-icon { font-size: 1rem; width: 18px; }
    .org-switcher-wrapper { max-width: 44px; }
}

@media (max-width: 767.98px) and (orientation: landscape) {
    .modern-navbar-container { min-height: 48px; padding: 0.25rem 0.75rem; }
    .user-profile-dropdown { max-height: 70vh; top: 48px !important; }
    .modern-menu-toggle, .modern-nav-button { min-height: 36px; min-width: 36px; }
}

@media (hover: none) and (pointer: coarse) {
    .modern-menu-toggle:hover, .modern-nav-button:hover, .modern-dropdown-item:hover { transform: none; }
    .modern-menu-toggle:active, .modern-nav-button:active { background: rgba(255, 255, 255, 0.2); transform: scale(0.95); }
    .modern-dropdown-item:active { background: rgba(172, 137, 104, 0.15); }
}

.modern-menu-toggle:focus-visible, .modern-nav-button:focus-visible { outline: 2px solid rgba(134, 93, 54, 0.5); outline-offset: 2px; }
.modern-dropdown-item:focus-visible { outline: 2px solid #865D36; outline-offset: -2px; }

@supports (padding: env(safe-area-inset-left)) {
    .modern-navbar-container { padding-left: max(0.75rem, env(safe-area-inset-left)); padding-right: max(0.75rem, env(safe-area-inset-right)); }
    @media (max-width: 575.98px) {
        .user-profile-dropdown { left: max(0.25rem, env(safe-area-inset-left)) !important; right: max(0.25rem, env(safe-area-inset-right)) !important; }
    }
}

@media (prefers-contrast: high) {
    .modern-navbar { background: #C28851; border-bottom: 2px solid #865D36; }
    .modern-nav-button { border-width: 2px; background: rgba(255, 255, 255, 0.2); }
    .modern-dropdown { background: white; border-width: 2px; }
}

@media (prefers-reduced-motion: reduce) {
    .modern-menu-toggle, .modern-nav-button, .modern-dropdown-item, .hamburger-line, .dropdown-arrow { transition: none; }
    .modern-dropdown { animation: none; }
}

.loading-state { opacity: 0.6; pointer-events: none; }
.loading-state .modern-nav-button { cursor: not-allowed; }
}


    /*
.badge { font-size: 0.575rem !important; font-weight: 500 !important; padding: 0.5rem 0.75rem !important; border-radius: var(--radius-md) !important; text-transform: uppercase !important; transition: all 0.2s ease !important; color: var(--brand-secondary) !important; }
.badge.bg-success { background-color: var(--success) !important; color: var(--text-inverse) !important; }
.badge.bg-warning { background-color: var(--warning) !important; color: var(--text-inverse) !important; }
.badge.bg-primary { background-color: var(--brand-primary) !important; color: var(--text-inverse) !important; }
.badge.bg-secondary { background-color: var(--brand-accent) !important; color: var(--text-inverse) !important; }
.badge.bg-danger { background-color: var(--danger) !important; color: var(--text-inverse) !important; }*/

    .text-bg-primary {
        background-color: RGBA(59,125,221,var(--bs-bg-opacity,1)) !important;
        color: #fff !important
    }

    .text-bg-secondary {
        background-color: RGBA(108,117,125,var(--bs-bg-opacity,1)) !important;
        color: #fff !important
    }

    .text-bg-success {
        background-color: RGBA(28,187,140,var(--bs-bg-opacity,1)) !important;
        color: #000 !important
    }

    .text-bg-info {
        background-color: RGBA(23,162,184,var(--bs-bg-opacity,1)) !important;
        color: #fff !important
    }

    .text-bg-warning {
        background-color: RGBA(252,185,44,var(--bs-bg-opacity,1)) !important;
        color: #000 !important
    }
    /*.text-bg-danger {
    background-color: RGBA(220,53,69,var(--bs-bg-opacity,1)) !important;
    color: #fff !important
}*/

    .text-bg-light {
        background-color: RGBA(245,247,251,var(--bs-bg-opacity,1)) !important;
        color: #000 !important
    }

    .text-bg-dark {
        background-color: RGBA(33,37,41,var(--bs-bg-opacity,1)) !important;
        color: #fff !important
    }

    .sidebar {
        /*border-right: 1px solid var(--border-secondary) !important;*/
        direction: ltr;
        max-width: 230px !important;
        min-width: 230px !important;
        background-color: transparent!important;
    }

    .sidebar, .sidebar-content {
        /* background: #a38a6c;*/
        transition: margin-left .35s ease-in-out,left .35s ease-in-out,margin-right .35s ease-in-out,right .35s ease-in-out
    }

    .sidebar-content {
        display: flex;
        flex-direction: column
    }

    .sidebar-nav {
        flex-grow: 1;
        list-style: none;
        margin-bottom: 0;
        padding-left: 0
    }

    .sidebar-link, a.sidebar-link {
        background-color:transparent!important;
        border-left: 3px solid transparent;
        color: rgba(233,236,239,.5);
        cursor: pointer;
        display: block;
        font-weight: 400;
        padding: 0.25rem 0.25rem !important;
        position: relative;
        text-decoration: none;
        transition: background .1s ease-in-out
    }

        .sidebar-link i, .sidebar-link svg, a.sidebar-link i, a.sidebar-link svg {
            color: rgba(233,236,239,.5);
            margin-right: .75rem
        }

        .sidebar-link:focus {
            outline: 0
        }

        .sidebar-link:hover {
            background: #222e3c;
            border-left-color: transparent
        }

            .x-sidebar-link-active  .sidebar-link:hover, .sidebar-link:hover i, .sidebar-link:hover svg {
                color: rgba(233,236,239,.75)
            }

 .sidebar-item.active .sidebar-link:hover, .sidebar-item.active > .sidebar-link {
/*    background: linear-gradient(90deg,rgba(59,125,221,.1),rgba(59,125,221,.088) 50%,transparent);
*/  
background-color: transparent !important;
    color: #e9ecef
}
.x-sidebar-link-active, .sidebar-item.active > .sidebar-link {
    background: linear-gradient(90deg,rgba(59,125,221,.1),rgba(59,125,221,.088) 50%,transparent);
    border-left-color: var(--sidebar-border-left) !important;
    color: #e9ecef
}
        .sidebar-item.active .sidebar-link:hover i, .sidebar-item.active .sidebar-link:hover svg, .sidebar-item.active > .sidebar-link i, .sidebar-item.active > .sidebar-link svg {
            color: #e9ecef
        }

    .sidebar-brand {
        color: #f8f9fa;
        display: block;
        font-size: 1.15rem;
        font-weight: 600;
        padding: 1.15rem 1.5rem
    }

        .sidebar-brand:hover {
            color: #f8f9fa;
            text-decoration: none
        }

        .sidebar-brand:focus {
            outline: 0
        }

    .sidebar-toggle {
        cursor: pointer;
        display: flex;
        height: 26px;
        width: 26px
    }

    .sidebar.collapsed {
        margin-left: -193px
    }

    @media(min-width:1px)and (max-width:991.98px) {
        .sidebar {
            margin-left: -195px
        }

            .sidebar.collapsed {
                margin-left: 0
            }
    }

    .sidebar-toggle {
        margin-right: 1rem
    }

    .sidebar-header {
        background: transparent;
        color: #ced4da;
        font-size: .75rem;
        padding: 1.5rem 1.5rem .375rem
    }

    .sidebar-badge {
        position: absolute;
        right: 15px;
        top: 14px;
        z-index: 1
    }

    .sidebar-cta-content {
        background: #2b3947;
        border-radius: .3rem;
        color: #e9ecef;
        margin: 1.75rem;
        padding: 1.5rem
    }


    @media (min-width: 992px) {
        .btn-lg {
            padding: 0.1rem 0.1rem !important;
            font-size: 1.1rem;
        }
    }
 
    /* ==========================================================================
   1. Base & Reset
   ========================================================================== */


    a, .btn-link {
        color: var(--brand-primary);
        transition: color var(--transition-fast);
    }

        a:hover {
            color: var(--brand-secondary);
        }
    /* ==========================================================================
   2. Layout & Structure
   ========================================================================== */

    .x-body {
        background-image: url(../img/logo_white_transparent_small.png);
        background-color: black !important;
        background-repeat: no-repeat;
        background-position: center center;
        background-size: 140px;
        height: 100%;
        font-family: cursive !important;
    }

    .x-body-with-bg-img {
        background: linear-gradient(to bottom, rgba(92, 77, 66, 0.2) 0%, rgba(92, 77, 66, 0.4) 100%), url(../img/hero6.jpg);
        background-size: cover;
        background-repeat: no-repeat;
        height: 100%;
        font-family: cursive !important;
    }

    .wrapper {
        align-items: stretch;
        background: var(--bg-secondary);
        display: flex;
        width: 100%;
        min-height: 100vh;
    }
    /*.content {
    padding-top: 1.1rem;
    background-color: var(--bg-primary);
    flex: 1;
}*/

    .x-content {
        background-color: var(--bg-primary);
    }

 
    /* ==========================================================================
   3. Navigation (Navbar)
   ========================================================================== */
    /*.x-navbar {
    background: var(--bg-navbar) !important;
    height: 62px !important;
    box-shadow: var(--shadow-sm);
}

.navbar, .nav-pills .nav-link.active, .nav-pills .show > .nav-link {
    background-color: var(--brand-secondary) !important;
    color: var(--brand-primary) !important;
}

    .navbar .avatar {
        margin-bottom: -30px !important;
        margin-top: -15px !important;
    }

.nav-link {
    font-size: 16px !important;
    color: var(--text-muted) !important;
    transition: all var(--transition-fast);
}

    .nav-link:hover {
        color: var(--text-primary) !important;
    }

    .nav-link.active {
        border-top: solid 3px var(--brand-secondary) !important;
        background-color: var(--bg-card) !important;
        border-color: var(--bs-nav-tabs-link-active-border-color);
        color: var(--bs-nav-tabs-link-active-color);
        font-size: 16px !important;
        font-weight: 900;
    }

.nav-tabs .nav-item.show .nav-tabs {
    border-top: solid 3px var(--brand-secondary) !important;
    background-color: var(--bg-tertiary) !important;
    border-color: var(--bs-nav-tabs-link-active-border-color);
    color: var(--bs-nav-tabs-link-active-color);
    font-size: 18px;
    font-weight: 900;
}

.nav-tabs .nav-link {
    border-left: solid 1px var(--border-secondary) !important;
    font-size: 15px !important;
}

.hamburger, .hamburger:after, .hamburger:before {
    background: var(--brand-dark) !important;
    border-radius: 1px;
    content: "";
    cursor: pointer;
    display: block;
    height: 3px;
    transition: background var(--transition-fast), color var(--transition-fast);
    width: 24px;
}*/
    /* ==========================================================================
   4. Sidebar
   ========================================================================== */

    .sidebar {
        direction: ltr;
        max-width: 230px !important;
        min-width: 230px !important;
        background-color: var(--bg-sidebar);
        transition: all var(--transition-normal);
    }

        .sidebar.collapsed {
            margin-left: -182px !important;
        }

            .sidebar.collapsed .sidebar-icon {
                margin-right: 0;
                width: 100%;
                text-align: end !important;
                font-size: 1.2rem;
                padding-right: 8px !important;
                color: var(--text-inverse) !important;
            }

.sidebar-link, a.sidebar-link {
    font-size: 11px !important;
    background-color: transparent !important;
    border-left: 3px solid transparent;
    color: rgba(233, 236, 239, .5);
    cursor: pointer;
    display: block;
    font-weight: 400;
    padding: .625rem 1.625rem;
    position: relative;
    text-decoration: none;
    transition: background var(--transition-fast);
}

        .sidebar-link:hover {
            background: var(--brand-primary) !important;
            border-left-color: var(--sidebar-border-left) !important;
        }

    .sidebar-active {
        background-color: var(--brand-dark) !important;
    }

.sidebar-item {
    background-color: transparent !important;
}

    .sidebar-main-item {
        vertical-align: middle !important;
        color: var(--text-inverse) !important;
        font-weight: 600;
    }

    .sidebar-sub-item {
        vertical-align: middle !important;
        color: var(--text-inverse) !important;
        font-weight: 400;
        margin-left: 14px;
    }

    .x-sidebar-link-deactive, a.x-sidebar-link-deactive {
        background: var(--bg-sidebar) !important;
        font-weight: 600;
        font-size: 11px !important;
        border-left: 3px solid transparent;
        color: rgba(233, 236, 239, .5);
        cursor: pointer;
        display: block;
        padding: .625rem 1.625rem;
        position: relative;
        text-decoration: none;
        transition: background var(--transition-fast);
    }

        .x-sidebar-link-deactive:hover {
            background: var(--brand-primary) !important;
            border-left-color: transparent;
        }

.x-sidebar-link-active {
    background-color: var(--brand-dark) !important;
    font-size: 11px !important;
    /*  background: var(--bg-sidebar) !important;*/
    border-left: 3px solid transparent;
    color: rgba(233, 236, 239, .5);
    cursor: pointer;
    display: block;
    font-weight: 400;
    padding: 0.25rem 0.5rem !important;
    position: relative;
    text-decoration: none;
    transition: background var(--transition-fast);
}

    .x-sidebar-link-active:hover {
        text-decoration: unset !important;
        background: var(--brand-dark) !important;
        border-left-color: transparent;
    }

    .collapse-arrow {
        display: inline-block;
        width: 1.1rem;
        margin-right: .35rem;
        font-weight: 600;
    }

    .sidebar-icon {
        display: inline-block;
        width: 1.2rem;
        margin-right: .5rem;
        text-align: center;
        font-size: 1rem;
    }

    .sidebar-sub-icon {
        display: inline-block;
        width: 1rem;
        margin-right: .5rem;
        margin-left: 1.5rem;
        text-align: center;
        font-size: 0.85rem;
        opacity: 0.9;
    }

    .arrow-space {
        display: inline-block;
        width: 1.1rem;
        margin-right: .35rem;
    }
    /* Collapsed sidebar styles */
    .sidebar.collapsed {
        width: 60px !important;
    }

        .sidebar.collapsed .sidebar-icon {
            margin-right: 0;
            width: 100%;
            text-align: center;
            font-size: 1.2rem;
        }

        .sidebar.collapsed .sidebar-link {
            padding: 0.75rem 0.5rem !important;
            text-align: center;
            justify-content: center;
            display: flex;
            align-items: center;
        }

        .sidebar.collapsed .sidebar-brand {
            padding: 1rem 0.5rem !important;
        }
        /* Hide text when collapsed */
        .sidebar.collapsed .sidebar-main-item,
        .sidebar.collapsed .sidebar-sub-item,
        .sidebar.collapsed .collapse-arrow {
            display: none;
        }
        /* Ensure tooltips work for collapsed sidebar */
        .sidebar.collapsed [title]:hover::after {
            content: attr(title);
            position: absolute;
            left: 60px;
            top: 0;
            background: var(--brand-dark);
            color: var(--text-inverse);
            padding: 5px 10px;
            border-radius: var(--radius-sm);
            white-space: nowrap;
            z-index: 1000;
            margin-left: 5px;
        }
    /* ==========================================================================
   5. Typography
   ========================================================================== */

    .h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
        color: var(--text-heading) !important;
        font-weight: 400 !important;
        line-height: 1.2 !important;
        margin-bottom: .5rem !important;
        margin-top: 0 !important;
    }

        h2.cat-box-title {
            margin-top: 0px;
            background: var(--brand-primary);
            color: var(--text-inverse) !important;
            float: left;
            padding: 1px 9px 1px 3px;
            font-size: 16px;
            font-family: Oswald, arial, Georgia, serif;
            text-transform: uppercase;
            position: absolute;
            left: 0;
            top: 0;
            z-index: 6;
            height: 31px;
        }

    .no-title {
        color: var(--text-heading) !important;
    }

    .txt-color-dark {
        color: var(--text-primary) !important;
    }

    .text-primary {
        color: var(--brand-primary) !important;
    }

    .text-secondary {
        color: var(--brand-secondary) !important;
    }

    .text-warning, .text-accent {
        color: var(--brand-accent) !important;
    }

    .text-bg-light {
        color: var(--brand-secondary) !important;
    }

    .accent-primary {
        color: var(--brand-accent) !important;
    }

    @media (max-width: 991px) {
        .wrapper, .main, .content, .x-content, .container {
            max-width: 100vw !important;
            overflow-x: hidden !important;
            box-sizing: border-box !important;
        }
    }

    @media (max-width: 991px) {
        .mobile-header {
            position: fixed;
            top: 56px;
            left: 0;
            right: 0;
            background: white;
            z-index: 1000;
            padding: 0.75rem 1rem;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
        }
    }

    @media (max-width: 991px) {
        .mobile-search-row {
            display: flex;
            gap: 0.5rem;
            align-items: center;
        }
    }

    .view-toggle-btn.active {
        background: #865d36;
        color: white;
        box-shadow: 0 1px 3px rgba(134, 93, 54, 0.3);
    }

    html, body {
        font-family: Arial !important;
    }
    /*.mobile-card-view {
    padding: 10px 0px;
}*/
    /* ================================================================
   MOBILE SVG OVERFLOW FIX - HIGHEST PRIORITY (in override.css)
   This file loads LAST so these styles take precedence
   ================================================================ */
    @media (max-width: 991px) {
        html, body {
            overflow-x: hidden !important;
            max-width: 100vw !important;
        }
        /* Force all SVG elements to fit viewport */
        svg {
            max-width: 100% !important;
        }
        /* Main layout wrappers - prevent overflow at all levels */
        .wrapper,
        .main,
        .content,
        .x-content,
        .container {
            max-width: 100vw !important;
            overflow-x: hidden !important;
            box-sizing: border-box !important;
        }
        /* SVG Score Container - prevent ANY overflow */
        /* Match dynamic IDs: verovioSvg_*, svg-container, etc */
        .svg-score-container,
        [id^="verovioSvg_"],
        [id^="svg-container"],
        #svg-container {
            max-width: 100vw !important;
            width: 100% !important;
            overflow-x: hidden !important;
            overflow-y: auto !important;
            padding-bottom: 150px !important;
            box-sizing: border-box !important;
        }
            /* SVG element inside ANY score container */
            .svg-score-container svg,
            [id^="verovioSvg_"] svg,
            [id^="svg-container"] svg,
            #svg-container svg {
                max-width: calc(100vw - 16px) !important;
                width: 100% !important;
                height: auto !important;
                margin-bottom: 120px !important;
                display: block !important;
                transform: none !important;
                box-sizing: border-box !important;
            }
        /* Verovio player container */
        .verovio-midi-player-container {
            max-width: 100vw !important;
            width: 100% !important;
            overflow-x: hidden !important;
            padding-bottom: 150px !important;
            box-sizing: border-box !important;
        }
        /* Score container */
        .score-container {
            max-width: 100vw !important;
            width: 100% !important;
            overflow: hidden !important;
            padding-bottom: 120px !important;
            box-sizing: border-box !important;
        }
        /* Fullscreen wrapper - match dynamic IDs */
        .fullscreen-wrapper,
        [id^="fullscreenWrapper_"] {
            max-width: 100vw !important;
            width: 100% !important;
            overflow: hidden !important;
            box-sizing: border-box !important;
        }
        /* Main app container */
        #app {
            max-width: 100vw !important;
            overflow-x: hidden !important;
        }
        /* Row containers that might cause overflow */
        .row {
            max-width: 100% !important;
            margin-left: 0 !important;
            margin-right: 0 !important;
        }
    }

    .x-body {
        font-family: Arial !important;
    }


.btn:hover {
    color: var(--brand-primary) !important;
    background-color: var(--bs-btn-hover-bg-new) !important;
    border-color: var(--brand-primary) !important;
}

.btn-check:checked + .btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check) + .btn:active {
    color: var(--brand-primary) !important;
    background-color: var(--bs-btn-hover-bg-new) !important;
    border-color: var(--brand-primary) !important;
}
    /* =============================================
   SHEET CELL CONTENT STYLES
   ============================================= */
    .sheet-cell-content {
        display: flex;
        flex-direction: column;
        gap: 0.35rem;
        padding: 0.5rem 0;
    }
    /* Sheet Name Row with Icon */
    .sheet-name-row {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        margin-bottom: 0.25rem;
    }

        .sheet-name-row .grid-sheet-icon {
            width: 50px;
            height: auto;
            border: 2px solid transparent;
            border-radius: 6px;
            transition: all 0.3s ease;
            cursor: pointer;
            flex-shrink: 0;
        }

            .sheet-name-row .grid-sheet-icon:hover {
                border-color: #C28851;
                transform: scale(1.05);
                box-shadow: 0 4px 12px rgba(172, 137, 104, 0.3);
            }

        .sheet-name-row .grid-sheet-name {
            font-size: 1.05rem;
            font-weight: 600;
            color: #865d36;
            cursor: pointer;
            text-decoration: none;
            transition: color 0.2s ease;
            line-height: 1.3;
        }

            .sheet-name-row .grid-sheet-name:hover {
                color: #C28851;
                text-decoration: underline;
            }
    /* Authors Row */
.sheet-authors-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
    font-size: 0.9rem;
    color: var(--brand-primary)!important;
}

        .sheet-authors-row .author-group {
            font-weight: 500;
        }

            .sheet-authors-row .author-group.arranger,
            .sheet-authors-row .author-group.orchestrator {
                font-style: italic;
                font-weight: 400;
            }
    /* Secondary Authors (tekst, melodija) */
    .sheet-secondary-authors {
        display: flex;
        flex-wrap: wrap;
        gap: 0.75rem;
        font-size: 0.85rem;
        color: #6c757d;
    }

        .sheet-secondary-authors .author-label {
            background: rgba(134, 93, 54, 0.08);
            padding: 0.125rem 0.5rem;
            border-radius: 4px;
        }
    /* Metadata Row */
    .sheet-metadata-row {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.5rem;
        font-size: 0.85rem;
        color: #495057;
        padding: 0rem 0;
        border-top: 0px dashed rgba(134, 93, 54, 0.15);
        border-bottom: 0px dashed rgba(134, 93, 54, 0.15);
        margin: 0.2rem 0;
    }

        .sheet-metadata-row .metadata-item {
            display: inline-flex;
            align-items: center;
        }

            .sheet-metadata-row .metadata-item:not(:last-child)::after {
                content: "•";
                margin-left: 0.5rem;
                color: #adb5bd;
            }

            .sheet-metadata-row .metadata-item.key strong {
                color: var(--text-secondary) !important;
                /*color: #865d36;*/
            }
    /* Composition Type */
.sheet-composition-type {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--brand-primary)!important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    opacity: 0.8;
}
    /* YouTube Link */
    .sheet-youtube-link {
        margin-top: 0.25rem;
    }

        .sheet-youtube-link .youtube-icon-btn {
            display: inline-flex;
            align-items: center;
            padding: 0.25rem;
            border-radius: 4px;
            transition: background-color 0.2s ease;
            cursor: pointer;
        }

            .sheet-youtube-link .youtube-icon-btn:hover {
                background-color: rgba(220, 53, 69, 0.1);
            }
    /* =============================================
   BADGES SECTION STYLES
   ============================================= */
    .badges-section {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
        padding: 0.5rem 0;
    }

    .badge-group {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.25rem;
    }

        .badge-group .badge-label {
            font-size: 0.7rem;
            color: #6c757d;
            text-transform: uppercase;
            letter-spacing: 0.3px;
        }

        .badge-group .badge-items {
            display: flex;
            flex-wrap: wrap;
            gap: 0.25rem;
            justify-content: center;
        }

    .badge-item {
        font-size: 0.8rem !important;
    }

    .badge-item-large {
        font-size: 0.9rem !important;
    }


/*.scroller-color-primary::-webkit-scrollbar-thumb:hover {
    background-color: var(--brand-secondary);
}

.scroller-color-primary {
    scrollbar-color: var(--brand-secondary) var(--bg-secondary);
    scrollbar-width: thin;
}*/

.member-sidebar p {
    font-size: 1.2rem;
    color: var(--text-heading);
    margin-bottom: 0.5rem;
}
.x-member-instrument {
    font-size: 1rem!important;
}

.x-member-group {
    font-size: 1rem !important;
}

.return-nav {
    border: none !important;
    background-color: transparent !important;
    font-size: 0.8rem !important;
    color: var(--brand-primary) !important;
}
    .return-nav:active {
        background-color: transparent !important;
        font-size: 0.8rem !important;
        color: var(--brand-primary) !important;
    }
    .return-nav:hover {
        background-color: transparent !important;
        font-size: 0.8rem !important;
        color: var(--text-heading) !important;
    }

.search-icon {
    color: var(--brand-primary) !important;
}

.clear-icon {
    font-weight: 900 !important;
    color: var(--brand-primary) !important;
}

.form-control::placeholder {
    font-style: italic !important;
    color: var(--brand-primary) !important;
    opacity: 1 !important;
}

.cbp_tmtimeline {
    padding: 10px !important;
    color: var(--brand-primary) !important;
}

    .cbp_tmtimeline[b-c60zai9dy8]:before {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        width: 3px;
        background: none!important;
        left: 20%;
        margin-left: -6px;
    }

.crop-control-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 10px 16px;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    background-color: #ffffff;
    color: var(--brand-primary) !important;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.2s ease;
    min-width: 44px;
    min-height: 44px;
}

.btn-info {
    color: var(--bs-btn-hover-color-new) !important;
    background-color: var(--brand-primary) !important;
    border-color: var(--brand-primary) !important;
}

.bb-grid-pagination-text {
    font-size: 0.9rem !important;
    color: var(--brand-primary) !important;
}
.x-org-switcher-item {
    color: var(--bb-white) !important;
}

.x-btn-midi-player {
    background-color: var(--bb-black) !important;
    color: var(--bb-white) !important;
    border-color: var(--bb-border-btn-midi) !important;
}

/*.x-btn-midi-player {
    background-color: var(--bb-black) !important;
    color: var(--bb-white) !important;
    border-color: var(--bb-border-btn-midi) !important;
}*/

/* Actions */
.transaction-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex-wrap: wrap;
}

.action-btn,
.action-btn-small {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.action-btn {
    width: 30px;
    height: 30px;
}

.action-btn-small {
    width: 24px;
    height: 24px;
    font-size: 0.8rem;
}

.action-btn.return {
    background-color: #dbeafe;
    color: #1d4ed8;
}

    .action-btn.return:hover {
        background-color: #1d4ed8;
        color: white;
        transform: translateY(-1px);
    }

.action-btn.pdf {
    background-color: #dcfce7;
    color: #166534;
}

    .action-btn.pdf:hover {
        background-color: #166534;
        color: white;
        transform: translateY(-1px);
    }

.action-btn.upload {
    background-color: #fef3c7;
    color: #92400e;
}

    .action-btn.upload:hover {
        background-color: #d97706;
        color: white;
        transform: translateY(-1px);
    }

.action-btn.delete,
.action-btn-small.download {
    background-color: #fee2e2;
    color: #dc2626;
}

    .action-btn.delete:hover {
        background-color: #dc2626;
        color: white;
        transform: translateY(-1px);
    }

.action-btn-small.download {
    background-color: #e0f2fe;
    color: #0284c7;
}

    .action-btn-small.download:hover {
        background-color: #0284c7;
        color: white;
    }