:root{--navy: #192048;--blue: #41abfb;--blue-d: #1f8fe0;--bg: #f4f6fb;--card: #ffffff;--text: #1a1f36;--muted: #6b7390;--border: #e2e6f0;--danger: #c0392b;--danger-bg: #fdecea;--ok: #1e874b;--ok-bg: #e8f6ee;--radius: 10px;--font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);background:var(--bg);color:var(--text)}.center{min-height:100vh;display:grid;place-items:center;padding:24px}.muted{color:var(--muted);font-size:.9rem}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:var(--navy);color:#fff}.topbar-right{display:flex;align-items:center;gap:14px}.topbar-right .muted{color:#c3c9e0}.main{flex:1;padding:28px 24px;max-width:860px;width:100%;margin:0 auto}.brand{display:flex;align-items:center;gap:8px;font-weight:700;letter-spacing:.2px}.brand-mark{color:var(--blue)}.brand-lg{font-size:1.4rem;justify-content:center}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:0 1px 3px #1920480f;margin-bottom:18px}.login{width:340px;display:flex;flex-direction:column;gap:14px}.card h2{margin:0 0 4px;font-size:1.2rem}.card h3{margin:20px 0 8px;font-size:1rem}label{display:flex;flex-direction:column;gap:6px;font-size:.88rem;font-weight:600}input,select{font:inherit;padding:9px 11px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);font-weight:400}input:focus,select:focus{outline:2px solid var(--blue);outline-offset:0;border-color:var(--blue)}input.invalid{border-color:var(--danger)}fieldset{border:1px solid var(--border);border-radius:var(--radius);margin:0 0 16px;padding:14px 16px 18px}legend{padding:0 6px;font-weight:700;font-size:.85rem;color:var(--navy);text-transform:uppercase;letter-spacing:.4px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field-label{font-weight:600}.field-hint{font-weight:400;color:var(--muted)}.form-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:6px}.inline-form{display:flex;gap:10px}.inline-form input{flex:1}.actions{display:flex;gap:10px;margin-top:6px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 4px}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:#fff;font-size:.85rem;font-weight:500;cursor:pointer}.chip input{display:none}.chip-on{border-color:var(--blue);background:#eaf6ff;color:var(--blue-d)}.fbo-list{display:flex;flex-direction:column;gap:8px}.fbo-row{text-align:left;background:#fff;border:1px solid var(--border);border-radius:8px;padding:12px 14px;cursor:pointer;transition:border-color .1s,background .1s}.fbo-row:hover{border-color:var(--blue);background:#f7fbff}.fbo-name{font-weight:600}.fbo-meta{margin-top:2px}.manual{margin-top:18px;border-top:1px dashed var(--border);padding-top:6px}.stepper{display:flex;gap:8px;margin-bottom:18px}.step{padding:6px 14px;border-radius:999px;background:#e9ecf5;color:var(--muted);font-size:.82rem;font-weight:600}.step-on{background:var(--navy);color:#fff}.step-done{background:var(--blue);color:#fff}.btn{font:inherit;font-weight:600;padding:9px 16px;border-radius:8px;border:1px solid transparent;cursor:pointer}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover:not(:disabled){background:var(--blue-d)}.btn-secondary{background:var(--navy);color:#fff}.btn-ghost{background:transparent;border-color:var(--border);color:var(--text)}.btn-ghost:hover{background:#f0f2f8}.topbar .btn-ghost{color:var(--blue);border-color:var(--blue)}.topbar .btn-ghost:hover{background:var(--blue);color:var(--navy)}.notice{background:#eef4ff;border:1px solid #cfe0ff;color:#24406b;padding:8px 12px;border-radius:8px;font-size:.88rem}.error-box{background:var(--danger-bg);border:1px solid #f5c6c0;color:var(--danger);padding:10px 12px;border-radius:8px;font-size:.88rem;margin:10px 0}.error-box ul{margin:6px 0 0;padding-left:18px}.ok-box{background:var(--ok-bg);border:1px solid #b8e6c8;color:var(--ok);padding:10px 12px;border-radius:8px;font-size:.9rem;margin:10px 0}@media (max-width: 640px){.grid{grid-template-columns:1fr}}
