:root{--bg:#060a16;--panel:#0b1328;--panel2:#0f1a36;--line:#1c2a52;--line2:#26386b;--text:#dfe7ff;--muted:#8ea0c8;--accent:#2a7fff;--accent2:#5fb0ff;--danger:#ff4d5e;--ok:#3ad07a}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:radial-gradient(1200px 600px at 50% -10%,#14295e 0%,#060a16 60%) fixed;color:var(--text);font:15px/1.45 "Inter",system-ui,Segoe UI,Roboto,Arial,sans-serif}
a{color:var(--accent2)}
.auth{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}
.card{background:rgba(11,19,40,.92);border:1px solid var(--line2);border-radius:16px;padding:24px;box-shadow:0 20px 60px rgba(0,0,0,.45)}
.auth .card{width:min(380px,100%);display:flex;flex-direction:column;gap:12px}
.logo{font:28px "Russo One",sans-serif;letter-spacing:1px;text-align:center;background:linear-gradient(180deg,#fff,#8fc4ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.logo span{display:block;font:700 11px "Inter",sans-serif;letter-spacing:4px;color:var(--accent2);-webkit-text-fill-color:var(--accent2);margin-top:2px}
.logo.small{font-size:20px;text-align:left}
.sub{margin:0;text-align:center;color:var(--muted)}
.foot{margin:4px 0 0;text-align:center;color:var(--muted);font-size:13px}
label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:13px}
input{background:#08102a;border:1px solid var(--line2);border-radius:9px;padding:10px 12px;color:var(--text);font:inherit;outline:none}
input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(42,127,255,.2)}
.btn{background:var(--panel2);border:1px solid var(--line2);border-radius:9px;padding:8px 14px;color:var(--text);font:inherit;cursor:pointer;text-decoration:none;display:inline-block;white-space:nowrap}
.btn:hover{background:#15234a}
.btn.primary{background:var(--accent);border-color:#4b93ff;color:#fff;font-weight:600}
.btn.primary:hover{background:#3a8aff}
.btn.danger{border-color:#6a2232;color:#ffb3bb}
.btn.wide{width:100%;padding:11px}
.alert{background:rgba(255,77,94,.12);border:1px solid #6a2232;color:#ffc2c8;border-radius:9px;padding:9px 12px}
.ok{background:rgba(58,208,122,.12);border:1px solid #1e6b44;color:#b6f3cf;border-radius:9px;padding:9px 12px;margin-bottom:12px}
.wrap{max-width:1100px;margin:0 auto;padding:16px}
.bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.bar nav{display:flex;gap:8px;align-items:center}
h1{font:24px "Russo One",sans-serif;margin:14px 0}
h2{font-size:13px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin:0 0 12px}
.wrap .card{margin-bottom:16px}
.row-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.row-form h2{width:100%}
.row-form label{flex:1;min-width:180px}
.chk{flex-direction:row!important;align-items:center;gap:8px;min-width:auto!important;flex:none!important;padding-bottom:10px}
.chk input{width:16px;height:16px;accent-color:var(--accent)}
.table{overflow-x:auto}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:middle}
th{color:var(--muted);font-size:12px;letter-spacing:1px;text-transform:uppercase;font-weight:600}
tr.off td{opacity:.55}
td small{color:var(--muted)}
.acts{display:flex;flex-wrap:wrap;gap:6px}
.inline{display:inline-flex;gap:4px}
.inline input{padding:6px 8px;width:130px}
.inline .btn{padding:6px 10px;font-size:13px}
.tag{font-size:11px;border:1px solid var(--line2);border-radius:20px;padding:1px 8px;color:var(--muted)}
.tag.blue{border-color:#2a5bbf;color:#9cc6ff}.tag.green{border-color:#1e6b44;color:#8ee6b4}.tag.red{border-color:#6a2232;color:#ffb3bb}
