*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f6f7fb;color:#1f2937}
a{color:inherit}.topbar{height:64px;background:#111827;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 24px}
.layout{display:grid;grid-template-columns:230px 1fr;min-height:calc(100vh - 64px)}
aside{background:white;border-right:1px solid #e5e7eb;padding:18px}aside a{display:block;padding:11px 12px;margin-bottom:6px;border-radius:8px;text-decoration:none}
aside a:hover,aside a.active{background:#f3f4f6;font-weight:700}
main{padding:28px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0}
.card,.panel,.login-card{background:white;border:1px solid #e5e7eb;border-radius:14px;padding:20px;box-shadow:0 4px 18px rgba(0,0,0,.04)}
.card span{display:block;color:#6b7280;font-size:14px}.card strong{display:block;font-size:24px;margin-top:8px}.panel{margin-top:18px}
.login-bg{display:grid;place-items:center;min-height:100vh;background:#f3f4f6}.login-card{width:min(560px,92vw)}
label{display:block;margin:14px 0 6px;font-weight:700}input{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:8px}
button,.btn{display:inline-block;margin-top:16px;padding:11px 16px;border:0;border-radius:8px;background:#111827;color:white;text-decoration:none;cursor:pointer}
.alert{padding:10px 12px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:10px 0}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px;border-bottom:1px solid #e5e7eb}
@media(max-width:900px){.cards{grid-template-columns:1fr 1fr}.layout{grid-template-columns:1fr}aside{display:none}}
