:root{--bg: #f8f8fb;--surface: #ffffff;--surface-muted: #f0f0f5;--border: #e2e2ea;--text: #15152a;--text-muted: #6f6f85;--primary: #6d4aff;--primary-pressed: #5936db;--on-primary: #ffffff;--primary-subtle: #f1edff;--success: #0f7a42;--success-subtle: #dcf5e7;--danger: #d93636;--danger-subtle: #fde3e3;--warning: #a86d00;--warning-subtle: #fcf0d7;--info: #15589f;--info-subtle: #deedfc;--radius: 12px;--shadow: 0 2px 8px rgba(11, 11, 26, .06)}@media(prefers-color-scheme:dark){:root{--bg: #0b0b1a;--surface: #15152a;--surface-muted: #26263b;--border: #3b3b52;--text: #f8f8fb;--text-muted: #9c9caf;--primary: #8a6bff;--primary-subtle: #26127a;--success: #4cc98a;--success-subtle: #0e3b25;--danger: #f07575;--danger-subtle: #471414;--warning: #efb44c;--warning-subtle: #42300a;--info: #6faff0;--info-subtle: #122a44}}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.5}.app{display:flex;min-height:100vh}.sidebar{width:220px;background:var(--surface);border-right:1px solid var(--border);padding:24px 12px;display:flex;flex-direction:column;gap:4px}.sidebar h1{font-size:18px;margin:0 12px 16px;color:var(--primary)}.sidebar button{text-align:left;padding:10px 12px;min-height:44px;border:none;border-radius:8px;background:transparent;color:var(--text);font-size:15px;cursor:pointer}.sidebar button:hover{background:var(--surface-muted)}.sidebar button[aria-current=true]{background:var(--primary-subtle);color:var(--primary);font-weight:600}.sidebar .spacer{flex:1}main{flex:1;padding:32px;max-width:1100px}h2{margin-top:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-bottom:20px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0b0b1a8c;display:flex;justify-content:center;align-items:flex-start;padding:24px 16px;overflow-y:auto;animation:modal-fade .12s ease-out}.modal-panel{width:100%;max-width:940px;margin:8px 0 48px}.modal-panel>.card{margin:0;box-shadow:0 16px 48px #0b0b1a52}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.modal-overlay{animation:none}}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--text-muted);font-size:13px;font-weight:600}.rows td{vertical-align:middle;font-size:14px}.rows tbody tr:hover{background:var(--surface-muted, #f7f7fb)}.rows tbody tr:last-child td{border-bottom:none}.pill{display:inline-block;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;white-space:nowrap}.pill.success{background:var(--success-subtle);color:var(--success)}.pill.danger{background:var(--danger-subtle);color:var(--danger)}.pill.warning{background:var(--warning-subtle);color:var(--warning)}.pill.info{background:var(--info-subtle);color:var(--info)}.pill.neutral{background:var(--surface-muted);color:var(--text-muted)}.linklike{background:none;border:none;padding:0;color:var(--primary);font-weight:600;font:inherit;cursor:pointer}.linklike:disabled{opacity:.5;cursor:default}button.action{border:none;border-radius:8px;padding:8px 16px;min-height:38px;font-size:14px;font-weight:600;cursor:pointer;background:var(--primary);color:var(--on-primary)}button.action:hover{background:var(--primary-pressed)}button.action:disabled{opacity:.5;cursor:not-allowed}button.action.secondary{background:var(--surface-muted);color:var(--text)}button.action.danger{background:var(--danger)}.row-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;align-items:center}.btn-row{border:1px solid var(--border);border-radius:8px;padding:0 12px;height:32px;min-width:96px;font-size:13px;font-weight:600;cursor:pointer;background:var(--surface);color:var(--text);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;transition:background .12s ease,border-color .12s ease}.btn-row:hover{background:var(--surface-muted);border-color:var(--text-muted)}.btn-row:disabled{opacity:.45;cursor:not-allowed}.btn-row.primary{color:var(--primary)}.btn-row.success{color:#0f7a42}.check-note{font-size:12.5px;margin-top:6px;text-align:right}.check-note.ok{color:#0f7a42;font-weight:600}.check-note.pending{color:#a86d00}.check-note.muted{color:var(--text-muted)}input,textarea,select{width:100%;padding:10px 12px;border:1.5px solid var(--border);border-radius:8px;font-size:15px;background:var(--surface);color:var(--text)}input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--primary);outline-offset:1px}label{display:block;font-size:13px;font-weight:600;margin-bottom:4px}.field{margin-bottom:14px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.error{background:var(--danger-subtle);color:var(--danger);border-radius:8px;padding:12px;margin-bottom:14px}.muted{color:var(--text-muted)}.login{max-width:380px;margin:12vh auto}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:22px}.tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow)}.tile-value{font-size:26px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text)}.tile-label{font-size:13px;color:var(--text-muted);margin-top:4px}.tile-accent{background:var(--primary-subtle);border-color:transparent}.tile-accent .tile-value{color:var(--primary-pressed)}.tile-warn .tile-value{color:var(--warning)}.detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.tabbar{display:flex;gap:4px;border-bottom:1px solid var(--border);margin:8px 0 18px;flex-wrap:wrap}.tab{background:none;border:none;border-bottom:2px solid transparent;padding:9px 14px;cursor:pointer;color:var(--text-muted);font-size:14px;font-weight:600}.tab:hover{color:var(--text)}.tab.active{color:var(--primary-pressed);border-bottom-color:var(--primary)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin-bottom:8px}@media(max-width:620px){.grid2{grid-template-columns:1fr}}.subcard{border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;margin:14px 0;background:var(--surface-muted)}.checkrow{display:flex;flex-wrap:wrap;gap:8px 20px;margin:10px 0}.check{display:inline-flex;align-items:center;gap:7px;font-size:14px;color:var(--text)}.check input{width:auto}.saverow{display:flex;align-items:center;gap:12px;margin-top:14px}.small{font-size:12.5px}.muted.small{font-size:12px}
