:root{--bg0: #0f1419;--bg1: #171e27;--bg2: #1e2833;--line: rgba(232, 220, 196, .12);--text: #f2ebe0;--muted: #9aa8b5;--accent: #c4a574;--accent-dim: #8a7350;--danger: #c45c5c;--ok: #6a9a7a;--font: "DM Sans", system-ui, sans-serif;--display: "Instrument Serif", Georgia, serif}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:var(--font);color:var(--text);background:radial-gradient(ellipse 80% 50% at 10% -10%,rgba(196,165,116,.18),transparent 55%),radial-gradient(ellipse 60% 40% at 90% 0%,rgba(90,120,150,.15),transparent 50%),linear-gradient(165deg,var(--bg0),var(--bg1) 45%,#121820)}body,#app{min-height:100vh}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(400px,100%);padding:36px 32px 32px;background:linear-gradient(160deg,#1e2833eb,#0f1419f2);border:1px solid var(--line);border-radius:4px;box-shadow:0 24px 60px #00000059}.login-card h1{margin:0 0 6px;font-family:var(--display);font-weight:400;font-size:2.1rem;letter-spacing:.02em;color:var(--accent)}.login-card p{margin:0 0 28px;color:var(--muted);font-size:.95rem}label{display:block;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}input[type=text],input[type=password]{width:100%;margin-bottom:16px;padding:12px 14px;border:1px solid var(--line);border-radius:3px;background:#00000040;color:var(--text);font:inherit;outline:none}input:focus{border-color:#c4a5748c}button{font:inherit;cursor:pointer;border:none;border-radius:3px}.btn-primary{width:100%;margin-top:8px;padding:12px 16px;background:var(--accent);color:#1a140c;font-weight:600}.btn-primary:hover{filter:brightness(1.05)}.btn-ghost{padding:8px 12px;background:transparent;color:var(--muted);border:1px solid var(--line)}.btn-ghost:hover{color:var(--text);border-color:#e8dcc447}.err{color:var(--danger);font-size:.9rem;min-height:1.2em;margin:0 0 8px}.shell{max-width:1100px;margin:0 auto;padding:28px 20px 48px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px;padding-bottom:18px;border-bottom:1px solid var(--line)}.brand{font-family:var(--display);font-size:1.85rem;color:var(--accent);letter-spacing:.02em}.brand span{color:var(--muted);font-family:var(--font);font-size:.85rem;margin-left:10px;letter-spacing:.04em;text-transform:uppercase}.tabs{display:flex;gap:8px;margin-bottom:22px}.tab{padding:10px 16px;background:transparent;color:var(--muted);border:1px solid transparent}.tab.active{color:var(--text);border-color:var(--line);background:#ffffff08}.panel{background:#171e278c;border:1px solid var(--line);border-radius:4px;padding:22px;min-height:320px}.panel h2{margin:0 0 8px;font-size:1.15rem;font-weight:600}.panel .hint{margin:0 0 20px;color:var(--muted);font-size:.92rem}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px}.toolbar .btn-primary{width:auto;margin:0;padding:10px 14px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted);font-weight:500;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.badge{display:inline-block;padding:2px 8px;border-radius:2px;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase}.badge.draft{background:#9aa8b526;color:var(--muted)}.badge.published{background:#6a9a7a33;color:var(--ok)}.empty{color:var(--muted);padding:40px 8px;text-align:center}.muted{color:var(--muted)}
