:root{--bg:#080808;--panel:#131313;--line:#292929;--orange:#ff7a00;--muted:#888;--text:#fff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#27160b,#080808 52%)}.login-card{width:min(430px,92vw);padding:38px;background:#111;border:1px solid var(--line);border-radius:22px;box-shadow:0 20px 80px #000}.brand{font-weight:900;font-size:29px;letter-spacing:-1px}.brand small{display:block;color:var(--orange);font-size:12px;letter-spacing:1px;margin-top:5px}.login-card p{color:var(--muted)}label{display:block;color:#aaa;margin:12px 0;font-size:12px}input,select,textarea{width:100%;padding:11px;margin-top:6px;background:#0b0b0b;border:1px solid #333;border-radius:9px;color:#fff}input[type=submit],.btn{background:var(--orange);color:#111;border:0;border-radius:9px;padding:12px 17px;font-weight:800;cursor:pointer}.login-card input[type=submit]{width:100%;margin-top:10px}.side{position:fixed;left:0;top:0;bottom:0;width:245px;background:#0d0d0d;border-right:1px solid #222;padding:22px 13px;z-index:20;display:flex;flex-direction:column;overflow:auto}.side>a:not(.logout){padding:11px;border-radius:9px;color:#aaa;margin:2px 0}.side>a.active,.side>a:hover{background:#1e150e;color:#fff}.side .logout{margin-top:auto;color:#ff8b8b;padding:12px}.main{margin-left:245px;min-height:100vh}.main header{height:72px;display:flex;align-items:center;gap:15px;padding:0 28px;border-bottom:1px solid #222;background:#0d0d0d;position:sticky;top:0;z-index:5}.main header h1{margin:3px 0 0;font-size:24px}.main header small{color:var(--orange);font-weight:700}.main header>b{margin-left:auto;color:#aaa}.content{padding:28px;max-width:1550px;margin:auto}.month{display:flex;justify-content:space-between;gap:15px;padding:15px;background:var(--panel);border:1px solid var(--line);border-radius:12px;margin-bottom:15px}.month span{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.card{padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:13px}.card small{color:var(--muted)}.card strong{display:block;font-size:20px;margin-top:8px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.panel{margin-top:15px;padding:22px;background:var(--panel);border:1px solid var(--line);border-radius:14px}.panel h2{margin-top:0}.bar{height:12px;background:#292929;border-radius:99px;overflow:hidden}.bar i{display:block;height:100%;background:var(--orange)}.hamb{display:none;background:none;border:0;color:#fff;font-size:22px}.formgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 16px}.permgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px 16px;padding:15px 0}.check{display:flex;align-items:center;gap:7px}.check input{width:auto;margin:0}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th,td{padding:11px;border-bottom:1px solid #292929;text-align:left;white-space:nowrap}th{color:#aaa}@media(max-width:1000px){.side{transform:translateX(-100%);transition:.2s}.open .side{transform:translateX(0)}.main{margin-left:0}.hamb{display:block}.cards{grid-template-columns:repeat(2,1fr)}.grid,.formgrid,.permgrid{grid-template-columns:1fr}.content{padding:16px}.main header{padding:0 16px}.main header>b{display:none}}@media print{.side,.main header,.btn{display:none!important}.main{margin:0}.content{padding:0}.panel{break-inside:avoid}}

.searchbar{display:flex;gap:8px;margin-bottom:18px}.searchbar input{flex:1}.notice-row{display:flex;justify-content:space-between;gap:12px;padding:10px;border-bottom:1px solid #292929}.notice-row button{background:#222;color:#fff;border:1px solid #444;border-radius:6px;padding:5px 8px}.read{opacity:.55}.btn{display:inline-block;background:#ff7a00;color:#111;padding:9px 13px;border-radius:8px;font-weight:800;border:0}.permgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}@media(max-width:900px){.permgrid{grid-template-columns:1fr}}
.notification{padding:14px;border:1px solid #2a2a2a;border-radius:12px;margin:10px 0;background:#111}.notification p{color:#bbb}.notification form{margin-top:8px}.btn.small{padding:7px 10px;font-size:12px}.tablewrap{overflow:auto}.tablewrap table{min-width:760px}@media print{.side,header,.btn,form{display:none!important}.main{margin:0!important}.panel{break-inside:avoid}}

.manager-card{border:1px solid #2a2a2a;border-radius:14px;padding:18px;margin:14px 0;background:#101010}.perm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.btn.small{padding:6px 9px;font-size:11px}@media(max-width:900px){.perm-grid{grid-template-columns:1fr}}

.manager-card,.notification{border:1px solid #292929;background:#111;border-radius:12px;padding:16px;margin:12px 0}.perm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.check{display:flex;gap:7px;align-items:center}.check input{width:auto}@media(max-width:800px){.perm-grid{grid-template-columns:1fr 1fr}}
.chart-grid{align-items:stretch}.chart-bars{display:flex;align-items:flex-end;gap:12px;min-height:210px;padding:20px 8px 8px;overflow-x:auto}.chart-col{position:relative;min-width:58px;height:190px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px}.chart-col i,.chart-col b{display:block;width:28px;border-radius:7px 7px 2px 2px;background:#ff7a00}.chart-col b{background:#555;position:absolute;bottom:24px;z-index:0;opacity:.45}.chart-col i{z-index:1}.chart-col span{font-size:10px;color:#aaa;white-space:nowrap}.chart-col small{color:#888}.legend{font-size:12px;color:#888}

.permission-group{border:1px solid #292929;border-radius:12px;padding:12px;margin:8px 0}.permission-group h4{margin:0 0 10px;color:#ff7a00}.permgrid,.perm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.mini-form{display:flex;gap:6px;flex-wrap:wrap;align-items:center;padding:8px}.mini-form input,.mini-form select{max-width:180px}details{display:inline-block}details summary{cursor:pointer;list-style:none}details summary::-webkit-details-marker{display:none}

.notification.unread{border-left:3px solid #ff7a00;background:#17120d}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#ff7a00;color:#111;font-size:11px;font-weight:800}.notification form{margin-left:5px}

:root{--emg-orange:#ff7a00;--emg-bg:#0a0a0a;--emg-panel:#111;--emg-border:#292929;--emg-muted:#929292}
html,body{background:var(--emg-bg);color:#fff}
input,select,textarea{background:#0d0d0d!important;color:#fff!important;border:1px solid var(--emg-border)!important;border-radius:9px!important;min-height:40px;box-sizing:border-box}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(255,122,0,.25)!important;border-color:var(--emg-orange)!important}
table{width:100%;border-collapse:collapse}th,td{padding:10px;border-bottom:1px solid var(--emg-border);text-align:left;vertical-align:middle}th{color:#bbb;font-size:12px;position:sticky;top:0;background:#111;z-index:1}
.panel{box-shadow:0 8px 30px rgba(0,0,0,.16)}.muted,.legend{color:var(--emg-muted)}
.notice.success{padding:12px 14px;border:1px solid #285c39;background:#102216;border-radius:10px;margin-bottom:14px}
.btn{cursor:pointer;transition:transform .12s ease,opacity .12s ease}.btn:hover{transform:translateY(-1px);opacity:.92}
@media(max-width:700px){.content{padding:12px}.panel{padding:13px}.formgrid{grid-template-columns:1fr!important}.cards{grid-template-columns:1fr 1fr!important}.cards .card strong{font-size:18px}.tablewrap{margin:0 -3px}.main header{padding:12px}.main header h1{font-size:20px}.side{width:270px}.side a{padding:12px 14px}.searchbar{flex-direction:column}.chart-bars{gap:8px}.chart-col{min-width:48px}.btn{min-height:40px}details{display:block;margin-top:6px}}
@media(max-width:430px){.cards{grid-template-columns:1fr!important}.cards .card{min-height:auto}.month{flex-direction:column;align-items:flex-start;gap:6px}}

.login-error{background:#2a1212;border:1px solid #7a2c2c;color:#ffb0b0;padding:11px 13px;border-radius:9px;margin:0 0 15px}.emg-login-form p{margin:0 0 8px}.login-remember label{display:flex;align-items:center;gap:8px}.login-remember input[type=checkbox]{width:auto;margin:0}.emg-login-form input[type=text],.emg-login-form input[type=password]{width:100%}
