:root{--bg:#0d0f12;--panel:#171a1f;--panel2:#20242b;--text:#f5f5f5;--muted:#a7adb7;--line:#303641;--accent:#f0c95a;--danger:#ff8c8c;--ok:#73d59b;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}a{color:inherit}.shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{border-right:1px solid var(--line);padding:28px 18px;position:sticky;top:0;height:100vh}.logo{font-weight:800;letter-spacing:.12em;margin:0 12px 34px}.nav a{display:block;padding:12px;border-radius:10px;color:var(--muted);text-decoration:none;margin:3px 0}.nav a:hover,.nav a.active{background:var(--panel2);color:var(--text)}.content{padding:34px;max-width:1500px;width:100%}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.topbar h1{margin:0;font-size:2rem}.muted{color:var(--muted)}.grid{display:grid;gap:18px}.grid.cards{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px}.metric{font-size:2.2rem;font-weight:750;margin-top:8px}.card h2,.card h3{margin-top:0}.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:14px}table{width:100%;border-collapse:collapse;background:var(--panel)}th,td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}tr:last-child td{border-bottom:0}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:10px;padding:10px 14px;text-decoration:none;cursor:pointer;font-weight:650}.btn.primary{background:var(--accent);color:#171717;border-color:var(--accent)}.btn.danger{background:transparent;color:var(--danger);border-color:#6b3434}.actions{display:flex;gap:8px;flex-wrap:wrap}.field{margin-bottom:18px}.field label{display:block;font-weight:650;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;background:#101318;color:var(--text);border:1px solid var(--line);border-radius:10px;padding:11px 12px;font:inherit}.field textarea{min-height:110px}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.span2{grid-column:1/-1}.editorbar{display:flex;gap:6px;flex-wrap:wrap;padding:8px;background:#101318;border:1px solid var(--line);border-bottom:0;border-radius:10px 10px 0 0}.editorbar button{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:7px;padding:7px 10px}.editor{min-height:420px;background:#fff;color:#111;padding:22px;border-radius:0 0 10px 10px;line-height:1.65}.flash{padding:13px 16px;border-radius:10px;margin-bottom:18px;border:1px solid var(--line)}.flash.success{background:#153823;color:#bdf5d1}.flash.error{background:#3b1818;color:#ffd0d0}.flash.warning{background:#3a3116;color:#ffe9a6}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:var(--panel2);font-size:.78rem}.badge.ok{background:#18432a;color:#bdf5d1}.badge.warn{background:#493b17;color:#ffe9a6}.login{min-height:100vh;display:grid;place-items:center;padding:20px}.loginbox{width:min(440px,100%);background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:30px}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}.media-item{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}.media-item img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.media-item .pad{padding:10px}.site-section{margin:28px 0}.notice{padding:14px;border-left:4px solid var(--accent);background:#2b2617;margin-bottom:18px}.small{font-size:.86rem}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#0a0c0f;border:1px solid var(--line);padding:10px;border-radius:8px;overflow:auto}@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line)}.nav{display:flex;overflow:auto}.nav a{white-space:nowrap}.content{padding:22px}.formgrid{grid-template-columns:1fr}.span2{grid-column:auto}}
