.row-action{color:var(--brand-primary);white-space:nowrap;font-size:12px;font-weight:750}.row-action:hover,.person a:hover strong,.back-link:hover{color:var(--brand-accent)}.back-link{color:var(--muted);margin-bottom:20px;font-size:13px;font-weight:700;display:inline-flex}.student-head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;display:flex}.student-head h1{margin:6px 0;font-size:32px}.student-head p{color:var(--muted);margin:0}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.summary-card{gap:8px;display:grid}.summary-card>span,.kv-grid span,.stack-kv span,.access-box span:first-child{color:var(--muted);text-transform:uppercase;letter-spacing:.055em;font-size:11px;font-weight:700}.summary-card strong{font-size:17px}.detail-grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);align-items:start;gap:18px;display:grid}.detail-main,.detail-side{gap:18px;display:grid}.detail-card{padding:22px}.kv-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px;display:grid}.kv-grid>div,.stack-kv>div{gap:6px;display:grid}.kv-grid strong,.stack-kv strong{overflow-wrap:anywhere;font-size:13px;font-weight:720}.stack-kv{gap:17px;display:grid}.compact-list{display:grid}.compact-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:13px 0;display:flex}.compact-row:last-child{border-bottom:0}.compact-row>div{gap:4px;display:grid}.compact-row strong{font-size:13px}.compact-row div span{color:var(--muted);font-size:11px}.empty-state{color:var(--muted);padding:6px 0}.empty-state strong{color:var(--text);font-size:13px;display:block}.empty-state p{margin:5px 0 0;font-size:12px;line-height:1.55}.large-empty{text-align:center;padding:56px 24px}.large-empty strong{font-size:15px}.large-empty p{max-width:560px;margin:8px auto 0}.access-box{grid-template-columns:1fr auto;align-items:center;gap:9px 14px;display:grid}.access-box>div{gap:5px;display:grid}.access-box>div strong{font-size:13px}.access-box small{color:var(--muted);grid-column:1/-1;font-size:11px}.timeline{gap:0;display:grid}.timeline-item{grid-template-columns:12px 1fr;gap:10px;padding-bottom:18px;display:grid;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-item:before{content:"";background:var(--line);width:1px;position:absolute;top:10px;bottom:-1px;left:4px}.timeline-item:last-child:before{display:none}.timeline-item i{background:var(--brand-accent);z-index:1;border-radius:50%;width:9px;height:9px;margin-top:3px}.timeline-item>div{gap:4px;display:grid}.timeline-item strong{font-size:12px}.timeline-item span{color:var(--muted);font-size:11px}.compact-metrics .metric-value{font-size:24px}.mono-cell{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px}@media (max-width:1100px){.summary-grid{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}}@media (max-width:640px){.student-head{flex-direction:column;align-items:flex-start}.summary-grid{grid-template-columns:1fr 1fr}.kv-grid{grid-template-columns:1fr}}
.login-error{color:var(--danger);background:#fff4f4;border:1px solid #efcaca;border-radius:9px;margin:-10px 0 18px;padding:11px 13px;font-size:12px;line-height:1.5}.user-area{align-items:center;gap:14px;display:flex}.logout-btn,.text-btn{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;padding:8px;font-size:12px;font-weight:700}.logout-btn:hover,.text-btn:hover{color:var(--brand-primary)}.secure-shell{background:var(--bg);place-items:center;min-height:100vh;padding:28px;display:grid}.secure-card{border:1px solid var(--line);background:#fff;border-radius:16px;width:min(460px,100%);padding:34px;box-shadow:0 16px 50px #07052a0f}.compact-brand{border-radius:14px;width:52px;height:52px;margin-bottom:28px;font-size:17px}.secure-card .text-btn{margin:12px auto 0;display:block}@media (max-width:640px){.user-chip span{display:none}.user-area{gap:4px}.secure-card{padding:26px 22px}}.secure-card a.primary-btn{text-align:center;text-decoration:none;display:block}
