:root{--bg:#f4f5f7;--panel:#fff;--text:#14171c;--muted:#5e6670;--line:#d7dbe2;--acc:#ff5a1f}
*{box-sizing:border-box}
body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text);display:flex;min-height:100vh}
a{color:var(--acc);text-decoration:none}
.side{width:250px;background:#14171c;color:#fff;padding:22px 14px;position:sticky;top:0;height:100vh;overflow:auto}
.side a{display:block;padding:8px 10px;color:#d7dbe2;border-left:2px solid transparent}
.side a:hover,.side a.on{background:#1c1f24;color:#fff;border-left-color:var(--acc)}
.side h1{font-size:13px;letter-spacing:.16em;text-transform:uppercase;margin:0 0 6px;color:var(--acc)}
.side .sub{font-size:12px;color:#9aa3ad;margin:0 0 16px}
.side .grp{margin:16px 0 6px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--acc)}
.main{flex:1;padding:28px 32px;min-width:0}
.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;border-bottom:1px solid var(--line);padding-bottom:12px}
.card{background:#fff;border:1px solid var(--line);padding:18px;margin-bottom:16px}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line)}
label{display:block;font-size:12px;color:var(--muted);margin:12px 0 6px;text-transform:uppercase}
input,select,textarea{width:100%;border:1px solid #1c1f24;padding:10px;font:inherit}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.btn{border:0;background:#1c1f24;color:#fff;padding:9px 14px;font-weight:700;cursor:pointer}
.btn-g{background:transparent;border:1px solid #1c1f24;color:#1c1f24}
.btn-d{background:#9b2c2c;color:#fff}
.alert{padding:10px;margin-bottom:12px;border:1px solid var(--line)}
.ok{background:#e8f6ee}.err{background:#fde8e8}
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;width:100%}
.login-box{width:min(420px,92vw);background:#fff;border-top:4px solid #ff5a1f;padding:28px;border:1px solid var(--line)}
.help{color:var(--muted);font-size:13px}
@media(max-width:860px){body{flex-direction:column}.side{width:100%;height:auto;position:relative}.row,.row3{grid-template-columns:1fr}}
