:root {
    --app-primary: #165b8f;
    --app-primary-dark: #082f4b;
    --app-primary-soft: #eaf4fb;
    --app-accent: #16a085;
    --app-bg: #f4f7fb;
    --app-surface: #ffffff;
    --app-border: #e5ebf2;
    --app-text: #1b2a3a;
    --app-muted: #6f7e8e;
    --app-shadow: 0 8px 28px rgba(19, 50, 76, .075);
    --app-font-sans: "Segoe UI Variable Text", "Aptos", "Segoe UI", Roboto, Arial, sans-serif;
    --app-font-display: "Segoe UI Variable Display", "Aptos Display", "Segoe UI", Arial, sans-serif;
}

html[data-theme="emerald"] {
    --app-primary: #138467;
    --app-primary-dark: #073f34;
    --app-primary-soft: #e8f7f2;
    --app-accent: #d79a2b;
    --app-bg: #f2f8f5;
    --app-border: #dcece5;
    --app-text: #17342c;
    --app-muted: #6f817a;
    --app-shadow: 0 8px 28px rgba(8, 84, 64, .085);
}

html[data-theme="dark"] {
    --app-primary: #4aa3df;
    --app-primary-dark: #071827;
    --app-primary-soft: #102638;
    --app-accent: #36c59d;
    --app-bg: #0d1620;
    --app-surface: #142131;
    --app-border: #24364a;
    --app-text: #e8f0f8;
    --app-muted: #a6b5c5;
    --app-shadow: 0 12px 34px rgba(0, 0, 0, .28);
}

html { font-size: 16px; }
body { background: var(--app-bg); color: var(--app-text); min-height: 100vh; font-family: var(--app-font-sans); font-size: .95rem; font-weight: 400; line-height: 1.5; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
button,input,select,textarea { font: inherit; }
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6 { font-family: var(--app-font-display); color:#172b3d; font-weight:720; letter-spacing:-.018em; }
p { line-height:1.58; }
small,.small { line-height:1.42; }
.fw-bold { font-weight:720!important; }
.fw-semibold { font-weight:620!important; }
.display-6,.h3,.h4,[data-stat],.table td { font-variant-numeric:tabular-nums; }
.text-secondary { color: var(--app-muted) !important; }
html[data-theme="dark"] h1,
html[data-theme="dark"] h2,
html[data-theme="dark"] h3,
html[data-theme="dark"] h4,
html[data-theme="dark"] h5,
html[data-theme="dark"] h6,
html[data-theme="dark"] .h1,
html[data-theme="dark"] .h2,
html[data-theme="dark"] .h3,
html[data-theme="dark"] .h4,
html[data-theme="dark"] .h5,
html[data-theme="dark"] .h6 { color:#f1f6fb; }
html[data-theme="dark"] .bg-white,
html[data-theme="dark"] .card,
html[data-theme="dark"] .dropdown-menu,
html[data-theme="dark"] .modal-content,
html[data-theme="dark"] .list-group-item {
    background-color:var(--app-surface)!important;
    color:var(--app-text);
    border-color:var(--app-border)!important;
}
html[data-theme="dark"] .dropdown-item { color:var(--app-text); }
html[data-theme="dark"] .dropdown-item:hover,
html[data-theme="dark"] .dropdown-item:focus { color:#fff; background:rgba(74,163,223,.18); }
html[data-theme="dark"] .border,
html[data-theme="dark"] .border-top,
html[data-theme="dark"] .border-bottom { border-color:var(--app-border)!important; }
html[data-theme="dark"] .form-control,
html[data-theme="dark"] .form-select,
html[data-theme="dark"] .input-group-text {
    background-color:#0f1c2a;
    color:var(--app-text);
    border-color:var(--app-border);
}
html[data-theme="dark"] .form-control::placeholder { color:#8192a4; }
html[data-theme="dark"] .table thead th { background:#182739; color:#b9c7d6; border-bottom-color:var(--app-border); }
html[data-theme="dark"] .table > :not(caption) > * > * { color:var(--app-text); border-bottom-color:var(--app-border); }
html[data-theme="dark"] .table-hover>tbody>tr:hover>* { --bs-table-accent-bg:#182739; color:var(--app-text); }
html[data-theme="dark"] .btn-light { background:#182739; color:var(--app-text); border-color:var(--app-border); }
html[data-theme="dark"] .alert-primary { background:#102b41; color:#d9efff; border-color:#214e70; }
.app-navbar, .app-topbar { background: linear-gradient(118deg, var(--app-primary-dark) 0%, var(--app-primary) 58%, color-mix(in srgb, var(--app-primary), var(--app-accent) 28%) 100%); }
.app-topbar { min-height: 72px; box-shadow: 0 5px 24px rgba(7,39,62,.22); z-index: 1045; border-bottom: 1px solid rgba(255,255,255,.1); }
.app-brand { display:flex; align-items:center; gap:.7rem; color:#fff; line-height:1; letter-spacing:.01em; }
.app-brand:hover { color:#fff; }
.app-brand-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:13px; color:#fff; background:linear-gradient(145deg,rgba(255,255,255,.23),rgba(255,255,255,.08)); border:1px solid rgba(255,255,255,.22); box-shadow:inset 0 1px 0 rgba(255,255,255,.2); }
.app-brand-icon i { font-size:1.25rem; }
.app-brand strong,.app-brand small { display:block; }
.app-brand strong { font-family:var(--app-font-display); font-size:1rem; font-weight:760; letter-spacing:.025em; }
.app-brand small { margin-top:.3rem; font-size:.62rem; font-weight:500; opacity:.7; letter-spacing:.045em; }
.topbar-icon { color: #fff; width: 40px; height: 40px; border-radius: 50%; }
.topbar-icon:hover, .topbar-icon:focus { color: #fff; background: rgba(255,255,255,.15); transform:translateY(-1px); }
.notification-menu { width: min(320px, calc(100vw - 2rem)); border-radius: .9rem; }
.theme-menu { min-width: 240px; border-radius:.9rem; }
.theme-menu .dropdown-item { display:flex; align-items:center; gap:.2rem; }
.theme-menu .dropdown-item.active { color:var(--app-primary); background:var(--app-primary-soft); font-weight:720; }
.user-menu-button { color: #fff; border: 0; }
.user-menu-button:hover, .user-menu-button:focus { color: #fff; background: rgba(255,255,255,.1); }
.user-avatar { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 13px; background: linear-gradient(145deg,#fff,#dff1fb); color: var(--app-primary); font-weight: 800; box-shadow:0 4px 12px rgba(0,0,0,.15); }
.app-shell { display: flex; min-height: calc(100vh - 72px); }
.app-sidebar { --bs-offcanvas-width: 276px; width: 276px; flex: 0 0 276px; background: linear-gradient(180deg,#fff 0%,#f9fbfd 100%); border-right: 1px solid var(--app-border); box-shadow:5px 0 24px rgba(19,50,76,.035); }
.app-sidebar .offcanvas-body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.app-sidebar .sidebar-nav { min-height: 0; }
.app-main { min-width: 0; flex: 1 1 auto; display: flex; flex-direction: column; min-height: calc(100vh - 72px); }
.app-main > main { flex: 1 0 auto; }
.app-main > main > .d-flex:first-child h1, .app-main > main > h1 { color:#13283a; font-weight:760; letter-spacing:-.032em; }
.sidebar-label { padding: 0 .85rem .55rem; color: #8c9aa8; font-size: .65rem; font-weight:750; letter-spacing:.13em; text-transform: uppercase; }
.sidebar-link { position:relative; display: flex; align-items: center; gap: .8rem; min-height: 46px; margin-bottom: .28rem; padding: .68rem .85rem; border-radius: .85rem; color: #46596b; text-decoration: none; font-size:.91rem; font-weight:610; letter-spacing:.002em; transition:all .16s ease; }
.sidebar-link.active { scroll-margin-block: 5rem; }
.sidebar-link i { width: 22px; color: #718096; font-size: 1.05rem; }
.sidebar-link span { flex: 1; }
.sidebar-link small { color: #9aa5b1; font-size: .65rem; }
.sidebar-link:hover { color: var(--app-primary); background: var(--app-primary-soft); transform:translateX(2px); }
.sidebar-link.active { color: #fff; background: linear-gradient(125deg, var(--app-primary), #177aa0); box-shadow: 0 7px 18px rgba(18,88,137,.22); }
.sidebar-link.active::after { content:""; position:absolute; right:.65rem; width:5px; height:5px; border-radius:50%; background:#fff; opacity:.85; }
.sidebar-link.active i { color: #fff; }
.sidebar-link.disabled { opacity: .72; cursor: default; }
.sidebar-footer { color: #667385; font-size: .8rem; }
html[data-theme="dark"] .app-sidebar { background:linear-gradient(180deg,#121f2e 0%,#0f1b28 100%); }
html[data-theme="dark"] .sidebar-link { color:#bcc9d6; }
html[data-theme="dark"] .sidebar-link i { color:#91a3b6; }
html[data-theme="dark"] .sidebar-link:hover { color:#fff; background:rgba(74,163,223,.12); }
html[data-theme="dark"] .sidebar-label { color:#7e91a6; }
html[data-theme="dark"] .sidebar-footer { color:#a6b5c5; }
.login-page { position:relative; min-height: calc(100vh - 56px); background:radial-gradient(circle at 12% 12%,rgba(27,126,166,.2),transparent 34%),radial-gradient(circle at 88% 80%,rgba(22,160,133,.15),transparent 30%),linear-gradient(145deg,#edf5fb,#f7fafc 55%,#eef8f5); overflow:hidden; }
.login-page::before,.login-page::after { content:""; position:absolute; border-radius:50%; border:1px solid rgba(22,91,143,.12); }
.login-page::before { width:420px;height:420px;left:-180px;bottom:-190px; }
.login-page::after { width:300px;height:300px;right:-110px;top:-120px; }
.login-card { position:relative; z-index:1; border-radius: 1.5rem; box-shadow:0 25px 65px rgba(13,55,84,.16)!important; overflow:hidden; }
.login-card::before { content:""; display:block; height:5px; background:linear-gradient(90deg,var(--app-primary),#1f86a6,var(--app-accent)); }
.brand-mark { width: 70px; height: 70px; display: grid; place-items: center; border-radius: 21px; background: linear-gradient(140deg, var(--app-primary-dark), #1683a4); color: #fff; font-size: 1.9rem; box-shadow:0 12px 28px rgba(18,74,122,.25); }
.card { border-radius:1.05rem; border-color:var(--app-border); box-shadow:var(--app-shadow); }
.card-header { border-color:var(--app-border); font-family:var(--app-font-display); font-weight:680!important; letter-spacing:-.008em; }
.stat-card { position:relative; overflow:hidden; border-radius: 1.05rem; transition: transform .18s ease, box-shadow .18s ease; }
.stat-card::before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:var(--stat-accent,#165b8f); }
.stat-card:hover { transform: translateY(-3px); box-shadow:0 14px 32px rgba(19,50,76,.12)!important; }
.stat-card-primary{--stat-accent:#165b8f}.stat-card-warning{--stat-accent:#e49b18}.stat-card-info{--stat-accent:#168bb0}.stat-card-success{--stat-accent:#15906f}.stat-card-danger{--stat-accent:#d35454}.stat-card-secondary{--stat-accent:#6b7785}
.stat-icon { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 14px; font-size: 1.15rem; box-shadow:inset 0 0 0 1px rgba(255,255,255,.22); }
.cashbox-row { position:relative; background: linear-gradient(135deg,#f7fafc,#eef5fa); border: 1px solid #e1eaf1; overflow:hidden; }
.cashbox-row::after { content:""; position:absolute; width:70px;height:70px;border-radius:50%;right:-28px;top:-30px;background:rgba(22,91,143,.07); }
.cashbox-summary-grid { align-items:stretch; }
.cashbox-print-heading { display:none; }
.cashbox-balance-card {
    position:relative;
    height:100%;
    padding:1.15rem;
    border:1px solid rgba(22,91,143,.12);
    border-radius:1.2rem;
    background:
        radial-gradient(circle at 100% 0%, rgba(22,91,143,.14), transparent 34%),
        linear-gradient(145deg,#ffffff 0%,#f6fbff 58%,#eef8fb 100%);
    box-shadow:0 14px 34px rgba(19,50,76,.095);
    overflow:hidden;
}
.cashbox-balance-card::before {
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:5px;
    background:linear-gradient(180deg,var(--app-primary),var(--app-accent));
}
.cashbox-balance-card::after {
    content:"";
    position:absolute;
    width:120px;
    height:120px;
    right:-48px;
    top:-50px;
    border-radius:50%;
    background:rgba(22,91,143,.07);
}
.cashbox-balance-top {
    position:relative;
    z-index:1;
    display:flex;
    justify-content:space-between;
    gap:1rem;
    align-items:flex-start;
    margin-bottom:1.05rem;
}
.cashbox-scope-pill {
    display:inline-flex;
    align-items:center;
    max-width:100%;
    padding:.28rem .58rem;
    border-radius:999px;
    background:rgba(22,91,143,.09);
    color:#15557f;
    font-size:.68rem;
    font-weight:760;
    letter-spacing:.055em;
    text-transform:uppercase;
}
.cashbox-title {
    margin:.72rem 0 0;
    color:#12283a;
    font-family:var(--app-font-display);
    font-size:1.02rem;
    font-weight:820;
    letter-spacing:.035em;
    text-transform:uppercase;
    line-height:1.22;
}
.cashbox-safe-icon {
    flex:0 0 auto;
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border-radius:15px;
    color:#fff;
    background:linear-gradient(140deg,var(--app-primary),#1683a4);
    box-shadow:0 12px 24px rgba(22,91,143,.22);
    font-size:1.2rem;
}
.cashbox-balance-values {
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.75rem;
}
.cashbox-currency-box {
    padding:.85rem;
    border-radius:1rem;
    background:rgba(255,255,255,.86);
    border:1px solid rgba(209,222,232,.9);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}
.cashbox-currency-box span,
.cashbox-currency-box small {
    display:block;
    color:#6f7e8e;
    font-size:.68rem;
    font-weight:720;
    letter-spacing:.07em;
    text-transform:uppercase;
}
.cashbox-currency-box strong {
    display:block;
    margin:.2rem 0 .05rem;
    color:#10283b;
    font-family:var(--app-font-display);
    font-size:1.45rem;
    font-weight:820;
    line-height:1.05;
    letter-spacing:-.035em;
    font-variant-numeric:tabular-nums;
}
.cashbox-currency-usd { border-left:4px solid #15906f; }
.cashbox-currency-cdf { border-left:4px solid #168bb0; }
.cashbox-equivalent {
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    gap:.45rem;
    margin-top:.85rem;
    padding-top:.78rem;
    border-top:1px dashed rgba(111,126,142,.28);
    color:#657487;
    font-size:.82rem;
}
.cashbox-equivalent i { color:var(--app-primary); }
.cashbox-equivalent strong {
    margin-left:auto;
    color:#13283a;
    font-weight:780;
    font-variant-numeric:tabular-nums;
}
html[data-theme="dark"] .cashbox-balance-card {
    background:
        radial-gradient(circle at 100% 0%, rgba(74,163,223,.18), transparent 34%),
        linear-gradient(145deg,#162536 0%,#121f2e 100%);
    border-color:rgba(121,154,184,.24);
}
html[data-theme="dark"] .cashbox-title,
html[data-theme="dark"] .cashbox-currency-box strong,
html[data-theme="dark"] .cashbox-equivalent strong { color:#f1f6fb; }
html[data-theme="dark"] .cashbox-scope-pill { background:rgba(74,163,223,.16); color:#cceaff; }
html[data-theme="dark"] .cashbox-currency-box { background:rgba(13,22,32,.72); border-color:#2b3d51; }
html[data-theme="dark"] .cashbox-equivalent { color:#b4c3d3; border-top-color:rgba(180,195,211,.22); }
.table { --bs-table-bg:transparent; max-width:100%; }
.table > :not(caption) > * > * { padding: .9rem 1rem; border-bottom-color:#edf1f5; }
.table thead th { background:#f7f9fc; color:#617284; font-size:.7rem; font-weight:740; letter-spacing:.055em; text-transform:uppercase; white-space:nowrap; border-bottom:1px solid #e4eaf0; }
.table tbody td { font-size:.91rem; line-height:1.42; }
.table td,
.table th { min-width:0; }
.table td { overflow-wrap:anywhere; word-break:normal; }
.table td small,
.table td .small { overflow-wrap:anywhere; white-space:normal; }
.table-hover>tbody>tr:hover>* { --bs-table-accent-bg:#f3f8fc; color:inherit; }
.table tbody tr:last-child td { border-bottom:0; }
.btn { border-radius:.72rem; font-weight:620; letter-spacing:.006em; padding:.55rem .9rem; transition:all .16s ease; }
.btn:hover { transform:translateY(-1px); }
.btn.app-btn-loading,
.btn.app-btn-loading:hover { transform:none; pointer-events:none; opacity:.82; }
.app-form-loading { cursor:progress; }
.btn-primary { --bs-btn-bg:var(--app-primary); --bs-btn-border-color:var(--app-primary); --bs-btn-hover-bg:#104c79; --bs-btn-hover-border-color:#104c79; box-shadow:0 5px 13px rgba(22,91,143,.16); }
.btn-outline-primary { --bs-btn-color:var(--app-primary); --bs-btn-border-color:#9bbdd4; --bs-btn-hover-bg:var(--app-primary); }
.client-actions-col { width: 92px; }
.client-actions-cell { min-width: 92px; }
.users-table > :not(caption) > * > * { padding-left:.72rem; padding-right:.72rem; }
.users-actions-col { width: 158px; }
.users-actions-cell { min-width:158px; }
.users-action-group { gap:.22rem; }
.users-status-button { min-height:30px; padding:.22rem .48rem; border-radius:.55rem; font-size:.78rem; line-height:1; }
.users-status-button:hover { transform:none; }
.table-action-group { display:inline-flex; align-items:center; justify-content:flex-end; gap:.28rem; white-space:nowrap; }
.btn-table-action { width:30px; height:30px; min-height:30px; padding:0; display:inline-grid; place-items:center; line-height:1; border-radius:.55rem; font-size:.85rem; }
.btn-table-action:hover { transform:none; }
.report-toolbar .btn-report-main { min-height:34px; padding:.38rem .72rem; border-radius:.58rem; font-size:.84rem; white-space:nowrap; }
.report-filter-card .card-body { padding:.85rem 1rem; }
.report-filter-row { max-width:980px; margin:0 auto; justify-content:center; }
.report-filter-row > [class*="col-"] { display:flex; flex-direction:column; }
.report-filter-control { min-height:34px; height:34px; border-radius:.58rem; font-size:.84rem; padding:.32rem .62rem; text-align:center; }
.report-filter-card .form-label { font-size:.74rem; margin-bottom:.25rem; }
.report-filter-card .form-text { font-size:.7rem; margin-top:.2rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.btn-report-filter { min-height:34px; padding:.38rem .72rem; border-radius:.58rem; font-size:.84rem; white-space:nowrap; }
.btn-report-filter:hover { transform:none; }
.report-section-header { display:flex; align-items:center; justify-content:space-between; gap:.75rem; min-height:52px; }
.report-section-header > span { min-width:0; }
.btn-report-action { min-height:30px; padding:.28rem .58rem; border-radius:.52rem; font-size:.78rem; line-height:1; display:inline-flex; align-items:center; gap:.35rem; white-space:nowrap; flex:0 0 auto; }
.btn-report-action:hover { transform:none; }
.cashier-report-filter-card {
    max-width:980px;
    margin-left:auto;
    margin-right:auto;
    border-radius:1rem;
    background:linear-gradient(135deg,#fff,#f8fbfd);
}
.cashier-report-filter-card .card-body {
    padding:.85rem 1rem;
}
.cashier-report-filter-row {
    display:flex;
    align-items:end;
    justify-content:center;
    gap:.7rem;
    flex-wrap:wrap;
}
.cashier-report-filter-field {
    flex:0 1 165px;
    min-width:145px;
}
.cashier-report-filter-scope {
    flex:1 1 320px;
    max-width:420px;
}
.cashier-report-filter-card .form-label {
    margin-bottom:.22rem;
    color:#5d6f81;
    font-size:.72rem;
    font-weight:760;
    letter-spacing:.06em;
    text-transform:uppercase;
}
.cashier-report-control {
    min-height:34px;
    height:34px;
    border-radius:.62rem;
    padding:.32rem .62rem;
    font-size:.84rem;
}
.cashier-report-filter-actions {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.45rem;
    flex:0 0 auto;
}
.btn-cashier-filter {
    min-height:34px;
    padding:.36rem .72rem;
    border-radius:.62rem;
    font-size:.82rem;
    line-height:1;
    white-space:nowrap;
}
.btn-cashier-filter:hover { transform:none; }
html[data-theme="dark"] .cashier-report-filter-card {
    background:linear-gradient(135deg,#142131,#101c29);
}
.manifest-partial-quantity { width:88px; min-height:31px; padding:.2rem .45rem; }
.form-label { color:#405365; font-size:.81rem; font-weight:650; letter-spacing:.008em; margin-bottom:.42rem; }
.form-control,.form-select,.input-group-text { border-color:#dce4ec; border-radius:.72rem; min-height:42px; }
.form-control,.form-select { color:#23384a; font-size:.93rem; }
.form-control::placeholder { color:#98a5b2; font-weight:400; }
.form-control:focus,.form-select:focus { border-color:#68a2c5; box-shadow:0 0 0 .22rem rgba(22,91,143,.11); }
.input-group>.form-control,.input-group>.form-select { border-radius:0 .72rem .72rem 0; }
.input-group>.input-group-text { border-radius:.72rem 0 0 .72rem; color:#748495; }
.badge { font-weight:650; letter-spacing:.018em; padding:.43em .7em; }
.modal-content { border-radius:1.2rem; border:0; box-shadow:0 24px 70px rgba(15,43,64,.22); }
.modal-header { padding:1.1rem 1.25rem; background:#f8fafc; border-color:var(--app-border); }
.modal-title { font-weight:720!important; letter-spacing:-.015em; }
.modal-footer { padding:1rem 1.25rem; border-color:var(--app-border); }
.dropdown-menu { border-radius:.9rem; border:1px solid var(--app-border)!important; box-shadow:0 14px 40px rgba(15,43,64,.15)!important; }
.confirmation-modal { border-radius: 1.25rem; overflow: hidden; }
.confirmation-icon { width: 68px; height: 68px; display: grid; place-items: center; border-radius: 50%; font-size: 1.75rem; background: #fff3cd; color: #9a6700; }
.confirmation-icon.activate { background: #d1e7dd; color: #146c43; }
.ajax-notifications { position: fixed; top: 1rem; left: 50%; transform: translateX(-50%); z-index: 1090; width: min(460px, calc(100vw - 2rem)); }
.ajax-notification { border-radius: .9rem; padding: 1rem 3rem; text-align: center; }
.swal2-popup.app-swal-compact,
.swal2-popup {
    width: min(390px, calc(100vw - 2rem)) !important;
    padding: 1rem !important;
    border-radius: 1rem !important;
    font-size: .92rem !important;
}
.swal2-popup .swal2-icon { margin: .45rem auto .15rem; transform: scale(.78); }
.swal2-popup .swal2-title { padding: .4rem .75rem 0; font-size: 1.25rem; }
.swal2-popup .swal2-html-container { margin: .6rem .75rem; font-size: .95rem; line-height: 1.45; }
.swal2-popup .swal2-actions { margin: .75rem auto 0; }
.swal2-popup .swal2-actions .swal2-styled { padding: .55rem 1rem; }
.swal2-popup.app-connectivity-toast { width:min(430px, calc(100vw - 1.5rem))!important; }
.receipt-box { max-width: 520px; border: 1px solid #dbe2ea; border-radius: 1rem; padding: 1.5rem; }
.receipt-document .report-letterhead { text-align:center; max-width:720px; margin-left:auto; margin-right:auto; }
.receipt-document .report-document-title { margin-top:1rem; }
.receipt-document .receipt-box { max-width:560px; border-color:#111; border-radius:.75rem; }
.receipt-main-amount { border:2px solid #111; border-radius:.75rem; padding:1rem; background:#f8fafc; }
.receipt-amount { font-size:2.35rem; font-weight:800; line-height:1.1; color:#0f5132; }
.receipt-info-table th { width:42%; color:#6c757d; font-weight:600; }
.receipt-info-table td { text-align:right; font-weight:600; }
.receipt-summary { border-top:1px solid #dbe2ea; border-bottom:1px solid #dbe2ea; padding:.75rem 0; }
.receipt-summary > div { display:flex; justify-content:space-between; gap:1rem; padding:.25rem 0; }
.receipt-status { margin-top:1rem; text-align:center; font-weight:700; border-radius:.5rem; padding:.6rem; text-transform:uppercase; letter-spacing:.04em; }
.receipt-status-partial { color:#8a4b00; background:#fff3cd; border:1px solid #ffda6a; }
.receipt-status-paid { color:#0f5132; background:#d1e7dd; border:1px solid #a3cfbb; }
.report-letterhead { color:#1d2630; line-height:1.18; padding:.1rem 0 .55rem; border-bottom:1.4px solid #e09b75; font-family:Arial, Helvetica, sans-serif; }
.report-letterhead::after { content:""; display:block; width:76%; height:1.4px; margin:.42rem auto 0; background:#2f6fa7; opacity:.82; }
.report-letterhead-grid { display:grid; grid-template-columns:92px 1fr 92px; align-items:start; gap:.6rem; text-align:center; }
.report-letterhead-logo { min-height:48px; display:flex; align-items:flex-start; justify-content:center; opacity:.9; padding-top:.15rem; }
.report-letterhead-logo img { max-width:74px; max-height:52px; object-fit:contain; }
.report-letterhead-main { text-align:center; }
.report-period-line { text-align:center; font-size:.82rem; color:#5d6b7a; margin-top:-.35rem; }
.report-company-name { color:#2e69a3; font-size:1.95rem; font-weight:800; letter-spacing:.035em; line-height:.96; text-transform:uppercase; }
.report-company-kind { color:#202833; font-size:1.05rem; font-weight:800; margin-top:.12rem; text-transform:uppercase; }
.report-company-phone-line { color:#202833; font-size:.83rem; font-weight:700; margin-top:.18rem; }
.report-company-extra { color:#4f5964; font-size:.68rem; font-weight:500; margin-top:.12rem; }
.report-company-ids { display:flex; flex-wrap:wrap; justify-content:center; gap:.2rem .65rem; margin-top:.16rem; color:#202833; font-size:.72rem; font-weight:800; }
.report-company-ids span { white-space:nowrap; }
.report-company-phone { text-decoration:none; margin-top:.15rem; }
.report-document-title { margin:.62rem 0 0; text-align:center; text-transform:uppercase; color:#2e69a3; font-family:Arial, Helvetica, sans-serif; font-size:1.18rem; font-weight:800; letter-spacing:.025em; }
.print-document .container { background:#fff; color:#20252b; font-family:Arial, Helvetica, sans-serif; font-size:.82rem; border:3px solid #2f6fa7; outline:1px solid #e09b75; outline-offset:-7px; padding:1.25rem 1.45rem!important; }
.print-document .table { color:#20252b; font-family:Arial, Helvetica, sans-serif; }
.print-document .table > :not(caption) > * > * { padding:.32rem .45rem; border-color:#b8c1ca; }
.print-document .table thead th { background:#2f6fa7!important; color:#fff!important; border-color:#2b5f8c!important; letter-spacing:.02em; font-size:.72rem; font-weight:800; text-transform:uppercase; }
.print-document .table tbody td { font-size:.8rem; line-height:1.28; }
.report-page .table-responsive,
.print-document .table-responsive { width:100%; overflow-x:visible; }
.report-page .table,
.print-document .table { width:100%; table-layout:auto; }
.report-page .table th,
.report-page .table td,
.print-document .table th,
.print-document .table td { white-space:normal; word-break:normal; overflow-wrap:anywhere; }
.report-page .table th,
.print-document .table th { vertical-align:middle; }
.report-page .table td,
.print-document .table td { vertical-align:top; }
.report-page .table td small,
.print-document .table td small { white-space:normal; }
@media (min-width: 768px) {
    .report-page .table-responsive { overflow-x:visible; }
    .report-page .table { font-size:.78rem; }
    .report-page .table > :not(caption) > * > * { padding:.42rem .48rem; }
}
.print-document .card-header,
.print-document .report-section .card-header { background:#4a4a4a!important; color:#fff!important; border:0!important; border-radius:.18rem .18rem 0 0!important; text-transform:uppercase; letter-spacing:.025em; font-size:.82rem; padding:.35rem .55rem!important; }
.print-document .alert-light { background:#f7f8fa!important; border-color:#d7dce2!important; }
.print-document .row,
.print-document .alert,
.print-document p,
.print-document footer { font-size:.82rem; }
.manifest-identification { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.5rem; border:1px solid #adb5bd; padding:.65rem; }
.manifest-weight-table th,.manifest-weight-table td { min-width:105px; }
.manifest-weight-table th:first-child { min-width:120px; }
.manifest-comments { border:1px solid #adb5bd; min-height:70px; padding:.75rem; margin-top:1rem; }
.manifest-incidents { break-inside:avoid; }
.manifest-incidents .table-light > * > * { border-top:2px solid #495057; }
.cash-book-sheet { background:#fff; color:#111; border:1px solid #111; padding:0; max-width:1180px; margin:0 auto; font-family:Arial, Helvetica, sans-serif; }
.cash-book-title { background:#333; color:#fff; text-align:center; font-weight:800; padding:.35rem; font-size:1.15rem; letter-spacing:.02em; }
.cash-book-header { display:grid; grid-template-columns:1fr 1fr; gap:2rem; padding:1.2rem .9rem; }
.cash-book-meta div,.cash-book-summary div { display:grid; grid-template-columns:140px 1fr; gap:.75rem; line-height:1.35; }
.cash-book-meta span,.cash-book-summary span { color:#111; }
.cash-book-summary { max-width:460px; justify-self:end; width:100%; }
.cash-book-summary div { grid-template-columns:165px 1fr; }
.cash-book-summary strong { text-align:right; font-weight:500; }
.cash-book-new-balance { border-top:2px solid #111; border-bottom:2px solid #111; margin-top:.2rem; padding:.15rem 0; }
.cash-book-grid { display:grid; grid-template-columns:1fr 1fr; border-top:3px solid #111; }
.cash-book-grid .cash-book-table + .cash-book-table { border-left:3px solid #111; }
.cash-book-table { width:100%; border-collapse:collapse; margin:0; table-layout:fixed; font-size:.82rem; }
.cash-book-table th,.cash-book-table td { border:1px solid #333; padding:.18rem .28rem; height:24px; vertical-align:middle; }
.cash-book-table thead th { background:#4a4a4a; color:#fff; font-weight:700; text-align:center; }
.cash-book-table .cash-book-section-title th { background:#222; color:#fff; font-size:1rem; padding:.35rem; }
.cash-book-table tbody tr:nth-child(even) td { background:#d9d9d9; }
.cash-book-table tbody tr:nth-child(odd) td { background:#f8f8f8; }
.cash-book-table th:first-child,.cash-book-table td:first-child { width:24%; text-align:right; }
.cash-book-table th:nth-child(2),.cash-book-table td:nth-child(2) { width:12%; }
.cash-book-table th:nth-child(3),.cash-book-table td:nth-child(3) { width:42%; }
.cash-book-table th:nth-child(4),.cash-book-table td:nth-child(4) { width:22%; }
.cash-book-table tfoot th { background:#fff; border-top:2px solid #111; font-weight:500; }
.cash-book-sheet-real { max-width:900px; padding:1.15rem 1.25rem 1.25rem; border:3px solid #2f6fa7; outline:1px solid #e09b75; outline-offset:-7px; font-family:Arial, Helvetica, sans-serif; }
.cash-book-sheet-real .report-letterhead { margin-bottom:1rem!important; }
.cash-book-real-head { display:grid; grid-template-columns:130px 1fr 130px; align-items:start; gap:1rem; text-align:center; }
.cash-book-logo-box { border:1px solid #333; min-height:78px; display:flex; flex-direction:column; align-items:center; justify-content:center; font-family:Arial, Helvetica, sans-serif; font-weight:900; font-size:1.05rem; line-height:1.05; color:#222; }
.cash-book-logo-box img { max-width:118px; max-height:72px; object-fit:contain; }
.cash-book-logo-box span { font-size:.78rem; letter-spacing:.12em; }
.agency-settings-logo-preview { max-width:110px; max-height:80px; object-fit:contain; border:1px solid #dbe2ea; border-radius:.5rem; padding:.25rem; background:#fff; }
.cash-book-name { font-size:2.25rem; font-weight:900; line-height:1; letter-spacing:.04em; }
.cash-book-freight { font-size:2rem; font-weight:900; line-height:1.05; letter-spacing:.04em; }
.cash-book-ids { font-family:Arial, Helvetica, sans-serif; font-size:.82rem; font-weight:800; line-height:1.18; }
.cash-book-real-title { text-align:center; font-size:2.45rem; font-weight:900; font-style:italic; letter-spacing:.05em; margin:.7rem 0 .2rem; }
.cash-book-real-meta { display:grid; grid-template-columns:1fr 1fr 1fr; gap:.6rem; align-items:end; font-size:.86rem; font-style:normal; font-weight:700; }
.cash-book-real-meta div { display:flex; align-items:end; gap:.35rem; white-space:nowrap; }
.cash-book-real-meta span { flex:1; border-bottom:3px dotted #111; min-height:1.2rem; font-style:normal; text-align:center; }
.cash-book-real-period { font-family:Arial, Helvetica, sans-serif; font-size:.74rem; text-align:center; margin:.35rem 0 .25rem; }
.cash-book-credit-note { border:1px solid #111; background:#fff7dd; padding:.28rem .45rem; margin:.25rem 0 .35rem; text-align:center; font-family:Arial, Helvetica, sans-serif; font-size:.78rem; }
.cash-book-credit-note span { font-style:italic; }
.cash-book-real-table { width:100%; border-collapse:collapse; table-layout:fixed; font-family:Arial, Helvetica, sans-serif; font-size:.78rem; }
.cash-book-real-table th,.cash-book-real-table td { border:1px solid #b8c1ca; padding:.18rem .25rem; height:25px; vertical-align:top; }
.cash-book-real-table thead th { text-align:center; font-weight:800; font-size:.72rem; line-height:1.05; background:#2f6fa7; color:#fff; border-color:#2b5f8c; }
.cash-book-real-table th:nth-child(1),.cash-book-real-table td:nth-child(1) { width:11%; }
.cash-book-real-table th:nth-child(2),.cash-book-real-table td:nth-child(2) { width:5%; text-align:center; }
.cash-book-real-table th:nth-child(3),.cash-book-real-table td:nth-child(3) { width:38%; }
.cash-book-real-table th:nth-child(4),.cash-book-real-table td:nth-child(4) { width:9%; text-align:center; }
.cash-book-real-table th:nth-child(5),.cash-book-real-table td:nth-child(5),
.cash-book-real-table th:nth-child(6),.cash-book-real-table td:nth-child(6),
.cash-book-real-table th:nth-child(7),.cash-book-real-table td:nth-child(7) { width:12.33%; }
.cash-book-real-table tbody tr:nth-child(even) td { background:#f6f8fa; }
.cash-book-report-row td { font-weight:800; }
.cash-book-report-row td:nth-child(3) { text-align:right; font-size:1.05rem; }
.cash-book-real-table tfoot th { border-top:2px solid #4a4a4a; font-size:.76rem; background:#eef3f7; }
.cash-book-credit-list { margin-top:.6rem; break-inside:avoid; }
.cash-book-credit-title { border:1px solid #111; border-bottom:0; background:#eee; text-align:center; font-weight:800; padding:.18rem; font-family:Arial, Helvetica, sans-serif; font-size:.82rem; }
.cash-book-credit-table { width:100%; border-collapse:collapse; table-layout:fixed; font-family:Arial, Helvetica, sans-serif; font-size:.72rem; }
.cash-book-credit-table th,.cash-book-credit-table td { border:1px solid #111; padding:.12rem .18rem; }
.cash-book-credit-table th { background:#f5f5f5; text-align:center; }
.notification-menu { width: min(390px, calc(100vw - 1rem)); max-height: 70vh; overflow-y: auto; }
.notification-menu .dropdown-item { white-space:normal; border-left:3px solid transparent; }
.notification-menu .dropdown-item:hover { background:#f3f8fc; }
.notification-unread { background: #eef7fd !important; border-left: 3px solid var(--app-primary) !important; }
.notification-center { overflow:hidden; }
.notification-center form + form { border-top:1px solid #edf1f5; }
.notification-center .list-group-item { border:0; transition:background .16s ease; }
.notification-center .list-group-item:hover { background:#f7fafc; }
.notification-event-icon { flex:0 0 auto; width:46px;height:46px;display:grid;place-items:center;border-radius:14px;font-size:1.15rem; }
.notification-event-icon.departure { color:#176596;background:#e7f3fa; }
.notification-event-icon.arrival { color:#138367;background:#e5f6f0; }
.notification-event-icon.reduction { color:#a66b00;background:#fff3d6; }
.app-main > footer { color:#81909f!important; background:rgba(255,255,255,.72)!important; backdrop-filter:blur(8px); }
.dashboard-page.hide-recent-shipments > .row.g-4 > div:first-child { display:none; }
.dashboard-page.hide-recent-shipments > .row.g-4 > div:last-child { width:100%; }
.agency-summary-grid { --agency-card-radius:1.05rem; }
.agency-summary-card {
    position:relative;
    min-height:124px;
    height:100%;
    border:1px solid rgba(18,74,122,.08);
    border-radius:var(--agency-card-radius);
    padding:1rem;
    display:flex;
    align-items:flex-start;
    gap:.85rem;
    overflow:hidden;
    background:linear-gradient(145deg,#fff 0%,#f8fbfe 100%);
    box-shadow:0 12px 28px rgba(31,45,61,.07);
}
.agency-summary-card::after {
    content:"";
    position:absolute;
    inset:auto -28px -36px auto;
    width:96px;
    height:96px;
    border-radius:999px;
    background:currentColor;
    opacity:.08;
}
.agency-summary-icon {
    width:46px;
    height:46px;
    border-radius:15px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    font-size:1.15rem;
    color:#fff;
    box-shadow:0 9px 20px rgba(31,45,61,.13);
}
.agency-summary-content { min-width:0; }
.agency-summary-content span {
    display:block;
    font-size:.74rem;
    color:#64748b;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.055em;
    line-height:1.18;
}
.agency-summary-content strong {
    display:block;
    margin-top:.22rem;
    color:#162033;
    font-size:2rem;
    line-height:1;
    font-weight:900;
    letter-spacing:-.04em;
}
.agency-summary-content small {
    display:block;
    margin-top:.38rem;
    color:#7b8794;
    font-weight:600;
    line-height:1.25;
}
.agency-summary-primary { color:#124a7a; }
.agency-summary-primary .agency-summary-icon { background:linear-gradient(135deg,#124a7a,#2f87c9); }
.agency-summary-success { color:#168564; }
.agency-summary-success .agency-summary-icon { background:linear-gradient(135deg,#168564,#32b989); }
.agency-summary-warning { color:#b7791f; }
.agency-summary-warning .agency-summary-icon { background:linear-gradient(135deg,#b7791f,#f0ad38); }
.agency-summary-info { color:#4263eb; }
.agency-summary-info .agency-summary-icon { background:linear-gradient(135deg,#4263eb,#6ea8fe); }
.agency-summary-danger { color:#c2410c; }
.agency-summary-danger .agency-summary-icon { background:linear-gradient(135deg,#c2410c,#fb7185); }
.agency-report-page .report-letterhead { margin-bottom:1rem!important; }
.admin-report-page .report-letterhead { margin-bottom:1rem!important; }
.agency-report-toolbar {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:1rem;
    margin-bottom:1rem;
    padding:.85rem 1rem;
    border:1px solid rgba(18,74,122,.08);
    border-radius:1rem;
    background:linear-gradient(135deg,rgba(18,74,122,.06),rgba(47,135,201,.04));
}
.agency-period-pill {
    display:inline-flex;
    align-items:center;
    gap:.25rem;
    padding:.5rem .75rem;
    border-radius:999px;
    background:#fff;
    color:#124a7a;
    font-weight:800;
    box-shadow:0 8px 20px rgba(31,45,61,.06);
}
.btn-report-print {
    border-radius:.8rem;
    padding:.55rem .95rem;
    font-weight:800;
    box-shadow:0 10px 20px rgba(18,74,122,.18);
}
.agency-report-filter {
    border-radius:1rem;
    background:rgba(255,255,255,.95);
}
.agency-report-filter .card-body { padding:.85rem 1rem; }
.agency-report-section {
    border-radius:1rem;
    overflow:hidden;
}
.agency-report-section .report-section-header {
    padding:.85rem 1rem!important;
    border-bottom:1px solid #eef2f6;
    font-weight:900;
    color:#172033;
}
.agency-report-table thead th {
    background:#f6f9fc;
    color:#607086;
}
.agency-report-table tbody tr:hover td {
    background:#f9fcff;
}
.cashbox-mini-card {
    height:100%;
    border:1px solid #e8eef5;
    border-radius:1rem;
    padding:1rem;
    background:linear-gradient(145deg,#fff,#f8fbfe);
}
.cashbox-mini-card h3 {
    margin:.2rem 0 .75rem;
    font-size:.95rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.025em;
    color:#172033;
}
.cashbox-mini-values {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:.6rem;
    margin-bottom:.65rem;
}
.cashbox-mini-values span {
    display:block;
    border-radius:.8rem;
    padding:.65rem .55rem;
    background:#eef6ff;
    color:#124a7a;
    font-weight:900;
    text-align:center;
    line-height:1.15;
}
.voyage-header-actions {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:.7rem;
    flex-wrap:wrap;
}
.voyage-status-badge {
    min-height:38px;
    display:inline-flex;
    align-items:center;
    border-radius:999px;
    padding:.55rem .85rem;
}
.voyage-action-group {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:.45rem;
    flex-wrap:wrap;
}
.voyage-action-group form { margin:0; }
.voyage-action-btn {
    min-height:38px;
    border-radius:.75rem;
    font-weight:700;
    padding:.48rem .78rem;
    white-space:nowrap;
}

@media (min-width: 992px) {
    .app-main { overflow-x:hidden; }
    .app-main > main { max-width:100%; overflow-x:hidden; }
    .table-responsive { overflow-x:visible; }
    .table { width:100%; table-layout:auto; }
    .table > :not(caption) > * > * { padding:.48rem .55rem; }
    .table thead th { white-space:normal; font-size:.66rem; line-height:1.15; letter-spacing:.035em; }
    .table tbody td { font-size:.82rem; line-height:1.28; white-space:normal; }
    .table .badge { white-space:normal; line-height:1.15; padding:.32em .52em; }
    .table .btn,
    .table .btn-sm { padding:.24rem .45rem; border-radius:.5rem; font-size:.76rem; line-height:1.18; }
    .table .btn i { margin-right:.18rem!important; }
    .table .btn-group { flex-wrap:wrap; justify-content:flex-end; gap:.18rem; }
    .table .text-nowrap { white-space:normal!important; }
    .table-action-group { flex-wrap:wrap; white-space:normal; }
    .manifest-partial-quantity { width:68px; min-height:28px; padding:.12rem .28rem; font-size:.76rem; }
    .js-manifest-loading.d-flex { flex-wrap:wrap; justify-content:flex-end; gap:.2rem!important; }
    .users-actions-col,
    .users-actions-cell { width:126px; min-width:126px; }
    .client-actions-col,
    .client-actions-cell { width:74px; min-width:74px; }
}

@media (min-width: 992px) and (max-width: 1280px) {
    .app-sidebar { --bs-offcanvas-width:244px; width:244px; flex-basis:244px; }
    .sidebar-link { gap:.55rem; padding:.58rem .65rem; font-size:.84rem; }
    .table > :not(caption) > * > * { padding:.38rem .42rem; }
    .table thead th { font-size:.61rem; }
    .table tbody td { font-size:.78rem; }
    .card-body { padding:.85rem; }
}

@media print {
    @page { size: A4; margin: 12mm; }
    body { background: #fff !important; color: #000; font-size: 8.5pt; }
    .app-topbar, .app-sidebar, .report-filters, .no-print, .js-print-page, .sidebar-footer { display: none !important; }
    .app-shell, .app-main { display: block !important; min-height: 0 !important; }
    .app-main > main, .report-page { padding: 0 !important; margin: 0 !important; width: 100% !important; }
    .print-report-heading { display: block !important; text-align: center; margin-bottom: 1rem; }
    .card { box-shadow: none !important; border: 1px solid #bbb !important; break-inside: avoid; }
    .report-section { break-before: auto; }
    .table-responsive { overflow: visible !important; }
    .table { width:100%!important; table-layout:fixed; font-size: 7.2pt; }
    .table > :not(caption) > * > * { padding: .18rem .25rem; white-space:normal!important; overflow-wrap:anywhere!important; word-break:normal!important; }
    a { color: #000 !important; text-decoration: none !important; }
    .print-document .container { max-width: none !important; padding: 7mm 8mm !important; border:2px solid #2f6fa7!important; outline:1px solid #e09b75!important; outline-offset:-3mm!important; }
    .print-document footer { break-inside: avoid; }
    .report-letterhead { break-inside: avoid; }
    .report-letterhead { padding-bottom:4mm; margin-bottom:5mm!important; }
    .report-letterhead-grid { grid-template-columns:68px 1fr 68px; gap:.35rem; }
    .report-letterhead-logo { min-height:38px; }
    .report-letterhead-logo img { max-width:58px; max-height:40px; }
    .report-company-name { font-size:17pt; }
    .report-company-kind { font-size:9.5pt; }
    .report-company-phone-line { font-size:7.8pt; }
    .report-company-extra { font-size:6.5pt; }
    .report-company-ids { font-size:6.8pt; }
    .report-document-title { font-size:11pt; margin-top:4mm; }
    .print-document .table thead th { font-size:6.8pt; }
    .print-document .table tbody td { font-size:7.2pt; }
    .print-document .card-header,
    .print-document .report-section .card-header { font-size:7.5pt; }
    .manifest-weight-table { font-size:8pt; }
    .manifest-identification { font-size:9pt; }
    body.print-report-partial .report-page > * { display:none !important; }
    body.print-report-partial .report-page > .print-report-heading,
    body.print-report-partial .report-page > .report-section.print-target { display:block !important; }
    body.print-report-partial .report-section.print-target { border:0 !important; }
    body.print-report-partial .report-section.print-target .card-header { display:block !important; border:0 !important; font-size:13pt; text-align:center; text-transform:uppercase; }
    .cash-book-page { max-width:none !important; }
    .cash-book-sheet { width:100%; max-width:none; border-color:#000; }
    .cash-book-header { padding:.8rem .5rem; gap:1rem; }
    .cash-book-table { font-size:7.2pt; }
    .cash-book-table th,.cash-book-table td { padding:.08rem .18rem; height:17px; }
    .cash-book-table .cash-book-section-title th { font-size:9pt; padding:.18rem; }
    .cash-book-sheet-real { max-width:none; padding:6mm 7mm; border:2px solid #2f6fa7; outline:1px solid #e09b75; outline-offset:-3mm; }
    .cash-book-real-head { grid-template-columns:95px 1fr 95px; gap:.45rem; }
    .cash-book-logo-box { min-height:54px; font-size:8.5pt; }
    .cash-book-logo-box span { font-size:6.5pt; }
    .cash-book-name { font-size:19pt; }
    .cash-book-freight { font-size:17pt; }
    .cash-book-ids { font-size:6.8pt; }
    .cash-book-real-title { font-size:22pt; margin:.25rem 0 .05rem; }
    .cash-book-real-meta { font-size:7.5pt; gap:.35rem; }
    .cash-book-real-period { font-size:6.5pt; margin:.12rem 0; }
    .cash-book-credit-note { font-size:6.5pt; padding:.08rem .15rem; margin:.08rem 0 .12rem; background:#fff; }
    .cash-book-real-table { font-family:Arial, Helvetica, sans-serif; font-size:6.8pt; }
    .cash-book-real-table th,.cash-book-real-table td { padding:.05rem .1rem; height:17px; }
    .cash-book-real-table thead th { font-size:6.8pt; background:#2f6fa7!important; color:#fff!important; }
    .cash-book-report-row td:nth-child(3) { font-size:8pt; }
    .cash-book-credit-list { margin-top:.25rem; }
    .cash-book-credit-title { font-size:6.8pt; padding:.08rem; }
    .cash-book-credit-table { font-size:5.8pt; }
    .cash-book-credit-table th,.cash-book-credit-table td { padding:.04rem .08rem; }
    body.print-cashbox-summary .cashboxes-page > * { display:none !important; }
    body.print-cashbox-summary .cashboxes-page > .cashbox-summary-print-area { display:block !important; }
    body.print-cashbox-summary .cashbox-print-heading { display:block !important; text-align:center; margin-bottom:7mm; }
    body.print-cashbox-summary .cashbox-print-heading h1 { margin:0; font-size:15pt; text-transform:uppercase; letter-spacing:.06em; }
    body.print-cashbox-summary .cashbox-print-heading p { margin:1mm 0 0; font-size:8pt; color:#333; }
    body.print-cashbox-summary .cashbox-summary-grid { display:grid !important; grid-template-columns:1fr 1fr; gap:5mm !important; margin:0 !important; }
    body.print-cashbox-summary .cashbox-summary-grid > [class*="col-"] { width:auto !important; max-width:none !important; flex:none !important; padding:0 !important; }
    body.print-cashbox-summary .cashbox-balance-card { box-shadow:none !important; border:1px solid #9fb4c5 !important; break-inside:avoid; padding:4mm; background:#fff !important; }
    body.print-cashbox-summary .cashbox-balance-card::after { display:none !important; }
    body.print-cashbox-summary .cashbox-safe-icon { width:34px; height:34px; border-radius:10px; font-size:10pt; box-shadow:none; }
    body.print-cashbox-summary .cashbox-title { font-size:10pt; margin-top:3mm; }
    body.print-cashbox-summary .cashbox-scope-pill { font-size:6.5pt; padding:1.5mm 2.5mm; }
    body.print-cashbox-summary .cashbox-balance-values { gap:3mm; }
    body.print-cashbox-summary .cashbox-currency-box { padding:3mm; border-color:#c9d5df; }
    body.print-cashbox-summary .cashbox-currency-box strong { font-size:13pt; }
    body.print-cashbox-summary .cashbox-equivalent { font-size:7.5pt; margin-top:3mm; padding-top:2.5mm; }
    .agency-summary-card { min-height:0; padding:5mm; box-shadow:none; border:1px solid #b9c7d3; background:#fff!important; }
    .agency-summary-card::after { display:none; }
    .agency-summary-icon { display:none; }
    .agency-summary-content span { font-size:7pt; color:#444; }
    .agency-summary-content strong { font-size:16pt; color:#000; }
    .agency-summary-content small { font-size:7pt; color:#555; }
    .agency-report-section { box-shadow:none!important; border:1px solid #bbb!important; }
    .agency-report-section .report-section-header { padding:2.5mm 3mm!important; }
    .agency-report-table thead th { background:#f2f2f2!important; color:#000!important; }
    .admin-report-page .print-report-heading { margin-bottom:5mm!important; }
    .admin-report-page .agency-summary-grid {
        display:grid!important;
        grid-template-columns:repeat(4,1fr)!important;
        gap:3mm!important;
        margin-bottom:5mm!important;
    }
    .admin-report-page .agency-summary-grid > [class*="col-"] {
        width:auto!important;
        max-width:none!important;
        flex:none!important;
        padding:0!important;
    }
    .admin-report-page .agency-summary-card {
        padding:3mm!important;
        border:1px solid #9fb4c5!important;
        border-radius:2mm!important;
        break-inside:avoid;
    }
    .admin-report-page .agency-summary-content span {
        font-size:6.5pt!important;
        letter-spacing:.02em!important;
    }
    .admin-report-page .agency-summary-content strong {
        font-size:13pt!important;
        margin-top:1mm!important;
    }
    .admin-report-page .agency-summary-content small {
        font-size:6.2pt!important;
        margin-top:1mm!important;
    }
    .admin-report-page .agency-report-section {
        margin-bottom:5mm!important;
        border:1px solid #777!important;
        border-radius:1.5mm!important;
        break-inside:auto!important;
    }
    .admin-report-page .agency-report-section .report-section-header {
        background:#efefef!important;
        color:#000!important;
        border-bottom:1px solid #777!important;
        font-size:8pt!important;
        text-transform:uppercase;
        letter-spacing:.03em;
    }
    .admin-report-page .agency-report-section .badge {
        border:1px solid #777!important;
        background:#fff!important;
        color:#000!important;
    }
    .admin-report-page .agency-report-table {
        font-size:6.6pt!important;
        table-layout:fixed!important;
    }
    .admin-report-page .agency-report-table th,
    .admin-report-page .agency-report-table td {
        padding:.8mm 1mm!important;
        border-color:#a8a8a8!important;
    }
    .admin-report-page .agency-report-table thead th {
        background:#f3f3f3!important;
        color:#000!important;
        font-size:6.4pt!important;
        text-transform:uppercase;
    }
    .admin-report-page .cashbox-mini-card {
        padding:3mm!important;
        border:1px solid #9fb4c5!important;
        border-radius:2mm!important;
        break-inside:avoid;
        background:#fff!important;
    }
    .admin-report-page .cashbox-mini-card h3 {
        font-size:7.5pt!important;
        margin:1mm 0 2mm!important;
    }
    .admin-report-page .cashbox-mini-values {
        gap:2mm!important;
        margin-bottom:1.5mm!important;
    }
    .admin-report-page .cashbox-mini-values span {
        padding:1.5mm!important;
        border:1px solid #c9d5df!important;
        background:#fff!important;
        color:#000!important;
        font-size:7pt!important;
    }
}
.modal-dialog-scrollable .modal-content > form {
    display: flex;
    flex-direction: column;
    max-height: 100%;
    min-height: 0;
    overflow: hidden;
}
.modal-dialog-scrollable .modal-content > form > .modal-body {
    overflow-y: auto;
}
.modal-dialog-scrollable .modal-content > form > .modal-footer {
    flex-shrink: 0;
    background: #fff;
}

@media (max-width: 575.98px) {
    .navbar-brand { font-size: 1rem; }
    .app-brand small { display:none; }
    .app-brand-icon { width:38px;height:38px;border-radius:11px; }
    .app-topbar { min-height:64px; }
    .app-main > main { padding-top:1.25rem!important; }
    .app-main > main h1 { font-size:1.45rem; }
    .card { border-radius:.9rem; }
    .table > :not(caption) > * > * { padding:.75rem .8rem; }
    .client-actions-col { width:74px; }
    .client-actions-cell { min-width:74px; }
    .table-action-group { gap:.2rem; }
    .btn-table-action { width:27px; height:27px; min-height:27px; border-radius:.45rem; font-size:.78rem; }
    .report-toolbar { align-items:flex-start!important; }
    .report-toolbar .btn-report-main { padding:.34rem .58rem; font-size:.78rem; }
    .report-filter-card .card-body { padding:.75rem; }
    .report-filter-control { min-height:32px; height:32px; font-size:.78rem; padding:.28rem .5rem; }
    .btn-report-filter { min-height:32px; padding:.32rem .58rem; font-size:.78rem; }
    .report-filter-card .form-label { font-size:.7rem; }
    .report-filter-card .form-text { white-space:normal; }
    .cashier-report-filter-card .card-body { padding:.75rem; }
    .cashier-report-filter-row { align-items:stretch; gap:.55rem; }
    .cashier-report-filter-field,
    .cashier-report-filter-scope { flex:1 1 100%; max-width:none; min-width:0; }
    .cashier-report-filter-actions { width:100%; }
    .cashier-report-filter-actions .btn-cashier-filter { flex:1 1 0; }
    .report-section-header { min-height:46px; padding:.65rem .75rem!important; gap:.45rem; }
    .btn-report-action { min-height:27px; padding:.22rem .42rem; font-size:.72rem; gap:.25rem; }
    .notification-center .list-group-item { padding:.85rem!important; }
    .notification-event-icon { width:40px;height:40px;border-radius:12px; }
    .stat-card .card-body { padding: .9rem; }
    .agency-summary-card { min-height:112px; padding:.82rem; gap:.65rem; }
    .agency-summary-icon { width:39px; height:39px; border-radius:12px; font-size:1rem; }
    .agency-summary-content span { font-size:.66rem; }
    .agency-summary-content strong { font-size:1.65rem; }
    .agency-report-toolbar { align-items:stretch; flex-direction:column; padding:.75rem; }
    .agency-period-pill,
    .btn-report-print { width:100%; justify-content:center; }
    .stat-icon { width: 36px; height: 36px; }
}

@media (min-width: 992px) {
    .app-sidebar {
        position: sticky;
        top: 72px;
        height: calc(100vh - 72px);
        max-height: calc(100vh - 72px);
        align-self: flex-start;
        overflow-x: hidden;
        overflow-y: auto;
        scrollbar-width: thin;
        scrollbar-color: #aab7c5 transparent;
    }
    .app-sidebar .offcanvas-body {
        display: flex !important;
        min-height: min-content;
        overflow: visible;
    }
    .app-sidebar::-webkit-scrollbar { width: 7px; }
    .app-sidebar::-webkit-scrollbar-thumb { background: #aab7c5; border-radius: 10px; }
}

@media (max-width: 991.98px) {
    .app-sidebar { width: min(285px, 88vw); }
    .app-sidebar.show { box-shadow: 10px 0 28px rgba(15,23,42,.18); }
}
