.attendance-workspace{max-width:1200px;margin:0 auto;padding:24px;color:#173244}.attendance-workspace h1{font-size:28px;margin:12px 0}.admin-main main.attendance-workspace h1{font-size:clamp(24px,2.2vw,30px);line-height:1.3;margin:12px 0}.attendance-workspace nav.att-panel-switcher{align-items:stretch}.attendance-workspace h2{font-size:20px}.attendance-workspace section{background:#fff;border:1px solid #d5e1e7;border-radius:12px;padding:24px;margin:16px 0}.attendance-workspace .att-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:16px 0}.attendance-workspace .att-actions .att-button{display:inline-flex;align-items:center;font-weight:600}.attendance-workspace button,.attendance-workspace .att-button{background:#165c72;color:#fff;border:0;border-radius:6px;padding:8px 16px;cursor:pointer;text-decoration:none}.attendance-workspace button:disabled{opacity:.45;cursor:not-allowed}.attendance-workspace input,.attendance-workspace select,.attendance-workspace textarea{display:block;padding:8px;border:1px solid #aebfc9;border-radius:5px;max-width:100%;background:#fff;color:#173244}.attendance-workspace label{display:grid;gap:8px;font-size:14px}.attendance-workspace .att-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.attendance-workspace table{width:100%;border-collapse:collapse}.attendance-workspace th,.attendance-workspace td{text-align:left;padding:12px;border-bottom:1px solid #e2eaee;vertical-align:top}.attendance-workspace .att-table{overflow:auto}.att-student-status{display:inline-flex;align-items:center;gap:8px;padding:4px 8px;border:1px solid;border-radius:999px;font-size:14px;font-weight:600;line-height:1.4;white-space:nowrap}.att-student-status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0}.att-student-status--attended{color:#166534;background:#ecfdf3;border-color:#bbebcc}.att-student-status--late{color:#854d0e;background:#fffbeb;border-color:#f5d78e}.att-student-status--absent{color:#b42318;background:#fff1f0;border-color:#f5c0ba}.att-student-status--leave{color:#6b21a8;background:#faf0ff;border-color:#e6cdf6}.att-student-status--pending{color:#475569;background:#f1f5f9;border-color:#cbd5e1}.attendance-workspace .att-bounded-table{max-height:min(540px,60vh);overscroll-behavior:contain}.attendance-workspace .att-bounded-table th{position:sticky;top:0;background:#f3f7fa;z-index:1}.attendance-workspace .att-lesson-overview p{margin:0 0 8px}.attendance-workspace .att-lesson-overview .att-actions{margin-bottom:0}.attendance-workspace .att-empty-state{padding:16px;background:#f3f7fa;border-radius:8px}.attendance-workspace .att-checkbox{display:flex;align-items:center;gap:8px;margin:16px 0}.attendance-workspace .att-checkbox input{width:18px;height:18px;flex:0 0 18px;margin:0}@media(max-width:1100px){.attendance-workspace .att-student-table thead{display:none}.attendance-workspace .att-student-table tbody{display:grid;gap:12px}.attendance-workspace .att-student-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid #d5e1e7;border-radius:8px;padding:8px}.attendance-workspace .att-student-table td{border:0;overflow-wrap:anywhere}.attendance-workspace .att-student-table td:first-child,.attendance-workspace .att-student-table td:last-child{grid-column:1 / -1}.attendance-workspace .att-student-table td[data-label]:before{content:attr(data-label);display:block;font-size:12px;font-weight:600;color:#596f7d;margin-bottom:8px}.attendance-workspace .att-student-table .att-actions{margin:8px 0 0}}.attendance-workspace :is(button,a,[tabindex="0"]):focus-visible{outline:3px solid #e6b338;outline-offset:3px}.attendance-workspace .att-error{background:#fff0ee;color:#a5281c;padding:16px;border-radius:6px}.attendance-workspace .att-success{background:#eaf6ee;color:#205834;padding:16px}.attendance-workspace .att-muted{color:#596f7d;font-size:14px}.attendance-workspace .att-warning{background:#fff7dd;padding:16px}.attendance-workspace .att-pill{display:inline-block;border-radius:12px;padding:4px 8px;background:#e7f0f4;font-size:14px}.attendance-workspace pre{white-space:pre-wrap;word-break:break-word}.attendance-workspace progress{width:110px}.att-timing-card{padding:20px;margin:0 0 16px;border:1px solid #d5e1e7;border-radius:10px;background:#fff}.att-timing-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px}.att-timing-heading>span{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:8px;background:#e8f3f7;color:#165c72;font-size:12px;font-weight:600}.att-timing-heading h2{margin:0;font-size:18px}.att-timing-heading p,.att-timing-card .att-timing-help{font-size:14px;line-height:1.5;color:#596f7d;margin:8px 0 0}.att-timing-card .att-timing-help{margin-top:16px}.att-timing-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.att-timing-card .att-unit-input{display:flex;align-items:center;gap:8px}.att-timing-card .att-unit-input input{width:80px;min-width:0;font-size:17px;font-weight:600}.att-unit-input>span,.att-timing-fields small{color:#596f7d;font-size:12px;font-weight:400}.att-timing-details{margin-top:12px;font-size:12px;color:#596f7d}.att-timing-details summary{cursor:pointer;color:#165c72}.att-timing-preview{margin-top:24px;padding:16px;background:#f3f7fa;border-radius:8px}.att-timing-preview>strong{font-size:12px;color:#596f7d;font-weight:500}.att-timing-preview ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;margin:16px 0 0}.att-timing-preview li{border-top:2px solid #b9d4df;padding-top:8px;display:grid;gap:4px}.att-timing-preview li b{font-size:18px;color:#165c72}.att-timing-preview li span{font-size:12px;color:#596f7d}@media(max-width:520px){.att-timing-fields{grid-template-columns:1fr;gap:16px}.att-timing-card{padding:16px}}.att-link-operation{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0}.att-link-operation+.att-link-operation{border-top:1px solid #e2eaee}.att-link-operation h3{margin:0 0 8px;font-size:16px}.att-link-operation p{margin:0;color:#596f7d;font-size:14px;line-height:1.5;max-width:350px}.att-link-operation button{flex-shrink:0}.attendance-workspace .att-link-danger-outline{color:#b42318;background:#fff;border:1px solid #e6bab5}.attendance-workspace .att-link-danger{color:#fff;background:#b42318}.att-link-confirm{margin-top:20px;padding:24px;border:1px solid #b9d4df;border-left:4px solid #165c72;border-radius:8px;background:#f7fafc}.att-link-confirm.is-danger{border-color:#e6bab5;border-left-color:#b42318;background:#fff8f7}.att-link-confirm-label{color:#596f7d;font-size:12px;font-weight:600;letter-spacing:.08em}.att-link-confirm h3{font-size:19px;margin:8px 0 12px}.att-link-confirm p{color:#526b7c;font-size:14px;line-height:1.6;margin:0}.att-link-confirm-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-top:24px}@media(max-width:520px){.att-link-operation{align-items:flex-start;flex-direction:column;gap:12px}.att-link-confirm{padding:16px}}.att-link-input{position:relative;margin-top:8px}.att-link-card .att-link-input input{margin-top:0;padding-right:52px}.attendance-workspace .att-link-visibility{position:absolute;top:1px;right:1px;bottom:1px;width:44px;padding:0;display:grid;place-items:center;background:transparent;color:#526b7c;border:0;border-radius:0 5px 5px 0}.attendance-workspace .att-link-visibility:hover:not(:disabled){background:#e8f3f7;color:#165c72}.att-link-settings .att-warning .att-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.attendance-scanner{max-width:850px}.att-link-settings .att-link-card{margin:24px 0;padding:24px;border:1px solid #d5e1e7;border-radius:10px;background:#f7fafc}.att-link-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:24px}.att-link-active{color:#166534}.att-link-heading span{font-size:12px;color:#596f7d}.att-link-card input{width:100%;box-sizing:border-box;min-height:44px;margin-top:4px;font-family:monospace}.att-link-card .att-actions{margin-top:16px;align-items:center}.att-link-card>p:last-child{margin-bottom:0}.att-link-management{border-top:1px solid #d5e1e7;padding:16px 0 4px}.att-link-management summary{cursor:pointer;font-weight:600;color:#526b7c}.attendance-scanner.att-teacher{max-width:1280px;padding:32px 24px}.att-teacher-header,.att-teacher-tools,.att-panel-heading,.att-today-meta,.att-today-footer,.att-roster-options,.att-roster-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.att-teacher-header{margin-bottom:28px}.att-teacher .att-eyebrow{color:#526b7c;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.att-teacher h1{margin:8px 0;font-size:32px}.att-teacher h2{margin:0}.att-teacher-date{margin:0;color:#526b7c;font-size:14px}.att-teacher-date span{color:#6b7f8d}.att-teacher-tools{justify-content:flex-end;flex-wrap:wrap}.att-teacher .att-panel-heading{align-items:flex-start;margin-bottom:20px}.att-panel-heading p{margin:8px 0 0;font-size:14px;color:#596f7d}.att-teacher section.att-class-overview{display:flex;justify-content:space-between;gap:32px;padding:26px;border-top:3px solid #1696b5}.att-class-identity{min-width:0}.att-class-identity h2{margin:8px 0;font-size:25px;overflow-wrap:anywhere}.att-class-subtitle{margin:0 0 16px;color:#526b7c}.att-class-meta{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:14px}.att-rate-card{flex:0 0 230px;border-left:1px solid #dce7ed;padding-left:28px;color:#526b7c;font-size:14px}.att-rate-value{display:block;color:#165c72;font-size:36px;font-weight:600;line-height:1.3;margin:8px 0}.att-rate-track{height:6px;background:#e6edf1;border-radius:6px;overflow:hidden;margin:8px 0}.att-rate-track span{display:block;height:100%;background:#168569;border-radius:inherit}.att-teacher-columns{display:grid;grid-template-columns:310px minmax(0,1fr);gap:20px;align-items:start}.att-teacher-columns>section{margin:0;min-width:0}.att-teacher .att-teacher-scan-panel,.att-teacher .att-roster-panel{padding:24px}.att-teacher-scan-panel .att-panel-heading{gap:8px;margin-bottom:8px;flex-wrap:wrap}.att-window-pill{border-radius:20px;padding:4px 8px;background:#edf1f4;color:#526b7c;font-size:12px;white-space:nowrap}.att-window-pill.is-open{background:#e6f5ec;color:#166534}.att-scan-window{font-size:14px;color:#596f7d;margin:0 0 20px}.att-camera-stage{background:#f3f7fa;border:1px solid #dce7ed;border-radius:10px;overflow:hidden}.att-camera-placeholder{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;text-align:center}.att-camera-placeholder svg{color:#165c72}.att-camera-placeholder p{color:#596f7d;font-size:14px;margin:0;line-height:1.5}.att-teacher .att-start-camera{width:100%;margin-top:16px;min-height:44px}.att-teacher-scan-feedback{margin:12px 0 16px;font-size:14px;line-height:1.5}.att-teacher-scan-feedback p{margin:0}.att-reader-option{border-top:1px solid #e2eaee;padding-top:16px}.att-reader-option summary{cursor:pointer;color:#165c72;font-size:14px;font-weight:600;padding:4px 0}.att-reader-option form{display:grid;gap:12px;margin-top:16px}.att-reader-option input{width:100%;box-sizing:border-box}.att-scan-note{color:#6b7f8d;font-size:12px;line-height:1.6;margin:20px 0 0}.att-teacher-scan-placeholder{padding:24px 16px;background:#f3f7fa;border-radius:8px;line-height:1.6;color:#526b7c}.att-count-label{margin-left:8px;color:#647b88;font-size:16px;font-weight:400}.att-live-label{display:inline-flex;align-items:center;gap:8px;color:#287456;font-size:12px;white-space:nowrap}.att-live-label span{width:6px;height:6px;background:currentColor;border-radius:50%}.att-live-label.is-offline{color:#a15b0a}.att-teacher .att-teacher-search{gap:8px;font-size:14px;font-weight:600}.att-teacher-search input{width:100%;box-sizing:border-box;font-size:14px;min-height:42px;font-weight:400}.att-roster-filters{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 12px}.att-roster-filters .att-chip{--chip: #526b7c;display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:8px 8px 8px 12px;background:#fff;color:var(--chip);border:1px solid #d5e1e7;border-radius:999px;font-size:14px;font-weight:600}.att-roster-filters .att-chip:hover{border-color:var(--chip)}.att-roster-filters .att-filter-count{min-width:22px;height:22px;padding:0 8px;box-sizing:border-box;display:inline-grid;place-items:center;border-radius:999px;background:color-mix(in srgb,var(--chip) 13%,#fff);color:var(--chip);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1}.att-roster-filters .att-chip[aria-pressed=true]{background:color-mix(in srgb,var(--chip) 7%,#fff);border-color:var(--chip);box-shadow:inset 0 0 0 1px var(--chip)}.att-roster-filters .att-chip[aria-pressed=true] .att-filter-count{background:var(--chip);color:#fff}.att-roster-filters .att-chip.is-empty:not([aria-pressed=true]) .att-filter-count{background:#eef2f5;color:#8a9ba6}.att-roster-filters .att-chip.is-brand{--chip: #165c72}.att-roster-filters .att-chip.is-good{--chip: #166534}.att-roster-filters .att-chip.is-warn{--chip: #854d0e}.att-roster-filters .att-chip.is-bad{--chip: #b42318}.att-roster-filters .att-chip.is-leave{--chip: #6b21a8}.att-roster-filters .att-chip.is-info{--chip: #1d4ed8}.att-roster-options{flex-wrap:wrap;gap:8px;margin-bottom:16px;font-size:12px;color:#6b7f8d}.att-teacher .att-roster-options .att-checkbox{margin:0;font-size:14px}.att-filter-notice{background:#f3f7fa;padding:8px 12px;border-radius:6px;color:#526b7c;font-size:12px;line-height:1.5}.att-roster-panel .att-bounded-table{max-height:460px;border:1px solid #e2eaee;border-radius:8px}.att-roster-panel th{color:#596f7d;font-size:12px;font-weight:600}.att-roster-panel td{font-size:14px;vertical-align:middle}.att-student-name{font-weight:600}.att-roster-footer{margin-top:16px;color:#6b7f8d;font-size:12px;flex-wrap:wrap}.att-today-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:24px;max-height:65vh;overflow:auto;padding:2px}.att-today-card{border:1px solid #d5e1e7;border-radius:10px;padding:20px;display:flex;flex-direction:column}.att-today-meta{color:#526b7c;font-size:14px;flex-wrap:wrap}.att-today-card h3{font-size:18px;margin:16px 0 8px}.att-today-card p{margin:4px 0;font-size:14px}.att-today-venue{color:#596f7d}.att-today-footer{margin-top:auto;padding-top:24px;font-size:12px;color:#596f7d}@media(max-width:1000px){.att-teacher-columns{grid-template-columns:270px minmax(0,1fr);gap:16px}.att-teacher .att-teacher-scan-panel,.att-teacher .att-roster-panel{padding:16px}.att-roster-panel .att-panel-heading{flex-wrap:wrap;gap:8px}}@media(max-width:760px){.attendance-scanner.att-teacher{padding:20px 16px}.att-teacher-header{align-items:flex-start;flex-wrap:wrap;gap:16px}.att-teacher h1{font-size:28px}.att-teacher section.att-class-overview{flex-direction:column;gap:20px;padding:20px}.att-rate-card{flex-basis:auto;border-left:0;border-top:1px solid #dce7ed;padding:16px 0 0}.att-rate-value{font-size:30px}.att-teacher-columns{grid-template-columns:minmax(0,1fr)}.att-camera-placeholder{min-height:140px}.att-today-grid{grid-template-columns:minmax(0,1fr)}}.attendance-scanner #attendance-camera{max-width:480px;margin:auto}.attendance-workspace textarea{width:100%;min-height:100px}@media(max-width:600px){.attendance-workspace{padding:16px}.attendance-workspace section{padding:16px}.attendance-workspace th,.attendance-workspace td{padding:8px}.attendance-workspace button{min-height:44px}}.attendance-workspace .att-lesson-list{display:grid;align-content:start;gap:16px;max-height:min(480px,55vh);overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;padding:8px;margin-top:16px}.attendance-workspace .att-schedule-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.attendance-workspace .att-schedule-heading h2{margin:0}.attendance-workspace .att-lesson-list:focus-visible{outline:3px solid #e6b338;outline-offset:3px}.attendance-workspace .att-lesson-card{padding:20px;border:1px solid #cfdee5;border-radius:10px;background:#fff}.attendance-workspace .att-lesson-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.attendance-workspace .att-lesson-heading h3{margin:0;font-size:19px}.attendance-workspace .att-lesson-heading a{color:#165c72;text-decoration:underline;text-underline-offset:4px}.attendance-workspace .att-lesson-meta{display:flex;gap:24px;flex-wrap:wrap;margin:16px 0}.attendance-workspace .att-lesson-meta p{margin:0;font-size:14px}.attendance-workspace .att-lesson-meta span{display:block;color:#596f7d;font-size:12px;margin-bottom:4px}.attendance-workspace .att-lesson-actions{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid #e2eaee;padding-top:16px}.attendance-workspace .att-lesson-actions .att-button{display:inline-flex;align-items:center;gap:24px;font-weight:600}.attendance-workspace .att-secondary{background:#e8f3f7;color:#165c72;border:1px solid #b9d4df}.attendance-workspace .att-danger{background:#fff;color:#ad3026;border:1px solid #e7c3c0}.attendance-workspace .att-danger:hover{background:#fff0ee}.attendance-workspace .att-status-draft{background:#fff2cd;color:#785800}.attendance-workspace .att-status-published{background:#e3f3e8;color:#245b3a}.attendance-workspace .att-status-cancelled{background:#edf0f2;color:#59636c}.attendance-workspace .att-lesson-cancelled{background:#f8fafb}.attendance-workspace .att-empty{padding:24px;text-align:center;border:1px dashed #b7cbd5;border-radius:10px;color:#596f7d}.attendance-workspace .att-lesson-actions :is(a,button):focus-visible{outline:3px solid #e6b338;outline-offset:3px}@media(max-width:600px){.attendance-workspace .att-lesson-card{padding:16px}.attendance-workspace .att-lesson-actions .att-button{width:100%;justify-content:space-between}.attendance-workspace .att-lesson-meta{gap:16px}}.att-review-counts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.attendance-workspace .att-review-counts button{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:84px;padding:16px;border:1px solid #d5e1e7;border-left:4px solid #d5e1e7;border-radius:8px;background:#fff;color:#526b7c;font-size:14px;font-weight:600;text-align:left}.attendance-workspace .att-review-counts button:hover{border-color:#165c72}.att-review-counts strong{color:#102a56;font:600 1.5rem/1.2 var(--font-display, "Sora", sans-serif);font-variant-numeric:tabular-nums}.attendance-workspace .att-review-counts button.has-items{border-left-color:#d4a72c}.attendance-workspace .att-review-counts button.is-clear{background:#f7f9fa;color:#7a8f9c}.att-review-counts button.is-clear strong{color:#9aabb5}.att-followup-list{display:grid;gap:12px;margin-top:16px}.att-followup-card{border:1px solid #d8e0e5;border-radius:12px;padding:16px}.att-followup-card h3{margin:0}.att-followup-note{white-space:pre-wrap;background:#f5f7fa;border-left:3px solid #7d929e;padding:12px}.att-followup-pending{background:#fff0d4;color:#76500c}.att-followup-contacted{background:#e7effc;color:#284e89}.att-followup-resolved{background:#e1f2e8;color:#22613c}.att-window-status{background:#edf6f8;border-radius:8px;padding:12px}.att-dialog.attendance-workspace{width:min(740px,calc(100vw - 32px));max-height:88vh;overflow-y:auto;border:1px solid #c6d8e0;border-radius:16px;padding:24px;background:#fff;color:#203845;box-shadow:0 20px 70px #10273c55}.att-dialog::backdrop{background:#10273c88}.att-settings-launcher.attendance-workspace,.att-review-queue.attendance-workspace{width:100%;max-width:none;margin:0 0 20px;padding:20px 24px;border:1px solid #d5e1e7;border-radius:12px;background:#fff}.att-settings-launcher.attendance-workspace{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.att-settings-launcher h2,.att-review-queue>.att-schedule-heading h2{margin:0}.att-settings-launcher>div>p{margin:8px 0 0;color:#596f7d}.att-dialog.att-contained-dialog[open]{display:flex;flex-direction:column;overflow:hidden;margin:auto}.att-contained-dialog>.att-schedule-heading{flex-shrink:0}.att-contained-dialog>.att-schedule-heading h2{margin:0}.att-panel-body{min-height:0;max-height:58vh;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;overflow-wrap:anywhere;padding:4px}.attendance-workspace .att-panel-body section{border:0;padding:0;margin:0;background:transparent}.att-panel-toolbar,.att-panel-switcher{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:16px 0}.att-panel-toolbar label{flex:1;min-width:180px}.attendance-workspace .att-panel-switcher button{flex:1;background:#edf3f6;color:#165c72;border:1px solid #c6d8e0}.attendance-workspace .att-panel-switcher button[aria-pressed=true]{background:#165c72;color:#fff}.att-panel-message{padding:12px;background:#edf3f6}.att-dialog iframe{width:100%;height:360px;border:1px solid #d7e0e5;border-radius:8px;background:#fff}.att-student-qr{display:flex;align-items:center;flex-wrap:wrap;gap:20px}.att-history-list{max-height:min(480px,55vh);overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;overflow-wrap:anywhere}.att-history-list details{padding:12px 0;border-bottom:1px solid #d7e0e5}.att-history-list summary{cursor:pointer}.att-preview-list{max-height:330px;overflow-y:auto;border-block:1px solid #d7e0e5}.att-preview-list p{padding:12px;border-bottom:1px solid #edf1f4}.attendance-workspace .att-inline-check{display:flex;align-items:center;gap:8px}.attendance-workspace .att-inline-check input{width:18px;height:18px;flex:0 0 18px}.att-teacher-scan-panel{--att-mode: #165c72;--att-mode-soft: #e8f3f7}.att-mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin:4px 0 12px;background:#eef3f6;border-radius:10px}.att-teacher .att-mode-switch .att-mode-option{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px;white-space:nowrap;background:transparent;color:#526b7c;border-radius:7px;font-weight:600;font-size:14px}.att-teacher .att-mode-switch .att-mode-option:hover{color:#173244}.att-teacher .att-mode-switch .att-mode-option[aria-checked=true]{background:#fff;color:var(--att-mode);box-shadow:0 1px 3px #17324424,0 0 0 1px #1732440f}.att-scan-window-hint,.att-mode-auto{display:block;margin-top:4px;font-size:12px;color:#6b7f8d}.att-mode-auto:before{content:"Auto · ";font-weight:600;color:var(--att-mode)}.att-teacher-scan-panel .att-camera-stage{position:relative;border-color:var(--att-mode);box-shadow:inset 0 3px 0 var(--att-mode)}.att-camera-mode{position:absolute;top:10px;left:10px;z-index:1;display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:999px;background:var(--att-mode);color:#fff;font-size:12px;font-weight:600;letter-spacing:.01em}.att-camera-mode svg{width:14px;height:14px}.att-teacher-scan-panel .att-camera-placeholder svg{color:var(--att-mode)}.att-teacher .att-teacher-scan-panel .att-start-camera,.att-teacher .att-teacher-scan-panel .att-reader-option button{background:var(--att-mode)}.att-teacher-scan-panel .att-reader-option summary{color:var(--att-mode)}.att-window-pill.is-check-in,.att-window-pill.is-check-out{background:#e6f5ec;color:#166534}.att-window-pill.is-in-session{background:#e8f3f7;color:#165c72}.att-scan-result{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border:1px solid;border-radius:10px;animation:att-result-in .2s ease-out}.att-scan-result>div{display:grid;gap:2px;min-width:0}.att-scan-result strong{font-size:16px;color:#173244;overflow-wrap:anywhere}.att-scan-result span{font-weight:600}.att-scan-result small{color:#596f7d;font-size:12px}.att-scan-result-icon{flex:0 0 28px;height:28px;display:grid;place-items:center;border-radius:50%;color:#fff;font-size:16px;font-weight:600}.att-scan-result.is-success{background:#ecfdf3;border-color:#bbebcc;color:#166534}.att-scan-result.is-success .att-scan-result-icon{background:#168569}.att-scan-result.is-warning{background:#fffbeb;border-color:#f5d78e;color:#854d0e}.att-scan-result.is-warning .att-scan-result-icon{background:#b7791f}.att-scan-result.is-neutral{background:#f3f7fa;border-color:#dce7ed;color:#526b7c}.att-scan-result.is-neutral .att-scan-result-icon{background:#7a8f9c}@keyframes att-result-in{0%{opacity:0;transform:translateY(-4px)}}@media(prefers-reduced-motion:reduce){.att-scan-result{animation:none}}.att-status-stack{display:inline-flex;flex-wrap:wrap;gap:8px}.att-time-flag{color:#854d0e;font-weight:600}.att-time-missing{color:#b42318;font-size:14px;font-weight:600}.att-rate-card .att-rate-checkout{display:block;margin-top:8px;padding-top:8px;border-top:1px dashed #dce7ed;color:#526b7c;font-weight:600}.att-timing-fields--two{grid-template-columns:repeat(2,minmax(0,1fr))}.att-timing-preview--checkout li.is-early{border-top-color:#f5d78e}.att-timing-preview--checkout li.is-early b{color:#854d0e}.attendance-workspace .att-choice-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0 0;padding:0;border:0}.att-choice-group legend{margin-bottom:8px;padding:0;font-size:14px;font-weight:600}.attendance-workspace .att-choice{display:flex;align-items:flex-start;gap:8px;padding:12px 16px;border:1px solid #d5e1e7;border-radius:8px;cursor:pointer}.attendance-workspace .att-choice input{flex:0 0 auto;width:16px;height:16px;margin:2px 0 0;padding:0;accent-color:#165c72}.att-choice>span{display:grid;gap:2px}.att-choice strong{font-size:14px}.att-choice small{color:#596f7d;font-size:12px;line-height:1.45}.attendance-workspace .att-choice.is-selected{border-color:#165c72;background:#f3f9fb;box-shadow:inset 0 0 0 1px #165c72}.att-choice:has(input:focus-visible){outline:3px solid #e6b338;outline-offset:2px}@media(max-width:600px){.attendance-workspace .att-choice-group,.att-timing-fields--two{grid-template-columns:minmax(0,1fr)}}.attendance-workspace .att-method{display:block;margin-top:4px;color:#6b7f8d;font-size:12px}.attendance-workspace .att-form-subheading{margin:24px 0 8px;font-size:16px}.att-edit-checkout{display:grid;gap:8px;margin-top:12px;padding:12px 16px;border:1px solid #dce7ed;border-radius:8px;background:#f3f7fa}.att-edit-checkout small{color:#596f7d;font-size:12px}.att-teacher-scan-panel .att-camera-placeholder{padding-top:44px}.att-lesson-group{margin-top:24px}.attendance-workspace .att-lesson-group h3{display:flex;align-items:baseline;margin:0 0 8px;font-size:14px;color:#526b7c}.att-lesson-rows{list-style:none;margin:0;padding:0;border:1px solid #e2eaee;border-radius:10px}.att-lesson-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:16px;padding:12px 16px;border-top:1px solid #e2eaee}.att-lesson-row:first-child{border-top:0}.att-lesson-row.is-cancelled{color:#6b7f8d}.att-lesson-row:not(:has(.att-lesson-select)) .att-lesson-row-main{grid-column:1 / 3}.attendance-workspace .att-lesson-select{width:16px;height:16px;padding:0;accent-color:#165c72}.attendance-workspace .att-lesson-row-main{display:grid;gap:2px;min-width:0;color:inherit;text-decoration:none}.att-lesson-row-main strong{color:#165c72;font-size:16px}.att-lesson-row-main:hover strong{text-decoration:underline}.att-lesson-row-main span{color:#596f7d;font-size:14px}.att-lesson-row-attendance{color:#596f7d;font-size:14px;white-space:nowrap}.att-lesson-row-attendance strong{color:#173244;font-variant-numeric:tabular-nums}.att-lesson-row-actions{display:flex;align-items:center;gap:8px}.attendance-workspace .att-lesson-row-actions>button{padding:8px 12px}.att-menu{position:relative}.att-menu>summary{display:grid;place-items:center;width:34px;height:34px;border:1px solid #d5e1e7;border-radius:6px;color:#526b7c;font-size:18px;line-height:1;cursor:pointer;list-style:none}.att-menu>summary::-webkit-details-marker{display:none}.att-menu[open]>summary,.att-menu>summary:hover{border-color:#165c72;color:#165c72}.att-menu>summary:focus-visible{outline:3px solid #e6b338;outline-offset:2px}.att-menu-list{position:absolute;right:0;top:calc(100% + 4px);z-index:5;display:grid;min-width:160px;padding:4px;background:#fff;border:1px solid #d5e1e7;border-radius:8px;box-shadow:0 6px 18px #1732441f}.att-menu.is-up>.att-menu-list{top:auto;bottom:calc(100% + 4px)}.attendance-workspace .att-menu-list button{padding:8px;background:transparent;color:#173244;text-align:left;border-radius:5px;font-size:14px}.attendance-workspace .att-menu-list button:hover{background:#f3f7fa}.attendance-workspace .att-menu-list button.is-danger{color:#b42318}@media(max-width:760px){.att-lesson-row{grid-template-columns:auto minmax(0,1fr) auto}.att-lesson-row-attendance{grid-column:2}.att-lesson-row .att-student-status{grid-row:1;grid-column:3}.att-lesson-row-actions{grid-column:2 / 4;justify-content:flex-end}}.att-timeline{display:flex;gap:4px;max-width:280px;margin-bottom:4px}.att-timeline span,.att-timeline-key{flex:1 1 0;min-width:5px;height:10px;border-radius:3px;background:#e6edf1}.att-timeline .is-attended,.att-timeline-key.is-attended{background:#168569}.att-timeline .is-flagged,.att-timeline-key.is-flagged{background:#d4a72c}.att-timeline .is-missed,.att-timeline-key.is-missed{background:#d4574a}.att-timeline .is-leave,.att-timeline-key.is-leave{background:#9b6bc4}.att-timeline .is-upcoming,.att-timeline-key.is-upcoming{background:#fff;box-shadow:inset 0 0 0 1px #c9d6de}.att-timeline-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0 0 12px;padding:0;list-style:none;color:#596f7d;font-size:12px}.att-timeline-legend li{display:inline-flex;align-items:center;gap:8px}.att-timeline-key{display:inline-block;flex:none;width:14px}.att-results-table td{vertical-align:middle}.attendance-workspace .att-schedule-heading .att-actions{margin:0}.att-overview-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px;margin:0 0 20px}.att-settings-button{min-height:40px;padding:0 16px;border:1px solid #c9d6de;border-radius:8px;background:#fff;color:#165c72;font:inherit;font-weight:600;cursor:pointer}.att-settings-button:hover{border-color:#165c72}.att-settings-button:focus-visible{outline:3px solid #e6b338;outline-offset:3px}.att-courses-heading{margin:28px 0 4px}.att-courses-heading h2{margin:0;font-size:20px}.att-courses-heading p{margin:4px 0 0}.admin-feature--attendance .att-roster-filters{margin:16px 0 4px}.att-course-card .att-phase{text-transform:none;letter-spacing:0;font-size:.75rem;font-weight:600}.att-course-meta:has(.att-course-dates){grid-template-columns:repeat(2,minmax(0,1fr))}.att-course-meta .att-course-dates{grid-column:1 / -1}.att-review-queue .att-panel-toolbar{align-items:flex-start;justify-content:space-between}.att-review-queue .att-panel-toolbar .att-roster-filters{margin:0}.att-lesson-subtitle{display:flex;align-items:center;gap:8px}.attendance-workspace .att-roster-search{display:grid;max-width:360px;margin-top:12px;font-size:14px;font-weight:600}.att-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.attendance-workspace .att-row-actions>button{padding:8px 12px}.att-menu--text>summary{width:auto;padding:0 16px;height:40px;font-size:14px;font-weight:600;color:#165c72}.att-menu--text>summary:after{content:"";width:6px;height:6px;margin-left:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg)}.att-menu--text>summary{display:inline-flex;align-items:center}.attendance-workspace .att-menu-list button:disabled{opacity:.5}.att-student-table td{vertical-align:middle}.att-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.att-review-queue .att-panel-toolbar{flex-wrap:nowrap}.att-review-queue .att-panel-toolbar .att-roster-filters{flex:1 1 0;min-width:0}.att-review-queue .att-panel-toolbar>button{flex:none}.att-course-meta .att-course-unit{color:var(--admin-muted, #6b7c8f);font-weight:500}.attendance-workspace button,.attendance-workspace .att-button,.att-menu--text>summary{position:relative;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 16px;border:1px solid transparent;border-radius:8px;font-size:14px;font-weight:600;line-height:1.2}.attendance-workspace button:before,.attendance-workspace .att-button:before,.att-menu>summary:before,.att-settings-button:before{content:"";position:absolute;inset:-2px 0}.attendance-workspace :is(.att-row-actions,.att-lesson-row-actions)>button{min-height:36px;padding:0 12px}.attendance-workspace :is(.att-row-actions,.att-lesson-row-actions)>button:before,.att-menu:not(.att-menu--text)>summary:before,.att-roster-filters .att-chip:before{inset:-4px 0}.att-roster-filters .att-chip,.att-settings-button{position:relative}.attendance-workspace .att-secondary,.att-menu--text>summary{background:#fff;color:#165c72;border:1px solid #c9d6de}.attendance-workspace .att-secondary:hover:not(:disabled),.att-menu--text>summary:hover,.att-menu--text[open]>summary{background:#f3f9fb;border-color:#165c72}.attendance-workspace .att-menu-list button{justify-content:flex-start;min-height:40px;font-weight:500}.att-menu>summary{position:relative;width:36px;height:36px;border-radius:8px}.att-menu--text>summary{width:auto;height:auto}.att-settings-button{min-height:40px;font-size:14px}.attendance-workspace .att-icon-button{width:40px;padding:0;font-size:20px;font-weight:400}.att-tip{position:absolute;top:50%;right:calc(100% + 8px);z-index:10;padding:4px 8px;border-radius:6px;background:#173244;color:#fff;font-size:12px;font-weight:500;line-height:1.4;white-space:nowrap;pointer-events:none;opacity:0;transform:translateY(-50%);transition:opacity .15s ease-out}:is(button,summary):is(:hover,:focus-visible)>.att-tip{opacity:1}@media(prefers-reduced-motion:reduce){.att-tip{transition:none}}.attendance-workspace nav.att-panel-switcher{gap:0;margin:24px 0 16px;border-bottom:1px solid #d5e1e7;align-items:stretch}.attendance-workspace .att-panel-switcher button{flex:none;min-height:44px;margin-bottom:-1px;padding:0 16px;background:transparent;color:#526b7c;border:0;border-bottom:2px solid transparent;border-radius:0;font-size:16px;font-weight:500}.attendance-workspace .att-panel-switcher button:hover{color:#165c72}.attendance-workspace .att-panel-switcher button[aria-pressed=true]{background:transparent;color:#165c72;border-bottom-color:#165c72;font-weight:600}.att-callout{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin:16px 0;padding:12px 16px;border:1px solid #c9dde6;border-left:4px solid #165c72;border-radius:8px;background:#f3f9fb}.att-callout p{max-width:65ch;margin:0;font-size:14px;line-height:1.5}.att-callout strong{font-weight:600}.attendance-workspace .att-empty-state{display:grid;justify-items:start;gap:8px}.attendance-workspace .att-empty-state p{margin:0}.attendance-workspace p.att-empty-state{display:block}.att-inline-error{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.att-inline-error p{margin:0}.att-field-error{color:#b42318;font-size:12px;font-weight:500}.attendance-workspace textarea.is-invalid{border-color:#b42318;box-shadow:0 0 0 1px #b42318}.att-history-list{max-height:none;overflow:visible}.att-history-list summary{padding:4px 0;font-size:14px;line-height:1.5}.att-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;padding-top:16px;border-top:1px solid #e2eaee;color:#596f7d;font-size:14px}.att-pager-buttons{display:flex;gap:8px}.att-course-card .att-course-title{color:#165c72}.att-course-card:hover .att-course-title{text-decoration:underline}.att-course-meta dt{font-size:.75rem}@media(max-width:760px){.att-lesson-row-attendance{grid-row:2}.att-lesson-row-actions{grid-row:2;grid-column:3}.att-lesson-row:not(:has(.att-lesson-select)) .att-lesson-row-attendance{grid-column:1 / 3}}.att-menu:not(.att-menu--text)>summary{background:#fff;border-color:#c9d6de}.attendance-workspace :is(input:not([type=checkbox],[type=radio]),select){box-sizing:border-box;min-height:40px;padding:8px 12px;border-radius:8px;font-size:14px}.attendance-workspace th{white-space:nowrap}.attendance-workspace .att-schedule-heading{flex-wrap:wrap;row-gap:8px}@media(max-width:600px){.att-roster-filters{gap:8px 4px}.att-roster-filters .att-chip{min-height:32px;gap:4px;padding:4px 4px 4px 8px}.att-roster-filters .att-chip:before{inset:-6px 0}}@media(max-width:600px){.att-review-counts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.attendance-workspace .att-review-counts button{min-height:72px;padding:12px}}.attendance-workspace button.att-link-button{display:inline-flex;min-height:0;margin-top:4px;padding:0;background:none;border:0;color:#165c72;font-size:12px;font-weight:500;text-decoration:underline}.attendance-workspace button.att-link-button:before{inset:-12px 0}.att-form+.att-timing-card{margin-top:24px}.att-timing-card .att-choice-group+.att-timing-fields{margin-top:16px}.att-timeline .is-short,.att-timeline-key.is-short{background:repeating-linear-gradient(135deg,#d4574a 0 3px,#f2b8b1 3px 6px)}.att-edit-checkout+.att-edit-checkout{margin-top:8px}.scanner-app>.attendance-scanner{box-sizing:border-box;width:min(1180px,100%);margin:0 auto;padding:clamp(16px,3vw,32px)}.scanner-user{overflow-wrap:anywhere}@media(max-width:600px){.scanner-user{display:none}}.scanner-app .admin-login-card aside{margin-top:16px}.att-result-summary{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0 16px}.att-result-summary>div{flex:1 1 200px;padding:12px 16px;border:1px solid #d7dee8;border-radius:8px;background:#fff}.att-result-summary dt{color:#5f6d80;font-size:.8rem;font-weight:600}.att-result-summary dd{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin:4px 0 0}.att-result-summary strong{color:#102a56;font-size:1.35rem;font-variant-numeric:tabular-nums}.att-result-summary span{color:#5f6d80;font-size:.85rem}.att-result-rate{display:block;color:#102a56;font-weight:700;font-variant-numeric:tabular-nums}.att-result-rate.is-below{color:#b42318}.cert-course-picker{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:12px;align-items:end}.attendance-workspace .cert-course-picker select,.attendance-workspace .cert-course-picker input{width:100%;min-height:40px}.cert-course-head{margin:28px 0 12px}.cert-course-head h2{margin:0;font-size:24px;line-height:1.25}.cert-course-head p{margin:4px 0 0;color:#5f6d80}.attendance-workspace section.cert-status{display:flex;flex-wrap:wrap;align-items:center;gap:20px 24px;padding:20px 24px}.cert-steps{flex:1 1 520px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none}.cert-steps li{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:12px;align-items:center;padding-right:16px}.cert-steps li+li{padding-left:16px;border-left:1px solid #e3ebef}.cert-steps strong{grid-column:2;font-size:14px}.cert-steps li>span:last-child{grid-column:2;color:#5f6d80;font-size:13px;overflow-wrap:anywhere}.cert-step-mark{grid-row:1 / span 2;display:grid;place-items:center;width:28px;height:28px;border:2px solid #aebfc9;border-radius:50%;background:#fff;font-size:14px;font-weight:700}.cert-steps .is-done .cert-step-mark{border-color:#166534;background:#166534;color:#fff}.cert-steps .is-done .cert-step-mark:after{content:"✓"}.cert-steps .is-warn .cert-step-mark{border-color:#d97706;background:#fffbeb;color:#b45309}.cert-steps .is-warn .cert-step-mark:after{content:"!"}.cert-steps .is-warn>span:last-child a{color:#b45309;font-weight:600}.attendance-workspace .cert-status-action{min-height:44px;padding:10px 22px;font-size:15px;font-weight:700}.cert-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.cert-toolbar p,.cert-toolbar .att-roster-filters{margin:0}.cert-table td{vertical-align:middle}.cert-serial{display:block;font-weight:600;white-space:nowrap}.cert-rate{font-weight:600;font-variant-numeric:tabular-nums}.cert-col-actions{width:1%;text-align:right;white-space:nowrap}.cert-row-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px}.cert-toolbar .cert-row-actions{flex-wrap:wrap}.cert-outdated{color:#b45309;font-weight:600}.cert-table tr.is-revoked td{color:#7a8794}.att-student-status--to-issue{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.att-student-status--ready{color:#165c72;background:#e8f3f7;border-color:#b9d7e2}.attendance-workspace .att-menu-list a{display:block;padding:8px;border-radius:5px;color:#173244;font-size:14px;text-decoration:none}.attendance-workspace .att-menu-list a:hover{background:#f3f7fa}.attendance-workspace .att-menu-list{min-width:210px}.cert-issuance .att-dialog form{display:grid;gap:14px}.cert-issuance .att-dialog form>p,.cert-issuance .att-dialog>p{margin:0}.cert-issuance .att-dialog input:not([type=checkbox]):not([type=radio]),.cert-issuance .att-dialog textarea{width:100%}.cert-issuance .att-dialog .att-actions{margin:4px 0 0}.cert-issuance .att-dialog>label{margin-bottom:14px}.cert-segmented{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;border:0}.cert-segmented legend{margin-bottom:8px;font-size:14px}.attendance-workspace .cert-segmented label{display:flex;flex:0 0 auto;white-space:nowrap;align-items:center;gap:8px;padding:8px 16px;border:1px solid #c6d8e0;border-radius:8px;cursor:pointer}.attendance-workspace .cert-segmented label:has(input:checked){border-color:#165c72;background:#e8f3f7;color:#165c72;font-weight:600}@media(max-width:720px){.attendance-workspace .cert-table thead{display:none}.attendance-workspace .cert-table,.attendance-workspace .cert-table tbody{display:block}.attendance-workspace .cert-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px;padding:8px;border:1px solid #d5e1e7;border-radius:8px}.attendance-workspace .cert-table td{border:0;overflow-wrap:anywhere}.attendance-workspace .cert-table td:first-child{grid-column:1 / -1}.attendance-workspace .cert-table td.cert-col-actions{grid-column:1 / -1;width:auto;text-align:left}.attendance-workspace .cert-table .att-menu-list{right:auto;left:0}.attendance-workspace .cert-table td[data-label]:before{content:attr(data-label);display:block;margin-bottom:6px;color:#596f7d;font-size:12px;font-weight:600}.cert-course-picker{grid-template-columns:1fr}.cert-steps{grid-template-columns:1fr;gap:14px}.cert-steps li+li{padding-left:0;border-left:0}.attendance-workspace .cert-status-action{width:100%}}.attendance-workspace .cert-settings section,.cert-issuance .cert-rule-stack{display:grid;gap:20px}.cert-issuance .cert-settings .att-actions{margin:0}.cert-config section>h2{margin:0 0 4px}.cert-config section>.att-muted{margin:0 0 20px}.cert-config section>h2+:not(.att-muted){margin-top:16px}.cert-config-stack{display:grid;gap:24px}.cert-config-label{margin:0 0 8px;font-size:14px}.cert-config-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}.cert-config-fields--wide{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-workspace .cert-config-fields input:not([type=checkbox]){width:100%;min-height:40px}.cert-config-fields .att-inline-check{grid-column:1 / -1}.cert-serial-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;align-items:center}.cert-serial-sample{display:grid;gap:6px;padding:20px 24px;border:1px dashed #9fc3d1;border-radius:10px;background:#f4f9fb;text-align:center}.cert-serial-sample span{color:#5f6d80;font-size:13px}.cert-serial-sample strong{color:#165c72;font-size:22px;font-variant-numeric:tabular-nums;letter-spacing:.02em;overflow-wrap:anywhere}.cert-savebar{position:sticky;bottom:0;z-index:4;display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-top:16px;padding:12px 16px;border:1px solid #d5e1e7;border-radius:12px;background:#fffffff5;box-shadow:0 -4px 16px #17324414}.cert-savebar span{color:#5f6d80;font-size:14px}.attendance-workspace .cert-savebar button{min-height:42px;padding:8px 22px;font-weight:700}@media(max-width:720px){.cert-config-fields,.cert-config-fields--wide,.cert-serial-layout{grid-template-columns:1fr}}.cert-template-name{display:inline-flex;align-items:center;gap:10px}.cert-template-swatch{width:14px;height:14px;border-radius:50%;box-shadow:inset 0 0 0 1px #00000026}.attendance-workspace .cert-template-pick select{max-width:420px;min-height:40px}.cert-editor-title{margin:8px 0 16px;font-size:24px}.cert-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:20px;align-items:start}.cert-editor-form{display:grid;gap:16px;min-width:0}.attendance-workspace .cert-editor-form section{display:grid;gap:18px;margin:0}.cert-editor-form h3{margin:0;font-size:17px}.attendance-workspace .cert-editor-form input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]){width:100%;min-height:38px}.cert-editor-preview{position:sticky;top:16px;display:grid;gap:10px;padding:16px;border:1px solid #d5e1e7;border-radius:12px;background:#fff}.cert-preview-head{display:flex;justify-content:space-between;align-items:baseline}.cert-editor-preview iframe,.cert-preview-empty{width:100%;aspect-ratio:297 / 210;border:1px solid #e3ebef;border-radius:6px;background:#f4f7f9}.cert-preview-empty{display:grid;place-items:center;color:#5f6d80}.cert-editor-preview .att-warning{margin:0}.cert-editor-savebar{grid-column:1 / -1;margin-top:0}.cert-colours{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0;padding:0;border:0}.cert-colours legend{margin-bottom:8px;font-size:14px}.attendance-workspace .cert-colours label{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.cert-colour-dot{display:block;width:30px;height:30px;border-radius:50%;box-shadow:inset 0 0 0 1px #00000026}.cert-colours label:has(input:checked) .cert-colour-dot{outline:3px solid #165c72;outline-offset:2px}.cert-colours label:has(input:focus-visible) .cert-colour-dot{outline:3px solid #e6b338;outline-offset:2px}.attendance-workspace .cert-colour-custom input[type=color]{width:34px;height:34px;padding:2px;border-radius:8px}.cert-colour-custom span{font-size:13px;color:#5f6d80}.cert-image-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.cert-image-thumb{display:grid;place-items:center;width:120px;height:56px;border:1px dashed #b9cbd4;border-radius:8px;background:#f8fafb;color:#7a8794;font-size:13px;overflow:hidden}.cert-image-thumb img{max-width:100%;max-height:100%;object-fit:contain}.attendance-workspace label.cert-upload{display:inline-flex;cursor:pointer}.cert-wording{display:grid;gap:10px}.cert-wording.is-bilingual{grid-template-columns:minmax(120px,.8fr) 1fr 1fr;align-items:center}.cert-wording-row{display:grid;grid-template-columns:minmax(120px,.8fr) 1fr;gap:10px;align-items:center}.cert-wording.is-bilingual .cert-wording-row{display:contents}.cert-wording-label{font-size:14px}.cert-signatory{display:grid;gap:12px;padding:14px;border:1px solid #e3ebef;border-radius:10px}.cert-signatory-foot{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px}@media(max-width:1100px){.cert-editor{grid-template-columns:1fr}.cert-editor-preview{position:static;order:-1}}@media(max-width:600px){.cert-wording.is-bilingual,.cert-wording-row{grid-template-columns:1fr}.cert-wording.is-bilingual>span:not(.cert-wording-label){display:none}}.attendance-workspace .cert-editor-form section>button{justify-self:start}.cert-template-form{display:grid;gap:12px}.cert-template-head{display:flex;flex-wrap:wrap;align-items:end;gap:12px 16px}.cert-template-name{display:grid;gap:4px;flex:1 1 240px;min-width:0}.cert-template-name>span{color:#5f6d80;font-size:13px;font-weight:600}.attendance-workspace .cert-template-name input{min-height:40px;font-size:18px;font-weight:600}.cert-template-name strong{font-size:18px}.cert-save-state{align-self:center;padding:4px 10px;border-radius:999px;background:#ecfdf3;color:#166534;font-size:13px;font-weight:600}.cert-save-state.is-dirty{background:#fffbeb;color:#92400e}.cert-template-actions{display:flex;flex-wrap:wrap;gap:8px}.cert-template-note{margin:0;font-size:14px}.cert-canvas{min-width:0}.cert-canvas-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:16px;align-items:start}.cert-canvas-rail{position:sticky;top:12px;display:grid;gap:14px;grid-template-columns:minmax(0,1fr);max-height:calc(100vh - 24px);overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;padding:14px;border:1px solid #d5e1e7;border-radius:12px;background:#fff}.attendance-workspace .cert-canvas-rail section{display:grid;gap:8px;margin:0;padding:0;border:0;border-radius:0;background:none}.cert-canvas-rail h3{margin:0;color:#173244;font-size:14px}.cert-rail-hint{margin:0;color:#5f6d80;font-size:12px;line-height:1.45}.cert-rail-options{display:grid;gap:4px}.cert-rail-options.is-row{grid-template-columns:1fr 1fr}.attendance-workspace .cert-rail-options label{display:flex;align-items:center;gap:6px;min-height:34px;padding:4px 8px;border:1px solid #d5e1e7;border-radius:8px;font-size:13px;cursor:pointer}.attendance-workspace .cert-rail-options label.is-on{border-color:#165c72;background:#eef6f9;box-shadow:inset 0 0 0 1px #165c72;font-weight:600}.attendance-workspace .cert-rail-options input{display:inline-block;width:auto;margin:0;padding:0;accent-color:#165c72}.cert-theme-swatches{display:flex;flex-wrap:wrap;gap:8px}.attendance-workspace .cert-theme-swatch{position:relative;width:30px;height:30px;min-height:0;padding:0;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #c5d3dc;cursor:pointer}.attendance-workspace .cert-theme-swatch[aria-checked=true],.cert-theme-swatch.is-custom.is-on{box-shadow:0 0 0 2px #173244}.cert-theme-swatch.is-custom{display:grid;place-items:center;overflow:hidden;background:conic-gradient(#e11d48,#f59e0b,#16a34a,#0284c7,#7c3aed,#e11d48)}.attendance-workspace .cert-theme-swatch.is-custom input,.attendance-workspace .cert-swatch.is-custom input{min-height:0;padding:0;border:0;position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.cert-rail-add{display:grid;gap:6px}.cert-rail-add button{justify-content:flex-start;min-height:34px;padding:4px 10px;font-size:13px}.cert-rail-field,.cert-rail-pair{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px}.cert-rail-pair{grid-template-columns:1fr 1fr}.attendance-workspace .cert-rail-field select{min-width:0;min-height:34px;font-size:13px}.attendance-workspace .cert-design-details{gap:6px;padding-bottom:12px;border-bottom:1px solid #e3eaef}.attendance-workspace .cert-design-details label{display:grid;gap:2px;font-size:13px}.attendance-workspace .cert-design-details input{width:100%;min-height:34px;box-sizing:border-box}.cert-canvas-layers summary{cursor:pointer;font-weight:600;font-size:14px}.cert-canvas-layers ul{display:grid;gap:2px;margin:8px 0 0;padding:0;list-style:none}.attendance-workspace .cert-canvas-layers button{display:grid;justify-items:start;justify-content:stretch;width:100%;min-height:0;padding:6px 8px;border:0;border-radius:6px;background:transparent;color:#173244;text-align:left;font-size:13px}.attendance-workspace .cert-canvas-layers button:hover,.attendance-workspace .cert-canvas-layers button[aria-current]{background:#eef6f9}.cert-canvas-layers small{max-width:100%;overflow:hidden;color:#5f6d80;text-overflow:ellipsis;white-space:nowrap}.cert-canvas-main{display:grid;gap:10px;min-width:0}.cert-canvas-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.cert-canvas-notice{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:6px 10px;border-radius:8px;background:#eef6f9;color:#173244;font-size:13px}.attendance-workspace .cert-link-button{min-height:0;padding:0;border:0;background:none;color:#165c72;font-weight:600;text-decoration:underline}.cert-format-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:48px;padding:6px 10px;border:1px solid #b9d7e2;border-radius:10px;background:#f7fbfd}.cert-format-name{margin-right:4px;color:#173244;font-size:14px}.cert-format-empty{display:flex;align-items:center;min-height:48px;margin:0;padding:6px 10px;border:1px dashed #c5d3dc;border-radius:10px;color:#5f6d80;font-size:14px}.cert-format-group{display:inline-flex;align-items:center;gap:4px}.cert-format-hint{color:#5f6d80;font-size:13px}.cert-format-stepper{display:inline-flex;align-items:stretch;border:1px solid #c5d3dc;border-radius:8px;overflow:hidden;background:#fff}.attendance-workspace .cert-format-stepper button{min-width:32px;min-height:32px;padding:0 8px;border:0;border-radius:0;background:#fff;color:#173244;font-size:16px}.attendance-workspace .cert-format-stepper button:hover{background:#eef6f9}.attendance-workspace .cert-format-stepper input{width:48px;min-height:32px;padding:0;border-radius:0;border:0;border-inline:1px solid #e3eaef;text-align:center;font-variant-numeric:tabular-nums;-moz-appearance:textfield}.cert-format-stepper input::-webkit-inner-spin-button,.cert-format-stepper input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.attendance-workspace .cert-format-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:32px;padding:0 8px;border:1px solid #c5d3dc;border-radius:8px;background:#fff;color:#173244;font-size:13px}.attendance-workspace .cert-format-toggle[aria-pressed=true]{border-color:#165c72;background:#165c72;color:#fff}.attendance-workspace .cert-format-small{min-height:32px;padding:0 10px;font-size:13px}.cert-swatches{display:inline-flex;align-items:center;gap:4px}.attendance-workspace .cert-swatch{position:relative;width:24px;height:24px;min-height:0;padding:0;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #c5d3dc}.attendance-workspace .cert-swatch[aria-pressed=true],.cert-swatch.is-custom.is-on{box-shadow:0 0 0 2px #173244}.cert-swatch.is-theme:after{content:"T";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:700}.cert-swatch.is-custom{display:inline-block;overflow:hidden;background:conic-gradient(#e11d48,#f59e0b,#16a34a,#0284c7,#7c3aed,#e11d48);cursor:pointer}.attendance-workspace .cert-swatch.is-none{background:linear-gradient(135deg,#fff 45%,#b42318 46% 54%,#fff 55%)}.cert-format-text{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:4px 10px;align-items:start}.attendance-workspace .cert-format-text label{display:grid;gap:2px;font-size:13px}.cert-format-text textarea,.cert-format-text select{width:100%;box-sizing:border-box}.cert-format-text .cert-rail-hint{grid-column:1 / -1}.cert-format-more{display:grid;gap:8px;padding:10px;border:1px solid #e3eaef;border-radius:10px}.cert-canvas-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.cert-canvas-number{display:grid;gap:2px;font-size:13px}.attendance-workspace .cert-canvas-number input{width:100%;min-height:32px;box-sizing:border-box}.cert-canvas-frame{min-width:0}.cert-canvas-page{position:relative;overflow:hidden;background:#fff;box-shadow:0 0 0 1px #d5e1e7,0 6px 20px #0b2a4a14;-webkit-user-select:none;user-select:none;touch-action:none}.cert-canvas-page:focus-visible{outline:3px solid #e6b338;outline-offset:3px}.cert-canvas-item{position:absolute;box-sizing:border-box;cursor:move}.cert-canvas-item:hover{outline:1px dashed rgba(11,92,171,.5)}.cert-canvas-item.is-field{background:#1d4ed80d}.cert-canvas-item.is-shrunk{outline:1px dashed #d97706}.cert-canvas-item.is-selected{outline:none}.cert-field-tag{position:absolute;bottom:100%;left:0;z-index:2;display:none;margin-bottom:2px;padding:1px 6px;border-radius:4px;background:#1d4ed8;color:#fff;font:600 11px/1.5 var(--font-body, sans-serif);white-space:nowrap;pointer-events:none}.cert-canvas-item:hover .cert-field-tag,.cert-canvas-item.is-selected .cert-field-tag{display:block}.cert-canvas-text{display:block;width:100%;white-space:pre-wrap;overflow-wrap:anywhere}.cert-canvas-item--qr svg,.cert-canvas-item--image img{display:block;width:100%;height:100%;object-fit:contain}.cert-canvas-empty{display:grid;place-items:center;width:100%;height:100%;border:1px dashed #94a3b8;color:#64748b;font-size:12px}.cert-canvas-fill{position:absolute;inset:0;box-sizing:border-box}.cert-canvas-line{position:absolute}.cert-samples{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.cert-shrunk{display:grid;gap:4px;margin:0;padding:8px 12px;border-radius:8px;background:#fffbeb;color:#92400e;font-size:13px;list-style:none}.cert-shrunk .cert-link-button{color:#92400e}.cert-canvas-help{margin:0;color:#5f6d80;font-size:13px}.cert-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.attendance-workspace .cert-preset{display:grid;gap:4px;justify-items:center;min-height:0;padding:5px 4px 6px;border:1px solid #d5e1e7;border-radius:8px;background:#fff;color:#173244;font-size:12px;font-weight:600}.attendance-workspace .cert-preset:hover{border-color:#165c72}.attendance-workspace .cert-preset[aria-checked=true]{border-color:#165c72;box-shadow:0 0 0 2px #165c72}.cert-preset svg{display:block;width:100%;height:auto;border-radius:3px;box-shadow:0 0 0 1px #e2e8f0}.cert-canvas-item.is-locked{pointer-events:none;cursor:default}.cert-canvas-item.is-locked.is-selected{outline:1.5px dashed #64748b;outline-offset:2px}.cert-canvas-item.is-grouped{outline:1px solid rgb(68 136 255 / 70%)}.cert-canvas-item.is-grouped .cert-field-tag{display:none}.cert-marquee{position:absolute;z-index:4;border:1px solid #4488ff;background:#4488ff1a;pointer-events:none}.attendance-workspace .cert-format-lock{display:inline-flex;align-items:center;gap:5px;width:auto;padding:0 9px;font-size:13px}.cert-canvas-layers li{display:flex;align-items:center;gap:2px}.cert-canvas-layers li.is-locked .cert-layer-name span{color:#5f6d80}.attendance-workspace .cert-canvas-layers .cert-layer-name{flex:1;min-width:0}.attendance-workspace .cert-canvas-layers .cert-layer-lock{display:grid;place-items:center;flex:none;width:28px;height:28px;padding:0;color:#94a3b8}.attendance-workspace .cert-canvas-layers .cert-layer-lock[aria-pressed=true]{color:#165c72}.cert-canvas-layers>.cert-rail-hint{margin:6px 0 0}.cert-canvas-help-buttons{margin-left:auto}.attendance-workspace .cert-tour{display:grid;gap:4px;padding:12px 14px;border:1px solid #f1d58a;border-left:4px solid #e6b338;border-radius:8px;background:#fffbeb;color:#173244}.attendance-workspace .cert-tour strong{font-size:15px}.attendance-workspace .cert-tour p{margin:0;font-size:14px;line-height:1.5}.cert-tour-step{color:#8a6a1f;font-size:12px;font-weight:600}.cert-tour-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;margin-top:4px}.cert-tour-actions .cert-link-button{margin-right:auto}.attendance-workspace .is-tour{outline:3px solid #e6b338;outline-offset:3px;border-radius:8px;transition:outline-color .2s}.cert-canvas kbd,.cert-shortcuts kbd{display:inline-block;min-width:1.4em;padding:1px 5px;border:1px solid #cbd5e1;border-bottom-width:2px;border-radius:4px;background:#f8fafc;color:#173244;font:600 12px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;text-align:center}.cert-shortcuts{display:grid;gap:0;margin:0 0 12px}.cert-shortcuts>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:12px;padding:7px 0;border-bottom:1px solid #eef2f6}.cert-shortcuts dt{color:#173244;font-size:13px}.cert-shortcuts dd{margin:0;color:#475569;font-size:13px}@media(max-width:1000px){.cert-canvas-layout{grid-template-columns:minmax(0,1fr)}.cert-canvas-rail{position:static;max-height:none;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:start}.cert-format-text{grid-template-columns:minmax(0,1fr)}.cert-canvas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}:root{--ink: #12241f;--ink-soft: #2a4038;--leaf: #1f6b57;--leaf-deep: #145243;--mist: #e7f0ec;--paper: #f7fbf9;--line: rgba(18, 36, 31, .12);--flare: #d9892b;--danger: #b42318;--shadow: 0 18px 40px rgba(18, 36, 31, .08);--radius: 18px;--font-display: "Sora", "Segoe UI", sans-serif;--font-body: "Manrope", "Segoe UI", sans-serif;color:var(--ink);background:var(--paper);font-family:var(--font-body);line-height:1.5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:radial-gradient(circle at 12% 18%,rgba(31,107,87,.16),transparent 34%),radial-gradient(circle at 88% 8%,rgba(217,137,43,.14),transparent 28%),linear-gradient(180deg,#eef6f2 0%,var(--paper) 42%,#edf4f1 100%)}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.35;background-image:linear-gradient(rgba(18,36,31,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(18,36,31,.035) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 70%);mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 70%)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}img{max-width:100%;display:block}.site-shell{position:relative;z-index:1;min-height:100vh}.site-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem clamp(1rem,3vw,2.5rem)}.brand{font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2rem);font-weight:700;letter-spacing:-.03em}.nav-link{color:var(--ink-soft);font-weight:600;font-size:.95rem}.nav-link:hover{color:var(--leaf)}.btn{appearance:none;border:0;border-radius:999px;padding:.85rem 1.35rem;font-weight:700;cursor:pointer;transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--ink);color:#f4faf7;box-shadow:0 10px 24px #12241f2e}.btn-primary:hover{background:var(--leaf-deep)}.btn-secondary{background:#ffffffb8;color:var(--ink);border:1px solid var(--line)}.btn-accent{background:var(--flare);color:#1d1408}.btn-danger{background:#fff;color:#ad3026;border:1px solid #e7c3c0}.btn-danger:hover{background:#fff0ee}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.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}.market-shell{min-height:100vh;background:#f2f4f3}.market-header{position:sticky;top:0;z-index:5;background:#fffffff0;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.market-header-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.85rem;width:100%;padding:.85rem clamp(1rem,2.5vw,2rem)}.market-search input{width:100%;border-radius:999px;border:1px solid var(--line);background:#fff;padding:.7rem 1rem}.market-main{width:100%;padding:1.25rem clamp(1rem,2.5vw,2rem) 2.5rem}.market-results-bar{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;margin-bottom:1rem}.market-results-bar h1{margin:0;font-family:var(--font-display);font-size:clamp(1.5rem,3vw,1.9rem);letter-spacing:-.03em}.market-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.market-card{display:grid;grid-template-rows:150px 1fr;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.market-card:hover{border-color:#1f6b5759;box-shadow:var(--shadow);transform:translateY(-2px)}.market-card-media{display:grid;place-items:center;padding:1rem;background:linear-gradient(145deg,#1f6b572e,#d9892b29),#e4ece8;color:var(--leaf-deep)}.market-card-code{font-family:var(--font-body);font-size:.95rem;font-weight:700;letter-spacing:.04em;text-align:center;word-break:break-word}.market-card-code-inline{margin:0;color:var(--leaf-deep);font-size:.78rem;font-weight:700;letter-spacing:.04em}.market-card-body{display:grid;gap:.35rem;padding:.9rem .95rem 1rem}.market-card-body h2{margin:0;font-size:1.02rem;line-height:1.3;letter-spacing:-.02em}.market-card-summary{margin:0;color:var(--ink-soft);font-size:.9rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.market-card-date{margin:.15rem 0 0;font-weight:700;font-size:.92rem;color:var(--ink)}.market-card-meta{display:flex;flex-wrap:wrap;gap:.45rem .8rem;color:var(--ink-soft);font-size:.84rem}@media(max-width:640px){.market-header-inner{grid-template-columns:1fr auto}.market-search{grid-column:1 / -1;order:3}}.course-meta{display:flex;flex-wrap:wrap;gap:.55rem 1rem;color:var(--ink-soft);font-size:.92rem}.badge{display:inline-flex;align-items:center;width:fit-content;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:#1f6b571f;color:var(--leaf-deep)}.badge-draft{background:#d9892b29;color:#8a5410}.badge-announced{background:#1f6b5724;color:var(--leaf-deep)}.badge-closed{background:#12241f14;color:var(--ink-soft)}.empty-state,.error-state,.loading-state{padding:1.25rem;border:1px dashed var(--line);border-radius:var(--radius);color:var(--ink-soft);background:#ffffff80}.admin-page{width:100%;max-width:none;margin:0;padding:clamp(1rem,3vw,2rem);min-height:100vh}.admin-page .panel{max-width:480px}.panel{border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);background:#ffffffc7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:clamp(1.25rem,3vw,2rem);box-shadow:var(--shadow)}.panel h1{margin:0 0 .75rem;font-family:var(--font-display);font-size:clamp(2rem,5vw,2.8rem);letter-spacing:-.03em}.detail-main{width:100%;padding:1.25rem clamp(1rem,2.5vw,2rem) 2.5rem}.detail-breadcrumb{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin-bottom:1rem;color:var(--ink-soft);font-size:.92rem}.detail-breadcrumb a:hover{color:var(--leaf)}.detail-layout{display:grid;gap:1.25rem;align-items:start}.detail-primary{background:#fff;border:1px solid var(--line);border-radius:16px;padding:clamp(1.25rem,3vw,2rem)}.detail-code{margin:0 0 .45rem;color:var(--leaf-deep);font-size:.9rem;font-weight:700;letter-spacing:.05em}.detail-primary h1{margin:0 0 .45rem;font-family:var(--font-display);font-size:clamp(1.9rem,4vw,2.7rem);letter-spacing:-.03em}.detail-department{margin:0 0 .85rem;color:var(--ink-soft);font-weight:600}.detail-lead{margin:0 0 1.5rem;font-size:1.05rem;color:var(--ink-soft);max-width:70ch}.detail-section{margin-top:1.6rem;padding-top:1.4rem;border-top:1px solid var(--line)}.detail-section h2{margin:0 0 .75rem;font-family:var(--font-display);font-size:1.35rem;letter-spacing:-.02em}.detail-body{margin:0;white-space:pre-wrap;color:var(--ink-soft);line-height:1.65}.detail-list{margin:0;padding-left:1.2rem;color:var(--ink-soft);display:grid;gap:.55rem}.detail-aside{position:relative}.detail-facts{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.25rem;display:grid;gap:1rem}.detail-facts h2{margin:0;font-family:var(--font-display);font-size:1.25rem}.fact-list{margin:0;display:grid;gap:.85rem}.fact-list>div{display:grid;gap:.2rem;padding-bottom:.75rem;border-bottom:1px solid var(--line)}.fact-list>div:last-of-type{border-bottom:0;padding-bottom:0}.fact-list dt{color:var(--ink-soft);font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.fact-list dd{margin:0;font-weight:600}@media(min-width:960px){.detail-layout{grid-template-columns:minmax(0,1fr) 320px}.detail-facts{position:sticky;top:5.5rem}}.form-grid,.form-row{display:grid;gap:.9rem}@media(min-width:720px){.form-row.two{grid-template-columns:1fr 1fr}}label{display:grid;gap:.35rem;font-weight:600;font-size:.92rem}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:12px;padding:.75rem .85rem;background:#fff;color:var(--ink)}input:focus,textarea:focus,select:focus{outline:2px solid rgba(31,107,87,.35);outline-offset:1px}textarea{min-height:120px;resize:vertical}.checkbox-row{display:flex;align-items:center;gap:.55rem;font-weight:600}.checkbox-row input{width:auto}.admin-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;margin-bottom:1.25rem}.admin-toolbar label{flex:1 1 220px}.admin-shell{width:100%;max-width:none;margin:0;padding:0;min-height:100vh;display:flex;flex-direction:column}.admin-topbar{width:100%;margin-bottom:0;padding:1rem clamp(1rem,2.5vw,2rem);border-bottom:1px solid var(--line);background:#ffffffb8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.admin-topbar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.admin-frame{display:grid;gap:0;flex:1;width:100%;min-height:0}.admin-nav{border:0;border-bottom:1px solid var(--line);border-radius:0;background:#ffffff8c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1rem clamp(1rem,2.5vw,2rem)}.admin-nav-section+.admin-nav-section{margin-top:1.25rem}.admin-nav-label{margin:0 0 .65rem;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.admin-role-pill{display:inline-block;margin-left:.45rem;padding:.1rem .45rem;border-radius:999px;background:#1f6b571f;color:var(--ink-soft);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;vertical-align:middle}.admin-edit-fieldset{border:0;margin:0;padding:0;min-width:0}.admin-tabs{display:flex;flex-wrap:wrap;gap:.5rem}.admin-tab{display:inline-flex;align-items:center;padding:.65rem .95rem;border-radius:999px;border:1px solid transparent;color:var(--ink-soft);font-weight:700;transition:background-color .16s ease,color .16s ease,border-color .16s ease}.admin-tab:hover{color:var(--ink);background:#1f6b5714}.admin-tab.is-active{color:#f4faf7;background:var(--ink)}.admin-main{min-width:0;width:100%;border:0;border-radius:0;box-shadow:none;background:#ffffff73;padding:clamp(1.25rem,3vw,2rem) clamp(1rem,2.5vw,2rem)}.admin-feature-header{margin-bottom:1.25rem}.admin-feature-header h1{margin-bottom:.35rem}.admin-feature-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.course-search-field{display:grid;gap:.35rem;margin:.85rem 0 1rem;max-width:28rem}.course-search-field .field{margin:0}.course-search-field .field span{display:block;margin-bottom:.35rem}.course-search-count{margin:0;font-size:.82rem}.admin-subheading{margin:0;font-family:var(--font-display);font-size:1.35rem;letter-spacing:-.02em}.admin-create-form{margin-bottom:1.25rem;padding:1rem;border:1px solid var(--line);border-radius:var(--radius);background:#f7fbf9e6}.admin-list{display:grid;gap:.75rem;margin-top:1rem}@media(min-width:900px){.admin-frame{grid-template-columns:240px minmax(0,1fr);align-items:stretch;min-height:calc(100vh - 4.5rem)}.admin-nav{border-bottom:0;border-right:1px solid var(--line);height:100%}.admin-tabs{flex-direction:column}.admin-tab{width:100%;border-radius:12px}}.admin-item{display:grid;gap:.75rem;padding:1rem;border:1px solid var(--line);border-radius:var(--radius);background:#f7fbf9e6}@media(min-width:720px){.admin-item{grid-template-columns:1fr auto;align-items:center}}.stack-sm{display:grid;gap:.35rem}.muted{color:var(--ink-soft);font-size:.92rem}.feedback{margin:.75rem 0 0;font-weight:600}.feedback.error{color:var(--danger)}.feedback.success{color:var(--leaf-deep)}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.vtc-public{--vtc-navy: #0c2348;--vtc-navy-dark: #061830;--vtc-blue: #00a8e8;--vtc-blue-soft: rgba(0, 168, 232, .14);--vtc-yellow: #ffc400;--vtc-yellow-hot: #ffd54a;--vtc-border: rgba(12, 35, 72, .1);--vtc-text: #14233f;--vtc-muted: #5b6b82;--vtc-surface: #f3f6fb;--vtc-card: #ffffff;--vtc-display: "Sora", "Segoe UI", sans-serif;--vtc-body: "Manrope", "Segoe UI", sans-serif;min-height:100vh;color:var(--vtc-text);background:radial-gradient(ellipse 80% 50% at 100% 0%,rgba(0,168,232,.08),transparent 55%),radial-gradient(ellipse 60% 40% at 0% 30%,rgba(255,196,0,.06),transparent 50%),linear-gradient(180deg,#eef3f9 0%,var(--vtc-surface) 28%,#f7f9fc 100%);font-family:var(--vtc-body)}.vtc-header{position:sticky;top:0;z-index:40;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:.7rem clamp(1rem,4vw,3.5rem);background:#ffffffe0;border-bottom:1px solid var(--vtc-border);-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2)}.vtc-identity{display:flex;align-items:center;gap:.85rem;flex-shrink:0}.vtc-logo{display:block;width:auto;height:auto;object-fit:contain}.vtc-logo--header{width:clamp(88px,12vw,118px);height:auto}.vtc-logo--hero{width:clamp(140px,22vw,200px);height:auto;margin-bottom:1.5rem}.vtc-logo--footer{width:110px;height:auto}.vtc-logo--admin{width:96px;height:auto}.vtc-identity-copy{display:grid;padding-left:.85rem;border-left:1px solid var(--vtc-border);line-height:1.25}.vtc-identity-copy strong{color:var(--vtc-navy);font-family:var(--vtc-display);font-size:.78rem;font-weight:700}.vtc-identity-copy small{color:var(--vtc-muted);font-size:.7rem}.vtc-header-nav{display:flex;align-items:center;gap:.25rem;margin-left:auto}.vtc-header-nav a{position:relative;padding:.45rem .85rem;color:var(--vtc-muted);font-size:.88rem;font-weight:700;transition:color .18s ease}.vtc-header-nav a:hover,.vtc-header-nav a[aria-current=page]{color:var(--vtc-navy)}.vtc-header-nav a[aria-current=page]:after{content:"";position:absolute;left:.85rem;right:.85rem;bottom:.1rem;height:2px;background:var(--vtc-yellow)}.vtc-utility{display:flex;align-items:center;gap:1rem;color:var(--vtc-muted);font-size:.82rem;flex-shrink:0}.vtc-admin-link{padding:.4rem .75rem;border:1px solid var(--vtc-border);background:#fff;color:var(--vtc-navy);font-weight:700;transition:border-color .18s ease,background-color .18s ease}.vtc-admin-link:hover{border-color:var(--vtc-blue);color:var(--vtc-blue)}.vtc-lang-switcher{display:inline-flex;align-items:center;gap:.35rem}.vtc-lang-sep{color:var(--vtc-border);-webkit-user-select:none;user-select:none}.vtc-lang-option{border:0;background:transparent;padding:0;color:var(--vtc-muted);font:inherit;cursor:pointer;transition:color .16s ease}.vtc-lang-option:hover{color:var(--vtc-blue)}.vtc-lang-option.is-active{color:var(--vtc-navy);font-weight:800}.vtc-apply-button,.vtc-support-strip button,.vtc-detail-hero-actions button{min-height:44px;border:0;border-radius:0;padding:.75rem 1.15rem;display:inline-flex;align-items:center;justify-content:space-between;gap:1.5rem;background:var(--vtc-yellow);color:var(--vtc-navy-dark);font-weight:800}.vtc-public button:disabled{opacity:1;cursor:default}.vtc-hero{position:relative;isolation:isolate;min-height:min(72vh,680px);display:grid;grid-template-columns:minmax(320px,.92fr) minmax(0,1.2fr);overflow:hidden;background:#071628}.vtc-hero-media{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(247,249,252,.97) 0%,rgba(247,249,252,.88) 34%,rgba(247,249,252,.18) 58%,transparent 72%),url(/images/hero-workshop.jpg) right center / cover no-repeat;animation:vtc-hero-ken 20s ease-out forwards}.vtc-hero-panel{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;align-self:stretch;width:min(560px,100%);margin:clamp(1.5rem,4vw,2.75rem) 0 clamp(1.5rem,4vw,2.75rem) clamp(1.15rem,5vw,4rem);padding:clamp(1.75rem,4vw,2.75rem);background:linear-gradient(165deg,#ffffffeb,#ffffffc7);border:1px solid rgba(255,255,255,.7);border-left:4px solid var(--vtc-yellow);box-shadow:0 24px 60px #07162824,inset 0 1px #ffffffd9;-webkit-backdrop-filter:blur(18px) saturate(1.15);backdrop-filter:blur(18px) saturate(1.15);color:var(--vtc-text);animation:vtc-rise .7s ease both}.vtc-hero-panel:before{content:"";position:absolute;top:1.1rem;right:1.1rem;width:58px;height:4px;background:linear-gradient(90deg,#b6e600,#ff2d95,#00b7ff 70%,#ffb000)}.vtc-hero-panel h1{margin:0 0 .85rem;max-width:12ch;color:var(--vtc-navy);font-family:var(--vtc-display);font-size:clamp(2rem,4.4vw,3.15rem);font-weight:700;line-height:1.08;letter-spacing:-.035em}.vtc-hero-blurb{max-width:36ch;margin:0 0 1.6rem;color:var(--vtc-muted);font-size:1.02rem;line-height:1.6}.vtc-course-search{position:relative;display:flex;align-items:center;width:100%}.vtc-course-search input{width:100%;min-height:56px;padding:.9rem 3.4rem .9rem 1.05rem;border:1px solid rgba(12,35,72,.12);border-radius:0;background:#fff;color:var(--vtc-text);font-size:.98rem;outline:none;box-shadow:0 10px 28px #0c23480f;transition:border-color .18s ease,box-shadow .18s ease}.vtc-course-search input::placeholder{color:#8794a8}.vtc-course-search input:focus{border-color:var(--vtc-blue);box-shadow:0 0 0 3px #00a8e82e}.vtc-course-search-icon{position:absolute;right:0;top:0;bottom:0;width:56px;display:grid;place-items:center;background:var(--vtc-yellow);color:var(--vtc-navy-dark);font-size:1.35rem;pointer-events:none}.vtc-eyebrow{margin:0 0 .4rem;color:var(--vtc-blue);font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.vtc-course-main,.vtc-detail-main{width:100%;padding:clamp(2.5rem,5vw,4rem) clamp(1rem,4vw,4rem) 3.5rem}.vtc-results-toolbar{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.75rem}.vtc-results-toolbar h2{margin:0;color:var(--vtc-navy);font-family:var(--vtc-display);font-size:clamp(1.7rem,3vw,2.35rem);letter-spacing:-.03em}.vtc-results-toolbar>p{margin:0;color:var(--vtc-muted);font-weight:700}.vtc-pagination,.admin-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:2rem;color:var(--vtc-muted);font-size:.88rem}.vtc-page-btn{border:1px solid var(--vtc-border);background:#fff;color:var(--vtc-navy);padding:.55rem 1rem;font:inherit;font-weight:700;cursor:pointer;transition:border-color .16s ease,color .16s ease,transform .16s ease}.vtc-page-btn:hover:not(:disabled){border-color:var(--vtc-blue);color:var(--vtc-blue);transform:translateY(-1px)}.vtc-page-btn:disabled{opacity:.45;cursor:not-allowed}.admin-pagination{padding:.75rem 0 .25rem;color:var(--admin-muted)}.vtc-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.vtc-course-card{display:flex;flex-direction:column;min-height:430px;padding:1.35rem 1.35rem 1.15rem;background:var(--vtc-card);border:1px solid var(--vtc-border);border-top:3px solid var(--vtc-yellow);box-shadow:0 10px 30px #0c23480a;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.vtc-course-card:hover{transform:translateY(-4px);border-color:#00a8e859;box-shadow:0 18px 40px #0c23481a}.vtc-card-heading{display:grid;gap:.25rem;margin-bottom:.9rem}.vtc-card-heading span{color:var(--vtc-blue);font-size:.76rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.vtc-card-heading strong{color:var(--vtc-muted);font-size:.82rem;letter-spacing:.02em}.vtc-course-card h3{min-height:3.1rem;margin:0 0 .7rem;color:var(--vtc-navy);font-family:var(--vtc-display);font-size:1.2rem;line-height:1.3;letter-spacing:-.02em}.vtc-card-summary{min-height:4.2rem;margin:0 0 1rem;color:var(--vtc-muted);font-size:.9rem;line-height:1.55}.vtc-card-facts{display:grid;gap:.55rem;margin:0 0 1.2rem;padding-top:.9rem;border-top:1px solid var(--vtc-border)}.vtc-card-facts div{display:grid;grid-template-columns:90px 1fr;gap:.65rem}.vtc-card-facts dt{color:var(--vtc-muted);font-size:.74rem;font-weight:700}.vtc-card-facts dd{margin:0;color:var(--vtc-text);font-size:.82rem;font-weight:600}.vtc-card-link{min-height:46px;margin-top:auto;padding:.8rem 1rem;display:flex;align-items:center;justify-content:space-between;background:var(--vtc-yellow);color:var(--vtc-navy-dark);font-weight:800;transition:background-color .18s ease,transform .18s ease}.vtc-card-link:hover{background:var(--vtc-yellow-hot)}.vtc-card-link span{transition:transform .18s ease}.vtc-course-card:hover .vtc-card-link span{transform:translate(3px)}.vtc-support-strip{position:relative;overflow:hidden;margin:0 clamp(1rem,4vw,4rem) 3rem;padding:1.85rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;background:linear-gradient(120deg,#0877ad 0%,var(--vtc-blue) 55%,#3bc0f0 100%);color:#fff}.vtc-support-strip:before{content:"";position:absolute;right:-40px;top:-50px;width:180px;height:180px;border-radius:50%;background:#ffffff1f}.vtc-support-strip strong{position:relative;font-family:var(--vtc-display);font-size:1.2rem}.vtc-support-strip p{position:relative;margin:.35rem 0 0;color:#ffffffe6}.vtc-footer{display:grid;grid-template-columns:1fr;gap:1.5rem;padding:2.4rem clamp(1rem,4vw,4rem);background:radial-gradient(circle at 12% 0%,rgba(0,168,232,.18),transparent 40%),var(--vtc-navy-dark);color:#fff}.vtc-footer-brand{display:grid;gap:.65rem}.vtc-footer p{margin:0;max-width:42ch;color:#c4d0df}.vtc-footer small{grid-column:1 / -1;padding-top:1rem;border-top:1px solid rgba(255,255,255,.16);color:#aebed2}.vtc-breadcrumb{display:flex;gap:.5rem;margin-bottom:1rem;color:var(--vtc-muted);font-size:.85rem}.vtc-breadcrumb a{color:#087caf;font-weight:700}.vtc-detail-hero{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:2rem;align-items:end;padding:clamp(1.75rem,4vw,3.25rem);background:linear-gradient(135deg,var(--vtc-navy-dark),var(--vtc-navy) 60%,#123a6b);color:#fff;border-bottom:6px solid var(--vtc-yellow)}.vtc-detail-code{margin:0 0 .4rem;color:#75d2f5;font-weight:800;letter-spacing:.05em}.vtc-detail-hero h1{max-width:900px;margin:0;font-family:var(--vtc-display);font-size:clamp(2rem,4vw,3.2rem);line-height:1.1;letter-spacing:-.03em}.vtc-detail-hero .vtc-eyebrow{color:var(--vtc-yellow)}.vtc-detail-hero div:first-child>p:last-child{max-width:70ch;margin:1rem 0 0;color:#d9e5f1;line-height:1.6}.vtc-detail-hero-actions{display:grid;gap:.75rem}.vtc-detail-hero-actions strong{font-family:var(--vtc-display);font-size:1.4rem}.vtc-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:1.5rem;align-items:start;margin-top:1.5rem}.vtc-detail-content,.vtc-course-facts{background:#fff;border:1px solid var(--vtc-border);box-shadow:0 10px 28px #0c23480a}.vtc-detail-content{padding:clamp(1.25rem,3vw,2rem)}.vtc-detail-jump{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;padding-bottom:1.2rem;border-bottom:1px solid var(--vtc-border)}.vtc-detail-jump a{color:var(--vtc-blue);font-weight:700}.vtc-detail-section{padding-top:1.5rem}.vtc-detail-section h2,.vtc-course-facts h2{margin:0 0 .9rem;color:var(--vtc-navy);font-family:var(--vtc-display);font-size:1.3rem}.vtc-detail-copy{margin:0;white-space:pre-wrap;color:var(--vtc-muted);line-height:1.75}.vtc-outcome-list{margin:0;padding:0;display:grid;gap:.75rem;list-style:none}.vtc-outcome-list li{position:relative;padding-left:1.5rem;color:var(--vtc-muted);line-height:1.55}.vtc-outcome-list li:before{content:"✓";position:absolute;left:0;color:var(--vtc-blue);font-weight:800}.vtc-course-facts{position:sticky;top:5.5rem;padding:1.25rem}.vtc-course-facts dl{display:grid;gap:0;margin:0}.vtc-course-facts dl div{padding:.8rem 0;border-top:1px solid var(--vtc-border)}.vtc-course-facts dt{margin-bottom:.2rem;color:var(--vtc-muted);font-size:.75rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.vtc-course-facts dd{margin:0;color:var(--vtc-text);font-size:.9rem;font-weight:600}.vtc-reveal{animation:vtc-rise .65s ease both}@keyframes vtc-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes vtc-hero-ken{0%{transform:scale(1.08)}to{transform:scale(1.02)}}@media(max-width:980px){.vtc-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.vtc-header{flex-wrap:wrap;align-items:center}.vtc-identity-copy{display:none}.vtc-header-nav{order:3;width:100%;margin-left:0;padding-top:.15rem}.vtc-hero{grid-template-columns:1fr;min-height:auto}.vtc-hero-media{position:relative;min-height:240px;background:url(/images/hero-workshop.jpg) center / cover no-repeat}.vtc-hero-panel{width:auto;margin:0;border-left:0;border-top:4px solid var(--vtc-yellow)}.vtc-detail-hero,.vtc-detail-layout{grid-template-columns:1fr}.vtc-course-facts{position:static}.vtc-support-strip,.vtc-footer{grid-template-columns:1fr}}@media(max-width:520px){.vtc-header{min-height:64px;padding:.65rem 1rem}.vtc-logo--header{width:92px}.vtc-utility{gap:.55rem}.vtc-admin-link{padding:.35rem .55rem;font-size:.75rem}.vtc-course-grid{grid-template-columns:1fr}.vtc-results-toolbar,.vtc-support-strip{align-items:flex-start;flex-direction:column}.vtc-footer{display:grid}}@media(prefers-reduced-motion:reduce){.vtc-hero-media,.vtc-hero-panel,.vtc-reveal,.vtc-course-card{animation:none!important}.vtc-course-card:hover{transform:none}}.reg-page h1{margin:0;color:var(--vtc-navy);font-family:var(--vtc-display);font-size:clamp(1.8rem,3vw,2.4rem)}.reg-form{display:grid;gap:1.5rem;max-width:820px}.reg-intro{margin:0;padding:1rem 1.15rem;background:#fff;border-left:4px solid var(--vtc-blue);color:var(--vtc-muted);line-height:1.6}.reg-part{display:grid;gap:1rem;padding:1.25rem 0 .25rem;border-top:1px solid var(--vtc-border)}.reg-part h2{margin:0;color:var(--vtc-navy);font-family:var(--vtc-display);font-size:1.25rem}.reg-field,.reg-fieldset,.reg-acceptance{display:grid;gap:.45rem}.reg-label{color:var(--vtc-text);font-weight:700}.reg-required{color:#b42318}.reg-help{color:var(--vtc-muted);white-space:pre-wrap;line-height:1.5}.reg-field-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.reg-field-pair.reg-phone{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}@media(max-width:600px){.reg-field-pair,.reg-field-pair.reg-phone{grid-template-columns:minmax(0,1fr)}}.reg-sublabel{font-size:.9em;color:var(--vtc-muted)}.reg-field-error{color:#b42318}.reg-field input,.reg-field textarea,.reg-field select,.reg-page>.reg-field select{width:100%;min-height:44px;padding:.65rem .8rem;border:1px solid var(--vtc-border);background:#fff}.reg-field textarea{min-height:110px;resize:vertical}.reg-options{display:grid;gap:.45rem}.reg-option{display:flex;align-items:flex-start;gap:.65rem;color:var(--vtc-text)}.reg-option input{flex:0 0 auto;width:1.05rem;height:1.05rem;margin-top:.2rem}.reg-option span{flex:1;min-width:0}.reg-option small{display:block;color:var(--vtc-muted)}.reg-acceptance{grid-template-columns:auto 1fr;align-items:start;font-weight:700}.reg-statement{display:grid;gap:.85rem;padding:1.2rem 1.35rem 1.35rem;background:#f3fbfb;border:1px solid #8ec9c8;border-radius:8px;color:#1c7480}.reg-statement-heading{display:flex;align-items:center;gap:.65rem}.reg-statement strong{color:#14636d;font-size:1.15rem}.reg-statement-body{margin:0;color:#1c7480;white-space:pre-wrap;line-height:1.55}.reg-statement-info{display:grid;place-items:center;width:1.35rem;height:1.35rem;flex:0 0 auto;border:2px solid #1c7480;border-radius:50%;color:#1c7480;font-size:.85rem;font-weight:800;font-style:italic;line-height:1}.reg-registration-page .reg-part>.reg-acceptance{margin-top:.35rem;padding:.35rem .15rem;color:#1f8a4c;background:transparent}.reg-registration-page .reg-part>.reg-acceptance input{accent-color:#1f8a4c;width:1.15rem;height:1.15rem;margin-top:.15rem}.reg-mandatory-note{margin:.35rem 0 0;color:#6b7280;font-size:.82rem;text-align:right}.reg-course-list{display:grid;gap:.85rem}.reg-course-block{display:grid;gap:.85rem;padding:1rem;background:#fff;border:1px solid var(--vtc-border)}.reg-course-selected{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.reg-course-selected small{display:block;margin-top:.2rem;color:var(--vtc-muted)}.reg-course-selected .btn{flex-shrink:0}.reg-course-heading{display:grid;gap:.3rem;min-width:0}.reg-course-title-row{display:flex;align-items:center;gap:.65rem}.reg-course-title-row .reg-course-remove{flex-shrink:0}.reg-course-fees{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;margin:.15rem 0 0;color:var(--vtc-navy);font-weight:700}.reg-course-remove{display:inline-flex;flex-shrink:0;align-items:center;gap:.35rem;padding:.4rem .75rem;color:#b42318;font:inherit;font-weight:700;background:#fff5f4;border:1px solid #f1a39b;border-radius:999px;cursor:pointer}.reg-course-remove:hover:not(:disabled),.reg-course-remove:focus-visible{color:#fff;background:#b42318;border-color:#b42318}.reg-course-remove:disabled{cursor:not-allowed;opacity:.45}.reg-course-free{justify-self:start;padding:.15rem .6rem;color:#1f6f43;font-size:.85rem;font-weight:700;background:#e7f6ec;border-radius:999px}.reg-promo{display:grid;gap:.75rem;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--vtc-border)}.reg-promo-row{display:flex;gap:.5rem}.reg-promo-row input{flex:1;min-width:0;text-transform:uppercase}.reg-promo-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none}.reg-promo-chips li{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .35rem .2rem .7rem;color:#1f6f43;font-weight:700;background:#e7f6ec;border:1px solid #9fd5b3;border-radius:999px}.reg-promo-chips button{width:1.5rem;height:1.5rem;color:inherit;font:inherit;line-height:1;background:transparent;border:0;border-radius:50%;cursor:pointer}.reg-promo-chips button:hover{background:#c9ebd5}.reg-course-total{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:1.25rem 0 0;padding:.9rem 1rem;color:var(--vtc-navy);font-weight:700;background:#fff;border:1px solid var(--vtc-border)}.reg-course-total strong{font-size:1.15rem}.course-display-fields{display:grid;gap:.5rem;margin-top:1rem;padding:1rem 1.25rem;background:#fff;border:1px solid var(--admin-border)}.course-display-fields-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:.4rem 1rem}.course-display-field{display:flex;align-items:center;gap:.45rem}.reg-course-copy{flex:1;min-width:0}.reg-course-facts{display:grid;grid-template-columns:9.5rem 1fr;gap:.35rem 1rem;margin:.85rem 0 0}.reg-course-facts dt{margin:0;color:var(--vtc-muted);font-size:.82rem;font-weight:700}.reg-course-facts dd{margin:0;white-space:pre-wrap}.reg-registration-page .reg-course-facts{grid-template-columns:1fr}.reg-registration-page .reg-course-facts>div{display:grid;grid-template-columns:minmax(7.5rem,11rem) minmax(0,1fr);gap:.35rem 1rem;align-items:start}.reg-course-combo{position:relative}.reg-course-combo.is-open{z-index:30}.reg-course-menu{position:absolute;z-index:20;top:calc(100% - .15rem);left:0;right:0;margin:0;padding:.35rem;list-style:none;background:#fff;border:1px solid var(--vtc-border);border-radius:12px;box-shadow:var(--vtc-shadow-sm);max-height:min(32rem,calc(100dvh - 12rem));overflow-x:hidden;overflow-y:auto}.reg-course-menu button{width:100%;padding:.55rem .7rem;border:0;border-radius:8px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.reg-course-menu button:hover,.reg-course-menu button:focus-visible{background:var(--vtc-blue-soft)}.reg-course-menu-empty{padding:.55rem .7rem;color:var(--vtc-muted)}.reg-course-section{display:grid;gap:.25rem;margin-top:.85rem}.reg-course-section h3{margin:0;color:var(--vtc-muted);font-size:.82rem;font-weight:700}.reg-course-empty{margin:0;padding:.85rem 1rem;border:1px dashed var(--vtc-border);border-radius:10px;color:var(--vtc-muted);background:#fbfcfe}.reg-email-block{display:grid;gap:.45rem;align-content:start}.reg-registration-page .reg-question-grid>.reg-email-block{grid-column:1 / -1}.reg-registration-page .reg-email-block>.reg-otp-status,.reg-registration-page .reg-email-block>.reg-help,.reg-registration-page .reg-email-block>.reg-otp-error,.reg-registration-page .reg-email-block>.reg-registered{padding-inline:1rem}.reg-email-block>.reg-registered{grid-column:1 / -1}@media(min-width:821px){.reg-registration-page .reg-email-block>.reg-otp-row{padding-bottom:1rem}}.reg-input-affix{position:relative;display:block}.reg-input-affix input{padding-right:8.75rem}.reg-input-affix.is-waiting input{padding-right:12.5rem}.reg-input-action,.reg-input-verified{position:absolute;top:50%;right:.45rem;z-index:1;transform:translateY(-50%);white-space:nowrap}.reg-input-action{border:0;background:transparent;color:var(--vtc-blue);font:inherit;font-weight:700;cursor:pointer;padding:.35rem .45rem}.reg-input-action:disabled{color:#8b97a8;cursor:not-allowed}.reg-input-verified{color:#067647;font-weight:700;pointer-events:none}@media(max-width:820px){.reg-input-affix{display:flex;flex-direction:column;align-items:stretch;gap:.35rem}.reg-input-affix input,.reg-input-affix.is-waiting input{width:100%;padding-right:.8rem}.reg-input-action,.reg-input-verified{position:static;top:auto;right:auto;transform:none;align-self:flex-start;margin-left:.8rem;padding:0;line-height:1.4;text-align:left}}@media(min-width:821px){.reg-email-block{grid-template-columns:minmax(0,1fr) auto;align-items:end;column-gap:.75rem}.reg-email-block>.reg-field{grid-column:1;grid-row:1}.reg-email-block>.reg-otp-row{grid-column:2;grid-row:1}.reg-email-block>.reg-otp-status{grid-column:1;grid-row:2}.reg-email-block>.reg-help,.reg-email-block>.reg-otp-error{grid-column:1 / -1}}.reg-otp-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.5rem}@media(min-width:821px){.reg-email-block .reg-otp-row{flex-wrap:nowrap}}.reg-otp-row input{width:9.5rem;flex:0 0 9.5rem;min-height:44px;padding:.65rem .8rem;border:1px solid var(--vtc-border);background:#fff}.reg-otp-row .btn{min-height:44px;padding:.65rem 1rem;cursor:pointer;flex:0 0 auto;white-space:nowrap}.vtc-public .reg-otp-row .btn:disabled{cursor:wait}.reg-otp-error,.reg-otp-status{margin:0;line-height:1.4}.reg-otp-error{color:#b42318;font-weight:700}.reg-otp-status{color:#067647;font-weight:700}.reg-wizard-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;margin-top:.5rem}.reg-selected-courses{display:grid;gap:.65rem;margin:0 0 1rem;padding:0;list-style:none}.reg-selected-course{display:block;padding:.85rem 1rem;border:1px solid var(--vtc-border);border-radius:12px;background:#fff}.reg-selected-course.is-duplicate{background:#fff5f4;border-color:#f1a39b}.reg-selected-panel,.reg-registered{display:grid;gap:.5rem;margin-bottom:1.25rem}.reg-selected-panel h3,.reg-registered h3{margin:0}.reg-selected-course-name{min-width:0;display:flex;flex-direction:column;gap:.35rem}.reg-selected-course-heading{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .85rem}.reg-selected-course-title{flex:0 1 auto;max-width:100%;color:var(--vtc-navy);font-weight:700;line-height:1.4}.reg-selected-course-actions{display:inline-flex;flex:0 0 auto;align-items:center;gap:.65rem}.reg-selected-course-meta{color:var(--vtc-muted);font-size:.86rem;line-height:1.45}.reg-selected-course-fee{color:var(--vtc-navy);font-weight:700}.reg-selected-course .reg-course-remove,.reg-course-selected .reg-course-remove{width:1.85rem;height:1.85rem;justify-content:center;padding:0;color:#344054;background:#fff;border-color:#0c234838}.reg-selected-course .reg-course-remove .ui-icon,.reg-course-selected .reg-course-remove .ui-icon{width:1.05rem;height:1.05rem}.reg-selected-course .reg-course-remove:hover:not(:disabled),.reg-selected-course .reg-course-remove:focus-visible,.reg-course-selected .reg-course-remove:hover:not(:disabled),.reg-course-selected .reg-course-remove:focus-visible{color:#b42318;background:#fff5f4;border-color:#f1a39b}.reg-attendance-hint{margin:0;color:#b42318;font-weight:700}.reg-wizard-actions .btn-primary{background:var(--vtc-blue);color:#fff;box-shadow:none}.reg-wizard-actions .btn-primary:hover{background:#0879ae}.vtc-public .reg-wizard-actions .btn-primary:disabled,.vtc-public .reg-wizard-actions .btn-primary:disabled:hover{background:#d5dbe3;color:#6d7886;opacity:1;cursor:not-allowed;box-shadow:none}.reg-course-questions{display:grid;gap:.85rem;margin-top:1.25rem;padding-top:1rem;border-top:1px dashed var(--vtc-border)}.reg-course-questions h3{margin:0;color:var(--vtc-navy);font-size:1rem}.reg-course-section p{margin:0;line-height:1.55;white-space:pre-wrap}@media(max-width:720px){.reg-course-facts{grid-template-columns:1fr;gap:.1rem 0}.reg-course-facts dd{margin-bottom:.45rem}}.reg-extra-questions{display:grid;gap:.85rem;padding-top:.5rem;border-top:1px dashed var(--vtc-border)}.reg-alert{max-width:820px;padding:.95rem 1.1rem;border:1px solid transparent}.reg-alert p{margin:.35rem 0 0;line-height:1.5}.reg-alert-error{color:#7a271a;background:#fef3f2;border-color:#fecdca}.reg-alert-error strong{display:block;color:#912018}.reg-otp-box .feedback.error{margin-top:.55rem}.reg-success{max-width:640px;padding:1.5rem;background:#fff;border-top:4px solid var(--vtc-yellow)}.reg-success h2{margin:0 0 .5rem;color:var(--vtc-navy)}.reg-answer-list{display:grid;gap:.85rem;margin:0}.reg-answer-list div{padding-bottom:.75rem;border-bottom:1px solid var(--admin-border)}.reg-answer-list dt{margin-bottom:.2rem;color:var(--admin-muted);font-size:.8rem;font-weight:700}.reg-answer-list dd{margin:0;color:var(--admin-text);white-space:pre-wrap}.reg-json{margin:0;padding:.75rem;overflow:auto;background:#f4f6f9;font-size:.8rem}.reg-form-canvas{display:grid;gap:1rem;max-width:760px}.reg-edit-block{display:grid;gap:.75rem;padding:1rem;background:#fff;border:1px solid var(--admin-border)}.reg-drag-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.5rem;align-items:start}.reg-drag-item.is-dragging{opacity:.5}.reg-drag-item.is-drop-target{box-shadow:0 -3px 0 var(--admin-blue)}.reg-drag-handle{margin-top:1rem;padding:.25rem .35rem;color:var(--admin-muted, #64748b);font:inherit;line-height:1;letter-spacing:-.2em;background:transparent;border:1px solid transparent;border-radius:6px;cursor:grab}.reg-drag-handle:hover,.reg-drag-handle:focus-visible{border-color:var(--admin-border)}.reg-edit-block.is-editing{border-color:var(--admin-blue);box-shadow:inset 3px 0 0 var(--admin-blue)}.reg-edit-section{margin:0;color:var(--admin-navy);font-size:1.05rem}.reg-edit-preview{pointer-events:auto}.reg-edit-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}.reg-condition-badge{display:inline-flex;align-items:center;padding:.15rem .5rem;border:1px solid var(--admin-border);background:#f3f6fa;color:var(--admin-navy);font-size:.75rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.reg-condition-note{margin:0;font-size:.85rem}.reg-condition-fieldset{display:grid;gap:.65rem;margin:0;padding:.85rem;border:1px solid var(--admin-border);min-inline-size:0}.reg-condition-fieldset legend{padding-inline:.35rem;font-weight:600;color:var(--admin-navy)}.reg-condition-values{display:grid;gap:.35rem}.reg-edit-form{padding-top:.35rem;border-top:1px dashed var(--admin-border)}.admin-shell,.admin-page{--admin-navy: #102a56;--admin-navy-dark: #071d3d;--admin-blue: #00a8e8;--admin-blue-pale: #e9f6fd;--admin-yellow: #ffc400;--admin-border: #d7dee8;--admin-text: #17263f;--admin-muted: #5f6d80;color:var(--admin-text);background:#f4f6f9;font-family:Manrope,Segoe UI,sans-serif}.admin-login-page{padding:0;display:grid;grid-template-rows:auto 1fr;align-items:start;background:#eef4f8}.admin-login-header,.admin-topbar{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem clamp(1rem,3vw,2.5rem);background:#fff;border-bottom:1px solid var(--admin-border)}.admin-identity{display:flex;align-items:center;gap:.9rem}.admin-identity>span:last-child{display:grid;padding-left:.9rem;border-left:1px solid var(--admin-border);line-height:1.25}.admin-identity strong{color:var(--admin-navy);font-size:.88rem}.admin-identity small{color:var(--admin-muted);font-size:.72rem}.admin-public-link{color:var(--admin-navy);font-size:.86rem;font-weight:700}.admin-public-link:hover{color:#087caf}.admin-page .admin-login-card{width:min(440px,calc(100% - 2rem));max-width:none;margin:clamp(2rem,8vh,5rem) auto;padding:clamp(1.5rem,4vw,2.25rem);border:1px solid var(--admin-border);border-top:5px solid var(--admin-blue);border-radius:0;background:#fff;box-shadow:0 12px 28px #102a561a}.admin-login-card h1,.admin-main h1{margin:0 0 .35rem;color:var(--admin-navy);font-family:DM Sans,Segoe UI,sans-serif;font-weight:800;letter-spacing:-.03em}.admin-login-card h1{font-size:2rem}.admin-login-card .form-grid{margin-top:1.5rem}.admin-kicker{margin:0 0 .3rem;color:#087caf;font-size:.75rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.admin-shell{min-height:100vh;background:#f4f6f9}.admin-topbar{width:100%;margin:0;-webkit-backdrop-filter:none;backdrop-filter:none}.admin-topbar-actions{display:flex;align-items:center;gap:1rem;color:var(--admin-muted);font-size:.84rem}.admin-signout{min-height:38px;border:1px solid var(--admin-navy);border-radius:0;padding:.55rem .9rem;background:#fff;color:var(--admin-navy);font-weight:800;cursor:pointer}.admin-signout:hover{background:var(--admin-navy);color:#fff}.admin-frame{background:#f4f6f9}.admin-nav{padding:1.5rem 1rem;border-color:var(--admin-border);background:var(--admin-navy-dark);-webkit-backdrop-filter:none;backdrop-filter:none}.admin-nav-section+.admin-nav-section{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.08)}.admin-nav-label{margin:0 0 .75rem;color:#8fb2da;font-size:.72rem;font-weight:800;letter-spacing:.1em}.admin-role-pill{background:#ffd60a2e;color:var(--admin-yellow, #ffd60a)}.admin-tabs{gap:.35rem}.admin-tab{min-height:44px;padding:.7rem .9rem;border:0;border-left:4px solid transparent;border-radius:0;color:#dbe6f2;font-size:.9rem}.admin-tab:hover{background:#ffffff14;color:#fff}.admin-tab.is-active{border-left-color:var(--admin-yellow);background:var(--admin-blue);color:#fff}.admin-main.panel{min-width:0;width:100%;padding:clamp(1.5rem,3vw,2.5rem);border:0;border-radius:0;background:#f4f6f9;box-shadow:none}.admin-feature-header{margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--admin-border)}.admin-feature-header h1{font-size:clamp(1.8rem,3vw,2.25rem)}.admin-feature-header .muted,.admin-shell .muted,.admin-page .muted{color:var(--admin-muted)}.admin-feature-toolbar{margin-bottom:1rem}.admin-shell .btn,.admin-page .btn{min-height:42px;border-radius:0;box-shadow:none}.admin-shell .btn:hover,.admin-page .btn:hover{transform:none}.admin-shell .btn-primary,.admin-page .btn-primary{background:var(--admin-yellow);color:var(--admin-navy-dark)}.admin-shell .btn-primary:hover,.admin-page .btn-primary:hover{background:#ffd233}.admin-shell .btn-secondary,.admin-page .btn-secondary{border:1px solid var(--admin-border);background:#fff;color:var(--admin-navy)}.admin-shell .btn-secondary:hover,.admin-page .btn-secondary:hover{border-color:var(--admin-navy)}.admin-shell .btn-accent{background:var(--admin-blue);color:#fff}.admin-shell .btn-stop{border:1px solid #b42318;background:#fff;color:#b42318}.admin-shell .btn-stop:hover{background:#b42318;color:#fff}.admin-create-form{margin:1rem 0 1.5rem;padding:clamp(1.25rem,3vw,2rem);border:1px solid var(--admin-border);border-top:5px solid var(--admin-blue);border-radius:0;background:#fff}.admin-subheading{color:var(--admin-navy);font-family:DM Sans,Segoe UI,sans-serif;font-size:1.35rem;font-weight:800}.admin-shell label,.admin-page label{color:var(--admin-text);font-size:.82rem;font-weight:800}.admin-shell input,.admin-shell textarea,.admin-shell select,.admin-page input,.admin-page textarea,.admin-page select{border:1px solid #aeb9c8;border-radius:0;background:#fff}.admin-shell input:focus,.admin-shell textarea:focus,.admin-shell select:focus,.admin-page input:focus,.admin-page textarea:focus,.admin-page select:focus{outline:2px solid var(--admin-blue);outline-offset:0}.admin-list{display:grid;gap:.75rem}.admin-item{padding:1.1rem 1.25rem;border:1px solid var(--admin-border);border-left:5px solid var(--admin-blue);border-radius:0;background:#fff}.admin-item strong{color:var(--admin-navy)}.admin-item .course-meta{color:var(--admin-muted)}.admin-item-actions,.admin-detail-actions{display:flex;flex-wrap:wrap;gap:.5rem}.admin-course-detail{display:grid;gap:1.25rem}.course-registration-link{display:grid;gap:.55rem;padding:1rem 1.25rem;background:#fff;border:1px solid var(--admin-border);border-left:5px solid var(--admin-blue)}.course-registration-link p{margin:.2rem 0 0}.course-registration-link-row{display:flex;gap:.6rem;align-items:center}.course-registration-link-row input{flex:1;min-width:0}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:2.4rem;min-width:2.4rem;height:2.4rem;padding:0}.btn-icon .ui-icon{width:1.05rem;height:1.05rem}.admin-detail-toolbar{display:flex;align-items:end;justify-content:space-between;gap:1rem;padding:1.1rem 1.25rem;background:#fff;border:1px solid var(--admin-border);border-left:5px solid var(--admin-blue)}.admin-back-link{display:inline-flex;align-items:center;gap:.35rem;width:fit-content;align-self:flex-start;justify-self:start;min-height:40px;margin-bottom:.75rem;padding:.5rem 1rem;border:1.5px solid #087caf;border-radius:999px;background:#fff;color:#087caf;font-size:.95rem;font-weight:800;text-decoration:none;transition:background-color .15s ease,color .15s ease}.admin-page-back:empty{display:none}.admin-page-back{position:relative;margin-bottom:.9rem}.admin-page-back .admin-back-link{margin-bottom:0}.admin-back-link:hover,.admin-back-link:focus-visible{background:#087caf;color:#fff}.admin-detail-title{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;color:var(--admin-navy)}.admin-detail-status{width:min(100%,18rem);margin-top:.9rem}.admin-edit-form{display:grid;gap:1rem}.admin-form-section{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(1.25rem,3vw,2.5rem);padding:clamp(1.25rem,3vw,2rem);background:#fff;border:1px solid var(--admin-border)}.admin-form-section-heading h2{margin:0 0 .35rem;color:var(--admin-navy);font-size:1.15rem}.admin-form-section-heading p{margin:0;color:var(--admin-muted);font-size:.84rem;line-height:1.5}.admin-form-fields{display:grid;gap:1.35rem;align-content:start;min-width:0}.admin-form-fields .form-row{gap:1.35rem}.admin-form-fields label{gap:.5rem}.admin-form-fields .admin-locale-fields{gap:1.15rem}.admin-locale-fields{display:grid;gap:.85rem}.admin-locale-tabs{display:flex;flex-wrap:wrap;gap:.5rem;border-bottom:1px solid var(--admin-border);padding-bottom:.55rem}.admin-locale-tab{border:0;background:transparent;padding:.25rem .1rem;color:var(--admin-muted);font:inherit;font-size:.84rem;cursor:pointer}.admin-locale-tab.is-active{color:var(--admin-navy);font-weight:700;box-shadow:inset 0 -2px 0 var(--admin-navy)}.admin-locale-panel{display:grid;gap:.85rem}.admin-edit-form textarea{min-height:135px}.admin-application-status{display:grid;gap:.2rem;padding:.85rem 1rem;border-left:4px solid;font-size:.85rem}.admin-application-status span{color:var(--admin-muted)}.admin-application-status.is-open{border-color:var(--admin-blue);background:var(--admin-blue-pale)}.admin-application-status.is-closed{border-color:#b42318;background:#fff0ee}.admin-edit-form input:disabled{background:#eef1f5;color:var(--admin-muted);cursor:not-allowed}.admin-save-bar{position:sticky;bottom:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;background:var(--admin-navy);color:#dbe6f2;box-shadow:0 -6px 18px #071d3d1f}.admin-save-bar span{font-size:.8rem}.admin-shell .badge{border-radius:0}.admin-shell .badge-announced{background:var(--admin-blue-pale);color:#087caf}.admin-shell .badge-draft{background:#fff5ce;color:#745800}.admin-shell .empty-state,.admin-shell .error-state,.admin-shell .loading-state,.admin-page .loading-state{border-radius:0;border-color:var(--admin-border);background:#fff}@media(min-width:900px){.admin-frame{grid-template-columns:240px minmax(0,1fr);min-height:calc(100vh - 78px)}.admin-nav{border-right:0}.admin-tab{border-radius:0}}@media(max-width:899px){.admin-nav{border-bottom:0}.admin-tabs{flex-direction:row}.admin-form-section{grid-template-columns:1fr}}.reg-course-dashboard{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;margin-top:1.25rem}.reg-dept-filter{display:grid;gap:.55rem;margin-bottom:1.1rem}.reg-dept-chips{display:flex;flex-wrap:wrap;gap:.5rem}.reg-dept-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .85rem;border:1px solid var(--vtc-border);background:#fff;color:var(--vtc-navy, #0b2a4a);font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease}.reg-dept-chip small{display:inline-flex;min-width:1.25rem;justify-content:center;padding:.08rem .35rem;background:#eef3f8;color:var(--vtc-muted);font-size:.72rem;font-weight:700}.reg-dept-chip.is-active{border-color:var(--vtc-navy, #0b2a4a);background:var(--vtc-navy, #0b2a4a);color:#fff}.reg-dept-chip.is-active small{background:#ffffff2e;color:#fff}.reg-dept-chip:hover{border-color:var(--vtc-navy, #0b2a4a)}.reg-selected-heading{margin:.35rem 0 .55rem}.reg-inline-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.reg-inline-actions input{flex:1;min-width:140px}.reg-fee-summary{display:grid;gap:.85rem;margin-top:1rem;padding-top:1rem;border-top:1px dashed var(--vtc-border)}.reg-fee-totals{display:grid;gap:.45rem;margin:0}.reg-fee-totals div{display:flex;justify-content:space-between;gap:1rem}.reg-fee-totals dt,.reg-fee-totals dd{margin:0}.reg-otp-box{display:grid;gap:.55rem;margin:.35rem 0 1rem;padding:.85rem;border:1px solid var(--vtc-border);background:#f7fafc}.reg-export-panel{display:grid;gap:1rem;margin:1rem 0 1.5rem;padding:1.25rem;border:1px solid var(--admin-border);background:#fff}.reg-export-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.reg-export-panel .field{display:grid;gap:.35rem}.reg-export-panel .field span{font-size:.85rem;font-weight:600;color:var(--admin-navy)}.reg-export-courses-header,.reg-import-with-help{display:inline-flex;align-items:center;gap:.4rem}.reg-import-help{position:relative;display:inline-flex}.reg-import-help-trigger{display:inline-flex;align-items:center;justify-content:center;width:1.55rem;height:1.55rem;padding:0;border:1px solid #9aa8b8;border-radius:999px;background:#fff;color:var(--admin-navy, #0b2a4a);font-size:.85rem;font-weight:800;line-height:1;cursor:help}.reg-import-help-trigger:hover,.reg-import-help:focus-within .reg-import-help-trigger{border-color:var(--admin-blue, #0b5cab);color:var(--admin-blue, #0b5cab)}.reg-import-help-panel{position:absolute;top:calc(100% + .45rem);right:0;z-index:40;display:none;width:min(22rem,calc(100vw - 2rem));padding:.85rem 1rem;border:1px solid var(--admin-border, #d5deea);background:#fff;box-shadow:0 10px 28px #0b2a4a24;color:var(--admin-text, #243447);font-size:.82rem;line-height:1.45;text-align:left}.reg-import-help:hover .reg-import-help-panel,.reg-import-help:focus-within .reg-import-help-panel{display:block}.reg-import-help-panel strong{display:block;margin-bottom:.35rem;color:var(--admin-navy, #0b2a4a)}.reg-import-help-panel p{margin:0 0 .55rem}.reg-import-help-required{margin-bottom:.25rem!important;font-weight:700}.reg-import-help-panel ul{margin:0 0 .65rem;padding-left:1.1rem}.reg-import-help-panel li{margin:.2rem 0}.reg-import-help-panel code{font-size:.78rem}.reg-import-help-sample{margin:0 0 .55rem;padding:.55rem .65rem;overflow-x:auto;border:1px solid #e2e8f0;background:#f8fafc;font-size:.72rem;line-height:1.4;white-space:pre}.reg-import-help-panel .muted{margin:0;font-size:.78rem}.reg-export-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.reg-export-course-list{display:grid;gap:.45rem;max-height:220px;overflow:auto;padding:.75rem;border:1px solid var(--admin-border);background:#f8fafc}@media(max-width:820px){.reg-export-grid{grid-template-columns:1fr}}.reg-course-dashboard-card{display:grid;gap:1rem;padding:1.25rem;border:1px solid var(--admin-border);border-top:4px solid var(--admin-navy);background:#fff;box-shadow:0 8px 22px #0b2a4a0d}.reg-course-dashboard-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.reg-course-dashboard-heading h2{margin:.5rem 0 .25rem;color:var(--admin-navy);font-size:1rem;line-height:1.35}.reg-course-dashboard-heading p{margin:0;color:var(--admin-muted);font-size:.82rem}.reg-course-phase{display:inline-flex;padding:.2rem .48rem;font-size:.7rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.reg-course-phase.is-receiving{background:#e7f7ef;color:#176443}.reg-course-phase.is-stopped{background:#f1f3f6;color:#5b6572}.reg-applicant-total{display:grid;min-width:4.25rem;padding-left:1rem;border-left:1px solid var(--admin-border);text-align:center}.reg-applicant-total strong{color:var(--admin-navy);font-size:1.45rem;line-height:1}.reg-applicant-total span{margin-top:.25rem;color:var(--admin-muted);font-size:.7rem}.reg-course-status-counts{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--admin-border)}.reg-course-status-counts span{display:grid;gap:.12rem;padding:.55rem .35rem;border-right:1px solid var(--admin-border);color:var(--admin-muted);font-size:.68rem;text-align:center}.reg-course-status-counts span:last-child{border-right:0}.reg-course-status-counts strong{font-size:1.05rem}.reg-course-status-counts .is-unverified strong{color:#9c6200}.reg-course-status-counts .is-pending strong{color:#2166a5}.reg-course-status-counts .is-success strong{color:#177148}.reg-course-status-counts .is-fail strong{color:#a53333}.reg-course-applicants-header{margin:0 0 1.25rem;padding:0 0 1.15rem;border-bottom:1px solid var(--admin-border)}.reg-course-applicants-header .admin-back-link{margin-bottom:.65rem}.reg-course-applicants-kicker{margin:0 0 .2rem;color:var(--admin-muted);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.reg-course-applicants-title{margin:0;color:var(--admin-navy);font-size:clamp(1.35rem,2.4vw,1.75rem);font-weight:800;line-height:1.25}.reg-course-applicants-meta{display:flex;flex-wrap:wrap;gap:.35rem .85rem;margin:.55rem 0 0;color:var(--admin-muted);font-size:.86rem}.reg-course-applicants-meta span{position:relative}.reg-course-applicants-meta span:not(:last-child):after{content:"·";position:absolute;right:-.55rem;color:#b0bac6}.reg-applicant-group{display:grid;gap:.85rem;padding:1rem;border:1px solid var(--admin-border);background:#eef2f6}.reg-applicant-group-heading h2{margin:0 0 .2rem;color:var(--admin-navy);font-size:1rem;font-weight:800}.reg-applicant-group-heading p{margin:0;color:var(--admin-muted);font-size:.82rem}.reg-applicant-list{display:grid;gap:.55rem}.audit-type-filter{max-width:18rem;margin-bottom:1rem}.reg-application-ref{font-size:.82rem;font-weight:700;letter-spacing:.02em;color:var(--admin-navy)}.reg-application-courses{margin:.15rem 0 0;padding-left:1.1rem;color:var(--admin-navy)}.reg-applicant-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.85rem 1rem;padding:.95rem 1.05rem;border:1px solid #d5dde7;border-left:3px solid #7aa7c9;background:#fff}.reg-applicant-row strong{color:var(--admin-navy)}.reg-applicant-statuses{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.15rem}.reg-status-badge{display:inline-flex;padding:.22rem .45rem;border-radius:999px;font-size:.72rem;font-weight:700;line-height:1.2}.reg-status-badge.is-receiving{background:#e7f7ef;color:#176443}.reg-status-badge.is-stopped{background:#f1f3f6;color:#5b6572}.reg-status-badge.is-unverified{background:#fff3d7;color:#895600}.reg-status-badge.is-verified{background:#e3f0fb;color:#155b92}.reg-status-badge.is-enrollment-pending{background:#edf0f5;color:#536274}.reg-status-badge.is-enrollment-success{background:#dff5e8;color:#176b43}.reg-status-badge.is-enrollment-fail{background:#fae6e6;color:#9a2929}.reg-status-badge.is-multi-course{background:#fff1e0;color:#9a4d00}.reg-multi-course-note{margin:.15rem 0 0;color:#9a4d00;font-size:.85rem;line-height:1.4}.reg-status-badge.is-payment-unpaid{background:#fff1e0;color:#9a4d00}.reg-status-badge.is-payment-paid{background:#dff5e8;color:#176b43}.reg-status-badge.is-payment-waived{background:#edf0f5;color:#536274}.reg-alert-success{color:#14532d;background:#f0fdf4;border-color:#bbf7d0}.reg-alert-success strong{color:#166534}.reg-pay-panel{max-width:640px;display:grid;gap:1rem;padding:1.25rem;background:#fff;border:1px solid var(--vtc-border)}.reg-pay-panel h2{margin:0;color:var(--vtc-navy);font-family:var(--vtc-display)}.reg-pay-gateway-note{margin:0;color:var(--vtc-muted);font-size:.9rem}.reg-pay-form{display:grid;gap:.85rem}.reg-pay-methods{display:flex;flex-wrap:wrap;gap:.5rem}.reg-pay-method{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .8rem;border:1px solid var(--vtc-border);background:#fff;cursor:pointer}.reg-pay-method.is-selected{border-color:var(--vtc-blue);background:#f3f8fd}.att-scan-page{max-width:920px}.att-scan-panel{display:grid;gap:1rem;padding:1rem;background:#fff;border:1px solid var(--admin-border)}.att-qr-reader{width:min(100%,420px);margin:0 auto;overflow:hidden;background:#111}.att-manual-token{display:grid;gap:.65rem}.att-manual-token input{width:100%;min-height:44px;padding:.65rem .8rem;border:1px solid var(--admin-border)}.admin-toolbar-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.admin-smtp-form{display:grid;gap:.85rem}.admin-smtp-form .field{display:grid;gap:.35rem}.admin-smtp-form .field span{font-size:.85rem;font-weight:600;color:var(--admin-navy, #0b2a4a)}.admin-smtp-form .checkbox-field{display:flex;align-items:center;gap:.55rem}.admin-smtp-form .checkbox-field span{font-weight:500}@media(max-width:560px){.admin-login-header,.admin-topbar{align-items:flex-start}.admin-identity>span:last-child,.admin-topbar-actions>span{display:none}.admin-detail-toolbar,.admin-save-bar{align-items:stretch;flex-direction:column}}.rbac-feature-body{display:grid;gap:1rem;align-content:start;min-width:0}.rbac-matrix-body{display:grid;gap:.85rem;min-width:0}.rbac-matrix-wrap{overflow-x:auto;border:1px solid var(--admin-border, #d5deea);background:#fff}.rbac-matrix-table{width:max-content;border-collapse:collapse;font-size:.9rem}.rbac-matrix-table thead th:not(:first-child),.rbac-matrix-table td{width:9rem;min-width:9rem}.rbac-matrix-table th,.rbac-matrix-table td{padding:.65rem .75rem;border-bottom:1px solid var(--admin-border, #d5deea);text-align:center;vertical-align:middle}.rbac-matrix-table thead th{background:#f8fafc;color:var(--admin-navy);font-size:.85rem}.rbac-matrix-table tbody th{text-align:left;font-weight:600;color:var(--admin-navy);white-space:nowrap}.rbac-matrix-role-id{margin-top:.15rem;color:var(--admin-muted);font-size:.72rem;font-weight:400}.rbac-matrix-check{display:inline-flex;align-items:center;justify-content:center}.rbac-matrix-check input{width:1.05rem;height:1.05rem}.rbac-add-role{display:flex;flex-wrap:wrap;align-items:end;gap:.75rem;margin-bottom:1rem}.rbac-add-role label{width:min(100%,18rem)}.rbac-matrix-actions{display:flex;justify-content:flex-start}.rbac-role-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.rbac-role-card{padding:1rem 1.1rem;border:1px solid var(--admin-border, #d5deea);background:#fff}.rbac-role-card h3{margin:0 0 .65rem;text-transform:capitalize;font-size:1.05rem}.rbac-role-card ul{margin:0;padding-left:1.1rem;color:var(--ink-soft, #4b5c6b);display:grid;gap:.35rem}.rbac-course-body{display:grid;gap:1rem;min-width:0;width:100%}.rbac-course-select{display:grid;gap:.35rem;width:100%;margin:0}.rbac-course-select span{font-size:.85rem;font-weight:600;color:var(--admin-navy, #0b2a4a)}.rbac-course-select select{width:100%;min-height:44px}.rbac-course-prompt{margin:0}.rbac-course-panel{display:grid;gap:1rem;width:100%;padding:1.1rem 1.2rem;border:1px solid var(--admin-border, #d5deea);background:#fff}.rbac-course-panel-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem}.rbac-assign-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.85rem 1rem;align-items:end;width:100%;padding-top:.25rem;border-top:1px solid var(--admin-border, #d5deea)}.rbac-assign-form .field{display:grid;gap:.35rem;min-width:0}.rbac-assign-form .field span{font-size:.85rem;font-weight:600;color:var(--admin-navy, #0b2a4a)}.rbac-assign-form select,.rbac-assign-form input{width:100%;min-height:44px}.rbac-assign-actions{display:flex;align-items:end}.rbac-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--admin-border, #d5deea);background:#fff}.rbac-table{width:100%;border-collapse:collapse}.rbac-table th,.rbac-table td{padding:.85rem 1rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--admin-border, #d5deea)}.rbac-table th{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft, #4b5c6b);background:#f8fafc}.rbac-table tr:last-child td{border-bottom:0}.rbac-table-actions{width:1%;white-space:nowrap;text-align:right}.rbac-course-cell{width:38%;min-width:14rem}.rbac-assign-meta{margin:.4rem 0 0;font-size:.85rem;font-weight:600;color:var(--admin-navy, #0b2a4a)}.rbac-teacher-list{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}.rbac-teacher-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem;padding:.45rem .65rem;background:#f8fafc;border:1px solid var(--admin-border, #d5deea)}@media(max-width:900px){.rbac-assign-form{grid-template-columns:1fr}.rbac-assign-actions{justify-content:stretch}.rbac-assign-actions .btn{width:100%}}.att-course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:1rem;width:100%}.att-course-card{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere;gap:.75rem;padding:1.1rem 1.15rem;border:1px solid var(--admin-border, #d5deea);background:#fff;color:inherit;text-decoration:none;transition:border-color .16s ease,box-shadow .16s ease}.att-course-card:hover{border-color:var(--admin-blue, #0b5cab);box-shadow:0 8px 24px #0b2a4a14}.att-course-card-top{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.att-phase{display:inline-flex;align-items:center;padding:.15rem .5rem;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;background:#0b5cab1a;color:var(--admin-navy, #0b2a4a)}.att-phase-upcoming{background:#f6c34340}.att-phase-ongoing{background:#1f6b5724;color:#145c48}.att-phase-completed{background:#0b2a4a1f;color:#0b2a4a}.att-phase-awaiting_confirmation{background:#c432321a;color:#9b2c2c}.att-complete-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem;padding:.85rem 1rem;background:#0b5cab0f;border:1px solid rgba(11,42,74,.08)}.att-course-title{margin:0;font-weight:600}.att-course-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:.25rem 0 0}.att-course-meta dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--admin-muted, #6b7c8f)}.att-course-meta dd{margin:.15rem 0 0;font-weight:700}.att-course-location{margin:auto 0 0;padding-top:.25rem;font-size:.9rem}.att-status-body{min-width:0;width:100%;display:grid;gap:1rem}.att-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem 1.25rem;margin:0}.att-status-grid dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--admin-muted, #6b7c8f)}.att-status-grid dd{margin:.2rem 0 0;font-weight:600}.att-status-wide{grid-column:1 / -1}.att-lesson-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem 1rem;align-items:end}.att-lesson-form .field{display:grid;gap:.35rem}.att-lesson-form .field span{font-size:.85rem;font-weight:600}.att-form-wide,.att-form-actions{grid-column:1 / -1}.att-lesson-list{display:grid;gap:.75rem}.att-lesson-item{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.85rem;padding:.95rem 1rem;border:1px solid var(--admin-border, #d5deea);background:#f8fafc}.att-lesson-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:flex-end;min-width:17.5rem}.att-lesson-action-spacer{display:inline-block;min-width:7.5rem}.att-student-list{display:grid;gap:.55rem}.att-student-row{border:1px solid var(--admin-border, #d5deea);background:#fff}.att-student-toggle{width:100%;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.85rem 1rem;border:0;background:transparent;text-align:left;cursor:pointer}.att-student-chevron{font-size:.85rem;font-weight:700;color:var(--admin-blue, #0b5cab);white-space:nowrap}.att-student-profile{padding:0 1rem 1rem;border-top:1px solid var(--admin-border, #d5deea)}.att-profile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;margin:.75rem 0 0}.att-profile-grid dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--admin-muted, #6b7c8f)}.att-profile-grid dd{margin:.2rem 0 0;font-weight:600}.admin-chart-panel{width:100%;margin:0 0 1.25rem;padding:1rem 1.1rem .75rem;border:1px solid var(--admin-border, #d5deea);background:#fff}.admin-chart-heading h3{margin:0;color:var(--admin-navy, #0b2a4a);font-size:1.05rem}.admin-chart-heading p{margin:.3rem 0 0;color:var(--admin-muted, #6b7c8f);font-size:.86rem}.admin-chart-body{width:100%;min-height:220px;margin-top:.5rem}.att-roster-wrap{width:100%;overflow-x:auto;border:1px solid var(--admin-border, #d5deea);background:#fff}.att-roster-table{width:100%;border-collapse:collapse;font-size:.92rem}.att-roster-table th,.att-roster-table td{padding:.55rem .75rem;text-align:left;vertical-align:middle;border-bottom:1px solid var(--admin-border, #d5deea);white-space:nowrap}.att-roster-table th{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--admin-muted, #6b7c8f);background:#f8fafc}.att-roster-table tbody tr:last-child td{border-bottom:0}.att-roster-table td strong{font-weight:700}.att-roster-table td .muted{font-size:.8rem}.att-roster-select{min-height:36px;min-width:8.5rem;max-width:11rem;padding:.35rem .5rem}.cert-panel{display:grid;gap:1rem;min-width:0}.cert-config-grid{display:grid;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.cert-serial-preview{display:grid;gap:.2rem;padding:.85rem 1rem;border-left:4px solid var(--admin-navy);background:#f5f8fc}.cert-serial-preview span{color:var(--admin-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.cert-serial-preview strong{color:var(--admin-navy);font-size:1.15rem;font-family:ui-monospace,Cascadia Code,Consolas,monospace;letter-spacing:.02em}.cert-summary{display:flex;flex-wrap:wrap;gap:.65rem 1.25rem;margin:0;padding:0;list-style:none}.cert-summary li{display:grid;gap:.1rem}.cert-summary span{color:var(--admin-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.cert-summary strong{color:var(--admin-navy);font-size:.92rem;font-weight:600}.admin-shell .cert-switch,.admin-shell .cert-choice-option{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:.75rem;width:100%;box-sizing:border-box;margin:0;font-weight:400}.admin-shell .cert-switch{padding:.75rem .85rem;border:1px solid var(--admin-border, #d5deea);background:#fff;color:var(--admin-navy)}.admin-shell .cert-choice-control{display:flex;flex:0 0 auto;align-items:center;justify-content:center;width:1.25rem;min-width:1.25rem;padding-top:.1rem}.admin-shell .cert-switch input[type=checkbox],.admin-shell .cert-choice-option input[type=radio]{width:1.05rem!important;min-width:1.05rem;max-width:1.05rem;height:1.05rem;margin:0;padding:0;border:1px solid #8a97a8;border-radius:2px;background:#fff;flex:none;accent-color:var(--admin-navy)}.admin-shell .cert-choice-option input[type=radio]{border-radius:50%}.admin-shell .cert-choice-copy{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;flex:1 1 auto;min-width:0;text-align:left}.admin-shell .cert-switch strong,.admin-shell .cert-choice-option strong{display:block;font-size:.92rem;font-weight:700;color:var(--admin-navy)}.admin-shell .cert-switch small,.admin-shell .cert-choice-option small{display:block;color:var(--admin-muted);font-size:.8rem;font-weight:400;line-height:1.35}.cert-rule-stack{display:grid;gap:1.25rem}.cert-choice .legend-like{margin:0 0 .55rem;color:var(--admin-navy);font-size:.95rem;font-weight:800}.cert-filter{display:grid;gap:.85rem}.cert-filter-conditions-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem;color:var(--admin-navy)}.cert-filter-formula{display:grid;gap:.2rem;padding:.75rem .9rem;border-left:4px solid var(--admin-navy);background:#f5f8fc}.cert-filter-formula span{color:var(--admin-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.cert-filter-formula strong{color:var(--admin-navy);font-size:.95rem;font-weight:700;line-height:1.4}.cert-filter-empty{margin:0}.cert-filter-chain{display:grid;gap:.35rem;margin:0;padding:0;list-style:none}.cert-filter-chain-item{display:grid;gap:.35rem}.cert-filter-op{display:flex;justify-content:center;gap:.35rem;padding:.15rem 0}.cert-filter-op-btn{min-width:4.25rem;border:1px solid var(--admin-border, #d5deea);background:#fff;color:var(--admin-muted);font:inherit;font-size:.78rem;font-weight:800;letter-spacing:.04em;padding:.35rem .7rem;cursor:pointer}.cert-filter-op-btn.is-active{border-color:var(--admin-navy);background:var(--admin-navy);color:#fff}.cert-filter-card{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.65rem;align-items:stretch;padding:.75rem .85rem;border:1px solid var(--admin-border, #d5deea);background:#fff}.cert-filter-card-index{display:flex;align-items:flex-start;justify-content:center;padding-top:1.55rem;color:var(--admin-muted);font-size:.85rem;font-weight:800}.cert-filter-row{display:grid;grid-template-columns:minmax(10rem,1.2fr) minmax(7rem,.8fr) auto;gap:.65rem;align-items:end}.cert-filter-percent input{max-width:6rem}.cert-filter-exam-note{margin:0 0 .35rem;align-self:center}.cert-filter-add{display:flex;flex-wrap:wrap;gap:.45rem}.cert-filter-help{margin:0;font-size:.8rem}@media(max-width:720px){.cert-filter-row{grid-template-columns:1fr}.cert-filter-card{grid-template-columns:1.5rem minmax(0,1fr)}}.cert-choice{margin:0;padding:.85rem 0 0;border:0;border-top:1px solid var(--admin-border, #d5deea);min-width:0}.cert-rule-stack>.cert-choice:first-child{padding-top:0;border-top:0}.cert-choice legend{float:left;width:100%;padding:0;margin:0 0 .55rem;color:var(--admin-navy);font-size:.95rem;font-weight:800}.cert-choice-hint{clear:both;margin:0 0 .5rem;color:var(--admin-muted);font-size:.82rem}.cert-choice-list{clear:both;display:grid;gap:.4rem}.admin-shell .cert-choice-option{padding:.7rem .8rem;border:1px solid var(--admin-border, #d5deea);background:#fff;color:var(--admin-navy);cursor:pointer}.admin-shell .cert-choice-option.is-selected{border-color:var(--admin-navy);background:#eef4fb;box-shadow:inset 3px 0 0 var(--admin-navy)}.cert-defaults{align-items:start}.cert-defaults>summary{list-style:none;cursor:pointer}.cert-defaults>summary::-webkit-details-marker{display:none}.cert-defaults>summary .admin-form-section-heading h2:after{content:" ▾";color:var(--admin-muted);font-weight:400}.cert-defaults[open]>summary .admin-form-section-heading h2:after{content:" ▴"}.cert-defaults>.cert-panel{grid-column:2}@media(max-width:900px){.cert-defaults>.cert-panel{grid-column:1}}.cert-table-wrap{overflow-x:auto}.cert-actions{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;min-width:16rem}.cert-actions a{font-size:.85rem}.cert-actions .btn,.cert-actions a{white-space:nowrap}.cert-field-error{display:block;min-height:1.3em;margin:.3rem 0 0;font-size:.8rem}.cert-verify-list{display:grid;gap:.75rem;margin:1rem 0 0}.cert-verify-list>div{display:grid;gap:.15rem}.cert-verify-list dt{margin:0;color:var(--admin-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.cert-verify-list dd{margin:0;color:var(--admin-navy)}.cert-verify-list code{word-break:break-all;font-size:.8rem}@media(max-width:900px){.att-status-grid,.att-lesson-form{grid-template-columns:1fr}.att-roster-table th,.att-roster-table td{white-space:normal}}:root{--vtc-navy: #0b2349;--vtc-navy-2: #173b70;--vtc-blue: #009bd7;--vtc-blue-soft: #e7f7fd;--vtc-yellow: #ffc72c;--vtc-sky: #77d6f7;--vtc-surface: #f4f7fb;--vtc-card: #ffffff;--vtc-border: #dbe4ef;--vtc-muted: #617086;--vtc-shadow-sm: 0 6px 18px rgba(11, 35, 73, .07);--vtc-shadow-lg: 0 22px 55px rgba(11, 35, 73, .13)}body{background:radial-gradient(circle at 8% 4%,rgba(0,155,215,.08),transparent 25rem),linear-gradient(180deg,#f8fbff,#f3f6fa)}body:before{opacity:.16;background-image:linear-gradient(rgba(11,35,73,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(11,35,73,.04) 1px,transparent 1px);background-size:40px 40px}.ui-icon{width:1.2em;height:1.2em;flex:0 0 auto;display:inline-block;vertical-align:-.18em}:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid rgba(0,155,215,.35);outline-offset:3px}.loading-state,.empty-state,.error-state{position:relative;overflow:hidden;border-radius:16px}.loading-state:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.7) 48%,transparent 76%);animation:vtc-shimmer 1.7s infinite}@keyframes vtc-shimmer{to{transform:translate(100%)}}.vtc-public{display:flex;flex-direction:column;min-height:100vh;color:var(--vtc-navy);background:radial-gradient(circle at 95% 15%,rgba(119,214,247,.14),transparent 26rem),var(--vtc-surface)}.vtc-public>main{flex:1 0 auto;width:100%}.vtc-header{min-height:78px;border-bottom:1px solid rgba(219,228,239,.85);box-shadow:0 4px 22px #0b23490d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.vtc-identity{gap:.85rem}.vtc-logo-shell{position:relative;display:inline-grid;place-items:center;flex:0 0 auto}.vtc-logo-fallback{display:grid;place-items:center;width:3.2rem;height:auto;aspect-ratio:1.45;border-radius:.45rem .95rem;background:linear-gradient(135deg,var(--vtc-blue),#0676be);color:#fff;font:800 .88rem/1 var(--font-display);letter-spacing:.04em;box-shadow:inset 0 -3px #0b234938}.vtc-logo-shell.is-fallback .vtc-logo{display:none}.vtc-logo-shell.is-fallback .vtc-logo-fallback{display:grid}.vtc-logo-shell--light .vtc-logo-fallback{color:var(--vtc-navy);background:#fff}.vtc-header-nav a{position:relative;display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .2rem}.vtc-header-nav a:after{content:"";position:absolute;right:50%;bottom:0;left:50%;height:3px;border-radius:99px;background:var(--vtc-yellow);transition:inset .18s ease}.vtc-header-nav a:hover:after,.vtc-header-nav a.active:after{right:0;left:0}.vtc-admin-link{border-radius:999px;box-shadow:0 7px 18px #0b23491f}.vtc-hero{min-height:min(620px,72vh);isolation:isolate;background:radial-gradient(circle at 77% 28%,rgba(119,214,247,.42),transparent 13rem),radial-gradient(circle at 82% 44%,rgba(255,199,44,.2),transparent 17rem),linear-gradient(125deg,#071b39,#0c315f 56%,#0876a5)}.vtc-hero:before,.vtc-hero:after{content:"";position:absolute;pointer-events:none;z-index:-1}.vtc-hero:before{width:clamp(16rem,35vw,32rem);aspect-ratio:1;right:5%;top:8%;border:1px solid rgba(255,255,255,.22);border-radius:42% 58% 63% 37%/47% 35% 65% 53%;box-shadow:0 0 0 38px #ffffff09,0 0 0 76px #ffffff06;animation:vtc-orbit 18s linear infinite}.vtc-hero:after{inset:0;opacity:.18;background-image:radial-gradient(#fff 1px,transparent 1px);background-size:26px 26px;-webkit-mask-image:linear-gradient(90deg,transparent 45%,#000);mask-image:linear-gradient(90deg,transparent 45%,#000)}.vtc-hero-media{background:linear-gradient(135deg,transparent 0 48%,rgba(255,255,255,.07) 48% 50%,transparent 50%),linear-gradient(45deg,transparent 0 72%,rgba(255,199,44,.12) 72%);opacity:1}.vtc-hero-panel{border:1px solid rgba(255,255,255,.2);border-radius:6px 34px;background:#071b39c2;box-shadow:0 30px 75px #020e1f59;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.vtc-course-search{border-radius:14px;box-shadow:0 14px 30px #020e1f40}.vtc-course-search-icon{display:grid;place-items:center}.vtc-results-toolbar h1,.vtc-results-toolbar h2{letter-spacing:-.035em}.vtc-course-grid{align-items:stretch}.vtc-course-card{position:relative;overflow:hidden;border:1px solid var(--vtc-border);border-radius:7px 25px;background:linear-gradient(180deg,rgba(231,247,253,.68),transparent 7.4rem),#fff;box-shadow:var(--vtc-shadow-sm)}.vtc-course-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(var(--vtc-blue),var(--vtc-sky))}.vtc-course-card:nth-child(3n+2):before{background:linear-gradient(#ffb800,var(--vtc-yellow))}.vtc-course-card:nth-child(3n):before{background:linear-gradient(#7059c8,#a899e8)}.vtc-course-card:hover{transform:translateY(-7px);border-color:#009bd773;box-shadow:var(--vtc-shadow-lg)}.vtc-card-heading{min-height:3.6rem}.vtc-card-heading>span,.vtc-course-status{border-radius:999px}.vtc-card-facts>div{position:relative;padding-left:.1rem}.vtc-card-fact-icon{display:inline-grid;place-items:center;width:2rem;height:2rem;color:#0879ae;border-radius:9px;background:var(--vtc-blue-soft)}.vtc-card-link{margin-top:auto;border-top:1px solid var(--vtc-border);padding-top:1rem}.vtc-pagination{padding:.65rem;border:1px solid var(--vtc-border);border-radius:999px;background:#fff;box-shadow:var(--vtc-shadow-sm)}.vtc-support-strip{position:relative;overflow:hidden;border-radius:7px 30px;background:radial-gradient(circle at 92% 20%,rgba(119,214,247,.28),transparent 12rem),var(--vtc-navy);box-shadow:var(--vtc-shadow-lg)}.vtc-support-strip:after{content:"";position:absolute;width:12rem;aspect-ratio:1;right:-3rem;bottom:-8rem;border:24px solid rgba(255,199,44,.2);transform:rotate(24deg)}.vtc-footer{border-top:5px solid var(--vtc-yellow);background:radial-gradient(circle at 86% 15%,rgba(0,155,215,.16),transparent 18rem),#071b39}.vtc-footer-accent{display:block;width:3.5rem;height:.25rem;margin-top:.55rem;border-radius:99px;background:linear-gradient(90deg,var(--vtc-blue) 0 72%,var(--vtc-yellow) 72%)}.reg-page,.public-journey-main,.certificate-public-main{width:min(1120px,calc(100% - 2rem));margin-inline:auto}.reg-form{position:relative}.reg-progress,.journey-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:0 0 1.25rem;padding:.75rem;border:1px solid var(--vtc-border);border-radius:16px;background:#fff;box-shadow:var(--vtc-shadow-sm)}.reg-progress.is-four{grid-template-columns:repeat(4,minmax(0,1fr))}.reg-progress.is-dynamic{display:flex;flex-wrap:nowrap;justify-content:stretch;gap:.35rem}.reg-progress.is-dynamic .reg-progress-step{flex:1 1 0;min-width:0;padding:.5rem .45rem;gap:.4rem}.reg-progress.is-dynamic .reg-progress-step>span:last-child{white-space:normal}@media(max-width:720px){.reg-registration-page .reg-progress.is-dynamic{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;gap:.35rem;padding:.45rem}.reg-registration-page .reg-progress.is-dynamic .reg-progress-step{min-width:0;padding:.45rem .5rem;gap:.45rem}.reg-registration-page .reg-progress.is-dynamic .reg-progress-step>span:last-child{white-space:normal}}.reg-progress-step>span:last-child{display:block;width:auto;height:auto;min-width:0;background:none;line-height:1.25;text-align:left;white-space:nowrap}.reg-progress-step{display:flex;align-items:center;gap:.6rem;min-width:0;padding:.6rem .75rem;color:var(--vtc-muted);border-radius:11px;font-size:.8rem;font-weight:800}.reg-progress-step>span:first-child,.reg-step-number{display:grid;place-items:center;width:1.9rem;height:1.9rem;flex:0 0 auto;border-radius:50%;color:var(--vtc-navy);background:#e7edf5}.reg-progress-step.is-active,.reg-progress-step.is-complete{color:var(--vtc-navy);background:var(--vtc-blue-soft)}.reg-progress-step.is-active>span:first-child,.reg-progress-step.is-complete>span:first-child{color:#fff;background:var(--vtc-blue)}.reg-part{position:relative;overflow:hidden;border:1px solid var(--vtc-border);border-radius:7px 24px;box-shadow:var(--vtc-shadow-sm)}.reg-part:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(var(--vtc-blue),var(--vtc-sky))}.reg-part-heading{display:flex;align-items:flex-start;gap:.75rem}.reg-course-block,.reg-course-total,.reg-fee-summary,.reg-otp-box{border-radius:14px}.reg-success,.public-result-card,.public-status-card,.journey-card{position:relative;overflow:hidden;border:1px solid var(--vtc-border);border-radius:8px 30px;background:#fff;box-shadow:var(--vtc-shadow-lg)}.reg-success:before,.public-result-card:before,.public-status-card:before,.journey-card:before{content:"";position:absolute;inset:0 0 auto;height:6px;background:linear-gradient(90deg,var(--vtc-blue) 0 75%,var(--vtc-yellow) 75%)}.public-result-icon,.journey-icon,.reg-success-icon{display:grid;place-items:center;width:4.5rem;height:4.5rem;margin-bottom:1rem;border-radius:22px;color:#0879ae;background:var(--vtc-blue-soft)}.admin-shell,.admin-page{--admin-navy: #0b2349;--admin-blue: #009bd7;--admin-yellow: #ffc72c;--admin-border: #dbe4ef;--admin-muted: #627187;font-family:DM Sans,Manrope,Segoe UI,sans-serif}.admin-shell{background:radial-gradient(circle at 92% 2%,rgba(0,155,215,.1),transparent 26rem),#f1f5f9}.admin-topbar{border-bottom:1px solid rgba(219,228,239,.75);box-shadow:0 5px 24px #0b234914;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.admin-topbar-actions{gap:.85rem}.admin-user-avatar{display:grid;place-items:center;width:2.35rem;height:2.35rem;flex:0 0 auto;color:#fff;border-radius:12px;background:linear-gradient(135deg,var(--admin-blue),#116db0);box-shadow:0 7px 17px #009bd740}.admin-frame{gap:1.1rem}.admin-nav{position:sticky;top:5.6rem;align-self:start;overflow:hidden;border-radius:7px 22px;box-shadow:0 18px 45px #04163329}.admin-nav:before{content:"";display:block;height:5px;margin:-1rem -1rem 1rem;background:linear-gradient(90deg,var(--admin-blue) 0 72%,var(--admin-yellow) 72%)}.admin-tab{position:relative;display:flex;align-items:center;gap:.72rem;min-height:44px;border-radius:10px}.admin-tab .ui-icon{width:1.15rem;height:1.15rem;opacity:.72}.admin-tab.is-active{box-shadow:0 8px 18px #0000001f}.admin-tab.is-active:after{content:"";position:absolute;right:.6rem;width:5px;height:5px;border-radius:50%;background:var(--admin-yellow);box-shadow:0 0 0 4px #ffc72c29}.admin-main.panel{position:relative;overflow:hidden;border:1px solid rgba(219,228,239,.9);border-radius:7px 26px;box-shadow:0 22px 55px #0b234917}.admin-main.panel:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--admin-blue) 0 78%,var(--admin-yellow) 78%)}.admin-feature-header{position:relative;display:flex;align-items:center;gap:.9rem;margin:-.1rem -.1rem 1.5rem;padding:1.15rem 1.25rem;border:1px solid #dce8f4;border-radius:5px 18px;background:radial-gradient(circle at 92% 18%,rgba(0,155,215,.11),transparent 10rem),linear-gradient(135deg,#f9fcff,#edf6fb)}.admin-feature-heading{min-width:0}.admin-feature-heading>*{margin-block:.12rem}.admin-feature-icon{display:grid;place-items:center;width:3rem;height:3rem;flex:0 0 auto;color:#0879ae;border-radius:14px;background:#fff;border:1px solid #d5e8f3;box-shadow:var(--vtc-shadow-sm)}.admin-route-content,.admin-outlet-transition{animation:admin-route-in .26s ease both}.admin-user{display:flex;align-items:center;gap:.65rem}.admin-user-details{display:grid;gap:.15rem}.admin-user-details>strong{font-size:.82rem}@keyframes admin-route-in{0%{opacity:0;transform:translateY(7px)}}.admin-feature{position:relative}.admin-detail-toolbar,.admin-toolbar,.course-admin-toolbar{padding:.9rem;border:1px solid var(--admin-border);border-radius:14px;background:#f9fbfd}.admin-form-section,.reg-course-dashboard-card,.att-status-card,.cert-panel,.rbac-panel,.admin-chart-panel{overflow:hidden;border-color:var(--admin-border);border-radius:5px 18px;box-shadow:0 7px 20px #0b23490e;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.reg-course-dashboard-card:hover,.att-status-card:hover{border-color:#009bd76b;box-shadow:0 14px 30px #0b234917;transform:translateY(-2px)}.admin-form-section{position:relative}.admin-form-section:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--admin-blue)}.admin-summary-strip,.admin-kpi-grid,.feature-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:.7rem;margin:0 0 1rem}.admin-kpi,.admin-summary-card,.feature-kpi{position:relative;overflow:hidden;min-height:86px;padding:.9rem 1rem;border:1px solid var(--admin-border);border-radius:5px 16px;background:linear-gradient(145deg,#fff,#f7fbfe);box-shadow:var(--vtc-shadow-sm)}.admin-kpi:after,.admin-summary-card:after,.feature-kpi:after{content:"";position:absolute;right:-1.25rem;bottom:-1.75rem;width:4.5rem;aspect-ratio:1;border-radius:50%;background:#009bd714}.admin-kpi strong,.admin-summary-card strong,.feature-kpi strong{display:block;color:var(--admin-navy);font:700 1.55rem/1.2 Sora,sans-serif}.admin-kpi span,.admin-summary-card span,.feature-kpi span{color:var(--admin-muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.045em}.admin-shell table{border-collapse:separate;border-spacing:0}.admin-shell tbody tr{transition:background-color .16s ease,box-shadow .16s ease}.admin-shell tbody tr:nth-child(2n){background:#f8fafc}.admin-shell tbody tr:hover{background:#edf8fc}.admin-shell thead th{color:#41546d;background:#eef3f8;font-size:.73rem;text-transform:uppercase;letter-spacing:.045em}.admin-shell .btn{border-radius:9px}.admin-shell .btn-primary{box-shadow:0 8px 18px #0b234929}.admin-shell input,.admin-shell textarea,.admin-shell select{border-radius:9px;background-color:#fff}.admin-shell .loading-state,.admin-shell .empty-state,.admin-shell .error-state{min-height:88px;display:grid;place-items:center;border-style:solid;background:radial-gradient(circle at 90% 10%,rgba(0,155,215,.09),transparent 8rem),#f8fbfd}.admin-chart-panel{background:linear-gradient(180deg,rgba(231,247,253,.42),transparent 5rem),#fff}.admin-chart-panel:before{content:"";display:block;height:4px;margin:-1rem -1rem 1rem;background:linear-gradient(90deg,var(--admin-blue),#70d0ef)}.att-scan-panel{position:relative;overflow:hidden;border-radius:6px 24px;background:radial-gradient(circle at 50% 28%,rgba(0,155,215,.18),transparent 17rem),#071b39;color:#fff;box-shadow:0 22px 50px #04163338}.att-scanner-stage{position:relative;width:min(100%,560px);margin-inline:auto}.att-scan-corner{position:absolute;z-index:2;width:2rem;height:2rem;border-color:var(--admin-yellow);border-style:solid;pointer-events:none}.att-scan-corner:nth-of-type(1){inset:1rem auto auto 1rem;border-width:3px 0 0 3px}.att-scan-corner:nth-of-type(2){inset:1rem 1rem auto auto;border-width:3px 3px 0 0}.att-scan-corner:nth-of-type(3){inset:auto auto 1rem 1rem;border-width:0 0 3px 3px}.att-scan-corner:nth-of-type(4){inset:auto 1rem 1rem auto;border-width:0 3px 3px 0}.att-scan-line{position:absolute;z-index:2;left:10%;right:10%;top:20%;height:2px;background:var(--admin-yellow);box-shadow:0 0 12px var(--admin-yellow);animation:att-scan-line 2.2s ease-in-out infinite alternate;pointer-events:none}@keyframes att-scan-line{to{top:78%}}@keyframes vtc-orbit{to{transform:rotate(360deg)}}@media(max-width:900px){.admin-nav{position:static}.admin-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.vtc-header{min-height:auto}.vtc-hero{min-height:570px}.vtc-hero-panel{border-radius:5px 24px}.vtc-course-card,.reg-part,.admin-main.panel{border-radius:5px 18px}.reg-progress,.journey-progress{grid-template-columns:1fr}.admin-feature-heading{align-items:flex-start}.admin-feature-icon{width:2.5rem;height:2.5rem}}@media(prefers-reduced-motion:reduce){.loading-state:after,.vtc-hero:before,.att-scan-line,.admin-route-content{animation:none!important}.vtc-course-card,.reg-course-dashboard-card,.att-status-card{transition:none}}.vtc-state{display:grid;justify-items:center;gap:.6rem;min-height:132px;padding:1.5rem;text-align:center;color:var(--vtc-muted);border:1px solid var(--vtc-border);border-radius:6px 20px;background:radial-gradient(circle at 86% 12%,rgba(0,155,215,.1),transparent 8rem),#fff}.vtc-state>.ui-icon,.vtc-state-icon{display:grid;place-items:center;width:3rem;height:3rem;color:#0879ae;border-radius:14px;background:var(--vtc-blue-soft)}.vtc-state-icon .ui-icon{width:1.4rem;height:1.4rem}.vtc-state p{margin:0}.vtc-state-error{color:#9f2f2f;border-color:#f1c7c7;background:#fff8f8}.vtc-card-department,.vtc-card-status{display:inline-flex;align-items:center;gap:.35rem}.vtc-card-department .ui-icon,.vtc-card-facts dt .ui-icon{width:1rem;height:1rem;color:#0879ae}.vtc-card-status{width:fit-content;margin:.85rem 0 .1rem;padding:.28rem .55rem;border-radius:999px;font-size:.72rem;font-weight:800}.vtc-card-status.is-open{color:#12613f;background:#e2f6eb}.vtc-card-status.is-closed{color:#815500;background:#fff2ce}.vtc-card-facts dt{display:flex;align-items:center;gap:.35rem}.reg-progress{list-style:none;counter-reset:none}.reg-progress li{display:flex;align-items:center;gap:.65rem;min-width:0;padding:.65rem .75rem;color:var(--vtc-muted);border-radius:11px;font-size:.8rem;font-weight:800}.reg-progress li>span:first-child{display:grid;place-items:center;width:1.9rem;height:1.9rem;flex:0 0 auto;color:var(--vtc-navy);border-radius:50%;background:#e7edf5}.reg-progress li.is-current,.reg-progress li.is-complete{color:var(--vtc-navy);background:var(--vtc-blue-soft)}.reg-progress li.is-current>span:first-child,.reg-progress li.is-complete>span:first-child{color:#fff;background:var(--vtc-blue)}.reg-progress li.is-complete>span:first-child{background:#178655}.reg-part-number{display:grid;place-items:center;width:2.4rem;height:2.4rem;flex:0 0 auto;color:#fff;border-radius:13px;background:linear-gradient(135deg,var(--vtc-blue),#0879ae);box-shadow:0 7px 16px #009bd733;font-weight:800}.reg-success{padding:clamp(1.5rem,4vw,2.5rem)}.reg-success-icon .ui-icon{width:2.2rem;height:2.2rem}.public-service-page{display:grid;place-items:center;min-height:calc(100vh - 220px);padding-block:clamp(2.5rem,8vw,6rem)}.public-service-card{position:relative;overflow:hidden;width:min(720px,100%);padding:clamp(1.35rem,4vw,2.5rem);border:1px solid var(--vtc-border);border-radius:7px 28px;background:radial-gradient(circle at 92% 8%,rgba(0,155,215,.11),transparent 12rem),#fff;box-shadow:var(--vtc-shadow-lg)}.public-service-card:before,.reg-pay-panel:before{content:"";position:absolute;inset:0 0 auto;height:6px;background:linear-gradient(90deg,var(--vtc-blue) 0 76%,var(--vtc-yellow) 76%)}.public-service-card-header,.public-service-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.public-service-card-header{justify-content:flex-start;margin-bottom:1.25rem}.public-service-card-header h1,.public-service-heading h1{margin:.15rem 0 0}.public-service-icon,.reg-pay-shield{display:grid;place-items:center;width:3.5rem;height:3.5rem;flex:0 0 auto;color:#0879ae;border:1px solid #d2eaf5;border-radius:17px;background:var(--vtc-blue-soft);box-shadow:var(--vtc-shadow-sm)}.public-service-icon.is-error{color:#a53535;border-color:#f1c7c7;background:#fff0f0}.public-back-link{display:inline-flex;align-items:center;gap:.4rem;margin-top:1.15rem;color:#086f9e;font-weight:800}.public-back-link .ui-icon{transform:rotate(180deg);transition:transform .16s ease}.public-back-link:hover .ui-icon{transform:rotate(180deg) translate(3px)}.cert-verdict{display:flex;align-items:flex-start;gap:.8rem;margin-bottom:1rem;padding:1rem;border:1px solid;border-radius:14px}.cert-verdict>.ui-icon{width:1.65rem;height:1.65rem;flex:0 0 auto}.cert-verdict strong,.cert-verdict p{display:block;margin:0}.cert-verdict.is-valid{color:#176443;border-color:#b9e4cc;background:#effaf4}.cert-verdict.is-revoked{color:#9f2f2f;border-color:#f1c7c7;background:#fff4f4}.cert-public-card .cert-verify-list{grid-template-columns:repeat(2,minmax(0,1fr))}.cert-public-card .cert-verify-list>div{padding:.75rem;border:1px solid var(--vtc-border);border-radius:10px;background:#f9fbfd}.reg-pay-panel{position:relative;overflow:hidden;max-width:760px;margin-inline:auto;padding:clamp(1.2rem,4vw,2rem);border-radius:7px 26px;box-shadow:var(--vtc-shadow-lg)}.reg-pay-header{display:flex;align-items:center;gap:.85rem}.reg-pay-method{min-width:118px;border-radius:10px;transition:border-color .16s ease,background-color .16s ease,transform .16s ease}.reg-pay-method:hover{transform:translateY(-1px)}.reg-pay-method.is-selected{border-color:var(--vtc-blue);background:var(--vtc-blue-soft);box-shadow:inset 0 -3px 0 var(--vtc-blue)}.admin-state{gap:.45rem;padding:1.25rem}.admin-state>.ui-icon{width:1.6rem;height:1.6rem;color:var(--admin-blue)}.admin-summary-strip{margin-bottom:1rem}.admin-summary-item{position:relative;overflow:hidden;min-height:86px;padding:.9rem 1rem;border:1px solid var(--admin-border);border-radius:5px 16px;background:linear-gradient(145deg,#fff,#f6fbfe);box-shadow:var(--vtc-shadow-sm)}.admin-summary-item:after{content:"";position:absolute;right:-1.3rem;bottom:-1.8rem;width:4.8rem;aspect-ratio:1;border-radius:50%;background:#009bd714}.admin-summary-item dt{color:var(--admin-muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.045em}.admin-summary-item dd{margin:.25rem 0 0;color:var(--admin-navy);font:700 1.45rem/1.2 Sora,sans-serif}.admin-feature--courses,.admin-feature--attendance-course{--feature-accent: #078fc7}.admin-feature--registrations,.admin-feature--course-applicants{--feature-accent: #6854bd}.admin-feature--attendance,.admin-feature--lesson-attendance{--feature-accent: #16866a}.admin-feature--certificate-issuance,.admin-feature--certificate-config{--feature-accent: #c98508}.admin-feature--forms{--feature-accent: #0879ae}.admin-feature--discounts{--feature-accent: #b65b38}.admin-feature--rbac{--feature-accent: #7059c8}.admin-feature--audit,.admin-feature--smtp-settings{--feature-accent: #49657f}.admin-feature[class*=admin-feature--] .admin-form-section:before{background:var(--feature-accent, var(--admin-blue))}.admin-feature[class*=admin-feature--] .admin-summary-item:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--feature-accent, var(--admin-blue))}.admin-feature-accent{position:absolute;inset:auto 1.2rem 1rem auto;width:4rem;height:.35rem;border-radius:99px;background:linear-gradient(90deg,var(--admin-blue) 0 70%,var(--admin-yellow) 70%)}.att-scan-panel-heading,.att-scan-feedback,.att-scan-progress{display:flex;align-items:center;gap:.8rem}.att-scan-panel-heading h2,.att-scan-panel-heading p{margin-block:.1rem}.att-scan-panel-icon,.att-scan-feedback-icon,.att-scan-progress-icon{display:grid;place-items:center;width:2.8rem;height:2.8rem;flex:0 0 auto;border-radius:13px;color:var(--admin-yellow);background:#ffffff17}.att-scan-feedback{padding:.75rem .9rem;border-radius:12px}.att-scan-feedback span:last-child{display:grid}.att-scan-feedback small{margin-top:.1rem}.att-scan-workspace{display:grid;grid-template-columns:minmax(280px,1.2fr) minmax(250px,.8fr);gap:1rem;align-items:center}.att-scan-frame{position:relative;min-height:310px;padding:1rem;border:1px solid rgba(255,255,255,.15);border-radius:18px;background:#00000038}.att-scan-frame.is-scanning:after{content:"";position:absolute;z-index:2;left:12%;right:12%;top:20%;height:2px;background:var(--admin-yellow);box-shadow:0 0 13px var(--admin-yellow);animation:att-scan-line 2.2s ease-in-out infinite alternate;pointer-events:none}.att-scan-corner.is-top-left{inset:1rem auto auto 1rem;border-width:3px 0 0 3px}.att-scan-corner.is-top-right{inset:1rem 1rem auto auto;border-width:3px 3px 0 0}.att-scan-corner.is-bottom-left{inset:auto auto 1rem 1rem;border-width:0 0 3px 3px}.att-scan-corner.is-bottom-right{inset:auto 1rem 1rem auto;border-width:0 3px 3px 0}.att-scan-placeholder{position:absolute;inset:1rem;display:grid;place-content:center;justify-items:center;gap:.35rem;color:#ffffffb8;text-align:center}.att-scan-placeholder .ui-icon{width:3rem;height:3rem;margin-bottom:.4rem;color:var(--admin-yellow)}.att-scan-controls{padding:1rem}.att-scan-divider{display:flex;align-items:center;gap:.6rem;margin:1rem 0;color:#ffffff8c;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}.att-scan-divider:before,.att-scan-divider:after{content:"";height:1px;flex:1;background:#ffffff24}.att-manual-token-field{color:#ffffffbf}.att-scan-progress{margin-top:.35rem;padding:.75rem;border-radius:12px;background:#ffffff14}@media(max-width:760px){.cert-public-card .cert-verify-list,.att-scan-workspace{grid-template-columns:1fr}.public-service-card-header,.public-service-heading{align-items:flex-start}}@media(prefers-reduced-motion:reduce){.att-scan-frame.is-scanning:after{animation:none}}.vtc-hero-panel{color:var(--vtc-navy);border:1px solid rgba(255,255,255,.78);border-left:5px solid var(--vtc-yellow);background:linear-gradient(145deg,#fffffff7,#f0f8fded);box-shadow:0 28px 65px #020e1f47,inset 0 1px #fff;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.vtc-hero-panel h1{color:var(--vtc-navy)}.vtc-hero-panel .vtc-hero-blurb{color:#52657c}.vtc-hero-panel .vtc-logo-fallback{color:#fff;background:linear-gradient(135deg,var(--vtc-blue),#0676be)}.vtc-support-strip{width:min(1180px,calc(100% - 2rem));margin:0 auto 3rem;padding:1.35rem 1.5rem;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;justify-content:initial;gap:1rem;color:#fff;border:1px solid rgba(119,214,247,.18);border-radius:6px 22px;background:radial-gradient(circle at 92% 15%,rgba(0,155,215,.28),transparent 13rem),linear-gradient(115deg,#0a2145,#123766);box-shadow:0 16px 38px #0b234929}.vtc-support-strip:before{right:7rem;top:-6.5rem;width:15rem;height:15rem;border:1px solid rgba(255,255,255,.11);background:transparent}.vtc-support-strip:after{right:-4.5rem;bottom:-10rem;opacity:.65}.vtc-support-icon,.vtc-support-copy,.vtc-support-cta{position:relative;z-index:1}.vtc-support-icon{display:grid;place-items:center;width:3.25rem;height:3.25rem;color:var(--vtc-navy);border-radius:15px;background:var(--vtc-yellow);box-shadow:0 8px 18px #020e1f38}.vtc-support-icon .ui-icon{width:1.45rem;height:1.45rem}.vtc-support-copy strong{display:block;color:#fff;font-size:1.05rem}.vtc-support-copy p{margin-top:.2rem;color:#ffffffc2;font-size:.88rem}.vtc-support-cta{min-height:44px;padding:.7rem 1rem;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;color:var(--vtc-navy);border-radius:10px;background:var(--vtc-yellow);box-shadow:0 8px 18px #020e1f33;font-weight:800;white-space:nowrap;transition:transform .16s ease,box-shadow .16s ease}.vtc-support-cta:hover{transform:translateY(-2px);box-shadow:0 12px 24px #020e1f42}@media(max-width:700px){.vtc-support-strip{grid-template-columns:auto minmax(0,1fr)}.vtc-support-cta{grid-column:1 / -1;width:100%}}.vtc-hero{background:#071628}.vtc-hero:before,.vtc-hero:after{display:none}.vtc-hero-media{opacity:1;background:linear-gradient(90deg,rgba(247,249,252,.97) 0%,rgba(247,249,252,.88) 34%,rgba(247,249,252,.18) 58%,transparent 72%),url(/images/hero-workshop.jpg) right center / cover no-repeat;animation:vtc-hero-ken 20s ease-out forwards}@media(max-width:820px){.vtc-hero-media{background:linear-gradient(180deg,transparent 55%,rgba(7,22,40,.18)),url(/images/hero-workshop.jpg) center / cover no-repeat}}.reg-registration-page{width:100%}.reg-registration-page .reg-part{padding:1.35rem 1.5rem 1.5rem;overflow:visible}.reg-registration-page .reg-part:before{border-radius:7px 0 0 7px}.reg-registration-page .reg-form{width:100%;max-width:none}.reg-registration-page .reg-alert{max-width:none}.reg-registration-page .reg-progress,.reg-registration-page>.reg-field{width:100%;max-width:none}.reg-registration-page .reg-question-grid,.reg-registration-page .reg-answer-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.5rem;align-items:start}.reg-registration-page .reg-question-grid,.reg-registration-page .reg-course-list{grid-template-columns:minmax(0,1fr);align-items:start}.reg-registration-page .reg-question-grid>.reg-fieldset,.reg-registration-page .reg-question-grid>.reg-statement,.reg-registration-page .reg-question-grid>.reg-acceptance,.reg-registration-page .reg-question-grid>.reg-field:has(textarea),.reg-registration-page .reg-span{grid-column:1 / -1}.reg-registration-page .reg-question-grid>.reg-fieldset:not(:has(.reg-option:nth-child(5))){grid-column:auto}.reg-registration-page .reg-question-grid>.reg-fieldset:first-child:not(:has(.reg-option:nth-child(5))){grid-column:1 / -1}.reg-registration-page .reg-question-grid>.reg-field:has(select){grid-column:1 / -1}.reg-registration-page .reg-fieldset{margin:0;min-inline-size:0;padding:.85rem 1rem 1rem;border:0;border-radius:12px;background:#f5f8fb}.reg-registration-page .reg-fieldset legend{float:none;width:100%;margin-bottom:.65rem;padding:0}.reg-registration-page .reg-field{padding:.85rem 1rem 1rem;border-radius:12px;background:#f5f8fb}.reg-registration-page .reg-field input,.reg-registration-page .reg-field select,.reg-registration-page .reg-field textarea{border-radius:10px}.reg-registration-page .reg-options{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem}.reg-registration-page .reg-option{width:auto;align-items:center;gap:.45rem;margin:0;padding:.4rem .75rem .4rem .55rem;border:1px solid #d5e0ea;border-radius:999px;background:#fff;cursor:pointer;line-height:1.3}.reg-registration-page .reg-option:hover{border-color:var(--vtc-blue)}.reg-registration-page .reg-option:has(input:checked){border-color:var(--vtc-navy);background:#fff;color:var(--vtc-navy);box-shadow:inset 0 0 0 1px var(--vtc-navy)}.reg-registration-page .reg-option input{margin-top:0;accent-color:var(--vtc-navy)}@media(max-width:820px){.reg-registration-page .reg-question-grid,.reg-registration-page .reg-answer-list,.reg-registration-page .reg-course-list,.reg-registration-page .reg-course-facts,.reg-registration-page .reg-course-facts>div{grid-template-columns:1fr}}.admin-list--courses{display:grid;gap:.85rem}.admin-intake-tabs{display:flex;flex-wrap:wrap;gap:.45rem;margin:0 0 .85rem}.admin-intake-tab{display:inline-flex;align-items:center;gap:.55rem;min-height:40px;padding:.45rem .8rem;border:1px solid var(--admin-border);border-radius:999px;background:#fff;color:var(--admin-navy);cursor:pointer}.admin-intake-tab strong{font-size:.92rem}.admin-intake-tab span{min-width:1.6rem;padding:.1rem .45rem;border-radius:999px;background:#eef3f8;color:var(--admin-muted);font-size:.75rem;font-weight:800;text-align:center}.admin-intake-tab.is-active{border-color:var(--admin-navy);background:var(--admin-navy);color:#fff}.admin-intake-tab.is-active span{background:#ffffff29;color:#fff}.admin-courses-filters{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(9rem,.7fr) minmax(11rem,.9fr);gap:.65rem;margin:0 0 .85rem;align-items:end}.admin-courses-filter-field{display:grid;gap:.3rem;margin:0;color:var(--admin-muted);font-size:.78rem;font-weight:700}.admin-courses-filter-field select{min-height:42px;width:100%}.admin-courses-table-wrap{overflow-x:auto;border:1px solid var(--admin-border);border-radius:10px;background:#fff}.admin-courses-table{width:100%;border-collapse:collapse;min-width:920px}.admin-courses-table th,.admin-courses-table td{padding:.7rem .8rem;border-bottom:1px solid #e7edf4;text-align:left;vertical-align:middle;font-size:.88rem}.admin-courses-table th{position:sticky;top:0;z-index:1;background:#eef3f8;color:#41546d;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.045em}.admin-courses-table tbody tr:hover{background:#f5faff}.admin-courses-table tbody tr:last-child td{border-bottom:0}.admin-courses-title-cell{display:grid;gap:.15rem;min-width:12rem}.admin-courses-title-cell strong{color:var(--admin-navy);font-size:.9rem}.admin-courses-title-cell span{color:var(--admin-muted);font-size:.82rem;line-height:1.35}.admin-courses-row-actions{flex-wrap:nowrap}.admin-courses-row-actions .btn{min-height:34px;padding:.35rem .7rem;font-size:.78rem}@media(max-width:900px){.admin-courses-filters{grid-template-columns:1fr}.admin-courses-row-actions{flex-wrap:wrap}}.applications-shell{display:flex;flex-direction:column}.applications-shell .vtc-footer{border-top:0}.applications-shell .vtc-footer-accent{display:none}.applications-page{flex:1;display:flex;align-items:safe center;justify-content:center;padding:2.5rem 1.25rem}.applications-card{width:min(1100px,100%);margin:0;display:grid;gap:1rem}.applications-card h1{margin:0}.applications-records-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.applications-gate{width:min(36rem,calc(100% - 2rem));justify-items:stretch;text-align:center;gap:0;padding:2.75rem 2.25rem 2.25rem;border:0;border-radius:1.35rem;background:#fff;box-shadow:0 18px 50px #0c234814;box-sizing:border-box}.applications-gate>*{min-width:0;max-width:100%}.applications-kicker{margin:0;color:#7b8ba3;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.applications-lead{margin:1.15rem 0 0;color:var(--vtc-navy);font-size:.95rem;font-weight:650}.applications-gate h1.applications-email{margin:.2rem 0 1.15rem;color:var(--vtc-navy);font-size:1.05rem;font-weight:700;line-height:1.3;letter-spacing:-.01em}.applications-back{justify-self:start;margin-bottom:.75rem}.applications-form{display:grid;gap:.85rem;width:100%}.applications-form input,.applications-otp-input{width:100%;min-height:3rem;padding:.75rem 2.75rem .75rem .9rem;border:1px solid var(--vtc-border);border-radius:.7rem}.applications-otp{position:relative}.applications-otp-input.is-masked{color:transparent;caret-color:var(--vtc-navy)}.applications-otp-mask{position:absolute;top:0;left:.9rem;height:3rem;display:flex;align-items:center;color:var(--vtc-navy);letter-spacing:.08em;pointer-events:none}.applications-otp-toggle{position:absolute;top:0;right:0;display:grid;place-items:center;width:2.75rem;height:3rem;border:0;background:transparent;color:var(--vtc-navy);cursor:pointer}.applications-otp-toggle svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.applications-gate .btn-primary{width:100%;background:#0c2348;color:#fff;box-shadow:none}.applications-gate .btn-primary:hover{background:#16315f}.applications-table-wrap{overflow-x:auto}.applications-table{width:100%;border-collapse:collapse}.applications-table th,.applications-table td{padding:.75rem .65rem;border-bottom:1px solid var(--vtc-border);text-align:left;vertical-align:middle;white-space:nowrap}.applications-table thead th{color:var(--vtc-muted);font-size:.78rem}.applications-id{display:inline-flex;align-items:center;gap:.35rem}.applications-chevron{display:grid;place-items:center;width:1.75rem;height:1.75rem;padding:0;border:0;border-radius:.4rem;background:transparent;color:var(--vtc-navy);cursor:pointer}.applications-chevron svg,.applications-action svg{width:1.05rem;height:1.05rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.applications-chevron svg{transition:transform .15s ease}.applications-chevron.is-open svg{transform:rotate(90deg)}.applications-badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.78rem;font-weight:700;line-height:1.45;white-space:nowrap}.applications-badge.is-amber{background:#fff4d6;color:#8a5a00}.applications-badge.is-green{background:#e5f6ea;color:#1b7a3a}.applications-badge.is-teal{background:#e4f6f4;color:#0f6e68}.applications-badge.is-blue{background:var(--vtc-blue-soft);color:var(--vtc-navy)}.applications-badge.is-grey{background:#eef1f5;color:var(--vtc-muted)}.applications-action-wrap{display:inline-flex}.applications-action{display:inline-grid;place-items:center;width:2.25rem;height:2.25rem;padding:0}.vtc-public .applications-action:disabled{opacity:.55;cursor:not-allowed}.applications-courses-row td{white-space:normal;background:#f7f9fc}.applications-courses{margin:0;padding:.15rem 0 .15rem 2.4rem;list-style:none}.applications-course{display:flex;align-items:center;gap:.75rem;padding:.35rem 0}.applications-course-name{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.applications-course-meta{color:var(--vtc-muted);font-size:.82rem;line-height:1.45}.applications-course-status{flex:0 0 6.75rem;display:flex;justify-content:flex-end}.applications-course-action{flex:0 0 2.25rem;display:flex;justify-content:center}@media(max-width:720px){.applications-page{align-items:stretch;padding:1.25rem .75rem}.applications-records-head{flex-direction:column;align-items:flex-start}.applications-table-wrap{overflow-x:visible}.applications-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.applications-table,.applications-table tbody,.applications-table tr,.applications-table th,.applications-table td{display:block;width:auto}.applications-table tbody tr:not(.applications-courses-row){padding:.85rem 0;border-bottom:1px solid var(--vtc-border)}.applications-table tbody tr:not(.applications-courses-row)>th,.applications-table tbody tr:not(.applications-courses-row)>td{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.3rem 0;border-bottom:0;white-space:normal}.applications-table td[data-label]:before{content:attr(data-label);color:var(--vtc-muted);font-size:.78rem;font-weight:700}.applications-courses-row,.applications-courses-row td{display:block;border-bottom:0;padding-top:.15rem}.applications-courses{padding-left:.35rem}.applications-course{flex-wrap:wrap}.applications-course-name{flex:1 1 100%}.applications-course-status{margin-left:auto}}.form-template-create{display:inline-flex;align-items:center;gap:.4rem}.form-template-board{overflow:hidden;border:1px solid var(--admin-border);border-radius:5px 18px;background:#fff;box-shadow:0 7px 20px #0b23490e}.form-template-board-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border-bottom:1px solid #e7edf4;background:#f8fbfd}.form-template-search{display:flex;align-items:center;gap:.45rem;flex:1 1 16rem;min-width:0;color:var(--admin-muted)}.form-template-search input,.form-template-status-filter select,.form-template-page-size select{width:auto;min-height:36px}.form-template-search input{flex:1;min-width:0}.form-template-status-filter,.form-template-page-size{flex:0 0 auto}.form-template-status-filter select{min-width:9.5rem}.form-template-table-wrap{overflow-x:auto}.form-template-table{width:100%;min-width:640px;border-collapse:collapse}.form-template-table th,.form-template-table td{padding:.85rem 1rem;border-bottom:1px solid #e7edf4;text-align:left;vertical-align:middle;font-size:.9rem}.form-template-table th{background:#eef3f8;color:#41546d;font-size:.72rem;font-weight:800;letter-spacing:.045em;text-transform:uppercase}.form-template-table tbody tr:hover{background:#f5faff}.form-template-table tbody tr:last-child td{border-bottom:0}.form-template-table .is-id{width:4.5rem;color:var(--admin-muted);font-variant-numeric:tabular-nums}.form-template-table th.is-actions,.form-template-table td.is-actions{width:7.5rem;text-align:right}.form-template-name{display:grid;gap:.15rem}.form-template-name strong{color:var(--admin-navy)}.form-template-name span{color:var(--admin-muted);font-size:.8rem;line-height:1.35}.form-template-status{display:inline-flex;padding:.22rem .55rem;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.02em;text-transform:capitalize}.form-template-status.is-draft{background:#fff3d7;color:#895600}.form-template-status.is-published{background:#e7f7ef;color:#176443}.form-template-actions{display:inline-flex;justify-content:flex-end;gap:.4rem}.admin-shell .form-template-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;min-width:34px;height:34px;min-height:34px;padding:0;border-radius:8px}.admin-shell .form-template-icon .ui-icon{width:1.05rem;height:1.05rem}.admin-shell .form-template-icon--danger{border:1px solid #f0c2be;background:#fff;color:#c24134}.admin-shell .form-template-icon--danger:hover{border-color:#b42318;background:#fff6f5;color:#b42318}.form-template-pager{display:flex;align-items:center;justify-content:flex-end;gap:.4rem;padding:.75rem 1rem .9rem;border-top:1px solid #e7edf4}.form-template-page{display:inline-grid;place-items:center;min-width:32px;height:32px;padding:0 .45rem;border:1px solid var(--admin-border);border-radius:8px;background:#fff;color:var(--admin-navy);font:inherit;font-weight:700;cursor:pointer}.form-template-page:hover:not(:disabled){border-color:var(--admin-blue);color:var(--admin-blue)}.form-template-page:disabled{opacity:.4;cursor:not-allowed}.form-template-page.is-current{border-color:var(--admin-navy);background:var(--admin-navy);color:#fff}.form-template-create-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.form-template-create-head .admin-back-link{margin-bottom:.35rem}.form-template-editor{display:grid;gap:1rem;padding:clamp(1.15rem,2.5vw,1.6rem);border:1px solid var(--admin-border);border-top:4px solid var(--admin-blue);border-radius:5px 18px;background:#fff;box-shadow:0 7px 20px #0b23490e}.form-template-label{display:inline-flex;align-items:center;gap:.25rem}.field-required{color:#c24134;font-weight:800;text-decoration:none}.form-template-editor-note{margin:0}.form-template-editor-actions{display:flex;justify-content:flex-end}.section-title-combo{position:relative;display:block}.section-title-combo input{padding-right:2.2rem}.admin-shell .section-title-toggle{position:absolute;top:1px;right:1px;bottom:1px;width:2rem;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--admin-navy);cursor:pointer}.admin-shell .section-title-toggle:before{content:"";display:block;width:.45rem;height:.45rem;margin:0 auto;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-.1rem) rotate(45deg)}.section-title-menu{position:fixed;z-index:80;margin:0;padding:.25rem 0;list-style:none;background:#fff;border:1px solid var(--admin-border, #dbe4ef);border-radius:8px;box-shadow:0 10px 24px #0b234924}.section-title-menu button{display:block;width:100%;min-height:0;padding:.55rem .75rem;border:0;border-radius:0;background:transparent;color:var(--admin-navy);font:inherit;font-weight:650;text-align:left;cursor:pointer}.section-title-menu button:hover,.section-title-menu button.is-current{background:#edf6fb}.admin-back-link{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;max-width:100%;min-height:40px;margin-bottom:12px;padding:8px 16px 8px 12px;border:1px solid #c9d6de;border-radius:999px;background:#fff;color:#165c72;font-size:14px;font-weight:600;line-height:1.2;text-decoration:none}.admin-back-link:hover{border-color:#165c72;background:#f3f9fb}.admin-back-link:focus-visible{outline:3px solid #165c72;outline-offset:2px}.admin-back-link>span{font-size:16px}.admin-take-attendance{display:inline-flex;align-items:center;gap:.5rem;min-height:38px;padding:.55rem .95rem;border:1px solid var(--admin-navy, #0b2349);border-radius:0;background:var(--admin-navy, #0b2349);color:#fff;font-size:.84rem;font-weight:800;text-decoration:none;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease}.admin-take-attendance:hover{border-color:#16396b;background:#16396b;color:#fff}.admin-take-attendance:focus-visible{outline:3px solid var(--admin-yellow, #e6b338);outline-offset:2px}@media(min-width:561px){.admin-take-attendance{margin-right:.35rem}.admin-take-attendance+.admin-user{padding-left:1.1rem;border-left:1px solid var(--admin-border, #dbe4ef)}}@media(max-width:560px){.admin-topbar{flex-wrap:wrap;align-items:center;row-gap:.65rem}.admin-topbar-actions{display:contents}.admin-user{margin-left:auto}.admin-user-details{display:none}.admin-take-attendance{order:5;flex:1 0 100%;justify-content:center;min-height:44px}}
