
/* Approved PATENTEVO interface. Unlayered rules override the legacy layer. */
:root{--ink:#192c42;--ink-mute:#536477;--muted:#536477;--surface:#fff;--surface-soft:#f5f7fa;--paper:#f5f7fa;--line:#dce3eb;--brand:#2859b6;--brand-dark:#214b9b;--brand-light:#edf3fe;--indigo:#2859b6;--indigo-soft:#edf3fe;--navy:#192c42;--navy-dark:#122237;--panel-dark:#192c42;--radius:10px;--radius-sm:7px;--shadow-sm:none;--shadow-md:0 3px 14px #192c4210;--shadow-lg:0 12px 40px #192c4220;--sidebar-w:230px}
body{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--paper);color:var(--ink);line-height:1.5;min-width:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;max-inline-size:100%;padding:10px 16px;line-height:1.4;white-space:normal;text-align:center;text-decoration:none}.btn-outline{border:1px solid var(--line);background:var(--surface);color:var(--ink)}
button,input,select,textarea{font-family:inherit}button{min-height:44px;transition:background-color 150ms,color 150ms,box-shadow 150ms}button:disabled{cursor:not-allowed;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible{outline:3px solid var(--brand);outline-offset:3px}h1,h2,h3,h4{text-wrap:balance;letter-spacing:-.025em}p{text-wrap:pretty}strong,.stat-num,.timer-pill{font-variant-numeric:tabular-nums}.pv-symbol{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;flex-shrink:0}.pv-heading-symbol{display:inline-block;color:var(--brand);margin-right:12px;vertical-align:middle}.pv-heading-symbol .pv-symbol{width:28px;height:28px}.pv-icon{background-size:contain;background-position:center;background-repeat:no-repeat;filter:none}.brand-logo,.brand-lockup{width:155px;height:auto}.card,.card-table,.practice-card,.exam-card,.login-card,.sl-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:none}.btn,.btn-primary,.btn-start,.btn-submit,.sl-btn,.topbar-btn{border-radius:7px;min-height:44px;min-inline-size:44px;font-size:14px;font-weight:600}.btn-primary,.btn-start,.btn-submit,.sl-btn,.topbar-btn{background:var(--brand);color:white}.btn-primary:hover,.btn-start:hover,.btn-submit:hover,.sl-btn:hover,.topbar-btn:hover{background:var(--brand-dark)}.form-input,input.sl-input,select{font-size:16px;border:1px solid #a8b5c5;border-radius:7px;background:white;min-height:46px}.form-group label{color:var(--ink-mute);font-size:13px}.page-header h2,.figma-page-heading h2{font-size:30px;font-weight:650}.page-header p,.figma-page-heading p{font-size:14px;color:var(--muted)}.card-header{padding:22px 24px}.card-header h3{font-size:18px;font-weight:650}.card-body{padding:24px}.card-body.no-pad{padding:0}.table-wrap{overflow:auto}th{font-size:12px;text-transform:none;letter-spacing:0;font-weight:500;background:#fafbfd;border-bottom:1px solid var(--line)}th,td{padding:17px 22px}.badge{border-radius:4px}.release-footer{border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:20px;padding:24px;font-size:13px}.release-footer a{color:var(--muted)}
/* School workspace */
.sidebar{background:white;color:var(--ink);border-right:1px solid var(--line);overflow-y:auto}.sidebar-logo{padding:28px 22px;flex-wrap:wrap;border-bottom:1px solid var(--line)}.sidebar-logo>a{flex-basis:100%}.sidebar-logo .brand-lockup{margin:0 0 14px}.sidebar-logo-placeholder{background:var(--brand-light);color:var(--brand);border-radius:7px}.sidebar-logo-text{color:var(--ink);font-size:13px}.sidebar-logo-text small{color:var(--muted)}.sidebar-section-label{color:var(--muted);font-size:11px;letter-spacing:.08em;padding-top:18px}.sidebar-btn{color:var(--muted);min-height:46px;font-size:14px;border-radius:7px;gap:12px}.sidebar-btn:hover{background:var(--paper);color:var(--ink)}.sidebar-btn.active{background:var(--brand-light);color:var(--brand);font-weight:650}.sidebar-btn .sb-icon{width:24px}.sidebar-footer{color:var(--muted);border-top:1px solid var(--line);line-height:1.8}.sidebar-footer a{color:var(--brand)}.sidebar-footer .pv-symbol{width:18px;height:18px;margin-right:8px}.main{min-width:0;min-height:100dvh}.topbar{background:white;border-bottom:1px solid var(--line);padding:16px 36px;min-height:74px}.topbar-title{font-size:14px;font-weight:500;color:var(--muted)}.content{padding:36px;max-width:1440px;width:100%;margin:0 auto}.figma-page-heading{margin-bottom:28px}.figma-kicker{font-size:11px;letter-spacing:.1em;color:var(--muted)}.stats-grid{gap:0;border-block:1px solid var(--line);background:white;margin-bottom:30px}.stats-grid .stat-card{border:0;border-right:1px solid var(--line);border-radius:0;padding:22px 24px;box-shadow:none}.stats-grid .stat-card:last-child{border-right:0}.stat-card .stat-num{color:var(--ink);font:600 30px/1.4 system-ui}.stat-card .stat-label{font-size:13px;color:var(--muted);text-transform:none;letter-spacing:0}.figma-dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:28px}.figma-side-stack{min-width:0}.figma-quick-actions{display:grid;gap:0}.figma-quick-actions button{display:flex;align-items:center;gap:12px;padding:16px 0;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;text-align:left;color:var(--ink)}.figma-quick-actions button:last-child{border:0}.figma-quick-actions button:hover{color:var(--brand)}.hamburger .pv-symbol{width:22px;height:22px}#hamburger-btn:empty:before{content:none}
/* Existing license login and clearly inactive registration information. */
#school-license-gate{background:var(--paper);padding:48px clamp(20px,6vw,96px);grid-template-columns:minmax(0,1fr) minmax(360px,460px);gap:48px;align-content:center;overflow-y:auto}#school-license-gate .portal-welcome{max-width:520px}#school-license-gate .portal-welcome h2{font-size:clamp(32px,4vw,48px);line-height:1.15;color:var(--ink)}#school-license-gate .sl-box{width:100%;max-width:460px;padding:30px;border-radius:10px;box-shadow:none;text-align:left}#school-license-gate .sl-title{font-size:26px;color:var(--ink)}#school-license-gate .sl-sub{font-size:14px;line-height:1.6;color:var(--muted)}#school-license-gate .sl-icon{margin:0 0 16px;background:var(--brand-light)}#school-license-gate .sl-input{text-align:left;width:100%;letter-spacing:.03em}#school-license-gate .sl-btn{width:100%;margin-top:12px}.license-label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}.signup-info{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.signup-info h3{font-size:19px;color:var(--ink);margin:0 0 8px}.signup-info p{font-size:13px;color:var(--muted);line-height:1.6;margin:0 0 18px}.signup-info fieldset{border:0;padding:0;margin:0;min-width:0}.signup-info legend{font-size:12px;color:var(--muted);margin-bottom:14px}.signup-info label{display:block;font-size:13px;margin:12px 0 6px}.signup-info input{width:100%;padding:11px 12px;font-size:16px;border:1px solid var(--line);border-radius:7px;color:var(--muted);background:var(--paper)}.signup-info button{width:100%;margin-top:16px;background:#e8edf4;color:#536477;border:1px solid var(--line);border-radius:7px}.signup-info .signup-note{margin-top:12px;font-size:12px}
#school-license-gate{align-content:start;align-items:start}
#school-license-gate.hide{display:none}
.sl-msg.error{color:#b42318}.sl-msg.success{color:#276547}
/* Student workspace */
.header{background:white;border-bottom:1px solid var(--line);padding:18px 36px;box-shadow:none}.header-logo{color:var(--ink)}.header-logo img{width:150px;height:auto}.badge-role{background:var(--brand-light);color:var(--brand);border-radius:4px}.btn-logout{color:var(--ink);border:1px solid var(--line);border-radius:7px}.view:not(.active),.view[hidden]{display:none!important}#view-dashboard.figma-student-dashboard{max-width:1340px;width:100%;padding:32px 36px 56px;margin:0 auto}#view-dashboard>.figma-student-heading{background:transparent;border:0;padding:0 0 24px;margin:0}#view-dashboard .figma-student-heading h2{font-size:32px;font-weight:650;color:var(--ink)}#view-dashboard>.figma-student-stats{gap:0;padding:0;margin:0 0 30px;border-block:1px solid var(--line);background:white}.figma-student-stat{border:0;border-right:1px solid var(--line);border-radius:0;padding:22px 24px}.figma-student-stat:last-child{border-right:0}.figma-student-stat span{font-size:13px;letter-spacing:0;text-transform:none;color:var(--muted);font-weight:400}.figma-student-stat small{font-size:12px;color:var(--muted)}.figma-student-stat strong{font:600 30px/1.4 system-ui;color:var(--ink)}.student-workspace{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:28px;padding:0}.student-workspace-main,.student-workspace-study{min-width:0}.figma-section-row{margin-top:0}.section-title{font-size:18px;text-transform:none;letter-spacing:-.02em;color:var(--ink)}.figma-practice-card,#study-tools .figma-practice-card{background:white;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:24px}.figma-practice-card h3,#study-tools .figma-practice-card h3{color:var(--ink);font-size:18px}.figma-practice-card p,#study-tools .figma-practice-card p{color:var(--muted);font-size:13px}.figma-practice-button{background:var(--brand);color:white;border:1px solid var(--brand);min-height:44px;border-radius:7px}.figma-practice-button:hover{background:var(--brand-dark)}.practice-card{color:var(--ink);padding:24px;text-align:left;cursor:pointer}.practice-card:hover{box-shadow:none;border-color:var(--brand);transform:none}.practice-card .pv-symbol{color:var(--brand);margin-bottom:14px}.practice-card h4{font-size:16px}.practice-card p{font-size:13px;color:var(--muted)}.practice-grid{gap:18px}.exam-card,.figma-assigned-card{border-left:3px solid var(--brand);padding:24px;box-shadow:none}.figma-category{border-radius:4px;background:var(--brand-light);color:var(--brand)}#view-login{background:var(--paper);min-height:100dvh;padding:32px 20px}#view-login .login-wrap{background:transparent;max-width:1100px;padding:20px;gap:48px}#view-login .login-card{padding:28px;overflow:visible;box-shadow:none}#view-login .login-card>*{margin-left:0;margin-right:0}#view-login .login-card>.btn-primary{width:100%;margin-inline:0}#view-login .portal-welcome h2{font-size:42px}#view-login .login-title{font-size:28px}#view-login .login-sub{font-size:14px}.login-icon{background:var(--brand-light);border-radius:8px}.history-controls select{min-height:44px}.timer-pill{font-variant-numeric:tabular-nums}.result-banner{box-shadow:none}.legal-wrap{max-width:880px;padding:32px;background:white;border:1px solid var(--line);border-radius:10px}.legal-section p,.legal-section li{line-height:1.8}.legal-header h1{font-size:32px}
/* Home and administration */
.site-header{background:white;border-bottom:1px solid var(--line)}.home-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,460px);gap:64px;max-width:1180px;margin:auto;padding:72px 32px;text-align:left}.home-copy h1{font-size:clamp(38px,4vw,54px);line-height:1.12;color:var(--ink);letter-spacing:-.035em}.home-copy h1 em{font-style:normal;color:var(--brand)}.home-copy .intro{font-size:16px;max-width:48ch;color:var(--muted)}.home-copy .eyebrow{border:0;padding:0;background:none;color:var(--muted);font-size:11px;letter-spacing:.08em}.home-access .portal-card{background:white;border:1px solid var(--line);border-radius:10px;padding:26px;color:var(--ink);min-height:0;margin-bottom:20px}.home-access .portal-card:hover{transform:none;box-shadow:none;border-color:var(--brand)}.home-access .portal-card p{color:var(--muted)}.home-access .portal-card h2{color:var(--ink);font-size:22px}.home-access .portal-card .role,.home-access .portal-card .card-action{color:var(--brand)}.home-access .card-icon{background:var(--brand-light)}.home-access .card-icon img{filter:none}.home-access .portal-heading{display:flex;gap:16px;align-items:center}.home-access .card-icon{flex-shrink:0}.site-footer{color:var(--muted)}body.pv-admin{max-width:1120px;margin:32px auto;padding:0 24px}body.pv-admin main{background:white;padding:32px;border:1px solid var(--line);border-radius:10px}body.pv-admin #login{max-width:420px;margin:24px 0}body.pv-admin label{display:block;font-size:13px;margin:18px 0 6px}body.pv-admin input{min-height:46px;border:1px solid #a8b5c5;border-radius:7px;padding:12px}body.pv-admin #login input{display:block;width:100%;margin:0 0 12px}body.pv-admin button{background:var(--brand);border-radius:7px;padding:10px 16px}body.pv-admin h2{margin:24px 0 14px}body.pv-admin #licenses{overflow:auto}
@media(max-width:1100px){.figma-dashboard-grid{grid-template-columns:minmax(0,1fr)}.student-workspace{grid-template-columns:minmax(0,1fr)}.student-workspace-study{display:grid;grid-template-columns:1fr}.content{padding:28px}.home-main{gap:36px}}
@media(max-width:780px){.sidebar{width:230px}.main{margin-left:0}.topbar{padding:14px 20px}.content{padding:24px 18px}.figma-page-heading,.page-header{gap:16px;flex-wrap:wrap}.stats-grid .stat-card{padding:18px 16px}.stat-card .stat-num{font-size:26px}.header{padding:16px 20px;gap:12px;flex-wrap:wrap}#view-dashboard.figma-student-dashboard{padding:24px 18px 40px}#view-dashboard .figma-student-heading h2{font-size:28px}.figma-student-stat{padding:16px 12px}.figma-student-stat strong{font-size:24px}.home-main{grid-template-columns:1fr;padding:40px 22px}.home-copy h1{font-size:40px}.home-access{width:100%}#school-license-gate{grid-template-columns:minmax(0,1fr);padding:28px 20px;gap:24px;align-content:start}#school-license-gate .portal-welcome{margin:0 auto;width:100%;max-width:460px}#school-license-gate .portal-welcome h2{font-size:30px}#school-license-gate .sl-box{margin:0 auto;padding:24px}#view-login .login-wrap{display:block;padding:0;max-width:460px}#view-login .portal-welcome{display:none}#view-login .login-card{padding:24px}.card-header{padding:18px}.card-body{padding:18px}.card-body.no-pad{padding:0}th,td{padding:14px 16px}.legal-wrap{padding:22px}.signup-info input{font-size:16px}}
@media(max-width:520px){.figma-student-stats{grid-template-columns:1fr}.figma-student-stat{border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:4px 12px}.figma-student-stat strong{grid-column:2;grid-row:1 / span 2;margin:0}.figma-student-stat:last-child{border-bottom:0}.figma-secondary-practice{grid-template-columns:1fr}.figma-practice-card{align-items:stretch;flex-direction:column}.figma-practice-button{width:100%}.page-header h2,.figma-page-heading h2{font-size:26px}.header-user{flex-wrap:wrap}.sl-box{min-width:0}body.pv-admin{padding:0 12px}body.pv-admin main{padding:22px}.topbar-right{min-width:0}.topbar-btn{font-size:12px;padding:8px}.form-row .form-group{min-width:0;flex-basis:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
/* Review refinements: retain the approved brand and functional layouts. */
.home-copy h1 em{color:inherit}
.home-copy .eyebrow,.portal-kicker{font-size:14px;text-transform:none;letter-spacing:0}
.home-access-label{font-size:16px;font-weight:600;color:var(--ink);margin-bottom:16px}
.home-main{align-items:center}
.gate-brand{display:inline-block;margin-bottom:28px}.gate-brand img{display:block;max-width:100%;height:auto}
/* Bounded desktop login composition; safe centering keeps short windows scrollable. */
#school-license-gate{grid-template-columns:minmax(0,460px) minmax(0,480px);justify-content:center;align-content:safe center;align-items:center;gap:64px;padding:48px 40px}
#school-license-gate .portal-welcome{max-width:460px;margin:0}
#school-license-gate .portal-welcome h2{font-size:clamp(40px,4vw,56px);line-height:1.1;margin-bottom:24px}
#school-license-gate .portal-welcome>p{font-size:17px;line-height:1.65}
#school-license-gate .portal-welcome .portal-kicker{font-size:14px;margin-bottom:18px}
#school-license-gate .gate-brand{margin-top:0;margin-bottom:32px}
#school-license-gate .gate-brand img{width:190px}
#school-license-gate .sl-box{max-width:480px;padding:36px}
#school-license-gate .sl-title{font-size:32px}
#school-license-gate .sl-sub{font-size:16px;line-height:1.65;margin:14px 0 24px}
#school-license-gate .license-label{font-size:14px}
#school-license-gate .sl-input,#school-license-gate .sl-btn{min-height:50px;font-size:16px}
#school-license-gate .signup-info p{font-size:14px}
@media(max-width:1000px) and (min-width:781px){#school-license-gate{gap:36px;padding:36px 28px}#school-license-gate .sl-box{padding:28px}}
@media(max-width:780px){#school-license-gate{grid-template-columns:minmax(0,480px);align-content:start;gap:28px;padding:28px 20px}#school-license-gate .portal-welcome,#school-license-gate .sl-box{max-width:480px;width:100%;margin:0 auto}#school-license-gate .portal-welcome h2{font-size:34px}#school-license-gate .portal-welcome h2 br{display:none}#school-license-gate .portal-welcome>p{font-size:16px}#school-license-gate .gate-brand{margin-bottom:20px}#school-license-gate .sl-box{padding:24px}#school-license-gate .sl-title{font-size:28px}}
.content{max-width:1200px;margin-inline:0}
.view-page{max-width:none;margin-inline:0}
.view-page:not(#page-students)>.page-header:not(.school-page-heading){display:block;margin-inline:0;max-width:none}
.page-header p{max-width:70ch;margin-top:8px}
#page-generate .gen-tabs{max-width:none;margin-inline:0;flex-wrap:wrap}
.exam-builder-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;align-items:start}
.exam-builder-grid>.card,.exam-builder-grid>div{min-width:0}
#page-generate .card-header{min-height:76px;display:flex;align-items:center;padding:18px 24px}
.school-profile-card{max-width:960px}
.school-profile-card>.card-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}
.school-profile-card .form-group{margin-bottom:0;min-width:0}
.school-profile-card>.card-body>div:not(.form-group),.school-profile-card>.card-body>button{grid-column:1 / -1}
.sidebar-section-label,#badge-students,#topbar-title,#btn-quick-exam,.figma-actions-card{display:none!important}
.sidebar-section{padding-top:8px;padding-bottom:8px}
@media(min-width:821px){.main>.topbar{display:none}}
.sidebar-footer>div:not(:last-child){display:none}
.sidebar-footer{font-size:12px;padding:16px 22px}
#page-students table th,#page-history table th{font-size:13px;text-transform:none;letter-spacing:0;color:var(--muted)}
#students-table td{min-height:72px;vertical-align:top}
.student-row-actions{display:flex;align-items:flex-start;gap:16px}
.student-actions{min-width:110px}.student-actions summary{cursor:pointer;min-height:44px;padding:11px 8px;color:var(--ink);font-size:14px;white-space:nowrap}
.student-actions summary:focus-visible{outline:3px solid var(--brand);outline-offset:3px}
.student-action-list{display:grid;gap:10px;padding:12px 0;min-width:148px}
.student-action-list .student-delete{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;padding-top:14px;color:#b42318;text-align:left}
.student-action-list .student-delete:hover{background:#fff1f0}
.pin-protected{display:inline-flex;align-items:center;min-height:28px;padding:3px 8px;border:1px solid var(--line);border-radius:4px;background:var(--surface-soft);font-size:12px;color:var(--muted);white-space:nowrap}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.date-readable{display:block;margin-top:8px;font-size:13px;color:var(--muted)}
.exam-qcard{border:2px solid var(--brand);border-radius:8px;box-shadow:none}
#page-qp-browse .qcard img{width:160px;height:140px;max-width:100%;object-fit:contain}
@media(max-width:820px){.exam-builder-grid{grid-template-columns:minmax(0,1fr)}.school-profile-card>.card-body{grid-template-columns:minmax(0,1fr)}.school-profile-card .form-row{flex-wrap:wrap}.exam-builder-grid .card-header{min-height:0}}
/* Register polish stays in normal flow: open actions cannot be clipped by the table scroll area. */
#students-table tbody tr,#page-history tbody tr{transition:background-color 140ms ease-out}
#students-table tbody tr:focus-within,#page-history tbody tr:focus-within{background:var(--brand-light)}
#students-table td:first-child{font-weight:600;color:var(--ink)}
.student-row-actions{gap:8px;align-items:flex-start}
.student-actions summary{border:1px solid var(--line);border-radius:7px;background:var(--surface);padding:10px 12px}
.student-actions[open] summary{border-color:var(--brand);color:var(--brand);background:var(--brand-light)}
.student-action-list{padding:12px 0 0;gap:8px}
.student-action-list button{width:100%;text-align:left;white-space:normal}
.student-action-list .student-delete{padding:12px 8px}
.practice-card:focus-visible{border-color:var(--brand);background:var(--brand-light)}
.header-user{min-width:0;flex-wrap:wrap;gap:12px}
.header-user>div{overflow-wrap:anywhere}
.form-group:focus-within>label{color:var(--brand)}
.form-input:focus-visible,.sl-input:focus-visible{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-light)}
@media(hover:hover){#students-table tbody tr:hover,#page-history tbody tr:hover{background:var(--surface-soft)}.student-actions summary:hover{border-color:var(--brand)}}
@media(pointer:coarse){.student-row-actions{gap:12px}.student-action-list{gap:12px}.form-input,input.sl-input,select{font-size:16px!important}}
@media(max-width:480px){.card-header{flex-wrap:wrap;gap:12px;padding:18px}.card-body{padding:18px}.practice-grid{grid-template-columns:minmax(0,1fr)}.header-user{width:100%;justify-content:space-between}.header-user>div{flex:1;min-width:0}th,td{padding:14px 16px}}
@media(prefers-reduced-motion:reduce){#students-table tbody tr,#page-history tbody tr,button{transition:none}}
/* Shared interaction polish; no ownership of page placement, visibility or printing. */
@media screen{
 :root{--pv-feedback:160ms;--pv-feedback-ease:cubic-bezier(.2,.7,.2,1)}
 h1,h2,h3{ text-wrap:balance }
 :is(.stat-num,.figma-student-stat strong,.timer-pill,.badge-count){font-variant-numeric:tabular-nums}
 :is(.card,.card-table,.learning-section,.group-section){min-width:0}
 :is(.card-header,.page-header,.figma-page-heading)>:first-child{min-width:0}
 :is(.btn,.btn-logout,.topbar-btn,.sl-btn,.btn-primary,.sidebar-btn,.portal-shortcuts a,.practice-card){transition:background-color var(--pv-feedback) var(--pv-feedback-ease),border-color var(--pv-feedback) var(--pv-feedback-ease),box-shadow var(--pv-feedback) var(--pv-feedback-ease),color var(--pv-feedback) var(--pv-feedback-ease)}
 :is(.btn,.btn-logout,.topbar-btn,.sl-btn,.btn-primary):not(:disabled):active{box-shadow:inset 0 2px 4px rgb(23 43 64 / .16)}
 :is(button,input,select,textarea,a,summary):focus-visible{outline:3px solid var(--brand);outline-offset:3px}
 :is(button,input,select,textarea):disabled{cursor:not-allowed}
 .card-header{border-bottom-color:var(--line)}
 .card-header h3{letter-spacing:-.015em}
 :is(.learning-toolbar,.group-toolbar,.history-controls){border-radius:10px}
 :is(.learning-note,.group-note,.login-sub,.sl-sub){text-wrap:pretty}
 :is(.learning-empty,.group-empty){padding:24px;line-height:1.65;text-align:center}
 #student-refresh-feedback{display:flex;align-items:baseline;gap:8px;margin-top:10px;color:var(--muted)}
 #student-refresh-feedback[hidden]{display:none}
 #student-refresh-feedback[aria-busy=true]{cursor:progress}
 .home-copy h1{ text-wrap:balance }
 .home-access .card-action{gap:16px}
 @media(hover:hover){.portal-shortcuts a:hover,.practice-card:hover{border-color:var(--brand);background:var(--brand-light)}.sidebar-btn:not(.active):hover{background:var(--surface-soft);color:var(--ink)}}
 @media(pointer:coarse){:is(.btn-logout,.portal-segments a,.student-actions summary){min-height:44px}.learning-actions{gap:12px}}
 @media(prefers-reduced-motion:reduce){:is(.btn,.btn-logout,.topbar-btn,.sl-btn,.btn-primary,.sidebar-btn,.portal-shortcuts a,.practice-card){transition:none}}
}
/* Native iPhone date controls must shrink inside flex and grid form fields. */
@media screen{
 input:is([type=date],[type=month],[type=time],[type=datetime-local]){display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-inline-size:0;min-height:48px;-webkit-appearance:none;appearance:none;text-align:left}
 input:is([type=date],[type=month],[type=time],[type=datetime-local])::-webkit-date-and-time-value{min-width:0;min-height:1.4em;text-align:left}
 input:is([type=date],[type=month],[type=time],[type=datetime-local])::-webkit-datetime-edit{min-width:0;padding:0}
}
@media print{body>*{display:none!important}body>.print-exam{display:block!important;padding:20px;margin:0}body>.print-exam *{color:#000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}
/* Dashboard school identity: overlay the logo without changing dashboard flow. */
.main{position:relative}
.content{position:static}
.school-dashboard-logo{position:absolute;top:18px;right:28px;z-index:2;display:flex;justify-content:flex-end;align-items:center;pointer-events:none}
.school-dashboard-logo[hidden]{display:none!important}
.school-dashboard-logo img{display:block;max-width:min(180px,20vw);max-height:72px;width:auto;height:auto;object-fit:contain;object-position:right center}
@media(max-width:820px){.content{position:relative}.school-dashboard-logo{top:6px;right:18px}.school-dashboard-logo img{max-width:120px;max-height:48px}}
/* Short state transitions keep portal controls in their resting position. */
@media screen and (prefers-reduced-motion:no-preference){
 @keyframes pv-panel-appear{from{opacity:.7}to{opacity:1}}
 :is(.view-page,.view).active:not(#view-exam),[data-portal-section]:not(.portal-page-off):not([hidden]),dialog[open]{animation:pv-panel-appear 180ms ease-out}
 :is(button,.btn,a[role=button]){transition:background-color 140ms ease,border-color 140ms ease,box-shadow 140ms ease}
 :is(input,select,textarea):focus-visible{transition:border-color 140ms ease,box-shadow 140ms ease}
}
.school-mobile-home{display:none}
@media screen and (max-width:820px){
 #main-app>.topbar{position:sticky;top:0;z-index:90;display:flex;justify-content:center;width:100%;min-height:56px;box-sizing:border-box;padding:6px 56px;border-radius:0;background:white}
 #main-app>.topbar .school-mobile-home{display:flex;align-items:center;justify-content:center;min-height:44px;width:min(148px,45vw)}
 #main-app>.topbar>div:first-of-type{position:absolute;left:6px;top:6px}
 #main-app>.topbar #hamburger-btn{display:block;width:44px;height:44px;padding:0}
 .school-mobile-home img{display:block;width:100%;height:auto}
 #main-app>.topbar .topbar-title,#main-app>.topbar .topbar-right{display:none}
}
/* Keep form labels and action groups distinct across portal settings and dialogs. */
:is(.form-group,.signup-info) label{line-height:1.5}
:is(.form-group,.signup-info) :is(input,select,textarea){max-width:100%;box-sizing:border-box}
:is(.release-actions,.form-actions){display:flex;flex-wrap:wrap;gap:12px;align-items:center}
dialog :is(h2,h3){line-height:1.25}dialog :is(input,select,textarea){max-width:100%;box-sizing:border-box}
@media(max-width:600px){.form-row{row-gap:18px}.form-group{min-width:0}.form-group>label{display:block;margin-bottom:8px}.card-header{gap:12px;flex-wrap:wrap}}

/* Favourite controls retain their icon and a full touch target in archive cards. */
.qp-star-btn{display:inline-flex;align-items:center;justify-content:center;inline-size:44px;min-inline-size:44px;block-size:44px;flex:0 0 44px;padding:0;color:var(--muted)}
.qp-star-btn svg{fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.qp-star-btn:hover,.qp-star-btn.starred{color:var(--brand)}
.qp-star-btn.starred svg{fill:currentColor}
