:root{color-scheme:light;--bg: #f7fafc;--surface: #ffffff;--surface-soft: #f8fbfd;--border: #dbe5ea;--border-strong: #c9d7df;--text: #172026;--muted: #60717d;--muted-2: #84939d;--teal: #0f9f8a;--teal-dark: #087a6f;--green: #10b981;--red: #ef4444;--amber: #f59e0b;--blue: #2684ff;--shadow: 0 10px 28px rgba(23, 32, 38, .08);--radius: 8px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans Myanmar,Myanmar Text,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;display:flex;min-height:100vh;flex-direction:column;border-right:1px solid var(--border);background:var(--surface);padding:22px 10px}.brand{display:flex;align-items:center;gap:12px;padding:0 12px 26px;color:var(--teal-dark);font-size:20px;font-weight:800;letter-spacing:0}.brand-mark{display:grid;width:36px;height:36px;place-items:center;color:var(--teal)}.nav-list{display:grid;gap:8px}.nav-item{display:flex;width:100%;align-items:center;gap:12px;border:0;border-radius:var(--radius);background:transparent;color:#34434e;padding:13px 14px;text-align:left;font-size:14px;font-weight:650}.nav-item.active{border:1px solid rgba(15,159,138,.35);background:linear-gradient(90deg,#0f9f8a1f,#0f9f8a08);color:var(--teal-dark);box-shadow:inset -3px 0 0 var(--teal)}.settings-link{margin-top:auto}.dashboard{min-width:0;padding:24px 28px 30px}.topbar{display:grid;grid-template-columns:auto minmax(240px,1fr) auto;align-items:center;gap:16px;margin-bottom:18px}.topbar h1{margin:0;font-size:clamp(24px,2vw,32px);line-height:1.25;letter-spacing:0}.topbar p{margin:6px 0 0;color:var(--muted);font-size:14px}.topbar-controls{display:flex;align-items:end;gap:10px}.control,.entry-form label{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:700}select,input,textarea{width:100%;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:14px;outline:none;transition:border-color .14s ease,box-shadow .14s ease}select,input{min-height:44px;padding:0 12px}textarea{min-height:76px;resize:vertical;padding:12px}select:focus,input:focus,textarea:focus{border-color:#0f9f8acc;box-shadow:0 0 0 3px #0f9f8a1f}.icon-button{display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:#34434e}.metric-grid{display:grid;grid-template-columns:repeat(5,minmax(160px,1fr));gap:12px;margin-bottom:14px}.metric-card,.panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.metric-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px 12px;min-height:126px;padding:18px;position:relative}.metric-icon{display:grid;width:48px;height:48px;place-items:center;border-radius:50%;color:#fff}.metric-icon svg{width:24px;height:24px}.metric-icon.positive,.metric-icon.profit,.metric-icon.rate{background:linear-gradient(145deg,var(--green),var(--teal-dark))}.metric-icon.danger{background:linear-gradient(145deg,#fb7185,var(--red))}.metric-icon.warning{background:linear-gradient(145deg,#fbbf24,var(--amber))}.metric-content{display:contents;min-width:0}.metric-content span{display:block;align-self:center;color:var(--muted);font-size:13px;font-weight:700}.metric-content strong{display:block;grid-column:1 / -1;margin-top:4px;font-size:clamp(22px,1.7vw,27px);line-height:1;letter-spacing:0;white-space:nowrap}.metric-content small{display:block;grid-column:1 / -1;margin-top:1px;color:var(--muted);font-size:12px}.metric-delta{position:static;grid-column:1 / -1;margin-top:-2px;color:var(--teal);font-size:12px;font-weight:800}.metric-delta.danger{color:var(--red)}.metric-delta.warning{color:var(--amber)}.content-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:14px}.town-table-panel{grid-column:span 2}.chart-panel{min-height:310px}.expense-panel{grid-column:auto}.entry-panel{grid-row:auto}.expense-ledger-panel{grid-column:1 / -1}.panel{min-width:0;overflow:hidden}.panel-header{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--border);padding:15px 16px}.panel-header div{display:grid;width:30px;height:30px;place-items:center;border-radius:7px;background:#0f9f8a1a;color:var(--teal-dark)}.panel-header h2{margin:0;font-size:16px;line-height:1.35;letter-spacing:0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{border-bottom:1px solid var(--border);padding:12px 14px;text-align:right;white-space:nowrap}th{background:var(--surface-soft);color:var(--muted);font-size:12px;font-weight:800}td:first-child,th:first-child{text-align:left}tfoot td{background:#fbfdfe;font-weight:800}.town-name{color:#23313a;font-weight:760}.money-positive{color:var(--teal-dark);font-weight:800}.money-danger{color:var(--red);font-weight:800}.money-warning{color:#d97706;font-weight:800}.legend-row{display:flex;justify-content:flex-end;gap:18px;padding:12px 16px 0;color:var(--muted);font-size:12px;font-weight:750}.legend-row span,.breakdown-row span{display:inline-flex;align-items:center;gap:7px}.dot,.breakdown-row i{display:inline-block;width:10px;height:10px;border-radius:50%}.income-dot{background:var(--teal)}.expense-dot{background:var(--red)}.bar-chart{display:grid;grid-template-columns:repeat(3,minmax(62px,1fr));align-items:end;gap:14px;height:236px;padding:18px 18px 16px}.bar-group{display:grid;height:100%;align-content:end;gap:8px;text-align:center}.bars{display:flex;align-items:end;justify-content:center;gap:8px;height:178px;border-bottom:1px solid var(--border);background:linear-gradient(to top,transparent 0,transparent 24%,rgba(219,229,234,.65) 25%,transparent 26%),linear-gradient(to top,transparent 0,transparent 49%,rgba(219,229,234,.65) 50%,transparent 51%),linear-gradient(to top,transparent 0,transparent 74%,rgba(219,229,234,.65) 75%,transparent 76%)}.bar{position:relative;width:26px;min-height:8px;border-radius:6px 6px 0 0}.bar span{position:absolute;top:-18px;left:50%;transform:translate(-50%);color:var(--muted);font-size:10px;font-weight:800;white-space:nowrap}.income-bar{background:linear-gradient(180deg,#12b8a0,var(--teal-dark))}.expense-bar{background:linear-gradient(180deg,#fb7185,var(--red))}.bar-group small{color:var(--muted);font-size:11px;font-weight:750}.progress-list{display:grid;gap:12px;padding:16px}.progress-row{display:grid;grid-template-columns:minmax(120px,1fr) 1.3fr auto;align-items:center;gap:12px}.progress-row strong{display:block;color:#26333c;font-size:13px}.progress-row span,.progress-row em,.breakdown-row em{color:var(--muted);font-size:12px;font-style:normal;font-weight:700}.progress-track{height:8px;overflow:hidden;border-radius:999px;background:#e9eef2}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f97316,var(--amber))}.panel-total{display:flex;justify-content:space-between;border-top:1px solid var(--border);padding:14px 16px;color:var(--muted);font-size:13px;font-weight:750}.panel-total strong{color:#26333c}.donut-layout{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;align-items:center;padding:18px}.donut{position:relative;display:grid;place-items:center}.donut svg{width:118px;height:118px;transform:rotate(-90deg)}.donut div{position:absolute;display:grid;place-items:center}.donut strong{font-size:18px;line-height:1}.donut span{margin-top:5px;color:var(--muted);font-size:12px;font-weight:700}.breakdown-list{display:grid;gap:10px}.breakdown-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;color:var(--muted);font-size:13px}.breakdown-row em{display:none}.breakdown-row strong{color:#26333c;font-size:13px}.entry-form{display:grid;gap:12px;padding:16px}.expense-detail-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.wide-field,.calculated-total{grid-column:1 / -1}.calculated-total{display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(15,159,138,.22);border-radius:var(--radius);background:#0f9f8a14;padding:11px 12px;color:var(--muted);font-size:12px;font-weight:800}.calculated-total strong{color:var(--teal-dark);font-size:15px}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:6px;border-radius:var(--radius);background:#edf4f3;padding:4px}.segmented button{min-height:38px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:13px;font-weight:800}.segmented button.selected{background:var(--teal);color:#fff}.segmented button.selected.danger{background:var(--red)}.primary-action{min-height:46px;border:0;border-radius:var(--radius);background:linear-gradient(135deg,#12b8a0,var(--teal-dark));color:#fff;font-size:15px;font-weight:850;box-shadow:0 10px 18px #0f9f8a33}.recent-header{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);padding:14px 16px 8px}.recent-header h3{margin:0;font-size:14px}.recent-header button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--teal-dark);padding:8px 10px;font-size:12px;font-weight:800}.recent-list{display:grid;gap:8px;padding:8px 16px 16px}.recent-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--border);border-radius:var(--radius);padding:10px}.entry-kind{display:grid;width:32px;height:32px;place-items:center;border-radius:50%;color:#fff;font-size:12px;font-weight:850}.entry-kind.income{background:var(--teal)}.entry-kind.expense{background:var(--red)}.recent-item strong{display:block;font-size:13px}.recent-item small{display:block;overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.recent-item em{color:#26333c;font-size:12px;font-style:normal;font-weight:850}.expense-ledger-table td,.expense-ledger-table th{font-size:12px}.expense-ledger-table .ledger-item{max-width:220px;overflow:hidden;color:#23313a;font-weight:760;text-overflow:ellipsis}.control-dashboard{background:radial-gradient(circle at 85% 0%,rgba(15,159,138,.08),transparent 30%),var(--bg)}.control-dashboard-full{min-height:100vh;padding:28px clamp(16px,3vw,48px) 40px}.control-tower{max-width:1600px;margin:0 auto}.control-tower-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px}.control-tower-header h1{margin:6px 0;font-size:clamp(25px,2.2vw,36px);letter-spacing:-.03em}.control-tower-header p{margin:0;color:var(--muted);font-size:14px}.eyebrow{display:flex;align-items:center;gap:7px;color:var(--teal-dark);font-size:12px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.tower-actions{display:flex;align-items:center;gap:10px}.mode-badge{border:1px solid var(--border);border-radius:999px;background:var(--surface);padding:8px 12px;color:var(--muted);font-size:12px;font-weight:800}.mode-badge.live{border-color:#10b98159;background:#10b98117;color:#087a61}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.tower-metrics{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin-bottom:14px}.tower-metric{display:flex;min-height:92px;align-items:center;gap:13px;border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:16px;box-shadow:var(--shadow)}.tower-metric>span{display:grid;width:43px;height:43px;flex:0 0 43px;place-items:center;border-radius:10px;background:#eaf2ff;color:var(--blue)}.tower-metric.red>span{background:#fff0f2;color:var(--red)}.tower-metric.amber>span{background:#fff8e7;color:#d97706}.tower-metric.slate>span{background:#eff3f5;color:#526672}.tower-metric strong,.tower-metric small{display:block}.tower-metric strong{font-size:25px;line-height:1}.tower-metric small{margin-top:7px;color:var(--muted);font-size:12px;font-weight:750}.tower-workspace{display:grid;grid-template-columns:minmax(520px,1.3fr) minmax(360px,.8fr);gap:14px;align-items:start}.case-queue,.case-inspector{border-radius:10px}.queue-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border);padding:15px 16px}.queue-toolbar h2,.queue-toolbar span{margin:0}.queue-toolbar h2{font-size:16px}.queue-toolbar>div span{color:var(--muted);font-size:12px}.tower-search{display:flex;width:min(310px,48%);align-items:center;gap:8px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);padding:0 10px;color:var(--muted)}.tower-search input{min-height:38px;border:0;box-shadow:none;padding:0}.domain-tabs{display:flex;gap:6px;overflow-x:auto;border-bottom:1px solid var(--border);padding:10px 12px;background:var(--surface-soft)}.domain-tabs button{display:inline-flex;align-items:center;gap:7px;border:1px solid transparent;border-radius:7px;background:transparent;padding:8px 10px;color:var(--muted);font-size:12px;font-weight:800;white-space:nowrap}.domain-tabs button span{min-width:21px;border-radius:999px;background:#e6ecef;padding:2px 6px;text-align:center;font-size:10px}.domain-tabs button.selected{border-color:#0f9f8a40;background:#fff;color:var(--teal-dark)}.case-list{max-height:640px;overflow-y:auto}.case-row{display:grid;width:100%;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:start;border:0;border-bottom:1px solid var(--border);background:var(--surface);padding:14px 16px;text-align:left}.case-row:hover,.case-row.selected{background:#f3faf8}.case-row.selected{box-shadow:inset 3px 0 0 var(--teal)}.case-domain-icon{display:grid;width:36px;height:36px;place-items:center;border-radius:8px;background:#eef4ff;color:var(--blue)}.case-domain-icon.operations{background:#eefaf7;color:var(--teal-dark)}.case-domain-icon.stock{background:#fff7e8;color:#d97706}.case-domain-icon.customer{background:#f3efff;color:#7c3aed}.case-row-main{min-width:0}.case-row-main>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.case-row-main strong{color:#26343d;font-size:12px}.case-row-main span,.case-row-main small{color:var(--muted);font-size:11px;font-weight:700}.case-row-main p{display:-webkit-box;overflow:hidden;margin:5px 0;color:#34434e;font-size:13px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.severity-badge{display:inline-grid;min-width:34px;place-items:center;border-radius:6px;background:#edf2f5;padding:5px 7px;color:#60717d;font-size:11px;font-weight:900}.severity-badge.s1{background:#eaf9f3;color:#087a61}.severity-badge.s2{background:#fff7e3;color:#b76500}.severity-badge.s3{background:#fff0e8;color:#d54e00}.severity-badge.s4{background:#ffebee;color:#c92337}.case-inspector{position:sticky;top:20px}.inspector-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border-bottom:1px solid var(--border);padding:17px}.inspector-header span{color:var(--teal-dark);font-size:11px;font-weight:850}.inspector-header h2{margin:6px 0 0;font-size:16px;line-height:1.45}.case-facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border)}.case-facts>div{min-width:0;background:var(--surface);padding:12px 15px}.case-facts span,.case-facts strong{display:block}.case-facts span{color:var(--muted);font-size:10px;font-weight:750;text-transform:uppercase}.case-facts strong{overflow:hidden;margin-top:5px;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.finding-card,.approval-box{margin:14px;border:1px solid var(--border);border-radius:9px;padding:14px}.finding-card{background:#f8fbfd}.finding-title{display:flex;align-items:center;gap:8px;color:var(--teal-dark)}.finding-title h3,.approval-box h3{margin:0;font-size:14px}.finding-card p,.approval-box p{margin:10px 0;color:#43545f;font-size:12px;line-height:1.65}.finding-flags{display:flex;flex-wrap:wrap;gap:6px}.finding-flags span{border-radius:999px;background:#e8f1f4;padding:5px 8px;color:#526672;font-size:9px;font-weight:850}.approval-box{border-color:#f59e0b4d;background:#fffbf0}.approval-box>div{display:flex;flex-wrap:wrap;gap:7px}.approval-box button{display:inline-flex;min-height:36px;align-items:center;gap:6px;border:1px solid var(--border-strong);border-radius:7px;background:#fff;padding:0 10px;color:#44545f;font-size:11px;font-weight:800}.approval-box button.approve{border-color:var(--teal);background:var(--teal);color:#fff}.approval-box button.close-case{border-color:#21323c;background:#21323c;color:#fff}.approval-box button:disabled{cursor:not-allowed;opacity:.45}.empty-inspector{padding:80px 20px;color:var(--muted);text-align:center}@media(max-width:1180px){.app-shell{grid-template-columns:82px minmax(0,1fr)}.brand span,.nav-item span{display:none}.brand{justify-content:center;padding-inline:0}.nav-item{justify-content:center}.metric-grid{grid-template-columns:repeat(2,minmax(190px,1fr))}.content-grid{grid-template-columns:1fr 1fr}.entry-panel,.expense-panel,.expense-ledger-panel,.town-table-panel{grid-column:span 2}.entry-panel{grid-row:auto}.tower-workspace{grid-template-columns:1fr}.case-inspector{position:static}}@media(max-width:760px){.app-shell{display:block}.sidebar{position:static;min-height:auto;padding:12px}.brand{padding-bottom:12px}.brand span,.nav-item span{display:inline}.nav-list{grid-template-columns:repeat(3,minmax(0,1fr))}.nav-item{justify-content:center;padding:10px 8px}.settings-link{display:none}.dashboard{padding:16px}.topbar{grid-template-columns:auto 1fr}.topbar-controls{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr auto;align-items:end}.metric-grid,.content-grid{grid-template-columns:1fr}.entry-panel,.expense-panel,.expense-ledger-panel,.town-table-panel{grid-column:auto}.bar-chart{grid-template-columns:repeat(3,minmax(78px,1fr));height:auto;min-height:320px}.donut-layout,.expense-detail-fields,.progress-row{grid-template-columns:1fr}.progress-row em{justify-self:start}.control-tower-header,.queue-toolbar{align-items:stretch;flex-direction:column}.tower-metrics{grid-template-columns:1fr 1fr}.tower-search{width:100%}.case-row{grid-template-columns:auto minmax(0,1fr)}.case-row>.severity-badge{grid-column:2;justify-self:start}}@media(max-width:480px){.nav-list{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar-controls{grid-template-columns:1fr}.metric-card{min-height:116px}.metric-content strong{font-size:22px}}
