@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&display=swap");:root{--bg-start:#e8eeff;--bg-end:#fce9ec;--panel:#fff;--panel-2:#f4f6fa;--border:#dde4ed;--border-soft:#e8edf4;--ink:#0a1628;--text:#14243d;--muted:#5b6b82;--dim:#94a0b3;--accent:#1e40af;--accent-hover:#1e3a8a;--accent-soft:#dbeafe;--accent-2:#0f766e;--danger:#dc2626;--danger-soft:#fee2e2;--ok:#059669;--ok-soft:#e8f6ee;--warn:#b45309;--warn-soft:#fdf1dc}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;background:linear-gradient(180deg,var(--bg-start) 0,var(--bg-end) 100%);background-attachment:fixed;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;letter-spacing:-.005em;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none;font-weight:500}a:hover{color:var(--accent-hover);text-decoration:underline}h1,h2,h3{color:var(--ink);letter-spacing:-.02em}.container{max-width:1100px;margin:0 auto;padding:24px 20px 72px}.nav{display:flex;align-items:center;gap:18px;padding:14px 24px;background:hsla(0,0%,100%,.82);-webkit-backdrop-filter:saturate(180%) blur(8px);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--border-soft);position:-webkit-sticky;position:sticky;top:0;z-index:20}.nav .brand{font-family:Fraunces,Georgia,Times New Roman,serif;font-weight:600;font-size:18px;letter-spacing:-.02em;color:var(--ink);margin-right:auto}.nav a{color:var(--muted);font-weight:600}.nav a:hover{color:var(--accent);text-decoration:none}.card{background:var(--panel);border:1px solid var(--border-soft);border-radius:16px;padding:20px;box-shadow:0 1px 2px rgba(15,22,49,.04)}label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:6px}input,select,textarea{font:inherit;color:var(--text);background:#fff;border:1px solid var(--border);border-radius:12px;padding:9px 12px;transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(30,64,175,.16)}::placeholder{color:var(--dim)}button{font:inherit;cursor:pointer;font-weight:600;color:var(--text);background:#fff;border:1px solid var(--border);border-radius:12px;padding:9px 14px;transition:background .15s ease,box-shadow .15s ease,transform .05s ease}button:hover{background:var(--panel-2)}button:active{transform:scale(.98)}button.primary{color:#fff;border:none;background:linear-gradient(135deg,var(--accent) 0,#0f2968 100%);box-shadow:0 4px 14px rgba(30,64,175,.28)}button.primary:hover{background:linear-gradient(135deg,#0f2968 0,var(--accent) 100%)}button.ghost{background:transparent;border-color:var(--border)}button.ghost:hover{background:var(--panel-2)}button.danger{color:var(--danger);border-color:var(--danger);background:#fff}button.danger:hover{background:var(--danger-soft)}button:disabled{opacity:.5;cursor:default;transform:none;box-shadow:none}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:11px 14px;vertical-align:top}th{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:#f9fafc;border-bottom:1px solid var(--border)}td{border-bottom:1px solid var(--border-soft);color:var(--text)}tbody tr:hover td{background:#fafbfd}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.muted,.pill,.spin{color:var(--muted)}.pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid var(--border);background:var(--panel-2)}.pill.ok{color:var(--ok);background:var(--ok-soft)}.pill.ok,.pill.warn{border-color:transparent}.pill.warn{color:var(--warn);background:var(--warn-soft)}.pill.err{border-color:transparent}.error,.pill.err{color:var(--danger);background:var(--danger-soft)}.error{border:1px solid #fbcaca;border-radius:10px;padding:8px 12px;margin:8px 0;font-weight:500}.avatar{width:30px;height:30px;border-radius:50%;object-fit:cover;background:var(--panel-2);border:1px solid var(--border);vertical-align:middle}