:root{--bg:#f6f5f0;--surface:#fff;--border:#e4e1d5;--border-strong:#d6d2c4;--ink:#2b3a30;--ink-soft:#5b6b60;--green:#2f6f4e;--green-dark:#255c40;--green-tint:#eef4ef;--red:#a7442f;--red-tint:#f6ece9;--amber:#9a6b1f;--amber-tint:#f7efdf;color:var(--ink);background:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:system-ui,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--bg);margin:0}h1,h2,h3{color:var(--ink);margin:0}a{color:var(--green-dark)}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}input,select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:7px;padding:8px 10px}input:focus,select:focus,textarea:focus{outline:2px solid var(--green);outline-offset:1px}.app-shell{min-height:100vh}.topbar{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:14px 24px;display:flex}.topbar .brand{letter-spacing:.5px;font-weight:800}.topbar .who{color:var(--ink-soft);align-items:center;gap:12px;font-size:13px;display:flex}.page{max-width:1180px;margin:0 auto;padding:24px}.tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;margin-bottom:24px;display:flex}.tabs button{color:var(--ink-soft);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-weight:600}.tabs button.active{color:var(--green-dark);border-bottom-color:var(--green)}.btn{background:var(--green);color:#f3f8f4;border:none;border-radius:8px;padding:9px 16px;font-weight:600}.btn:hover:not(:disabled){background:var(--green-dark)}.btn.ghost{color:var(--green-dark);border:1px solid var(--border-strong);background:0 0}.btn.ghost:hover:not(:disabled){background:var(--green-tint)}.btn.small{padding:5px 10px;font-size:13px}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:24px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 18px}.stat .label{text-transform:uppercase;letter-spacing:.6px;color:var(--ink-soft);font-size:12px;font-weight:700}.stat .value{margin-top:6px;font-size:24px;font-weight:700}.stat .sub{color:var(--ink-soft);margin-top:4px;font-size:12px}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 14px}th{text-transform:uppercase;letter-spacing:.5px;color:var(--ink-soft);background:#faf9f5;font-size:12px}tbody tr:last-child td{border-bottom:none}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.pill{border-radius:999px;padding:2px 9px;font-size:12px;font-weight:700;display:inline-block}.pill.active{background:var(--green-tint);color:var(--green-dark)}.pill.inactive{background:var(--red-tint);color:var(--red)}.pill.warn{background:var(--amber-tint);color:var(--amber)}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.spread{justify-content:space-between}.section-title{margin:28px 0 12px;font-size:15px;font-weight:700}.muted{color:var(--ink-soft);font-size:13px}.error-box{background:var(--red-tint);color:var(--red);white-space:pre-wrap;border:1px solid #e6cfc7;border-radius:8px;padding:10px 12px;font-size:13px}.ok-box{background:var(--green-tint);color:var(--green-dark);border:1px solid #cfe2d5;border-radius:8px;padding:10px 12px;font-size:13px}textarea.paste{resize:vertical;width:100%;min-height:180px;font-family:ui-monospace,Consolas,monospace;font-size:13px}.login-wrap{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:14px;width:340px;padding:32px;display:flex}.field{color:var(--ink-soft);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.modal-backdrop{z-index:50;background:#141e1859;justify-content:center;align-items:flex-start;padding:48px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);border-radius:14px;width:720px;max-width:100%;padding:24px}
