:root{
 --bg:#090d12;--panel:#111821;--panel2:#18222d;--line:#273544;--text:#edf3f8;
 --muted:#91a0b2;--accent:#6ea8fe;--green:#56d69a;--yellow:#f1c86e;--red:#ff7474;
 --shadow:0 24px 70px rgba(0,0,0,.55)
}
*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:var(--bg);color:var(--text);font:14px Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
[hidden]{display:none!important}button,input,select,textarea{font:inherit}button{cursor:pointer}
.topbar{position:sticky;top:0;z-index:20;background:#0c1219;border-bottom:1px solid var(--line);padding:14px 18px}
.topline{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.brand{font-size:20px;font-weight:900}.brand span{color:var(--accent)}
.userbox,.nav,.actions,.toolbar,.stats{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.nav{margin-top:12px}
.btn,.icon-btn{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:9px;padding:8px 11px}
.btn.primary{background:var(--accent);color:#06111e;border-color:transparent;font-weight:800}.btn.green{background:var(--green);color:#07170f;border:0;font-weight:800}
.btn.danger{color:#ffd6d6;border-color:#6c363c}.btn.active{border-color:var(--accent);background:#14243a}.btn:disabled{opacity:.5;cursor:not-allowed}
.icon-btn{padding:1px 9px;font-size:24px;background:transparent}main{max-width:1500px;margin:auto;padding:16px}
.muted{color:var(--muted)}.small{font-size:11px}.card{border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:12px}
.notice{border:1px dashed var(--line);border-radius:9px;padding:10px;color:var(--muted);margin-bottom:10px}.warning{border-color:#5b4c2d;color:#ead59a}
.stat{border:1px solid var(--line);background:var(--panel);border-radius:9px;padding:8px 11px;color:var(--muted);font-size:11px}.stat b{color:var(--text)}
.toolbar{margin-bottom:10px}.toolbar input,.toolbar select,.field input,.field select,.field textarea{background:#0c1219;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:9px}
.spacer{margin-left:auto}.month-title{min-width:190px;text-align:center;font-weight:800}
.week,.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.week div{text-align:center;color:var(--muted);font-size:11px;font-weight:800;padding:6px}
.day{min-height:145px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:7px}.day:hover{border-color:#41566d}.day.other{opacity:.4}.day.today{outline:2px solid var(--accent)}
.day-num{font-size:12px;font-weight:900}.event-chip{margin-top:6px;border-left:3px solid var(--accent);background:#1a2531;border-radius:6px;padding:6px;cursor:pointer}
.event-chip b{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-chip small{font-size:9px;color:var(--muted)}
.section-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.section-title h2,.section-title h3{margin:0}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:10px;color:var(--muted);font-weight:800}.field textarea{min-height:78px;resize:vertical}.full{grid-column:1/-1}
.list{display:flex;flex-direction:column;gap:9px}.row{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--line);background:var(--panel);border-radius:11px;padding:11px}
.row-main{min-width:0}.row-main b{display:block}.row-main small{color:var(--muted)}.row.unread{border-color:#365982;background:#101c2b}
.badge{display:inline-block;font-size:9px;padding:4px 7px;border-radius:12px;background:#263547;color:#d3dfec;white-space:nowrap;text-transform:capitalize}.badge.ok{background:#15372a;color:#98f0c3}.badge.wait{background:#3a3017;color:#f5dc96}.badge.no{background:#422326;color:#ffb2b2}
.details{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.detail{border:1px solid var(--line);background:#0c1219;border-radius:8px;padding:8px}.detail b{display:block;color:var(--muted);font-size:9px;margin-bottom:4px}
.assignment-editor{border:1px solid var(--line);background:#0c1219;border-radius:10px;padding:10px;margin-top:10px}.assignment-line{display:grid;grid-template-columns:1.25fr 1fr .75fr auto;gap:7px;align-items:end;margin-top:8px}
.provider-event{border:1px solid var(--line);background:var(--panel);border-radius:13px;padding:13px}.provider-event h3{margin:0}.timebox{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.time-pill{border:1px solid var(--line);background:#0c1219;border-radius:9px;padding:7px 9px;font-size:11px}
.request{border:1px solid #504429;background:#211c0f;border-radius:10px;padding:10px}.request p{color:#d8cfb0}
.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:9px;border-bottom:1px solid var(--line);text-align:left;font-size:11px}.table th{color:var(--muted)}
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px}.login{width:min(440px,100%);background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow)}.login h1{margin:0}.login .field{margin-top:10px}.link-btn{border:0;background:transparent;color:var(--accent);padding:4px 0;text-decoration:underline}
.overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;padding:14px;z-index:100}.modal{width:min(960px,100%);max-height:93vh;overflow:auto;background:#101720;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}
.modal-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;background:#101720;border-bottom:1px solid var(--line);padding:14px 16px}.modal-head h3{margin:0}.modal-body{padding:16px}
.toast{position:fixed;right:15px;bottom:15px;z-index:200;background:#172331;border:1px solid var(--line);border-radius:9px;padding:10px 13px}
.conflict{border:1px solid #6a5029;background:#2b210f;border-radius:8px;padding:8px;color:#f1d799;font-size:11px;margin-top:6px}
.catalog{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:center;border-bottom:1px solid var(--line);padding:8px 0}
.kpi{font-size:22px;font-weight:900;margin-top:3px}.empty{color:var(--muted);padding:18px;text-align:center}
@media(max-width:900px){.grid2,.grid3,.details{grid-template-columns:1fr}.assignment-line{grid-template-columns:1fr 1fr}.day{min-height:102px}.event-chip small{display:none}.spacer{margin-left:0;width:100%}}
@media(max-width:600px){main{padding:8px}.topbar{padding:11px}.week,.calendar{gap:2px}.day{min-height:86px;padding:5px;border-radius:7px}.event-chip{padding:4px}.event-chip b{font-size:9px}.week div{font-size:9px}.assignment-line{grid-template-columns:1fr}.month-title{min-width:145px}}
