:root{color-scheme:dark;--bg:#101820;--card:#1b2732;--border:#344451;--muted:#afc0cd;--accent:#60e0bd}*{box-sizing:border-box}body{margin:0;background:var(--bg);font:15px/1.55 system-ui,sans-serif;color:#f2f6f8}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}aside{position:fixed;width:250px;inset:0 auto 0 0;background:#14212c;border-right:1px solid var(--border);padding:26px 22px;overflow:auto}aside a{display:block;padding:9px 5px;color:#c5d2dd}aside .active{color:var(--accent)}.brand{font-size:23px;letter-spacing:2px;font-weight:800;margin-bottom:24px}.brand span{display:block;font-size:11px;color:var(--accent);letter-spacing:5px}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--accent);font-weight:700;margin-top:18px}main{margin-left:250px;padding:32px 4vw;max-width:1700px}header{margin-bottom:28px}h1{font-size:clamp(28px,4vw,43px);line-height:1.14;letter-spacing:-1px;margin:12px 0}h2{font-size:21px;margin:0 0 14px}h3{overflow-wrap:anywhere}p{color:var(--muted)}section{background:var(--card);border:1px solid var(--border);padding:24px;border-radius:15px;margin-bottom:20px}nav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 26px}nav a{color:var(--muted);padding:10px 17px;border:1px solid var(--border);border-radius:9px}nav a.active{background:var(--accent);color:#10251e;border-color:var(--accent)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px}.grid section{margin:0;min-width:0}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.metrics span{color:var(--muted);display:block}.metrics b{font-size:36px}form{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:14px 0}label{display:flex;flex-direction:column;gap:6px;font-size:13px;flex:1 1 180px}input,select,button{font:inherit;border-radius:8px;min-height:43px}input,select{padding:9px 12px;border:1px solid #526372;background:#101c26;color:#fff;min-width:0;max-width:100%}input[type=checkbox]{min-height:auto;accent-color:var(--accent)}button{padding:10px 16px;background:var(--accent);color:#10251e;border:1px solid transparent;font-weight:700;cursor:pointer}button:hover{filter:brightness(1.1)}.secondary{background:#293e4c;color:#e1edf5;border-color:#4a6173}.danger{background:#442e35;color:#ffb4bc;border-color:#85515d}.check{flex-direction:row;align-items:center}.days{display:flex;width:100%;gap:12px;flex-wrap:wrap}.days label{flex:0 0 auto;flex-direction:row;align-items:center}.notice{background:#263e3d;border:1px solid #4e8f7b;border-radius:10px;padding:16px;margin-bottom:20px;overflow-wrap:anywhere}.badge{border-radius:20px;padding:5px 11px;background:#38404b;color:#d4dbe1;font-size:12px;display:inline-block;margin-bottom:14px}.badge.ok{background:#214c40;color:#8eedc9}.thumb{width:100%;height:190px;object-fit:contain;background:#080d12;border-radius:8px}.login{margin:10vh auto;padding:35px;max-width:520px}.login form{display:block}.login label{margin:18px 0}.login button{width:100%}.item{border-bottom:1px solid var(--border);padding:6px 0 14px}.item form strong{flex:1 1 100%;overflow-wrap:anywhere}aside form input,aside form button{width:100%}dialog{border:1px solid #526372;border-radius:14px;background:var(--card);color:#fff;max-width:480px;padding:28px}dialog::backdrop{background:#000a}.actions{display:flex;justify-content:end;gap:10px}:focus-visible{outline:3px solid #a4f7dc;outline-offset:3px}@media(max-width:800px){aside{position:static;width:auto;border-right:0;border-bottom:1px solid var(--border);padding:15px 20px}aside .brand{margin-bottom:5px}aside a{display:inline-block;margin-right:10px}aside form{max-width:450px}main{margin:0;padding:22px 16px}.metrics{gap:8px}.metrics section{padding:12px}.metrics b{font-size:29px}.grid{grid-template-columns:1fr}form>button{flex:1}section{padding:18px}}
.upload-progress{flex:1 1 100%;padding:14px;border:1px solid #4e8f7b;border-radius:10px;background:#142e2a}.upload-progress[hidden]{display:none}.upload-progress p{margin:0 0 9px;color:#b7f2df}.upload-progress progress{display:block;width:100%;height:20px;accent-color:var(--accent)}.upload-error{border-color:#85515d;background:#34232a}.upload-error p{color:#ffb4bc}button:disabled,input:disabled{opacity:.65;cursor:wait}
