:root{--bg:#edf4f8;--panel:#fff;--line:#cfe0eb;--text:#07152f;--muted:#5b708d;--brand:#08afa5;--brand-dark:#078d86;--blue:#2d63e5;--green:#13a65b;--orange:#d97706;--red:#dc2626;color:var(--text);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;margin:0}button,input{font:inherit}.login-page,.boot-screen{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;width:min(440px,100%);padding:32px;box-shadow:0 24px 70px #07152f24}.login-brand,.brand-row{align-items:center;gap:14px;display:flex}.login-brand{margin-bottom:30px}.login-brand img,.brand-row img{object-fit:contain;width:42px;height:42px}.login-brand span,.brand-row span,.page-header span,.panel-header span{color:var(--muted);text-transform:uppercase;font-size:12px}.login-brand h1{margin:2px 0 0;font-size:28px}label{gap:8px;margin-bottom:18px;font-weight:700;display:grid}input{width:100%;color:var(--text);background:#fff;border:1px solid #b9ccda;border-radius:7px;outline:none;padding:13px 14px}input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #08afa529}small{color:var(--red)}.field-invalid{border-color:var(--red)}.primary-button,.topbar button,.action-grid button{cursor:pointer;border:0;border-radius:7px;font-weight:800}.primary-button{background:var(--brand);color:#fff;width:100%;padding:14px 18px}.primary-button:hover,.topbar button:hover{background:var(--brand-dark)}.form-error{color:#b91c1c;background:#fff1f2;border:1px solid #fca5a5;border-radius:7px;margin-bottom:18px;padding:13px 14px}.app-shell{grid-template-columns:270px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;background:#0e172a;padding:24px 22px}.brand-row{margin-bottom:34px}.brand-row strong{font-size:17px;display:block}.brand-row span{color:#bed0e6;text-transform:none}.main-nav{gap:8px;display:grid}.main-nav a{color:#e8f2ff;border-radius:7px;padding:14px 12px;font-weight:800;text-decoration:none}.main-nav a.active,.main-nav a:hover{background:#ffffff17}.main-area{min-width:0}.topbar{border-bottom:1px solid var(--line);background:#f7fbfe;justify-content:space-between;align-items:center;min-height:84px;padding:18px 28px;display:flex}.topbar span,.topbar strong{display:block}.topbar span{color:var(--muted);text-transform:uppercase;font-size:12px}.topbar button{color:var(--text);background:#e3edf7;padding:13px 20px}.content-area{padding:28px}.page-header{margin-bottom:22px}.page-header h1{margin:4px 0 6px;font-size:clamp(28px,3vw,36px)}.page-header p{color:var(--muted);margin:0}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}.stat-card{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--green);border-radius:7px;align-content:center;gap:10px;min-height:104px;padding:18px 20px;display:grid}.stat-card span{color:var(--muted)}.stat-card strong{font-size:30px}.stat-blue{border-left-color:var(--blue)}.stat-orange{border-left-color:var(--orange)}.stat-red{border-left-color:var(--red)}.two-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px;display:grid}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden}.panel-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:54px;padding:0 18px;display:flex}.panel-header strong{font-size:16px}.panel-body{padding:18px}.empty-state{min-height:116px;color:var(--muted);border:1px dashed #bfd2e1;border-radius:7px;place-items:center start;padding:24px;display:grid}.action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.action-grid button{color:#053b39;text-align:left;background:#eefdfb;border:1px solid #9ee7e1;justify-content:space-between;align-items:center;min-height:50px;padding:0 14px;display:flex}.action-grid button:hover{background:#d9faf7}@media (width<=980px){.app-shell{grid-template-columns:1fr}.sidebar{position:static}.main-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-grid,.two-column{grid-template-columns:1fr}}@media (width<=640px){.content-area,.topbar,.sidebar{padding:18px}.main-nav,.action-grid{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:flex-start;gap:12px}}
