.messages-page .message-workspace{height:min(800px,calc(100dvh - 225px));min-height:560px;grid-template-columns:340px minmax(0,1fr)}.messages-page .message-sidebar{display:flex;flex-direction:column;min-height:0;background:#fff}.messages-page .thread-list,.messages-page .contact-results{flex:1;min-height:0;max-height:none}.messages-page .message-search{flex-shrink:0;height:44px;background:#f8fafc}.messages-page .message-search:focus-within{border-color:var(--blue);outline:3px solid #e7efff}.messages-page .message-search input{min-width:0;font-size:13px;background:transparent}.messages-page .thread-list>button{align-items:flex-start;padding:18px 15px;min-height:106px}.messages-page .thread-list>button.selected{background:#edf4ff}.messages-page .thread-copy{gap:6px}.messages-page .thread-copy strong{font-size:14px;white-space:normal;line-height:1.4}.messages-page .thread-copy p{font-size:13px}.messages-page .thread-children{color:#435d7d;font-size:12px;line-height:1.5;white-space:normal}.messages-page .conversation-header{align-items:flex-start;padding:20px 24px}.messages-page .conversation-header>div{min-width:0;flex:1;gap:6px}.messages-page .conversation-header strong{font-size:16px}.message-family-context{display:grid;gap:9px;margin-top:8px;padding-top:12px;border-top:1px solid #e7edf5}.message-family-links{display:flex;flex-wrap:wrap;gap:12px}.message-family-links a{font-size:13px;color:#2860a6;font-weight:600;text-decoration:none}.message-children-label{font-size:11px;color:#66788e;font-weight:700}.message-child-links{display:flex;flex-wrap:wrap;gap:8px}.message-child-links a{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;background:#f1f6fc;border:1px solid #dbe6f4;border-radius:9px;text-decoration:none;color:#173c66;font-size:13px;font-weight:600}.message-child-links svg{width:15px;height:15px;color:#6282a7}.message-child-links a:hover{background:#e4efff;border-color:#acc5e6}.message-family-missing{margin:6px 0 0;color:#687b91;font-size:12px}.messages-page .conversation-panel{min-height:0}.messages-page .message-history{max-height:none;padding:24px;gap:18px;background:#f7f9fc}.messages-page .message-history p{font-size:14px;line-height:1.65}.messages-page .message-history article>div{padding:12px 16px}.messages-page .message-history time{font-size:11px;margin-top:7px}.messages-page .message-composer{padding:18px 22px;align-items:center;gap:14px}.messages-page .message-composer textarea{min-width:0;font-size:14px;line-height:1.5;min-height:70px}.messages-page .message-composer .button{min-height:44px;padding-inline:20px}.messages-page .conversation-empty{grid-row:1/-1}.messages-page button:focus-visible,.messages-page a:focus-visible{outline:3px solid #98bafb;outline-offset:2px}@media(max-width:1000px){.messages-page .message-workspace{grid-template-columns:290px minmax(0,1fr)}.messages-page .conversation-header{padding:16px}}@media(max-width:760px){.messages-page .message-workspace{grid-template-columns:1fr;height:calc(100dvh - 220px);min-height:480px}.messages-page .mobile-hidden{display:none}.messages-page .conversation-back{display:grid}.messages-page .message-composer{padding:12px}.messages-page .message-history{padding:16px}}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#132238;background:#f5f7fb;font-synthesis:none;text-rendering:optimizeLegibility;--navy: #0b2447;--navy-2: #133663;--blue: #1d62d4;--blue-soft: #eaf2ff;--gold: #eca928;--green: #16845b;--red: #c43b4d;--purple: #7449b8;--line: #dce3ed;--muted: #637083;--surface: #fff;--shadow: 0 10px 30px rgba(20, 42, 78, .07);--radius: 16px;--type-micro: 11px;--type-small: 12px;--type-body: 14px;--type-card-title: 17px;--type-section-title: 18px}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f5f7fb}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(29,98,212,.28);outline-offset:2px}.app-shell{display:grid;grid-template-columns:252px 1fr;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:252px;display:flex;flex-direction:column;padding:24px 16px 18px;color:#dbe8fb;background:var(--navy);z-index:30}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 26px;border-bottom:1px solid rgba(255,255,255,.12)}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--gold);color:var(--navy)}.brand-mark svg{width:24px}.brand div{display:grid;gap:2px}.brand strong{color:#fff;font-size:16px}.brand span{font-size:12px;color:#a9bad2}.sidebar nav{display:grid;gap:4px;overflow-y:auto;padding:22px 0}.nav-item{display:flex;align-items:center;gap:12px;min-height:44px;padding:10px 12px;border-radius:10px;color:#bbc9dc;text-decoration:none;font-size:14px;font-weight:600;transition:.15s ease}.nav-item svg{width:19px}.nav-item:hover{color:#fff;background:#ffffff12}.nav-item.active{color:#fff;background:#24518c;box-shadow:inset 3px 0 var(--gold)}.nav-badge{display:grid;place-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 6px;border-radius:10px;color:#fff;background:var(--red);font-size:9px;font-weight:800}.soon-dot{width:6px;height:6px;margin-left:auto;border-radius:50%;background:#7d91ad}.sidebar-footer{display:grid;gap:4px;margin-top:auto;padding:15px 10px 2px;border-top:1px solid rgba(255,255,255,.12);font-size:11px;color:#8ea3bf}.main-column{grid-column:2;min-width:0}.topbar{position:sticky;top:0;z-index:20;height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;background:#fffffff0;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.year-select{display:grid;gap:2px}.year-select span{color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.year-select select{min-width:180px;padding:2px 28px 2px 0;border:0;color:#152a46;background:transparent;font-weight:700}.top-actions{display:flex;align-items:center;gap:16px;margin-left:auto}.icon-button{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:11px;color:#3a4c65;background:#fff;cursor:pointer}.icon-button svg{width:19px}.notification-button{position:relative}.notification-button>span{position:absolute;top:-5px;right:-5px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border:2px solid white;border-radius:10px;background:var(--red);color:#fff;font-size:9px;font-weight:800}.profile-menu{position:relative}.profile-trigger{display:flex;align-items:center;gap:10px;padding:5px 4px 5px 5px;border:0;background:transparent;cursor:pointer}.profile-trigger>svg{width:16px;color:var(--muted)}.avatar{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:var(--navy);color:#fff;font-size:13px;font-weight:800}.profile-copy{display:grid;gap:1px;text-align:left}.profile-copy strong{font-size:13px}.profile-copy small{color:var(--muted);font-size:11px}.profile-popover{position:absolute;top:52px;right:0;width:265px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 20px 50px #0f23412e}.profile-popover p{display:grid;gap:3px;margin:0 0 14px}.profile-popover p span{color:var(--muted);font-size:12px}.signout{width:100%;margin-top:10px;padding:9px;border:0;background:transparent;color:var(--red);text-align:left;font-weight:700;cursor:pointer}.menu-button,.mobile-close,.backdrop{display:none}.content{padding:32px 34px 64px}.page{width:min(1380px,100%);margin:auto}.narrow-page{max-width:900px}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:26px}.page-heading h1{margin:3px 0 5px;color:#112542;font-size:clamp(27px,3vw,36px);line-height:1.15;letter-spacing:-.035em}.page-heading p{margin:0;color:var(--muted);font-size:14px}.eyebrow{color:var(--blue)!important;font-size:11px!important;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.date-chip,.secure-chip{display:flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid var(--line);border-radius:11px;background:#fff;color:#4c5c70;font-size:12px;font-weight:600}.date-chip svg,.secure-chip svg{width:17px;color:var(--blue)}.heading-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:9px}.context-note{margin:-10px 0 18px;padding:11px 14px;border-left:4px solid var(--blue);border-radius:8px;color:#46566c;background:var(--blue-soft);font-size:11px;line-height:1.5}.table-link{color:var(--blue);font-weight:700;text-decoration:none}.check-column{width:46px;text-align:center}.check-column input{width:16px;height:16px;accent-color:var(--blue)}.selection-count{margin-left:auto;color:var(--muted);font-size:11px;font-weight:700}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:20px}.metric-card{position:relative;display:flex;gap:13px;min-height:132px;padding:20px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff;text-decoration:none;box-shadow:var(--shadow);transition:.18s ease}.metric-card:hover{transform:translateY(-2px);border-color:#b9c8db}.metric-icon{flex:0 0 auto;display:grid;place-items:center;width:42px;height:42px;border-radius:12px}.metric-icon svg{width:21px}.metric-icon.blue{color:var(--blue);background:var(--blue-soft)}.metric-icon.purple{color:var(--purple);background:#f1ebfb}.metric-icon.green{color:var(--green);background:#e5f5ef}.metric-icon.gold{color:#a66c00;background:#fff3d5}.metric-card strong{font-size:27px;line-height:1}.metric-card h2{margin:6px 0 3px;font-size:13px}.metric-card p{margin:0;color:var(--muted);font-size:11px}.metric-arrow{position:absolute;right:15px;top:17px;width:16px;color:#a3afbf}.dashboard-grid,.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel{padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.panel.full{grid-column:1/-1}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.panel-heading h2{margin:0 0 4px;font-size:16px}.panel-heading p{margin:0;color:var(--muted);font-size:12px}.panel-heading a{display:flex;align-items:center;gap:5px;color:var(--blue);font-size:12px;font-weight:700;text-decoration:none}.panel-heading a svg{width:15px}.application-review-grid{grid-template-columns:1fr}.review-card-grid,.submitted-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.review-card,.submitted-form{min-width:0;padding:18px;border:1px solid var(--line);border-radius:13px;background:#fbfcfe}.review-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.review-card-heading h3,.review-card-heading h4{margin:3px 0 0;color:#172d49;font-size:16px}.review-fields,.form-answer-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 18px;margin:18px 0 0}.review-fields>div,.form-answer-list>div{min-width:0}.review-fields .wide{grid-column:1/-1}.review-fields dt,.form-answer-list dt{margin-bottom:3px;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.review-fields dd,.form-answer-list dd{margin:0;color:#263b58;font-size:12px;line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap}.review-fields a{color:var(--blue)}.review-footnote{margin:15px 0 0;padding:11px 13px;border-radius:9px;color:#3e5067;background:var(--blue-soft);font-size:12px}.placement-row{margin-top:17px;padding-top:15px;border-top:1px solid var(--line)}.student-form-group+.student-form-group{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}.student-form-heading{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:12px}.student-form-heading h3{margin:0;font-size:16px}.student-form-heading span{color:var(--muted);font-size:11px}.submitted-form{background:#fff}.form-answer-list{grid-template-columns:1fr}.signature-line{margin:16px 0 0;padding-top:12px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.family-profile-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px}.family-profile-summary>div{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:2px 10px;padding:15px 18px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow)}.family-profile-summary svg{grid-row:1/3;width:20px;color:var(--blue)}.family-profile-summary span{color:var(--muted);font-size:11px;font-weight:700}.family-profile-summary strong{grid-column:3;grid-row:1/3;font-size:22px}.family-contact-list,.family-student-list{display:grid;gap:12px}.family-contact-card{padding:15px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe}.family-contact-card>div{display:flex;align-items:center;gap:9px;margin-bottom:11px}.family-contact-card h3{margin:0 auto 0 0;font-size:14px}.family-contact-card a,.family-contact-card p{display:flex;align-items:flex-start;gap:8px;margin:7px 0 0;color:#40536d;font-size:12px;overflow-wrap:anywhere}.family-contact-card a{color:var(--blue)}.family-contact-card svg{flex:0 0 auto;width:14px;height:14px}.family-emergency{display:grid;gap:3px;margin-top:14px;padding:12px 14px;border-radius:10px;background:var(--blue-soft);font-size:12px}.family-student-card{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:11px;padding:13px;border:1px solid var(--line);border-radius:12px;color:inherit;text-decoration:none;transition:.15s ease}.family-student-card:hover{border-color:#9ab9ec;background:var(--blue-soft)}.family-student-card .entity-avatar svg{width:17px}.family-student-card>span:nth-child(2){display:grid;gap:4px}.family-student-card small{color:var(--muted);font-size:11px}.registration-record{overflow:hidden;border:1px solid var(--line);border-radius:13px;background:#fbfcfe}.registration-record+.registration-record{margin-top:12px}.registration-record>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 18px;cursor:pointer;list-style-position:inside}.registration-record>summary:hover{background:var(--blue-soft)}.registration-record>summary>span{display:inline-grid;gap:4px;margin-left:7px}.registration-record>summary small{color:var(--muted);font-size:11px;font-weight:400}.registration-record-body{padding:20px;border-top:1px solid var(--line);background:#fff}.registration-student-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.registration-student-grid .review-card h3{margin:4px 0 0}.registration-student-forms{margin:22px 0;padding-top:20px;border-top:1px solid var(--line)}.registration-record-body>.button{width:max-content}.family-activity-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.family-activity-grid>div{display:grid;gap:5px;padding:15px;border-radius:11px;background:#f5f8fc}.family-activity-grid span,.family-activity-grid small{color:var(--muted);font-size:11px}.family-activity-grid strong{color:var(--navy);font-size:18px}.application-workflow{margin-bottom:20px}.application-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}.application-stages li{display:flex;align-items:flex-start;gap:10px;padding:14px;border:1px solid var(--line);border-radius:11px;color:#667489;background:#f7f9fc}.application-stages li>span{display:grid;place-items:center;flex:0 0 auto;width:27px;height:27px;border-radius:50%;color:#5e6c80;background:#e6ebf2;font-size:11px;font-weight:800}.application-stages li>div{display:grid;gap:2px}.application-stages strong{color:#34475f;font-size:12px}.application-stages small{color:var(--muted);font-size:10px;line-height:1.35}.application-stages li.current{border-color:#a9c5ec;background:var(--blue-soft)}.application-stages li.current>span{color:#fff;background:var(--blue)}.application-stages li.complete{border-color:#bfe2d2;background:#edf9f4}.application-stages li.complete>span{color:#fff;background:var(--green)}.payment-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;margin-top:16px;padding:15px;border-radius:11px;background:#f7f9fc}.payment-summary>div{display:grid;gap:3px;min-width:0}.payment-summary .wide{grid-column:1/-1}.payment-summary span{color:var(--muted);font-size:10px;font-weight:700}.payment-summary strong{color:#2c405a;font-size:12px;line-height:1.45;overflow-wrap:anywhere}.payment-rule-select{display:grid;gap:5px}.payment-rule-select select{width:min(520px,100%);height:40px;padding:0 34px 0 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#243954;font-weight:700}.field-error{color:var(--danger)}.confirmation-summary{display:grid;grid-template-columns:1fr auto;gap:7px 20px;padding:14px;border-radius:10px;background:var(--blue-soft)}.confirmation-summary span{color:var(--blue);font-weight:800}.confirmation-summary p{grid-column:1/-1;margin:0;color:#40536c;line-height:1.5}.rejection-summary{display:flex;align-items:flex-start;gap:12px;padding:15px;border-radius:11px;background:#fff2f4}.rejection-summary>div{display:grid;gap:3px}.rejection-summary p{margin:0;color:#74404a;font-size:12px}.finance-rules-layout{display:grid;gap:30px}.deposit-policy-editor{display:grid;gap:22px;padding:26px}.deposit-policy-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:28px}.deposit-policy-heading .eyebrow,.finance-rule-heading .eyebrow{margin:0 0 4px}.deposit-policy-heading h2,.finance-rule-heading h2{margin:0 0 5px;font-size:var(--type-section-title)}.deposit-policy-heading>div:first-child>p:last-child,.finance-rule-heading>div>p:last-child{max-width:720px;margin:0;color:var(--muted);font-size:13px;line-height:1.5}.deposit-current{display:grid;flex:0 0 auto;min-width:166px;gap:4px;padding:14px 16px;border:1px solid #c9daf2;border-radius:12px;background:var(--blue-soft)}.deposit-current span{color:#526984;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.deposit-current strong{color:#153c70;font-size:22px;line-height:1.2}.deposit-policy-fields{display:grid;grid-template-columns:minmax(230px,.55fr) minmax(360px,1.45fr);gap:22px;padding:20px;border:1px solid #e1e7ef;border-radius:13px;background:#f8fafc}.deposit-policy-fields label{display:grid;align-content:start;gap:7px;color:#2f425c}.deposit-policy-fields label>span{font-size:12px;font-weight:800}.deposit-policy-fields label>small{min-height:34px;color:var(--muted);font-size:11px;font-weight:400;line-height:1.45}.deposit-policy-fields input,.deposit-policy-fields textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid #cbd6e4;border-radius:9px;color:var(--text);background:#fff;font:inherit}.deposit-policy-fields textarea{min-height:104px;line-height:1.5;resize:vertical}.deposit-policy-fields textarea:focus{border-color:var(--blue);outline:3px solid rgba(29,98,212,.15)}.money-input{display:grid;grid-template-columns:42px minmax(0,1fr);overflow:hidden;border:1px solid #cbd6e4;border-radius:9px;background:#fff}.money-input>span{display:grid;place-items:center;border-right:1px solid #dce3ed;color:#52647a;background:#f1f4f8;font-size:14px;font-weight:800}.money-input input{min-width:0;border:0;border-radius:0;outline:0}.money-input:focus-within{border-color:var(--blue);outline:3px solid rgba(29,98,212,.15)}.finance-form-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:18px;border-top:1px solid var(--line)}.finance-form-footer>span{color:var(--muted);font-size:12px}.finance-form-footer strong{color:#34475f}.tuition-rules-section{min-width:0}.finance-rule-heading{align-items:center;margin:0 0 13px}.rule-count{flex:0 0 auto;padding:7px 10px;border-radius:20px;color:#0e6a48;background:#dff3eb;font-size:10px;font-weight:800}.work-list{display:grid}.work-row{display:flex;align-items:center;gap:11px;min-height:62px;border-top:1px solid #edf0f5}.work-row>div{display:grid;gap:3px;margin-right:auto}.work-row strong{font-size:12px}.work-row div span{color:var(--muted);font-size:11px}.entity-avatar{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border-radius:10px;color:var(--purple);background:#f0eafa;font-size:11px;font-weight:800}.entity-avatar svg{width:17px}.entity-avatar.class{color:var(--blue);background:var(--blue-soft)}.status{display:inline-flex;align-items:center;width:fit-content;padding:5px 8px;border-radius:20px;color:#4b5a6d;background:#eef1f5;font-size:9px;font-weight:800;text-transform:capitalize;white-space:nowrap}.status-active,.status-approved,.status-deposit_received{color:#0e6a48;background:#dff3eb}.status-submitted,.status-in_review,.status-planned{color:#1457ae;background:#e5efff}.status-deposit_requested,.status-changes_requested{color:#8a5c00;background:#fff0c9}.status-rejected,.status-cancelled,.status-inactive{color:#a62939;background:#fde7ea}.attention{display:flex;align-items:center;gap:4px;color:#925e00;font-size:10px;font-weight:700}.attention svg{width:14px}.compact-empty{display:flex;align-items:center;gap:12px;min-height:75px;padding:14px;border-radius:12px;background:#f7f9fc;color:var(--green)}.compact-empty svg{width:23px}.compact-empty div{display:grid;gap:3px}.compact-empty strong{color:#24364d;font-size:12px}.compact-empty span{color:var(--muted);font-size:11px}.capacity-summary{display:grid;gap:10px;padding:15px;border-radius:12px;background:#f7f9fc}.capacity-summary>div:first-child{display:flex;align-items:baseline;justify-content:space-between}.capacity-summary strong{font-size:21px}.capacity-summary span{color:var(--muted);font-size:11px}.progress-track{height:6px;overflow:hidden;border-radius:5px;background:#e4e9f0}.progress-track span{display:block;height:100%;border-radius:5px;background:var(--blue)}.volunteer-overview,.finance-overview{display:grid;align-content:start;gap:18px}.volunteer-overview .panel-heading,.finance-overview .panel-heading{margin-bottom:0}.volunteer-stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.volunteer-stat{display:grid;gap:5px;padding:15px;border-radius:12px;background:#f7f9fc}.volunteer-stat strong{color:#152d4f;font-size:21px}.volunteer-stat span{color:var(--muted);font-size:11px}.volunteer-progress{display:grid;gap:10px}.volunteer-progress>div:first-child{display:flex;justify-content:space-between;gap:16px;align-items:baseline}.volunteer-progress strong{font-size:13px}.volunteer-progress span{color:var(--muted);font-size:11px}.volunteer-progress .progress-track span{background:var(--green)}.volunteer-progress .progress-track.finance span{background:var(--blue)}.compact-empty.warning{color:#a66c00;background:#fff8e8}.volunteer-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:20px}.volunteer-summary-card{position:relative;display:flex;align-items:center;gap:12px;min-width:0;min-height:112px;padding:17px;border:1px solid var(--line);border-radius:14px;color:inherit;background:#fff;box-shadow:var(--shadow);text-align:left;cursor:pointer;transition:.18s ease}.volunteer-summary-card:hover{transform:translateY(-2px);border-color:#b9c8db}.volunteer-summary-card>span:nth-child(2){display:grid;min-width:0;gap:3px}.volunteer-summary-card strong{color:#152d4f;font-size:25px;line-height:1}.volunteer-summary-card b{color:#263b58;font-size:11px}.volunteer-summary-card small{overflow:hidden;color:var(--muted);font-size:9px;line-height:1.4;text-overflow:ellipsis}.volunteer-summary-card>svg{position:absolute;top:13px;right:12px;width:15px;color:#a3afbf}.volunteer-summary-icon{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border-radius:11px;color:var(--blue);background:var(--blue-soft)}.volunteer-summary-icon svg{width:19px}.volunteer-summary-card.attention-card .volunteer-summary-icon{color:#9a6500;background:#fff0c9}.volunteer-opportunity-list .opportunity-main{min-width:0;flex:1;padding:0;border:0;color:inherit;background:transparent;text-align:left;cursor:pointer}.volunteer-opportunity-list .opportunity-main small{display:block;margin-top:7px;color:#415d80;font-weight:700}.context-note .link-button{margin-left:7px}.status-pending,.status-registration_in_progress,.status-draft{color:#1457ae;background:#e5efff}.status-accepted,.status-published{color:#0e6a48;background:#dff3eb}.status-expired{color:#795500;background:#fff0c9}.status-revoked{color:#a62939;background:#fde7ea}.status-retired{color:#59677a;background:#eceff3}.toolbar{display:flex;align-items:end;gap:12px;margin-bottom:18px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}.search-field{display:flex;align-items:center;gap:8px;min-width:280px;height:42px;padding:0 12px;border:1px solid var(--line);border-radius:9px}.search-field.wide{width:min(480px,100%)}.search-field svg{width:17px;color:#8793a4}.search-field input{width:100%;border:0;outline:0}.select-field{display:grid;gap:4px}.select-field span,.filter-panel label span{color:var(--muted);font-size:10px;font-weight:700}.select-field select{height:42px;padding:0 32px 0 10px;border:1px solid var(--line);border-radius:9px;background:#fff}.class-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.class-card{padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.class-card-top{display:flex;justify-content:space-between}.class-symbol{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;color:var(--blue);background:var(--blue-soft)}.class-symbol svg{width:21px}.class-card h2{margin:16px 0 4px;font-size:19px}.class-card>p{margin:0;color:var(--muted);font-size:12px}.class-meta{display:grid;gap:8px;margin:18px 0}.class-meta span,.roster-line span{display:flex;align-items:center;gap:7px;color:#4c5c70;font-size:11px}.class-meta svg,.roster-line svg{width:15px;color:#8492a4}.roster-line{display:flex;justify-content:space-between;margin-bottom:9px}.roster-line .waitlist{color:#956100;font-weight:700}.table-shell{overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse}th{padding:13px 16px;background:#f6f8fb;color:#68768a;font-size:10px;text-align:left;text-transform:uppercase;letter-spacing:.06em}td{min-height:64px;padding:14px 16px;border-top:1px solid #e8ecf2;color:#435168;font-size:12px}tbody tr:hover{background:#fbfcfe}.name-cell{display:flex;align-items:center;gap:10px;color:#1c2e47}.table-primary,.table-secondary{display:block}.table-primary{color:#22334b}.table-secondary{margin-top:3px;color:var(--muted);font-size:10px}.row-link{display:grid;place-items:center;width:32px;height:32px;margin-left:auto;border-radius:9px;color:var(--blue);background:var(--blue-soft)}.row-link svg{width:17px}.row-actions-heading,.row-actions-cell{width:1%;text-align:right;white-space:nowrap}.record-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.row-open-action{display:inline-flex;align-items:center;justify-content:flex-end;gap:3px;min-height:32px;padding:0 7px;border-radius:7px;color:var(--blue);font-weight:800;text-decoration:none}.row-open-action:hover{background:var(--blue-soft)}.row-open-action svg{width:16px;height:16px}.back-link{display:inline-flex;align-items:center;gap:6px;margin-bottom:18px;color:var(--blue);font-size:12px;font-weight:700;text-decoration:none}.back-link svg{width:16px}.detail-heading{align-items:center}.contact-list,.student-list,.history-list{display:grid;gap:10px}.contact-list article{display:flex;gap:11px;padding:12px;border:1px solid #e9edf3;border-radius:11px}.contact-list article>div{display:grid;gap:2px}.contact-list strong{font-size:12px}.contact-list span{color:var(--muted);font-size:10px}.contact-list p{display:flex;flex-wrap:wrap;gap:12px;margin:7px 0 0}.contact-list a{display:flex;align-items:center;gap:5px;color:var(--blue);font-size:10px;text-decoration:none}.contact-list a svg{width:13px}.student-list>a{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid #e9edf3;border-radius:11px;text-decoration:none}.student-list a>div{display:grid;gap:3px;margin-right:auto}.student-list strong{font-size:12px}.student-list div span{color:var(--muted);font-size:10px}.medical-flag{display:flex;align-items:center;gap:4px;color:var(--red);font-size:9px;font-weight:700}.medical-flag svg{width:14px}.student-hero{display:flex;align-items:center;gap:16px;margin-bottom:22px}.student-avatar{display:grid;place-items:center;width:62px;height:62px;border-radius:18px;color:var(--navy);background:#ffdf7f;font-size:20px;font-weight:800}.student-hero h1{margin:2px 0 4px;font-size:28px}.student-hero p{margin:0;color:var(--muted);font-size:12px}.student-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.student-stats article{display:flex;align-items:center;gap:12px;padding:17px;border:1px solid var(--line);border-radius:13px;background:#fff}.student-stats svg{color:var(--blue)}.student-stats div{display:grid}.student-stats strong{font-size:16px}.student-stats span{color:var(--muted);font-size:10px}.student-stats article.warning svg,.student-stats article.warning strong{color:var(--red)}.history-list>div{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-top:1px solid #e9edf3}.history-list>div:first-child{border:0}.history-list>div>span:first-child{display:grid;gap:3px}.history-list strong{font-size:12px}.history-list small{color:var(--muted)}.sensitive-panel{border-left:4px solid var(--red)}.sensitive-panel h2{display:flex;align-items:center;gap:7px}.sensitive-panel h2 svg{width:18px;color:var(--red)}.filter-panel{display:grid;grid-template-columns:1.2fr 1fr 1fr .8fr .8fr auto;align-items:end;gap:10px;margin-bottom:18px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff}.filter-panel label{display:grid;gap:5px}.filter-panel input{width:100%;height:40px;padding:0 10px;border:1px solid var(--line);border-radius:8px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 15px;border:1px solid transparent;border-radius:9px;font-weight:700;text-decoration:none;cursor:pointer}.button svg{width:17px}.button.primary{background:var(--blue);color:#fff}.button.secondary{border-color:var(--line);background:#fff;color:#2f415a}.button.danger{border-color:#f4c8ce;color:var(--red);background:#fff5f6}.button.publish{border-color:#1c7254;color:#fff;background:var(--green)}.button.archive{border-color:#efd99b;color:#7a5500;background:#fff8df}.button.restore{border-color:#bfe2d2;color:#116b49;background:#edf9f4}.button.compact{min-height:32px;padding:0 11px;border-radius:7px;font-size:11px}.row-action,.link-button{border:0;color:var(--blue);background:transparent;font-weight:700;text-decoration:none;cursor:pointer}.notice{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px;padding:12px 14px;border-radius:10px;color:#0d6647;background:#e1f5ed;font-size:12px}.notice button{border:0;background:transparent;cursor:pointer}.action-row{display:flex;flex-wrap:wrap;gap:9px}.record-line{display:grid;gap:4px;padding:12px 0;border-top:1px solid var(--line)}.record-line:first-of-type{border-top:0}.record-line span,.helper{color:var(--muted);font-size:11px}.button:disabled,.link-button:disabled{cursor:not-allowed;opacity:.55}.notice-warning{align-items:center;color:#745000;background:#fff7df}.notice-warning .link-button{display:inline-flex;align-items:center;gap:5px;color:#745000}.notice-warning svg{width:14px}.inline-error{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.inline-error a{color:#852132;font-weight:800;white-space:nowrap}.card-action{display:inline-block;margin-top:14px}.placement-row select,.multi-select{min-height:38px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:#fff}.multi-select{width:100%;min-height:110px}.section-gap{margin-top:20px}.global-warning{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;padding:12px 14px;border:1px solid #efd28c;border-radius:10px;color:#745000;background:#fff7df;font-size:12px}.global-warning button{border:0;color:#745000;background:transparent;font-weight:800;cursor:pointer}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:20px;background:#07142794}.dialog-card{width:min(620px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:22px;border-radius:16px;background:#fff;box-shadow:0 30px 80px #05122552}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.dialog-heading h2{margin:0;font-size:20px}.dialog-heading p{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.dialog-form{display:grid;gap:16px}.dialog-form label{display:grid;gap:6px;color:#34465e;font-size:11px;font-weight:700}.dialog-form input,.dialog-form select,.dialog-form textarea{width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;color:var(--text);background:#fff;font:inherit}.dialog-card-wide{width:min(1080px,100%)}.opportunity-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 16px}.opportunity-details>div{display:grid;gap:4px;padding:11px 12px;border-radius:9px;background:#f6f8fb}.opportunity-details dt{color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.opportunity-details dd{margin:0;color:#263b58;font-size:11px;font-weight:700}.opportunity-details .opportunity-notes{grid-column:span 3}.inline-warning{padding:10px 12px;border:1px solid #efd28c;border-radius:8px;color:#745000;background:#fff7df;font-size:11px;line-height:1.45}.table-actions,.stack-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.stack-actions{justify-content:flex-end}.danger-text{color:var(--red)}.role-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.role-options label{display:flex;align-items:center;gap:8px;min-height:42px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;text-transform:capitalize}.role-options input{width:auto;min-height:auto}.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.summary-grid span{display:grid;gap:4px;padding:13px;border-radius:10px;background:#f6f8fb}.summary-grid small{color:var(--muted)}.card-list small{color:var(--muted);font-size:10px}.select-field input{height:42px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:#fff}.calendar-range p{margin:0 0 4px auto;color:var(--muted);font-size:11px}.tabs{display:flex;gap:4px;margin-bottom:18px;padding:4px;overflow-x:auto;border:1px solid var(--line);border-radius:11px;background:#fff}.tabs button{min-height:36px;padding:0 14px;border:0;border-radius:8px;color:#526176;background:transparent;font-size:11px;font-weight:700;white-space:nowrap;cursor:pointer}.tabs button.active{color:var(--blue);background:var(--blue-soft)}.registration-tabs{width:fit-content}.registrations-page .record-actions>.button{width:76px;padding-inline:8px}.invitation-toolbar{flex-wrap:wrap}.choice-fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;border:0}.choice-fieldset legend{margin-bottom:7px;color:#34465e;font-size:11px;font-weight:700}.choice-fieldset label{display:flex;align-items:flex-start;gap:9px;padding:12px;border:1px solid var(--line);border-radius:10px;cursor:pointer}.choice-fieldset input{width:auto;min-height:auto;margin-top:2px}.choice-fieldset span{display:grid;gap:3px}.choice-fieldset small,.dialog-form label small{color:var(--muted);font-size:10px;font-weight:400;line-height:1.4}.family-preview{display:grid;gap:5px;padding:13px;border:1px solid #d7e3f2;border-radius:10px;background:#f5f8fd}.family-preview span{color:var(--muted);font-size:10px}.confirmation-list{display:grid;gap:0;margin:0;border:1px solid var(--line);border-radius:10px}.confirmation-list div{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:10px 12px;border-top:1px solid var(--line)}.confirmation-list div:first-child{border-top:0}.confirmation-list dt{color:var(--muted);font-size:10px;font-weight:700}.confirmation-list dd{margin:0;color:#24364d;font-size:11px;font-weight:700}.api-boundary{display:flex;align-items:flex-start;gap:12px;margin-bottom:18px;padding:15px;border:1px solid #efd28c;border-radius:12px;color:#745000;background:#fff7df}.api-boundary>svg{flex:0 0 auto;width:21px}.api-boundary strong{display:block;margin-bottom:4px}.api-boundary p{margin:0;font-size:11px;line-height:1.55}.api-boundary code{padding:1px 4px;border-radius:4px;background:#74500014}.renewal-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}.renewal-controls label{display:grid;gap:6px;color:#34465e;font-size:11px;font-weight:700}.renewal-controls select{min-height:42px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:#fff}.renewal-controls small{color:var(--muted);font-weight:400;line-height:1.4}.renewal-summary{margin-top:18px}.renewal-family-list{display:grid;gap:9px;margin-bottom:18px}.renewal-family-list article{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);border-radius:10px}.renewal-family-list article>svg:first-child{flex:0 0 auto;width:21px;color:var(--blue)}.renewal-family-list article>div{display:grid;flex:1;gap:3px}.renewal-family-list article span,.renewal-family-list article small{color:var(--muted);font-size:10px}.renewal-family-list .ready-icon{color:var(--green)}.renewal-family-list .blocked-icon{color:var(--red)}.compose-panel{display:grid;gap:15px;margin-bottom:18px;padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.compose-panel h2{margin:0;font-size:17px}.compose-panel label{display:grid;gap:6px;color:#34465e;font-size:11px;font-weight:700}.compose-panel input,.compose-panel select,.compose-panel textarea{width:100%;min-height:41px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);font:inherit}.compose-panel textarea{resize:vertical}.compose-panel .check{display:flex;align-items:center}.compose-panel .check input{width:auto;min-height:auto}.compact-form{max-width:760px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:16px}.settings-card{display:flex;align-items:center;gap:16px;width:100%;height:100%;min-height:134px;padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);text-decoration:none}.settings-card:not(.static):hover{border-color:#b6c8df;transform:translateY(-1px)}.settings-card>div{flex:1}.settings-card h2{margin:0 0 6px;font-size:17px}.settings-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.55}.settings-card>svg{color:var(--blue)}.settings-icon{display:grid;place-items:center;flex:0 0 auto;width:44px;height:44px;border-radius:12px;color:var(--blue);background:var(--blue-soft)}.policy-current{margin-bottom:20px}.policy-editor{display:grid;gap:20px;padding:24px;margin-bottom:20px;border:1px solid #b9cce3;border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.policy-editor>label,.policy-editor .form-grid label,.policy-section-editor label{display:grid;gap:6px;color:#34465e;font-size:11px;font-weight:700}.policy-editor input,.policy-editor textarea{width:100%;min-height:42px;padding:10px 11px;border:1px solid var(--line);border-radius:8px;color:var(--text);background:#fff;font:inherit}.policy-editor textarea{resize:vertical;line-height:1.5}.policy-section-editor{display:grid;gap:12px;padding-top:4px}.policy-section-editor .panel-heading{margin-bottom:0}.policy-section-editor fieldset{display:grid;gap:12px;margin:0;padding:17px;border:1px solid var(--line);border-radius:11px;background:#f8fafc}.policy-section-number{color:var(--blue);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.policy-section-editor .link-button{display:inline-flex;align-items:center;gap:5px;width:fit-content;padding:0}.policy-section-editor .link-button svg{width:14px}.policy-editor-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:18px;border-top:1px solid var(--line)}.policy-preview h2{margin:3px 0 4px}.policy-preview .policy-meta{margin:0 0 18px;color:var(--muted);font-size:11px}.policy-preview .policy-introduction{padding:14px;border-radius:10px;background:var(--blue-soft)}.policy-preview section{padding-top:14px;border-top:1px solid var(--line)}.policy-preview section h3{margin:0 0 5px;font-size:14px}.policy-preview section p,.policy-preview .policy-introduction{color:#40516a;font-size:12px;line-height:1.65;white-space:pre-wrap}.timeline,.card-list{display:grid;gap:11px}.timeline article,.card-list article{display:flex;align-items:center;gap:18px;padding:18px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:var(--shadow)}.timeline time{flex:0 0 130px;color:var(--blue);font-size:11px;font-weight:800}.timeline article>div,.card-list article>div{flex:1}.timeline h2,.card-list h2{margin:4px 0;font-size:15px}.timeline p,.card-list p{margin:0;color:var(--muted);font-size:11px}.simple-metric{display:grid;gap:5px;padding:18px;border:1px solid var(--line);border-radius:13px;background:#fff}.simple-metric span{color:var(--muted);font-size:10px}.simple-metric strong{font-size:22px}.role-list{display:flex;flex-wrap:wrap;gap:5px}.role-list span{padding:4px 7px;border-radius:12px;color:#40516a;background:#edf1f6;font-size:9px;text-transform:capitalize}.stream-filters{align-items:end}.stream-filters .helper{margin:0 0 5px auto}.stream-post-list small,.card-list small{display:block;margin-top:8px;color:var(--muted);font-size:10px}.stream-page .link-button{display:inline-flex;align-items:center;gap:5px}.stream-page .link-button svg{width:14px}.delivery-list{display:grid}.delivery-list .status{margin-top:5px}.notification-list{display:grid;gap:10px}.notification-list article{display:flex;gap:13px;padding:18px;border:1px solid #cdd9e8;border-left:4px solid var(--blue);border-radius:13px;background:#fff;box-shadow:var(--shadow)}.notification-list article.read{border-left-color:#c4ccd8;opacity:.78}.notification-symbol{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border-radius:11px;color:var(--blue);background:var(--blue-soft)}.notification-symbol svg{width:18px}.notification-list article>div{margin-right:auto}.notification-category{color:var(--blue);font-size:9px;font-weight:800;text-transform:uppercase}.notification-list h2{margin:4px 0;font-size:14px}.notification-list p{margin:0 0 8px;color:#526176;font-size:12px}.notification-list small{color:var(--muted);font-size:10px}.notification-list a{display:block;margin-top:8px;color:var(--blue);font-size:11px;font-weight:700}.state{display:grid;place-items:center;min-height:320px;padding:40px;border:1px dashed #cdd6e2;border-radius:var(--radius);background:#fff;text-align:center}.state-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;color:var(--blue);background:var(--blue-soft)}.state h2,.state h3{margin:14px 0 6px}.state p{max-width:470px;margin:0 0 16px;color:var(--muted);font-size:12px;line-height:1.5}.state-error .state-icon{color:var(--red);background:#fde9ec}.correlation{padding:6px 9px;border-radius:6px;background:#f1f3f6;font-family:ui-monospace,monospace}.error-code{color:var(--blue);font-size:44px}.skeleton-stack{display:grid;gap:12px}.skeleton{height:76px;border-radius:13px;background:linear-gradient(90deg,#e9edf3 25%,#f6f8fb,#e9edf3 75%);background-size:200% 100%;animation:shimmer 1.3s infinite}@keyframes shimmer{to{background-position:-200% 0}}.boot-screen{display:grid;align-content:center;width:min(600px,90%);min-height:100vh;margin:auto}.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}.login-page{display:grid;grid-template-columns:1.1fr .9fr;min-height:100vh}.login-brand{position:relative;display:grid;place-items:center;overflow:hidden;padding:70px;color:#fff;background:var(--navy)}.login-brand:after{content:"";position:absolute;width:430px;height:430px;right:-140px;bottom:-140px;border:90px solid rgba(255,211,78,.09);border-radius:50%}.login-brand-inner{position:relative;z-index:1;max-width:570px}.login-logo{display:grid;place-items:center;width:54px;height:54px;margin-bottom:24px;border-radius:15px;color:var(--navy);background:var(--gold)}.login-brand-inner>p:first-of-type{margin:0;color:#b8c9e0;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.login-brand h1{max-width:520px;margin:18px 0;font-size:clamp(38px,5vw,64px);line-height:1.02;letter-spacing:-.055em}.login-lead{max-width:530px;color:#b8c9e0;line-height:1.7}.login-points{display:flex;flex-wrap:wrap;gap:18px;margin-top:34px}.login-points span{display:flex;align-items:center;gap:6px;color:#dfe9f6;font-size:12px}.login-points svg{width:16px;color:var(--gold)}.login-panel{display:grid;place-items:center;padding:40px;background:#fff}.login-card{width:min(390px,100%)}.login-card h2{margin:5px 0 8px;font-size:32px}.login-card>p:not(.eyebrow){color:var(--muted);line-height:1.5}.login-button{width:100%;min-height:48px;margin:22px 0 14px}.login-card small{display:block;color:var(--muted);font-size:10px;line-height:1.5;text-align:center}.inline-error{padding:10px;border-radius:8px;color:#9f293a;background:#fde8eb;font-size:11px}.message-workspace{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);min-height:650px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.message-sidebar{min-width:0;border-right:1px solid var(--line)}.message-tabs{display:flex;gap:5px;padding:14px 14px 8px}.message-tabs button{display:flex;align-items:center;justify-content:center;gap:7px;flex:1;min-height:38px;border:0;border-radius:9px;color:var(--muted);background:transparent;font-size:11px;font-weight:800;cursor:pointer}.message-tabs button.active{color:var(--blue);background:var(--blue-soft)}.message-tabs svg{width:16px}.message-search{display:flex;align-items:center;gap:8px;height:41px;margin:6px 14px 12px;padding:0 11px;border:1px solid var(--line);border-radius:9px}.message-search svg{width:16px;color:#8793a4}.message-search input{width:100%;border:0;outline:0}.thread-list,.contact-results{max-height:575px;overflow-y:auto}.thread-list>button,.contact-results>button{position:relative;display:flex;align-items:center;gap:11px;width:100%;min-height:82px;padding:13px 14px;border:0;border-top:1px solid #edf0f4;color:inherit;background:#fff;text-align:left;cursor:pointer}.thread-list>button:hover,.thread-list>button.selected,.contact-results>button:hover{background:#f5f8fd}.thread-list>button.selected{box-shadow:inset 3px 0 var(--blue)}.message-avatar{display:grid;place-items:center;flex:0 0 auto;width:41px;height:41px;border-radius:13px;color:var(--navy);background:#ffdf7f;font-size:11px;font-weight:900}.thread-copy{display:grid;min-width:0;flex:1;gap:3px}.thread-copy>span{display:flex;justify-content:space-between;gap:8px}.thread-copy strong,.contact-results strong{overflow:hidden;color:#1c2e47;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.thread-copy time{color:var(--muted);font-size:9px;white-space:nowrap}.thread-copy small,.contact-results small{display:block;color:var(--blue);font-size:9px}.thread-copy p{overflow:hidden;margin:0;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.unread-dot{display:grid;place-items:center;flex:0 0 auto;min-width:20px;height:20px;padding:0 5px;border-radius:10px;color:#fff;background:var(--blue);font-size:9px;font-weight:800}.contact-results>button>span:nth-child(2){min-width:0;flex:1}.contact-results>button>svg{width:17px;color:var(--blue)}.conversation-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;background:#fafbfd}.conversation-header{display:flex;align-items:center;gap:11px;min-height:70px;padding:12px 18px;border-bottom:1px solid var(--line);background:#fff}.conversation-header>div{display:grid;gap:3px}.conversation-header strong{color:#1c2e47;font-size:13px}.conversation-header small{color:var(--muted);font-size:10px}.conversation-back{display:none;place-items:center;width:34px;height:34px;border:0;border-radius:9px;color:var(--blue);background:var(--blue-soft);cursor:pointer}.conversation-back svg{width:17px}.conversation-empty{align-self:center;display:grid;place-items:center;padding:30px;text-align:center}.conversation-empty>span{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;color:var(--blue);background:var(--blue-soft)}.conversation-empty h2{margin:13px 0 5px;font-size:17px}.conversation-empty p{margin:0;color:var(--muted);font-size:11px}.conversation-empty.compact{min-height:100%}.message-history{display:flex;flex-direction:column;gap:10px;min-height:0;max-height:510px;overflow-y:auto;padding:20px}.message-history article{align-self:flex-start;max-width:min(620px,78%)}.message-history article.mine{align-self:flex-end}.message-history article>div{padding:10px 13px;border:1px solid var(--line);border-radius:5px 14px 14px;background:#fff;box-shadow:0 4px 12px #142a4e0a}.message-history article.mine>div{border-color:#2b6ed8;border-radius:14px 5px 14px 14px;color:#fff;background:var(--blue)}.message-history p{margin:0;font-size:12px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.message-history article>div>span{display:block;margin-top:7px;font-size:9px;text-decoration:underline}.message-history time{display:block;margin-top:4px;color:var(--muted);font-size:8px}.message-history article.mine time{text-align:right}.message-composer{display:flex;align-items:flex-end;gap:10px;padding:14px;border-top:1px solid var(--line);background:#fff}.message-composer textarea{flex:1;min-height:44px;max-height:130px;resize:vertical;padding:11px 12px;border:1px solid var(--line);border-radius:11px;color:#132238;background:#fff;font:inherit}.readonly-message{padding:15px;border-top:1px solid var(--line);color:var(--muted);background:#f1f3f6;font-size:11px;text-align:center}@media(max-width:1100px){.metric-grid,.class-grid{grid-template-columns:repeat(2,1fr)}.filter-panel{grid-template-columns:repeat(3,1fr)}.student-stats,.volunteer-stat-grid{grid-template-columns:repeat(2,1fr)}.volunteer-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.app-shell{display:block}.sidebar{transform:translate(-102%);transition:.2s ease}.sidebar.open{transform:none;box-shadow:20px 0 50px #0003}.mobile-close{display:grid;place-items:center;position:absolute;top:27px;right:14px;width:35px;height:35px;border:0;color:#fff;background:transparent}.main-column{width:100%}.topbar{height:68px;padding:0 16px}.menu-button{display:grid;place-items:center;width:40px;height:40px;border:0;background:transparent}.year-select span{display:none}.year-select select{min-width:130px;max-width:150px}.profile-copy,.profile-trigger>svg{display:none}.top-actions{gap:8px}.content{padding:24px 16px 48px}.page-heading{align-items:flex-start}.date-chip{display:none}.metric-grid,.dashboard-grid,.detail-grid,.class-grid,.renewal-controls,.settings-grid{grid-template-columns:1fr}.panel.full{grid-column:auto}.toolbar{align-items:stretch;flex-direction:column}.search-field{min-width:0;width:100%}.selection-count{margin-left:0}.filter-panel,.form-grid{grid-template-columns:1fr}.student-stats{grid-template-columns:1fr 1fr}.timeline article,.card-list article{align-items:flex-start;flex-wrap:wrap}.timeline time{flex-basis:100%}.login-page{grid-template-columns:1fr}.login-brand{display:none}.login-panel{min-height:100vh}.table-shell{border-radius:12px}.policy-editor-actions{align-items:stretch;flex-direction:column}.policy-editor-actions>.button,.policy-editor-actions>.action-row{width:100%}}@media(max-width:760px){.review-card-grid,.submitted-form-grid,.application-stages,.review-fields,.payment-summary{grid-template-columns:1fr}.review-fields .wide,.payment-summary .wide{grid-column:auto}}@media(max-width:760px){.family-profile-summary,.registration-student-grid,.family-activity-grid{grid-template-columns:1fr}.registration-record>summary{align-items:flex-start}.family-contact-card>div{align-items:flex-start;flex-wrap:wrap}.family-contact-card h3{flex-basis:calc(100% - 80px)}.family-student-card{grid-template-columns:40px 1fr}.family-student-card>.status{grid-column:2;justify-self:start}}@media(max-width:760px){.volunteer-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:460px){.metric-grid,.student-stats,.volunteer-stat-grid,.volunteer-summary-grid,.filter-panel{grid-template-columns:1fr}.page-heading{flex-direction:column}.secure-chip{align-self:flex-start}.volunteer-progress>div:first-child{align-items:flex-start;flex-direction:column}.volunteer-shortfalls .work-row{align-items:flex-start;flex-wrap:wrap;padding:10px 0}.volunteer-shortfalls .attention{margin-left:47px}}@media(max-width:600px){.role-options,.summary-grid,.choice-fieldset{grid-template-columns:1fr}.dialog-card{padding:17px}.card-list article{align-items:stretch}.stack-actions{justify-content:flex-start;width:100%}.calendar-range p{margin:4px 0 0}.action-row .button{flex:1 1 auto}.confirmation-list div{grid-template-columns:1fr;gap:3px}}@media(max-width:760px){.opportunity-details{grid-template-columns:repeat(2,minmax(0,1fr))}.opportunity-details .opportunity-notes{grid-column:span 2}}@media(max-width:760px){.message-workspace{grid-template-columns:1fr;min-height:calc(100vh - 210px)}.message-sidebar{border-right:0}.message-sidebar.mobile-hidden,.conversation-panel.mobile-hidden{display:none}.conversation-back{display:grid}.message-history{max-height:calc(100vh - 360px)}.messages-page .page-heading p{max-width:250px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.settings-card{color:inherit;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.settings-card:hover{border-color:#9db8dc;box-shadow:0 14px 34px #142a4e1c;transform:translateY(-2px)}.settings-card:focus-visible{outline:3px solid rgba(35,106,215,.28);outline-offset:3px}.settings-card-action{display:block;margin-top:12px;color:var(--blue);font-size:11px;font-weight:800}.integration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.integration-card{display:flex;align-items:flex-start;gap:15px;min-height:170px;padding:21px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.integration-card>div{flex:1}.integration-card h2{margin:3px 0 10px;font-size:17px;text-transform:capitalize}.integration-icon{display:grid;place-items:center;flex:0 0 auto;width:40px;height:40px;border-radius:11px;color:var(--blue);background:var(--blue-soft)}.integration-icon svg{width:19px}.integration-card dl{display:grid;gap:8px;margin:15px 0 0}.integration-card dl>div{display:grid;grid-template-columns:90px 1fr;gap:10px}.integration-card dt{color:var(--muted);font-size:10px}.integration-card dd{margin:0;color:#34465e;font-size:10px;overflow-wrap:anywhere}@media(max-width:760px){.integration-grid{grid-template-columns:1fr}}body{font-size:var(--type-body);line-height:1.5}.page-heading h1{font-size:clamp(28px,2.4vw,34px)}.student-hero h1{font-size:30px}.page-heading p{font-size:var(--type-body);line-height:1.5}.panel-heading h2,.settings-card h2,.compose-panel h2,.conversation-empty h2,.integration-card h2,.class-card h2{font-size:var(--type-section-title)}.panel-heading p,.settings-card p,.class-card>p,.state p,.dialog-heading p,.notification-list p{font-size:13px}.metric-card h2,.work-row strong,.compact-empty strong,.contact-list strong,.student-list strong,.history-list strong,.thread-copy strong,.contact-results strong,.conversation-header strong{font-size:13px}.metric-card p,.work-row div span,.compact-empty span,.capacity-summary span,.volunteer-stat span,.volunteer-progress span,.class-meta span,.roster-line span,.record-line span,.helper,.timeline p,.card-list p,.readonly-message,.conversation-empty p{font-size:var(--type-small)}.metric-card strong{font-size:26px}.volunteer-summary-card strong{font-size:24px}.volunteer-summary-card b{font-size:var(--type-small)}.simple-metric strong{font-size:24px}.button{font-size:13px}.button.compact,.tabs button,.message-tabs button,.row-action,.link-button,.panel-heading a,.notification-list a,.back-link,.settings-card-action{font-size:var(--type-small)}.select-field span,.filter-panel label span,.dialog-form label,.choice-fieldset legend,.renewal-controls label,.compose-panel label,.policy-editor>label,.policy-editor .form-grid label,.policy-section-editor label{font-size:var(--type-small)}th{font-size:var(--type-micro)}td{font-size:13px}.table-secondary,.contact-list span,.contact-list a,.student-list div span,.student-stats span,.card-list small,.stream-post-list small,.notification-list small,.summary-grid small,.choice-fieldset small,.dialog-form label small,.family-preview span,.confirmation-list dt,.confirmation-list dd,.renewal-family-list article span,.renewal-family-list article small,.policy-preview .policy-meta,.integration-card dt,.integration-card dd,.volunteer-summary-card small,.simple-metric span,.policy-section-number,.attention{font-size:var(--type-micro)}.status,.nav-badge,.notification-button>span,.medical-flag,.opportunity-details dt,.role-list span,.notification-category,.thread-copy time,.thread-copy small,.contact-results small,.unread-dot,.message-history article>div>span,.message-history time{font-size:var(--type-micro)}.opportunity-details dd,.api-boundary p,.inline-warning,.context-note,.selection-count,.calendar-range p,.settings-card-action,.sidebar-footer,.profile-copy small,.year-select span,.message-history p,.thread-copy p,.conversation-header small{font-size:var(--type-small)}.login-brand h1{font-size:clamp(38px,4.5vw,56px)}.login-card h2{font-size:28px}.login-card small{font-size:var(--type-micro)}@media(max-width:460px){.page-heading h1,.student-hero h1{font-size:28px}}.annual-renewal-page{max-width:1220px}.renewal-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 20px;padding:0;list-style:none}.renewal-steps li{display:flex;align-items:flex-start;gap:11px;min-width:0;padding:15px;border:1px solid var(--line);border-radius:12px;color:#59677a;background:#f8fafc}.renewal-steps li>span{display:grid;place-items:center;flex:0 0 auto;width:28px;height:28px;border-radius:50%;color:#53647a;background:#e8edf4;font-size:12px;font-weight:800}.renewal-steps li>div{display:grid;gap:2px}.renewal-steps strong{color:#33475f;font-size:13px}.renewal-steps small{color:var(--muted);font-size:11px;line-height:1.4}.renewal-steps li.active{border-color:#a9c4e8;background:var(--blue-soft)}.renewal-steps li.active>span{color:#fff;background:var(--blue)}.renewal-steps li.active strong{color:#173c70}.renewal-controls{display:block;margin-bottom:20px}.renewal-controls-heading,.renewal-results-heading,.renewal-action-bar{display:flex;align-items:center;justify-content:space-between;gap:18px}.renewal-controls-heading{margin-bottom:18px}.renewal-controls-heading h2,.renewal-results-heading h2{margin:3px 0 0;font-size:18px}.renewal-selection{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:18px;color:#254a7c;background:var(--blue-soft);font-size:12px;font-weight:800}.renewal-selection svg{width:16px}.renewal-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.renewal-filter-grid label{display:grid;grid-template-columns:1fr auto;gap:6px;color:#34465e;font-size:12px;font-weight:800}.renewal-filter-grid label>span:first-of-type{color:var(--muted);font-size:11px;font-weight:600}.renewal-filter-grid select,.renewal-search{grid-column:1/-1;width:100%;min-height:44px;border:1px solid var(--line);border-radius:9px;color:var(--text);background:#fff}.renewal-filter-grid select{padding:0 34px 0 11px}.renewal-search{display:flex;align-items:center;gap:8px;padding:0 11px}.renewal-search svg{flex:0 0 auto;width:17px;color:#8793a4}.renewal-search input{width:100%;border:0;outline:0}.renewal-filter-grid small{grid-column:1/-1;color:var(--muted);font-size:11px;font-weight:400;line-height:1.4}.renewal-results{margin-bottom:18px}.renewal-results-heading{margin-bottom:12px}.renewal-results-heading p{margin:2px 0 0;color:var(--muted);font-size:12px}.renewal-results>.api-boundary{margin-bottom:0}.renewal-results .check-column input{width:17px;height:17px}.renewal-action-bar{position:sticky;bottom:16px;z-index:5;padding:14px 16px;border:1px solid #c9d6e7;border-radius:13px;background:#fffffff5;box-shadow:0 14px 36px #142a4e24;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.renewal-action-bar>div{display:grid;gap:2px}.renewal-action-bar strong{font-size:13px}.renewal-action-bar span{color:var(--muted);font-size:12px}.renewal-preview section{display:grid;gap:7px;padding:13px;border:1px solid var(--line);border-radius:10px;background:#f8fafc}.renewal-preview section>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.renewal-preview h3,.renewal-preview p{margin:0}.renewal-preview section span,.renewal-preview section p{color:var(--muted);font-size:12px}@media(max-width:760px){.renewal-steps,.renewal-filter-grid{grid-template-columns:1fr}.renewal-steps li:not(.active) small{display:none}.renewal-controls-heading,.renewal-results-heading,.renewal-action-bar{align-items:stretch;flex-direction:column}.renewal-selection{align-self:flex-start}.renewal-action-bar .button{width:100%}}.dashboard-card-link{color:inherit;text-decoration:none;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.dashboard-card-link:hover{border-color:#9db8dc;box-shadow:0 14px 34px #142a4e1c;transform:translateY(-2px)}.dashboard-card-link:focus-visible,.metric-card:focus-visible{outline:3px solid rgba(29,98,212,.28);outline-offset:3px}.dashboard-card-link:hover .panel-heading h2,.dashboard-card-link:focus-visible .panel-heading h2,.metric-card:hover h2,.metric-card:focus-visible h2{color:var(--blue)}.dashboard-card-link .panel-heading{margin-bottom:18px}.dashboard-card-link .capacity-summary,.dashboard-card-link .volunteer-stat,.dashboard-card-link .compact-empty{transition:background-color .16s ease}.dashboard-card-link:hover .capacity-summary,.dashboard-card-link:hover .volunteer-stat,.dashboard-card-link:hover .compact-empty{background:#f3f7fd}.registration-management-options{display:grid;gap:12px}.registration-management-options section{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;border:1px solid var(--line);border-radius:11px;background:#f8fafc}.registration-management-options section>div{display:grid;gap:4px}.registration-management-options h3,.registration-management-options p{margin:0}.registration-management-options h3{font-size:14px}.registration-management-options p{max-width:390px;color:var(--muted);font-size:12px;line-height:1.5}.registration-management-options .danger-option{border-color:#f1cbd1;background:#fff8f8}.registration-management-options .button{flex:0 0 112px}@media(max-width:600px){.registration-management-options section{align-items:stretch;flex-direction:column}.registration-management-options .button{width:100%}}.volunteer-settings-page{max-width:980px}.volunteer-config-panel{display:grid;gap:20px}.volunteer-config-panel .panel-heading{margin-bottom:0}.volunteer-config-panel label{display:grid;gap:6px;color:#34465e;font-size:12px;font-weight:800}.volunteer-config-panel input{width:100%;min-height:44px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;color:var(--text);background:#fff;font:inherit}.volunteer-config-panel label small{color:var(--muted);font-size:11px;font-weight:400;line-height:1.45}.volunteer-config-example{display:grid;grid-template-columns:1fr auto;gap:3px 16px;padding:16px;border-radius:11px;background:var(--blue-soft)}.volunteer-config-example span{color:#334b6b;font-size:12px;font-weight:700}.volunteer-config-example strong{grid-row:span 2;align-self:center;color:#173d72;font-size:24px}.volunteer-config-example small{color:var(--muted);font-size:11px}@media(max-width:600px){.volunteer-config-example{grid-template-columns:1fr}.volunteer-config-example strong{grid-row:auto}}.teacher-assignment-panel{align-content:start}.selected-teachers{display:grid;gap:8px;min-height:76px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#f8fafc}.selected-teachers>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border-radius:8px;background:#fff;box-shadow:0 1px 2px #0f23410f}.selected-teachers span{display:grid;gap:2px;min-width:0}.selected-teachers strong{font-size:13px}.selected-teachers small,.selected-teachers>p{margin:0;color:var(--muted);font-size:11px}.selected-teachers .icon-button{width:32px;height:32px;min-height:32px}.selected-teachers .icon-button svg{width:15px}.class-roster-panel{gap:16px}.roster-add{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;padding:14px;border:1px solid var(--line);border-radius:11px;background:#f8fafc}.roster-add label{display:grid;gap:6px;color:#34465e;font-size:12px;font-weight:800}.roster-add select{min-height:42px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;font:inherit}.roster-list{display:grid;border:1px solid var(--line);border-radius:11px;overflow:hidden}.roster-list article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:12px 14px;background:#fff}.roster-list article+article{border-top:1px solid var(--line)}.roster-list article>div{display:grid;gap:3px;min-width:0}.roster-list article strong{font-size:13px}.roster-list article span{color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:700px){.roster-add{grid-template-columns:1fr}.roster-list article{grid-template-columns:1fr auto}.roster-list article>div{grid-column:1/-1}}.account-toggle{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:4px 9px 4px 5px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);cursor:pointer}.account-toggle>span{position:relative;width:30px;height:18px;border-radius:999px;background:#a7b2c2;transition:background .15s ease}.account-toggle>span:after{content:"";position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0f234140;transition:transform .15s ease}.account-toggle.enabled{color:#087451;border-color:#b9e4d5;background:#f3fbf8}.account-toggle.enabled>span{background:#159a70}.account-toggle.enabled>span:after{transform:translate(12px)}.account-toggle b{font-size:11px}.account-toggle:disabled{cursor:not-allowed;opacity:.65}.account-toggle:focus-visible{outline:3px solid rgba(35,106,215,.25);outline-offset:2px}.class-sessions-panel{margin-top:20px}.class-sessions-panel .panel-heading{align-items:center}.class-sessions-panel .panel-heading .eyebrow{margin:0 0 4px}.session-count{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;padding:8px 11px;border-radius:20px;color:#175bad;background:var(--blue-soft);font-size:11px;font-weight:800}.session-count svg{width:16px}.class-session-table{max-height:520px;box-shadow:none}.class-session-table thead{position:sticky;top:0;z-index:1}.class-session-table td:first-child strong{color:#233952}@media(max-width:760px){.deposit-policy-heading{flex-direction:column}.deposit-current{width:100%}.deposit-policy-fields{grid-template-columns:1fr;padding:16px}.deposit-policy-fields label>small{min-height:0}.finance-form-footer{align-items:stretch;flex-direction:column}.finance-form-footer .button{width:100%}.finance-rule-heading{align-items:flex-start}.class-sessions-panel .panel-heading{align-items:flex-start;flex-direction:column}}.family-directory-toolbar{display:grid;grid-template-columns:minmax(360px,1fr) 190px auto auto;align-items:end;gap:14px;margin-bottom:18px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 8px 24px #142a4e0d}.family-search-control,.family-status-filter{display:grid;gap:7px;color:#34465e;font-size:12px;font-weight:800}.family-search-input{display:flex;align-items:center;min-height:46px;padding:0 12px;border:1px solid #cbd6e4;border-radius:10px;background:#fff;transition:border-color .15s,box-shadow .15s}.family-search-input:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #1d62d41f}.family-search-input>svg{flex:0 0 auto;width:18px;color:#7b899d}.family-search-input input{width:100%;min-width:0;padding:0 10px;border:0;outline:0;color:var(--text);background:transparent;font:inherit}.family-search-input button{display:grid;place-items:center;flex:0 0 auto;width:30px;height:30px;padding:0;border:0;border-radius:7px;color:#64748b;background:transparent;cursor:pointer}.family-search-input button:hover{background:#eef3f9}.family-search-input button svg{width:16px}.family-status-filter select{min-height:46px;padding:0 34px 0 12px;border:1px solid #cbd6e4;border-radius:10px;color:var(--text);background:#fff;font:inherit}.family-result-summary{display:grid;align-content:center;min-height:46px;padding:5px 4px;white-space:nowrap}.family-result-summary strong{color:#17345b;font-size:18px;line-height:1}.family-result-summary span{margin-top:4px;color:var(--muted);font-size:10px}.family-clear-filters{min-height:46px}.families-table table{min-width:1120px}.families-table th:nth-child(1){width:19%}.families-table th:nth-child(2){width:17%}.families-table th:nth-child(3){width:23%}.families-table th:nth-child(4){width:14%}.families-table th:nth-child(5){width:10%}.families-table td{height:67px}.family-name-link{font-weight:800;text-decoration:none}.contact-link{color:#365777;text-decoration:none}.contact-link:hover,.family-name-link:hover{color:var(--blue);text-decoration:underline}.phone-link,.student-count{white-space:nowrap}.student-count strong{color:#17345b}.family-view-button{min-width:68px}.family-empty-results{display:grid;justify-items:center;min-height:300px;padding:50px 20px;border:1px dashed #cbd6e4;border-radius:14px;background:#fff;text-align:center}.family-empty-results>svg{width:34px;height:34px;padding:9px;box-sizing:content-box;border-radius:13px;color:var(--blue);background:var(--blue-soft)}.family-empty-results h2{margin:14px 0 5px;font-size:18px}.family-empty-results p{margin:0 0 17px;color:var(--muted);font-size:12px}.family-pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:16px}.family-pagination span{color:var(--muted);font-size:12px;font-weight:700}@media(max-width:1050px){.family-directory-toolbar{grid-template-columns:minmax(300px,1fr) 180px auto}.family-clear-filters{grid-column:1/-1;justify-self:start}.families-table th:nth-child(4),.families-table td:nth-child(4){display:none}.families-table table{min-width:880px}}@media(max-width:760px){.family-directory-toolbar{grid-template-columns:1fr}.family-clear-filters{width:100%}.family-result-summary{grid-template-columns:auto 1fr;align-items:baseline;gap:7px;min-height:auto}.families-table th:nth-child(3),.families-table td:nth-child(3){display:none}.families-table table{min-width:700px}.family-pagination{justify-content:space-between}}
