:root {
    --rest-ink: #1f2937;
    --rest-muted: #6b7280;
    --rest-brand: #0d6efd;
    --rest-accent: #6f42c1;
    --rest-surface: #ffffff;
    --rest-canvas: #f7f8fc;
    --rest-border: #e7eaf0;
    --rest-radius: 12px;
    --rest-shadow: 0 4px 24px rgba(31, 41, 55, .06);
}

body { background: var(--rest-canvas); color: var(--rest-ink); }
.layout-menu { background: linear-gradient(180deg,#111827 0%,#172033 100%) !important; color: #e5e7eb; border: 0 !important; box-shadow: 8px 0 28px rgba(17,24,39,.14); }
.layout-menu .app-brand, .layout-menu .menu-inner { background: transparent !important; }
.layout-menu .menu-inner-shadow { background:linear-gradient(180deg,rgba(17,24,39,.98) 0%,rgba(17,24,39,.72) 48%,rgba(17,24,39,0) 100%) !important; box-shadow:none !important; }
.layout-menu .menu-link { color: #b8c0d0 !important; border-radius: 8px; margin-block: 2px; }
.layout-menu .menu-link:hover { color: #fff !important; background: rgba(255,255,255,.08) !important; transform:translateX(2px); }
.layout-menu .menu-item.active > .menu-link { color: #fff !important; background: linear-gradient(90deg,#0d6efd,#6f42c1) !important; box-shadow: 0 8px 18px rgba(13,110,253,.25); }
.layout-menu .menu-header { color: #707b91 !important; font-size: .67rem; letter-spacing: .12em; }
.layout-navbar { backdrop-filter: blur(14px); background: rgba(255,255,255,.94) !important; border-radius:14px !important; margin:14px 24px 0 !important; width:calc(100% - 48px) !important; padding-inline:22px !important; }
.content-wrapper { min-height: calc(100vh - 80px); }
.page-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; }
.eyebrow { color: var(--rest-accent); font-size:.7rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.settings-shell { max-width: 1240px; margin-inline:auto; }
.settings-card .card-header { display:flex; align-items:center; gap:.85rem; padding:1.35rem 1.5rem; }
.settings-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; color:var(--rest-brand); background:#eaf2ff; font-size:1.25rem; }
.upload-zone { min-height:118px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.25rem; border:1.5px dashed #b9cbc5; border-radius:14px; background:#f7faf9; cursor:pointer; transition:.2s; }
.upload-zone:hover { border-color:var(--rest-brand); background:#edf4f2; }
.upload-zone i { font-size:1.55rem; color:var(--rest-brand); }
.upload-zone span { font-weight:700; }
.upload-zone small { color:var(--rest-muted); }
.login-bg-preview { aspect-ratio:16/8; border-radius:14px; background-size:cover; background-position:center; border:1px solid var(--rest-border); }
.toggle-form-card { position:relative !important; inset:auto !important; width:100% !important; max-width:none !important; height:auto !important; visibility:visible !important; transform:none !important; border:1px solid var(--rest-border) !important; }
.toggle-card { position:relative !important; inset:auto !important; width:100% !important; max-width:none !important; height:auto !important; transform:none !important; visibility:visible !important; background:#fff; border:1px solid var(--rest-border) !important; border-radius:var(--rest-radius); box-shadow:var(--rest-shadow); margin-bottom:1.5rem; }
.toggle-card-header { display:flex; align-items:center; justify-content:space-between; padding:1.15rem 1.5rem; border-bottom:1px solid var(--rest-border); }
.toggle-card-body { padding:1.5rem; }
.form-panel { border-top:3px solid var(--rest-brand) !important; }
.finance-inline-modal { position:relative !important; inset:auto !important; z-index:auto !important; width:100% !important; height:auto !important; padding:0 !important; overflow:visible !important; background:transparent !important; scroll-margin-top:105px; margin-bottom:1.5rem; }
.finance-inline-modal .modal-dialog { width:100% !important; max-width:none !important; margin:0 !important; transform:none !important; }
.finance-inline-modal .modal-content { border-top:3px solid var(--rest-brand); box-shadow:var(--rest-shadow); }
.finance-inline-modal .modal-header { background:linear-gradient(90deg,#f8faff,#fff); }
.finance-inline-modal .modal-footer { background:#fafbfe; }
.finance-form-card { overflow:visible; border:0 !important; border-top:4px solid transparent !important; background:linear-gradient(#fff,#fff) padding-box,linear-gradient(90deg,var(--rest-brand),var(--rest-accent)) border-box !important; box-shadow:0 18px 45px rgba(31,41,55,.10) !important; }
.finance-form-card > .card-header,.finance-form-card > .toggle-card-header { padding:1.25rem 1.5rem; background:linear-gradient(90deg,#f7faff,#fff); }
.finance-form-card .form-label { margin-bottom:.45rem; color:#344054; font-size:.78rem; font-weight:750; letter-spacing:.015em; }
.finance-form-card .form-control,.finance-form-card .form-select,.finance-form-card .select2-selection { background-color:#fbfcff; transition:border-color .2s,box-shadow .2s,background .2s; }
.finance-form-card .form-control:focus,.finance-form-card .form-select:focus { background:#fff; box-shadow:0 0 0 .2rem rgba(13,110,253,.10); }
.finance-form-card .smart-form-field { width:50% !important; flex:0 0 auto; }
.form-focus-hidden { display:none !important; }
.form-focus-mode .finance-form-card { animation:restFormEnter .22s ease-out; }
@keyframes restFormEnter { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:none} }
@media (max-width:767.98px) { .finance-form-card .smart-form-field { width:100% !important; } }
.toggle-form-card .card-header { display:flex; align-items:center; justify-content:space-between; padding:1.15rem 1.5rem; }
.toggle-form-card .card-body { padding:1.5rem; overflow:visible; }
.kpi-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.metric-card { min-height:120px; display:flex; align-items:center; gap:1rem; padding:1.25rem; background:#fff; border:1px solid var(--rest-border); border-radius:var(--rest-radius); box-shadow:var(--rest-shadow); }
.metric-icon { width:46px; height:46px; flex:0 0 auto; display:grid; place-items:center; color:#fff; background:linear-gradient(135deg,#0d6efd,#6f42c1); border-radius:12px; font-size:1.35rem; box-shadow:0 8px 18px rgba(13,110,253,.2); }
.metric-card span,.metric-card small { display:block; color:var(--rest-muted); font-size:.78rem; }
.metric-card strong { display:block; margin-top:.2rem; font-size:1.7rem; letter-spacing:-.04em; }
.financial .metric-card { border-top:3px solid var(--rest-brand); }.financial .tone-success{border-top-color:#2a9d78}.financial .tone-warning{border-top-color:#e0a52e}.financial .tone-danger{border-top-color:#c74b45}
.collection-ring { --progress:0; width:190px; aspect-ratio:1; margin:1rem auto 2rem; border-radius:50%; display:grid; place-content:center; text-align:center; background:radial-gradient(closest-side,#fff 76%,transparent 77% 99%),conic-gradient(var(--rest-brand) calc(var(--progress)*1%),#e7efed 0); }
.collection-ring strong{font-size:2rem}.collection-ring span{color:var(--rest-muted);font-size:.8rem}
.rest-login { min-height:100vh; background-image:linear-gradient(120deg,rgba(17,24,39,.9),rgba(13,110,253,.48)),var(--login-bg); background-size:cover; background-position:center; background-attachment:fixed; }
.rest-login .authentication-wrapper { min-height:100vh; justify-content:flex-end; padding-inline:clamp(1rem,7vw,8rem); }
.rest-login .authentication-inner { width:min(100%,440px); margin:0 !important; }
.rest-login .authentication-inner > .card { border:1px solid rgba(255,255,255,.46); border-radius:16px; background:rgba(255,255,255,.96); backdrop-filter:blur(22px); box-shadow:0 30px 80px rgba(0,0,0,.28); }
.rest-login .btn-primary { background:var(--brand); border-color:var(--brand); min-height:48px; }
.layout-navbar, .card { border: 1px solid var(--rest-border); box-shadow: var(--rest-shadow); }
.card { border-radius: var(--rest-radius); }
.card-header { background: transparent; border-bottom-color: var(--rest-border); }
.btn { border-radius: 10px; font-weight: 650; }
.btn-primary { background: linear-gradient(135deg,var(--rest-brand),#6f42c1); border-color: transparent; box-shadow:0 5px 14px rgba(13,110,253,.2); }
.btn-primary:hover { background: linear-gradient(135deg,#0b5ed7,#59359b); border-color: transparent; transform:translateY(-1px); }
.form-control, .form-select, .select2-container--default .select2-selection--single {
    border-color: var(--rest-border); border-radius: 10px; min-height: 42px;
}
.table > :not(caption) > * > * { padding: .9rem 1rem; border-color: var(--rest-border); }
.table thead th { color: var(--rest-muted); font-size: .75rem; letter-spacing: .05em; text-transform: uppercase; }
.table thead { background:#f8f9fc; }
.table tbody tr:hover { background:#fafbff; }
.badge { border-radius: 999px; font-weight: 650; }
.page-title, h1, h2, h3, h4 { letter-spacing: -.025em; }
.text-muted { color: var(--rest-muted) !important; }

/* Syndron-inspired application shell */
.layout-menu { width: 270px !important; }
.layout-menu .app-brand { height: 76px !important; padding: 0 22px !important; border-bottom: 1px solid rgba(255,255,255,.08); }
.layout-menu .app-brand-link { min-width: 0; color:#fff; }
.layout-menu .app-brand-logo img { width:42px; height:42px; object-fit:contain; border-radius:10px; background:#fff; padding:4px; }
.layout-menu .app-brand-text { color:#f8fafc !important; font-size:1.05rem; font-weight:750; letter-spacing:.01em; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-shadow:0 1px 2px rgba(0,0,0,.22); opacity:1 !important; }
.layout-menu .menu-inner { padding:14px 12px 24px !important; }
.layout-menu .menu-inner > .menu-item > .menu-link { min-height:44px; padding:10px 12px !important; transition:.2s ease; }
.layout-menu .menu-icon { width:22px; font-size:1.22rem !important; }
.layout-menu .menu-sub { margin:4px 0 8px; padding-inline-start:14px; }
.layout-menu .menu-sub .menu-link { min-height:38px; font-size:.82rem; }
.layout-navbar .navbar-nav-right { width:100%; }
.topbar-context small,.topbar-context strong { display:block; line-height:1.25; }
.topbar-context small { color:var(--rest-muted); font-size:.68rem; text-transform:uppercase; letter-spacing:.08em; }
.topbar-context strong { font-size:.92rem; color:var(--rest-ink); }
.topbar-icon { width:38px; height:38px; border-radius:10px; display:grid; place-items:center; background:#edf4ff; color:var(--rest-brand); font-size:1.15rem; }
.content-wrapper > .container-xxl { max-width:1540px; padding:26px 24px 40px; }

/* Page structure */
.page-heading { min-height:64px; padding:0 2px; }
.page-heading h1,.page-heading h2,.page-heading h3,.page-heading h4 { margin:0; font-weight:750; color:#202636; }
.page-heading + .card,.page-heading + .row { margin-top:4px; }
.container-xxl > .d-flex.justify-content-between:first-child:not(.page-heading) { min-height:64px; margin-bottom:20px !important; }
.container-xxl > .d-flex.justify-content-between:first-child h4,
.container-xxl > .d-flex.justify-content-between:first-child h5 { font-size:1.45rem; font-weight:750; margin-bottom:3px; }

/* Cards and analytics */
.card { overflow:visible; background:#fff; transition:box-shadow .2s ease,transform .2s ease; }
.card-hover:hover { transform:translateY(-3px); box-shadow:0 12px 32px rgba(31,41,55,.1); }
.card-header { min-height:62px; padding:16px 20px; display:flex; align-items:center; }
.card-header h4,.card-header h5,.card-header h6 { font-weight:700; }
.card-body { padding:20px; }
.metric-card { border:0; position:relative; overflow:hidden; }
.metric-card::after { content:""; position:absolute; width:90px; height:90px; border-radius:50%; inset:-35px -25px auto auto; background:linear-gradient(135deg,rgba(13,110,253,.08),rgba(111,66,193,.08)); }

/* Form system */
.toggle-form-card,.form-panel,.toggle-card { scroll-margin-top:105px; animation:formReveal .22s ease; }
@keyframes formReveal { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:none; } }
.toggle-form-card > .card-header,.form-panel > .card-header,.toggle-card-header { background:linear-gradient(90deg,#f8faff,#fff); }
.toggle-form-card .card-title,.form-panel .card-header h5,.toggle-card-title { font-size:1rem; font-weight:750; color:#202636; }
.form-label,label:not(.form-check-label) { margin-bottom:7px; color:#424b5f; font-size:.79rem; font-weight:650; }
.form-control,.form-select { min-height:44px; padding:.62rem .82rem; background-color:#fff; border:1px solid #dfe3eb; box-shadow:none !important; transition:border-color .15s,box-shadow .15s; }
textarea.form-control { min-height:96px; }
.form-control:focus,.form-select:focus { border-color:#6ea8fe; box-shadow:0 0 0 3px rgba(13,110,253,.1) !important; }
.form-control::placeholder { color:#a3aab8; }
.input-group-text { border-color:#dfe3eb; background:#f7f8fb; }
.form-check-input:checked { background-color:var(--rest-brand); border-color:var(--rest-brand); }
.form-panel .border-top,.toggle-form-card .border-top { border-color:#edf0f5 !important; }

/* Select2 everywhere */
.select2-container { width:100% !important; }
.select2-container .select2-selection--single { height:44px !important; min-height:44px !important; padding:0 38px 0 12px !important; border:1px solid #dfe3eb !important; border-radius:10px !important; background:#fff !important; display:flex !important; align-items:center !important; }
.select2-container .select2-selection--multiple { min-height:44px !important; border:1px solid #dfe3eb !important; border-radius:10px !important; padding:4px 8px !important; }
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default.select2-container--open .select2-selection--single { border-color:#6ea8fe !important; box-shadow:0 0 0 3px rgba(13,110,253,.1); }
.select2-container--default .select2-selection--single .select2-selection__rendered { padding:0 !important; color:#3c4353; line-height:42px !important; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height:42px !important; right:8px !important; }
.select2-dropdown { border:1px solid #dfe3eb !important; border-radius:10px !important; box-shadow:0 12px 32px rgba(31,41,55,.14); overflow:hidden; }
.select2-search--dropdown { padding:10px !important; background:#f8f9fc; }
.select2-search--dropdown .select2-search__field { border:1px solid #dfe3eb !important; border-radius:8px; padding:8px 10px; }
.select2-results__option { padding:9px 12px !important; }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background:var(--rest-brand) !important; }

/* Tables and DataTables */
.table-responsive { border-radius:0 0 var(--rest-radius) var(--rest-radius); }
.table { --bs-table-bg:transparent; }
.table thead th { white-space:nowrap; padding-top:12px; padding-bottom:12px; border-bottom-width:1px; }
.table tbody td { vertical-align:middle; color:#41495a; }
.dataTables_wrapper .row:first-child,.dataTables_wrapper .row:last-child { padding:14px 18px; align-items:center; }
.dataTables_wrapper .dataTables_filter input,.dataTables_wrapper .dataTables_length select { min-height:38px; border:1px solid #dfe3eb; border-radius:8px; }
.pagination .page-link { min-width:34px; height:34px; display:grid; place-items:center; border:0; border-radius:8px !important; margin:0 2px; color:#667085; }
.pagination .active .page-link { background:linear-gradient(135deg,var(--rest-brand),#6f42c1); box-shadow:0 4px 10px rgba(13,110,253,.22); }

/* Buttons, dropdowns and feedback */
.btn { min-height:38px; display:inline-flex; align-items:center; justify-content:center; gap:4px; transition:.18s ease; }
.btn-sm { min-height:32px; }
.btn-light,.btn-outline-secondary { border-color:#e1e5ec; background:#fff; color:#4b5565; }
.btn-light:hover,.btn-outline-secondary:hover { background:#f4f6fa; border-color:#d7dce5; color:#252b38; }
.dropdown-menu { border:1px solid #edf0f4; border-radius:11px; box-shadow:0 14px 38px rgba(31,41,55,.14); padding:7px; }
.dropdown-item { border-radius:7px; padding:8px 10px; }
.alert { border:0; border-radius:10px; }
.modal-content { border:0; border-radius:14px; box-shadow:0 24px 70px rgba(31,41,55,.2); }

@media (max-width:1199.98px) {
    .layout-navbar { margin:10px 12px 0 !important; width:calc(100% - 24px) !important; padding-inline:14px !important; }
}

/* Customer-list style data grids */
.syndron-table { margin-bottom:0 !important; }
.syndron-table .bulk-check-host { white-space:nowrap; }
.syndron-table .bulk-check-host .form-check-input { vertical-align:middle; }
.vanilla-table-toolbar,.vanilla-table-footer { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 0; }
.vanilla-table-length,.vanilla-table-search { display:flex; align-items:center; gap:.65rem; color:var(--rest-muted); font-size:.8rem; }
.vanilla-table-length select { width:76px; }
.vanilla-table-search input { width:min(260px,40vw); }
.vanilla-table-footer { color:var(--rest-muted); font-size:.82rem; }
.vanilla-sortable { cursor:pointer; user-select:none; }
.vanilla-sortable::after { content:' ↕'; color:#aab1c0; font-size:.7rem; }
.is-loading { opacity:.55; pointer-events:none; }
@media(max-width:575.98px){.vanilla-table-toolbar,.vanilla-table-footer{align-items:stretch;flex-direction:column}.vanilla-table-search input{width:100%}}
.syndron-table tbody tr:has(.bulk-row-check:checked) { background:#eef5ff !important; }
.bulk-action-bar { min-height:56px; display:flex; align-items:center; justify-content:space-between; padding:10px 18px; color:#1d4ed8; background:#eff6ff; border-bottom:1px solid #dbeafe; font-weight:650; }
.bulk-action-bar.d-none { display:none !important; }
.bulk-count { display:inline-grid; place-items:center; min-width:27px; height:27px; margin-inline-end:6px; color:#fff; background:var(--rest-brand); border-radius:8px; }

/* Profile */
.profile-summary-card { overflow:hidden; }
.profile-cover { height:130px; background:linear-gradient(125deg,#0d6efd,#6f42c1 60%,#a855f7); position:relative; }
.profile-cover::after { content:""; position:absolute; inset:0; background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.3),transparent 25%); }
.profile-avatar { width:104px; height:104px; display:grid; place-items:center; margin:-54px auto 16px; position:relative; color:#fff; background:linear-gradient(135deg,#111827,#374151); border:5px solid #fff; border-radius:50%; box-shadow:0 8px 24px rgba(31,41,55,.2); font-size:2rem; font-weight:800; }
.profile-facts { border-top:1px solid var(--rest-border); padding-top:14px; }
.profile-facts > div { display:flex; gap:12px; padding:11px 4px; }
.profile-facts i { width:38px; height:38px; display:grid; place-items:center; color:var(--rest-brand); background:#edf4ff; border-radius:10px; font-size:1.1rem; }
.profile-facts small,.profile-facts strong { display:block; }
.profile-facts small { color:var(--rest-muted); font-size:.7rem; }

/* QuickBooks-style dashboard */
.dashboard-filter { border-left:4px solid var(--rest-brand); }
.finance-hero { min-height:180px; display:flex; align-items:center; justify-content:space-between; gap:30px; padding:30px 34px; color:#fff; background:linear-gradient(120deg,#111827,#172554 50%,#1d4ed8); border-radius:16px; box-shadow:0 18px 38px rgba(30,58,138,.22); overflow:hidden; position:relative; }
.finance-hero::after { content:""; position:absolute; width:340px; height:340px; border:70px solid rgba(255,255,255,.05); border-radius:50%; right:-130px; top:-170px; }
.finance-hero span,.finance-hero p,.finance-hero small { color:#cbd5e1; }
.finance-hero > div:first-child strong { display:block; margin:5px 0; font-size:clamp(2rem,4vw,3.2rem); letter-spacing:-.05em; }
.finance-hero strong small { font-size:.9rem; letter-spacing:0; }
.hero-stat { min-width:260px; padding:20px; position:relative; z-index:1; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.12); border-radius:13px; backdrop-filter:blur(10px); }
.hero-stat strong,.hero-stat small { display:block; }.hero-stat strong{font-size:1.45rem;margin:4px 0}.hero-stat small{font-size:.72rem}
.finance-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.finance-kpi { min-height:116px; display:flex; align-items:center; gap:14px; padding:18px; background:#fff; border:1px solid var(--rest-border); border-radius:13px; box-shadow:var(--rest-shadow); }
.finance-kpi-icon { width:44px; height:44px; flex:0 0 auto; display:grid; place-items:center; border-radius:12px; background:#edf4ff; color:#0d6efd; font-size:1.3rem; }
.finance-kpi span,.finance-kpi small,.finance-kpi strong { display:block; }.finance-kpi span{color:var(--rest-muted);font-size:.73rem}.finance-kpi strong{font-size:1.15rem;margin:3px 0}.finance-kpi small{color:#9ca3af;font-size:.67rem}
.finance-kpi.tone-success .finance-kpi-icon{color:#16a34a;background:#ecfdf3}.finance-kpi.tone-danger .finance-kpi-icon{color:#dc2626;background:#fef2f2}.finance-kpi.tone-warning .finance-kpi-icon,.finance-kpi.tone-orange .finance-kpi-icon{color:#d97706;background:#fffbeb}.finance-kpi.tone-violet .finance-kpi-icon{color:#7c3aed;background:#f5f3ff}
.liquidity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.liquidity-card{position:relative;display:flex;align-items:center;gap:16px;min-height:132px;padding:22px;overflow:hidden;background:#fff;border:1px solid var(--rest-border);border-radius:16px;box-shadow:var(--rest-shadow)}.liquidity-card::after{content:"";position:absolute;width:105px;height:105px;right:-38px;top:-42px;border-radius:50%;background:currentColor;opacity:.055}.liquidity-icon{width:52px;height:52px;flex:0 0 auto;display:grid;place-items:center;border-radius:15px;font-size:1.5rem}.liquidity-card small,.liquidity-card strong,.liquidity-card em{display:block}.liquidity-card small{color:var(--rest-muted);font-size:.76rem}.liquidity-card strong{margin:4px 0 7px;font-size:1.45rem;letter-spacing:-.035em}.liquidity-card strong em{display:inline;font-size:.68rem;font-style:normal;font-weight:700;color:#98a2b3;letter-spacing:0}.liquidity-cash{color:#047857}.liquidity-cash .liquidity-icon{background:#ecfdf5}.liquidity-bank{color:#1d4ed8}.liquidity-bank .liquidity-icon{background:#eff6ff}.liquidity-sarafi{color:#7c3aed}.liquidity-sarafi .liquidity-icon{background:#f5f3ff}.liquidity-card>div{color:var(--rest-ink)}.liquidity-state{display:inline-flex;padding:4px 9px;border-radius:999px;font-size:.68rem;font-weight:750}.state-held{color:#047857;background:#ecfdf5}.state-payable{color:#b42318;background:#fef3f2}

/* QuickBooks-inspired financial reporting */
.report-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.report-heading h2{margin:3px 0 5px;font-size:2rem}.report-heading p{margin:0;color:var(--rest-muted)}.report-actions{display:flex;gap:9px}.report-tabs{display:flex;gap:6px;padding:6px;overflow:auto;background:#fff;border:1px solid var(--rest-border);border-radius:14px;box-shadow:var(--rest-shadow)}.report-tabs a{display:inline-flex;align-items:center;gap:7px;padding:10px 13px;white-space:nowrap;color:#667085;border-radius:9px;font-size:.8rem;font-weight:700}.report-tabs a:hover{background:#f5f7fb;color:var(--rest-brand)}.report-tabs a.active{color:#fff;background:linear-gradient(135deg,var(--rest-brand),#6f42c1);box-shadow:0 5px 12px rgba(13,110,253,.2)}.report-filter .form-label{text-transform:uppercase;letter-spacing:.05em;font-size:.68rem;color:#667085}.report-paper{max-width:1180px;margin-inline:auto;background:#fff;border:1px solid var(--rest-border);border-radius:16px;box-shadow:0 14px 42px rgba(31,41,55,.08);overflow:hidden}.report-paper-head{text-align:center;padding:28px 24px 22px;border-bottom:1px solid var(--rest-border)}.report-paper-head h3{margin:0 0 5px}.report-paper-head p{margin:0;color:var(--rest-muted)}.report-section{padding:22px 26px}.report-section+.report-section{border-top:1px solid var(--rest-border)}.report-section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;color:#101828;font-size:1rem;font-weight:800}.report-group{margin:4px 0 16px}.report-group-title,.report-line,.report-total{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:9px 12px}.report-group-title{color:#344054;background:#f8fafc;border-radius:8px;font-weight:750}.report-line{border-bottom:1px dashed #edf0f4;color:#475467}.report-line span small{display:inline-block;width:58px;color:#98a2b3}.report-line strong,.report-group-title strong,.report-total strong{font-variant-numeric:tabular-nums}.report-total{margin-top:10px;padding:13px 12px;border-top:2px solid #344054;border-bottom:double 4px #344054;font-size:1.04rem;font-weight:850}.report-total.success{color:#047857;border-color:#10b981}.report-total.danger{color:#b42318;border-color:#ef4444}.report-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.report-summary-card{padding:18px;background:#fff;border:1px solid var(--rest-border);border-radius:14px;box-shadow:var(--rest-shadow)}.report-summary-card span,.report-summary-card small{display:block;color:var(--rest-muted);font-size:.72rem}.report-summary-card strong{display:block;margin:6px 0 3px;font-size:1.4rem}.report-summary-card i{float:right;width:38px;height:38px;display:grid;place-items:center;border-radius:11px;color:var(--rest-brand);background:#edf4ff;font-size:1.15rem}.report-table-card{background:#fff;border:1px solid var(--rest-border);border-radius:15px;box-shadow:var(--rest-shadow);overflow:hidden}.report-table-card .table{margin:0}.report-table-card tfoot{background:#f8fafc;font-weight:800}.report-empty{padding:25px;text-align:center;color:var(--rest-muted)}.report-equation{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:14px;padding:22px;color:#fff;background:linear-gradient(120deg,#172554,#1d4ed8);border-radius:14px}.report-equation div{text-align:center}.report-equation span,.report-equation strong{display:block}.report-equation span{color:#bfdbfe;font-size:.72rem}.report-equation strong{font-size:1.25rem}.report-equation>i{font-size:1.2rem}.aging-bar{height:7px;margin-top:10px;border-radius:99px;background:#edf0f5;overflow:hidden}.aging-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--rest-brand),#6f42c1)}
@media(max-width:991.98px){.report-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-heading{align-items:flex-start;flex-direction:column}.report-equation{grid-template-columns:1fr}.report-equation>i{transform:rotate(90deg)}}@media(max-width:575.98px){.report-summary-grid{grid-template-columns:1fr}.report-actions{width:100%}.report-actions .btn{flex:1}.report-section{padding:18px 15px}}
@media print{.layout-menu,.layout-navbar,.report-tabs,.report-filter,.report-actions{display:none!important}.layout-page{padding:0!important}.content-wrapper>.container-xxl{max-width:none;padding:0!important}.report-paper,.report-table-card{box-shadow:none;border-color:#aaa}.report-heading{display:block}.report-heading .eyebrow{display:none}}
.trend-chart { height:260px; display:flex; align-items:stretch; gap:clamp(12px,3vw,34px); padding:20px 8px 0; border-bottom:1px solid #e5e7eb; background:repeating-linear-gradient(to bottom,#fff 0,#fff 51px,#eef0f4 52px); }
.trend-month { flex:1; min-width:30px; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; gap:9px; }
.trend-bars { width:100%; height:210px; display:flex; align-items:flex-end; justify-content:center; gap:4px; }
.trend-bars i { width:min(18%,14px); min-height:3px; border-radius:5px 5px 0 0; }.bar-sales{background:#0d6efd}.bar-income{background:#22c55e}.bar-out{background:#ef4444}
.trend-month > span { font-size:.7rem;color:var(--rest-muted); }.chart-legend{display:flex;justify-content:center;gap:20px;margin-top:18px}.chart-legend span{font-size:.72rem;color:var(--rest-muted)}.chart-legend i,.inventory-row i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-inline-end:6px}
.inventory-total{text-align:center;padding:8px 0 22px}.inventory-total strong,.inventory-total span{display:block}.inventory-total strong{font-size:2.5rem}.inventory-total span{color:var(--rest-muted)}.inventory-row{display:flex;justify-content:space-between;padding:13px 2px;border-top:1px solid var(--rest-border)}
.due-list>div{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--rest-border)}.due-date{display:grid;place-items:center;height:42px;background:#edf4ff;color:#1d4ed8;border-radius:9px;font-size:.72rem;font-weight:750}.due-list strong,.due-list small{display:block}.due-list small{color:var(--rest-muted);font-size:.68rem}.due-list b{font-size:.82rem}

@media(max-width:991.98px){.finance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.liquidity-grid{grid-template-columns:1fr}.finance-hero{align-items:flex-start;flex-direction:column}.hero-stat{width:100%}.trend-chart{gap:12px}}
@media(max-width:575.98px){.finance-kpis{grid-template-columns:1fr}.finance-hero{padding:24px 20px}.finance-hero>div:first-child strong{font-size:1.8rem}.profile-cover{height:105px}.bulk-action-bar{position:sticky;left:0}.trend-chart{height:220px}.trend-bars{height:170px}}

.connectivity-pill { position: fixed; inset-inline-end: 18px; bottom: 18px; z-index: 1090; padding: 8px 12px; border-radius: 999px; background: #26332f; color: white; box-shadow: var(--rest-shadow); font-size: .75rem; font-weight: 700; }
.connectivity-pill.is-online { background: #176b53; }
.connectivity-pill.is-offline { background: #9b3b35; }

.tower-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: .75rem; }
.unit-tile { display: block; padding: .9rem; color: inherit; background: var(--rest-surface); border: 1px solid var(--rest-border); border-radius: 12px; transition: transform .15s, box-shadow .15s; }
.unit-tile:hover { transform: translateY(-2px); box-shadow: var(--rest-shadow); color: inherit; }
.unit-tile[data-status="available"] { border-inline-start: 4px solid #2a9d78; }
.unit-tile[data-status="reserved"] { border-inline-start: 4px solid #e0a52e; }
.unit-tile[data-status="sold"] { border-inline-start: 4px solid #4361a7; }
.unit-tile[data-status="blocked"], .unit-tile[data-status="returned"] { border-inline-start: 4px solid #9b3b35; }

@media (max-width: 767.98px) {
    .container-xxl { padding-inline: 1rem; }
    .card-body { padding: 1rem; }
    .tower-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .table-responsive .table { min-width: 680px; }
    .kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
