:root{--bg0: #eef1f6;--bg1: #dce3ee;--ink: #0b1a2e;--muted: #5a6b80;--line: #b7c2d1;--panel: rgba(255, 255, 255, .72);--accent: #0a2540;--accent-2: #c45c26;--danger: #a12626;--ok: #1e4d7b;--shadow: 0 18px 50px rgba(11, 26, 46, .14);font-family:DM Sans,sans-serif;color:var(--ink);background:var(--bg0);line-height:1.45}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(1200px 600px at 10% -10%,#f4f7fc 0%,transparent 55%),radial-gradient(900px 500px at 100% 0%,#e8eef8 0%,transparent 50%),linear-gradient(160deg,var(--bg0),var(--bg1))}code,.mono{font-family:IBM Plex Mono,monospace}a{color:inherit;text-decoration:none}.shell{max-width:1100px;margin:0 auto;padding:1.25rem 1.25rem 3rem}.topbar{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-bottom:1.75rem}.brand{display:flex;align-items:center;gap:.75rem}.brand p,.brand+nav{margin:0}.brand p{color:var(--muted);font-size:.85rem}.brand-mark{width:2.4rem;height:2.4rem;border-radius:.7rem;display:grid;place-items:center;background:var(--accent);color:#f4f7fc;font-weight:700}.brand-mark.large{width:3.2rem;height:3.2rem;font-size:1.4rem}.topbar nav{display:flex;gap:.5rem;flex:1}.topbar nav a{padding:.45rem .8rem;border-radius:999px;color:var(--muted)}.topbar nav a.active{background:#fff;color:var(--ink);box-shadow:var(--shadow)}.user-chip{display:flex;align-items:center;gap:.75rem;color:var(--muted);font-size:.92rem}.content,.login-panel{background:var(--panel);border:1px solid rgba(255,255,255,.7);border-radius:1.25rem;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.content{padding:1.5rem}.stack{display:grid;gap:1.1rem}.page-head{display:flex;justify-content:space-between;gap:1rem;align-items:end}.page-head h1,.login-brand h1{margin:0 0 .25rem;font-size:1.8rem;letter-spacing:-.03em}.page-head p,.login-brand p{margin:0;color:var(--muted)}.meta{color:var(--muted);font-size:.9rem}.create-bar,.toolbar{display:flex;gap:.6rem;flex-wrap:wrap}input,select,button{font:inherit}input,select{flex:1;min-width:160px;border:1px solid var(--line);background:#fff;border-radius:.7rem;padding:.75rem .9rem;color:var(--ink)}.btn{border:1px solid var(--line);background:#fff;border-radius:.7rem;padding:.7rem 1rem;cursor:pointer;white-space:nowrap}.btn.primary{background:var(--accent);border-color:var(--accent);color:#f4f7fc}.btn.ghost{background:transparent}.btn:disabled{opacity:.6;cursor:not-allowed}.banner{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.9rem 1rem;border-radius:.9rem}.banner.success{background:#0a254014;border:1px solid rgba(10,37,64,.22)}.banner.warn{background:#c45c261f;border:1px solid rgba(196,92,38,.28)}.banner code{display:block;margin-top:.35rem;word-break:break-all}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:.9rem;background:#ffffff8c}table{width:100%;border-collapse:collapse;font-size:.95rem}th,td{text-align:left;padding:.85rem .9rem;border-bottom:1px solid rgba(183,199,189,.55);vertical-align:top}th{color:var(--muted);font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}tr:last-child td{border-bottom:0}.truncate{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pill{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.8rem}.pill.ok{background:#1e4d7b1f;color:var(--ok)}.pill.off{background:#a126261a;color:var(--danger)}.linkish{border:0;background:none;padding:0;color:var(--accent);cursor:pointer;text-align:left}.actions{text-align:right}.muted{color:var(--muted)}.small{font-size:.82rem;margin-top:.2rem}.error{color:var(--danger);margin:0}.centered{min-height:100vh;display:grid;place-items:center;color:var(--muted)}.login-page{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.login-panel{width:min(440px,100%);padding:2rem;display:grid;gap:1.5rem}.login-form{display:grid;gap:.9rem}.login-form label{display:grid;gap:.35rem;font-size:.92rem;color:var(--muted)}.captcha-block{display:grid;gap:.75rem}.captcha-row{display:flex;align-items:center;gap:.6rem}.captcha-image{display:block;border-radius:.7rem;border:1px solid var(--line);background:#fff;-webkit-user-select:none;user-select:none}.captcha-placeholder{width:180px;height:56px;display:grid;place-items:center;border-radius:.7rem;border:1px dashed var(--line);color:var(--muted);font-size:.85rem;background:#ffffff8c}@media(max-width:720px){.topbar{align-items:stretch}.user-chip{width:100%;justify-content:space-between}.truncate{max-width:160px}}
