*{box-sizing:border-box}body{margin:0;font:15px/1.5 Arial,sans-serif;background:#f3f6fb;color:#182230}.topbar{height:68px;background:#fff;border-bottom:1px solid #e5eaf2;display:flex;align-items:center;justify-content:space-between;padding:0 28px}.brand{font-size:22px;font-weight:800;color:#164b91}.brand span{color:#159bd7}.logout{color:#1674c5;text-decoration:none;font-weight:600}.layout{display:flex;min-height:calc(100vh - 68px)}.sidebar{width:245px;background:#123f79;color:#fff;padding:22px 14px}.nav{padding:13px 15px;border-radius:8px;margin-bottom:6px;color:#e7f1ff}.nav.active{background:#1c75c9;font-weight:700}.nav small{display:block;color:#9fc8ed;font-size:11px}.main{padding:30px;flex:1;min-width:0}.main h1{margin:0 0 6px;font-size:28px}.muted{color:#718096}.cards{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:16px;margin:25px 0}.stat,.panel{background:#fff;border:1px solid #e5eaf2;border-radius:12px;padding:20px;box-shadow:0 2px 8px #152b4508}.stat span{display:block;color:#718096;font-size:13px}.stat strong{display:block;font-size:30px;color:#155ca6;margin-top:8px}.panel{margin-bottom:20px}.panel h2{font-size:18px;margin:0 0 16px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:11px;border-bottom:1px solid #edf0f5}th{color:#607087;background:#f8fafc}.auth{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#eaf4ff,#f5f8fc);padding:20px}.auth-card{width:min(430px,100%);background:#fff;border:1px solid #e4ebf4;border-radius:16px;padding:32px;box-shadow:0 15px 45px #123f7915}.auth-card h1{margin:22px 0 4px}.auth-card label{display:block;margin:16px 0 6px;font-weight:600;font-size:13px}.auth-card input{width:100%;padding:12px;border:1px solid #ccd7e5;border-radius:8px;font-size:15px}.auth-card button{width:100%;padding:13px;background:#176fc1;color:#fff;border:0;border-radius:8px;margin-top:22px;font-size:15px;font-weight:700;cursor:pointer}.notice{background:#eaf7ed;color:#236b36;padding:12px;border-radius:8px;margin:12px 0}.notice.error{background:#fff0f0;color:#a52a2a}@media(max-width:900px){.sidebar{width:190px}.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.layout{display:block}.sidebar{width:100%;display:flex;overflow:auto;padding:10px}.nav{white-space:nowrap}.main{padding:18px}.topbar{padding:0 15px}.cards{gap:10px}}
