@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
:root{--ink:#172b4d;--muted:#718096;--line:#e7edf3;--bg:#f5f7fb;--blue:#315be8;--green:#12805c;--red:#c53d4b;--radius:16px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Arial,sans-serif;font-size:14px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh}.sidebar{width:252px;background:#fff;border-right:1px solid var(--line);position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:24px 16px;z-index:20}.brand{display:flex;gap:11px;align-items:center;padding:0 10px 28px;font-weight:800;font-size:18px}.brand small{display:block;font-weight:500;font-size:11px;color:var(--muted);margin-top:4px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;background:#e8edff;color:var(--blue);border-radius:13px;font-size:22px;font-weight:800;flex-shrink:0}.sidebar nav{display:flex;flex-direction:column;gap:5px}.sidebar nav>a{display:flex;gap:13px;align-items:center;padding:13px 14px;color:#63718a;border-radius:11px;font-weight:600}.sidebar nav>a:hover,.sidebar nav>a.active{background:#edf1ff;color:var(--blue)}.nav-label{font-size:10px;letter-spacing:1.2px;font-weight:800;color:#9aa5b6;padding:24px 14px 8px}.sidebar-bottom{margin-top:auto}.user-mini{display:flex;align-items:center;gap:10px;padding:15px 8px;border-top:1px solid var(--line)}.avatar{width:35px;height:35px;border-radius:50%;background:#e5f4ed;color:#157451;display:grid;place-items:center;font-weight:800}.user-mini strong,.user-mini small{display:block}.user-mini small{font-size:11px;color:var(--muted);margin-top:4px}.logout{display:block;padding:12px;color:#78859a}.main-area{margin-left:252px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 34px;gap:15px}.topbar>div:nth-child(2) strong,.topbar>div:nth-child(2) small{display:block}.topbar>div:nth-child(2) small{font-size:11px;color:var(--muted);margin-top:4px}.topbar-right{margin-left:auto}.today{color:var(--muted);font-size:12px}.menu-toggle{display:none;border:0;background:transparent;font-size:22px}.content{padding:30px 34px;flex:1;max-width:1600px;width:100%;margin:0 auto}.footer{padding:18px 34px;color:#8b96a8;font-size:11px;border-top:1px solid var(--line);display:flex;justify-content:space-between}.welcome-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.welcome-row h1,.form-intro h1{font-size:25px;letter-spacing:-.8px;margin:0 0 8px}.muted{color:var(--muted);margin:0;line-height:1.6}.quick-actions{display:flex;gap:10px;flex-wrap:wrap}.btn{border:1px solid transparent;display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:11px 16px;border-radius:10px;font-weight:700;cursor:pointer;white-space:nowrap}.btn.primary{background:var(--blue);color:#fff;box-shadow:0 5px 12px #315be822}.btn.primary:hover{background:#2348ca}.btn.outline{background:#fff;border-color:#dce3ed;color:#40516c}.btn.full{width:100%;margin-top:6px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:27px 0 15px}.section-heading h2{font-size:16px;margin:0}.section-heading>a{font-size:12px;color:var(--blue);font-weight:700}.section-heading>span{font-size:12px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;min-width:0}.stat-top{display:flex;justify-content:space-between;align-items:center;color:#63718a;font-size:12px;font-weight:600}.stat-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;font-size:18px;background:#f1f4fb}.stat-card>strong{display:block;font-size:25px;letter-spacing:-.7px;margin:16px 0 8px;overflow-wrap:anywhere}.stat-card>small{color:var(--muted);font-size:11px}.stat-card.income .stat-icon{background:#e5f7ef;color:var(--green)}.stat-card.expense .stat-icon{background:#fff0f0;color:var(--red)}.stat-card.balance .stat-icon{background:#eaf0ff;color:var(--blue)}.stat-card.entries .stat-icon{background:#fff4df;color:#a36a09}.period-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.period-card{padding:20px}.period-title{font-weight:700;margin-bottom:17px}.period-line{display:flex;justify-content:space-between;padding:10px 0;color:#69778d;border-bottom:1px solid #f0f3f7}.period-line strong{color:var(--ink)}.period-line .positive{color:var(--green)}.period-line .negative{color:var(--red)}.period-line.total{border:0;padding-bottom:0;font-weight:700}.table-panel{overflow:hidden}.table-wrap{overflow-x:auto;width:100%}table{width:100%;border-collapse:collapse;white-space:nowrap}th{text-align:left;color:#8792a5;font-size:10px;letter-spacing:.6px;text-transform:uppercase;font-weight:800;background:#fbfcfe}th,td{padding:15px 18px;border-bottom:1px solid #edf1f5}td{font-size:12px;color:#4d5c73}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfcff}td strong{color:var(--ink)}.right{text-align:right}.amount{font-weight:700}.positive{color:var(--green)!important}.negative{color:var(--red)!important}.cell-sub{display:block;color:#9aa4b4;font-size:10px;margin-top:5px;max-width:240px;overflow:hidden;text-overflow:ellipsis}.pill{display:inline-block;padding:5px 9px;border-radius:20px;font-size:10px;font-weight:700}.pill.income{color:var(--green);background:#e5f7ef}.pill.expense{color:var(--red);background:#fff0f0}.table-link{color:var(--blue);font-weight:700;font-size:11px;border:0;background:none;cursor:pointer}.link-danger{color:var(--red);font-weight:700;font-size:11px;border:0;background:none;cursor:pointer}.action-row{display:flex;gap:10px;align-items:center}.action-row form{margin:0}.empty{text-align:center;padding:35px;color:#8792a5}.alert{padding:13px 16px;border-radius:10px;margin-bottom:20px;font-size:12px;line-height:1.6}.alert.error{background:#fff0f0;color:#a52b38;border:1px solid #ffd7db}.alert.success{background:#e8f8ef;color:#11633f;border:1px solid #c8efd9}.filter-bar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;padding:17px;margin-bottom:16px}.filter-bar label,.form-grid label,.form-stack label{display:flex;flex-direction:column;gap:7px;color:#586780;font-size:11px;font-weight:700}.filter-bar input,.filter-bar select,.form-grid input,.form-grid select,.form-grid textarea,.form-stack input{border:1px solid #dfe5ed;background:#fff;border-radius:9px;padding:11px 12px;min-height:40px;min-width:0;color:var(--ink);outline:none}.filter-bar input:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.form-stack input:focus{border-color:#8ca2ff;box-shadow:0 0 0 3px #315be815}.filter-bar .search-field{flex:1;min-width:170px}.mini-summary{display:flex;gap:22px;flex-wrap:wrap;padding:15px 4px;color:#758198;font-size:12px}.mini-summary strong{margin-left:4px}.form-page{max-width:900px;margin:0 auto}.form-intro{margin-bottom:22px}.eyebrow{color:var(--blue);font-size:10px;letter-spacing:1.5px;font-weight:800;display:block;margin-bottom:9px}.form-panel{padding:26px}.type-switch{display:flex;gap:8px;padding:5px;background:#f5f7fb;border-radius:12px;margin-bottom:24px}.type-switch a{flex:1;text-align:center;padding:12px;border-radius:9px;color:#6c7890;font-weight:800}.type-switch .income-select{background:#e2f7ed;color:var(--green)}.type-switch .expense-select{background:#ffebed;color:var(--red)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}.full-span{grid-column:1/-1}.form-grid textarea{resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.report-tabs{display:flex;gap:7px;margin-bottom:16px;flex-wrap:wrap}.report-tabs a{padding:10px 15px;background:#fff;border:1px solid var(--line);border-radius:9px;font-weight:700;color:#6e7b91;font-size:12px}.report-tabs a.active{background:#eaf0ff;color:var(--blue);border-color:#cbd6ff}.report-heading{display:flex;justify-content:space-between;align-items:center;padding:25px 0}.report-heading h2{font-size:23px;margin:0 0 8px}.report-heading p{margin:0;color:var(--muted);font-size:12px}.report-logo{width:50px;height:50px;border-radius:14px;background:#eaf0ff;color:var(--blue);display:grid;place-items:center;font-size:25px;font-weight:800}.report-stats{margin-bottom:20px}.report-stats .stat-card{padding:16px}.report-stats .stat-card>strong{font-size:20px;margin:12px 0 0}.report-stats .stat-card>span{color:var(--muted);font-size:11px}.report-panel{margin-bottom:18px;overflow:hidden}.report-panel h3{font-size:14px;padding:20px 18px 0;margin:0}.report-panel table{margin-top:12px}.report-panel tfoot th{background:#f5f7fb;color:var(--ink)}.print-note{color:#8b96a8;font-size:10px;margin-top:25px}.user-create{padding:24px;margin-bottom:20px}.user-create h2{font-size:15px;margin:0 0 20px}.auth-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(140deg,#f1f4ff,#f8fafc 55%,#e9f7f0)}.auth-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:38px;width:min(100%,430px);box-shadow:0 25px 80px #1d355710}.auth-card>.brand-mark{margin-bottom:22px}.auth-card h1{font-size:26px;margin:0 0 8px;letter-spacing:-.8px}.auth-card>.muted{margin-bottom:25px}.form-stack{display:flex;flex-direction:column;gap:17px}.auth-foot{font-size:12px;color:var(--muted);text-align:center;margin:22px 0 0}.auth-foot a{color:var(--blue);font-weight:700}
@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content{padding:25px 22px}.topbar{padding:0 22px}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:transform .2s;box-shadow:none}.sidebar.open{transform:translateX(0);box-shadow:15px 0 45px #172b4d22}.main-area{margin-left:0}.menu-toggle{display:block}.topbar{height:65px;padding:0 17px}.content{padding:22px 15px}.welcome-row{align-items:flex-start;flex-direction:column;margin-bottom:24px}.welcome-row h1,.form-intro h1{font-size:22px}.quick-actions{width:100%}.quick-actions .btn{flex:1}.stats-grid{gap:10px}.stat-card{padding:15px}.stat-card>strong{font-size:21px}.stat-card>small{font-size:10px}.period-grid{grid-template-columns:1fr}.section-heading{margin-top:24px}.footer{padding:16px;gap:6px;flex-direction:column}.filter-bar{align-items:stretch}.filter-bar label,.filter-bar .search-field{width:100%}.filter-bar .btn{flex:1}.mini-summary{gap:12px}.form-panel{padding:17px}.form-grid{grid-template-columns:1fr}.full-span{grid-column:auto}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}.report-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.report-heading h2{font-size:19px}.auth-card{padding:28px 23px}}
@media print{@page{size:A4 landscape;margin:12mm}body{background:#fff;font-size:10px;color:#111}.sidebar,.topbar,.footer,.no-print,.quick-actions,.section-heading a,.table-link,.link-danger{display:none!important}.main-area{margin:0}.content{padding:0;max-width:none}.panel,.stat-card{box-shadow:none;border:1px solid #ddd;break-inside:avoid}.report-heading{padding:0 0 15px}.report-heading h2{font-size:18px}.report-logo{display:none}.stats-grid{grid-template-columns:repeat(4,1fr);gap:8px}.stat-card{padding:10px}.stat-card>strong{font-size:16px;margin:8px 0}.report-panel{margin-bottom:12px}.report-panel h3{padding:12px 12px 0}th,td{padding:7px 9px;font-size:9px}.print-note{margin-top:10px}.table-wrap{overflow:visible}table{white-space:normal}.report-panel{page-break-inside:avoid}}

.brand-logo{width:42px;height:42px;object-fit:contain;border-radius:10px;border:1px solid var(--line);background:#fff;padding:3px;flex-shrink:0}.inline-edit{display:flex;align-items:center;gap:8px}.inline-edit input{min-width:120px;width:160px;border:1px solid #dfe5ed;border-radius:7px;padding:7px 8px;color:var(--ink)}.settings-panel{max-width:760px}.logo-upload{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center;padding:18px;border:1px dashed #d7deea;border-radius:12px}.settings-logo-preview{display:block;max-width:180px;max-height:110px;object-fit:contain;border:1px solid var(--line);border-radius:10px;padding:8px;margin-top:12px}.logo-placeholder{display:grid;place-items:center;width:160px;height:90px;background:#f4f6fb;border-radius:10px;color:#8792a5;margin-top:12px;font-size:12px}
@media(max-width:760px){.logo-upload{grid-template-columns:1fr}.inline-edit{align-items:flex-start;flex-direction:column}.inline-edit input{width:100%}}

.auth-logo{display:block;width:auto;max-width:150px;height:auto;max-height:90px;object-fit:contain;margin-bottom:22px}

/* Professional A4 portrait report */
.print-report{background:#fff;border:1px solid #dfe6ef;border-radius:14px;padding:25px;color:#172b4d;box-shadow:0 8px 26px #1b31500a;font-size:12px}.print-brand-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding-bottom:17px;border-bottom:2px solid #123b5d}.print-brand-main{display:flex;align-items:center;gap:12px;min-width:0}.print-business-logo{width:64px;height:54px;object-fit:contain}.print-logo-fallback{width:50px;height:50px;border-radius:10px;background:#e9f1f8;color:#123b5d;display:grid;place-items:center;font-size:27px;font-weight:800}.print-brand-main h1{font-size:20px;line-height:1.2;margin:0 0 5px;color:#123b5d;overflow-wrap:anywhere}.print-brand-main p{margin:0;font-size:9px;letter-spacing:1.1px;color:#728198;font-weight:800}.print-meta{display:flex;flex-direction:column;align-items:flex-end;gap:5px;text-align:right;font-size:10px;color:#66758b}.print-meta strong{font-size:11px;color:#123b5d;letter-spacing:.6px}.print-report-title{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:17px 0 14px}.print-report-title h2{font-size:20px;margin:0 0 6px;color:#123b5d}.print-report-title p{margin:0;color:#65758c;font-size:11px}.report-status{border:1px solid #b8d9c7;color:#176744;background:#eef9f2;padding:7px 9px;border-radius:5px;font-size:9px;font-weight:800;white-space:nowrap}.print-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:17px}.print-summary{border:1px solid #dce5ef;border-radius:7px;padding:12px 11px;min-width:0}.print-summary span,.print-summary small{display:block}.print-summary span{font-size:10px;font-weight:800;color:#596a80}.print-summary strong{display:block;font-size:18px;margin:7px 0 4px;overflow-wrap:anywhere;letter-spacing:-.4px}.print-summary small{font-size:9px;color:#75849a}.income-summary{background:#f0faf4;border-color:#c9ead6}.income-summary strong{color:#137346}.expense-summary{background:#fff4f3;border-color:#f3d2d0}.expense-summary strong{color:#bf3434}.balance-summary{background:#f0f5ff;border-color:#d0dcfa}.balance-summary strong{color:#244db7}.count-summary{background:#fff9eb;border-color:#f0e2b7}.count-summary strong{color:#99600d}.print-section{border:1px solid #dbe4ed;border-radius:7px;overflow:hidden;margin-bottom:14px;break-inside:avoid}.print-section-heading{margin:0;padding:10px 12px;background:#123b5d;color:#fff;font-size:11px;letter-spacing:.4px;text-transform:uppercase}.print-table{width:100%;border-collapse:collapse;white-space:normal;table-layout:auto}.print-table th{background:#edf3f8;color:#2b4058;text-transform:none;letter-spacing:0;font-size:9px;padding:7px 6px;border:1px solid #dce5ed}.print-table td{font-size:9px;color:#273950;padding:7px 6px;border:1px solid #e2e8ef;vertical-align:top;overflow-wrap:anywhere}.print-table tbody tr:nth-child(even){background:#f9fbfd}.print-table tfoot th{background:#eaf0f6;color:#183852;font-size:9px;padding:8px 6px;border:1px solid #d5e0e9}.transactions-print-table th:first-child,.transactions-print-table td:first-child{width:22px;text-align:center}.transactions-print-table th:nth-child(2){width:55px}.transactions-print-table th:nth-child(3){width:48px}.transactions-print-table th:nth-child(6){width:46px}.transactions-print-table th:nth-child(7){width:55px}.transactions-print-table th:last-child{width:76px}.print-type{font-size:8px;font-weight:800;display:inline-block;border-radius:3px;padding:3px 4px}.print-type-income{color:#137346;background:#e2f6e9}.print-type-expense{color:#b62935;background:#ffebeb}.print-subline{display:block;font-size:8px;color:#718096;margin-top:3px}.print-category-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.category-print{margin-bottom:13px}.income-category-print .print-section-heading{background:#e8f7ee;color:#17633e;border-bottom:1px solid #cce8d6}.expense-category-print .print-section-heading{background:#fff0ef;color:#ad2c2c;border-bottom:1px solid #f0d1cf}.category-print .print-table th,.category-print .print-table td{padding:6px 7px}.print-report-footer{display:grid;grid-template-columns:1fr 190px;gap:18px;align-items:end;padding:6px 0 12px}.print-remarks{border:1px solid #dce5ed;border-radius:6px;padding:11px 12px}.print-remarks strong{font-size:10px}.print-remarks p{margin:5px 0 0;font-size:9px;color:#62728a;line-height:1.4}.print-signature{text-align:center;padding:0 8px 4px;border-bottom:1px solid #8a98a9;min-height:48px;display:flex;flex-direction:column;justify-content:flex-end;gap:5px}.print-signature span{font-size:9px;color:#62728a}.print-signature strong{font-size:10px;color:#183852}.print-page-footer{border-top:1px solid #dce5ed;padding-top:8px;display:flex;justify-content:space-between;gap:12px;color:#8390a2;font-size:8px}
@media(max-width:760px){.print-report{padding:15px}.print-brand-row{align-items:flex-start}.print-brand-main h1{font-size:16px}.print-meta{font-size:9px}.print-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.print-category-grid{grid-template-columns:1fr}.print-report-footer{grid-template-columns:1fr}.print-signature{min-height:40px}}
@media print{
 @page{size:A4 portrait;margin:8mm}
 html,body{width:100%;min-width:0;background:#fff!important;color:#172b4d!important;font-size:9px!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
 .sidebar,.topbar,.footer,.no-print,.quick-actions,.section-heading a,.table-link,.link-danger{display:none!important}
 .app-shell,.main-area{display:block!important;min-height:0!important;margin:0!important;width:100%!important}
 .content{padding:0!important;margin:0!important;width:100%!important;max-width:none!important}
 .print-report{display:block!important;width:100%!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;font-size:9px!important}
 .print-brand-row{padding-bottom:9px;gap:8px}.print-business-logo{width:48px;height:42px}.print-logo-fallback{width:40px;height:40px;font-size:22px}.print-brand-main h1{font-size:16px}.print-brand-main p{font-size:7px}.print-meta{font-size:8px;gap:3px}.print-meta strong{font-size:9px}.print-report-title{padding:10px 0 8px}.print-report-title h2{font-size:15px;margin-bottom:4px}.print-report-title p{font-size:9px}.report-status{font-size:7px;padding:5px 6px}.print-summary-grid{gap:5px;margin-bottom:9px}.print-summary{padding:7px 6px;border-radius:4px}.print-summary span{font-size:8px}.print-summary strong{font-size:13px;margin:4px 0 2px}.print-summary small{font-size:7px}.print-section{margin-bottom:8px;border-radius:3px;overflow:visible}.print-section-heading{font-size:9px;padding:6px 8px}.print-table th{font-size:7px;padding:4px 3px}.print-table td{font-size:7px;padding:4px 3px;line-height:1.2}.print-table tfoot th{font-size:7px;padding:5px 3px}.transactions-print-table th:first-child,.transactions-print-table td:first-child{width:16px}.transactions-print-table th:nth-child(2){width:43px}.transactions-print-table th:nth-child(3){width:39px}.transactions-print-table th:nth-child(6){width:36px}.transactions-print-table th:nth-child(7){width:42px}.transactions-print-table th:last-child{width:62px}.print-type{font-size:6px;padding:2px}.print-subline{font-size:6px}.print-category-grid{grid-template-columns:1fr 1fr;gap:7px}.category-print{margin-bottom:7px}.category-print .print-table th,.category-print .print-table td{padding:4px 3px;font-size:7px}.print-report-footer{grid-template-columns:1fr 145px;gap:10px;padding:2px 0 8px}.print-remarks{padding:7px 8px}.print-remarks strong{font-size:8px}.print-remarks p{font-size:7px;margin-top:3px}.print-signature{min-height:35px}.print-signature span,.print-signature strong{font-size:7px}.print-page-footer{font-size:7px;padding-top:5px}
 .print-table tr,.print-summary,.print-category-grid,.print-report-footer{break-inside:avoid;page-break-inside:avoid}
 .print-section.transactions-section{break-inside:auto}
 .table-wrap,.print-table-wrap{overflow:visible!important}
 a{color:inherit!important;text-decoration:none!important}
}

/* V8 mobile dashboard and touch-friendly tables */
@media(max-width:760px){.sidebar{height:100dvh;overflow-y:auto;overscroll-behavior:contain}.sidebar nav{flex:1;overflow:visible}.sidebar-bottom{margin-top:16px;flex-shrink:0}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card>strong{font-size:clamp(16px,4.5vw,21px)}.filter-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}.filter-bar label{min-width:0}.filter-bar input,.filter-bar select{width:100%;min-width:0}.filter-bar .btn{grid-column:1/-1;width:100%}.panel{max-width:100%}.table-wrap{overscroll-behavior-x:contain}.table-wrap table{min-width:650px}.quick-actions .btn{min-width:0}.welcome-row .quick-actions{width:auto}.btn{min-height:42px}.topbar-right .today{font-size:10px}}
@media(max-width:420px){.content{padding:16px 10px}.stats-grid{gap:8px}.stat-card{padding:12px}.stat-card>strong{font-size:16px}.filter-bar{grid-template-columns:1fr}.filter-bar .btn{grid-column:auto}.topbar{padding:0 12px}.welcome-row h1{font-size:20px}}

/* V9 sidebar refinement: independently scrollable menu with fixed brand and account footer */
.sidebar{height:100vh;height:100dvh;overflow:hidden;padding:18px 12px 12px;gap:0;box-shadow:2px 0 18px rgba(28,45,75,.035)}
.sidebar .brand{flex:0 0 auto;padding:4px 10px 18px;min-height:66px;border-bottom:1px solid #edf1f6;margin-bottom:10px}
.sidebar nav.sidebar-nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cbd4e2 transparent;padding:2px 3px 14px;gap:4px}
.sidebar nav.sidebar-nav::-webkit-scrollbar{width:5px}
.sidebar nav.sidebar-nav::-webkit-scrollbar-track{background:transparent}
.sidebar nav.sidebar-nav::-webkit-scrollbar-thumb{background:#cbd4e2;border-radius:10px}
.sidebar nav.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#9eacc1}
.sidebar nav.sidebar-nav>a{min-height:43px;padding:11px 12px;gap:12px;font-size:12px;line-height:1.35;transition:background .15s ease,color .15s ease,transform .15s ease}
.sidebar nav.sidebar-nav>a:hover{transform:translateX(2px)}
.sidebar nav.sidebar-nav>a.active{background:#eaf0ff;color:var(--blue);box-shadow:inset 3px 0 0 var(--blue)}
.sidebar nav.sidebar-nav>a.active span{font-weight:800}
.sidebar nav.sidebar-nav .nav-label{padding:18px 12px 7px;font-size:9px;color:#9aa5b6}
.sidebar nav.sidebar-nav .nav-section-start{padding-top:8px}
.sidebar-bottom{flex:0 0 auto;margin-top:0;padding-top:8px;background:#fff;border-top:1px solid var(--line)}
.user-mini{padding:10px 7px;border-top:0;min-width:0}
.user-mini>div:last-child{min-width:0;overflow:hidden}
.user-mini strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.logout{padding:10px 12px;border-radius:9px;font-weight:700;font-size:12px}
.logout:hover{background:#fff0f0;color:#c43845}
.sidebar-backdrop{display:none}
@media(max-width:760px){
 .sidebar{width:min(290px,86vw);padding:14px 12px 10px;z-index:42;transform:translateX(-105%);transition:transform .22s ease;box-shadow:none}
 .sidebar.open{transform:translateX(0);box-shadow:15px 0 45px rgba(23,43,77,.2)}
 .sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(15,25,45,.38);opacity:0;visibility:hidden;transition:opacity .2s;z-index:41;border:0;padding:0}
 .sidebar-backdrop.visible{opacity:1;visibility:visible}
 .sidebar nav.sidebar-nav{padding-bottom:18px}
 .sidebar-bottom{padding-bottom:env(safe-area-inset-bottom,0px)}
}
@media(prefers-reduced-motion:reduce){.sidebar,.sidebar nav.sidebar-nav>a,.sidebar-backdrop{transition:none}}
