:root{--accent: #2563c6;--accent-soft: #edf4ff;--teal: #087f75;--violet: #7850bd;--amber: #986415;--surface: #fff;--border: #e1e7f0;--text: #20314d;--muted: #5f6f85;font-family:Tahoma,Arial,sans-serif;color:var(--text);background:#f4f7fb}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0;background:#0c66e4;color:#fff;border-radius:6px;padding:.7rem 1rem}button:disabled{opacity:.5;cursor:not-allowed}button.quiet{color:#404963;background:#eef0f5}button.danger{background:#ad2441}a{color:inherit;text-decoration:none}.topbar{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;background:#fff;border-top:3px solid var(--accent);border-bottom:1px solid var(--border)}.brand{color:#172b4d;font-size:1.2rem;font-weight:700}.brand small{color:var(--accent);background:var(--accent-soft);border-radius:5px;padding:.3rem .5rem;font-size:.7rem;margin-right:.5rem}.layout{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 68px)}.sidebar{background:#fff;border-left:1px solid var(--border);padding:1.5rem .75rem;display:flex;flex-direction:column;gap:.25rem}.sidebar a{border-radius:6px;padding:.8rem 1rem;color:#44546f}.sidebar a:hover{background:#f3f6fb;color:var(--accent)}.sidebar a.active{background:var(--accent-soft);color:var(--accent);box-shadow:inset -3px 0 var(--accent);font-weight:700}main{padding:2.5rem;max-width:1500px;width:100%;margin:0 auto}.page-intro{margin-bottom:1.75rem}.page-intro h1{font-size:2rem;margin:.35rem 0 .65rem}.page-intro p,.muted{color:#66718a}.eyebrow{color:#0c66e4;font-weight:700;font-size:.8rem}.panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #243b5c05}.panel.narrow{max-width:480px;margin:8vh auto}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.card span{display:inline-block;color:var(--accent);background:var(--accent-soft);padding:.3rem .55rem;border-radius:5px;font-size:.75rem}.card:hover{border-color:#85b8ff;box-shadow:0 4px 14px #172b4d13}.card h2{margin-bottom:.4rem;font-size:1.05rem}.card p{color:#66718a}.split{display:grid;grid-template-columns:minmax(280px,2fr) minmax(360px,3fr);gap:1.25rem;align-items:start}.users-layout{grid-template-columns:minmax(340px,1fr) minmax(420px,1.25fr)}.user-summary{min-width:0;overflow-wrap:anywhere}.user-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem;margin:0 0 1.5rem}.user-facts div{border-bottom:1px solid #dfe1e6;padding:.7rem 0;min-width:0}.user-facts dt{color:#626f86;font-size:.78rem;margin-bottom:.3rem}.user-facts dd{margin:0;overflow-wrap:anywhere}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem}.section-head h2{margin:0;font-size:1.15rem}.list-row{width:100%;background:#fff;color:#192039;display:flex;justify-content:space-between;text-align:right;align-items:center;padding:.9rem .5rem;border-bottom:1px solid #edf0f5;border-radius:0}.user-select{min-width:0;flex:1;background:transparent;color:inherit;text-align:right;padding:0}.list-row>.quiet{flex:none;margin-inline-start:.5rem}.list-row:hover,.list-row.selected{background:var(--accent-soft)}.list-row span{display:grid;gap:.25rem}.list-row small{color:#78839a}.list-row em{font-style:normal;color:#147752;font-size:.8rem}.list-row em.inactive{color:#ad2441}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.field-grid .full{grid-column:1/-1}label{display:grid;gap:.45rem;font-size:.87rem;font-weight:600}label.check{display:flex;align-items:center;font-weight:400}input:not([type=checkbox]),select,textarea{width:100%;border:1px solid #cfd5e1;border-radius:8px;padding:.65rem .7rem;background:#fff;color:#192039}input:disabled,select:disabled{background:#f3f4f7}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid #0c66e4;outline-offset:2px}.actions,.filters,.pager{display:flex;gap:.7rem;align-items:center;margin-top:1.25rem}.filters{margin-top:0;margin-bottom:1rem}.filters input{flex:1}.notice{padding:.85rem 1rem;border-radius:8px}.notice.error{background:#ffe8ed;color:#9e233c}.notice.success{background:#e9f8f1;color:#196844}.history{border-top:1px solid #e7eaf0;padding:.8rem 0;display:grid;gap:.3rem}.history small{color:#78839a}.pager{justify-content:space-between}.wrap{flex-wrap:wrap}.review-row{display:flex;justify-content:space-between;gap:1rem;padding:1.1rem 0;border-bottom:1px solid #edf0f5}.review-row p{margin:.4rem 0;white-space:pre-wrap}.review-row small{color:#78839a}.review-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.review-actions input{min-width:200px}.json-detail{direction:ltr;text-align:left;overflow-x:auto;padding:1rem;background:#f3f4f7;border-radius:8px}.finance-filters{display:flex;align-items:end;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.finance-filters label{min-width:180px}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem;margin-bottom:1rem}.metric{display:grid;gap:.6rem}.metric span{color:#44546f;font-size:.85rem}.metric strong{font-size:1.6rem;font-variant-numeric:tabular-nums}.finance-chart .section-head{flex-wrap:wrap}.finance-chart small{color:#626f86}.bars{height:210px;display:flex;align-items:end;gap:.4rem;overflow-x:auto;border-bottom:1px solid #dfe1e6;padding-top:1rem;margin-bottom:1.5rem}.bar-column{height:100%;min-width:38px;flex:1;display:flex;flex-direction:column;justify-content:end;align-items:center;gap:.3rem}.bar{display:block;width:65%;max-height:170px;background:#579dff;border-radius:3px 3px 0 0}.bar-column small{font-size:.7rem;white-space:nowrap}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:right}th,td{padding:.7rem;border-bottom:1px solid var(--border)}th{background:#f6f8fc;color:#4c607a;font-weight:600}.invoice-detail{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #dfe1e6}.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:1rem;background:#131d3199}.message-dialog{width:min(100%,640px);max-height:min(90vh,850px);overflow-y:auto}.message-dialog .history strong{white-space:pre-wrap;overflow-wrap:anywhere}[data-tone=blue]{--tone: var(--accent);--tone-soft: var(--accent-soft)}[data-tone=teal]{--tone: var(--teal);--tone-soft: #edf9f6}[data-tone=violet]{--tone: var(--violet);--tone-soft: #f5f0fc}[data-tone=amber]{--tone: var(--amber);--tone-soft: #fff8ea}.dashboard-intro{display:flex;justify-content:space-between;align-items:center;gap:1rem}.dashboard-intro h1{font-size:1.8rem}.dashboard-intro p{margin-bottom:0}.dashboard-period{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.dashboard-period>span{font-size:.75rem;line-height:1.8}.period-options{display:flex;padding:.25rem;gap:.2rem;background:#e9eef6;border-radius:8px}.period-options button{background:transparent;color:#52637b;padding:.6rem .8rem;font-size:.8rem}.period-options button.chosen{background:#fff;color:var(--accent);box-shadow:0 1px 4px #20314d14}.dashboard-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.25rem}.dashboard-metrics .metric{border-top:3px solid var(--tone);background:linear-gradient(145deg,white 55%,var(--tone-soft));gap:.75rem}.dashboard-metrics .metric strong{color:var(--tone);font-size:2rem}.dashboard-metrics .metric small{color:var(--muted);font-size:.7rem;line-height:1.8}.metric-error{color:#9e233c}.loading-placeholder{color:var(--muted);font-size:.85rem;min-height:2.4rem}.dashboard-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-bottom:1.25rem;align-items:start}.chart-panel{min-width:0;padding:1.25rem}.chart-panel h2{font-size:1rem}.chart-loading{min-height:250px;color:var(--muted)}.trend-chart{display:block;color:var(--tone)}.trend-heading{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.trend-heading h3{margin:0;font-size:.9rem;color:var(--text)}.trend-unit{font-size:.65rem;color:var(--muted)}.trend-readout{display:flex;gap:.7rem;align-items:baseline;margin:1rem 0 .25rem}.trend-readout strong{font-size:1.6rem;font-variant-numeric:tabular-nums}.trend-readout span{font-size:.75rem;color:var(--muted)}.trend-chart svg{display:block;width:100%;overflow:visible;direction:ltr}.trend-gridline{stroke:#e9eef5;stroke-dasharray:3 4}.trend-axis{fill:var(--muted);font-size:10px}.trend-dates{display:flex;justify-content:space-between;padding-left:7.5%;font-size:.65rem;color:var(--muted)}.trend-scrubber{display:flex;align-items:center;gap:.7rem;margin:.8rem 0;font-size:.7rem;color:var(--muted);font-weight:400}.trend-scrubber input[type=range]{flex:1;min-width:0;border:none;padding:0;accent-color:var(--tone)}.trend-chart summary{cursor:pointer;font-size:.75rem;color:var(--muted);padding:.4rem 0}.trend-table{max-height:260px;margin-top:.6rem;font-size:.8rem;color:var(--text)}.trend-empty,.chart-footnote{color:var(--muted);font-size:.7rem;line-height:1.9}.chart-footnote{margin:.8rem 0 0;padding-top:.7rem;border-top:1px solid var(--border)}.attention-strip{display:flex;gap:.8rem 1.25rem;align-items:center;flex-wrap:wrap;padding:1rem 1.25rem;background:#fff9ef;border:1px solid #f0e2c7;border-radius:10px;margin-bottom:2rem}.attention-label{color:#865b18;font-size:.8rem;font-weight:700}.attention-strip a{font-size:.85rem;text-decoration:underline;text-underline-offset:4px}.attention-strip small{color:var(--muted);font-size:.65rem;margin-inline-start:auto}.dashboard-shortcuts .section-head{margin-bottom:1rem}.dashboard-shortcuts .section-head>span{font-size:.75rem}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(max-width:900px){.layout{grid-template-columns:1fr}.sidebar{flex-direction:row;align-items:center;overflow-x:auto;padding:.65rem;border-left:0;border-bottom:1px solid #e5e8ee}.sidebar a{flex:none;white-space:nowrap;padding:.65rem .8rem}main{padding:1.2rem}.split,.cards{grid-template-columns:1fr}}@media(max-width:540px){.field-grid,.user-facts{grid-template-columns:1fr}.field-grid .full{grid-column:1}.topbar{padding:0 1rem}.dashboard-intro{align-items:start}.dashboard-intro h1{font-size:1.5rem}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-metrics .metric{padding:1rem}.dashboard-charts{grid-template-columns:1fr}.attention-strip small{margin-inline-start:0}}
