:root{font-family:"Source Sans 3",Trebuchet MS,Segoe UI,sans-serif;color:#1b2430;background-color:#f5f7fb;--brand-primary: #304681;--brand-accent: #d8b35f;--brand-muted: #687b94;line-height:1.5;font-weight:400}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,#f8fafc,#f5f7fb 60%,#eef2f8)}button,input,textarea,select{font:inherit}a{color:var(--brand-primary)}code{font-family:SFMono-Regular,Consolas,monospace}#root{min-height:100vh}.page-shell{width:min(1140px,calc(100% - 2rem));margin:0 auto;padding:1.5rem 0 2.5rem}.centered-shell{display:grid;align-items:center;min-height:100vh}.panel,.summary-card,.feature-card,.student-tile,.consent-card{background:#fff;border:1px solid #dbe4f0;border-radius:14px;box-shadow:0 6px 24px #111e3e0f}.hero-panel,.content-panel,.status-panel,.nav-panel,.summary-card,.student-tile,.consent-card,.feature-card{padding:1.25rem}.compact-panel{max-width:560px}.back-link{display:inline-block;margin-bottom:.75rem;font-size:.875rem;color:#3a6abf;text-decoration:none}.back-link:hover{text-decoration:underline}.eyebrow,.section-label,.endpoint-label,.chip{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700;color:#5f6f85;margin:0}.hero-panel h1,.status-panel h2,.feature-card h2,.summary-card h2,.content-panel h1,.content-panel h2,.consent-card h2,.student-tile h2{margin:.5rem 0 .7rem;font-family:Manrope,"Source Sans 3",Trebuchet MS,sans-serif;font-weight:700;line-height:1.25}.hero-panel h1,.content-panel h1{font-size:clamp(1.5rem,2.5vw,2.1rem)}.content-panel h2,.status-panel h2,.summary-card h2,.feature-card h2,.consent-card h2,.student-tile h2{font-size:clamp(1.1rem,2vw,1.35rem)}.hero-copy,.lead-copy,.muted-text,.rich-text{color:#46586f}.split-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:1rem}.wide-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;max-width:960px;margin:0 auto;width:100%}.stack-layout,.content-grid,.form-grid,.detail-list,.session-list,.choice-stack,.nav-actions{display:grid;gap:.75rem}.content-grid{min-width:0}.nav-panel{position:sticky;top:1rem;align-self:start;padding:1.6rem 1.4rem}.mobile-nav-header,.mobile-nav-backdrop,.menu-toggle-button{display:none}.mobile-nav-header{margin-bottom:1rem;padding:.85rem 1rem;align-items:center;justify-content:space-between}.mobile-nav-header .brand-mark{margin-top:.2rem;font-size:1.1rem}.menu-toggle-button{border:1px solid #c9d8ea;background:#fff;color:#2157b8;font-weight:700;border-radius:10px;padding:.55rem .8rem}.mobile-nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;border:0;background:#121d3157;z-index:19}.brand-mark{margin:.35rem 0 0;font-size:1.25rem;font-family:Manrope,"Source Sans 3",sans-serif;color:#1b2430}.brand-subtitle{margin:.35rem 0 0;color:var(--brand-muted);font-size:.92rem}.brand-lockup{display:flex;align-items:center;gap:.7rem;margin-bottom:1.25rem}.brand-lockup>div{display:flex;flex-direction:column;justify-content:center}.brand-lockup .eyebrow{margin:0;line-height:1.1}.brand-lockup .brand-mark{margin:.16rem 0 0;line-height:1.15}.brand-lockup.compact{margin-bottom:0}.brand-logo{width:42px;height:42px;object-fit:contain}.login-brand-lockup{margin-bottom:.15rem}.login-brand-lockup .brand-mark{margin-top:0;font-size:1rem}.login-brand-lockup .brand-subtitle{margin-top:.2rem;font-size:.84rem}.login-title{margin-top:.35rem!important}.session-item,.detail-item{padding:.65rem .75rem;border-radius:10px;background:#f3f7fc;border:1px solid #deebf8}.account-summary{gap:0;border:1px solid #deebf8;border-radius:10px;background:#f8fbff;overflow:hidden}.account-row{padding:.6rem .75rem}.account-row+.account-row{border-top:1px solid #deebf8}.account-label{display:block;font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#5f6f85;margin-bottom:.2rem}.account-row strong{display:block;color:#243246;font-size:.94rem;font-weight:600;line-height:1.3;overflow-wrap:anywhere}.session-item strong,.detail-item strong{display:block;color:#243246;font-size:.9rem}.session-item span,.detail-item span{color:#516177}.summary-grid,.student-grid,.feature-grid,.consent-grid{display:grid;gap:.85rem}.summary-grid,.feature-grid,.consent-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.student-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:.3rem .6rem;font-size:.78rem;font-weight:700}.status-pill.pending{background:#e9eef5;color:#516177}.status-pill.approved{background:#d9f1e4;color:#185f3b}.status-pill.declined{background:#fde8e8;color:#942525}.status-pill.alert{background:#ffe7cf;color:#8a3f00}.rich-text p:first-child{margin-top:0}.choice-card{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:start;padding:.9rem;border-radius:10px;border:1px solid #d4e2f2;background:#fbfdff}.choice-card input{margin-top:.2rem}.choice-card strong{display:block;margin-bottom:.15rem;color:#1f2c3d}.student-tile,.consent-card{text-align:left}.student-tile{cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease}.student-tile:hover,.student-tile:focus-visible{border-color:#a9c3e7;box-shadow:0 8px 20px #2157b824}.student-tile.is-selected{border-color:#7fa5d8;background:#f5faff}.student-switch-list{display:grid;gap:.75rem}.student-switch-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid #dbe4f0;border-radius:12px;background:#fff}.student-switch-row h2{margin:.35rem 0}.student-switch-row.is-selected{border-color:#7fa5d8;background:#f5faff}.student-switch-meta{margin:.2rem 0 .5rem}.field-group{display:grid;gap:.35rem}.field-group label{font-weight:600;color:#243246}.required-asterisk{color:#c62828;font-weight:700}.field-group-heading{margin:.55rem 0 .35rem;font-weight:600;color:#243246}.field-group input{width:100%;border:1px solid #c9d8ea;border-radius:10px;padding:.7rem .85rem;background:#fff}.field-group select,.field-group textarea{width:100%;border:1px solid #c9d8ea;border-radius:10px;padding:.7rem .85rem;background:#fff;font:inherit}.field-group input:focus,.field-group select:focus,.field-group textarea:focus{outline:2px solid #cde0f8;border-color:#7fa5d8}.button-row{display:flex;gap:.65rem;flex-wrap:wrap}.primary-button,.secondary-button,.ghost-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:10px;padding:.62rem .9rem;font-weight:600;text-decoration:none;cursor:pointer}.primary-button{color:#fff;background:var(--brand-primary)}.secondary-button{color:#1f2c3d;background:#edf3fb;border-color:#d2e0f2}.ghost-button{color:var(--brand-primary);background:transparent;border-color:#cfe0f6}.primary-button:hover,.secondary-button:hover,.ghost-button:hover{filter:brightness(.98)}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled{cursor:not-allowed;opacity:.6}.button-small{padding:.32rem .55rem;border-radius:8px;font-size:.82rem;font-weight:600}.banner,.inline-note{padding:.7rem .85rem;border-radius:10px;border:1px solid transparent}.banner.error,.inline-note.error{background:#fff1f1;border-color:#f3c7c7;color:#8d1c1c}.banner.success,.inline-note.success{background:#eaf8f0;border-color:#bfdfce;color:#175738}.banner.warning,.inline-note.warning{background:#fffbea;border-color:#f5d87a;color:#7a4f00}.consent-detail-page{display:grid;gap:.9rem}.consent-status-line{margin:0}.consent-status-note{background:#edf5ff;border-color:#cfe0f6;color:#2f5278}.consent-document-meta{margin-top:.35rem}.status-panel{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.nav-actions{margin-top:1rem}.nav-divider{border:none;border-top:1px solid #d8e4f0;margin:.25rem 0}.nav-actions .secondary-button,.nav-actions .ghost-button{width:100%}.footer-link-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.portal-footer-link{margin:.4rem 0 0;font-size:.82rem;text-align:right}.portal-footer-link a{color:#5f6f85;text-decoration:underline}.portal-footer-link a:hover{color:#304681}.table-panel{padding-top:1rem}.table-header-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;padding-bottom:.35rem;border-bottom:1px solid #e6edf7}.table-header-row h2{margin:0;font-size:1.05rem}.table-wrap,.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.inline-form-grid{display:grid;gap:.4rem;max-width:280px;margin-top:.7rem}.inline-form-grid label{font-weight:600;color:#32465f;font-size:.9rem}.admin-kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.data-table{width:100%;border-collapse:collapse;min-width:560px}.data-table th,.data-table td{text-align:left;padding:.72rem .65rem;border-bottom:1px solid #e1e9f4;vertical-align:middle}.data-table th{font-size:.84rem;text-transform:uppercase;letter-spacing:.05em;color:#556782;font-weight:700}.data-table td{color:#32465f}.data-table tbody tr:hover{background:#f8fbff}.compact-table{min-width:0}.compact-table th,.compact-table td{padding-top:.56rem;padding-bottom:.56rem}.dashboard-actions-panel h2{margin-bottom:.85rem}.welcome-info-panel h2{margin-bottom:.65rem}.portal-info-list{margin:0;padding-left:1.1rem;color:#32465f;display:grid;gap:.4rem}.portal-info-list li{line-height:1.4}.admissions-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:1rem}.admissions-layout--review-only{grid-template-columns:minmax(0,1fr)}.admissions-progress-panel{position:sticky;top:1rem;align-self:start;padding:1.5rem 1.25rem}.admissions-progress-panel h2{margin-bottom:1rem}.admissions-progress-list{display:grid;gap:.45rem}.admissions-progress-item{width:100%;text-align:left;border:1px solid #d5e2f2;border-radius:10px;background:#f8fbff;padding:.55rem .7rem;cursor:pointer;display:grid;gap:.12rem}.admissions-progress-item span{color:#223247;font-size:.9rem;font-weight:600}.admissions-progress-item small{color:#5f6f85;font-size:.78rem}.admissions-progress-item.is-complete{border-color:#b9dcc8;background:#eaf8f0}.admissions-progress-item.is-in-progress{border-color:#cfe0f6;background:#edf5ff}.admissions-progress-item.is-not-started{border-color:#d5e2f2;background:#f8fbff}.admissions-progress-item.is-active{outline:2px solid #2157b8;outline-offset:1px}.admissions-nav-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem}.admissions-section-footer{margin-top:1.25rem;padding-top:1rem;border-top:1px solid #dbe6f1}.admissions-nav-side{display:flex}.admissions-nav-side--right{justify-content:flex-end}.admissions-nav-save-status{display:flex;justify-content:center;align-items:center;text-align:center;gap:.5rem;color:#5f6f85;font-size:.9rem;font-weight:600}.admissions-nav-save-status-text{display:grid;gap:.1rem}.admissions-nav-save-status-text small{font-size:.75rem;font-weight:500;color:#6f8097}.admissions-saving-spinner{width:.95rem;height:.95rem;border-radius:999px;border:2px solid #cfe0f6;border-top-color:#2157b8;animation:admissions-spinner .8s linear infinite;flex:0 0 auto}@keyframes admissions-spinner{to{transform:rotate(360deg)}}.review-section-list{display:grid;gap:.9rem}.review-section-card{border:1px solid #d7e3f4;border-radius:12px;background:#f8fbff;padding:1rem}.review-section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem}.review-section-header h3{margin:.25rem 0 0;color:#223247;font-size:1rem}.review-section-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}.review-status-badge{border-radius:999px;padding:.22rem .6rem;font-size:.75rem;font-weight:700;border:1px solid #d5e2f2;background:#f5f9ff;color:#445a75}.review-status-badge.is-complete{border-color:#b9dcc8;background:#eaf8f0;color:#25553e}.review-status-badge.is-in-progress{border-color:#cfe0f6;background:#edf5ff;color:#2f5278}.review-status-badge.is-not-started{border-color:#d5e2f2;background:#f5f9ff;color:#5f6f85}.review-summary-list{margin:0;padding-left:1rem;color:#46586f;display:grid;gap:.35rem}.contacts-list{display:grid;gap:.85rem}.contact-card{border:1px solid #d7e3f4;border-radius:12px;background:#f8fbff;padding:.8rem}.contact-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.6rem}.contact-card-header strong{color:#223247;font-size:.95rem}.contact-card-actions{display:inline-flex;align-items:center;gap:.55rem;flex-wrap:wrap;justify-content:flex-end}.contact-priority-note{margin:.6rem 0 .9rem;background:#f5f9ff;border-color:#d5e2f2;color:#32465f}.admissions-help-inline{grid-column:1 / -1;margin:.1rem 0 .2rem;color:#5f6f85;font-size:.82rem;line-height:1.4}.contact-completeness-badge{border-radius:999px;padding:.2rem .55rem;font-size:.74rem;font-weight:700;letter-spacing:.01em;border:1px solid #d5e2f2;background:#f5f9ff;color:#445a75;white-space:nowrap}.contact-completeness-badge.is-complete{border-color:#b9dcc8;background:#eaf8f0;color:#25553e}.contact-completeness-badge.is-in-progress{border-color:#cfe0f6;background:#edf5ff;color:#2f5278}.contact-completeness-badge.is-empty{border-color:#d5e2f2;background:#f5f9ff;color:#5f6f85}.checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1rem;margin:.4rem 0 .85rem}.consent-inline-option{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.45rem;align-items:start;color:#32465f;font-size:.95rem;width:100%}.consent-inline-option span{overflow-wrap:anywhere}.admin-preview-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:1rem}.admin-preview-modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#111e3e8c}.admin-preview-modal__dialog{position:relative;z-index:1;width:min(820px,100%);max-height:calc(100vh - 2rem);overflow:auto}.recipient-picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.recipient-picker-grid-single{grid-template-columns:1fr}.recipient-picker-list{display:grid;gap:.5rem;border:1px solid #d7e3f4;border-radius:10px;background:#f8fbff;padding:.7rem;min-height:110px}.recipient-picker-list-scroll{max-height:230px;overflow-y:auto}.recipient-picker-option{display:grid;grid-template-columns:auto 1fr;gap:.55rem;align-items:start;color:#32465f;font-size:.95rem;overflow-wrap:anywhere}.recipient-picker-option input{margin-top:.16rem}.wysiwyg-editor{min-height:240px;border:1px solid #c9d8ea;border-radius:10px;background:#fff;padding:.85rem;overflow-wrap:anywhere}.wysiwyg-editor:focus{outline:2px solid #cde0f8;border-color:#7fa5d8}.wysiwyg-editor p:first-child{margin-top:0}.booking-cta-panel{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.95rem 1rem;margin-bottom:1rem;border:1px solid #cfe0f6;border-radius:12px;background:linear-gradient(135deg,#f7fbff,#edf5ff)}.booking-cta-panel h2{margin:0 0 .35rem}.booking-cta-panel .lead-copy,.booking-cta-panel .muted-text{margin:.2rem 0 0}.booking-cta-panel .primary-button{min-width:150px}.dashboard-actions-row .primary-button,.dashboard-actions-row .secondary-button{min-width:165px}.table-action-cell{text-align:right}.faq-list{display:grid;gap:.6rem}.faq-item{border:1px solid #dde6f2;border-radius:10px;background:#fbfdff;padding:.65rem .8rem}.faq-item summary{cursor:pointer;font-weight:600;color:#23344b}.faq-item p{margin:.6rem 0 0;color:#475b73}.admin-collapsible{padding-top:.8rem}.admin-collapsible>summary{cursor:pointer;font-weight:700;color:#243246;list-style:none}.admin-collapsible>summary::-webkit-details-marker{display:none}.admin-collapsible>summary:before{content:"+";display:inline-block;width:1.1rem;margin-right:.3rem;color:#3a6abf}.admin-collapsible[open]>summary:before{content:"-"}.admin-collapsible__content{margin-top:.8rem}@media (max-width: 980px){.split-layout,.status-panel,.summary-grid,.feature-grid,.student-grid,.consent-grid{grid-template-columns:1fr}.nav-panel{position:fixed;top:.75rem;left:.75rem;bottom:.75rem;width:min(320px,calc(100vw - 1.5rem));max-height:calc(100vh - 1.5rem);overflow-y:auto;z-index:20;transform:translate(-120%);transition:transform .18s ease}.nav-panel.is-open{transform:translate(0)}.mobile-nav-header,.menu-toggle-button,.mobile-nav-backdrop{display:flex}.nav-actions,.admissions-layout{grid-template-columns:1fr}.admissions-progress-panel{position:static}.review-section-header{flex-direction:column}.review-section-actions{width:100%;justify-content:space-between}.admissions-nav-row{grid-template-columns:1fr}.admissions-nav-side,.admissions-nav-side--right,.admissions-nav-save-status{justify-content:center}.admin-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 700px){.page-shell{width:min(100% - 1rem,1140px);padding-top:1rem}.hero-panel,.content-panel,.status-panel,.nav-panel,.student-tile,.summary-card,.consent-card,.feature-card{padding:1rem}.nav-actions{grid-template-columns:1fr}.button-row,.footer-link-row{flex-direction:column;align-items:stretch}.button-row .primary-button,.button-row .secondary-button,.button-row .ghost-button,.button-row a,.dashboard-actions-row .primary-button,.dashboard-actions-row .secondary-button{width:100%}.booking-cta-panel{flex-direction:column;align-items:stretch}.checkbox-grid,.recipient-picker-grid{grid-template-columns:1fr}.contact-card-header{flex-direction:column;align-items:flex-start;gap:.45rem}.contact-card-actions{width:100%;justify-content:space-between}.booking-cta-panel .primary-button{width:100%}.data-table{min-width:460px}.table-action-cell{text-align:left}.choice-card{grid-template-columns:1fr}.choice-card input{margin-top:0}.student-switch-row{flex-direction:column;align-items:stretch}}
