:root{font-family:Inter,system-ui,sans-serif;color:#182230;background:#f5f7fa}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}.center{min-height:100vh;display:grid;place-items:center;padding:24px}.card{background:white;border:1px solid #e3e8ef;border-radius:14px;padding:22px;box-shadow:0 4px 16px #1018280d}.login{width:min(390px,100%)}.brand{font-size:20px;font-weight:700;margin-bottom:28px}.brand b{font-size:11px;color:#4f46e5;border:1px solid #c7d2fe;border-radius:5px;padding:3px 5px;margin-left:5px}label{display:grid;gap:7px;margin:14px 0;color:#475467;font-size:14px}input{padding:11px;border:1px solid #cbd5e1;border-radius:8px}button{border:0;border-radius:8px;padding:10px 14px;background:#4f46e5;color:white;cursor:pointer}.error{color:#b42318;min-height:1.2em}#app{display:grid;grid-template-columns:250px 1fr;min-height:100vh}aside{background:#111827;color:#e5e7eb;padding:24px 16px;display:flex;flex-direction:column}aside .brand{color:white}nav{display:grid;gap:5px;flex:1}nav a{color:#cbd5e1;text-decoration:none;padding:10px;border-radius:8px}nav a.active,nav a:hover{background:#273449;color:white}.ghost{background:#273449}main{padding:30px;min-width:0}header h1{margin:0;font-size:28px}header p{color:#667085;margin:7px 0 25px}.kpis,.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.kpi strong{font-size:28px;display:block;margin-top:8px}.muted{color:#667085}.notice{background:#fffaeb;border:1px solid #fedf89;color:#93370d;padding:14px;border-radius:10px;margin:16px 0}.table-wrap{overflow:auto;background:white;border:1px solid #e3e8ef;border-radius:12px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid #eef2f6;font-size:14px}th{color:#667085;background:#f9fafb}.badge{display:inline-block;padding:3px 7px;border-radius:999px;background:#ecfdf3;color:#027a48}.bad{background:#fef3f2;color:#b42318}.mobile{display:none}.actions{display:flex;justify-content:space-between;align-items:center;margin:16px 0}@media(max-width:760px){#app{grid-template-columns:1fr}aside{display:none;position:fixed;inset:0 25% 0 0;z-index:5}aside.open{display:flex}main{padding:18px}.mobile{display:block}.kpis,.grid{grid-template-columns:1fr 1fr}header{display:flex;gap:12px}.table-wrap{margin-right:-18px}.login{padding:18px}}@media(max-width:390px){.kpis,.grid{grid-template-columns:1fr}}
