:root{--ink: #14273e;--ink-2: #22344a;--accent: #b0771d;--accent-dark: #8f5f13;--ground: #f4f6f9;--surface: #ffffff;--border: #dfe4ec;--muted: #5b6775;--good: #2e7d5b;--good-bg: #e6f2ec;--warn: #9a6a00;--warn-bg: #fbf1d9;--danger: #b3341f;--danger-bg: #fbe9e6;--info-bg: #e8eef5;--radius: 8px;--font: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);background:var(--ground);color:var(--ink-2);font-size:15px;line-height:1.5}a{color:var(--accent-dark);text-decoration:none}a:hover{text-decoration:underline}.app{min-height:100%;display:flex;flex-direction:column}.topbar{background:var(--ink);color:#fff;padding:0 24px;height:58px;display:flex;align-items:center;justify-content:space-between;border-bottom:3px solid var(--accent)}.topbar .brand{font-weight:700;letter-spacing:.02em;display:flex;align-items:center;gap:10px}.topbar .brand small{font-weight:400;opacity:.7;font-size:12px}.topbar nav{display:flex;gap:4px;align-items:center}.topbar nav a{color:#d7dee8;padding:8px 12px;border-radius:6px;font-size:14px}.topbar nav a:hover{background:#ffffff14;text-decoration:none}.topbar nav a.active{background:#ffffff24;color:#fff}.topbar .user{font-size:13px;color:#cdd6e2;display:flex;gap:12px;align-items:center}.content{flex:1;max-width:1080px;width:100%;margin:0 auto;padding:28px 24px 60px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px 24px;margin-bottom:20px}.card h2{margin:0 0 4px;color:var(--ink);font-size:18px}.card .sub{color:var(--muted);font-size:13px;margin-bottom:16px}h1{color:var(--ink);font-size:24px;margin:0 0 6px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:20px;gap:16px;flex-wrap:wrap}.page-head p{color:var(--muted);margin:4px 0 0}button,.btn{font-family:inherit;font-size:14px;font-weight:600;padding:9px 16px;border-radius:6px;border:1px solid transparent;cursor:pointer;background:var(--accent);color:#fff}button:hover{background:var(--accent-dark)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:#fff;color:var(--ink);border-color:var(--border)}button.secondary:hover{background:#f0f2f6}button.ghost{background:transparent;color:var(--accent-dark);border-color:transparent;padding:6px 8px}button.danger{background:var(--danger)}button.danger:hover{background:#922a19}button.small{padding:6px 10px;font-size:13px}.btn-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:5px}input,select,textarea{width:100%;font-family:inherit;font-size:14px;padding:9px 11px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--ink-2)}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}textarea{resize:vertical;min-height:70px}.field{margin-bottom:16px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--border);font-size:14px}th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}tr.clickable:hover{background:#f7f9fb;cursor:pointer}.badge{display:inline-block;font-size:12px;font-weight:600;padding:3px 9px;border-radius:100px;background:var(--info-bg);color:var(--ink)}.badge.good{background:var(--good-bg);color:var(--good)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.danger{background:var(--danger-bg);color:var(--danger)}.badge.muted{background:#eef1f5;color:var(--muted)}.alert{padding:11px 14px;border-radius:6px;font-size:14px;margin-bottom:16px}.alert.error{background:var(--danger-bg);color:var(--danger);border:1px solid #f0c4bc}.alert.ok{background:var(--good-bg);color:var(--good);border:1px solid #bfe0cd}.alert.info{background:var(--info-bg);color:var(--ink);border:1px solid #cdd9e8}.login-wrap{min-height:100%;display:grid;place-items:center;background:var(--ink);padding:20px}.login-card{background:#fff;border-radius:12px;padding:34px;width:100%;max-width:400px}.login-card h1{font-size:20px;text-align:center}.login-card .brand-mark{text-align:center;color:var(--accent);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:12px;margin-bottom:8px}.login-card p.muted{text-align:center;color:var(--muted);font-size:13px;margin-top:0}.muted{color:var(--muted)}.mono{font-family:ui-monospace,Consolas,monospace;font-size:13px}.q-block{border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:14px;background:#fcfdfe}.q-block .q-prompt{font-weight:600;color:var(--ink);margin-bottom:4px}.q-block .q-domain{font-size:12px;color:var(--accent-dark);font-weight:600;text-transform:uppercase;letter-spacing:.04em}details.guidance{margin:8px 0;font-size:13px;color:var(--muted)}details.guidance summary{cursor:pointer;color:var(--accent-dark);font-weight:600}details.guidance ul{margin:8px 0 0;padding-left:18px}.section-title{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-dark);font-weight:700;margin:22px 0 10px;border-bottom:1px solid var(--border);padding-bottom:6px}.spinner{color:var(--muted);padding:40px;text-align:center}
