:root{--bg:#0d0e0f;--p:#17191b;--l:#2a2d30;--t:#f2f0ea;--m:#8a9094;--a:#e0a93b;--r:#ff8a8a;--g:#6fd6a0}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--t);font:14px/1.5 system-ui,sans-serif}a{color:inherit;text-decoration:none}
.side{position:fixed;inset:0 auto 0 0;width:230px;background:var(--p);border-right:1px solid var(--l);padding:16px;display:flex;flex-direction:column;gap:2px;overflow:auto}
.brand{font-weight:800;font-size:17px;margin-bottom:12px}.side a{padding:9px 10px;border-radius:8px;color:var(--m)}.side a:hover{color:var(--t);background:var(--bg)}.side a.on{color:var(--a);background:var(--bg);font-weight:700}
.side .sep{margin:12px 10px 4px;color:var(--m);font-size:11px}.who{margin-top:auto;padding-top:14px}.who small{display:block;color:var(--m)}
.main{margin-left:230px;padding:24px;max-width:1000px}header{margin-bottom:18px}h1{margin:0;font-size:24px}header p{margin:4px 0 0;color:var(--m)}
.card{background:var(--p);border:1px solid var(--l);border-radius:12px;padding:16px;margin-bottom:14px}.head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.btn,button{display:inline-block;background:var(--p);color:var(--t);border:1px solid var(--l);border-radius:8px;padding:8px 13px;cursor:pointer;font:inherit}.pri{background:var(--a);color:#1a1405;border-color:var(--a);font-weight:700}.del{color:var(--r)}
label{display:block;color:var(--m);font-size:12px;margin:10px 0 4px}.chk{display:flex;gap:8px;align-items:center}
input,textarea,select{width:100%;background:var(--bg);color:var(--t);border:1px solid var(--l);border-radius:8px;padding:10px;font:inherit}textarea{min-height:90px}input[type=checkbox]{width:auto}
.it{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--l)}.it small{display:block;color:var(--m)}
#msg{min-height:20px;color:var(--g)}#msg.err{color:var(--r)}.ok{color:var(--g)}.bad{color:var(--r)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stats .card b{font-size:28px;display:block}.stats span{color:var(--m)}
.login{max-width:380px;margin:12vh auto;padding:0 16px}
:focus-visible{outline:2px solid var(--a)}
@media(max-width:800px){.side{position:static;width:auto;flex-direction:row;flex-wrap:wrap}.main{margin:0;padding:16px}.stats{grid-template-columns:1fr 1fr}.who{margin:0}}
