
:root{--bg:#f4f6f8;--card:#fff;--text:#18202a;--muted:#667085;--line:#e5e7eb;--primary:#111827;--green:#138a50;--red:#c93636;--amber:#b7791f;--sidebar:#0f172a}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--text);background:var(--bg)}
button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.muted{color:var(--muted)}.msg{margin-top:12px;padding:10px;border-radius:8px;min-height:20px}.msg.error{background:#fdecec;color:#9b1c1c}.msg.ok{background:#eaf8f0;color:#12683d}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#eef2f7,#fff)}.login-card{width:min(420px,100%);background:#fff;padding:34px;border-radius:18px;box-shadow:0 18px 60px #00000012}.login-logo{width:92px;height:92px;object-fit:contain;display:block;margin:0 auto 12px}.login-card h1{text-align:center;margin:8px 0 4px}.login-card>.muted{text-align:center;margin-bottom:24px}
label{display:block;font-size:13px;font-weight:650;margin:12px 0}input,select,textarea{width:100%;border:1px solid #d6dae1;border-radius:9px;padding:10px 11px;background:#fff;color:var(--text)}textarea{min-height:90px;resize:vertical}.primary{background:var(--primary);color:#fff;border:0;border-radius:9px;padding:11px 16px;font-weight:700}.green{background:var(--green);color:#fff;border:0;border-radius:9px;padding:11px 16px;font-weight:700}.danger{background:var(--red);color:#fff;border:0;border-radius:9px;padding:10px 14px;font-weight:700}.ghost{background:transparent;color:inherit;border:1px solid #d8dde5;border-radius:9px;padding:10px 14px}.full{width:100%}
.sidebar{position:fixed;inset:0 auto 0 0;width:245px;background:var(--sidebar);color:#e5e7eb;padding:18px 12px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:10px;padding:5px 8px 18px}.brand img{width:42px;height:42px;object-fit:contain;background:#fff;border-radius:9px}.brand strong{display:block;font-size:18px}.brand span{display:block;font-size:11px;color:#94a3b8}.sidebar nav{display:flex;flex-direction:column;gap:4px}.sidebar nav button{border:0;background:transparent;color:#cbd5e1;text-align:left;padding:10px 12px;border-radius:8px}.sidebar nav button:hover,.sidebar nav button.active{background:#1e293b;color:#fff}.sidebar-bottom{margin-top:auto}.sidebar-bottom #userBadge{font-size:12px;color:#94a3b8;padding:10px}.content{margin-left:245px;min-height:100vh}.topbar{height:64px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:5;font-size:20px;font-weight:750}.top-actions{display:flex;align-items:center;gap:12px;font-size:12px}.badge{background:#eef2ff;color:#3730a3;padding:5px 9px;border-radius:999px}.sync{color:#16834b}.icon-btn{display:none;background:transparent;border:0;font-size:22px;margin-right:8px}
#page{padding:24px}.page-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}.page-head h1{font-size:25px;margin:0}.actions{display:flex;gap:8px;flex-wrap:wrap}.grid{display:grid;gap:16px}.cards{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px}.metric .label{color:var(--muted);font-size:12px}.metric .value{font-size:28px;font-weight:800;margin-top:8px}.metric .sub{font-size:12px;color:var(--muted);margin-top:5px}.two{grid-template-columns:1.2fr .8fr}.table-wrap{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:auto}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{padding:11px 13px;border-bottom:1px solid var(--line);text-align:left;font-size:13px;white-space:nowrap}.table th{background:#f8fafc;color:#475467;font-size:12px}.empty{padding:35px;text-align:center;color:var(--muted)}.low{color:var(--red);font-weight:700}.oktext{color:var(--green);font-weight:700}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px}.form-grid .wide{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}.modal{position:fixed;inset:0;background:#0008;display:grid;place-items:center;padding:20px;z-index:50}.modal-card{background:#fff;border-radius:15px;padding:22px;width:min(650px,100%);max-height:90vh;overflow:auto}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal-head h2{margin:0}.pill{display:inline-block;padding:4px 8px;border-radius:999px;background:#f2f4f7;font-size:11px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.filters>*{width:auto;min-width:140px}.search{max-width:300px}
.toast{position:fixed;right:20px;bottom:20px;background:#111827;color:#fff;padding:12px 15px;border-radius:9px;box-shadow:0 8px 25px #0003;z-index:100}
@media(max-width:1000px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.two{grid-template-columns:1fr}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0)}.content{margin-left:0}.icon-btn{display:inline-block}.topbar{padding:0 14px}.top-actions .badge{display:none}#page{padding:14px}.cards{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.page-head{align-items:flex-start;flex-direction:column}}
@media(max-width:460px){.cards{grid-template-columns:1fr}.metric .value{font-size:24px}}
