:root{--color-primary:#5538d9;--color-primary-strong:#4025bb;--color-primary-soft:#eeeaff;--color-canvas:#f7f7fa;--color-surface:#fff;--color-surface-muted:#f1f1f5;--color-ink:#1f2030;--color-muted:#696b7b;--color-border:#dfdfe7;--color-border-strong:#c9cad4;--color-focus:#e9e4ff;--color-success:#157347;--color-success-soft:#f4fbf6;--color-danger:#b3261e;--radius-control:7px;--radius-surface:10px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px}*{box-sizing:border-box}body{min-width:320px;color:var(--color-ink);background:var(--color-canvas);margin:0;font-family:Arial,Helvetica,sans-serif}button,input,select{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,.table-scroll:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.app-shell{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{padding:var(--space-6) var(--space-4);color:#f7f7ff;background:#242433;flex-direction:column;display:flex}.brand{letter-spacing:.07em;align-items:center;gap:10px;font-weight:800;display:flex}.brand-mark{border-radius:var(--radius-control);color:#242433;background:#fff;place-items:center;width:30px;height:30px;display:grid}nav{gap:var(--space-1);margin-top:42px;display:grid}nav a{border-radius:var(--radius-control);color:#d8d8e3;padding:11px 12px;text-decoration:none}nav a[aria-current=page],nav a:hover{color:#fff;background:#36364a}.sidebar-note{color:#b8b8c8;margin-top:auto;font-size:.85rem;line-height:1.5}.content{min-width:0;padding:var(--space-8) clamp(18px, 4vw, 60px) 60px}.topbar,.panel-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.topbar{margin-bottom:var(--space-5)}.topbar h1,.panel h2{letter-spacing:-.025em;margin:3px 0 0}.topbar h1{font-size:clamp(1.7rem,3vw,2.3rem)}.header-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.eyebrow{color:var(--color-muted);letter-spacing:.1em;margin:0;font-size:.72rem;font-weight:700}.system-alert{padding:13px var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-surface);color:var(--color-muted);margin:0}.system-alert-success{background:var(--color-success-soft);color:#185c35;border-color:#b7d9c5}.system-alert-warning{color:#7a4a00;background:#fff8e7;border-color:#e7c780}.system-alert-danger{color:var(--color-danger);background:#ffebe9;border-color:#efb6b1}.metric-grid,.workspace-grid{gap:var(--space-4);display:grid}.metric-grid{margin:var(--space-5) 0;grid-template-columns:repeat(3,minmax(0,1fr))}.surface{border:1px solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-surface)}.metric{padding:18px}.metric span{color:var(--color-muted);font-size:.86rem;display:block}.metric strong{margin-top:var(--space-2);font-size:1.08rem;display:block}.workspace-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{padding:22px}.panel h2{font-size:1.08rem}.stack{gap:14px;margin-top:22px;display:grid}.field{color:#48495a;gap:7px;font-size:.9rem;font-weight:700;display:grid}.field-label{display:block}.field-hint{color:var(--color-muted);font-size:.8rem;font-weight:400;line-height:1.35}.field-error{color:var(--color-danger);font-size:.8rem}.control{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);width:100%;min-height:42px;color:var(--color-ink);padding:9px 11px}.control:disabled{color:var(--color-muted);background:var(--color-surface-muted)}.separator{padding-top:var(--space-5);border-top:1px solid var(--color-border)}.button{border:1px solid var(--color-primary);border-radius:var(--radius-control);color:#fff;background:var(--color-primary);cursor:pointer;justify-content:center;align-items:center;min-height:42px;padding:9px 14px;font-weight:700;text-decoration:none;display:inline-flex}.button:hover:not(:disabled){background:var(--color-primary-strong)}.button-secondary{color:var(--color-primary);background:var(--color-surface)}.button-quiet{color:var(--color-primary);background:0 0;border-color:#0000}.button-danger{border-color:var(--color-danger);background:var(--color-danger)}.button:disabled{opacity:.55;cursor:not-allowed}.tag{white-space:nowrap;border-radius:5px;align-items:center;width:fit-content;min-height:26px;padding:4px 8px;font-size:.75rem;font-weight:700;display:inline-flex}.tag-accent{color:var(--color-primary);background:var(--color-primary-soft)}.tag-neutral{color:#535565;background:var(--color-surface-muted)}.tag-success{color:var(--color-success);background:var(--color-success-soft)}.tag-warning{color:#7a4a00;background:#fff4dc}.tag-danger{color:var(--color-danger);background:#ffebe9}.import-stepper{align-items:start;gap:var(--space-2);color:var(--color-muted);margin:18px 0 0;padding:0;font-size:.78rem;font-weight:700;list-style:none;display:flex}.import-stepper li{align-items:center;gap:6px;min-width:0;display:flex}.import-stepper li:not(:last-child):after{background:var(--color-border-strong);content:"";width:clamp(18px,5vw,60px);height:1px;margin-left:2px}.import-stepper span{border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:50%;place-items:center;width:22px;height:22px;font-size:.72rem;display:grid}.import-stepper li.current,.import-stepper li.complete{color:var(--color-primary)}.import-stepper li.current span,.import-stepper li.complete span{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.file-dropzone{min-height:92px;padding:var(--space-3);border:1px dashed var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-ink);justify-items:start;gap:4px;display:grid}.file-dropzone:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus)}.file-dropzone input{max-width:100%;color:var(--color-muted)}.file-dropzone span{color:var(--color-muted);font-size:.8rem;font-weight:400;line-height:1.3}.file-dropzone:has(input:disabled){color:var(--color-muted);background:var(--color-surface-muted);opacity:.7}.preview{justify-content:space-between;align-items:end;gap:var(--space-4);background:var(--color-success-soft);color:#185c35;border:1px solid #b7d9c5;border-radius:8px;margin-top:18px;padding:15px;display:flex}.preview div{gap:var(--space-1);display:grid}.preview span{font-size:.9rem}.ledger{margin-top:var(--space-4)}.ledger-state,.empty-state{border:1px dashed var(--color-border-strong);border-radius:var(--radius-control);color:var(--color-muted);margin-top:18px;padding:18px}.empty-state{text-align:center}.empty-state strong{color:var(--color-ink)}.empty-state p{max-width:54ch;margin:var(--space-2) auto 0;line-height:1.5}.table-scroll{border:1px solid var(--color-border);border-radius:var(--radius-control);margin-top:18px;overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;min-width:640px}th,td{border-bottom:1px solid var(--color-border);padding:12px 14px;font-size:.9rem}th{color:var(--color-muted);background:var(--color-surface-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.75rem}tbody tr:last-child td{border-bottom:0}.amount,.reference{font-variant-numeric:tabular-nums}.amount{text-align:right;white-space:nowrap}.reference{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.83rem}.confirm-dialog{border:1px solid var(--color-border);border-radius:var(--radius-surface);width:min(100% - 32px,510px);color:var(--color-ink);background:var(--color-surface);padding:0;box-shadow:0 20px 60px #16162840}.confirm-dialog::backdrop{background:#1616287a}.dialog-content{gap:var(--space-3);padding:var(--space-6);display:grid}.dialog-content h2,.dialog-content p{margin:0}.dialog-content>p:not(.eyebrow){color:var(--color-muted);line-height:1.5}.dialog-actions{justify-content:end;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}@media (max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{min-height:auto;padding:14px 18px}.sidebar nav{margin-top:16px;display:flex;overflow-x:auto}.sidebar-note{display:none}.content{padding-top:var(--space-6)}}@media (max-width:680px){.topbar,.panel-heading{flex-direction:column;align-items:stretch}.header-actions,.header-actions .button{width:100%}.metric-grid,.workspace-grid{grid-template-columns:1fr}.preview{flex-direction:column;align-items:stretch}.preview .button{width:100%}.import-stepper{justify-content:space-between;gap:var(--space-1)}.import-stepper li{text-align:center;flex-direction:column;flex:1;align-items:center}.import-stepper li:not(:last-child):after{width:calc(100% - 26px);margin:0;position:relative;top:11px;left:50%}.dialog-actions>.button{flex:1}}
