
:root{--ts-paper:#faf7f0;--ts-blue:#0364ff;--ts-blue-hover:#0052d9;--ts-blue-soft:#edf4ff;--ts-blue-line:#c4d9ff;--ts-yellow:#fcc551;--ts-input-border:#a7a8ab}.design-fallback{--color-background-body:var(--ts-paper);--color-background-surface:#fff;--color-text-primary:#191e26;--color-text-secondary:#5d6268;--color-border:#e2dfd8;--font-family-body:"Silver Archer", system-ui, sans-serif}.design-loading{box-sizing:border-box;color:#191e26;background:var(--ts-paper);min-height:100dvh;padding:48px 32px;font:16px Silver Archer,system-ui,sans-serif}.app-shell{color:var(--color-text-primary,#191e26);font-family:var(--font-family-body,"Silver Archer", system-ui, sans-serif);background:var(--color-background-body,#faf7f0);min-height:100dvh}.workspace.guardian-workspace{max-width:850px}.guardian-panel{overflow-wrap:anywhere}.guardian-workspace .guardian-panel h1{font-size:clamp(30px,4vw,42px)}.guardian-form{max-width:540px;margin-top:28px}.guardian-form label{margin:22px 0 8px;font-size:14px;font-weight:600;display:block}.guardian-form input:not([type=checkbox]),.guardian-form select{box-sizing:border-box;border:1px solid var(--ts-input-border);width:100%;min-height:48px;color:var(--color-text-primary,#191e26);background:#fff;border-radius:8px;padding:12px}.guardian-form .check-label{align-items:flex-start;gap:12px;margin:28px 0;line-height:1.6;display:flex}.guardian-form .button-row{margin-top:24px}.student-context{border-left:4px solid var(--ts-blue);background:var(--ts-blue-soft);border-radius:0 10px 10px 0;margin:28px 0;padding:20px 24px}.student-context span{letter-spacing:1.6px;color:var(--color-text-secondary,#5d6268);font-size:10px;font-weight:700}.student-context p{margin:6px 0 0;font-size:23px;font-weight:600}.demo-notice{background:#fff7df;border:1px solid #d6b961;border-radius:8px;padding:16px;font-size:14px;line-height:1.6}.slip-document h3{margin:32px 0 18px;font-size:22px}.slip-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px;margin:0;display:grid}.slip-details dt{color:var(--color-text-secondary,#5d6268);margin-bottom:6px;font-size:12px}.slip-details dd{white-space:pre-wrap;margin:0;font-size:15px;line-height:1.6}.meal-option{border:1px solid var(--color-border,#e2dfd8);border-radius:10px;margin-top:14px;padding:12px 20px}.meal-option h4{margin:10px 0;font-size:18px}.meal-option li{margin-bottom:20px}.consent-wording{border-top:1px solid var(--color-border,#e2dfd8);margin-top:36px;padding-top:18px}.recorded-response{background:#f1f8f1;border:1px solid #c9ddcc;border-radius:12px;padding:28px}.recorded-response h2{font-size:30px}.recorded-response details{margin:24px 0;font-size:13px}.recorded-response summary{cursor:pointer}.evidence-hash{overflow-wrap:anywhere}.guardian-help{color:var(--color-text-secondary,#5d6268);text-align:center;font-size:13px}@media (max-width:600px){.workspace.guardian-workspace{padding:28px 16px}.panel.guardian-panel{padding:24px}.slip-details{grid-template-columns:1fr}.guardian-shell .topbar{flex-wrap:wrap;gap:12px}.recorded-response{padding:20px}}.topbar{border-bottom:1px solid var(--color-border,#e2dfd8);background:#fff;align-items:center;gap:28px;padding:22px max(24px,50vw - 560px);display:flex}.wordmark{color:var(--color-text-primary,#191e26);letter-spacing:-.8px;font-size:28px;font-weight:700;text-decoration:none}.workspace-label,.eyebrow{letter-spacing:1.6px;color:var(--color-text-secondary,#5d6268);font-size:11px;font-weight:700}.workspace-label{flex:1}.workspace{box-sizing:border-box;width:100%;max-width:1160px;margin:0 auto;padding:40px 32px}.perspective-switcher{border:1px solid var(--ts-blue-line);background:var(--ts-blue-soft);border-radius:12px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px;padding:20px;display:flex}.perspective-switcher strong{color:var(--ts-blue-hover)}.perspective-switcher p{margin:6px 0 0}.perspective-switcher label{margin-bottom:8px;font-size:14px;font-weight:600;display:block}.perspective-switcher select{border:1px solid var(--ts-input-border);min-height:46px;color:var(--color-text-primary,#191e26);background:#fff;border-radius:8px;padding:10px 14px}.perspective-content{border:0;min-width:0;margin:0;padding:0}.venue-form>fieldset>.check-label{align-items:center;gap:12px;display:flex}.venue-form input[type=checkbox]{width:20px;height:20px;min-height:20px}.venue-form .education-choices label{align-items:center;gap:12px;display:flex}@media (max-width:600px){.perspective-switcher{flex-direction:column;align-items:stretch;gap:16px}.perspective-switcher select{width:100%}.topbar{flex-wrap:wrap;gap:12px}}.panel{border:1px solid var(--color-border,#e2dfd8);background:#fff;border-radius:16px;padding:32px}.welcome{grid-template-columns:1.4fr 1fr;align-items:center;gap:48px;padding:48px;display:grid}.workspace h1{letter-spacing:-.8px;margin:12px 0;font-size:clamp(28px,3vw,34px);font-weight:700;line-height:1.2}.workspace h2{letter-spacing:-.5px;font-size:23px;line-height:1.3}.workspace p{line-height:1.65}.intro{color:var(--color-text-secondary,#5d6268);max-width:420px;margin-bottom:30px;font-size:17px}.app-shell button,.app-shell input,.app-shell select,.app-shell textarea{font:inherit}.app-shell button{cursor:pointer;border-radius:999px;min-height:46px;padding:12px 22px;font-weight:600}.app-shell button:disabled{cursor:wait;opacity:.65}.primary{background:var(--ts-blue);color:#fff;border:1px solid var(--ts-blue)}.primary:hover:not(:disabled){background:var(--ts-blue-hover)}.secondary{color:var(--color-text-primary,#191e26);border:1px solid var(--color-border,#e2dfd8);background:#fff}.app-shell .small{padding:8px 16px;font-size:13px}.app-shell :focus-visible{outline:3px solid var(--ts-blue);outline-offset:4px}.journey-card{background:var(--ts-yellow);border-radius:16px;padding:32px}.journey-icon{color:var(--ts-blue);font-size:46px;display:block}.journey-card ol{padding-left:20px;font-size:14px;line-height:2.3}.form-panel{max-width:580px;margin:auto}.form-panel h1{font-size:34px}.form-panel label{margin:22px 0 8px;font-size:14px;font-weight:600;display:block}.form-panel input:not([type=checkbox]),.form-panel select{box-sizing:border-box;border:1px solid var(--ts-input-border);width:100%;min-height:48px;color:var(--color-text-primary,#191e26);background:#fff;border-radius:8px;padding:12px}.education-levels{border:0;min-width:0;margin:22px 0 0;padding:0}.education-levels legend{font-size:14px;font-weight:600}.education-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0;display:grid}.education-choices label{border:1px solid var(--color-border,#e2dfd8);cursor:pointer;border-radius:8px;align-items:center;gap:10px;min-height:48px;margin:0;padding:12px;display:flex}.education-choices label:has(input:checked){border-color:var(--ts-blue);background:var(--ts-blue-soft)}.education-choices input{width:20px;height:20px;accent-color:var(--ts-blue);flex-shrink:0}@media (max-width:600px){.education-choices{grid-template-columns:1fr}}.form-panel button{margin-top:26px}.account-invitations{margin-bottom:24px}.account-invitations textarea{box-sizing:border-box;border:1px solid var(--ts-input-border);width:100%;min-height:190px;font:inherit;resize:vertical;border-radius:8px;padding:12px}.account-invitations [role=status]{margin-top:24px}.account-invitations code{overflow-wrap:anywhere;font:inherit}.error{color:#942b34;background:#fff0f0;border-radius:8px;padding:12px 16px}.empty-state{background:var(--ts-paper);border:1px dashed var(--color-border,#e2dfd8);border-radius:12px;margin-top:30px;padding:24px}.roster-list{gap:12px;padding:0;list-style:none;display:grid}.roster-list li{background:var(--ts-paper);border-radius:8px;padding:16px}.school-workspace{border-top:1px solid var(--color-border,#e2dfd8);margin-top:36px;padding-top:24px}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.section-heading h2{overflow-wrap:anywhere;margin:8px 0}.section-heading h3{margin:28px 0;font-size:20px}.button-row{flex-wrap:wrap;gap:12px;display:flex}.class-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px;padding:0;list-style:none;display:grid}.class-grid li{border:1px solid var(--color-border,#e2dfd8);background:var(--color-background-surface,#fff);border-radius:12px;padding:22px}.class-grid h4{overflow-wrap:anywhere;margin:0 0 12px;font-size:19px}.class-grid p{color:var(--color-text-secondary,#5d6268);margin:4px 0;font-size:14px}.class-grid .student-count{color:var(--color-text-primary,#191e26);margin-top:24px;font-weight:600}.class-grid button{margin-top:18px}.roster-workspace{margin-top:24px}.roster-workspace .section-heading{flex-wrap:wrap;align-items:flex-start;gap:20px;margin-top:28px}.roster-workspace .section-heading>div:first-child{flex:420px;min-width:0}.roster-workspace .section-heading .button-row{flex:0 auto}.roster-workspace .section-heading h3{overflow-wrap:anywhere;margin:0 0 8px;font-size:25px}.roster-workspace .section-heading h3:focus{outline-offset:5px}.people-list{gap:14px;padding:0;list-style:none;display:grid}.people-list li{border:1px solid var(--color-border,#e2dfd8);background:var(--color-background-surface,#fff);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;padding:22px;display:flex}.people-list h4{overflow-wrap:anywhere;margin:0 0 9px;font-size:19px}.people-list p{overflow-wrap:anywhere;margin:6px 0}.people-list .contact-label{color:var(--color-text-secondary,#5d6268);font-size:16px;font-weight:600}.roster-workspace .check-row{align-items:center;gap:12px;display:flex}.roster-workspace .check-row input{flex-shrink:0;width:20px;min-height:20px;margin:0}.app-shell .school-create{margin-top:28px}.setup-form{border:1px solid var(--color-border,#e2dfd8);background:var(--color-background-surface,#fff);border-radius:12px;margin:24px 0;padding:24px}.setup-form fieldset{border:0;min-width:0;margin:0;padding:0}.setup-form input,.setup-form select{max-width:100%}.field-help{color:var(--color-text-secondary,#5d6268);margin:8px 0;font-size:13px}.school-picker label{margin-bottom:8px;font-weight:600;display:block}.school-picker select{border:1px solid var(--ts-input-border);width:100%;min-height:48px;color:var(--color-text-primary,#191e26);background:#fff;border-radius:8px;padding:12px}.success{color:#285d40;background:#edf7ee;border-radius:8px;padding:12px 16px}.trip-workspace{margin-top:32px}.trip-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:18px;margin-top:24px;padding:0;list-style:none;display:grid}.trip-grid li{border:1px solid var(--color-border,#e2dfd8);background:var(--color-background-surface,#fff);border-radius:14px;padding:0;overflow:hidden}.trip-grid h3{overflow-wrap:anywhere;margin:18px 0 0;font-size:23px}.trip-grid p{color:var(--color-text-secondary,#5d6268);font-size:14px}.trip-grid button{margin-top:16px}.status-badge{letter-spacing:1px;background:var(--ts-blue-soft);color:var(--ts-blue-hover);border-radius:20px;padding:7px 10px;font-size:10px;font-weight:700}.trip-detail{margin-top:28px}.trip-editor{margin-top:30px}.trip-editor-toolbar{z-index:2;background:var(--color-background-body,#faf7f0);box-shadow:0 1px 0 var(--color-border,#e2dfd8);padding:12px 0;position:sticky;top:0}html:has(.trip-editor-toolbar){scroll-padding-top:12rem}.trip-form{box-sizing:border-box;border:1px solid var(--color-border,#e2dfd8);background:#fff;border-radius:16px;max-width:820px;margin-top:24px;padding:24px 28px}.trip-form fieldset{border:0;min-width:0;margin:0;padding:0}.trip-form label{margin:20px 0 8px;font-size:14px;font-weight:600;display:block}.trip-form input:not([type=checkbox]),.trip-form textarea,.trip-form select{box-sizing:border-box;border:1px solid var(--ts-input-border);width:100%;min-width:0;min-height:48px;color:var(--color-text-primary,#191e26);font:inherit;background:#fff;border-radius:8px;padding:12px}.trip-form textarea{resize:vertical}.trip-form h3{margin:36px 0 8px;font-size:22px}.form-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.trip-form .roster-choices{border:1px solid var(--color-border,#e2dfd8);border-radius:10px;margin:24px 0;padding:16px}.roster-choices legend{padding:0 8px;font-size:15px;font-weight:600}.trip-form .venue-choice{border:1px solid var(--color-border,#e2dfd8);border-radius:10px;margin:24px 0;padding:16px}.venue-choice legend{padding:0 8px;font-size:15px;font-weight:600}.venue-choice-summary .venue-chosen-name{overflow-wrap:anywhere;margin:4px 0 12px;font-size:18px;font-weight:600}.venue-choice-summary .button-row,.venue-search .button-row{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.venue-results{gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.venue-results li{border:1px solid var(--color-border,#e2dfd8);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.venue-results h4{overflow-wrap:anywhere;margin:0 0 4px;font-size:16px}.venue-results p{overflow-wrap:anywhere;margin:0}.venue-results li>div{flex:16rem;min-width:0}@media (max-width:600px){.venue-results li{flex-direction:column;align-items:stretch}}.trip-form .check-label{align-items:center;gap:12px;min-height:44px;margin:4px 0;display:flex}.check-label input{width:20px;height:20px;accent-color:var(--ts-blue);flex:0 0 20px}.trip-form .button-row{margin-top:28px}.publish-panel{box-sizing:border-box;border:1px solid var(--color-border,#e2dfd8);background:#fff;border-radius:16px;max-width:820px;margin-top:24px;padding:24px 28px}.publish-panel h3{margin:0 0 8px;font-size:20px}.publish-consequences{gap:8px;margin:12px 0;padding-left:20px;display:grid}.publish-panel .warning{color:#7a4a00;background:#fff6e5;border-radius:8px;padding:10px 14px}.publish-panel .button-row{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}@media (max-width:600px){.publish-panel{padding:20px}}.slip-workspace{box-sizing:border-box;border:1px solid var(--color-border,#e2dfd8);background:#fff;border-radius:16px;max-width:820px;margin-top:24px;padding:24px 28px}.slip-workspace h3{margin:0;font-size:20px}.slip-workspace .warning{color:#7a4a00;background:#fff6e5;border-radius:8px;padding:10px 14px}.slip-counts{grid-template-rows:auto auto;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:column;gap:12px;margin:16px 0;padding:0;display:grid}.slip-counts dt{color:var(--color-text-secondary,#5d6268);font-size:13px;font-weight:600}.slip-counts dd{margin:4px 0 0;font-size:16px}.slip-roster{gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.slip-roster li{border:1px solid var(--color-border,#e2dfd8);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.slip-roster li>div{flex:14rem;min-width:0}.slip-roster h4{overflow-wrap:anywhere;margin:0 0 4px;font-size:16px}.slip-roster p{overflow-wrap:anywhere;margin:0}.slip-roster .consent-signed .status-badge,.slip-roster li.consent-signed{border-color:#bcd9c6}@media (max-width:600px){.slip-workspace{padding:20px}.slip-counts{grid-template-rows:none;grid-template-columns:1fr;grid-auto-flow:row}.slip-roster li,.share-link-list li{flex-direction:column;align-items:stretch}}.trip-preview{max-width:760px;padding:28px 0}.trip-preview h3{overflow-wrap:anywhere;margin:24px 0;font-size:32px}.trip-description{white-space:pre-wrap;overflow-wrap:anywhere}.trip-preview dl{border-top:1px solid var(--color-border,#e2dfd8);grid-template-columns:150px minmax(0,1fr);gap:16px;padding-top:24px;display:grid}.trip-preview dt{font-weight:600}.trip-preview dd{overflow-wrap:anywhere;margin:0}@media (max-width:700px){.form-columns{grid-template-columns:1fr;gap:0}.trip-preview dl{grid-template-columns:1fr;gap:6px}.trip-preview dd{margin-bottom:16px}}.footer{text-align:center;color:var(--color-text-secondary,#5d6268);padding:20px 24px 36px;font-size:12px}.skip-link{color:var(--color-text-primary,#191e26);z-index:10;background:#fff;padding:12px;position:absolute;top:-100px;left:16px}.skip-link:focus{top:8px}@media (max-width:700px){.topbar{flex-wrap:wrap;gap:16px;padding:18px 20px}.workspace-label{letter-spacing:1px;font-size:9px}.workspace{padding:28px 16px}.panel,.welcome{padding:24px}.welcome{grid-template-columns:1fr;gap:28px}.workspace h1{letter-spacing:-1px}.journey-card{padding:24px;transform:none}.form-panel h1{font-size:28px}}.admin-portal{margin-block:1.5rem}.admin-provision-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;margin-block:2rem;display:grid}.admin-provision{border:1px solid var(--color-border,#e2dfd8);border-radius:1rem;min-width:0;padding:1.5rem}.admin-portal .account-invitations{max-width:none;box-shadow:none}.admin-invitation-history{overflow-wrap:anywhere;margin-block:1.5rem}.admin-invitation-history li{margin-block:.75rem}@media (max-width:700px){.admin-provision-grid{grid-template-columns:1fr}.admin-provision{padding:1rem}}.wordmark{flex-shrink:0;align-items:center;gap:10px;display:inline-flex}.brand-compass{width:38px;height:38px;color:var(--ts-yellow);flex-shrink:0}.workspace-account{align-items:center;gap:16px;display:flex}.staff-shell{grid-template-rows:1fr auto;grid-template-columns:224px minmax(0,1fr);display:grid}.workspace-sidebar{box-sizing:border-box;border-right:1px solid var(--color-border,#e2dfd8);background:#fff;flex-direction:column;grid-row:1/3;gap:28px;height:100dvh;padding:32px 20px 24px;display:flex;position:sticky;top:0}.workspace-sidebar .wordmark{font-size:28px}.workspace-sidebar .workspace-label{letter-spacing:1px;flex:0;padding-inline:10px;font-size:10px}.workspace-sidebar .workspace-account{border-top:1px solid var(--color-border,#e2dfd8);flex-direction:column;align-items:flex-start;gap:12px;margin-top:auto;padding-top:20px}.account-name{overflow-wrap:anywhere;max-width:100%;font-size:14px;font-weight:600}.workspace-navigation{flex-direction:column;gap:6px;display:flex}.workspace-navigation button,.workspace-navigation a{box-sizing:border-box;width:100%;min-height:48px;color:var(--color-text-secondary,#5d6268);font:inherit;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:12px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.workspace-navigation [aria-current=page]{color:var(--ts-blue-hover);background:var(--ts-blue-soft);font-weight:600}.workspace-navigation button:hover:not(:disabled),.workspace-navigation a:hover{background:var(--ts-blue-soft);color:var(--ts-blue-hover)}.workspace-navigation span{text-align:center;width:20px;font-size:21px;line-height:1}.staff-shell .workspace{min-width:0}.workspace-panel{background:0 0;border:0;padding:0}.workspace-greeting{color:var(--color-text-secondary,#5d6268);margin:6px 0 24px}.workspace-panel>.eyebrow{margin-top:0}.staff-shell .school-workspace{border:0}.staff-shell .school-picker{border:1px solid var(--color-border,#e2dfd8);background:#fff;border-radius:16px;padding:24px}.trip-card-heading{background:var(--ts-blue);color:#fff;padding:24px}.trip-card-heading h3{color:#fff}.trip-card-heading .status-badge{background:var(--ts-yellow);color:#191e26}.trip-card-body{padding:8px 24px 24px}.trip-card-body .trip-card-date{color:var(--color-text-primary,#191e26);font-weight:600}.trip-grid button{width:100%}.trip-preview{box-sizing:border-box;border:1px solid var(--color-border,#e2dfd8);background:#fff;border-radius:16px;margin-top:24px;padding:28px}@media (max-width:900px){.staff-shell{display:block}.workspace-sidebar{border-right:0;border-bottom:1px solid var(--color-border,#e2dfd8);flex-flow:wrap;align-items:center;gap:16px;height:auto;padding:16px 24px;position:static}.workspace-sidebar .workspace-label{flex:1;padding:0}.workspace-sidebar .workspace-account{border:0;margin:0 0 0 auto;padding:0}.workspace-sidebar .account-name{display:none}.workspace-navigation{flex-flow:wrap;flex-basis:100%;order:1}.workspace-navigation button,.workspace-navigation a{flex:1;justify-content:center;width:auto}}@media (max-width:600px){.workspace-sidebar{gap:14px;padding:16px}.workspace-sidebar .workspace-label{display:none}.workspace-sidebar .wordmark{gap:8px;font-size:25px}.brand-compass{width:32px;height:32px}.workspace-navigation button,.workspace-navigation a{gap:8px;padding:10px;font-size:13px}.workspace-navigation span{display:none}.trip-form,.trip-preview{padding:20px}.panel.workspace-panel{padding:0}.workspace h1{letter-spacing:-.7px}}.invitations-table{margin-block:1.5rem}.invitations-controls{flex-wrap:wrap;align-items:end;gap:1rem;margin-block:1rem;display:flex}.invitations-controls input[type=search]{min-width:16rem}.invitations-toggle{align-items:center;gap:.5rem;font-weight:400;display:flex}.invitations-toggle input{width:auto}.invitations-table table{border-collapse:collapse;width:100%;margin-block:1rem}.invitations-table th,.invitations-table td{text-align:left;vertical-align:top;overflow-wrap:anywhere;padding:.75rem .6rem}.invitations-table thead th{letter-spacing:.04em;text-transform:uppercase;border-bottom:2px solid;font-size:.82rem}.invitations-table tbody tr+tr{border-top:1px solid #0000001f}.invitations-table tbody th{font-weight:600}.invitation-note{opacity:.8;margin-top:.25rem;font-size:.82rem;font-weight:400;display:block}.invitation-status{text-transform:capitalize;font-weight:600}.invitation-status.status-expired,.invitation-status.status-revoked{opacity:.75}.invitation-actions{flex-wrap:wrap;gap:.4rem;display:flex}.invitation-actions button{padding:.35rem .7rem;font-size:.85rem}.invitation-hidden-note{opacity:.8;font-size:.9rem}.invitation-correcting{border:2px solid;border-radius:8px;margin-block:1rem;padding:1rem}@media (max-width:860px){.invitations-table thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.invitations-table tbody tr{border:1px solid #0000002e;border-radius:8px;margin-block:.85rem;padding:.75rem;display:block}.invitations-table tbody tr+tr{border-top:1px solid #0000002e}.invitations-table tbody th,.invitations-table tbody td{grid-template-columns:minmax(7rem,38%) 1fr;gap:.75rem;padding:.3rem 0;display:grid}.invitations-table tbody td:before,.invitations-table tbody th:before{content:attr(data-label);font-size:.82rem;font-weight:600}.invitations-controls input[type=search]{width:100%;min-width:0}}.archived-toggle{align-items:center;gap:.4rem;font-size:.85rem;font-weight:400;display:flex}.archived-toggle input{width:auto}.student-edit{border:2px solid;border-radius:8px;margin-block:.75rem;padding:.75rem}.student-edit fieldset{border:0;margin:0;padding:0}.student-edit legend{margin-block-end:.4rem;font-size:.9rem;font-weight:600}.staff-workspace{margin-block-start:2rem}.staff-workspace fieldset{border:0;margin:0;padding:0}.staff-workspace legend{margin-block-end:.5rem;font-weight:600}.staff-offer{border:2px solid;border-radius:8px;margin-block:1rem;padding:1rem}.staff-offer p{margin-block-start:0}.staff-blocking-trips{margin-block:.25rem 1rem;padding-inline-start:1.25rem}.staff-blocking-trips li{margin-block:.2rem}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.share-links,.share-links-new{border-top:1px solid var(--color-border,#e2dfd8);margin-top:20px;padding-top:16px}.share-links h4,.share-links-new h4{margin:0 0 4px;font-size:16px}.share-links-new .warning{color:#7a4a00;background:#fff6e5;border-radius:8px;padding:12px 16px}.share-link-list{gap:10px;margin:12px 0;padding:0;list-style:none;display:grid}.share-link-list li{border:1px solid var(--color-border,#e2dfd8);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.share-link-list li>div{flex:16rem;min-width:0}.share-link-url{overflow-wrap:anywhere;background:#f4f2ee;border-radius:6px;margin-top:6px;padding:8px 10px;font-size:13px;display:block}.share-links-new textarea{box-sizing:border-box;border:1px solid var(--ts-input-border);width:100%;min-height:96px;font:inherit;border-radius:8px;padding:12px;font-size:13px}.share-links .button-row,.share-links-new .button-row{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.trip-lifecycle{box-sizing:border-box;border:1px solid var(--color-border,#e2dfd8);background:#fbfaf8;border-radius:16px;max-width:820px;margin-top:24px;padding:20px 28px}.trip-lifecycle h3{margin:0 0 8px;font-size:18px}.trip-lifecycle p{margin:8px 0}.trip-lifecycle .button-row{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}@media (max-width:600px){.trip-lifecycle{padding:20px}}.school-geography{box-sizing:border-box;border:1px solid var(--color-border,#e2dfd8);background:#fff;border-radius:16px;max-width:820px;margin-top:24px;padding:20px 28px}.school-geography h3{margin:0 0 8px;font-size:18px}.school-geography label{margin:16px 0 8px;font-size:14px;font-weight:600;display:block}.school-geography select{box-sizing:border-box;border:1px solid var(--ts-input-border);width:100%;max-width:24rem;min-height:48px;font:inherit;background:#fff;border-radius:8px;padding:12px}.school-geography .button-row{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}@media (max-width:600px){.school-geography{padding:20px}.school-geography select{max-width:none}}.season-rates{box-sizing:border-box;border:1px solid var(--color-border,#e2dfd8);background:#fff;border-radius:16px;max-width:820px;margin-top:24px;padding:20px 28px}.season-rates h3{margin:0 0 8px;font-size:18px}.rate-list{gap:10px;margin:16px 0;padding:0;list-style:none;display:grid}.rate-list li{border:1px solid var(--color-border,#e2dfd8);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.rate-list li.retired{background:#f6f5f2;border-style:dashed}.rate-list li>div{flex:18rem;min-width:0}.rate-list h4{overflow-wrap:anywhere;margin:0 0 4px;font-size:16px}.rate-list p{overflow-wrap:anywhere;margin:0}.rate-list .button-row{flex-wrap:wrap;gap:8px;margin:0;display:flex}.rate-form{border-top:1px solid var(--color-border,#e2dfd8);margin-top:16px;padding-top:16px}.rate-form label{margin:16px 0 8px;font-size:14px;font-weight:600;display:block}.rate-form input,.rate-form select{box-sizing:border-box;border:1px solid var(--ts-input-border);width:100%;min-height:48px;font:inherit;background:#fff;border-radius:8px;padding:12px}.rate-form .form-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.rate-form .button-row{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.rate-confirm{background:#fff6e5;border-radius:10px;margin-top:16px;padding:14px}.rate-confirm .button-row{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}@media (max-width:600px){.season-rates{padding:20px}.rate-list li{flex-direction:column;align-items:stretch}.rate-form .form-columns{grid-template-columns:1fr}}.trip-form .trip-cohorts{border:1px solid var(--color-border,#e2dfd8);border-radius:10px;margin:24px 0;padding:16px}.trip-cohorts legend{padding:0 8px;font-size:15px;font-weight:600}.cohort-list{gap:12px;margin:16px 0;padding:0;list-style:none;display:grid}.cohort-list li{border:1px solid var(--color-border,#e2dfd8);border-radius:10px;padding:14px}.cohort-list .form-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.cohort-list button{margin-top:12px}@media (max-width:600px){.cohort-list .form-columns{grid-template-columns:1fr}}.trip-quote{box-sizing:border-box;border:1px solid var(--color-border,#e2dfd8);background:#fff;border-radius:16px;max-width:820px;margin-top:24px;padding:20px 28px}.trip-quote h3{margin:0 0 8px;font-size:18px}.trip-quote .warning{color:#7a4a00;background:#fff6e5;border-radius:8px;padding:12px 16px}.quote-lines{gap:10px;margin:16px 0;padding:0;list-style:none;display:grid}.quote-lines li{border:1px solid var(--color-border,#e2dfd8);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.quote-lines li>div{flex:16rem;min-width:0}.quote-lines h4{margin:0 0 4px;font-size:16px}.quote-lines p{margin:0}.quote-amount{white-space:nowrap;font-size:17px;font-weight:600}.quote-unpriced{color:#7a4a00;white-space:nowrap;font-size:14px;font-weight:600}.quote-total{margin-top:16px;font-size:18px}@media (max-width:600px){.trip-quote{padding:20px}.quote-lines li{flex-direction:column;align-items:stretch}}.class-teachers{box-sizing:border-box;max-width:820px}.class-teachers h3{margin:16px 0 8px;font-size:20px}.teacher-list{gap:10px;margin:16px 0;padding:0;list-style:none;display:grid}.teacher-list li{border:1px solid var(--color-border,#e2dfd8);background:#fff;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.teacher-list li>div{flex:14rem;min-width:0}.teacher-list h4{overflow-wrap:anywhere;margin:0 0 4px;font-size:16px}.teacher-list p{margin:0}.teacher-add{border:1px solid var(--color-border,#e2dfd8);background:#fff;border-radius:10px;margin-top:16px;padding:16px}.teacher-add label{margin-bottom:8px;font-size:14px;font-weight:600;display:block}.teacher-add select{box-sizing:border-box;border:1px solid var(--ts-input-border);width:100%;max-width:24rem;min-height:48px;font:inherit;background:#fff;border-radius:8px;margin-bottom:12px;padding:12px}@media (max-width:600px){.teacher-list li{flex-direction:column;align-items:stretch}.teacher-add select{max-width:none}}.roster-import{box-sizing:border-box;border:1px solid var(--color-border,#e2dfd8);background:#fff;border-radius:16px;max-width:820px;margin-top:24px;padding:20px 28px}.roster-import h3{margin:0 0 8px;font-size:18px}.roster-import label{margin:16px 0 8px;font-size:14px;font-weight:600;display:block}.roster-import input[type=file]{width:100%;font:inherit;display:block}.roster-import .warning{color:#7a4a00;background:#fff6e5;border-radius:8px;padding:12px 16px}.import-header{overflow-wrap:anywhere;background:#f4f2ee;border-radius:6px;margin:8px 0;padding:10px 12px;font-size:12px;display:block}.row-errors{gap:6px;margin:12px 0;padding:0;list-style:none;display:grid}.row-errors li{overflow-wrap:anywhere;background:#fff0f0;border-radius:8px;padding:10px 12px}.row-errors code{background:0 0;font-size:13px}@media (max-width:600px){.roster-import{padding:20px}}.class-edit{margin-top:12px}.class-edit label{margin:12px 0 6px;font-size:13px;font-weight:600;display:block}.class-edit input,.class-edit select{box-sizing:border-box;border:1px solid var(--ts-input-border);width:100%;min-height:44px;font:inherit;background:#fff;border-radius:8px;padding:10px}.class-edit .button-row{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.provision-pending{border:1px solid var(--color-border,#e2dfd8);background:#fbfaf8;border-radius:10px;margin-top:16px;padding:14px 16px}.provision-pending p{margin:8px 0}.provision-pending .warning{color:#7a4a00;background:#fff6e5;border-radius:8px;padding:10px 12px}.provision-pending code{overflow-wrap:anywhere;background:#f4f2ee;border-radius:4px;padding:2px 6px;font-size:12px;display:inline-block}.provision-pending .button-row{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}
