:root{color:#15212f;background:#f6f8fb;font-family:Arial,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{background:#eef8f1;margin:0}a{color:inherit}button,input,select,textarea{font:inherit}.auth-page{background:linear-gradient(155deg,#fffffff5 0%,#f5fcf6f0 48%,#e7f7eceb 100%),linear-gradient(#fbfefb 0%,#eef8f1 100%);place-items:center;min-height:100vh;padding:56px 18px 34px;display:grid}.auth-panel{justify-items:center;gap:34px;width:min(100%,920px);display:grid}.auth-brand{text-align:center;justify-items:center;gap:20px;display:grid}.auth-logo{width:min(100%,480px);height:auto;display:block}.auth-copy{justify-items:center;gap:12px;display:grid}.auth-title{color:#173653;margin:0;font-size:38px;font-weight:800;line-height:1.22}.auth-brand .muted{color:#647084;max-width:420px;font-size:18px}.auth-card{background:#fffffff5;border:1px solid #dae4eeeb;border-radius:28px;gap:24px;width:min(100%,760px);padding:58px 64px 62px;display:grid;box-shadow:0 26px 70px #15212f1f}.auth-card-header{gap:16px;display:grid}.auth-card-header h2{color:#10243b;margin:0;font-size:42px;font-weight:800;line-height:1.1}.auth-card-header p{color:#667085;margin:0;font-size:22px;font-weight:600;line-height:1.55}.auth-support{color:#23344a;text-align:center;justify-content:center;align-items:center;gap:22px;width:min(100%,760px);margin:4px 0 0;font-size:18px;font-weight:700;line-height:1.6;display:flex}.auth-support:before,.auth-support:after{content:"";background:#d5e3dc;flex:1;height:1px}.auth-footer{color:#748093;border-top:1px solid #cfdcd5e6;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 22px;width:min(100%,760px);padding-top:24px;font-size:17px;line-height:1.5;display:flex}.auth-support a{color:#246e4b;font-weight:700;text-decoration:none}.system-name{color:#31516f;margin:0 0 6px;font-size:14px;font-weight:700}h1,h2,p{margin-top:0}h1{margin-bottom:10px;font-size:28px;line-height:1.2}h2{margin-bottom:8px;font-size:18px}.muted{color:#607085;margin-bottom:0;line-height:1.6}.auth-form{gap:18px;display:grid}.auth-field{gap:10px;display:grid}.auth-form label{color:#15212f;font-size:24px;font-weight:800}.auth-form input{color:#15212f;background:#fff;border:1px solid #cbd5e1;border-radius:14px;width:100%;height:72px;padding:0 26px;font-size:22px}.auth-form input:focus{border-color:#248746;outline:3px solid #288b4529}.auth-form input.input-error{border-color:#dc2626}.auth-form input.input-error:focus{border-color:#dc2626;outline-color:#dc262624}.auth-form input::placeholder{color:#9aa6b5}.field-error{color:#dc2626;margin:-4px 0 0 6px;font-size:14px;font-weight:600;line-height:1.4}.auth-form button,.secondary-button{cursor:pointer;border:0;border-radius:6px;min-height:40px;font-weight:700}.auth-form button{color:#fff;background:#218b3f;border-radius:14px;min-height:74px;margin-top:22px;font-size:26px;box-shadow:0 16px 32px #218b3f42}.auth-form button:disabled{cursor:default;opacity:.7}.auth-entry-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.auth-entry-link{color:#fff;text-align:center;background:#218b3f;border-radius:14px;justify-content:center;align-items:center;min-height:74px;padding:0 22px;font-size:26px;font-weight:800;text-decoration:none;display:inline-flex;box-shadow:0 16px 32px #218b3f42}.auth-entry-link.secondary{color:#1f6b42;box-shadow:none;background:#eef8f1;border:1px solid #b9dec6}.auth-entry-link:focus-visible{outline-offset:3px;outline:3px solid #288b4538}.auth-entry-note{color:#4b5d72;text-align:center;margin:0;font-size:18px;font-weight:700;line-height:1.6}.form-error{color:#8a1f11;background:#fff0ed;border:1px solid #ffc7bc;border-radius:6px;margin:0;padding:12px 16px;line-height:1.5}.form-success{color:#135c2b;background:#ecf9ef;border:1px solid #b9e7c2;border-radius:6px;margin:0;padding:12px 16px;line-height:1.5}.app-shell{--shell-content-padding:46px;--shell-sidebar-width:228px;background:linear-gradient(155deg,#fffffff0 0%,#f7fdf8f0 44%,#e7f7ecf5 100%),#eef8f1;grid-template-rows:auto 1fr;min-height:100vh;display:grid}.app-shell-volunteer{--shell-sidebar-width:280px}.app-header{z-index:20;grid-template-columns:var(--shell-sidebar-width) minmax(0, 1fr) auto;background:#fff;border-bottom:1px solid #c4d8cf94;align-items:center;column-gap:0;min-height:88px;padding:0 30px 0 0;display:grid;position:sticky;top:0;box-shadow:0 1px #fffc}.app-brand{display:contents}.app-logo{flex:none;grid-column:1;justify-self:start;width:156px;height:auto;margin-left:30px;display:block}.app-brand>div{min-width:0;padding-left:var(--shell-content-padding);border-left:1px solid #c4d8cf80;grid-column:2}.app-brand .system-name{color:#173653;margin-bottom:8px;font-size:20px;font-weight:800}.shell-meta{color:#31516f;margin:0;font-weight:700}.account-area{color:#31516f;grid-column:3;align-items:center;gap:18px;font-size:14px;font-weight:600;display:flex}.secondary-button{color:#246e4b;background:#fff;border:1px solid #b7dec6;padding:0 14px}.primary-button{color:#fff;cursor:pointer;background:#218b3f;border:0;border-radius:6px;min-height:40px;padding:0 14px;font-weight:700;box-shadow:0 10px 22px #218b3f29}.primary-button,.secondary-button{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.shell-body{grid-template-columns:var(--shell-sidebar-width) minmax(0, 1fr);min-height:0;display:grid}.side-nav{background:#ffffffb8;border-right:1px solid #e5ede8;align-content:start;align-self:start;gap:8px;min-height:calc(100vh - 88px);padding:24px 12px;display:grid;position:sticky;top:88px}.side-nav>a{color:#294866;cursor:pointer;border:1px solid #0000;border-radius:14px;align-items:center;gap:10px;min-height:44px;padding:0 16px;font-size:14px;font-weight:600;text-decoration:none;transition:background .16s,border-color .16s,color .16s;display:flex}.side-nav-icon{color:#64748b;stroke:currentColor;stroke-width:1.8px;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px;transition:color .16s}.side-nav>a:hover,.side-nav>a:focus-visible{color:#16833a;background:#f1faf4}.side-nav>a:hover .side-nav-icon,.side-nav>a:focus-visible .side-nav-icon{color:#16833a}.side-nav>a[aria-current=page]{color:#16833a;background:#e8f5ec;border-color:#cdebd6;font-weight:700}.side-nav>a[aria-current=page] .side-nav-icon{color:#16833a}.side-nav>a:focus-visible{outline:3px solid #218b3f29}.side-visit-index{border-top:1px solid #e1ede6;gap:12px;margin-top:12px;padding-top:16px;display:grid}.side-visit-index-heading{color:#173653;justify-content:space-between;gap:8px;padding:0 8px;font-size:13px;font-weight:800;display:flex}.side-visit-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.side-visit-filters span{color:#31516f;background:#f7fbf8;border:1px solid #e1ede6;border-radius:8px;align-items:center;min-height:28px;padding:0 8px;font-size:12px;font-weight:800;display:inline-flex}.side-visit-list{gap:8px;display:grid}.side-visit-link{color:#31516f;background:#fff;border:1px solid #e1ede6;border-radius:12px;grid-template-columns:8px minmax(0,1fr);align-items:start;gap:9px;padding:10px;text-decoration:none;display:grid}.side-visit-link:hover,.side-visit-link:focus-visible,.side-visit-link[aria-current=page]{color:#16833a;background:#e8f5ec;border-color:#cdebd6}.side-visit-link:focus-visible{outline:3px solid #218b3f29}.side-visit-dot{background:#218b3f;border-radius:999px;width:8px;height:8px;margin-top:7px}.side-visit-copy{gap:3px;min-width:0;display:grid}.side-visit-copy strong,.side-visit-copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.side-visit-copy strong{color:inherit;font-size:13px;font-weight:800}.side-visit-copy span{color:#64748b;font-size:12px;font-weight:700}.content-area{min-width:0;padding:34px 32px 46px var(--shell-content-padding)}.page-section{gap:22px;display:grid}.page-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.page-heading h1{color:#10243b;font-size:34px;font-weight:800}.empty-state{background:#fffffff0;border:1px dashed #b9d9c5;border-radius:16px;padding:28px;box-shadow:0 18px 42px #15212f0f}.empty-state p{color:#607085;margin-bottom:0}.new-visit-entry{justify-items:start;gap:12px;display:grid}.management-form{background:#fffffff5;border:1px solid #d5e2ddf2;border-radius:18px;gap:18px;padding:24px;display:grid;box-shadow:0 18px 44px #15212f12}.management-form h2{color:#173653;margin-bottom:0}.management-form .primary-button{justify-self:start}.invite-management-page{position:relative}.invite-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.invite-summary-card{background:#fffffff5;border:1px solid #d9e6df;border-radius:16px;gap:8px;padding:20px 22px;display:grid}.invite-summary-card span{color:#607085;font-size:14px;font-weight:700}.invite-summary-card strong{color:#173653;font-size:30px}.invite-list-filters{background:#fffffff5;border:1px solid #d9e6df;border-radius:16px;flex-wrap:wrap;align-items:end;gap:12px;padding:18px;display:flex}.invite-list-filters .field{flex:220px}.invite-list-filters .secondary-button{width:auto}.invite-list-filters .inline-link{align-self:center}.invite-list-table{min-width:920px}.invite-list-empty{color:#607085;text-align:center;margin:0;padding:22px}.invite-drawer-layer{z-index:30;background:#0f172a47;justify-content:flex-end;display:flex;position:fixed;inset:0}.invite-drawer{background:#fff;width:min(100%,520px);min-height:100%;padding:30px;overflow-y:auto;box-shadow:-18px 0 50px #0f172a2e}.invite-drawer-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:24px;display:flex}.invite-drawer-heading h2{color:#173653;margin:0;font-size:24px}.invite-drawer-eyebrow{color:#607085;margin-bottom:6px;font-size:13px;font-weight:800}.invite-drawer-close{color:#475569;border:1px solid #d9e6df;border-radius:999px;place-items:center;width:38px;height:38px;font-size:24px;line-height:1;text-decoration:none;display:grid}.invite-drawer-form{gap:18px;display:grid}.invite-drawer-actions{justify-content:flex-end;gap:12px;padding-top:8px;display:flex}.volunteer-page{gap:24px}.volunteer-status-card{border:1px solid #dde7e2;border-radius:20px;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:22px;padding:26px 28px;display:grid;box-shadow:0 12px 36px #0f172a0b}.volunteer-status-card-neutral{background:#f8fafc;border-color:#d8e3ea}.volunteer-status-card-success{background:#f0fdf4;border-color:#bbf7d0}.volunteer-status-card-returned{background:#fff1f2;border-color:#fecdd3}.volunteer-status-icon{color:#16833a;background:#e8f7ed;border-radius:20px;place-items:center;width:72px;height:72px;display:grid}.volunteer-status-card-neutral .volunteer-status-icon{color:#475569;background:#e2e8f0}.volunteer-status-card-returned .volunteer-status-icon{color:#be123c;background:#ffe4e6}.volunteer-status-icon svg,.school-draft-group-heading svg,.step-card-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:22px;height:22px}.volunteer-status-icon svg{width:38px;height:38px}.volunteer-status-copy{gap:8px;min-width:0;display:grid}.status-eyebrow{color:#16833a;margin:0;font-size:14px;font-weight:800}.volunteer-status-card-neutral .status-eyebrow{color:#475569}.volunteer-status-card-returned .status-eyebrow{color:#be123c}.volunteer-status-copy h2{color:#10243b;margin:0;font-size:22px;font-weight:800}.status-note{color:#9a3412;margin:0;font-size:14px}.return-reason-notice{color:#881337;min-width:0}.return-reason-notice p{white-space:normal;overflow-wrap:anywhere;margin:0;font-size:16px;line-height:1.6}.return-reason-label{font-size:16px;font-weight:700}.return-reason-body{white-space:normal;overflow-wrap:anywhere;font-size:16px;font-weight:400}.return-reason-notice-compact{background:#fff1f2;border:1px solid #fecdd3;border-radius:10px;padding:12px 14px}.status-detail-link{align-self:center;place-items:center;min-width:96px;text-decoration:none;display:inline-grid}.status-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.volunteer-workspace{display:block}.volunteer-workspace-main{min-width:0}.visit-flow-form.management-form{box-shadow:none;background:0 0;border:0;border-radius:0;gap:18px;padding:0 0 88px}.visit-flow-form>.visit-step-card:last-of-type{margin-bottom:88px;scroll-margin-bottom:128px}.visit-step-card,.visit-submit-bar{background:#fffffff5;border:1px solid #dde7e2;border-radius:18px;box-shadow:0 12px 36px #0f172a0b}.visit-step-card h3{color:#173653;margin:0}.visit-step-card{gap:18px;padding:22px;scroll-margin-top:112px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid}.visit-step-card:target{border-color:#74c68a;transform:translateY(-1px);box-shadow:0 16px 42px #1f8f3a21}.visit-step-card-header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.visit-step-card h3{align-items:center;gap:10px;font-size:19px;display:flex}.visit-step-title-row{flex-wrap:wrap;align-items:center;gap:10px 12px;display:flex}.visit-step-card h3 span{color:#fff;background:#218b3f;border-radius:999px;place-items:center;width:28px;height:28px;font-size:14px;display:grid}.step-status{border-radius:999px;align-items:center;min-height:26px;padding:0 10px;font-size:13px;font-weight:800;display:inline-flex}.step-status-complete{color:#16833a;background:#e8f7ed;border:1px solid #cdebd8}.step-status-pending{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0}.step-status-attention{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa}.visit-step-card-header p{color:#64748b;margin:8px 0 0;font-size:14px;line-height:1.6}.step-card-icon{color:#16833a;background:#e8f7ed;border-radius:999px;flex:none;place-items:center;width:42px;height:42px;display:grid}.school-draft-list,.school-schedule-list,.safety-confirm-list{gap:16px;display:grid}.school-draft-group,.school-schedule-group{background:#fbfdfb;border:1px solid #e1ede6;border-radius:16px;gap:16px;padding:18px;display:grid}.school-draft-group-heading{align-items:center;gap:12px;display:flex}.school-draft-group-heading>div{flex:1;min-width:0}.school-draft-group-heading span{color:#16833a;background:#e8f7ed;border-radius:12px;flex:none;place-items:center;width:40px;height:40px;display:grid}.school-draft-group-heading h4{color:#173653;margin:0;font-size:15px}.school-draft-group-heading p{color:#64748b;margin:3px 0 0;font-size:13px}.add-school-button{justify-self:start;min-height:38px;padding:0 14px}.text-button{color:#246e4b;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;min-height:32px;padding:0 10px;font-weight:800}.text-button:hover,.text-button:focus-visible{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.text-button:focus-visible{outline:3px solid #9a341224}.schedule-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.safety-confirm-list{padding:4px 0}.visit-submit-bar{z-index:5;pointer-events:none;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex;position:sticky;bottom:14px}.visit-submit-bar p{color:#16833a;margin:0;font-weight:800}.visit-submit-bar .form-actions{pointer-events:auto}.safety-guide-links{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.safety-reading-confirmation-region{color:#173653;background:#f0fdf4;border:2px solid #78c78e;border-radius:16px;gap:14px;padding:18px;display:grid}.safety-reading-confirmation-region:focus{outline-offset:2px;outline:3px solid #16833a38}.safety-reading-confirmation-title{color:#173653;margin:0;font-size:16px}.safety-reading-confirmation-region .safety-guide-links{color:#31516f}.safety-reading-confirmation-region .safety-guide-action{color:#0f5132;font-weight:800}.safety-reading-confirmation-region .safety-guide-confirmation-copy{color:#173653;font-weight:800}.safety-confirmation-error{margin:0}.inline-link-button{cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.inline-link-button:hover,.inline-link-button:focus-visible{text-decoration:underline}.safety-guide-modal{z-index:30;background:#0f172a6b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.safety-guide-dialog{background:#fff;border:1px solid #d6e3dd;border-radius:16px;gap:16px;width:min(720px,100%);max-height:calc(100vh - 48px);padding:22px;display:grid;overflow:hidden;box-shadow:0 24px 72px #0f172a38}.safety-guide-dialog-header{justify-content:space-between;align-items:start;gap:16px;display:flex}.safety-guide-dialog-header h4{color:#173653;margin:4px 0 0;font-size:20px}.safety-guide-dialog-content{background:#fbfdfb;border:1px solid #e1ede6;border-radius:12px;gap:16px;max-height:220px;padding:16px;display:grid;overflow-y:auto}.safety-guide-dialog-content h5{color:#173653;margin:0 0 8px;font-size:16px}.safety-guide-dialog-content ul{color:#31516f;margin:0;padding-left:20px;line-height:1.7}.safety-guide-dialog .form-actions{justify-content:end}.content-panel{background:#fff;border:1px solid #dde7e2;border-radius:14px;gap:12px;margin-top:18px;padding:20px;display:grid;box-shadow:0 12px 36px #0f172a0b}.content-panel h2{color:#173653;margin:0}.content-panel ul{color:#31516f;margin:0;padding-left:20px}.form-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.form-actions .secondary-button,.form-actions .primary-button{min-width:112px}.operations-kpi-panel{background:#fffffff0;border-color:#dde7e2;border-radius:20px;gap:22px;padding:26px 28px 28px;box-shadow:0 12px 36px #0f172a0b}.kpi-panel-heading{flex-wrap:wrap;align-items:baseline;gap:8px 14px;display:flex}.kpi-panel-heading h2{color:#173653;margin-bottom:0}.kpi-panel-heading p{color:#64748b;margin-bottom:0;font-size:13px;line-height:1.5}.workbench-counts{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;display:grid}.metric-card{--metric-icon-bg:#e7f7ed;--metric-icon-color:#169447;min-height:112px;color:inherit;cursor:pointer;background:#fff;border:1px solid #dde7e2;border-radius:18px;grid-template-columns:minmax(0,1fr) 44px;align-items:start;gap:16px;padding:20px 22px;text-decoration:none;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid;position:relative;overflow:hidden;box-shadow:0 8px 24px #0f172a09}.metric-card:before{content:"";opacity:0;background:#2aa257;border-radius:0 0 999px 999px;height:3px;transition:opacity .16s;position:absolute;top:0;left:18px;right:18px}.metric-card-copy{align-content:space-between;gap:18px;min-width:0;min-height:68px;display:grid}.metric-card-copy>span{color:#294866;font-size:14px;font-weight:600;line-height:1.45}.metric-card strong{color:#169447;font-size:34px;font-weight:800;line-height:1}.metric-card-icon{width:44px;height:44px;color:var(--metric-icon-color);background:var(--metric-icon-bg);border-radius:999px;place-items:center;display:grid}.metric-card-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:24px;height:24px}.metric-card-green{--metric-icon-bg:#e7f7ed;--metric-icon-color:#169447}.metric-card-orange{--metric-icon-bg:#fff4e4;--metric-icon-color:#f08c00}.metric-card-blue{--metric-icon-bg:#eaf3ff;--metric-icon-color:#2563eb}.metric-card-teal{--metric-icon-bg:#e7f6f3;--metric-icon-color:#0d9488}.metric-card-purple{--metric-icon-bg:#f1eafe;--metric-icon-color:#7c3aed}.metric-card:hover,.metric-card:focus-visible{border-color:#86c99a;transform:translateY(-2px);box-shadow:0 10px 28px #1f8f3a1a}.metric-card[aria-current=true]{background:linear-gradient(#f3fbf5 0%,#fff 100%);border-color:#74c68a;box-shadow:0 10px 28px #1f8f3a1f}.metric-card[aria-current=true]:before{opacity:1}.metric-card[aria-current=true] strong{color:#16833a}.metric-card:focus-visible{outline:3px solid #218b3f29}.workbench-filter-summary{justify-content:space-between;align-items:center;gap:12px;display:flex}#workbench-queue{scroll-margin-top:112px}.workbench-filter-summary p{color:#607085;gap:10px;margin-bottom:0;font-size:14px;display:flex}.recent-activity-card{background:#f3fbf5;border-color:#d3eadb;gap:18px}.recent-activity-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.recent-activity-heading h2{color:#173653;margin-bottom:4px}.recent-activity-heading p{color:#607085;margin-bottom:0;font-size:14px}.recent-activity-list{gap:10px;display:grid}.recent-activity-row{background:#fff;border:1px solid #dcebe2;border-radius:16px;grid-template-columns:minmax(150px,1fr) minmax(150px,1.1fr) auto auto auto;align-items:center;gap:12px;padding:14px 16px;display:grid;box-shadow:0 8px 22px #0f172a09}.recent-activity-applicant{min-width:0}.recent-activity-school{color:#294866;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;font-weight:700;overflow:hidden}.recent-activity-time{color:#607085;white-space:nowrap;font-size:13px;font-weight:700}.operations-visit-chipbar{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.operations-visit-chip{color:#31516f;background:#fff;border:1px solid #d9e6df;border-radius:999px;align-items:center;min-height:38px;padding:0 14px;font-size:14px;font-weight:800;text-decoration:none;display:inline-flex}.operations-visit-chip[aria-current=page]{color:#16833a;background:#e8f5ec;border-color:#bfe5ca}.operations-visit-filters{grid-template-columns:minmax(240px,1.4fr) minmax(160px,.75fr) minmax(160px,.75fr) auto;align-items:end}.operations-visit-filter-actions{align-items:center;gap:10px;padding-bottom:1px;display:flex}.operations-visit-filter-actions .primary-button,.operations-visit-filter-actions .secondary-button{min-width:76px}.finance-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.finance-summary-card{background:#fff;border:1px solid #dde7e2;border-radius:18px;gap:12px;min-height:104px;padding:20px 22px;display:grid;box-shadow:0 8px 24px #0f172a09}.finance-summary-card span{color:#31516f;font-size:14px;font-weight:700}.finance-summary-card strong{color:#16833a;font-size:34px;font-weight:850;line-height:1}.finance-view-tabs{flex-wrap:wrap;gap:10px;display:flex}.finance-view-tabs a{color:#31516f;background:#fff;border:1px solid #d9e7df;border-radius:999px;align-items:center;min-height:38px;padding:0 14px;font-size:14px;font-weight:800;text-decoration:none;display:inline-flex}.finance-view-tabs a:hover,.finance-view-tabs a:focus-visible,.finance-view-tabs a[aria-current=page]{color:#16833a;background:#e8f7ed;border-color:#cdebd8}.finance-view-tabs a:focus-visible{outline:3px solid #218b3f29}.finance-card-list{gap:16px;display:grid}.finance-visit-card{background:#fffffff5;border:1px solid #dde7e2;border-radius:18px;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:20px;padding:22px;display:grid;box-shadow:0 12px 36px #0f172a0b}.finance-visit-main,.finance-action-panel,.finance-note-area{gap:16px;min-width:0;display:grid}.finance-visit-heading{gap:6px;display:grid}.finance-visit-heading h2{color:#10243b;margin:0;font-size:22px}.finance-visit-meta{background:#f8fbf9;border:1px solid #e1ede6;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:0;padding:16px;display:grid}.finance-visit-meta div{gap:4px;min-width:0;display:grid}.finance-visit-meta dt{color:#16833a;font-size:13px;font-weight:850}.finance-visit-meta dd{color:#294866;overflow-wrap:anywhere;margin:0;font-size:14px;font-weight:750;line-height:1.45}.finance-material-summary{gap:8px;display:grid}.finance-material-summary p,.finance-note-area p,.finance-status-actions p{color:#607085;margin:0;font-size:14px;line-height:1.5}.finance-action-panel{background:#fbfdfb;border:1px solid #e1ede6;border-radius:14px;padding:18px}.finance-download-links,.finance-status-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.finance-download-links .inline-link{align-items:center;min-height:34px;display:inline-flex}.finance-note-area form{gap:10px;display:grid}.finance-note-area .secondary-button,.finance-status-actions .primary-button{justify-self:start}.applicant-primary,.applicant-secondary{display:block}.applicant-primary{color:#173653}.applicant-secondary{color:#607085;margin-top:4px;font-size:13px;font-weight:400}.visit-review-page{padding-bottom:90px}.visit-detail-heading .back-link{min-width:96px}.visit-review-hero{background:linear-gradient(120deg,#fffffffa 0%,#f7fdf9fa 100%),#fff;border:1px solid #cdebd8;border-radius:20px;grid-template-columns:72px minmax(0,1fr);align-items:start;gap:24px;padding:30px;display:grid;box-shadow:0 14px 38px #0f172a0f}.visit-review-status-mark{color:#fff;background:#218b3f;border-radius:22px;place-items:center;width:72px;height:72px;font-size:28px;font-weight:900;display:grid;box-shadow:0 14px 28px #218b3f29}.visit-review-hero-review .visit-review-status-mark{background:#f59e0b;box-shadow:0 14px 28px #f59e0b29}.visit-review-hero-warning .visit-review-status-mark{background:#c2410c;box-shadow:0 14px 28px #c2410c24}.visit-review-hero-success .visit-review-status-mark{background:#16833a}.visit-review-hero-copy{gap:10px;min-width:0;display:grid}.visit-review-hero-copy h2{color:#10243b;margin:0;font-size:30px;font-weight:850}.audit-sticky-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.visit-review-layout{grid-template-columns:minmax(0,1fr) minmax(300px,360px);align-items:start;gap:24px;display:grid}.visit-review-main,.visit-review-aside{gap:20px;min-width:0;display:grid}.visit-review-aside{position:sticky;top:112px}.audit-card,.audit-side-card{background:#fffffff5;border:1px solid #dde7e2;border-radius:18px;gap:18px;padding:24px;display:grid;box-shadow:0 12px 36px #0f172a0b}.audit-card-heading{gap:6px;display:grid}.audit-card-heading h2,.audit-side-card h2{color:#173653;margin:0;font-size:20px}.itinerary-evidence-heading{grid-template-columns:minmax(0,max-content) max-content;justify-content:start;align-items:center}.itinerary-status-badge{border-radius:999px;width:fit-content;padding:5px 10px;font-size:13px;font-weight:850}.itinerary-status-success{color:#16833a;background:#e8f7ed;border:1px solid #cdebd8}.itinerary-status-review{color:#92400e;background:#fff7ed;border:1px solid #fed7aa}.itinerary-status-warning{color:#9a3412;background:#fff1e8;border:1px solid #fed7aa}.itinerary-status-draft{color:#31516f;background:#eef4f8;border:1px solid #d8e3ea}.itinerary-summary-strip{background:#fff;border:1px solid #dbe7df;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.itinerary-summary-cell{gap:6px;min-width:0;padding:16px;display:grid}.itinerary-summary-cell+.itinerary-summary-cell{border-left:1px solid #e8f0ec}.itinerary-summary-cell span{color:#586b5f;font-size:13px;font-weight:800}.itinerary-summary-cell strong{color:#173653;overflow-wrap:anywhere;font-size:16px;line-height:1.45}.itinerary-evidence-panels{grid-template-columns:minmax(0,1.1fr) minmax(220px,.9fr);gap:16px;display:grid}.itinerary-evidence-panel{background:#fbfdfb;border:1px solid #e1ede6;border-radius:12px;gap:12px;padding:16px;display:grid}.itinerary-evidence-panel h3,.school-confirmation-section h3{color:#173653;margin:0;font-size:17px}.safety-confirmation-list{align-content:start;gap:12px;display:grid}.confirmation-state{color:#31516f;align-items:center;gap:10px;margin:0;font-weight:850;display:flex}.confirmation-state span{color:#fff;border-radius:999px;place-items:center;width:28px;height:28px;font-size:16px;font-weight:900;display:grid}.confirmation-state-success{color:#16833a}.confirmation-state-success span{background:#16833a}.confirmation-state-warning span{background:#d97706}.school-confirmation-section{gap:14px;display:grid}.audit-info-list,.audit-hint-list,.audit-log-list{gap:0;display:grid}.audit-info-line{color:#31516f;border-bottom:1px solid #e8f0ec;margin:0;padding:13px 0;font-size:14px;font-weight:650;line-height:1.65}.audit-info-line:last-child{border-bottom:0}.audit-info-line span{color:#294866;font-weight:850}.audit-info-line-success{color:#16833a}.audit-info-list.compact .audit-info-line{padding:10px 0}.school-review-cards{gap:16px;display:grid}.school-review-card{background:#fbfdfb;border:1px solid #e1ede6;border-radius:16px;gap:14px;padding:18px;display:grid}.school-review-card-heading{gap:6px;display:grid}.school-review-card-heading h3,.school-review-card-heading h4{color:#10243b;margin:0;font-size:18px}.school-review-card-heading p{color:#64748b;margin:0;font-size:13px;font-weight:700}.consent-pill{color:#16833a;background:#e8f7ed;border:1px solid #cdebd8;border-radius:999px;width:fit-content;margin:0;padding:6px 10px;font-size:13px;font-weight:850}.consent-pill-pending{color:#92400e;background:#fff7ed;border-color:#fed7aa}.school-review-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 22px;display:grid}.audit-progress{gap:0;margin:0;padding:0;list-style:none;display:grid}.audit-progress-item{grid-template-columns:32px minmax(0,1fr);gap:12px;padding:0 0 22px;display:grid;position:relative}.audit-progress-item:before{content:"";background:#d7e4dd;width:2px;position:absolute;top:32px;bottom:0;left:15px}.audit-progress-item:last-child{padding-bottom:0}.audit-progress-item:last-child:before{display:none}.audit-progress-marker{z-index:1;color:#8aa1b5;background:#fff;border:2px solid #d7e4dd;border-radius:999px;flex:0 0 32px;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:900;line-height:1;display:flex}.audit-progress-item div>strong,.audit-progress-item div>span{display:block}.audit-progress-item strong{color:#294866;font-size:15px}.audit-progress-item div>span{color:#64748b;margin-top:4px;font-size:13px;font-weight:700}.audit-progress-complete .audit-progress-marker{color:#fff;background:#16833a;border-color:#16833a}.audit-progress-current .audit-progress-marker{color:#fff;background:#f59e0b;border-color:#f59e0b}.audit-progress-current strong{color:#9a3412}.audit-log-list{color:#64748b;font-size:13px;line-height:1.6}.audit-log-list p{margin:0}.audit-log-list p:first-child{color:#31516f;font-weight:850}.audit-sticky-bar{z-index:10;background:#fffffff7;border:1px solid #d5e6dd;border-radius:18px;justify-content:space-between;align-items:center;gap:18px;padding:18px 22px;display:flex;position:sticky;bottom:16px;box-shadow:0 18px 48px #0f172a1f}.audit-sticky-bar h2{color:#173653;margin:0 0 4px;font-size:16px}.audit-sticky-bar p{color:#9a3412;margin:0;font-size:16px;font-weight:850}.audit-sticky-bar span{color:#64748b;margin-top:4px;font-size:13px;line-height:1.5;display:block}.audit-return-details{position:relative}.audit-return-details>summary{list-style:none}.audit-return-details>summary::-webkit-details-marker{display:none}.audit-return-form{background:#fff;border:1px solid #d9e6df;border-radius:16px;gap:14px;width:min(440px,100vw - 48px);padding:18px;display:grid;position:absolute;bottom:calc(100% + 12px);right:0;box-shadow:0 18px 48px #0f172a29}.visit-detail-grid{grid-template-columns:minmax(220px,.8fr) minmax(280px,1.2fr);gap:20px;display:grid}.lifecycle-list{gap:8px;margin:0;padding-left:20px;display:grid}.todo-list{gap:12px;margin:0;padding-left:20px;display:grid}.todo-list li{padding-bottom:12px}.todo-list li:last-child{padding-bottom:0}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.reimbursement-line-grid{background:#fff;border:1px solid #dde7e2;border-radius:10px;grid-template-columns:minmax(180px,1.2fr) minmax(150px,.9fr) minmax(130px,.7fr) minmax(130px,.7fr);padding:18px}.reimbursement-line-grid>.field{align-content:start;min-width:0}.reimbursement-line-items{gap:14px;display:grid}.reimbursement-line-summary{background:#fff;border:1px solid #d9e6df;border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.reimbursement-line-summary p{color:#16385c;text-align:center;margin:0;padding:16px;font-weight:700}.reimbursement-line-summary p+p{border-left:1px solid #d9e6df}.reimbursement-line-summary p:last-child{color:#047243;font-size:20px}.reimbursement-cap-warning{color:#9b1c1c;background:#fff4f1;border:1px solid #e0a8a8;border-radius:8px;margin:0;padding:14px 16px;font-weight:700}.add-line-item-button{color:#147a3d;background:#f2fbf5;border-color:#79bf91;justify-self:stretch;width:100%;min-height:48px;font-size:14px}.proof-guidance{white-space:pre-line}.line-item-actions{justify-items:end}.field-help{color:#6a7f95;margin:0;font-size:12px}.reimbursement-conditional-field{border-top:1px solid #eef4f0;padding-top:4px}.field-span-full{grid-column:1/-1}.field{gap:6px;display:grid}.reimbursement-date-field{position:relative}.reimbursement-date-field .picker-panel{min-height:18px;position:relative}.reimbursement-date-field .picker-panel[open]{z-index:30}.reimbursement-date-field .picker-controls{z-index:30;background:#fff;border:1px solid #c9d8d0;border-radius:8px;width:100%;max-width:100%;padding:10px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 18px 40px #15212f24}.school-draft-grid>.field{align-content:start}.field.reimbursement-conditional-field{display:none}:is(.reimbursement-line-grid:has(.line-item-category option[value=交通]:checked) .field.reimbursement-traffic-field,.reimbursement-line-grid:has(.line-item-category option[value=住宿]:checked) .field.reimbursement-lodging-field,.reimbursement-line-grid:has(.line-item-category option[value=餐补]:checked) .field.reimbursement-meal-field){display:grid}.meal-allowance-card,.school-photo-group{background:#fbfefc;border:1px solid #d9e6df;border-radius:10px;padding:18px}.meal-allowance-heading,.school-photo-group-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.meal-allowance-heading h3,.school-photo-group-heading h4{color:#0f5132;margin:0}.meal-allowance-badge,.photo-progress{color:#057a45;background:#e8f6ee;border-radius:999px;flex:none;padding:6px 10px;font-size:13px;font-weight:700}.photo-progress-pending{color:#b45309;background:#fff7ed}.meal-allowance-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.info-box{background:#fff;border:1px solid #dce8e1;border-radius:8px;gap:6px;padding:12px;display:grid}.info-box span{color:#52677d;font-size:13px;font-weight:700}.info-box strong{color:#10233f;font-size:17px}.visit-photo-section{gap:16px;display:grid}.photo-section-heading h3{margin-bottom:4px}.photo-slot-list{background:#fff;border:1px solid #d9e6df;border-radius:10px;display:grid;overflow:hidden}.photo-slot-row{grid-template-columns:42px minmax(240px,1fr) minmax(240px,.9fr);align-items:start;gap:14px;padding:16px;display:grid}.photo-slot-row+.photo-slot-row{border-top:1px solid #edf3f0}.photo-slot-number{color:#16385c;background:#eef4f0;border-radius:999px;place-items:center;width:32px;height:32px;font-weight:800;display:grid}.photo-slot-state{color:#52677d;background:#f1f5f9;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700;display:inline-flex}.photo-slot-state.uploaded{color:#057a45;background:#e8f6ee}.photo-note-field{align-self:start}.photo-note-field label,.photo-slot-upload .upload-slot-label-row{min-height:28px}.photo-slot-upload input[type=file]{order:1}.photo-slot-upload .upload-slot-help{order:2}.photo-slot-upload .upload-slot-errors{order:3}.photo-slot-upload .upload-slot-files{order:4}.field label,.checkbox-field{color:#31516f;font-size:14px;font-weight:700}.required-mark{color:#dc2626}.field input,.field select,.field textarea{color:#15212f;background:#fff;border:1px solid #c9d8d0;border-radius:6px;width:100%;padding:0 10px}.field input,.field select{height:40px}.field textarea{resize:vertical;min-height:88px;padding-top:10px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#218b3f;outline:3px solid #218b3f29}.upload-slot-files{gap:6px;margin:0;padding:0;list-style:none;display:grid}.upload-slot-help{gap:2px;display:grid}.upload-slot-picker{position:relative}.upload-slot-native-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.upload-slot-picker-button{cursor:pointer;width:max-content;display:inline-flex}.upload-slot-native-input:focus-visible+.upload-slot-picker-button{outline-offset:2px;outline:3px solid #218b3f}.upload-slot-errors{color:#8a1f11;gap:2px;margin:0;padding-left:18px;font-size:13px;line-height:1.5;display:grid}.upload-slot-label-row{justify-content:space-between;align-items:flex-start;gap:10px;min-height:20px;display:flex}.upload-slot-files li{color:#24364a;background:#f8fbf9;border:1px solid #dbe7df;border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:8px 10px;font-size:13px;display:flex}.upload-slot-file-main,.upload-slot-file-actions{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.upload-slot-file-main{min-width:0}.upload-slot-file-name{overflow-wrap:anywhere}.upload-slot-file-size{color:#586b5f;font-size:12px}.upload-slot-file-status{color:#7a4d00;background:#fff8e8;border:1px solid #d9b66f;border-radius:999px;padding:2px 6px;font-size:12px;line-height:1.4}.upload-slot-file-feedback{color:#586b5f}.upload-slot-file.is-retired{color:#586b5f;background:#f4f7f5}.upload-slot-file-button{cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.visit-summary-input{background:#f8fbf9;border:1px solid #dbe7df;border-radius:8px;gap:14px;padding:16px;display:grid}.visit-summary-heading{gap:4px;display:grid}.visit-summary-heading h3,.visit-summary-heading p{margin:0}.reimbursement-review-progress{background:#fffaf0;border:1px solid #d9b66f;border-radius:8px;grid-template-columns:minmax(150px,.32fr) minmax(0,1fr);align-items:start;gap:16px;padding:16px;display:grid}.reimbursement-review-progress-label,.reimbursement-review-progress-count,.reimbursement-review-complete,.reimbursement-approval-guidance p{margin:0}.reimbursement-review-progress-label{color:#725018;font-size:13px;font-weight:800}.reimbursement-review-progress-count{color:#173653;margin-top:4px;font-size:22px;font-weight:850}.reimbursement-review-problem-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.reimbursement-review-problem-list li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.reimbursement-review-problem-list a{color:#174d75;font-weight:750}.reimbursement-review-complete{color:#146c36;font-weight:800}.reimbursement-approval-action,.reimbursement-approval-guidance{gap:8px;display:grid}.reimbursement-approval-action .primary-button:disabled{cursor:not-allowed;opacity:.55}.reimbursement-approval-guidance{color:#725018}.reimbursement-approval-danger{color:#a62222;font-weight:800}.reimbursement-overview-card{background:#fff;border:1px solid #dbe7df;border-radius:8px;grid-template-columns:minmax(0,1.35fr) repeat(3,minmax(120px,.62fr));display:grid;overflow:hidden}.reimbursement-overview-cell{align-content:center;gap:6px;min-width:0;padding:14px 16px;display:grid}.reimbursement-overview-cell+.reimbursement-overview-cell{border-left:1px solid #e8f0ec}.reimbursement-overview-label{color:#586b5f;font-size:13px;font-weight:800}.reimbursement-overview-text{color:#24364a;overflow-wrap:anywhere;margin:0;line-height:1.55}.reimbursement-overview-amount{align-items:baseline;gap:4px;display:flex}.reimbursement-overview-value{color:#173653;font-size:26px;font-weight:850;line-height:1}.reimbursement-overview-unit{color:#586b5f;font-size:13px;font-weight:800}.reimbursement-overview-note{color:#586b5f;font-size:12px;line-height:1.4}.reimbursement-expense-review,.visit-photo-review{gap:14px;display:grid}.review-section-heading{gap:4px;display:grid}.review-section-heading h3,.standalone-material-review h4{color:#173653;margin:0}.reimbursement-expense-card,.photo-review-card,.receipt-file-card{background:#fff;border:1px solid #dbe7df;border-radius:8px;gap:12px;min-width:0;padding:14px;display:grid}.reimbursement-expense-card,.photo-review-card{scroll-margin-top:96px}.photo-review-card{align-content:start}.reimbursement-expense-detail{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(190px,.68fr);align-items:stretch;gap:14px;display:grid}.reimbursement-expense-detail>*{min-width:0}.reimbursement-expense-detail h4,.photo-review-card h4,.receipt-file-card h5{color:#173653;margin:0 0 8px}.reimbursement-expense-detail p,.photo-review-card p,.receipt-file-card p{overflow-wrap:anywhere;margin:0 0 8px}.expense-summary-panel,.expense-receipt-list{border-right:1px solid #e8f0ec;padding-right:14px}.expense-receipt-list,.receipt-slot-review,.standalone-material-grid,.visit-photo-grid{gap:12px;min-width:0;display:grid}.receipt-file-card{background:#f8fbf9}.receipt-file-heading,.verification-panel-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.verification-panel-title{color:#173653;margin:0 0 10px;font-weight:850}.expense-verification-panel{background:#fbfdfb;border:1px solid #e1ebe5;border-radius:8px;align-content:start;align-self:stretch;gap:10px;min-width:0;padding:12px;display:grid}.standalone-material-review{gap:12px;display:grid}.standalone-material-file{border-top:1px solid #e1ebe5;gap:8px;padding-top:8px;display:grid}.standalone-material-file:first-of-type{border-top:0;padding-top:0}.visit-photo-grid{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr))}.photo-review-file{gap:10px;min-width:0;display:grid}.photo-review-thumbnail{aspect-ratio:4/3;object-fit:cover;background:#eef4f8;border:1px solid #dbe7df;border-radius:8px;width:100%;min-width:0;max-width:100%;display:block}.upload-file-actions{flex-wrap:wrap;gap:8px;display:flex}.file-action-link{min-height:34px;padding:0 12px}.verification-cell{min-width:190px}.compact-verification-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.compact-verification-form select{color:#15212f;background:#fff;border:1px solid #cbd5e1;border-radius:6px;min-width:104px;min-height:40px;padding:0 10px}.verification-status-badge{white-space:nowrap;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:13px;font-weight:800;line-height:1;display:inline-flex}.verification-status-pending{color:#935f00;background:#fff4d8}.verification-status-success{color:#146c36;background:#e8f6ed}.verification-status-warning{color:#935f00;background:#fff4d8}.verification-status-danger{color:#a62222;background:#ffe8e8}.verification-feedback{margin:0}.compact-checkbox{align-items:center;gap:6px;width:auto;margin:0;font-size:13px;display:inline-flex}.compact-checkbox input{width:auto;height:auto}.school-search-field{gap:6px;display:grid;position:relative}.school-search-field:has(.school-search-results){z-index:40}.school-search-field:has(.school-search-results) .school-search-help{display:none}.school-selection-row{grid-template-columns:minmax(0,1fr);align-items:stretch;display:grid}.school-selection-row:has(>button){grid-template-columns:minmax(0,1fr) auto;gap:8px}.school-selection-row>input{min-width:0}.school-change-button{color:#1f6b42;white-space:nowrap;cursor:pointer;background:#eef8f1;border:1px solid #78b98a;border-radius:6px;align-items:center;gap:6px;min-height:40px;padding:0 12px;font-weight:700;display:inline-flex}.school-change-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;flex:none;width:16px;height:16px}.school-search-results{z-index:20;background:#fff;border:1px solid #c9d8d0;border-radius:8px;gap:4px;max-height:308px;padding:6px;display:grid;position:absolute;inset:calc(100% + 6px) 0 auto;overflow-y:auto;box-shadow:0 18px 40px #15212f24}.school-search-results[data-vanilla-school-results=true]{position:relative;inset:auto}.school-search-option{color:#173653;text-align:left;cursor:pointer;background:#fff;border:1px solid #0000;border-radius:6px;gap:3px;width:100%;min-height:56px;padding:9px 10px;display:grid}.school-search-option:hover,.school-search-option:focus-visible,.school-search-option[aria-selected=true]{background:#eef8f1;border-color:#b9dfc6;outline:none}.school-search-option strong{font-size:14px}.school-search-option span,.school-search-help,.school-search-hint,.school-search-empty{color:#64748b;margin:0;font-size:12px;line-height:1.5}.school-search-hint,.school-search-empty{padding:6px 8px}.picker-panel{gap:8px;display:grid}.picker-panel summary{color:#246e4b;cursor:pointer;width:fit-content;font-size:13px;font-weight:700}.picker-controls{flex-wrap:wrap;gap:8px;display:flex}.picker-controls select{width:auto;min-width:82px}.checkbox-field{align-items:center;gap:8px;display:flex}.checkbox-field input{width:16px;height:16px}.consent-confirmation{gap:6px;margin-top:8px;display:grid}.consent-checkbox-field{color:#294866;justify-content:flex-start;gap:10px;font-size:14px;line-height:1.5}.consent-checkbox-field input{accent-color:#218b3f;flex:none;width:16px;height:16px}.consent-checkbox-field input:focus-visible{outline-offset:2px;outline:3px solid #218b3f29}.consent-checkbox-field input[aria-invalid=true]{outline-offset:2px;outline:2px solid #dc262659}.consent-confirmation .field-error{color:#dc2626;margin:0 0 0 26px;font-size:13px}.table-wrap{background:#fff;border:1px solid #d9e6df;border-radius:12px;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:760px}.data-table th,.data-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e8f0ec;padding:14px 16px}.data-table th{color:#31516f;background:#fbfdfb;font-weight:700}.data-table tbody tr:hover{background:#fbfefb}.school-row-recently-saved>th,.school-row-recently-saved>td{animation:3s ease-out school-row-save-highlight}.saved-school-marker{color:#135c2b;background:#dff5e4;border-radius:999px;margin-left:10px;padding:2px 7px;font-size:12px;font-weight:700;display:inline-block}@keyframes school-row-save-highlight{0%{background:#dff5e4}to{background:0 0}}.data-table tbody tr:last-child th,.data-table tbody tr:last-child td{border-bottom:0}.expense-verification-panel .compact-verification-form,.photo-review-card .compact-verification-form{flex-wrap:nowrap;align-items:center}.standalone-material-review .compact-verification-form{flex-direction:column;align-items:stretch}.expense-verification-panel .compact-verification-form select,.photo-review-card .compact-verification-form select{flex:112px;width:auto;min-width:96px}.expense-verification-panel .compact-verification-form button,.photo-review-card .compact-verification-form button{flex:none;width:auto}.standalone-material-review .compact-verification-form button,.standalone-material-review .compact-verification-form select{width:100%}.operations-table{min-width:1080px;font-size:14px}.operations-table p{margin:0 0 5px;line-height:1.5}.operations-table p:last-child{margin-bottom:0}.operations-table th:nth-child(3),.operations-table td:nth-child(3){min-width:130px}.operations-table td:nth-child(3) p{word-break:keep-all}.operations-visit-table{min-width:1180px}.status-chip{white-space:nowrap;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:13px;font-weight:800;display:inline-flex}.status-chip-green{color:#166534;background:#dcfce7}.status-chip-orange{color:#9a3412;background:#ffedd5}.status-chip-purple{color:#6d28d9;background:#ede9fe}.status-chip-gray{color:#475569;background:#f1f5f9}.operations-visit-material-links{flex-wrap:wrap;gap:8px 12px;display:flex}.operations-table th:first-child,.operations-table td:first-child,.operations-table th:nth-child(4),.operations-table td:nth-child(4),.operations-table th:nth-child(7),.operations-table td:nth-child(7),.operations-table th:nth-child(8),.operations-table td:nth-child(8),.operations-updated-at{white-space:nowrap}.inline-link{color:#1f8a45;font-weight:700}.usage-records{gap:12px;display:grid}.usage-record-group{background:#fff;border:1px solid #dce4ef;border-radius:8px;padding:18px}.usage-record-group h3{margin:0 0 8px;font-size:16px}.usage-record-group ul{margin:0;padding-left:20px}@media (max-width:1180px){.finance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workbench-counts{grid-template-columns:repeat(3,minmax(0,1fr))}.schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:920px){.workbench-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-visit-card,.volunteer-status-card,.visit-review-layout{grid-template-columns:1fr}.visit-review-aside{position:static}.itinerary-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.itinerary-summary-cell+.itinerary-summary-cell{border-left:0}.itinerary-summary-cell:nth-child(2n){border-left:1px solid #e8f0ec}.itinerary-summary-cell:nth-child(n+3){border-top:1px solid #e8f0ec}.itinerary-evidence-panels{grid-template-columns:1fr}}@media (min-width:721px) and (max-height:900px){.auth-page{align-items:safe center;padding:16px 18px}.auth-panel{gap:14px}.auth-brand{gap:8px}.auth-logo{width:min(100%,300px)}.auth-copy{gap:6px}.auth-title{font-size:28px}.auth-brand .muted{font-size:15px;line-height:1.45}.auth-card{border-radius:18px;gap:12px;width:min(100%,600px);padding:24px 40px}.auth-card-header{gap:8px}.auth-card-header h2{font-size:28px}.auth-card-header p{font-size:16px;line-height:1.45}.auth-form{gap:8px}.auth-field{gap:6px}.auth-form label{font-size:16px}.auth-form input{border-radius:10px;height:46px;padding:0 16px;font-size:16px}.auth-form button{border-radius:10px;min-height:50px;margin-top:6px;font-size:18px}.auth-entry-actions{gap:12px}.auth-entry-link{border-radius:10px;min-height:50px;font-size:18px}.auth-entry-note{font-size:15px}.auth-support{gap:12px;margin-top:0;font-size:14px}.auth-footer{gap:8px 14px;padding-top:10px;font-size:13px}}@media (max-width:720px){.finance-summary-grid,.finance-visit-meta{grid-template-columns:1fr}.auth-panel{gap:22px}.auth-page{padding:32px 16px 24px}.auth-logo{width:min(100%,310px)}.auth-title{font-size:27px}.auth-brand .muted{font-size:16px}.auth-card{border-radius:18px;gap:18px;padding:28px 24px}.auth-card-header{gap:10px}.auth-card-header h2{font-size:32px}.auth-card-header p{font-size:17px}.auth-form{gap:12px}.auth-form label{font-size:18px}.auth-form input{height:54px;padding:0 16px;font-size:16px}.auth-form button{min-height:56px;margin-top:14px;font-size:18px}.auth-entry-actions{grid-template-columns:1fr;gap:12px}.auth-entry-link{min-height:56px;font-size:18px}.auth-entry-note{font-size:15px}.auth-support{gap:12px;font-size:15px}.auth-footer{gap:8px 14px;padding-top:18px;font-size:14px}.app-header,.account-area{flex-direction:column;align-items:flex-start}.app-header{gap:18px;padding:18px 20px;display:flex;position:static}.app-brand{align-items:flex-start;gap:12px;display:flex}.app-logo{width:118px;margin-left:0}.app-brand>div{border-left:0;padding-left:0}.app-brand .system-name{font-size:18px}.shell-body{grid-template-columns:1fr}.side-nav{border-bottom:1px solid #c4d8cfeb;border-right:0;gap:8px;min-height:0;padding:14px 16px;display:flex;position:static;overflow-x:auto}.side-nav>a{white-space:nowrap;flex:none;min-height:44px;padding:0 16px}.side-visit-index{display:none}.content-area{padding:22px 16px 30px}.page-heading{flex-direction:column}.page-heading h1{font-size:30px}.visit-review-hero{grid-template-columns:1fr;padding:22px}.visit-review-status-mark{border-radius:18px;width:58px;height:58px;font-size:22px}.school-review-grid,.itinerary-evidence-heading,.itinerary-summary-strip{grid-template-columns:1fr}.itinerary-summary-cell+.itinerary-summary-cell{border-top:1px solid #e8f0ec;border-left:0}.audit-sticky-actions{justify-content:stretch}.audit-sticky-actions form,.audit-sticky-actions button,.audit-return-details,.audit-return-details summary{width:100%}.management-form{border-radius:16px;padding:18px}.invite-summary{grid-template-columns:1fr}.invite-list-filters{flex-direction:column;align-items:stretch}.invite-list-filters .field{flex-basis:auto}.invite-list-filters .secondary-button,.invite-list-filters .inline-link,.invite-drawer-actions .primary-button,.invite-drawer-actions .secondary-button{width:100%}.invite-drawer{padding:22px 18px}.invite-drawer-actions{flex-direction:column-reverse}.reimbursement-review-progress,.reimbursement-overview-card{grid-template-columns:1fr}.reimbursement-overview-cell+.reimbursement-overview-cell{border-top:1px solid #e8f0ec;border-left:0}.reimbursement-expense-detail{grid-template-columns:1fr}.expense-summary-panel,.expense-receipt-list{border-bottom:1px solid #e8f0ec;border-right:0;padding-bottom:14px;padding-right:0}.visit-photo-grid,.form-grid,.reimbursement-line-grid,.meal-allowance-grid,.reimbursement-line-summary,.photo-slot-row{grid-template-columns:1fr}.reimbursement-line-summary p+p{border-top:1px solid #d9e6df;border-left:0}.meal-allowance-heading,.school-photo-group-heading{flex-direction:column;align-items:flex-start}.photo-slot-row{gap:10px}.volunteer-status-card{padding:22px}.volunteer-status-icon{border-radius:16px;width:58px;height:58px}.volunteer-status-icon svg{width:30px;height:30px}.status-detail-link,.status-actions{width:100%}.visit-step-card{border-radius:16px;padding:18px}.visit-step-card-header{align-items:flex-start}.step-card-icon{width:36px;height:36px}.school-draft-group,.school-schedule-group{padding:16px}.schedule-grid{grid-template-columns:1fr}.visit-submit-bar{flex-direction:column;align-items:stretch}.visit-submit-bar .form-actions{grid-template-columns:1fr;display:grid}.workbench-filter-summary,.recent-activity-heading{flex-direction:column;align-items:flex-start}.recent-activity-row{grid-template-columns:1fr;align-items:flex-start}.recent-activity-school{white-space:normal}.management-form .primary-button{width:100%}.workbench-counts,.visit-detail-grid{grid-template-columns:1fr}.audit-card,.audit-side-card{border-radius:16px;padding:18px}.audit-sticky-bar{flex-direction:column;align-items:stretch;padding:16px;bottom:10px}.audit-return-form{width:100%;margin-top:12px;position:static}}
