:root{--bg0: #0f1c18;--bg1: #163028;--bg2: #1e3d32;--ink: #f2f7f4;--muted: #9bb5a8;--accent: #3ecf8e;--accent-2: #f0b429;--danger: #ef6b6b;--line: rgba(242, 247, 244, .12);--panel: rgba(15, 28, 24, .72);--shadow: 0 18px 50px rgba(0, 0, 0, .35);--font-display: "Outfit", sans-serif;--font-body: "Source Sans 3", sans-serif;--radius: 14px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-body);color:var(--ink);background:radial-gradient(1200px 600px at 10% -10%,rgba(62,207,142,.22),transparent 55%),radial-gradient(900px 500px at 100% 0%,rgba(240,180,41,.12),transparent 50%),linear-gradient(160deg,var(--bg0),var(--bg1) 45%,#0c1613)}h1,h2,strong,.brand{font-family:var(--font-display)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0;border-radius:999px;padding:.7rem 1.2rem;background:linear-gradient(135deg,var(--accent),#2aa86f);color:#062418;font-weight:700}button:disabled{opacity:.6;cursor:not-allowed}button.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}button.danger{background:var(--danger);color:#1a0505}button.linkish{background:none;color:var(--muted);padding:0;font-weight:600}label{display:grid;gap:.35rem;margin-bottom:.85rem}input,textarea,select{width:100%;border-radius:10px;border:1px solid var(--line);background:#00000040;color:var(--ink);padding:.65rem .8rem}.login-page{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.login-card{width:min(420px,100%);padding:2rem;border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-size:.75rem;margin:0 0 .4rem}.muted{color:var(--muted)}.error{color:#ffb4b4;background:#ef6b6b1f;padding:.6rem .8rem;border-radius:8px}.flash{color:#b8f5d4;background:#3ecf8e1f;padding:.6rem .8rem;border-radius:8px}.shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{padding:1.25rem;border-right:1px solid var(--line);background:#08100db3;display:flex;flex-direction:column;gap:1.5rem}.brand{display:flex;gap:.75rem;align-items:center}.brand-mark{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,var(--accent),var(--accent-2));color:#0b1a14;font-weight:800}.brand small{display:block;color:var(--muted)}.sidebar nav{display:grid;gap:.35rem}.sidebar nav a{padding:.65rem .8rem;border-radius:10px;color:var(--muted)}.sidebar nav a.active,.sidebar nav a:hover{background:#3ecf8e1f;color:var(--ink)}.sidebar-foot{margin-top:auto;display:flex;justify-content:space-between;gap:.5rem;color:var(--muted);font-size:.9rem}.main{padding:1.5rem clamp(1rem,3vw,2.5rem)}.page-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.page-head h1{margin:0;font-size:clamp(1.6rem,2vw,2.1rem)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.2rem;margin-bottom:1rem;box-shadow:var(--shadow)}.status-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.pill{display:inline-flex;align-items:center;padding:.35rem .7rem;border-radius:999px;font-size:.85rem;border:1px solid var(--line)}.pill.ok{background:#3ecf8e26;color:#b8f5d4}.pill.warn{background:#f0b42926;color:#ffe2a0}.pill.off{background:#ef6b6b26;color:#ffc1c1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1rem}.form-grid .full{grid-column:1 / -1}.check{display:flex;align-items:center;gap:.5rem}.check input{width:auto}.row-actions{display:flex;gap:.5rem;flex-wrap:wrap}.rule-list{list-style:none;padding:0;margin:0}.rule-item{display:flex;justify-content:space-between;gap:1rem}.thumb{max-width:160px;border-radius:10px;margin-top:.5rem;display:block}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.media-card img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px}.media-card figcaption{display:grid;gap:.2rem;margin-top:.6rem}.media-card code{font-size:.75rem;color:var(--muted);word-break:break-all}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.55rem .4rem;border-bottom:1px solid var(--line);vertical-align:top;font-size:.92rem}@media(max-width:860px){.shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line)}.form-grid,.rule-item{grid-template-columns:1fr;flex-direction:column}}
