:root{--navy:#10283f;--navy-deep:#0b1e30;--blue:#1261a0;--blue-dark:#0d4c80;--blue-soft:#e9f3fb;--green:#267a57;--green-soft:#e8f5ee;--ink:#172333;--muted:#687587;--line:#dce3ea;--surface:#fff;--background:#f3f6f8;--danger:#a22a2a;--danger-soft:#fff0ef;--shadow:0 14px 34px #15283d14}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--background);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.app-shell{grid-template-columns:310px 1fr;min-height:100vh;display:grid}.sidebar{background:linear-gradient(180deg, var(--navy) 0%, var(--navy-deep) 100%);color:#fff;flex-direction:column;min-height:100vh;padding:30px 20px 22px;display:flex}.sidebar-brand{align-items:center;gap:12px;padding:0 8px 30px;display:flex}.sidebar-brand strong,.sidebar-brand span{display:block}.sidebar-brand strong{letter-spacing:.09em;font-size:14px}.sidebar-brand span{color:#aebdcb;margin-top:2px;font-size:13px}.brand-mark{color:var(--blue);letter-spacing:-.08em;background:#fff;border-radius:14px;justify-content:center;align-items:center;width:54px;height:54px;font-size:28px;font-weight:800;display:flex}.brand-mark.small{border-radius:9px;width:36px;height:36px;font-size:18px}.nav-label{color:#8fa3b7;letter-spacing:.12em;text-transform:uppercase;margin:0 10px 10px;font-size:11px;font-weight:700}.template-nav-item{color:#cfdae5;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:11px;width:100%;padding:12px 11px;font-size:14px;line-height:1.35;display:flex}.template-nav-item:hover{color:#fff;background:#ffffff0f}.template-nav-item.active{color:#fff;background:#50a4e12e;box-shadow:inset 3px 0 #54a4df}.document-icon{color:#8cc7ef;font-size:18px}.sidebar-footer{border-top:1px solid #ffffff1f;align-items:center;gap:10px;margin-top:auto;padding:20px 4px 0;display:flex}.user-avatar{background:#2c5778;border-radius:50%;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:flex}.user-details{min-width:0}.user-details strong,.user-details span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.user-details strong{font-size:12px}.user-details span{color:#9fb0c0;margin-top:2px;font-size:10px}.sign-out-button{color:#aebdcb;cursor:pointer;background:0 0;border:0;margin-left:auto;padding:7px;font-size:17px}.sign-out-button:hover{color:#fff}.workspace{min-width:0;padding-bottom:60px}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:flex-start;padding:35px clamp(32px,5vw,74px) 28px;display:flex}.eyebrow{color:var(--blue);letter-spacing:.12em;text-transform:uppercase;margin:0 0 7px;font-size:11px;font-weight:750}.topbar h1{letter-spacing:-.035em;margin:0;font-size:clamp(25px,3vw,34px);line-height:1.15}.topbar p:last-child{color:var(--muted);margin:8px 0 0;font-size:14px}.version-badge{background:var(--blue-soft);color:var(--blue-dark);white-space:nowrap;border-radius:999px;margin-top:4px;padding:7px 11px;font-size:11px;font-weight:700}.topbar-badges{flex-direction:column;align-items:flex-end;gap:7px;display:flex}.local-auth-badge{color:#694a00;letter-spacing:.08em;white-space:nowrap;background:#fff0c7;border:1px solid #e5bd55;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:800}.content-column{max-width:1120px;margin:30px auto 0;padding:0 30px}.sidebar-generate{border-top:1px solid #ffffff1f;border-bottom:1px solid #ffffff1f;margin-bottom:22px;padding:18px 7px 21px}.sidebar-generate .nav-label{margin-left:3px}.lookup-type{border:0;gap:7px;margin:0 0 13px;padding:0;display:grid}.lookup-type legend,.sidebar-input span{color:#c6d3df;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:700}.lookup-type label,.form-checklist label{color:#e2eaf1;cursor:pointer;align-items:center;gap:7px;font-size:12px;display:flex}.lookup-type input,.form-checklist input,.checkbox-row input{accent-color:#58a9df}.sidebar-input,.sidebar-input span{display:block}.sidebar-input input{background:#fffffff5;border:1px solid #fff3;border-radius:7px;outline:0;width:100%;padding:9px 10px}.sidebar-input input:focus{box-shadow:0 0 0 3px #54a4df40}.sidebar-primary-button,.sidebar-review-button{cursor:pointer;border:0;border-radius:7px;width:100%;min-height:37px;margin-top:9px;padding:8px 10px;font-size:12px;font-weight:750}.sidebar-primary-button{color:#fff;background:#4b9cd3}.sidebar-review-button{color:var(--navy);background:#fff}.sidebar-primary-button:disabled,.sidebar-review-button:disabled{cursor:not-allowed;opacity:.5}.select-label{margin-top:19px!important}.form-checklist{gap:8px;display:grid}.record-summary,.next-step-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:14px;padding:23px 26px}.record-summary h2,.next-step-card h2{margin:0;font-size:19px}.record-summary dl{grid-template-columns:repeat(5,1fr);gap:10px;margin:18px 0 0;display:grid}.record-summary dl div{background:#f6f8fa;border:1px solid #e4e9ee;border-radius:8px;padding:10px 12px}.record-summary dt{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:9px;font-weight:800}.record-summary dd{overflow-wrap:anywhere;margin:4px 0 0;font-size:12px;font-weight:700}.next-step-card{align-items:center;gap:18px;margin-top:18px;display:flex}.next-step-card p{color:var(--muted);flex:1;font-size:13px}.success-notice{background:var(--green-soft);color:var(--green);border:1px solid #b8dec9}.review-workspace-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:19px;display:flex}.review-workspace-heading h2{margin:0;font-size:19px}.review-workspace-heading p:last-child{color:var(--muted);margin:5px 0 0;font-size:12px}.workspace-actions{gap:9px;display:flex}.prepared-downloads{background:#f2faf5;border:1px solid #b9d8c4;border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;padding:14px;display:flex}.prepared-downloads>div{flex-direction:column;flex:220px;gap:3px;display:flex}.prepared-downloads span{color:var(--muted);font-size:.88rem}.secondary-button{color:var(--blue-dark);cursor:pointer;background:#fff;border:1px solid #b8c5d1;border-radius:8px;min-height:42px;padding:9px 15px;font-weight:700}.secondary-button:hover{background:var(--blue-soft)}.secondary-button.compact{min-height:35px;padding:7px 12px;font-size:12px}.form-tabs{border-bottom:1px solid var(--line);gap:4px;margin:20px -28px 0;padding:0 28px;display:flex}.form-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:11px 14px;font-size:13px;font-weight:750}.form-tabs button.active{border-bottom-color:var(--blue);color:var(--blue)}.active-form-heading{justify-content:space-between;align-items:center;padding:22px 0 4px;display:flex}.active-form-heading h3{margin:0;font-size:18px}.active-form-heading p{color:var(--muted);margin:4px 0 0;font-size:12px}.active-form-heading>span{color:var(--muted);background:#eef3f7;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:800}.form-editor{margin-top:16px}.editor-grid{gap:12px;display:grid}.editor-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-grid.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.editor-field{min-width:0;display:block}.editor-field>span{color:#526273;letter-spacing:.06em;text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:800;display:block}.editor-field input,.editor-field select,.barrier-editor-row select{color:var(--ink);background:#fff;border:1px solid #bdc9d5;border-radius:7px;outline:0;width:100%;padding:9px 10px}.editor-field input:focus,.editor-field select:focus,.barrier-editor-row select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1261a01f}.editor-field input[readonly]{color:#526273;background:#f2f5f8}.editor-section-heading{border-top:1px solid var(--line);margin-top:24px;padding-top:19px}.editor-section-heading.first{border-top:0;margin-top:0;padding-top:0}.editor-section-heading h3{margin:0;font-size:14px}.editor-section-heading p{color:var(--muted);margin:4px 0 0;font-size:11px}.barrier-editor-list{border:1px solid var(--line);border-radius:9px;margin-top:10px;overflow:hidden}.barrier-editor-row{align-items:center;gap:14px;padding:9px 11px;font-size:11.5px;line-height:1.4;display:flex}.barrier-editor-row+.barrier-editor-row{border-top:1px solid #e8edf1}.barrier-editor-row:nth-child(2n){background:#fafbfc}.barrier-editor-row>span{flex:1}.barrier-editor-row select{flex:0 0 118px;width:118px}.eligibility-updated-editor .student-information-heading{margin-bottom:14px}.eligibility-updated-editor .affiliation-review-notice{margin:0 0 14px}.eligibility-updated-editor .criteria-review-notice{background:var(--blue-soft);color:var(--blue-dark);border:1px solid #b9d3ea;margin-top:22px;font-size:12px;line-height:1.45}.eligibility-updated-editor .criterion-editor-row{cursor:pointer;align-items:flex-start}.eligibility-updated-editor .criterion-editor-row input{accent-color:#58a9df;flex:none;margin:3px 0 0}.eligibility-updated-editor .criterion-meta{flex-wrap:wrap;align-items:center;gap:4px 7px;margin-top:5px;display:flex}.eligibility-updated-editor .criterion-source{color:var(--muted);font-size:10.5px}.eligibility-updated-editor .criterion-source.manual{color:#76540b}.eligibility-updated-editor .criterion-badge{letter-spacing:.05em;text-transform:uppercase;border:1px solid;border-radius:999px;padding:0 7px;font-size:9.5px;font-weight:800;line-height:1.5}.eligibility-updated-editor .criterion-badge.genius{background:var(--blue-soft);color:var(--blue-dark);border-color:#b9d3ea}.eligibility-updated-editor .criterion-badge.manual{color:#694a00;background:#fff8e6;border-style:dashed;border-color:#d9b75e}.eligibility-updated-editor .criterion-badge.changed{background:var(--navy);border-color:var(--navy);color:#fff}.eligibility-updated-editor .criterion-reminder{border-width:1px 0 0;border-radius:0;margin:0;padding:10px 11px 10px 38px;font-size:11.5px;line-height:1.45}.student-editor-list{gap:10px;margin:11px 0;display:grid}.student-editor-row{background:#f7f9fb;border:1px solid #e1e7ec;border-radius:9px;grid-template-columns:24px 1fr 1fr 70px 1.3fr 150px auto;align-items:end;gap:8px;padding:10px;display:grid}.student-identify-controls,.benefits-choice{border:0;min-width:0;margin:0;padding:0}.student-identify-controls legend,.benefits-choice legend{color:#526273;letter-spacing:.06em;text-transform:uppercase;margin-bottom:5px;padding:0;font-size:10px;font-weight:800}.student-identify-controls{gap:8px;display:flex}.student-identify-controls label{align-items:center;gap:3px;font-size:12px;display:flex}.benefits-choice{margin-top:10px}.editor-guidance{color:var(--muted);margin:12px 0 0;font-size:12px}.household-benefits-notice{margin-top:10px;margin-bottom:12px}.row-number{background:var(--blue-soft);color:var(--blue);text-align:center;border-radius:50%;align-self:center;font-size:10px;font-weight:800;line-height:24px}.text-button{cursor:pointer;background:0 0;border:0;padding:10px 4px;font-size:11px;font-weight:700}.text-button.danger{color:var(--danger)}.text-button:disabled{cursor:not-allowed;opacity:.4}.checkbox-row{gap:20px;margin:12px 0;display:flex}.checkbox-row.wrap{flex-wrap:wrap}.checkbox-row label{align-items:center;gap:6px;font-size:12px;display:flex}.lookup-card,.review-card,.loading-state{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;padding:26px 28px}.section-heading{align-items:center;gap:13px;display:flex}.section-heading h2{letter-spacing:-.01em;margin:0;font-size:18px}.section-heading p{color:var(--muted);margin:3px 0 0;font-size:13px}.step-number{background:var(--blue-soft);color:var(--blue);border-radius:50%;flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;font-weight:800;display:flex}.step-number.complete{background:var(--green-soft);color:var(--green)}.lookup-form{margin-top:22px}.lookup-form label{margin-bottom:7px;font-size:12px;font-weight:700;display:block}.input-row{grid-template-columns:minmax(180px,1fr) auto;gap:10px;display:grid}.input-row input{color:var(--ink);border:1px solid #bdc9d5;border-radius:8px;outline:0;padding:11px 13px}.input-row input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1261a021}.input-row input::placeholder{color:#99a4af}.field-help{color:#8995a2;margin:7px 0 0;font-size:11px}.primary-button{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 18px;font-weight:700;text-decoration:none;display:inline-flex}.primary-button:hover{background:var(--blue-dark)}.primary-button:disabled{cursor:not-allowed;opacity:.62}.spinner{border:2px solid #ffffff73;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.notice{border-radius:10px;gap:6px;margin-top:18px;padding:13px 15px;font-size:13px;display:flex}.error-notice{background:var(--danger-soft);color:var(--danger);border:1px solid #f0c3c0;flex-direction:column}.warning-notice{color:#76540b;background:#fff8e6;border:1px solid #ecd28c;flex-direction:column}.error-notice a{color:inherit;font-weight:700}.empty-state{color:var(--muted);text-align:center;padding:65px 20px}.empty-state h2{color:var(--ink);margin:12px 0 6px;font-size:18px}.empty-state p{margin:0;font-size:13px}.empty-icon{color:#7d8a97;background:#e7edf2;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin:auto;font-size:25px;display:flex}.loading-state{margin-top:18px}.skeleton{background:#edf1f4;border-radius:7px;width:58%;height:22px;margin:10px 0;animation:1.5s ease-in-out infinite pulse}.skeleton.wide{width:100%}@keyframes pulse{50%{opacity:.5}}.review-card{margin-top:20px}.review-heading{border-bottom:1px solid var(--line);align-items:flex-start;padding-bottom:20px}.review-heading .eyebrow{margin-bottom:4px}.success-text{color:var(--green)}.download-button{margin-left:auto}.demographic-grid{grid-template-columns:1fr 1fr;gap:12px;padding:22px 0;display:grid}.review-value{background:#f6f8fa;border:1px solid #e4e9ee;border-radius:9px;padding:12px 14px}.review-value.unresolved{color:#76540b;background:#fff8e6;border-color:#ecd28c}.review-value.wide{grid-column:1/-1}.review-value span,.review-value strong{display:block}.review-value span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:700}.review-value strong{font-size:14px}.barrier-heading{justify-content:space-between;align-items:center;margin:2px 0 9px;display:flex}.barrier-heading h3{margin:0;font-size:14px}.barrier-heading span{color:var(--muted);font-size:11px}.barrier-review-list{border:1px solid var(--line);border-radius:10px;margin:0;padding:0;list-style-position:inside;overflow:hidden}.barrier-review-list li{align-items:center;gap:10px;padding:10px 12px;font-size:12px;line-height:1.42;display:flex}.barrier-review-list li:before{content:counter(list-item) ".";flex:0 0 23px;font-weight:700}.barrier-review-list li+li{border-top:1px solid #e9edf1}.barrier-review-list li:nth-child(2n){background:#fafbfc}.barrier-review-text{flex:1}.answer-pill{text-align:center;border-radius:999px;flex:0 0 42px;padding:4px 8px;font-size:10px;font-weight:800}.answer-pill.yes{background:var(--green-soft);color:var(--green)}.answer-pill.no{color:#637181;background:#eef1f4}.answer-pill.unresolved{color:#76540b;background:#fff0c7;flex-basis:72px}.privacy-reminder{color:var(--muted);text-align:center;margin:16px 0 0;font-size:11px}.modal-backdrop{z-index:50;background:#0b1e308c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface);border-top:5px solid var(--blue);border-radius:14px;width:100%;max-width:540px;max-height:calc(100vh - 40px);padding:24px 26px;overflow-y:auto;box-shadow:0 28px 60px #0000003d}.modal-card.danger{border-top-color:var(--danger)}.modal-card h2{margin:0;font-size:19px}.modal-card.danger h2{color:var(--danger)}.modal-details{gap:8px;margin:16px 0 0;display:grid}.modal-details div{background:#f6f8fa;border:1px solid #e4e9ee;border-radius:8px;justify-content:space-between;gap:12px;padding:9px 12px;display:flex}.modal-details dt{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:10px;font-weight:800}.modal-details dd{overflow-wrap:anywhere;text-align:right;margin:0;font-size:13px;font-weight:700}.modal-message{margin-top:14px;font-size:14px;line-height:1.5}.modal-message p{margin:0 0 8px}.modal-footnote{color:var(--muted);margin:6px 0 0;font-size:11px;line-height:1.5}.modal-actions{justify-content:flex-end;gap:9px;margin-top:20px;display:flex}.auth-page{background:radial-gradient(circle at 50% 5%, #244f72 0, var(--navy) 43%, var(--navy-deep) 100%);justify-content:center;align-items:center;min-height:100vh;padding:30px;display:flex}.auth-card{text-align:center;background:#fff;border-radius:18px;width:100%;max-width:460px;padding:42px;box-shadow:0 28px 60px #0000003d}.auth-card .brand-mark{margin:0 auto 22px}.auth-card h1{letter-spacing:-.035em;margin:0;font-size:27px}.auth-card>p:not(.eyebrow):not(.security-note){color:var(--muted);margin:13px 0 25px;font-size:14px;line-height:1.6}.auth-button{width:100%;margin-top:3px}.security-note{color:#83909d;margin:22px 0 0;font-size:11px}.auth-card .error-notice{text-align:left;margin-bottom:0}@media (max-width:820px){.app-shell{display:block}.sidebar{min-height:auto;padding:16px 18px}.sidebar-brand{padding:0 0 16px}.sidebar-footer{display:none}.topbar{padding:25px 24px}.content-column{padding:0 18px}.record-summary dl{grid-template-columns:repeat(2,1fr)}.student-editor-row{grid-template-columns:24px 1fr 1fr}.student-editor-row .student-identify-controls,.student-editor-row .text-button{grid-column:2/-1;justify-self:start}}@media (max-width:560px){.input-row{grid-template-columns:1fr}.topbar{display:block}.topbar-badges{align-items:flex-start;margin-top:14px}.version-badge{margin-top:0;display:inline-block}.review-heading{flex-wrap:wrap}.download-button{width:calc(100% - 43px);margin:8px 0 0 43px}.demographic-grid{grid-template-columns:1fr}.review-value.wide{grid-column:auto}.lookup-card,.review-card{padding:21px 18px}.auth-card{padding:32px 24px}.record-summary dl,.editor-grid.two-columns,.editor-grid.three-columns{grid-template-columns:1fr}.review-workspace-heading,.next-step-card{flex-direction:column;align-items:stretch}.workspace-actions,.modal-actions{flex-direction:column;margin-top:14px}.student-editor-row{grid-template-columns:24px 1fr}.student-editor-row .editor-field,.student-editor-row .student-identify-controls,.student-editor-row .text-button{grid-column:2}}
