:root{--bg:#0b0d12;--bg2:#12151c;--bg3:#1a1e28;--line:#262b38;--tx:#e8eaf0;--mut:#8b93a7;--ac:#ff7a1a;--ac2:#ffb066;--ok:#2ecc71;--err:#ff5d5d}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--tx);font:15px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;display:flex;min-height:100vh}
a{color:var(--ac2)}.muted{color:var(--mut)}.small{font-size:12px}.mono{font-family:ui-monospace,Consolas,monospace;font-size:13px;word-break:break-all}
.side{width:230px;background:var(--bg2);border-right:1px solid var(--line);padding:14px;display:flex;flex-direction:column;gap:10px;position:sticky;top:0;height:100vh}
.logo{display:flex;gap:10px;align-items:center;font-weight:800;letter-spacing:.05em}.logo img{width:52px;border-radius:10px}.logo small{font-weight:400;color:var(--mut);letter-spacing:0}
.side nav{display:flex;flex-direction:column;gap:3px;flex:1}.side nav a{padding:10px 12px;border-radius:10px;text-decoration:none;color:var(--mut)}
.side nav a:hover{background:var(--bg3)}.side nav a.on{background:var(--bg3);color:var(--ac2);font-weight:600}
.lo .btn{width:100%}.credit{color:var(--mut);font-size:11px;text-align:center}
.content{flex:1;padding:22px 26px;min-width:0}h1{margin:0 0 16px;font-size:24px}h2{margin:26px 0 10px;font-size:18px;color:var(--ac2)}h3{margin:0 0 10px}
.btn{display:inline-block;background:var(--bg3);border:1px solid var(--line);color:var(--tx);padding:9px 15px;border-radius:10px;cursor:pointer;text-decoration:none;font:inherit}
.btn:hover{border-color:var(--ac)}.btn.primary{background:linear-gradient(135deg,var(--ac),#ff4d00);border:0;color:#fff;font-weight:600}
.btn.sm{padding:5px 10px;font-size:13px}.btn.danger{color:#ff9d9d}
input,select,textarea{background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:9px 11px;color:var(--tx);font:inherit;width:100%}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--ac)}
.form{background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:18px;max-width:820px;margin-bottom:18px}
.form label{display:block;margin:10px 0;color:var(--mut);font-size:13px}.form label input,.form label select,.form label textarea{margin-top:4px;color:var(--tx)}
.form label.chk{display:flex;gap:8px;align-items:center;color:var(--tx)}.form label.chk input{width:auto;margin:0}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.btns{display:flex;gap:10px;margin:12px 0;flex-wrap:wrap;align-items:center}
fieldset{border:1px solid var(--line);border-radius:12px;margin:12px 0}legend{color:var(--ac2);padding:0 6px}
.dnsrow{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:8px;align-items:center;margin:6px 0}
.tw{overflow:auto;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse}th,td{padding:9px 11px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}th{background:var(--bg2);color:var(--mut);font-size:12px;text-transform:uppercase;letter-spacing:.05em}
.acts{white-space:nowrap}.acts .btn,.inl{display:inline-block;margin:0 2px 2px 0}.inl{margin:0}
.pill{display:inline-block;padding:2px 9px;border-radius:20px;font-size:12px}.pill.ok{background:#12301f;color:var(--ok)}.pill.bad{background:#3a1519;color:#ff9d9d}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.card{background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:16px}.card .n{font-size:32px;font-weight:800;color:var(--ac2)}
.card.wide{margin-bottom:18px;max-width:820px}.kv td:first-child{color:var(--mut);width:210px}
.flash{padding:11px 14px;border-radius:10px;margin-bottom:14px;border:1px solid}.flash.ok{background:#12301f;border-color:#1f5a38}.flash.bad{background:#3a1519;border-color:#6b2229}
code{background:#000;padding:2px 7px;border-radius:6px;color:var(--ac2);user-select:all}
.loginpage{align-items:center;justify-content:center}.logincard{background:var(--bg2);border:1px solid var(--line);border-radius:18px;padding:26px;width:100%;max-width:380px;display:flex;flex-direction:column;gap:6px}
.logincard img{width:110px;border-radius:14px;align-self:center}.logincard h1{font-size:20px;text-align:center;margin:6px 0 0}.logincard p{text-align:center;margin:0 0 8px}
.logincard label{color:var(--mut);font-size:13px;display:block}.logincard input{margin-top:4px;margin-bottom:8px}.logincard .btn{margin-top:6px;padding:12px}.logincard .credit{margin-top:12px}
@media(max-width:800px){body{flex-direction:column}.side{width:100%;height:auto;position:static;flex-direction:column}.side nav{flex-direction:row;flex-wrap:wrap}.content{padding:14px}.row2,.dnsrow{grid-template-columns:1fr}}
