:root{--primary: #b9c7e4;--on-primary: #142033;--income: #4edea3;--income-strong: #6ff0b8;--ai: #4cd7f6;--warning: #f7c66a;--danger: #ff7b86;--surface: #0b1220;--surface-low: #101826;--surface-card: #161f2e;--surface-high: #1d2938;--surface-highest: #263448;--text: #eef4ff;--text-muted: #9aa8bf;--outline: #314158;--shadow: 0 22px 60px rgba(0, 0, 0, .36);--shadow-soft: 0 12px 36px rgba(0, 0, 0, .22);--sidebar-width: 264px}body[data-theme=light]{--surface: #eef3f8;--surface-low: #e6edf4;--surface-card: #ffffff;--surface-high: #f6f9fc;--surface-highest: #e9eff7;--text: #172033;--text-muted: #637087;--outline: #d6dfeb;--shadow: 0 18px 46px rgba(29, 42, 62, .14);--shadow-soft: 0 10px 26px rgba(29, 42, 62, .1)}:root{--background: #081425;--surface: #081425;--surface-lowest: #040e1f;--surface-low: #111c2d;--surface-card: #152031;--surface-high: #1f2a3c;--surface-highest: #2a3548;--surface-bright: #2f3a4c;--text: #d8e3fb;--text-muted: #c5c6cd;--outline: #44474d;--outline-strong: #5e6878;--primary: #b9c7e4;--on-primary: #233148;--income: #4edea3;--income-strong: #00a572;--ai: #4cd7f6;--warning: #f7c66a;--danger: #ffb4ab;--danger-strong: #93000a;--shadow: 0 18px 46px rgba(0, 0, 0, .32);--shadow-soft: 0 10px 28px rgba(0, 0, 0, .18);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--sidebar-width: 264px}[data-theme=light]{--background: #edf3fb;--surface: #f7fafe;--surface-lowest: #ffffff;--surface-low: #e5edf8;--surface-card: #ffffff;--surface-high: #dce7f5;--surface-highest: #cbd8e8;--surface-bright: #b8c8da;--text: #0d1c32;--text-muted: #4e5c6f;--outline: #bdcad9;--outline-strong: #9cacbd;--primary: #2f4f78;--on-primary: #ffffff;--income: #007a52;--income-strong: #00a572;--ai: #006d82;--warning: #8a5d00;--danger: #b3261e;--danger-strong: #7a1512;--shadow: 0 16px 36px rgba(20, 33, 54, .14)}*{box-sizing:border-box;letter-spacing:0}html{min-width:320px}body{margin:0;min-height:100vh;background:radial-gradient(circle at top right,color-mix(in srgb,var(--ai) 9%,transparent),transparent 34rem),linear-gradient(180deg,var(--background),var(--surface-lowest));color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.45;overflow:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--surface-highest);border-radius:999px}.material-symbols-outlined{direction:ltr;display:inline-flex;font-family:Material Symbols Outlined;font-feature-settings:"liga";font-size:20px;font-style:normal;font-weight:400;line-height:1;text-transform:none;white-space:nowrap;word-wrap:normal;-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.material-symbols-outlined.filled{font-variation-settings:"FILL" 1,"wght" 500,"GRAD" 0,"opsz" 24}.app-shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);height:100vh;overflow:hidden;background:var(--background)}.sidebar{display:flex;min-height:0;flex-direction:column;border-right:1px solid color-mix(in srgb,var(--outline) 72%,transparent);background:linear-gradient(180deg,var(--surface-low),var(--surface-card))}.brand{display:flex;align-items:center;gap:10px;min-height:64px;padding:0 18px;border-bottom:1px solid color-mix(in srgb,var(--outline) 65%,transparent)}.brand-logo,.avatar,.mini-logo{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;overflow:hidden;border:1px solid color-mix(in srgb,var(--primary) 30%,transparent);background:color-mix(in srgb,var(--primary) 18%,transparent);color:var(--primary)}.brand-logo{width:34px;height:34px;border-radius:8px}.brand-logo img,.mini-logo img,.avatar img{width:100%;height:100%;object-fit:cover}.brand-text{min-width:0}.brand-name{display:block;overflow:hidden;color:var(--primary);font-size:18px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.brand-tagline{display:block;overflow:hidden;color:var(--text-muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.side-nav{display:flex;flex:1;flex-direction:column;gap:4px;overflow-y:auto;padding:12px 10px}.nav-item{display:flex;align-items:center;gap:10px;width:100%;min-height:38px;border:0;border-radius:8px;background:transparent;color:var(--text-muted);padding:8px 10px;text-align:left;transition:background .16s ease,color .16s ease,transform .16s ease}.nav-item:hover{background:color-mix(in srgb,var(--surface-highest) 54%,transparent);color:var(--text)}.nav-item.active{background:var(--income-strong);color:#002113;font-weight:600}.nav-item .material-symbols-outlined{font-size:21px}.sidebar-footer{border-top:1px solid color-mix(in srgb,var(--outline) 65%,transparent);padding:12px}.user-card{display:flex;align-items:center;gap:10px;min-width:0}.avatar{width:34px;height:34px;border-radius:999px;color:var(--text);font-weight:700}.user-card strong,.user-card span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-card span{color:var(--text-muted);font-size:12px}.workspace{display:flex;min-width:0;min-height:0;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;min-height:64px;border-bottom:1px solid color-mix(in srgb,var(--outline) 45%,transparent);background:color-mix(in srgb,var(--surface) 88%,transparent);padding:0 24px;box-shadow:0 1px color-mix(in srgb,#ffffff 4%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-title{display:none;align-items:center;min-width:0;gap:10px}.mini-logo{width:32px;height:32px;border-radius:8px}.search-box{position:relative;width:min(460px,45vw)}.search-box .material-symbols-outlined{position:absolute;left:12px;top:50%;color:var(--text-muted);font-size:19px;transform:translateY(-50%)}.search-box input,.input,.textarea,.select{width:100%;border:1px solid color-mix(in srgb,var(--outline) 65%,transparent);border-radius:8px;outline:none;background:var(--surface-high);color:var(--text);transition:border .16s ease,background .16s ease,box-shadow .16s ease}.search-box input{height:40px;border-radius:999px;padding:0 14px 0 40px}.input,.select{min-height:40px;padding:8px 10px}.textarea{min-height:96px;resize:vertical;padding:10px}.search-box input:focus,.input:focus,.textarea:focus,.select:focus{border-color:color-mix(in srgb,var(--primary) 78%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent)}.topbar-actions{display:flex;align-items:center;gap:10px}.icon-button,.primary-button,.secondary-button,.ghost-button,.danger-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;transition:transform .16s ease,background .16s ease,color .16s ease,border .16s ease}.icon-button:active,.primary-button:active,.secondary-button:active,.ghost-button:active,.danger-button:active,.nav-item:active{transform:scale(.98)}.icon-button{width:36px;height:36px;background:var(--surface-high);color:var(--text-muted)}.icon-button:hover{background:var(--surface-highest);color:var(--text)}.primary-button,.secondary-button,.ghost-button,.danger-button{min-height:36px;gap:8px;padding:8px 14px;font-weight:600}.primary-button{background:var(--primary);color:var(--on-primary)}.secondary-button{background:var(--income-strong);color:#002113}.ghost-button{border:1px solid color-mix(in srgb,var(--outline) 70%,transparent);background:var(--surface-high);color:var(--text)}.danger-button{background:color-mix(in srgb,var(--danger) 18%,transparent);color:var(--danger)}.page-content{min-height:0;flex:1;overflow-y:auto;padding:24px}.page{width:min(100%,1440px);margin:0 auto}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}.page-kicker,.label{color:var(--text-muted);font-size:12px;font-weight:600;text-transform:uppercase}.page-title{margin:0;color:var(--text);font-size:32px;line-height:1.2}.page-subtitle{margin:4px 0 0;color:var(--text-muted)}.page-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px}.three-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi-card,.panel,.table-panel,.insight-card,.settings-panel,.assistant-card,.metric-card,.module-card{border:1px solid color-mix(in srgb,var(--outline) 54%,transparent);border-radius:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-card) 94%,#ffffff),var(--surface-card));box-shadow:inset 0 1px color-mix(in srgb,#ffffff 5%,transparent),var(--shadow-soft)}.kpi-card{position:relative;min-height:148px;overflow:hidden;padding:18px;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.kpi-card:hover,.panel:hover,.table-panel:hover,.metric-card:hover,.module-card:hover{border-color:color-mix(in srgb,var(--primary) 24%,var(--outline));box-shadow:inset 0 1px color-mix(in srgb,#ffffff 6%,transparent),var(--shadow)}.kpi-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:22px}.kpi-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:color-mix(in srgb,var(--primary) 18%,transparent);color:var(--primary)}.kpi-value{overflow-wrap:anywhere;color:var(--text);font-size:30px;font-weight:700;line-height:1.12;font-variant-numeric:tabular-nums}.kpi-note{display:flex;align-items:center;gap:4px;margin-top:8px;color:var(--text-muted);font-size:12px;font-weight:600}.tone-income .kpi-icon,.tone-income .kpi-note{color:var(--income)}.tone-expense .kpi-icon,.tone-expense .kpi-note{color:var(--danger)}.tone-ai{border-color:color-mix(in srgb,var(--ai) 42%,transparent);box-shadow:inset 0 1px color-mix(in srgb,var(--ai) 25%,transparent),0 0 20px color-mix(in srgb,var(--ai) 5%,transparent)}.tone-ai .kpi-icon,.tone-ai .kpi-note{color:var(--ai)}.dashboard-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px}.dashboard-main{min-width:0}.dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:16px;margin-bottom:16px}.panel,.table-panel{overflow:hidden}.panel-header,.table-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;border-bottom:1px solid color-mix(in srgb,var(--outline) 45%,transparent);padding:14px 16px}.panel-title,.table-title{margin:0;font-size:18px;line-height:1.25}.panel-body{padding:16px}.period-toggle,.segmented{display:inline-flex;gap:4px;border-radius:999px;background:var(--surface-high);padding:4px}.period-toggle button,.segmented button{min-height:28px;border:0;border-radius:999px;background:transparent;color:var(--text-muted);padding:4px 10px;font-size:12px;font-weight:600}.period-toggle button.active,.segmented button.active{background:var(--surface-highest);color:var(--text)}.bar-chart{position:relative;display:flex;align-items:end;justify-content:space-between;gap:8px;height:260px;border-bottom:1px solid var(--outline);padding:20px 10px 0}.bar-chart:before,.bar-chart:after{content:"";position:absolute;left:10px;right:10px;height:1px;background:color-mix(in srgb,var(--outline) 55%,transparent)}.bar-chart:before{top:35%}.bar-chart:after{top:66%}.bar{position:relative;z-index:1;flex:1;min-width:12px;max-width:34px;border-radius:5px 5px 0 0;background:var(--income-strong)}.bar.expense{background:var(--danger-strong)}.chart-labels{display:flex;justify-content:space-between;color:var(--text-muted);font-size:12px;font-weight:600;padding:8px 10px 0}.approval-list,.activity-list,.report-grid,.module-grid,.ai-stack{display:grid;gap:10px}.approval-item,.activity-item,.report-card,.module-card,.quick-action,.chat-message{border:1px solid color-mix(in srgb,var(--outline) 40%,transparent);border-radius:8px;background:var(--surface-high)}.approval-item{padding:12px}.approval-top,.activity-item,.setting-row,.restore-preview-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.approval-title,.table-name{color:var(--text);font-weight:600}.muted{color:var(--text-muted)}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.money.income{color:var(--income)}.money.expense{color:var(--danger)}.status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:24px;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700;text-transform:uppercase;white-space:nowrap;letter-spacing:0}.status-success{border:1px solid color-mix(in srgb,var(--income) 35%,transparent);background:color-mix(in srgb,var(--income) 15%,transparent);color:var(--income)}.status-warning{border:1px solid color-mix(in srgb,var(--warning) 35%,transparent);background:color-mix(in srgb,var(--warning) 15%,transparent);color:var(--warning)}.status-danger{border:1px solid color-mix(in srgb,var(--danger) 35%,transparent);background:color-mix(in srgb,var(--danger) 15%,transparent);color:var(--danger)}.status-info{border:1px solid color-mix(in srgb,var(--ai) 35%,transparent);background:color-mix(in srgb,var(--ai) 15%,transparent);color:var(--ai)}.status-draft{border-color:color-mix(in srgb,var(--outline-strong) 58%,transparent);background:color-mix(in srgb,var(--surface-highest) 52%,transparent);color:var(--text-muted)}.status-pending{border-color:color-mix(in srgb,var(--warning) 44%,transparent);background:color-mix(in srgb,var(--warning) 13%,transparent);color:var(--warning)}.status-approved{border-color:color-mix(in srgb,var(--ai) 42%,transparent);background:color-mix(in srgb,var(--ai) 13%,transparent);color:var(--ai)}.status-paid{border-color:color-mix(in srgb,var(--income) 42%,transparent);background:color-mix(in srgb,var(--income) 14%,transparent);color:var(--income)}.status-rejected{border-color:color-mix(in srgb,var(--danger) 42%,transparent);background:color-mix(in srgb,var(--danger) 13%,transparent);color:var(--danger)}.table-actions,.filters,.form-actions{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;min-height:32px;border:1px solid color-mix(in srgb,var(--outline) 65%,transparent);border-radius:999px;background:var(--surface-high);color:var(--text-muted);padding:6px 12px;font-weight:600;white-space:nowrap}.chip.active{border-color:var(--income-strong);background:var(--income-strong);color:#002113}.table-wrap{overflow-x:auto}.transaction-cards{display:none}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid color-mix(in srgb,var(--outline) 30%,transparent);padding:12px 16px;text-align:left;vertical-align:middle}th{background:color-mix(in srgb,var(--surface-high) 82%,transparent);color:var(--text-muted);font-size:12px;font-weight:700;text-transform:uppercase;white-space:nowrap}td{color:var(--text)}tbody tr:hover{background:color-mix(in srgb,var(--surface-highest) 24%,transparent)}.empty-state{display:grid;place-items:center;gap:8px;min-height:180px;padding:24px;color:var(--text-muted);text-align:center}.empty-state .material-symbols-outlined{color:var(--ai);font-size:34px}.empty-state strong{color:var(--text);font-size:16px}.transaction-card{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--outline) 45%,transparent);border-radius:14px;background:linear-gradient(180deg,var(--surface-card),var(--surface-low));padding:13px;box-shadow:inset 0 1px color-mix(in srgb,#ffffff 5%,transparent)}.transaction-card:before{content:"";position:absolute;bottom:0;left:0;top:0;width:3px;background:var(--danger)}.transaction-card.income:before{background:var(--income)}.transaction-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:color-mix(in srgb,var(--surface-highest) 72%,transparent);color:var(--danger)}.transaction-card.income .transaction-icon{color:var(--income)}.transaction-main{min-width:0}.transaction-main strong,.transaction-main span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transaction-main strong{color:var(--text);font-size:14px}.transaction-main span{color:var(--text-muted);font-size:12px}.transaction-side{display:flex;grid-column:1 / -1;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid color-mix(in srgb,var(--outline) 28%,transparent);padding-top:10px}.skeleton-demo{display:grid;grid-template-columns:1fr .7fr .42fr;gap:12px;border-top:1px solid color-mix(in srgb,var(--outline) 30%,transparent);background:color-mix(in srgb,var(--surface-low) 75%,transparent);padding:12px 16px}.skeleton-demo span{height:12px;overflow:hidden;border-radius:999px;background:linear-gradient(90deg,var(--surface-high),var(--surface-highest),var(--surface-high));background-size:220% 100%;animation:skeleton-pulse 1.3s ease-in-out infinite}@keyframes skeleton-pulse{0%{background-position:100% 0}to{background-position:-100% 0}}.ai-column{display:flex;min-width:0;flex-direction:column;gap:12px}.insight-card{position:relative;overflow:hidden;padding:14px}.insight-card:before{content:"";position:absolute;bottom:0;left:0;top:0;width:3px;background:var(--ai)}.insight-card.danger:before{background:var(--danger)}.insight-card.success:before{background:var(--income)}.insight-title{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:14px}.insight-card p{margin:0;color:var(--text-muted)}.progress{height:7px;overflow:hidden;border-radius:999px;background:var(--surface-highest)}.progress span{display:block;height:100%;border-radius:inherit;background:var(--ai)}.stat-grid,.settings-grid,.assistant-layout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px}.four-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card{padding:16px}.metric-value{display:block;margin-top:6px;color:var(--text);font-size:24px;font-weight:700;font-variant-numeric:tabular-nums}.content-split{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px}.form-panel{border:1px solid color-mix(in srgb,var(--outline) 58%,transparent);border-radius:12px;background:var(--surface-card);padding:16px}.form-grid{display:grid;gap:12px}.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.field{display:grid;gap:6px}.field label,.field>span{color:var(--text-muted);font-size:12px;font-weight:700}.amount-preview{border:1px solid color-mix(in srgb,var(--outline) 45%,transparent);border-radius:12px;background:var(--surface-low);padding:18px;text-align:center}.amount-preview .label{display:block;margin-bottom:4px}.amount-preview strong{display:block;overflow-wrap:anywhere;font-size:34px;line-height:1.1;font-variant-numeric:tabular-nums}.receipt-box{display:grid;place-items:center;gap:10px;border:2px dashed color-mix(in srgb,var(--outline) 70%,transparent);border-radius:12px;background:var(--surface-low);padding:18px;text-align:center}.receipt-box img{width:88px;height:112px;border-radius:8px;object-fit:cover;border:1px solid var(--outline)}.settings-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start}.settings-panel{padding:16px}.settings-panel h2,.assistant-card h2,.form-panel h2{margin:0 0 12px;font-size:18px}.settings-panel+.settings-panel,.stack>*+*{margin-top:16px}.logo-preview{display:flex;align-items:center;gap:12px;border:1px solid color-mix(in srgb,var(--outline) 50%,transparent);border-radius:12px;background:var(--surface-low);padding:12px}.logo-preview .brand-logo{width:54px;height:54px}.swatches{display:flex;flex-wrap:wrap;gap:8px}.swatch{width:36px;height:36px;border:2px solid transparent;border-radius:999px;background:var(--swatch)}.swatch.active{border-color:var(--text);box-shadow:0 0 0 3px color-mix(in srgb,var(--swatch) 32%,transparent)}.backup-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.restore-preview{display:grid;gap:8px;border:1px solid color-mix(in srgb,var(--outline) 45%,transparent);border-radius:8px;background:var(--surface-low);padding:12px}.activity-item{padding:10px}.assistant-layout{grid-template-columns:320px minmax(0,1fr)}.assistant-card{border:1px solid color-mix(in srgb,var(--outline) 58%,transparent);border-radius:12px;background:var(--surface-card);padding:16px}.budget-meter{display:grid;gap:8px}.assistant-chat{display:grid;gap:12px}.chat-window{display:grid;max-height:460px;gap:10px;overflow-y:auto;border:1px solid color-mix(in srgb,var(--outline) 45%,transparent);border-radius:12px;background:var(--surface-low);padding:12px}.chat-message{max-width:78%;padding:10px 12px}.chat-message.user{justify-self:end;border-color:color-mix(in srgb,var(--primary) 35%,transparent);background:color-mix(in srgb,var(--primary) 16%,transparent)}.chat-message.ai{justify-self:start;border-color:color-mix(in srgb,var(--ai) 35%,transparent);background:color-mix(in srgb,var(--ai) 12%,transparent)}.quick-action{display:flex;align-items:flex-start;gap:10px;width:100%;border-color:color-mix(in srgb,var(--ai) 28%,transparent);color:var(--text);padding:12px;text-align:left}.quick-action .material-symbols-outlined{color:var(--ai)}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.enhanced-list{grid-template-columns:1fr}.report-card,.module-card{display:flex;min-height:112px;align-items:center;justify-content:space-between;gap:12px;padding:16px}.vertical-card{align-items:stretch;flex-direction:column}.approval-card{display:grid;gap:12px;border:1px solid color-mix(in srgb,var(--outline) 42%,transparent);border-radius:14px;background:linear-gradient(180deg,var(--surface-card),var(--surface-low));padding:16px;box-shadow:inset 0 1px color-mix(in srgb,#ffffff 5%,transparent)}.approval-card h3{margin:4px 0;color:var(--text);font-size:18px}.approval-amount{display:grid;justify-items:end;gap:8px;color:var(--text);font-variant-numeric:tabular-nums}.approval-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.page-tabs{margin-bottom:0}.detail-stack{display:grid;gap:12px}.report-card.featured{grid-column:1 / -1}.report-card .material-symbols-outlined,.module-card .material-symbols-outlined{color:var(--ai);font-size:28px}.report-card{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer}.report-card.active{border-color:color-mix(in srgb,var(--primary) 52%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 28%,transparent),var(--shadow-sm)}.report-card:focus-visible{outline:2px solid var(--primary);outline-offset:3px}button.module-card{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer}button.module-card.active{border-color:color-mix(in srgb,var(--primary) 52%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 28%,transparent),var(--shadow-sm)}button.module-card:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0000007a}.drawer-panel{position:fixed;inset:0 0 0 auto;z-index:70;display:flex;width:min(460px,100vw);flex-direction:column;border-left:1px solid color-mix(in srgb,var(--outline) 70%,transparent);background:var(--surface-card);box-shadow:var(--shadow)}.drawer-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;border-bottom:1px solid color-mix(in srgb,var(--outline) 55%,transparent);padding:0 16px}.drawer-body{min-height:0;flex:1;overflow-y:auto;padding:16px}.drawer-footer{border-top:1px solid color-mix(in srgb,var(--outline) 55%,transparent);padding:16px}.bottom-nav,.mobile-module-nav{display:none}.toast{position:fixed;right:22px;bottom:22px;z-index:90;max-width:min(420px,calc(100vw - 32px));border:1px solid color-mix(in srgb,var(--income) 34%,transparent);border-radius:12px;background:var(--surface-card);color:var(--text);box-shadow:var(--shadow);opacity:0;padding:12px 14px;pointer-events:none;transform:translateY(10px);transition:opacity .18s ease,transform .18s ease}.toast.visible{opacity:1;transform:translateY(0)}.hidden-input{display:none}.login-shell{display:grid;min-height:100vh;place-items:center;background:radial-gradient(circle at 80% 20%,color-mix(in srgb,var(--ai) 10%,transparent),transparent 28rem),linear-gradient(180deg,var(--background),var(--surface-lowest));padding:24px}.login-card{display:grid;width:min(440px,100%);gap:18px;border:1px solid color-mix(in srgb,var(--outline) 58%,transparent);border-radius:14px;background:linear-gradient(180deg,var(--surface-card),var(--surface-low));box-shadow:var(--shadow);padding:22px}.login-brand{display:flex;align-items:center;gap:12px}.login-brand h1{margin:0;color:var(--text);font-size:24px}.login-brand p{margin:4px 0 0;color:var(--text-muted)}.login-mode,.login-error{display:flex;align-items:center;gap:8px;border-radius:8px;padding:10px 12px}.login-mode{border:1px solid color-mix(in srgb,var(--ai) 30%,transparent);background:color-mix(in srgb,var(--ai) 10%,transparent);color:var(--ai);font-weight:700}.login-error{border:1px solid color-mix(in srgb,var(--danger) 35%,transparent);background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}@media (max-width: 1180px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-layout,.content-split{grid-template-columns:1fr}.ai-column{grid-row:auto}}@media (max-width: 860px){body{overflow:auto}.app-shell{display:block;min-height:100vh;height:auto}.sidebar{display:none}.workspace{min-height:100vh}.topbar{min-height:56px;padding:0 14px}.primary-button,.secondary-button,.ghost-button,.danger-button{min-height:44px}.mobile-title{display:flex}.search-box,.topbar .avatar,.topbar .user-role{display:none}.page-content{overflow:visible;padding:14px 14px 112px}.mobile-module-nav{position:sticky;top:56px;z-index:19;display:flex;gap:8px;overflow-x:auto;border-bottom:1px solid color-mix(in srgb,var(--outline) 46%,transparent);background:color-mix(in srgb,var(--surface) 92%,transparent);padding:10px 14px;scrollbar-width:none}.mobile-module-nav::-webkit-scrollbar{display:none}.mobile-module-nav .nav-item{width:auto;min-width:max-content;min-height:42px;border:1px solid color-mix(in srgb,var(--outline) 55%,transparent);background:var(--surface-high);padding:8px 12px;white-space:nowrap}.mobile-module-nav .nav-item.active{border-color:var(--income-strong);background:var(--income-strong);color:#002113}.page-header{align-items:flex-start;flex-direction:column}.page-actions{width:100%;justify-content:stretch}.page-actions>*{flex:1}.form-actions>*{flex:1 1 160px}.page-title{font-size:26px}.kpi-grid,.three-kpi-grid,.stat-grid,.four-stat-grid,.settings-grid,.assistant-layout,.dashboard-grid,.report-grid,.module-grid,.project-cards,.filter-grid{grid-template-columns:1fr}.kpi-value{font-size:25px}.amount-preview strong{font-size:28px}.bar-chart{height:190px}.bottom-nav{position:fixed;bottom:0;left:0;z-index:50;display:grid;width:100%;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;border-top:1px solid color-mix(in srgb,var(--outline) 65%,transparent);background:color-mix(in srgb,var(--surface-low) 94%,#000000);box-shadow:0 -12px 30px #00000047;padding:9px 8px calc(9px + env(safe-area-inset-bottom))}.bottom-nav .nav-item{min-height:60px;flex-direction:column;justify-content:center;gap:4px;padding:7px 2px;text-align:center}.bottom-nav .nav-item[data-open-drawer]{position:relative;top:-14px;min-height:66px;border:4px solid var(--surface-low);border-radius:18px;background:var(--primary);color:var(--on-primary);box-shadow:0 14px 28px #00000057}.transaction-panel .table-wrap{display:none}.transaction-panel .transaction-cards{display:grid;gap:10px;padding:12px}.skeleton-demo{grid-template-columns:1fr;padding:12px}.bottom-nav .nav-item span:last-child{max-width:100%;overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.chat-message{max-width:92%}.backup-actions{grid-template-columns:1fr}.approval-top,.setting-row,.restore-preview-row{align-items:flex-start}}@media (max-width: 520px){.topbar-actions .ghost-button{display:none}.kpi-card,.panel-body,.settings-panel,.assistant-card,.form-panel{padding:14px}.drawer-panel{width:100vw}.transaction-card{padding:12px}.transaction-side .money{max-width:62%;overflow:hidden;font-size:13px;text-overflow:ellipsis}.approval-card .approval-top,.approval-card .setting-row{flex-direction:column}.approval-amount{width:100%;justify-items:start}.metric-value,.kpi-value{overflow-wrap:anywhere}}
