/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}}:root{--navy:#102b46;--blue:#1976b9;--ink:#17212b;--muted:#607080;--line:#dce5ea;--paper:#f6f8f9;--red:#bf4b50;--green:#287958}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}.app-shell{min-height:100vh;padding-bottom:48px}.topbar{background:var(--navy);color:#fff;justify-content:space-between;align-items:center;height:76px;padding:0 max(22px,50vw - 620px);display:flex}.brand{text-align:left;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;font-size:21px;font-weight:700;line-height:.85;display:flex}.brand b{color:#60c8e6}.brand small{letter-spacing:2.3px;margin-top:6px;font-size:9px;display:block}.cross{background:#ef4b4e;border-radius:9px;place-items:center;width:31px;height:31px;font-size:29px;font-weight:300;line-height:1;display:grid}.brand-logo{object-fit:contain;background:#fff;border-radius:50%;width:47px;height:47px}.private{color:#c7dae7;font-size:13px}.dashboard-head,.roster-head,.class-section,.dashboard-summary,.summary,.notice{max-width:1240px;margin-left:auto;margin-right:auto}.dashboard-head,.roster-head{justify-content:space-between;align-items:flex-end;gap:24px;padding:46px 22px 28px;display:flex}.eyebrow{letter-spacing:1.5px;color:var(--blue);margin:0 0 9px;font-size:11px;font-weight:700}.dashboard-head h1,.roster-head h1{color:var(--navy);letter-spacing:-.8px;margin:0;font-size:34px}.dashboard-head p:not(.eyebrow),.roster-head p:not(.eyebrow){color:var(--muted);margin:8px 0 0}.primary,.secondary{cursor:pointer;white-space:nowrap;border:0;border-radius:9px;padding:13px 17px;font-size:14px;font-weight:700}button:disabled{cursor:not-allowed;opacity:.6}.primary{background:var(--blue);color:#fff;box-shadow:0 3px 8px #1976b93b}.secondary{color:var(--navy);background:#edf2f5}.dashboard-summary{grid-template-columns:repeat(3,1fr);gap:14px;padding:0 22px;display:grid}.dashboard-summary>div,.count{border:1px solid var(--line);background:#fff;border-radius:13px;padding:18px 20px}.dashboard-summary span,.count span{color:var(--muted);font-size:13px;display:block}.dashboard-summary b,.count b{color:var(--navy);margin-top:4px;font-size:28px;display:block}.class-section{padding:38px 22px 0}.section-heading{margin-bottom:15px}.section-heading h2,.roster-title h2{color:var(--navy);margin:0;font-size:20px}.section-heading p,.roster-title p{color:var(--muted);margin:5px 0 0;font-size:13px}.class-grid{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.class-card,.empty-card{border:1px solid var(--line);text-align:left;background:#fff;border-radius:13px;min-height:211px;padding:18px}.class-card{cursor:pointer;transition:transform .12s,box-shadow .12s}.class-card:hover{transform:translateY(-2px);box-shadow:0 7px 20px #11375d15}.card-top{justify-content:space-between;align-items:center;display:flex}.chev{color:var(--blue);font-size:26px}.pill{color:#46545f;background:#eef2f4;border-radius:20px;padding:6px 9px;font-size:11px;font-weight:700}.pill.pre-class-enrollment-open{color:#146b9d;background:#e2f4fc}.pill.class-in-progress{color:#23734e;background:#e0f3e8}.pill.completed{color:#52606a;background:#e9edf0}.class-card h3{color:var(--navy);margin:22px 0 4px;font-size:17px}.class-card>p{color:var(--muted);margin:0;font-size:13px}.class-meta{color:#506273;flex-wrap:wrap;gap:10px;margin-top:18px;font-size:12px;display:flex}.class-meta span+span:before{content:"•";color:#9aabb7;margin-right:10px}.class-card footer{border-top:1px solid var(--line);color:#788693;justify-content:space-between;margin-top:17px;padding-top:12px;font-size:11px;display:flex}.class-card footer b{color:var(--blue)}.empty-card{color:var(--muted);grid-column:1/-1;font-size:14px;line-height:1.55}.empty-card strong{color:var(--navy)}.notice{color:#135b86;border-left:4px solid var(--blue);background:#e4f4fb;margin-top:0;padding:12px 16px;font-size:14px}.back{color:#d9edf8;cursor:pointer;background:0 0;border:0;font-size:14px;font-weight:700}.roster-head{padding-top:36px}.head-actions{align-items:center;gap:12px;display:flex}.summary{grid-template-columns:repeat(4,1fr);gap:12px;padding:0 22px;display:grid}.count{border-top:4px solid var(--blue);border-radius:10px}.count.green{border-color:var(--green)}.count.red{border-color:var(--red)}.count.dark{border-color:var(--navy)}.roster-card{border:1px solid var(--line);background:#fff;border-radius:14px;max-width:1240px;margin:28px auto 0;overflow:hidden}.roster-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:20px 22px;display:flex}.roster-title>span{color:var(--muted);font-size:13px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:850px}th{text-align:left;color:#687988;text-transform:uppercase;letter-spacing:.7px;background:#f7fafb;padding:13px 20px;font-size:10px}td{vertical-align:middle;border-top:1px solid #e8eef1;padding:16px 20px;font-size:14px}td strong{color:var(--navy);display:block}td small{color:#80909a;margin-top:4px;font-size:11px;display:block}.optout{color:#a6572f}.source{color:#466071;background:#f0f5f7;border-radius:6px;padding:6px 8px;font-size:12px}.attendance{align-items:center;gap:5px;display:flex}.attendance button{color:#677886;cursor:pointer;background:#fff;border:1px solid #d2dde2;border-radius:6px;padding:7px 9px;font-size:11px;font-weight:700}.attendance button.active.present{color:#1e754b;background:#dff2e7;border-color:#b4dfc7}.attendance button.active.absent{color:#a53d43;background:#fde9e9;border-color:#f1c7c9}.attendance span{color:#71818c;margin-left:2px;font-size:12px}.row-actions{gap:10px;display:flex}.row-actions button{color:var(--blue);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:700}.row-actions .danger-link{color:#b64b4e}.timing-status{color:#65747f;white-space:nowrap;background:#f0f3f5;border-radius:20px;padding:6px 9px;font-size:11px;font-weight:700;display:inline-block}.timing-status.complete{color:#1e754b;background:#dff2e7}.timing-status.partial{color:#8b6414;background:#fff1cf}.cpr-results{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.cpr-heading{justify-content:space-between;align-items:end;gap:16px;display:flex}.cpr-heading h3{color:var(--navy);margin:0;font-size:18px}.cpr-heading>span{color:var(--green);font-size:11px;font-weight:700}.cpr-help{color:var(--muted);margin:8px 0 16px;font-size:12px}.cpr-group{border:1px solid var(--line);border-radius:10px;margin:0 0 12px;padding:14px}.cpr-group legend{color:var(--navy);padding:0 6px;font-size:13px;font-weight:700}.cycle-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.seconds-input{background:#fff;border:1px solid #cbd8de;border-radius:8px;align-items:center;margin-top:6px;display:flex;overflow:hidden}.seconds-input input{text-align:center;width:100%;min-width:0;min-height:48px;color:var(--navy);border:0;padding:9px 8px;font-size:20px;font-weight:700}.seconds-input b{color:var(--muted);padding-right:9px;font-size:12px}.seconds-input.review{background:#fff8e8;border:2px solid #d69a2d}.cpr-group label>small{color:#9a6411;margin-top:4px;display:block}.print-results{display:none}.empty{text-align:center;color:var(--muted);padding:48px;line-height:1.65}.empty strong{color:var(--navy)}.modal-backdrop{z-index:10;background:#0a2137a8;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:15px;width:min(720px,100%);max-height:calc(100vh - 40px);padding:24px;overflow:auto}.modal.compact{width:min(580px,100%)}.modal-title{justify-content:space-between;align-items:start;margin-bottom:22px;display:flex}.modal h2{color:var(--navy);margin:0;font-size:23px}.close{color:#455967;cursor:pointer;background:#eef3f5;border:0;border-radius:50%;width:31px;height:31px;font-size:22px}.form-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.form-grid label,label{color:#435663;font-size:12px;font-weight:700}.form-grid input,.form-grid select{width:100%;color:var(--ink);background:#fff;border:1px solid #cbd8de;border-radius:7px;margin-top:6px;padding:11px 10px;font-size:14px;font-weight:400}.checkbox{cursor:pointer;align-items:center;gap:8px;margin-top:18px;display:flex}.checkbox input{width:16px;height:16px;accent-color:var(--blue)}.modal-actions{justify-content:flex-end;gap:10px;margin-top:26px;display:flex}.loading{color:var(--muted)}@media (max-width:760px){.topbar{height:66px}.private{display:none}.dashboard-head,.roster-head{flex-direction:column;align-items:start;padding-top:28px}.dashboard-head h1,.roster-head h1{font-size:28px}.dashboard-head .primary,.roster-head .primary{width:100%}.head-actions{justify-content:space-between;width:100%}.dashboard-summary,.summary{grid-template-columns:repeat(2,1fr)}.class-grid{grid-template-columns:1fr}.class-card{min-height:190px}.roster-card{border-radius:10px;margin:22px 12px 0}.roster-title{padding:16px}.form-grid{grid-template-columns:1fr}.modal{padding:20px}.attendance button{padding:8px 10px}.cycle-grid{gap:8px}.seconds-input input{font-size:18px}}.print-header,.print-attendance{display:none}@media print{@page{size:auto;margin:16mm}body{color:#17212b;background:#fff}.topbar,.head-actions,.summary,.notice,.student-launch,.screen-only,.attendance,.row-actions,.roster-title p,.modal-backdrop,.table-wrap th:last-child,.table-wrap td:last-child{display:none!important}.app-shell{padding:0}.print-header{break-inside:avoid;justify-content:flex-start;align-items:center;gap:16px;margin:0 0 18px;display:flex}.print-header img{object-fit:contain;object-position:left center;width:115px;height:75px;display:block}.print-header strong{font-size:14pt;display:block}.print-header span{margin-top:5px;font-size:10pt;display:block}.roster-head{border-bottom:2px solid var(--navy);break-inside:avoid;max-width:none;margin:0;padding:0 0 14px;display:block}.roster-head h1{margin:7px 0;font-size:18pt;line-height:1.25}.roster-head p{margin:5px 0;font-size:11pt;line-height:1.4}.roster-card{max-width:none;box-shadow:none;border:0;border-radius:0;margin:18px 0 0;overflow:visible}.roster-title{break-after:avoid;padding:0 0 10px}.roster-title h2{margin:0;font-size:14pt}.table-wrap{overflow:visible}table{border-collapse:collapse;width:100%;min-width:0;font-size:10pt}thead{display:table-header-group}tr{break-inside:avoid}th,td{white-space:normal;overflow-wrap:anywhere;padding:8px;font-size:10pt;line-height:1.4}td strong{font-size:10pt}td small{font-size:9pt}th{color:#17212b;background:#f1f4f6}.print-attendance{display:inline}.print-results{page-break-before:auto;margin-top:24px;display:block}.print-results:has(.print-participant):before{content:"CPR Skills Results";color:var(--navy);border-bottom:2px solid var(--navy);padding-bottom:7px;font-size:14pt;font-weight:700;display:block}.print-participant{break-inside:avoid;border-bottom:1px solid var(--line);padding:14px 0}.print-participant h3{color:var(--navy);margin:0 0 8px;font-size:11pt}.print-cpr-group{vertical-align:top;min-width:180px;margin-right:24px;display:inline-block}.print-cpr-group h4{margin:0 0 4px;font-size:10pt}.print-cpr-group p{margin:2px 0;font-size:10pt}}.head-actions,.roster-head{flex-wrap:wrap}.act-class{border:1px solid var(--line);background:#fff;border-radius:12px;max-width:1196px;margin:24px auto;padding:22px}.act-class h2,.act-fields h3{color:var(--navy);margin:0 0 12px}.act-class p,.act-fields p{font-size:16px;line-height:1.5}.act-class details{border-top:1px solid var(--line);margin:14px 0;padding-top:10px}.act-class summary{cursor:pointer;min-height:44px;color:var(--navy);padding:12px 0;font-weight:700}.act-fields{border:1px solid var(--line);border-radius:10px;margin:18px 0;padding:16px}.act-fields legend{color:var(--navy);font-weight:700}.act-class label,.act-fields label{font-size:14px;display:block}.act-class input,.act-class select,.act-fields input,.act-fields select{background:#fff;border:1px solid #cbd8de;border-radius:7px;width:100%;min-height:44px;margin:6px 0 10px;padding:10px;font-size:16px;display:block}.act-class small,.act-fields small{margin:4px 0;font-size:13px;display:block}.act-badge{white-space:normal;border-radius:7px;margin-top:6px;padding:8px 10px;font-size:13px;font-weight:700;display:inline-block}.act-badge.eligible{color:#155c3c;background:#dff2e7}.act-badge.pending,.act-warning{color:#7a4c08;background:#fff1cf}.act-warning{border-radius:7px;padding:12px;font-size:14px;line-height:1.5;display:block}.act-summary{margin:12px 0}.act-summary>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:18px;padding:8px 0;display:flex}.act-summary dd{margin:0;font-weight:700}.record-link{white-space:normal;margin:12px 0;text-decoration:none;display:inline-block}.record-link.unavailable{opacity:.6;cursor:not-allowed}.perms-person{border-top:1px solid var(--line);padding:16px 0}.perms-person button{white-space:normal;margin:4px}.act-class button{white-space:normal}.act-fields ul{padding-left:20px;line-height:1.6}@media (max-width:1100px){.act-class{margin:22px}.roster-head{align-items:start}.head-actions{width:100%}.head-actions .primary{width:auto}.class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.class-grid{grid-template-columns:1fr}.act-class{margin:18px 12px;padding:16px}}@media print{.act-class,.act-fields,.modal-backdrop{display:none!important}}@media screen and (max-width:1100px){.roster-card table{table-layout:auto;min-width:0}.roster-card th,.roster-card td{padding:12px 10px}.roster-card th:nth-child(3),.roster-card td:nth-child(3){display:none}.roster-card td:nth-child(2){overflow-wrap:anywhere}.row-actions{flex-direction:column;gap:0}.row-actions button,.attendance button{min-height:44px}.attendance{flex-wrap:wrap}.roster-card td:first-child{min-width:150px}}.bulk-modal{width:min(760px,100%)}.bulk-modal p{font-size:15px;line-height:1.5}.bulk-modal label{margin:14px 0;font-size:14px;display:block}.bulk-modal input[type=file],.bulk-modal textarea{border:1px solid #cbd8de;border-radius:8px;width:100%;margin-top:8px;padding:12px;font:16px/1.4 Arial,Helvetica,sans-serif;display:block}.bulk-modal textarea{resize:vertical;min-height:130px}.bulk-modal input[type=file]{background:#f7fafb}.bulk-help{color:var(--muted)}.bulk-preview{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.bulk-preview h3{color:var(--navy);margin:0}.bulk-list{border:1px solid var(--line);border-radius:8px;max-height:260px;overflow:auto}.bulk-list table{min-width:0}.bulk-list td,.bulk-list th{overflow-wrap:anywhere;padding:9px 12px;font-size:13px}.bulk-error,.bulk-errors{color:#8f3338;background:#fff0f0;border-radius:8px;padding:12px}.bulk-errors ul{margin-bottom:0;padding-left:24px}@media (max-width:760px){.bulk-modal{padding:18px}.bulk-modal .modal-actions{flex-wrap:wrap}.bulk-modal .modal-actions button{white-space:normal;flex:1;min-height:44px}.head-actions .secondary{min-height:44px}}@media print{.bulk-modal{display:none!important}}.student-launch{background:#e7f2fa;border:1px solid #b8d4e9;border-radius:14px;justify-content:space-between;align-items:center;gap:24px;max-width:1240px;margin:20px auto;padding:22px;display:flex}.student-launch h2{margin:0;font-size:20px}.student-launch p{margin:8px 0 0;font-size:16px;line-height:1.5}.student-launch button{flex-shrink:0}.student-screen{background:#eef3f7;min-height:100vh;padding:24px;font-size:18px;line-height:1.5}.student-header{justify-content:space-between;align-items:center;gap:20px;max-width:820px;margin:auto;display:flex}.student-header img{object-fit:contain;width:130px;height:70px}.student-header button{font-size:14px}.student-class{max-width:760px;color:var(--navy);text-align:center;flex-direction:column;margin:18px auto;font-size:16px;display:flex}.student-class strong{font-size:21px}.student-card{border:1px solid var(--line);background:#fff;border-radius:20px;max-width:760px;margin:auto;padding:32px;box-shadow:0 8px 30px #102b460a}.student-card h1{margin:24px 0 14px;font-size:32px;line-height:1.2}.student-card h1:focus{outline:none}.student-steps{color:#536579;justify-content:space-between;gap:12px;margin:0;padding:0;font-size:16px;list-style:none;display:flex}.student-steps li{align-items:center;gap:8px;display:flex}.student-steps b{background:#edf1f5;border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.student-steps [aria-current]{color:var(--navy);font-weight:700}.student-steps [aria-current] b{background:var(--navy);color:#fff}.student-fields{grid-template-columns:1fr 1fr;gap:20px;margin:24px 0;display:grid}.student-fields label{flex-direction:column;gap:8px;font-size:18px;font-weight:600;display:flex}.student-fields input{font:inherit;border:1px solid #8597a7;border-radius:8px;width:100%;min-width:0;min-height:54px;padding:12px}.student-fields small,.student-hint{color:#536579;font-size:14px;font-weight:400}:is(.student-fields input:focus-visible,.student-screen button:focus-visible){outline-offset:3px;outline:3px solid #1976b9}.student-optout{align-items:flex-start;margin:18px 0;font-size:16px}.student-optout input{flex-shrink:0;width:22px;height:22px}.student-actions{justify-content:flex-end;gap:14px;margin-top:28px;display:flex}.student-screen .student-next{min-height:56px;padding:14px 24px;font-size:18px}.student-review{overflow-wrap:anywhere;background:#f2f6fa;border-radius:12px;padding:20px}.student-review dt{color:#536579;margin-top:16px;font-size:14px}.student-review dt:first-child{margin-top:0}.student-review dd{margin:4px 0 0;font-size:22px;font-weight:600}.student-success{text-align:center}.student-check{color:#21724e;background:#e7f5ee;border-radius:50%;width:72px;height:72px;margin:24px auto;font-size:44px}.student-error{color:#8e2525;background:#fff0f0;border-radius:8px;padding:16px}@media (max-width:820px){.student-launch{flex-direction:column;align-items:stretch;margin:20px}.student-screen{padding:16px}.student-card{padding:24px}.student-card h1{font-size:28px}}@media (max-width:540px){.student-fields{grid-template-columns:1fr}.student-card{padding:20px}.student-steps{gap:8px;font-size:14px}.student-steps b{width:26px;height:26px}.student-actions{flex-direction:column-reverse}.student-header img{width:100px}.student-review dd{font-size:20px}}.student-language{align-items:center;gap:10px;display:flex}.student-email-note{background:#e7f2fa;border-left:4px solid #1976b9;border-radius:8px;padding:16px;font-size:16px}.student-email-note p{margin:6px 0 0}.student-language button{min-height:44px}@media (max-width:540px){.student-header{align-items:flex-start}.student-language{flex-direction:column;align-items:stretch}}.cpr-mask-offer{border:1px solid var(--line);border-top:4px solid var(--red);text-align:left;background:#f8fafc;border-radius:14px;margin-top:28px;padding:20px;font-size:16px;line-height:1.5}.cpr-mask-intro{flex-direction:column;align-items:center;gap:16px;display:flex}.cpr-mask-photo{border-radius:9px;width:120px;max-width:100%;height:auto;display:block}.cpr-mask-offer h2{color:var(--navy);margin:0 0 10px;font-size:23px;line-height:1.25}.cpr-mask-offer p{margin:0}.cpr-mask-options{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:20px;display:grid}.cpr-mask-option{border:1px solid var(--line);background:#fff;border-radius:10px;padding:16px}.cpr-mask-price{color:var(--navy);justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.cpr-mask-price strong{font-size:18px}.cpr-mask-price b{color:var(--red);font-size:30px;line-height:1}.cpr-mask-offer .cpr-mask-pickup{color:var(--navy);margin:18px 0 14px;font-weight:700}.cpr-mask-payments{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.cpr-mask-buy{white-space:normal;text-align:center;justify-content:center;align-items:center;min-height:56px;padding:14px 16px;font-size:18px;text-decoration:none;display:flex}.cpr-mask-buy:hover{background:var(--navy)}.cpr-mask-buy:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.cpr-mask-offer .cpr-mask-note{color:#536579;margin-top:14px;font-size:14px}.cpr-mask-qr{border:1px solid var(--line);text-align:center;background:#fff;border-radius:12px;margin-top:20px;padding:20px 16px}.cpr-mask-qr h3{color:var(--navy);margin:0 0 8px;font-size:24px}.cpr-mask-qr h3:focus{outline:none}.cpr-mask-qr img{width:260px;max-width:100%;height:auto;image-rendering:pixelated;margin:16px auto;display:block}.cpr-mask-qr .cpr-mask-buy{width:100%;margin-top:16px}.cpr-mask-phone-link{color:var(--blue);text-underline-offset:3px;margin-top:12px;padding:8px 0;font-size:14px;display:inline-block}.cpr-mask-phone-link:focus-visible{outline:3px solid var(--blue);outline-offset:3px}@media (min-width:600px){.cpr-mask-intro{flex-direction:row;align-items:center}.cpr-mask-photo{flex-shrink:0}.cpr-mask-options,.cpr-mask-payments{grid-template-columns:repeat(2,minmax(0,1fr))}}
