.app-shell .student-page{width:100%;min-width:0;max-width:1120px;color:var(--text-primary);gap:20px;margin:0 auto;line-height:1.5;display:grid}.student-page :is(h2,h3,h4,p,dl,dd){margin:0}.student-page :is(h2,h3,h4,strong,dd){overflow-wrap:anywhere}.student-page :is(h3,h4){color:var(--text-primary)}.app-shell .student-page h3{font-size:var(--text-lg)}.student-page :is(dt,.student-caption,.student-empty){color:var(--text-secondary)}.student-page :is(dt,time,dd){font-variant-numeric:tabular-nums}.student-page dt{font-size:var(--text-xs);text-transform:none;font-weight:600}.student-page .student-page-heading{align-items:center;gap:16px;min-height:0;padding:20px 24px}.student-page-heading>div{min-width:0}.student-page-heading p{color:var(--text-secondary);margin-top:6px}.student-shortcuts{flex-wrap:wrap;gap:8px;display:flex}.app-shell .student-page :is(.student-primary-button,.student-secondary-button,.qr-download-button){border:1px solid var(--action-primary-surface);background:var(--action-primary-surface);min-height:44px;color:var(--text-on-accent);font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-weight:600;text-decoration:none;display:inline-flex}.app-shell .student-page .student-secondary-button{background:var(--surface-raised);color:var(--link-color);border-color:var(--border-strong)}.student-page :is(button,a,summary,input):focus-visible{outline:2px solid var(--link-color);outline-offset:3px}.app-shell .student-page .text-button{min-height:44px;color:var(--link-color);white-space:normal;padding:8px 0;font-weight:600}.student-page :is(.student-section,.student-attendance-panel,.student-corrections){border:1px solid var(--border-subtle);background:var(--surface-raised);border-radius:12px;padding:24px}.student-section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.student-section-heading :is(p,span),.student-caption{color:var(--text-secondary);font-size:var(--text-sm)}.student-caption{margin-top:12px!important}.student-empty{padding:12px 0}.student-dashboard-summary{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:20px;display:grid}.student-page .student-totals{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:20px 0 0;display:grid}.student-totals dd{font-size:var(--text-xl);color:var(--text-primary);margin-top:6px}.student-progress-summary footer{color:var(--text-secondary);font-size:var(--text-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:20px;display:flex}.student-standing-summary{align-content:start;justify-items:start;gap:12px;display:grid}.student-standing-summary>strong{font-size:var(--text-lg)}.student-page .student-clearance-ready{color:var(--status-success-text)!important}.student-page .student-clearance-pending{color:var(--status-warning-text)!important}.student-page .profile-value-missing{color:var(--text-muted)}.student-attendance-panel>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.student-current-session{border-top:1px solid var(--border-subtle);grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:24px;margin-top:20px;padding-top:20px;display:grid}.student-session-identity,.student-session-clock{align-content:start;gap:6px;min-width:0;display:grid}.student-session-identity span,.student-session-clock>span{color:var(--text-secondary);font-size:var(--text-sm)}.student-session-clock time{color:var(--text-primary);font-size:1.75rem;font-weight:700}.student-session-clock .service-clock-details{color:var(--text-secondary);font-size:var(--text-sm);gap:6px;display:grid}.student-session-clock .service-clock-details progress{width:100%}.student-page .student-session-clock :is(.timer-limit-notice,.service-timer-warning){background:var(--status-warning-surface);font-size:var(--text-sm);border-radius:6px;padding:10px 12px;line-height:1.5;display:block;color:var(--status-warning-text)!important}.student-recent-record{border-top:1px solid var(--border-subtle);grid-template-columns:minmax(0,1fr) auto auto;align-items:start;gap:20px;padding:16px 0;display:grid}.student-recent-record>.status-badge{justify-self:start}.student-recent-record>div,.student-assignment-list header>div,.student-dtr-record header>div{gap:4px;display:grid}.student-recent-record>div>span,.student-assignment-list header>div>span,.student-dtr-record header>div>span{color:var(--text-secondary);font-size:var(--text-sm)}.student-assignment-list>article{border-top:1px solid var(--border-subtle);padding:20px 0}.student-assignment-list header,.student-dtr-record>header{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:12px;display:flex}.student-assignment-credit{font-size:var(--text-sm);flex-wrap:wrap;justify-content:space-between;gap:8px;margin:16px 0 8px;display:flex}.student-assignment-list small{color:var(--text-secondary);margin-top:6px;display:block}.student-page .progress-track{background:var(--border-subtle);width:100%;height:8px;margin:0}.student-page .progress-track>span{border-radius:inherit;background:var(--color-primary);height:100%;display:block}.student-corrections>summary,.student-session-details>summary{cursor:pointer;min-height:44px;color:var(--link-color);padding:4px 0;font-weight:600}.student-corrections .service-hour-corrections{padding-top:16px}.student-date-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.student-date-filters label{color:var(--text-secondary);font-size:var(--text-sm);gap:4px;display:grid}.student-date-filters input{border:1px solid var(--border-strong);background:var(--surface-raised);width:100%;min-width:0;min-height:44px;color:var(--text-primary);font:inherit;border-radius:8px;padding:8px}.student-dtr-list{gap:16px;display:grid}.student-dtr-record{border:1px solid var(--border-subtle);border-radius:10px;padding:20px}.student-dtr-record-active{border-left:3px solid var(--color-primary)}.student-page .student-session-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;margin:20px 0 0;display:grid}.student-session-facts dd{white-space:pre-wrap;margin-top:4px}.student-full-width{grid-column:1/-1}.student-session-details{border-top:1px solid var(--border-subtle);margin-top:16px;padding-top:8px}.student-page .student-profile-identity{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:20px;padding:24px;display:flex}.app-shell .student-profile-page{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:12px;gap:0}.student-profile-identity>div{flex:12rem;min-width:0}.student-page .profile-section{grid-template-columns:minmax(0,1fr);gap:20px;padding:24px}.student-page .profile-details-grid{gap:20px 32px}.student-page .profile-field dt{text-transform:none;letter-spacing:normal}.student-page .profile-help{color:var(--text-secondary);background:0 0;padding:20px 24px}.student-page .profile-readonly-badge{white-space:normal;margin:0}.app-shell .student-page .student-profile-identity{background:var(--surface-raised);border-radius:12px 12px 0 0}.student-page .violation-summary{text-align:left;padding:20px}.student-page .violation-summary-main h3{overflow-wrap:anywhere}.student-page .violation-summary-main>p{margin-top:8px}.student-page .violation-details{gap:24px;padding:24px;display:grid}.student-page .violation-description p{white-space:pre-wrap;overflow-wrap:anywhere}.student-page .violation-details :is(.service-progress,.lifecycle-section){background:0 0;border:0;padding:0}.student-page .violation-details .service-hours-grid{gap:16px}.app-shell .student-page .qr-display-card{width:min(440px,100%);box-shadow:none;border-color:var(--border-subtle);background:var(--surface-raised);border-radius:12px;padding:24px}.app-shell .student-page .student-qr-frame{width:min(320px,100%);box-shadow:none;border:0;border-radius:0;padding:0;background:#fff!important}.student-page .qr-download-button{width:100%;margin-top:20px}:root .app-shell .student-page .qr-download-button{color:var(--text-on-accent)!important}.app-shell .student-page .qr-guidance{width:min(440px,100%);color:var(--text-secondary);font-size:var(--text-sm);box-shadow:none;background:0 0;margin:0 auto;display:block}.student-clearance-status{justify-content:space-between;align-items:center;gap:16px;display:flex}.app-shell .student-page .student-clearance-status{background:0 0;border:0}.student-clearance-status h2{margin:8px 0}.app-shell .student-page .clearance-requirements{border:0;border-top:1px solid var(--border-subtle);box-shadow:none;background:0 0;border-radius:0;margin-top:24px;padding:20px 0 0;display:block}.student-page .clearance-requirements ul{color:var(--text-primary);margin-top:12px}.student-page .clearance-requirements li{padding-block:4px}.student-page .clearance-requirements li .text-button{margin-left:12px}.student-page .clearance-record-list>article{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px 24px;padding:16px 0}.student-page .clearance-record-list dl{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.student-page .clearance-record-list button{width:fit-content;min-height:44px}.student-page .clearance-certificate-actions{flex-wrap:wrap;gap:16px;padding:24px}.student-page .clearance-certificate{padding:24px}@media (width<=1023px){.student-dashboard-summary{grid-template-columns:minmax(0,1fr)}.student-page .student-page-heading{flex-wrap:wrap}.student-date-filters{width:100%}}@media (width<=767px){.app-shell .student-page{gap:16px}.student-page :is(.student-section,.student-attendance-panel,.student-corrections){padding:16px}.student-page .student-page-heading{align-items:stretch;padding:16px}.student-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.student-current-session{grid-template-columns:minmax(0,1fr);gap:16px}.student-page .student-totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.student-totals>div:last-child{grid-column:1/-1}.student-recent-record{grid-template-columns:minmax(0,1fr) auto;gap:12px}.student-recent-record>div{grid-column:1/-1}.student-date-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.student-date-filters button{grid-column:1/-1}.student-date-filters input{font-size:16px}.student-dtr-record{padding:16px}.student-page .student-profile-identity{gap:12px;padding:16px}.student-page .profile-section{padding:20px 16px}.student-page .profile-details-grid{grid-template-columns:minmax(0,1fr)}.student-page .profile-help,.student-page .violation-details,.student-page .violation-summary,.app-shell .student-page .qr-display-card{padding:16px}.student-page .clearance-record-list dl{grid-template-columns:minmax(0,1fr)}.student-page .clearance-certificate-actions{padding:16px}.student-page .clearance-requirements li .text-button{margin:0;display:block}.app-shell.student-portal .main-panel{padding-bottom:calc(80px + env(safe-area-inset-bottom))}.app-shell.student-portal .mobile-bottom-nav button>span{white-space:normal;text-overflow:clip;font-size:11px;overflow:visible}}@media (width<=389px){.student-shortcuts,.student-date-filters,.student-page .student-session-facts{grid-template-columns:minmax(0,1fr)}.student-date-filters button{grid-column:auto}.student-page .student-totals dd{font-size:var(--text-lg)}}
