


@font-face {
    font-family: 'Noto Sans Arabic';
    src: url('/fonts/Vazirmatn-Regular.ttf') format('truetype');
    font-weight: 400;
    font-display: swap;
}


@media screen{
 body{font-size:.96rem;line-height:1.62;font-weight:500}.sms-navbar .nav-link,.sms-navbar .dropdown-item{font-size:.86rem;font-weight:600}.card-header{font-size:.92rem}.table{font-size:.86rem}.table thead th{font-size:.79rem}.table td,.table th{line-height:1.55}.btn{font-size:.84rem}.btn-sm{font-size:.79rem}.form-control,.form-select{font-size:.86rem}.form-label{font-size:.81rem}.kpi-label{font-size:.8rem}.compact-page-head p,.audit-page-head p,.users-page-head p,.payroll-page-head p{font-size:.8rem}.report-tabs button{font-size:.8rem}.report-tab-panels .card-header{font-size:.88rem}.report-tab-panels .report-table td{font-size:.82rem}.report-tab-panels .report-table th{font-size:.77rem}
}
.management-intelligence{display:grid;grid-template-columns:.8fr 1.05fr 1.35fr;gap:.65rem}.management-intelligence .card{overflow:hidden}.management-intelligence .card-header{display:flex;flex-direction:column;gap:.08rem}.management-intelligence .card-header small{color:var(--sms-text-muted);font-size:.7rem}.management-alerts .card-body{display:grid;gap:.48rem}.management-alerts .card-body>div{display:grid;grid-template-columns:1fr auto;gap:.12rem .5rem;padding:.55rem .65rem;border:1px solid var(--sms-border);border-inline-start:4px solid var(--sms-success);border-radius:8px;background:var(--sms-bg)}.management-alerts .card-body>div.warning{border-inline-start-color:#d59b2d}.management-alerts .card-body>div.critical{border-inline-start-color:var(--sms-danger)}.management-alerts span{font-size:.73rem;color:var(--sms-text-muted)}.management-alerts strong{font-size:.78rem}.management-alerts small{grid-column:1/-1;font-size:.68rem;color:var(--sms-text-muted)}.debt-concentration .card-body{display:grid;gap:.45rem}.debt-concentration label{display:flex;justify-content:space-between;gap:.5rem;font-size:.72rem}.debt-concentration label b{direction:ltr;font-size:.7rem}.debt-concentration label b:after{content:' تومان';font-weight:400;color:var(--sms-text-muted)}.debt-concentration .card-body>div>div{height:8px;border-radius:8px;background:var(--sms-bg);overflow:hidden}.debt-concentration i{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,var(--sms-danger),color-mix(in srgb,var(--sms-danger) 55%,var(--sms-primary)))}.class-efficiency .card-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.efficiency-card{display:grid;grid-template-columns:1fr auto;gap:.2rem .45rem;padding:.52rem .6rem;border:1px solid var(--sms-border);border-top:3px solid var(--sms-border-strong);border-radius:8px;background:var(--sms-bg)}.efficiency-card.high{border-top-color:var(--sms-success)}.efficiency-card.medium{border-top-color:#d59b2d}.efficiency-card.low{border-top-color:var(--sms-danger)}.efficiency-card>div{display:flex;flex-direction:column}.efficiency-card strong{font-size:.75rem}.efficiency-card span,.efficiency-card small{font-size:.65rem;color:var(--sms-text-muted)}.efficiency-card>b{font-size:.72rem}.efficiency-card>small{grid-column:1/-1}@media(max-width:1100px){.management-intelligence{grid-template-columns:1fr 1fr}.class-efficiency{grid-column:1/-1}}@media(max-width:700px){.management-intelligence{grid-template-columns:1fr}.class-efficiency{grid-column:auto}.class-efficiency .card-body{grid-template-columns:1fr}}
@font-face{font-family:'Noto Naskh Arabic';src:url('/fonts/Vazirmatn-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Noto Naskh Arabic';src:url('/fonts/Vazirmatn-Bold.ttf') format('truetype');font-weight:700;font-display:swap}


@media screen and (max-width:0px) {
    body { font-size: .86rem; line-height: 1.55; }

    h1, .h1 { font-size: 1.55rem; }
    h2, .h2 { font-size: 1.32rem; }
    h3, .h3 { font-size: 1.16rem; }
    h4, .h4 { font-size: 1.02rem; }
    h5, .h5 { font-size: .94rem; }
    h6, .h6 { font-size: .88rem; }

    body > .container,
    body > .container-fluid,
    main.container,
    main.container-fluid {
        padding-top: .8rem !important;
        padding-bottom: .8rem !important;
    }
    .container-fluid { padding-inline: clamp(.75rem, 1.5vw, 1.4rem); }
    .row { --bs-gutter-x: .8rem; --bs-gutter-y: .65rem; }
    .g-3, .gx-3 { --bs-gutter-x: .7rem; }
    .g-3, .gy-3 { --bs-gutter-y: .7rem; }
    .g-4, .gx-4 { --bs-gutter-x: .9rem; }
    .g-4, .gy-4 { --bs-gutter-y: .9rem; }

    .py-4 { padding-top: .85rem !important; padding-bottom: .85rem !important; }
    .py-3 { padding-top: .65rem !important; padding-bottom: .65rem !important; }
    .p-4 { padding: .9rem !important; }
    .p-3 { padding: .7rem !important; }
    .mb-4 { margin-bottom: .9rem !important; }
    .mb-3 { margin-bottom: .65rem !important; }
    .mt-4 { margin-top: .9rem !important; }
    .mt-3 { margin-top: .65rem !important; }
    .gap-3 { gap: .65rem !important; }

    .sms-navbar { min-height: 50px; padding: .3rem .75rem; }
    .sms-navbar .container-fluid { min-height: 42px !important; }
    .sms-navbar .navbar-brand { font-size: .94rem; gap: 7px; margin-left: .7rem; }
    .sms-navbar .navbar-brand .brand-icon { width: 27px; height: 27px; border-radius: 7px; }
    .sms-navbar .nav-link { padding: .34rem .58rem !important; font-size: .8rem; gap: 5px; }
    .sms-navbar .sms-main-nav { gap: .08rem; }
    .sms-navbar .dropdown-item { padding: .4rem .65rem; font-size: .8rem; }
    .sms-navbar .nav-hover > .dropdown-menu { min-width: 185px; padding: 5px; }
    .btn-outline-sms { padding: .3rem .65rem; }

    .card-header { padding: .55rem .75rem; font-size: .86rem; }
    .card-body { padding: .72rem; }
    .card-footer { padding: .55rem .72rem; background: var(--sms-surface); border-color: var(--sms-border); }
    .kpi-card { padding: .72rem .8rem; }
    .kpi-value { font-size: 1.25rem; line-height: 1.25; }
    .kpi-label { font-size: .73rem; margin-top: 1px; }
    .quick-link-card { gap: 9px; padding: .7rem .75rem; }
    .quick-link-icon { width: 34px; height: 34px; }
    .quick-link-title { font-size: .82rem; }
    .quick-link-desc { font-size: .71rem; line-height: 1.45; }

    .table { font-size: .8rem; margin-bottom: .65rem; }
    .table thead th { padding: .4rem .48rem; font-size: .71rem; }
    .table td, .table th { padding: .4rem .48rem; line-height: 1.45; }
    .table-sm td, .table-sm th { padding: .28rem .4rem; }
    .table-responsive { scrollbar-gutter: stable; }

    .btn { font-size: .78rem; padding: .34rem .7rem; }
    .btn-sm { padding: .25rem .5rem; font-size: .72rem; }
    .badge { font-size: .68rem; padding: .3em .52em; }

    .form-control, .form-select {
        min-height: 34px;
        padding: .35rem .62rem;
        font-size: .8rem;
        background-color: var(--sms-surface);
        color: var(--sms-text);
    }
    textarea.form-control { min-height: 70px; }
    .form-control-sm, .form-select-sm { min-height: 30px; padding-top: .25rem; padding-bottom: .25rem; }
    .form-label { font-size: .74rem; margin-bottom: .22rem; }
    .input-group-text { min-height: 34px; padding: .35rem .6rem; font-size: .78rem; }
    .form-check { min-height: 1.25rem; margin-bottom: .2rem; }

    .modal-dialog { margin-top: 1rem; margin-bottom: 1rem; }
    .modal-header { padding: .65rem .85rem; }
    .modal-header h5, .modal-title { font-size: .9rem; }
    .modal-body { padding: .75rem .85rem; }
    .modal-footer { padding: .55rem .85rem; gap: .35rem; }
    .alert { padding: .55rem .75rem; margin-bottom: .65rem; font-size: .8rem; }

    .nav-tabs .nav-link { padding: .42rem .72rem; font-size: .79rem; }
    .nav-pills .nav-link { padding: .4rem .7rem; font-size: .79rem; }
    .accordion-button { padding: .6rem .75rem; font-size: .82rem; }
    .accordion-body { padding: .7rem .75rem; }
    .list-group-item { padding: .48rem .65rem; }
    .pagination { margin-bottom: .5rem; }
    .page-link { padding: .3rem .55rem; font-size: .76rem; }
    .breadcrumb { margin-bottom: .6rem; font-size: .76rem; }

    .calendar-table td { height: 72px; padding: .3rem !important; }
    .report-scroll-box { max-height: 280px; }
    .year-operations-filters-card .filter-box { padding: .5rem; }
    .student-search-card { margin-bottom: .65rem; }
    .sort-modern-head { margin-bottom: .45rem; }
    .sort-criteria { gap: .4rem; }
    .sort-criterion { min-height: 38px; padding: .38rem .55rem; border-radius: 8px; font-size: .79rem; }
    .sort-criterion-icon { width: 21px; height: 21px; flex-basis: 21px; }
    .app-footer { padding: .45rem .75rem .6rem; font-size: .7rem; }


    .card, .modal-content, .dropdown-menu, .list-group-item,
    .accordion-item, .accordion-button, .offcanvas, .popover {
        background-color: var(--sms-surface);
        color: var(--sms-text);
        border-color: var(--sms-border);
    }
    .table-light, .table-light > th, .table-light > td,
    .table > :not(caption) > * > * { color: var(--sms-text); border-color: var(--sms-border); }
    .table-light, .table-light > th, .table-light > td { --bs-table-bg: var(--sms-bg); }
    .accordion-button:not(.collapsed), .list-group-item.active,
    .nav-pills .nav-link.active, .nav-pills .show > .nav-link {
        color: var(--sms-primary-dark);
        background: var(--sms-primary-light);
        border-color: var(--sms-primary-soft);
        box-shadow: none;
    }
    .accordion-button::after { filter: none; }
    .page-link { color: var(--sms-primary); background: var(--sms-surface); border-color: var(--sms-border); }
    .page-item.active .page-link { color: #fff; background: var(--sms-primary); border-color: var(--sms-primary); }
    .page-item.disabled .page-link { color: var(--sms-text-muted); background: var(--sms-bg); }
    .input-group-text { color: var(--sms-text-muted); background: var(--sms-bg); border-color: var(--sms-border-strong); }
    .form-control:disabled, .form-control[readonly], .form-select:disabled { background: var(--sms-bg); color: var(--sms-text-muted); }
    .dropdown-divider { border-color: var(--sms-border); }
    .modal-backdrop.show { opacity: .35; }
}

@media screen and (max-width: 767.98px) {
    body { font-size: .84rem; }
    body > .container, body > .container-fluid,
    main.container, main.container-fluid { padding-top: .6rem !important; padding-bottom: .6rem !important; }
    .card-body { padding: .65rem; }
    .table td, .table th { padding: .36rem .42rem; }
    .calendar-table td { height: 62px; }
}
@font-face {
    font-family: 'Noto Sans Arabic';
    src: url('/fonts/Vazirmatn-Bold.ttf') format('truetype');
    font-weight: 700;
    font-display: swap;
}

:root,
html[data-theme="steel-blue"] {

    --sms-primary: #2c5282;
    --sms-primary-dark: #1e3a5c;
    --sms-primary-light: #eaf1f8;
    --sms-primary-soft: #cfe0ee;

    --sms-accent: #55677a;
    --sms-accent-light: #eef1f4;

    --sms-charcoal: #33414f;
    --sms-charcoal-dark: #263140;

    --sms-success: #2f7a4f;
    --sms-success-light: #e8f4ec;
    --sms-danger: #a13a3a;
    --sms-danger-light: #faebeb;
    --sms-warning: #a3760f;
    --sms-warning-light: #faf1de;
    --sms-info: #5a5a8f;
    --sms-info-light: #e9f1f8;

    --sms-bg: #f3f5f7;
    --sms-surface: #ffffff;
    --sms-text: #263140;
    --sms-text-muted: #64707c;
    --sms-border: #e1e5ea;
    --sms-border-strong: #cbd2da;
}

html[data-theme="navy-gold"] {

    --sms-primary: #1e3a5f;
    --sms-primary-dark: #14283f;
    --sms-primary-light: #eaf1f8;
    --sms-primary-soft: #d1e0ee;

    --sms-accent: #a9822c;
    --sms-accent-light: #f7f0e0;

    --sms-charcoal: #16273b;
    --sms-charcoal-dark: #0f1c2c;

    --sms-success: #1f7a5c;
    --sms-success-light: #e7f5ef;
    --sms-danger: #ad3b3b;
    --sms-danger-light: #fbecec;
    --sms-warning: #a9772d;
    --sms-warning-light: #faf1e0;
    --sms-info: #3f7a9c;
    --sms-info-light: #eaf2f8;

    --sms-bg: #f4f6f9;
    --sms-surface: #ffffff;
    --sms-text: #26313f;
    --sms-text-muted: #67727f;
    --sms-border: #e2e7ee;
    --sms-border-strong: #ccd5e0;
}

html[data-theme="teal"] {

    --sms-primary: #0f766e;
    --sms-primary-dark: #0b5d57;
    --sms-primary-light: #e6f5f3;
    --sms-primary-soft: #c9e9e5;

    --sms-accent: #16805d;
    --sms-accent-light: #e6f6f0;

    --sms-charcoal: #25333a;
    --sms-charcoal-dark: #18242a;

    --sms-success: #16805d;
    --sms-success-light: #e6f6f0;
    --sms-danger: #c2413b;
    --sms-danger-light: #fcebea;
    --sms-warning: #b7791f;
    --sms-warning-light: #fff5df;
    --sms-info: #2f5f8f;
    --sms-info-light: #e8f3f8;

    --sms-bg: #f4f7f6;
    --sms-surface: #ffffff;
    --sms-text: #263238;
    --sms-text-muted: #6b777b;
    --sms-border: #e0e7e5;
    --sms-border-strong: #cbd6d3;
}

html[data-theme="charcoal-burgundy"] {

    --sms-primary: #7a2e3f;
    --sms-primary-dark: #5c202e;
    --sms-primary-light: #f8ecee;
    --sms-primary-soft: #ecd3d8;

    --sms-accent: #9c7b3f;
    --sms-accent-light: #f6f0e2;

    --sms-charcoal: #34313a;
    --sms-charcoal-dark: #242228;

    --sms-success: #2f7a4f;
    --sms-success-light: #e8f4ec;
    --sms-danger: #a13a3a;
    --sms-danger-light: #faebeb;
    --sms-warning: #a3760f;
    --sms-warning-light: #faf1de;
    --sms-info: #2f4f7a;
    --sms-info-light: #e9f1f8;

    --sms-bg: #f6f5f3;
    --sms-surface: #ffffff;
    --sms-text: #2a2730;
    --sms-text-muted: #6d6870;
    --sms-border: #e6e3e0;
    --sms-border-strong: #d0cbc7;
}

html[data-theme="slate-graphite"] {

    --sms-primary: #4b5563;
    --sms-primary-dark: #374151;
    --sms-primary-light: #eef0f2;
    --sms-primary-soft: #d9dee3;

    --sms-accent: #6b7280;
    --sms-accent-light: #eef0f2;

    --sms-charcoal: #374151;
    --sms-charcoal-dark: #1f2937;

    --sms-success: #2f7a4f;
    --sms-success-light: #e8f4ec;
    --sms-danger: #a13a3a;
    --sms-danger-light: #faebeb;
    --sms-warning: #a3760f;
    --sms-warning-light: #faf1de;
    --sms-info: #3a5f8f;
    --sms-info-light: #e9f1f8;

    --sms-bg: #f5f6f7;
    --sms-surface: #ffffff;
    --sms-text: #1f2733;
    --sms-text-muted: #667085;
    --sms-border: #e3e6ea;
    --sms-border-strong: #cdd3da;
}

html[data-theme="petrol"] {

    --sms-primary: #123a3d;
    --sms-primary-dark: #0b2628;
    --sms-primary-light: #e6f0f0;
    --sms-primary-soft: #c3dcdc;

    --sms-accent: #3f6b6d;
    --sms-accent-light: #eaf2f2;

    --sms-charcoal: #17383a;
    --sms-charcoal-dark: #0e2426;

    --sms-success: #2f7a4f;
    --sms-success-light: #e8f4ec;
    --sms-danger: #a13a3a;
    --sms-danger-light: #faebeb;
    --sms-warning: #a3760f;
    --sms-warning-light: #faf1de;
    --sms-info: #3a6ea5;
    --sms-info-light: #e9f1f8;

    --sms-bg: #f2f6f6;
    --sms-surface: #ffffff;
    --sms-text: #1c2e2f;
    --sms-text-muted: #5f7274;
    --sms-border: #dde8e8;
    --sms-border-strong: #c3d3d3;
}

html[data-theme="ruby"] {

    --sms-primary: #93413f;
    --sms-primary-dark: #712f2e;
    --sms-primary-light: #f8eeed;
    --sms-primary-soft: #edd3d1;

    --sms-accent: #79514c;
    --sms-accent-light: #f4eeec;

    --sms-charcoal: #3e2d2c;
    --sms-charcoal-dark: #2b201f;

    --sms-success: #2f7a4f;
    --sms-success-light: #e8f4ec;
    --sms-danger: #a13a3a;
    --sms-danger-light: #faebeb;
    --sms-warning: #a3760f;
    --sms-warning-light: #faf1de;
    --sms-info: #4a6f8a;
    --sms-info-light: #eaf1f6;

    --sms-bg: #f8f4f3;
    --sms-surface: #ffffff;
    --sms-text: #33241f;
    --sms-text-muted: #75625d;
    --sms-border: #ede1df;
    --sms-border-strong: #d9c4c1;
}

html[data-theme="terracotta"] {

    --sms-primary: #a15840;
    --sms-primary-dark: #7c4230;
    --sms-primary-light: #f8f0ea;
    --sms-primary-soft: #efd9cc;

    --sms-accent: #8a6a4f;
    --sms-accent-light: #f4eee6;

    --sms-charcoal: #402e26;
    --sms-charcoal-dark: #2c1f1a;

    --sms-success: #3a7d52;
    --sms-success-light: #e9f4ee;
    --sms-danger: #a13a3a;
    --sms-danger-light: #faebeb;
    --sms-warning: #a3760f;
    --sms-warning-light: #faf1de;
    --sms-info: #4a7a8a;
    --sms-info-light: #eaf2f4;

    --sms-bg: #f8f5f2;
    --sms-surface: #ffffff;
    --sms-text: #33261f;
    --sms-text-muted: #7a6a5c;
    --sms-border: #eee2d8;
    --sms-border-strong: #d9c6b5;
}

html[data-theme="amber-graphite"] {

    --sms-primary: #9c6b1f;
    --sms-primary-dark: #785318;
    --sms-primary-light: #f8f2e6;
    --sms-primary-soft: #ecdcb8;

    --sms-accent: #5b5650;
    --sms-accent-light: #f0eeec;

    --sms-charcoal: #3a352c;
    --sms-charcoal-dark: #27231d;

    --sms-success: #2f7a4f;
    --sms-success-light: #e8f4ec;
    --sms-danger: #a13a3a;
    --sms-danger-light: #faebeb;
    --sms-warning: #9c6b1f;
    --sms-warning-light: #f8f0de;
    --sms-info: #4b6b7a;
    --sms-info-light: #eaf1f4;

    --sms-bg: #f7f6f2;
    --sms-surface: #ffffff;
    --sms-text: #302c24;
    --sms-text-muted: #756e60;
    --sms-border: #ece7da;
    --sms-border-strong: #d5cbb2;
}


.num-ltr {
    direction: ltr;
    unicode-bidi: isolate;
    display: inline-block;
    text-align: right;
}
input.num-ltr { text-align: right; }

:root {
    --sms-radius-sm: 7px;
    --sms-radius: 10px;
    --sms-radius-lg: 14px;
    --sms-shadow-sm: 0 1px 2px rgba(15, 20, 25, 0.05);
    --sms-shadow: 0 2px 10px rgba(15, 20, 25, 0.07);
    --sms-shadow-lg: 0 10px 28px rgba(15, 20, 25, 0.14);
}

* { box-sizing: border-box; }
html, body { min-height: 100%; }

body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    font-family: 'Noto Sans Arabic', Tahoma, sans-serif;
    background: var(--sms-bg);
    color: var(--sms-text);
    -webkit-font-smoothing: antialiased;
    font-size: 0.92rem;
}

h1,h2,h3,h4,h5,h6{font-family:'Noto Sans Arabic',Tahoma,sans-serif;font-weight:700;color:var(--sms-charcoal-dark);line-height:1.45;letter-spacing:0}h1{font-size:1.55rem}h2{font-size:1.32rem}h3{font-size:1.16rem}h4{font-size:1.02rem}h5{font-size:.94rem}h6{font-size:.88rem}

a { color: var(--sms-primary); text-decoration: none; }
a:hover { color: var(--sms-primary-dark); }


body > nav.sms-navbar { flex: 0 0 auto; }
body > .container, body > .container-fluid { flex: 0 0 auto; width: 100%; }

.sms-navbar {
    background: var(--sms-charcoal);
    padding: 0.58rem 1rem;
    border-bottom: none;
    position: sticky;
    top: 0;
    z-index: 1030;
}
.sms-navbar .navbar-brand {
    font-weight: 700;
    font-size: 1.02rem;
    display: flex;
    align-items: center;
    gap: 9px;
    color: #fff !important;
}
.sms-navbar .navbar-brand .brand-icon {
    width: 30px; height: 30px;
    background: var(--sms-accent);
    border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    color: #fff;
}
.sms-navbar .nav-link {
    color: rgba(255,255,255,0.72) !important;
    display: flex; align-items: center; gap: 6px;
    border-radius: var(--sms-radius-sm);
    padding: 0.48rem 0.78rem !important;
    font-size: 0.86rem;
    font-weight: 500;
    transition: background 0.15s ease, color 0.15s ease;
}
.sms-navbar .nav-link:hover { background: rgba(255,255,255,0.08); color: #fff !important; }
.sms-navbar .nav-link.active {
    background: var(--sms-primary);
    color: #fff !important;
    font-weight: 600;
}
.sms-navbar .nav-link svg { width: 15px; height: 15px; flex-shrink: 0; }


.sms-navbar { min-height: 64px; }
.sms-navbar .container-fluid { min-height: 64px !important; }
.sms-navbar .navbar-collapse { text-align: right; }
.sms-navbar .navbar-nav { align-items: center; }
.sms-navbar .nav-item, .sms-navbar .nav-link { text-align: right; }
.sms-navbar .dropdown-menu { direction: rtl; text-align: right; }
.sms-navbar .dropdown-item { display: block; width: 100%; }
.sms-navbar .sms-main-nav { gap: 0.2rem; }


.sms-navbar .nav-hover {
    position: relative;
}
.sms-navbar .nav-hover > .nav-hover-trigger {
    text-decoration: none;
}
.sms-navbar .nav-hover > .dropdown-menu {
    display: none;
    position: absolute;
    z-index: 1050;
    top: calc(100% + 2px);
    inset-inline-start: 0;
    min-width: 200px;
    margin-top: 0;
    border: 0;
    border-radius: var(--sms-radius);
    box-shadow: var(--sms-shadow-lg);
    padding: 6px;
}
.sms-navbar .nav-hover:hover > .dropdown-menu,
.sms-navbar .nav-hover:focus-within > .dropdown-menu {
    display: block;
}
.sms-navbar .nav-hover:hover > .nav-hover-trigger,
.sms-navbar .nav-hover:focus-within > .nav-hover-trigger {
    background: rgba(255,255,255,0.08);
    color: #fff !important;
}
.sms-navbar .dropdown-item {
    border-radius: var(--sms-radius-sm);
    padding: 0.5rem 0.8rem;
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--sms-text);
}
.sms-navbar .dropdown-item:hover {
    background: var(--sms-primary-light);
    color: var(--sms-primary-dark);
}
.sms-navbar .dropdown-item.active {
    background: var(--sms-primary);
    color: #fff;
}
.btn-outline-sms {
    border-radius: var(--sms-radius-sm); border: 1px solid rgba(255,255,255,0.25);
    color: rgba(255,255,255,0.85); background: transparent; font-weight: 600; font-size: 0.82rem;
    padding: 0.4rem 0.9rem;
}
.btn-outline-sms:hover { background: rgba(255,255,255,0.1); color: #fff; }


.card {
    border: 1px solid var(--sms-border);
    border-radius: var(--sms-radius);
    box-shadow: none;
}
.card-header {
    background: var(--sms-surface);
    border-bottom: 1px solid var(--sms-border);
    font-weight: 700;
    color: var(--sms-charcoal-dark);
    padding: 0.8rem 1rem;
    font-size: 0.92rem;
}
.card-body { padding: 1rem; }


.kpi-card {
    border-radius: var(--sms-radius);
    padding: 1.1rem;
    background: var(--sms-surface);
    border: 1px solid var(--sms-border);
    height: 100%;
    border-right: 3px solid var(--sms-primary);
}
.kpi-value { font-size: 1.5rem; font-weight: 700; color: var(--sms-charcoal-dark); }
.kpi-label { color: var(--sms-text-muted); font-size: 0.78rem; margin-top: 3px; }


.table { --bs-table-bg: var(--sms-surface); font-size: 0.86rem; }
.table thead th {
    background: var(--sms-bg);
    color: var(--sms-text-muted);
    font-weight: 700;
    border-bottom: 1px solid var(--sms-border-strong);
    font-size: 0.76rem;
    padding: 0.6rem 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.01em;
}
.table td, .table th { vertical-align: middle; padding: 0.6rem 0.65rem; }
.table-hover tbody tr:hover { background: var(--sms-primary-light); }
.table-bordered { border-color: var(--sms-border); }
.table-bordered > :not(caption) > * > * { border-color: var(--sms-border); }


.btn { border-radius: var(--sms-radius-sm); font-weight: 600; font-size: 0.83rem; padding: 0.45rem 0.95rem; }
.btn-sm { padding: 0.32rem 0.65rem; font-size: 0.76rem; }
.btn-primary { background: var(--sms-primary); border-color: var(--sms-primary); }
.btn-primary:hover, .btn-primary:focus { background: var(--sms-primary-dark); border-color: var(--sms-primary-dark); }
.btn-outline-primary { color: var(--sms-primary); border-color: var(--sms-border-strong); }
.btn-outline-primary:hover { background: var(--sms-primary); border-color: var(--sms-primary); color: #fff; }
.btn-success { background: var(--sms-success); border-color: var(--sms-success); }
.btn-outline-danger { color: var(--sms-danger); border-color: var(--sms-border-strong); }
.btn-outline-danger:hover { background: var(--sms-danger); border-color: var(--sms-danger); }
.btn-outline-secondary { color: var(--sms-text-muted); border-color: var(--sms-border-strong); }
.btn-outline-secondary:hover { background: var(--sms-charcoal); border-color: var(--sms-charcoal); color: #fff; }
.btn-outline-success { color: var(--sms-success); border-color: var(--sms-border-strong); }
.btn-outline-success:hover { background: var(--sms-success); border-color: var(--sms-success); }


.badge { font-weight: 600; font-size: 0.72rem; border-radius: 5px; padding: 0.38em 0.65em; }
.bg-success { background-color: var(--sms-success) !important; }
.bg-danger { background-color: var(--sms-danger) !important; }
.bg-warning { background-color: var(--sms-warning) !important; color: #fff !important; }
.bg-info { background-color: var(--sms-info) !important; color: #fff !important; }
.bg-secondary { background-color: var(--sms-text-muted) !important; }
.bg-light { background-color: var(--sms-bg) !important; }
.bg-primary { background-color: var(--sms-primary) !important; }
.text-info { color: var(--sms-info) !important; }
.text-warning { color: var(--sms-warning) !important; }
.text-secondary { color: var(--sms-text-muted) !important; }


.form-control, .form-select {
    border-radius: var(--sms-radius-sm);
    border-color: var(--sms-border-strong);
    font-size: 0.86rem;
    padding: 0.48rem 0.75rem;
}
.form-control:focus, .form-select:focus {
    border-color: var(--sms-primary);
    box-shadow: 0 0 0 0.15rem rgba(15, 118, 110, 0.16);
}
.form-label { font-weight: 600; font-size: 0.79rem; color: var(--sms-text-muted); margin-bottom: 0.3rem; }
.form-control-sm, .form-select-sm { border-radius: 6px; }


.modal-content { border-radius: var(--sms-radius-lg); border: none; box-shadow: var(--sms-shadow-lg); }
.modal-header {
    border-bottom: 1px solid var(--sms-border);
    padding: 1rem 1.2rem;
}
.modal-header h5 { color: var(--sms-charcoal-dark); font-size: 0.98rem; }
.modal-body { padding: 1.1rem 1.2rem; }
.modal-footer { border-top: 1px solid var(--sms-border); padding: 0.9rem 1.2rem; }


.alert { border-radius: var(--sms-radius); border: none; font-size: 0.86rem; }
.alert-success { background: var(--sms-success-light); color: #175c40; }
.alert-danger { background: var(--sms-danger-light); color: #8f2c20; }
.alert-info { background: var(--sms-info-light); color: #204d75; }
.alert-warning { background: var(--sms-warning-light); color: #7a5211; }


.nav-tabs { border-bottom: 1px solid var(--sms-border-strong); }
.nav-tabs .nav-link {
    border: none;
    color: var(--sms-text-muted);
    font-weight: 600;
    font-size: 0.85rem;
    padding: 0.6rem 1rem;
    border-radius: 0;
}
.nav-tabs .nav-link.active {
    color: var(--sms-primary);
    background: transparent;
    border-bottom: 2px solid var(--sms-primary);
    margin-bottom: -1px;
}


.quick-link-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 1.05rem;
    background: var(--sms-surface);
    border: 1px solid var(--sms-border);
    border-radius: var(--sms-radius);
    text-decoration: none;
    color: var(--sms-text);
    height: 100%;
    transition: border-color 0.15s ease, background 0.15s ease;
}
.quick-link-card:hover {
    border-color: var(--sms-primary);
    background: var(--sms-primary-light);
    color: var(--sms-text);
}
.quick-link-icon {
    width: 40px; height: 40px;
    border-radius: 9px;
    background: var(--sms-primary-light);
    color: var(--sms-primary);
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.quick-link-icon svg { width: 19px; height: 19px; }
.quick-link-title { font-weight: 700; margin-bottom: 1px; font-size: 0.88rem; color: var(--sms-charcoal-dark); }
.quick-link-desc { font-size: 0.76rem; color: var(--sms-text-muted); }


.calendar-table td { height: 100px; }
.calendar-table thead th { background: var(--sms-bg); }


.jalali-picker-input { cursor: text; background: var(--sms-surface); }
.jalali-picker-popup {
    background: var(--sms-surface);
    border: 1px solid var(--sms-border);
    border-radius: var(--sms-radius);
    box-shadow: var(--sms-shadow-lg);
    padding: 12px;
    width: min(270px, calc(100vw - 16px));
    max-width: calc(100vw - 16px);
    z-index: 3000;
}
.jp-header { display: flex; align-items: center; justify-content: space-between; gap: 4px; margin-bottom: 8px; }
.jp-nav {
    border: none; background: var(--sms-bg); color: var(--sms-primary);
    width: 26px; height: 26px; border-radius: 6px; font-weight: 700; cursor: pointer;
    transition: background 0.15s ease; flex-shrink: 0;
}
.jp-nav:hover { background: var(--sms-primary); color: #fff; }
.jp-select {
    border: 1px solid var(--sms-border-strong); border-radius: 6px; background: var(--sms-surface);
    color: var(--sms-charcoal-dark); font-weight: 600; font-size: 0.8rem; padding: 4px 6px;
    flex: 1; min-width: 0; cursor: pointer;
}
.jp-select:focus { outline: none; border-color: var(--sms-primary); }
.jp-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
.jp-weekday { text-align: center; font-size: 0.7rem; color: var(--sms-text-muted); padding: 4px 0; font-weight: 600; }
.jp-day {
    text-align: center; padding: 6px 0; border-radius: 6px; cursor: pointer; font-size: 0.8rem;
    transition: background 0.12s ease;
}
.jp-day:hover { background: var(--sms-primary-light); }
.jp-day.jp-selected { background: var(--sms-primary); color: #fff; font-weight: 700; }
.jp-day.jp-today { box-shadow: inset 0 0 0 1.5px var(--sms-warning); font-weight: 700; }
.jp-day.jp-blank { cursor: default; }
.jp-footer { display: flex; justify-content: center; margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--sms-border); }
.jp-today-btn {
    border: none; background: var(--sms-primary-light); color: var(--sms-primary-dark);
    font-size: 0.76rem; font-weight: 700; border-radius: 6px; padding: 4px 14px; cursor: pointer;
}
.jp-today-btn:hover { background: var(--sms-primary); color: #fff; }


.login-wrapper {
    min-height: 100vh;
    display: flex; align-items: center; justify-content: center;
    background: var(--sms-charcoal);
}
.login-card {
    width: 380px;
    background: var(--sms-surface);
    border-radius: var(--sms-radius-lg);
    box-shadow: var(--sms-shadow-lg);
    padding: 2.2rem 2rem;
}
.login-card .brand-icon {
    width: 52px; height: 52px;
    background: var(--sms-accent);
    border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 12px auto;
    color: #fff;
}


.text-muted { color: var(--sms-text-muted) !important; }
.text-success { color: var(--sms-success) !important; }
.text-danger { color: var(--sms-danger) !important; }
.text-primary { color: var(--sms-primary) !important; }
::-webkit-scrollbar { width: 7px; height: 7px; }
::-webkit-scrollbar-thumb { background: var(--sms-border-strong); border-radius: 8px; }
::-webkit-scrollbar-thumb:hover { background: var(--sms-primary-soft); }


.report-scroll-box {
    max-height: 340px;
    overflow-y: auto;
}
.report-table thead th {
    position: sticky;
    top: 0;
    z-index: 1;
}


.class-color-0 { background-color: #2f6fa8 !important; color: #fff !important; }
.class-color-1 { background-color: #1f8a5f !important; color: #fff !important; }
.class-color-2 { background-color: #b8790f !important; color: #fff !important; }
.class-color-3 { background-color: #8a3fc9 !important; color: #fff !important; }
.class-color-4 { background-color: #c0392b !important; color: #fff !important; }
.class-color-5 { background-color: #0f9aa0 !important; color: #fff !important; }
.class-color-6 { background-color: #b5457a !important; color: #fff !important; }
.class-color-7 { background-color: #6b7f1f !important; color: #fff !important; }
.class-color-8 { background-color: #4a5fc1 !important; color: #fff !important; }
.class-color-9 { background-color: #a05a2c !important; color: #fff !important; }


.sms-navbar .container-fluid {
    min-height: 0 !important;
    display: flex;
    align-items: center;
}
.sms-navbar .navbar-collapse {
    display: flex;
    align-items: center;
    flex-grow: 1;
}
.sms-navbar .sms-main-nav {
    margin-right: 0 !important;
    margin-left: auto !important;
    flex-direction: row;
}
.sms-navbar .sms-account-nav {
    margin-right: auto !important;
    margin-left: 0 !important;
    flex-direction: row;
}
.sms-navbar .navbar-brand {
    margin-left: 1rem;
    margin-right: 0;
}
.sms-navbar .nav-item {
    display: flex;
    align-items: center;
}
.container, .container-fluid { min-height: 0; }


.app-footer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    width: 100%;
    margin-top: auto;
    flex: 0 0 auto;
    padding: .75rem 1rem 1rem;
    border-top: 1px solid var(--sms-border);
    color: var(--sms-text-muted);
    text-align: center;
    font-size: .76rem;
    line-height: 1.5;
}
.app-footer-separator { opacity: .55; }
@media print { .app-footer { display:none !important; } }


.sms-navbar .container-fluid { direction: rtl; }
.sms-navbar .navbar-collapse {
    direction: rtl;
    justify-content: flex-start;
}
.sms-navbar .sms-main-nav { margin-right: 0 !important; margin-left: 0 !important; }
.sms-navbar .sms-account-nav { margin-right: auto !important; margin-left: 0 !important; }
@media (max-width: 991.98px) {
    .sms-navbar .sms-account-nav { margin-right: 0 !important; }
    .sms-navbar .nav-hover > .dropdown-menu {
        position: static;
        box-shadow: none;
        margin: 0.25rem 0;
    }
}


.student-search-card .form-select,
#f-year, #f-level, #f-type, #f-course, #f-teacher, #f-class {
    min-width: 120px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.student-search-card .form-select-sm { padding-left: 1.9rem; }


.year-operations-filter .form-select { min-width: 145px; }

@media (max-width: 991.98px) {
    body { min-height: 100vh; }
    .sms-navbar .nav-hover > .dropdown-menu { width: 100%; }
}


.form-select, select.form-control {
    background-position: left .65rem center !important;
    padding-right: .75rem;
    padding-left: 2rem;
    white-space: nowrap;
}
.year-operations-filter .form-select { min-width: 145px; }


body > .app-footer { margin-top: auto !important; }

.student-search-card { margin-bottom: 1rem; }
.student-search-card .form-select { min-width: 0; }


.year-operations-filters-card .filter-box {
    height: 100%;
    padding: 0.75rem;
    border: 1px solid var(--sms-border);
    border-radius: var(--sms-radius-sm);
    background: var(--sms-bg);
}
.year-operations-filters-card .filter-box .form-label { margin-bottom: 0.4rem; }
.year-operations-filters-card .form-select { background-color: var(--sms-surface); }
.year-operations-filters-card #matchingClassesTable tbody tr:hover { background: var(--sms-primary-light); }
.year-operations-filters-card #matchingClassesCount { font-weight: 600; color: var(--sms-primary-dark); }


@media print {
    @page { size: A4 landscape; margin: 9mm; }

    html, body {
        background: #fff !important;
        color: #111 !important;
        min-height: auto !important;
    }

    body > nav,
    body > footer,
    .sms-navbar,
    .no-print,
    form,
    .btn,
    button,
    .dropdown,
    .modal,
    .jalali-picker-popup {
        display: none !important;
    }

    body > .container,
    body > .container-fluid,
    .container,
    .container-fluid {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .report-scroll-box {
        max-height: none !important;
        overflow: visible !important;
    }
    .row.text-center.mb-3.g-3 {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .row.text-center.mb-3.g-3 > [class*="col-"] {
        width: auto !important;
        max-width: none !important;
    }


    .card,
    .kpi-card {
        box-shadow: none !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .table-responsive {
        overflow: visible !important;
    }

    table {
        width: 100% !important;
        border-collapse: collapse !important;
    }

    thead {
        display: table-header-group;
    }

    tfoot {
        display: table-footer-group;
    }

    tr {
        break-inside: avoid;
        page-break-inside: avoid;
    }


    table {
        break-inside: auto;
        page-break-inside: auto;
    }
    table thead {
        display: table-header-group;
    }
    table tfoot {
        display: table-footer-group;
    }

    th, td {
        border-color: #777 !important;
    }

    .collapse {
        display: block !important;
        height: auto !important;
    }

    a {
        color: #111 !important;
        text-decoration: none !important;
    }

    h1, h2, h3, h4, h5, h6 {
        break-after: avoid;
    }
}


.report-filter-card { margin-bottom:1.5rem !important; }
.report-filter-card .card-body { padding:1.25rem 1.3rem; }
.report-filter-grid { display:grid; grid-template-columns:minmax(250px,1.55fr) repeat(4,minmax(135px,1fr)); gap:1rem 1.15rem; align-items:end; }
.report-filter-actions { grid-column:1 / -1; display:flex; justify-content:flex-start; gap:.55rem; padding-top:.85rem; margin-top:.15rem; border-top:1px solid var(--sms-border); }
.report-student-card { margin-bottom:1.35rem !important; }
.report-student-card .card-header { padding:.85rem 1rem; background:var(--sms-bg); }
.report-student-card .table td,.report-student-card .table th { padding:.72rem .62rem; line-height:1.7; }
.report-student-card .table td:last-child,.report-student-card .table td:nth-last-child(2) { background:var(--sms-bg); }
.report-student-card .finance-status { display:inline-block; margin-inline-start:.35rem; padding:.05rem .35rem; border-radius:4px; background:var(--sms-primary-light); }
.finance-status { font-size:.72rem; font-weight:600; }
.finance-status-paid { color:var(--sms-success); }
.finance-status-due { color:var(--sms-danger); }
.year-operations-stack { display:flex; flex-direction:column; gap:1.5rem; }
.class-action-panel { display:flex; flex-wrap:wrap; gap:.6rem; align-items:center; justify-content:flex-end; margin-top:.85rem; }
.operations-table th,.operations-table td { padding:.75rem .8rem; }
.override-list { display:flex; flex-direction:column; gap:.55rem; }
.override-item { padding:.65rem .75rem; background:var(--sms-bg); border:1px solid var(--sms-border); border-radius:7px; }
.roster-filter-line { display:flex; gap:1rem; align-items:flex-end; }
.roster-filter-actions { display:flex; justify-content:flex-start; align-items:center; gap:.65rem; margin-top:1rem; padding-top:1rem; border-top:1px solid var(--sms-border); }
.filter-help { color:var(--sms-text-muted); font-size:.78rem; line-height:1.8; }
.operations-roster-table td { padding:.85rem .7rem; }
.roster-actions { display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; }
@media (max-width:900px) { .roster-filter-line,.report-filter-grid { display:flex; flex-direction:column; align-items:stretch; } .report-filter-actions { flex-direction:row; flex-wrap:wrap; } }
.debtors-filter-grid { grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto; }
.finance-line { display:block; padding:.2rem 0; line-height:1.7; }
.btn-warning { background:var(--sms-warning); border-color:var(--sms-warning); color:#fff; }
.btn-outline-warning { color:var(--sms-warning); border-color:var(--sms-border-strong); }
.btn-info { background:var(--sms-info); border-color:var(--sms-info); color:#fff; }
.btn-outline-info { color:var(--sms-info); border-color:var(--sms-border-strong); }


.year-operations-tabs { margin-bottom: 0; border-bottom: 1px solid var(--sms-border); gap: .35rem; }
.year-operations-tabs .nav-link { color: var(--sms-text-muted); background: var(--sms-bg); border: 1px solid transparent; border-bottom: 0; border-radius: 8px 8px 0 0; padding: .7rem 1.15rem; font-weight: 600; }
.year-operations-tabs .nav-link:hover { color: var(--sms-primary-dark); background: var(--sms-primary-light); }
.year-operations-tabs .nav-link.active { color: var(--sms-primary-dark); background: var(--sms-surface); border-color: var(--sms-border); border-bottom-color: var(--sms-surface); }
.year-operations-tab-content { background: var(--sms-surface); border: 1px solid var(--sms-border); border-top: 0; border-radius: 0 0 var(--sms-radius) var(--sms-radius); padding: 1.15rem; }
.year-operations-tab-content .operations-section { margin-bottom: 1.2rem !important; }
.year-operations-tab-content .operations-section:last-child { margin-bottom: 0 !important; }
.form-control.is-invalid, .form-select.is-invalid { border-color: #b77b78; background-image: none; }


.sms-validation-feedback {
    display: none;
    width: 100%;
    margin-top: .3rem;
    font-size: .82rem;
    line-height: 1.6;
    color: #b42318;
}
.form-control.is-invalid, .form-select.is-invalid {
    border-color: #b42318 !important;
    box-shadow: 0 0 0 .12rem rgba(180,35,24,.08);
    background-image: none !important;
}
button:disabled, input[type="submit"]:disabled {
    cursor: not-allowed !important;
    opacity: .55;
}


.theme-picker-popup {
    width: 300px;
    max-width: calc(100vw - 20px);
    left: 0 !important;
    right: auto !important;
    padding: 12px;
}
.theme-picker-title {
    font-size: 0.76rem;
    font-weight: 700;
    color: var(--sms-text-muted);
    margin-bottom: 8px;
    padding: 0 2px;
}
.theme-picker-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}
.theme-swatch {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    border: 1px solid var(--sms-border);
    background: var(--sms-surface);
    border-radius: var(--sms-radius-sm);
    padding: 8px 4px;
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease;
}
.theme-swatch:hover { border-color: var(--sms-primary); background: var(--sms-primary-light); }
.theme-swatch.active { border-color: var(--sms-primary); background: var(--sms-primary-light); box-shadow: 0 0 0 1px var(--sms-primary); }
.theme-swatch-dot {
    width: 22px; height: 22px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,0.6);
    box-shadow: 0 0 0 1px var(--sms-border-strong);
}
.theme-swatch-label { font-size: 0.68rem; font-weight: 600; color: var(--sms-text); }
.theme-swatch[data-theme-value="green"] .theme-swatch-dot { background: #2f6e52; }
.theme-swatch[data-theme-value="steel-blue"] .theme-swatch-dot { background: #2c5282; }
.theme-swatch[data-theme-value="navy-gold"] .theme-swatch-dot { background: linear-gradient(135deg, #1e3a5f 50%, #a9822c 50%); }
.theme-swatch[data-theme-value="teal"] .theme-swatch-dot { background: #0f766e; }
.theme-swatch[data-theme-value="indigo"] .theme-swatch-dot { background: #5b4f96; }
.theme-swatch[data-theme-value="charcoal-burgundy"] .theme-swatch-dot { background: linear-gradient(135deg, #34313a 50%, #7a2e3f 50%); }
.theme-swatch[data-theme-value="slate-graphite"] .theme-swatch-dot { background: #4b5563; }
.theme-swatch[data-theme-value="bronze"] .theme-swatch-dot { background: #8a5a2b; }
.theme-swatch[data-theme-value="petrol"] .theme-swatch-dot { background: #123a3d; }
.theme-swatch[data-theme-value="olive"] .theme-swatch-dot { background: #5c6a3a; }


html[data-theme="dusty-rose"] { --sms-primary:#9b4d5c;--sms-primary-dark:#7f3f4c;--sms-primary-light:#f6e9ec;--sms-primary-soft:#e7cdd3;--sms-accent:#b86b78;--sms-accent-light:#f5eaed;--sms-charcoal:#4b3a3e;--sms-charcoal-dark:#35282b;--sms-bg:#f8f6f6;--sms-surface:#fff;--sms-border:#ded3d6;--sms-border-strong:#c9b8bd;--sms-text:#2f2a2c;--sms-text-muted:#75676b; }
html[data-theme="deep-red"] { --sms-primary:#8f2f3a;--sms-primary-dark:#732631;--sms-primary-light:#f5e7e9;--sms-primary-soft:#e8c9cd;--sms-accent:#a94b55;--sms-accent-light:#f6e9eb;--sms-charcoal:#453538;--sms-charcoal-dark:#302426;--sms-bg:#f7f7f7;--sms-surface:#fff;--sms-border:#d9d5d6;--sms-border-strong:#c5bec0;--sms-text:#292727;--sms-text-muted:#70696b; }
html[data-theme="red-sand"] { --sms-primary:#8f4a42;--sms-primary-dark:#733b35;--sms-primary-light:#f5ece9;--sms-primary-soft:#e6d0ca;--sms-accent:#a7655a;--sms-accent-light:#f5ece9;--sms-charcoal:#493733;--sms-charcoal-dark:#332622;--sms-bg:#f8f6f3;--sms-surface:#fff;--sms-border:#ddd4cf;--sms-border-strong:#c9bdb7;--sms-text:#302b29;--sms-text-muted:#746864; }
.theme-swatch[data-theme-value="dusty-rose"] .theme-swatch-dot { background:#9b4d5c; }
.theme-swatch[data-theme-value="deep-red"] .theme-swatch-dot { background:#8f2f3a; }
.theme-swatch[data-theme-value="red-sand"] .theme-swatch-dot { background:#8f4a42; }


.sort-modern-field {
    flex: 1 1 0;
    min-width: 0;
}
.sort-modern-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .65rem;
}
.sort-modern-help {
    color: var(--sms-text-muted);
    font-size: .78rem;
    line-height: 1.7;
}
.sort-priority-hint {
    flex: 0 0 auto;
    padding: .28rem .65rem;
    border-radius: 999px;
    background: var(--sms-primary-light);
    color: var(--sms-primary-dark);
    font-size: .72rem;
    font-weight: 700;
    white-space: nowrap;
}
.sort-criteria {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .55rem;
}
.sort-criterion {
    min-height: 48px;
    display: flex;
    align-items: center;
    gap: .55rem;
    width: 100%;
    padding: .55rem .7rem;
    border: 1px solid var(--sms-border);
    border-radius: 12px;
    background: var(--sms-surface);
    color: var(--sms-text);
    font: inherit;
    font-size: .86rem;
    cursor: pointer;
    transition: border-color .16s ease, background .16s ease, transform .16s ease, box-shadow .16s ease;
}
.sort-criterion:hover {
    border-color: var(--sms-primary);
    transform: translateY(-1px);
    box-shadow: 0 3px 10px rgba(0,0,0,.05);
}
.sort-criterion.is-selected {
    border-color: var(--sms-primary);
    background: var(--sms-primary-light);
    color: var(--sms-primary-dark);
    font-weight: 700;
}
.sort-criterion-icon {
    width: 25px;
    height: 25px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 25px;
    border-radius: 50%;
    background: #f1f2f4;
    color: #777;
    font-size: .76rem;
    font-weight: 800;
}
.sort-criterion.is-selected .sort-criterion-icon {
    background: var(--sms-primary);
    color: #fff;
}
.sort-check {
    margin-right: auto;
    opacity: 0;
    font-weight: 900;
}
.sort-criterion.is-selected .sort-check { opacity: 1; }
.sort-order-panel {
    margin-top: .7rem;
    padding: .7rem;
    border: 1px solid var(--sms-border);
    border-radius: 12px;
    background: #fbfbfc;
}
.sort-order-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: .45rem;
    font-size: .78rem;
    font-weight: 800;
}
.sort-order-caption {
    color: var(--sms-text-muted);
    font-weight: 500;
}
.sort-order-list { display: grid; gap: .4rem; }
.sort-order-item {
    display: flex;
    align-items: center;
    gap: .55rem;
    min-height: 38px;
    padding: .3rem .45rem;
    background: #fff;
    border: 1px solid #e2e3e6;
    border-radius: 9px;
}
.sort-order-number {
    width: 25px;
    height: 25px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--sms-primary);
    color: #fff;
    font-size: .72rem;
    font-weight: 800;
}
.sort-order-label { flex: 1; font-size: .82rem; font-weight: 700; }
.sort-order-actions { display: flex; gap: .2rem; }
.sort-move, .sort-remove {
    width: 28px;
    height: 28px;
    border: 1px solid #ddd;
    border-radius: 7px;
    background: #fff;
    color: #555;
    cursor: pointer;
    line-height: 1;
}
.sort-move:hover:not(:disabled), .sort-remove:hover { border-color: var(--sms-primary); color: var(--sms-primary-dark); }
.sort-move:disabled { opacity: .35; cursor: default; }
.sort-remove { color: #9c3f3f; }
.sort-empty-state {
    padding: .45rem .2rem .1rem;
    color: var(--sms-text-muted);
    font-size: .76rem;
}
@media (max-width: 1100px) {
    .sort-criteria { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
    .sort-modern-head { align-items: flex-start; flex-direction: column; gap: .45rem; }
    .sort-criteria { grid-template-columns: 1fr; }
    .sort-order-caption { display: none; }
}


@media print {
    .output-brand {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        margin: 0 auto 3px !important;
        padding: 0 0 2px !important;
        border-bottom: 1px solid #d7d7d7 !important;
    }
    .output-brand img {
        width: 30px !important;
        height: 30px !important;
        max-width: 30px !important;
        max-height: 30px !important;
        object-fit: contain !important;
    }
    .output-brand-name {
        font-size: 12px !important;
        line-height: 1.1 !important;
        font-weight: 700 !important;
        color: #222 !important;
    }
    .output-brand-sub { display: none !important; }
}


.compact-report-filters {
    font-size: .78rem;
}
.compact-report-filters .card-body {
    padding: .7rem .85rem;
}
.compact-report-filters .row {
    --bs-gutter-x: .55rem;
    --bs-gutter-y: .45rem;
}
.compact-report-filters .form-label {
    font-size: .68rem;
    margin-bottom: .18rem;
    line-height: 1.25;
}
.compact-report-filters .form-control,
.compact-report-filters .form-select,
.compact-report-filters .form-control-sm,
.compact-report-filters .form-select-sm {
    min-height: 31px;
    height: 31px;
    padding: .25rem .5rem;
    font-size: .74rem;
    line-height: 1.25;
}
.compact-report-filters .form-check-label {
    font-size: .72rem;
}
.compact-report-filters .form-check {
    margin-bottom: .15rem;
}
.compact-report-filters .btn {
    font-size: .72rem;
    padding: .28rem .6rem;
}


@media print {
    .print-page > h1,
    .print-page > h2,
    .print-page > h3,
    body > h1,
    body > h2,
    body > h3,
    body > .container > .d-flex > h1,
    body > .container > .d-flex > h2,
    body > .container > .d-flex > h3,
    body > .container-fluid > .d-flex > h1,
    body > .container-fluid > .d-flex > h2,
    body > .container-fluid > .d-flex > h3 {
        display: none !important;
    }
}


.print-output-brand { display:none; }
@media screen {
    body > .toolbar,
    .toolbar {
        direction: rtl;
    }
    .toolbar .print-size-select {
        min-width: 145px;
    }
}

@media screen {
    .debtors-filter-grid { grid-template-columns:repeat(7,minmax(105px,1fr)) auto; gap:.45rem; }
    .report-filter-card .card-body { padding:.6rem; }
    .report-filter-grid .form-label { font-size:.68rem; margin-bottom:.14rem; }
    .report-filter-grid .form-select { min-height:30px; font-size:.72rem; padding:.24rem .48rem .24rem 1.7rem; background-position:left .48rem center; }
    .report-filter-actions { display:flex; gap:.3rem; white-space:nowrap; }
    .payroll-filter-card { max-width:580px; }
    .payroll-filter-card .card-body { padding:.55rem .65rem; }
    .payroll-filter-line { display:grid; grid-template-columns:155px 155px auto; gap:.45rem; align-items:end; }
    .payroll-filter-line label { font-size:.7rem; margin:0; }
    .payroll-filter-line .form-control,.payroll-filter-line .form-select { margin-top:.14rem; }
    .compact-report-filters { display:flex; align-items:center; flex-wrap:wrap; }
    .compact-report-filters .form-select { min-width:180px; padding-left:2rem; background-position:left .55rem center; }
    .analytics-grid { display:grid; grid-template-columns:.9fr 1.25fr 1.1fr; gap:.65rem; }
    .analytics-card { min-height:220px; overflow:hidden; }
    .analytics-card .card-header { display:flex; justify-content:space-between; gap:.5rem; align-items:center; }
    .analytics-card .card-header small { color:var(--sms-text-muted); font-size:.66rem; }
    .analytics-donut-wrap { display:flex; align-items:center; justify-content:center; gap:1rem; }
    .analytics-donut { --rate:0%; width:124px; height:124px; border-radius:50%; background:conic-gradient(var(--sms-primary) clamp(0%,var(--rate),100%),#e7ebf0 0); position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; flex:none; }
    .analytics-donut:before { content:""; position:absolute; inset:15px; border-radius:50%; background:var(--sms-surface); }
    .analytics-donut strong,.analytics-donut span { position:relative; z-index:1; }.analytics-donut strong{font-size:1.25rem}.analytics-donut span{font-size:.66rem;color:var(--sms-text-muted)}
    .chart-legend { display:grid; grid-template-columns:auto auto; gap:.45rem .6rem; align-items:center; font-size:.7rem; }.chart-legend b{font-size:.7rem}.legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:.28rem}.legend-dot.collected{background:var(--sms-primary)}.legend-dot.outstanding{background:#e7ebf0}
    .mini-bars { display:grid; gap:.48rem; }.mini-bar-label{display:flex;justify-content:space-between;font-size:.68rem}.mini-bar-track{height:7px;background:var(--sms-bg);border-radius:10px;overflow:hidden}.mini-bar-track span{display:block;height:100%;background:linear-gradient(90deg,var(--sms-primary),var(--sms-primary-dark));border-radius:inherit}
    .salary-chart{display:grid;gap:.75rem}.salary-chart>div{display:grid;grid-template-columns:58px 1fr 82px;gap:.5rem;align-items:center;font-size:.68rem}.salary-chart>div>div{height:12px;background:var(--sms-bg);border-radius:8px;overflow:hidden}.salary-chart i{display:block;height:100%;background:var(--sms-primary);border-radius:inherit}.salary-chart b{text-align:left;font-size:.67rem}
    .operator-switch { border:0;background:transparent;text-align:right!important;line-height:1.15!important; }.operator-switch small{display:block;font-size:.58rem;opacity:.75;margin-top:2px}
    .operator-page{min-height:100vh;background:linear-gradient(145deg,var(--sms-bg),var(--sms-primary-light));display:grid;place-items:center}.operator-shell{width:min(620px,calc(100% - 2rem));}.operator-card{background:var(--sms-surface);border:1px solid var(--sms-border);border-radius:18px;padding:1.5rem;box-shadow:0 18px 60px rgba(20,35,55,.12);text-align:center}.operator-card h1{font-size:1.3rem;margin:.6rem 0}.operator-card>p{color:var(--sms-text-muted);font-size:.78rem}.operator-mark{width:48px;height:48px;border-radius:14px;background:var(--sms-primary);color:#fff;display:grid;place-items:center;margin:auto;font-size:1.25rem;font-weight:800}.operator-form{text-align:right}.operator-line{display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:end}.operator-divider{display:flex;align-items:center;gap:.6rem;margin:1rem 0;color:var(--sms-text-muted);font-size:.68rem}.operator-divider:before,.operator-divider:after{content:"";height:1px;background:var(--sms-border);flex:1}
    .audit-page{padding-top:.8rem}.compact-page-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.65rem}.compact-page-head h2{font-size:1.15rem;margin:0 0 .15rem}.compact-page-head p{margin:0;color:var(--sms-text-muted);font-size:.72rem}.retention-badge{font-size:.68rem;background:var(--sms-primary-light);color:var(--sms-primary-dark);padding:.3rem .55rem;border-radius:20px}.audit-filter{display:grid;grid-template-columns:minmax(240px,560px) auto auto;gap:.4rem;margin-bottom:.65rem}.audit-detail{max-width:360px;font-size:.7rem}.audit-pagination{display:flex;justify-content:center;align-items:center;gap:.8rem;margin:.75rem 0;font-size:.72rem}
}
@media (max-width:1100px){.debtors-filter-grid{grid-template-columns:repeat(4,minmax(120px,1fr))}.analytics-grid{grid-template-columns:1fr 1fr}.analytics-card:last-child{grid-column:1/-1}}
@media (max-width:700px){.debtors-filter-grid{display:grid;grid-template-columns:1fr 1fr}.analytics-grid{grid-template-columns:1fr}.analytics-card:last-child{grid-column:auto}.payroll-filter-line,.operator-line,.audit-filter{grid-template-columns:1fr}.payroll-filter-card{max-width:none}}
.operators-modal .modal-content{overflow:hidden;border:1px solid var(--sms-border);background:var(--sms-surface)}
.operators-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem;border-bottom:1px solid var(--sms-border);background:linear-gradient(135deg,color-mix(in srgb,var(--sms-primary) 9%,var(--sms-surface)),var(--sms-surface))}
.operators-modal-heading{display:flex;align-items:center;gap:.75rem}.operators-modal-heading h5{margin:0 0 .22rem;font-size:1.05rem}.operators-modal-heading p{margin:0;color:var(--sms-muted);font-size:.78rem}.operators-modal-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:color-mix(in srgb,var(--sms-primary) 14%,transparent);font-size:1.15rem}
.operators-modal-body{display:grid;gap:1rem;padding:1rem 1.2rem 1.2rem;background:var(--sms-bg)}
.operator-section,.operator-create-card{border:1px solid var(--sms-border);border-radius:12px;background:var(--sms-surface);overflow:hidden}.operator-section-title{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem;border-bottom:1px solid var(--sms-border)}.operator-section-title h6,.operator-create-title h6{margin:0 0 .18rem;font-size:.9rem}.operator-section-title span,.operator-create-title p{margin:0;color:var(--sms-muted);font-size:.73rem}.operator-count{padding:.25rem .6rem;border-radius:999px;background:color-mix(in srgb,var(--sms-primary) 10%,transparent);color:var(--sms-primary)!important;font-weight:700;white-space:nowrap}
.operator-admin-table{margin:0;min-width:780px}.operator-admin-table thead th{padding:.6rem .75rem;background:color-mix(in srgb,var(--sms-bg) 75%,var(--sms-surface));color:var(--sms-muted);font-size:.72rem;font-weight:700;white-space:nowrap}.operator-admin-table td{padding:.65rem .75rem;vertical-align:middle;border-color:var(--sms-border);font-size:.78rem}.operator-person{display:flex;align-items:center;gap:.55rem;white-space:nowrap}.operator-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:color-mix(in srgb,var(--sms-primary) 13%,transparent);color:var(--sms-primary);font-weight:800}.operator-reset-form{display:flex;align-items:center;gap:.4rem;min-width:245px}.operator-reset-form input{width:145px}.operator-reset-form .btn,.operator-admin-actions .btn{white-space:nowrap}.operator-admin-actions,.operator-admin-actions form{display:flex;align-items:center;gap:.35rem}.operator-empty{text-align:center!important;color:var(--sms-muted);padding:1.4rem!important}
.operator-create-card{padding:1rem}.operator-create-title{display:flex;align-items:flex-start;gap:.6rem;margin-bottom:.8rem}.operator-create-title>span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:color-mix(in srgb,var(--sms-primary) 13%,transparent);color:var(--sms-primary);font-weight:800}.operator-create-fields{display:grid;grid-template-columns:minmax(200px,1fr) minmax(200px,1fr) auto;gap:.75rem;align-items:end}.operator-create-fields .form-label{margin-bottom:.3rem;font-size:.76rem;font-weight:700}.operator-create-fields .form-label span{color:var(--bs-danger)}.operator-create-fields .form-control{height:40px}.operator-create-fields .btn{height:40px;padding-inline:1.2rem;white-space:nowrap}
@media(max-width:800px){.operators-modal .modal-dialog{margin:.5rem}.operators-modal-header{padding:.8rem}.operators-modal-heading p{display:none}.operators-modal-body{padding:.75rem}.operator-create-fields{grid-template-columns:1fr}.operator-create-fields .btn{width:100%}}


.users-page{max-width:1680px;margin-inline:auto}.users-page-head,.payroll-page-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.users-page-head h2,.payroll-page-head h2{margin:0 0 .12rem}.users-page-head p,.payroll-page-head p{margin:0;color:var(--sms-text-muted);font-size:.75rem}.users-create-btn{min-width:104px;height:38px}.users-table-card{overflow:visible}.users-table{margin:0;min-width:920px}.users-table thead th{padding:.65rem .7rem;background:color-mix(in srgb,var(--sms-bg) 76%,var(--sms-surface));font-size:.72rem;white-space:nowrap}.users-table td{padding:.68rem .7rem;border-color:var(--sms-border);font-size:.78rem}.users-table th:first-child,.users-table td:first-child{padding-inline-start:1rem}.permissions-summary{position:relative;width:max-content}.permissions-summary summary{min-width:92px;padding:.33rem .58rem;border:1px solid var(--sms-border);border-radius:7px;color:var(--sms-primary-dark);background:var(--sms-primary-light);font-size:.7rem;font-weight:700;text-align:center;cursor:pointer;list-style:none}.permissions-summary summary::-webkit-details-marker{display:none}.permissions-summary summary:after{content:'⌄';margin-inline-start:.35rem}.permissions-summary[open] summary:after{content:'⌃'}.permissions-popover{position:absolute;z-index:20;inset-inline-end:0;top:calc(100% + 5px);display:grid;grid-template-columns:repeat(2,minmax(145px,1fr));gap:.3rem;width:360px;max-height:240px;overflow:auto;padding:.65rem;border:1px solid var(--sms-border);border-radius:10px;background:var(--sms-surface);box-shadow:var(--sms-shadow-lg)}.permissions-popover span{padding:.35rem .45rem;border-radius:6px;background:var(--sms-bg);color:var(--sms-text);font-size:.67rem}.user-row-actions{display:flex;align-items:center;gap:.35rem;white-space:nowrap}.user-row-actions form{margin:0}.user-row-actions .btn{width:94px;height:34px;display:inline-flex;align-items:center;justify-content:center;padding:.3rem .45rem;font-size:.7rem}


.payroll-page{max-width:1780px;margin-inline:auto}.payroll-toolbar{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:.75rem;padding:.7rem .8rem;border:1px solid var(--sms-border);border-radius:11px;background:var(--sms-surface);box-shadow:var(--sms-shadow-sm)}.payroll-filter-line{display:grid;grid-template-columns:150px 135px 130px;align-items:end;gap:.5rem}.payroll-filter-line label>span{display:block;margin-bottom:.2rem;color:var(--sms-text-muted);font-size:.68rem;font-weight:700}.payroll-filter-line .form-control,.payroll-filter-line .form-select,.payroll-filter-line .btn,.payroll-export-actions .btn{height:36px;font-size:.73rem}.payroll-export-actions{display:flex;align-items:center;gap:.4rem}.payroll-export-actions .btn{display:inline-flex;align-items:center;justify-content:center;min-width:118px;padding:.35rem .65rem}.payroll-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-bottom:.75rem}.payroll-kpis article{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;min-height:82px;padding:.75rem 1rem;border:1px solid var(--sms-border);border-radius:11px;background:var(--sms-surface);box-shadow:var(--sms-shadow-sm);overflow:hidden}.payroll-kpis article:before{content:'';position:absolute;inset-block:0;inset-inline-start:0;width:4px;background:var(--sms-primary)}.payroll-kpis span{grid-column:1/-1;color:var(--sms-text-muted);font-size:.7rem}.payroll-kpis strong{font-size:1.18rem;font-weight:700;color:var(--sms-text);direction:ltr;text-align:right}.payroll-kpis small{align-self:end;margin-inline-start:.25rem;color:var(--sms-text-muted);font-size:.65rem}.payroll-kpis .payroll-kpi-net:before{background:var(--sms-success)}.payroll-kpis .payroll-kpi-net strong{color:var(--sms-success)}.payroll-list-card{overflow:hidden}.payroll-list-head{display:flex;align-items:center;justify-content:space-between;padding:.7rem .85rem;border-bottom:1px solid var(--sms-border)}.payroll-list-head h6{margin:0 0 .12rem}.payroll-list-head p{margin:0;color:var(--sms-text-muted);font-size:.67rem}.payroll-list-head>span{padding:.25rem .55rem;border-radius:999px;color:var(--sms-primary-dark);background:var(--sms-primary-light);font-size:.67rem;font-weight:700}.payroll-table{min-width:1180px;margin:0}.payroll-table thead th{padding:.58rem .55rem;background:color-mix(in srgb,var(--sms-bg) 75%,var(--sms-surface));font-size:.69rem;white-space:nowrap}.payroll-table td{padding:.62rem .55rem;border-color:var(--sms-border);font-size:.73rem}.payroll-person{display:flex;align-items:center;gap:.5rem;min-width:150px}.payroll-person>span{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:8px;background:var(--sms-primary-light);color:var(--sms-primary-dark);font-weight:800}.payroll-person div{display:flex;flex-direction:column}.payroll-person strong{font-size:.75rem}.payroll-person small{color:var(--sms-text-muted);font-size:.62rem;direction:ltr;text-align:right}.payroll-money,.payroll-net{direction:ltr;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.payroll-net{color:var(--sms-success)!important;font-weight:800}.payroll-empty{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1.6rem;color:var(--sms-text-muted)}.payroll-empty strong{color:var(--sms-text);font-size:.85rem}.payroll-empty span,.payroll-empty a{font-size:.7rem}.payroll-empty a{margin-top:.25rem;padding:.3rem .65rem;border-radius:7px;background:var(--sms-primary-light);font-weight:700}
@media(max-width:950px){.payroll-toolbar{align-items:stretch;flex-direction:column}.payroll-export-actions{width:100%}.payroll-export-actions .btn{flex:1}.user-row-actions .btn{width:auto}.permissions-popover{inset-inline-end:auto;inset-inline-start:0}}
@media(max-width:650px){.users-page-head,.payroll-page-head{align-items:stretch;flex-direction:column}.users-create-btn,.payroll-page-head .btn{width:100%}.payroll-filter-line{grid-template-columns:1fr 1fr}.payroll-filter-line .btn{grid-column:1/-1}.payroll-export-actions{display:grid;grid-template-columns:1fr}.payroll-kpis{grid-template-columns:1fr}.permissions-popover{width:min(330px,80vw);grid-template-columns:1fr}}

@media print{h1,h2,h3,h4,h5,h6{font-family:'Noto Sans Arabic',Tahoma,sans-serif!important;font-weight:700!important;line-height:1.4!important}h1{font-size:16pt!important}h2{font-size:14pt!important}h3{font-size:12pt!important}}
.report-tabbed-area{margin-bottom:1rem;border:1px solid var(--sms-border);border-radius:12px;background:var(--sms-surface);overflow:hidden}.report-tabs{display:flex;gap:.2rem;padding:.45rem .6rem 0;border-bottom:1px solid var(--sms-border);overflow-x:auto}.report-tabs button{flex:none;padding:.55rem .85rem;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--sms-text-muted);font-size:.72rem}.report-tabs button.active{color:var(--sms-primary);border-bottom-color:var(--sms-primary);font-weight:700}.report-tab-panels .card{border:0!important;border-radius:0!important;box-shadow:none!important;margin:0!important}.report-tab-panels .card-header{background:color-mix(in srgb,var(--sms-bg) 65%,var(--sms-surface));font-size:.8rem}.report-tab-panels .report-scroll-box,.report-tab-panels .card-body[style]{max-height:430px!important}
.audit-redesign{max-width:1500px;margin-inline:auto}.audit-page-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.7rem}.audit-page-head h2{margin:0 0 .2rem;font-size:1.25rem}.audit-page-head p{margin:0;color:var(--sms-text-muted);font-size:.76rem}.audit-search-bar{display:grid;grid-template-columns:minmax(280px,1fr) auto auto;align-items:end;gap:.45rem;padding:.6rem;margin-bottom:.65rem;border:1px solid var(--sms-border);border-radius:10px;background:var(--sms-surface)}.audit-search-bar label>span{display:block;margin-bottom:.2rem;font-size:.7rem;font-weight:700;color:var(--sms-text-muted)}.audit-list{display:grid;gap:.5rem}.audit-entry{overflow:hidden;border:1px solid var(--sms-border);border-radius:10px;background:var(--sms-surface);box-shadow:0 2px 8px rgba(24,39,55,.035)}.audit-entry-main{display:grid;grid-template-columns:minmax(170px,1.15fr) minmax(90px,.6fr) minmax(140px,.85fr) minmax(170px,1fr) minmax(135px,.8fr) auto;align-items:center;gap:.65rem;padding:.65rem .75rem}.audit-person{display:flex;align-items:center;gap:.55rem;min-width:0}.audit-avatar{width:34px;height:34px;display:grid;place-items:center;flex:none;border-radius:9px;color:#fff;background:var(--sms-primary);font-weight:800}.audit-person div,.audit-cell{display:flex;flex-direction:column;min-width:0}.audit-person strong,.audit-cell strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem}.audit-person small,.audit-cell span{order:-1;margin-bottom:.1rem;color:var(--sms-text-muted);font-size:.62rem}.audit-result{justify-self:end}.audit-entry-details{border-top:1px solid var(--sms-border);background:color-mix(in srgb,var(--sms-bg) 70%,var(--sms-surface))}.audit-entry-details summary{width:max-content;padding:.38rem .75rem;color:var(--sms-primary-dark);font-size:.68rem;font-weight:700;cursor:pointer}.audit-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;padding:.2rem .75rem .65rem}.audit-detail-grid>div{display:flex;flex-direction:column;gap:.12rem;padding:.42rem .5rem;border:1px solid var(--sms-border);border-radius:7px;background:var(--sms-surface)}.audit-detail-grid span{color:var(--sms-text-muted);font-size:.61rem}.audit-detail-grid strong{font-size:.72rem;overflow-wrap:anywhere}.audit-no-detail{margin:0;padding:.2rem .75rem .55rem;color:var(--sms-text-muted);font-size:.68rem}.audit-technical{display:flex;flex-wrap:wrap;gap:1rem;padding:.4rem .75rem;border-top:1px dashed var(--sms-border);color:var(--sms-text-muted);font-size:.61rem}.audit-empty{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:2rem;border:1px dashed var(--sms-border-strong);border-radius:10px;color:var(--sms-text-muted);background:var(--sms-surface)}.audit-empty strong{color:var(--sms-text);font-size:.9rem}
@media(max-width:1100px){.audit-entry-main{grid-template-columns:1.2fr .7fr 1fr 1fr}.audit-entry-main .audit-cell:nth-of-type(5){grid-column:3}.audit-result{grid-column:4;grid-row:2}.audit-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.theme-picker-popup{position:fixed!important;left:10px!important;right:10px!important;top:58px!important;width:auto!important;max-height:calc(100vh - 72px);overflow:auto}.theme-picker-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.audit-page-head{align-items:flex-start;flex-direction:column}.audit-search-bar{grid-template-columns:1fr 1fr}.audit-search-bar label{grid-column:1/-1}.audit-entry-main{grid-template-columns:1fr 1fr}.audit-person{grid-column:1/-1}.audit-result{grid-column:2;grid-row:auto}.audit-detail-grid{grid-template-columns:1fr}}
.payroll-section-title{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.payroll-section-title small{color:var(--sms-text-muted);font-size:.66rem;font-weight:500}.tax-bracket-editor{display:grid;gap:.38rem;margin-bottom:.35rem;padding:.5rem;border:1px solid var(--sms-border);border-radius:8px;background:var(--sms-bg)}.tax-bracket-head,.tax-bracket-row{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(130px,.7fr) 85px 48px;gap:.4rem;align-items:center}.tax-bracket-head{padding-inline:.25rem;color:var(--sms-text-muted);font-size:.64rem;font-weight:700}.tax-bracket-row .input-group-text{font-size:.65rem}.tax-unlimited{display:flex;align-items:center;gap:.25rem;font-size:.68rem;white-space:nowrap}@media(max-width:700px){.payroll-section-title{align-items:flex-start;flex-direction:column}.tax-bracket-head{display:none}.tax-bracket-row{grid-template-columns:1fr 1fr}.tax-unlimited{grid-column:1}.tax-bracket-row .bracket-remove{grid-column:2}}
@media screen {

    body > .toolbar {
        display:flex;
        align-items:center;
        justify-content:center;
        flex-wrap:wrap;
        gap:10px;
        padding:12px 16px;
        margin:0 0 16px;
        background:#fff;
        border-bottom:1px solid #e2e3e6;
        box-shadow:0 2px 8px rgba(0,0,0,.04);
    }
    body > .toolbar button,
    body > .toolbar .btn {
        min-height:40px;
        padding:.5rem .9rem;
        border-radius:9px;
        font-family:NotoLocal,Tahoma,sans-serif;
        font-size:.88rem;
        font-weight:700;
    }
    body > .toolbar .print-size-select,
    body > .toolbar select {
        min-height:40px;
        min-width:150px;
        padding:.45rem 2rem .45rem .75rem;
        border:1px solid #d5d7db;
        border-radius:9px;
        background:#fff;
        font-family:NotoLocal,Tahoma,sans-serif;
        font-size:.84rem;
    }
}
@media print {
    .print-output-brand {
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        gap:12px !important;
        padding:0 0 10px !important;
        margin:0 auto 14px !important;
        border-bottom:1px solid #d7d7d7 !important;
        font-family:NotoLocal,Tahoma,sans-serif !important;
        font-size:22px !important;
        line-height:1.35 !important;
        font-weight:800 !important;
        color:#222 !important;
    }
    .print-output-brand img {
        width:58px !important;
        height:58px !important;
        max-width:58px !important;
        max-height:58px !important;
        object-fit:contain !important;
    }
}


@media screen {
    body { font-size:.86rem; line-height:1.55; }
    body > .container, body > .container-fluid, main.container, main.container-fluid {
        padding-top:.8rem !important; padding-bottom:.8rem !important;
    }
    .container-fluid { padding-inline:clamp(.75rem,1.5vw,1.4rem); }
    .row { --bs-gutter-x:.8rem; --bs-gutter-y:.65rem; }
    .py-4{padding-block:.85rem!important}.py-3{padding-block:.65rem!important}
    .p-4{padding:.9rem!important}.p-3{padding:.7rem!important}
    .mb-4{margin-bottom:.9rem!important}.mb-3{margin-bottom:.65rem!important}
    .mt-4{margin-top:.9rem!important}.mt-3{margin-top:.65rem!important}
    .sms-navbar{min-height:50px;padding:.3rem .75rem}.sms-navbar .container-fluid{min-height:42px!important}
    .sms-navbar .navbar-brand{font-size:.94rem;gap:7px;margin-left:.7rem}.sms-navbar .navbar-brand .brand-icon{width:27px;height:27px;border-radius:7px}
    .sms-navbar .nav-link{padding:.34rem .58rem!important;font-size:.8rem;gap:5px}.sms-navbar .dropdown-item{padding:.4rem .65rem;font-size:.8rem}
    .card-header{padding:.55rem .75rem;font-size:.86rem}.card-body{padding:.72rem}.card-footer{padding:.55rem .72rem}
    .kpi-card{padding:.72rem .8rem}.kpi-value{font-size:1.25rem}.quick-link-card{gap:9px;padding:.7rem .75rem}.quick-link-icon{width:34px;height:34px}
    .table{font-size:.8rem;margin-bottom:.65rem}.table thead th{padding:.4rem .48rem;font-size:.71rem}.table td,.table th{padding:.4rem .48rem;line-height:1.45}
    .btn{font-size:.78rem;padding:.34rem .7rem}.btn-sm{padding:.25rem .5rem;font-size:.72rem}
    .form-control,.form-select{min-height:34px;padding:.35rem .62rem;font-size:.8rem;background-color:var(--sms-surface);color:var(--sms-text)}
    textarea.form-control{min-height:70px}.form-control-sm,.form-select-sm{min-height:30px;padding-block:.25rem}.form-label{font-size:.74rem;margin-bottom:.22rem}
    .modal-header{padding:.65rem .85rem}.modal-body{padding:.75rem .85rem}.modal-footer{padding:.55rem .85rem}.alert{padding:.55rem .75rem;margin-bottom:.65rem;font-size:.8rem}
    .nav-tabs .nav-link{padding:.42rem .72rem;font-size:.79rem}.accordion-button{padding:.6rem .75rem;font-size:.82rem}.accordion-body{padding:.7rem .75rem}.list-group-item{padding:.48rem .65rem}
    .calendar-table td{height:72px;padding:.3rem!important}.report-scroll-box{max-height:280px}.year-operations-filters-card .filter-box{padding:.5rem}.app-footer{padding:.45rem .75rem .6rem}
    .card,.modal-content,.dropdown-menu,.list-group-item,.accordion-item,.accordion-button,.offcanvas{background-color:var(--sms-surface);color:var(--sms-text);border-color:var(--sms-border)}
    .table-light,.table-light>th,.table-light>td{--bs-table-bg:var(--sms-bg);color:var(--sms-text);border-color:var(--sms-border)}
    .accordion-button:not(.collapsed),.list-group-item.active,.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--sms-primary-dark);background:var(--sms-primary-light);border-color:var(--sms-primary-soft);box-shadow:none}
    .page-link{color:var(--sms-primary);background:var(--sms-surface);border-color:var(--sms-border)}.page-item.active .page-link{color:#fff;background:var(--sms-primary);border-color:var(--sms-primary)}
    .input-group-text{color:var(--sms-text-muted);background:var(--sms-bg);border-color:var(--sms-border-strong)}
    .form-control:disabled,.form-control[readonly],.form-select:disabled{background:var(--sms-bg);color:var(--sms-text-muted)}
}

.nav-search{position:relative;margin-inline:12px}.nav-search input{width:160px;border:1px solid #ccd3da;border-radius:6px;padding:6px;font:inherit}.nav-search #nav-search-results{position:absolute;top:100%;min-width:240px;background:white;color:#26313b;box-shadow:0 8px 24px #0003;border-radius:6px;z-index:1100;padding:8px}.nav-search a{display:block;padding:7px}@media print{.nav-search{display:none}}
.management-insights .kpi-value,.management-insights .kpi-label{display:block;overflow-wrap:anywhere}.management-insights .kpi-card{height:100%}
