:root{--surface-100:#f6f7f9;--surface-200:#fff;--surface-300:#e6e9ee;--ink:#14202e;--ink-muted:#4a5868;--hairline:#c9d0d9;--border-strong:#7b8794;--brand:#0b5c66;--on-brand:#fff;--accent:#e0a21b;--on-accent:#14202e;--positive:#1a6fb0;--negative:#b4491a;--focus:#1a6fb0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--shadow-raised:0 1px 2px #14202e1a;--font-sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--surface-100:#0f1823;--surface-200:#172433;--surface-300:#223244;--ink:#eef2f6;--ink-muted:#a9b6c4;--hairline:#2f4155;--border-strong:#6f8296;--brand:#5cc2cf;--on-brand:#0f1823;--accent:#f0b83a;--positive:#6bb4f0;--negative:#f09a6a;--focus:#7fd1dc;--shadow-raised:none}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--surface-100);color:var(--ink);font:400 15px/22px var(--font-sans);-webkit-text-size-adjust:100%;margin:0}h1{font:600 24px/30px var(--font-sans);margin:0 0 var(--space-4)}h2{font:600 18px/24px var(--font-sans);margin:0 0 var(--space-3)}p{margin:0 0 var(--space-3)}.muted{color:var(--ink-muted)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.btn{font:500 15px/22px var(--font-sans);height:40px;padding:0 var(--space-4);border-radius:var(--radius-md);cursor:pointer;justify-content:center;align-items:center;gap:var(--space-2);background:var(--brand);color:var(--on-brand);border:1px solid #0000;text-decoration:none;display:inline-flex}.btn-lg{height:48px;padding:0 var(--space-6)}.btn-secondary{background:var(--surface-200);color:var(--ink);border-color:var(--border-strong)}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--surface-200);border:1px solid var(--hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised);padding:var(--space-4)}.center{min-height:100%;padding:var(--space-4);place-items:center;display:grid}.center .card{width:100%;max-width:420px}.notice{border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);background:var(--surface-300);margin-bottom:var(--space-4)}.shell{grid-template-columns:220px 1fr;min-height:100%;display:grid}.sidebar{background:var(--surface-200);border-right:1px solid var(--hairline);padding:var(--space-6) var(--space-3);gap:var(--space-1);flex-direction:column;display:flex}.brand{font:600 18px/24px var(--font-sans);padding:0 var(--space-3) var(--space-4)}.nav-link{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--ink);min-height:44px;line-height:28px;text-decoration:none;display:block}.nav-link[aria-current=page]{background:var(--brand);color:var(--on-brand)}.sidebar-foot{padding:var(--space-3);color:var(--ink-muted);margin-top:auto;font-size:13px;line-height:18px}.main{padding:var(--space-8);width:100%;max-width:1200px}@media (width<=760px){.shell{grid-template-columns:1fr;padding-bottom:72px}.sidebar{padding:var(--space-2) var(--space-2) calc(var(--space-2) + env(safe-area-inset-bottom));border-right:0;border-top:1px solid var(--hairline);z-index:10;flex-direction:row;justify-content:space-around;position:fixed;inset:auto 0 0}.brand,.sidebar-foot{display:none}.nav-link{text-align:center;padding:var(--space-2) var(--space-1);flex:1;font-size:13px}.main{padding:var(--space-4)}}.page-head{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.page-head h1{margin:0}.card+.card,.notice+.card,.toolbar+.table-wrap,.page-head+.card{margin-top:var(--space-4)}.card{margin-bottom:var(--space-4)}.form{gap:var(--space-3);flex-direction:column;display:flex}.form-row{gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;align-items:flex-end;display:flex}.plain{gap:var(--space-3);border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.field{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.label{font:500 12px/16px var(--font-sans);letter-spacing:.04em;color:var(--ink-muted)}.input{font:400 15px/22px var(--font-sans);height:40px;padding:0 var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-200);color:var(--ink);max-width:100%}.input.narrow{width:90px}.input:disabled{opacity:.7}.input-error{border-color:var(--negative)}.hint{font:400 13px/18px var(--font-sans);color:var(--ink-muted)}.hint-error{color:var(--negative)}.actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.toolbar{margin-bottom:var(--space-3);max-width:360px}.link{font:inherit;color:var(--brand);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}a{color:var(--brand)}.check{align-items:center;gap:var(--space-2);cursor:pointer;display:inline-flex}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.notice-error{border-color:var(--negative);color:var(--negative)}.notice-success{border-color:var(--positive)}.table-wrap{border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--surface-200);overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th{text-align:left;background:var(--surface-300);color:var(--ink-muted);font:500 12px/16px var(--font-sans);letter-spacing:.04em;padding:var(--space-2) var(--space-3);white-space:nowrap}.table td{padding:var(--space-3);border-top:1px solid var(--hairline);vertical-align:middle}.table td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.badge{font:500 12px/16px var(--font-sans);letter-spacing:.04em;padding:2px var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-200);color:var(--ink);white-space:nowrap;align-items:center;display:inline-flex}.badge-warning{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.badge-positive{color:var(--positive);border-color:var(--positive)}.badge-negative{color:var(--negative);border-color:var(--negative)}
