:root{--ink:#171717;--red:#e74336;--muted:#747474;--line:#e9e9e9}body{background:#f5f6f8;color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.topbar{background:#171717;padding:.85rem 1.4rem}.navbar-brand{letter-spacing:.04em}.navbar-brand span,.brand-mark b{color:#f05a4f}.nav-link{color:#c9c9c9!important}.nav-link:hover{color:#fff!important}.btn-primary{background:var(--red);border-color:var(--red)}.btn-primary:hover{background:#c9362c;border-color:#c9362c}.page-title{font-size:1.9rem;font-weight:750;letter-spacing:-.04em;margin:.25rem 0}.eyebrow{font-size:.7rem;letter-spacing:.13em;font-weight:800;color:var(--red)}.stat-card,.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.25rem}.stat-label{color:var(--muted);font-size:.85rem}.stat-number{font-size:2rem;font-weight:800;letter-spacing:-.04em;margin:.25rem 0}.stat-foot{font-size:.72rem;color:#999}.table{font-size:.88rem}.table thead th{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#888;border-bottom-color:var(--line)}.table td{border-color:#f0f0f0}.score{display:inline-block;padding:.25rem .55rem;background:#fff0ee;color:#c83d33;border-radius:7px;font-weight:700;font-size:.78rem}.empty-state{text-align:center;padding:2.5rem 1rem}.empty-icon{font-size:2.8rem;color:#bbb}.module-row{display:flex;align-items:center;gap:.8rem;padding:1rem 0;border-bottom:1px solid #eee}.module-row>div{flex:1}.module-row small{display:block;color:#888;font-size:.75rem}.module-icon{width:38px;height:38px;border-radius:10px;background:#fff0ee;color:var(--red);display:grid;place-items:center;font-size:1.3rem}.tag{font-size:.65rem;color:#888;background:#f2f2f2;padding:.3rem .45rem;border-radius:5px}.notice{background:#f7f7f7;border-left:3px solid var(--red);padding:.8rem;font-size:.78rem;color:#777}.login-wrap{min-height:75vh;display:grid;place-items:center}.login-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:2rem;width:min(100%,440px);box-shadow:0 12px 40px #0000000a}.brand-mark{font-weight:900;font-size:1.25rem;letter-spacing:.04em}.form-panel{max-width:1000px}.form-label{font-size:.82rem;font-weight:650}.form-control{border-color:#ddd;padding:.65rem .8rem}.form-control:focus{border-color:var(--red);box-shadow:0 0 0 .2rem #e743361c}@media(max-width:576px){.stat-number{font-size:1.65rem}.panel{padding:1rem}.page-title{font-size:1.6rem}}

.table a{color:#202020}.table a:hover{color:#e6533b}.form-select,.form-control{min-height:42px}.score{display:inline-block;background:#fff0eb;color:#c43d2b;border-radius:7px;padding:5px 9px;font-weight:700;font-size:.82rem}.topbar .navbar-brand span{color:#f05a43}.panel{background:#fff;border:1px solid #e9e9e9;border-radius:14px;padding:20px;box-shadow:0 4px 18px rgba(0,0,0,.025)}.page-title{font-weight:800;letter-spacing:-.04em}.eyebrow{font-size:.72rem;letter-spacing:.12em;font-weight:800;color:#d64a35}.stat-card{background:#fff;border:1px solid #ececec;border-radius:14px;padding:20px}.stat-number{font-size:2rem;font-weight:800;letter-spacing:-.04em}.stat-label{color:#777;font-size:.85rem}.stat-foot{color:#999;font-size:.75rem}.module-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #eee}.module-row small{display:block;color:#888}.module-icon{width:34px;height:34px;border-radius:9px;background:#fff0eb;color:#d64a35;display:grid;place-items:center;font-weight:800}.notice{padding:12px;border-radius:10px;background:#f7f7f7;color:#666;font-size:.82rem}.topbar{background:#191919}.btn-primary{background:#df4d38;border-color:#df4d38}.btn-primary:hover{background:#bd3d2b;border-color:#bd3d2b}.form-panel{max-width:1050px}
