:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#172033;background:#f5f7fb}*{box-sizing:border-box}body{margin:0}.shell{max-width:960px;margin:0 auto;padding:3rem 1.25rem}.narrow{max-width:620px}.eyebrow{color:#5268d8;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.lead{font-size:1.15rem;line-height:1.6;color:#526078;max-width:650px}h1{font-size:clamp(2.2rem,8vw,4.5rem);line-height:1.02;margin:1rem 0}h2{margin:.5rem 0;font-size:1.25rem}.links{display:flex;flex-wrap:wrap;gap:.75rem;margin:2rem 0}.button{display:inline-block;border-radius:999px;background:#5268d8;color:white;padding:.75rem 1.1rem;font-weight:700;text-decoration:none;border:0;cursor:pointer;font:inherit}.button.secondary{background:white;color:#5268d8;border:1px solid #dce2f0}.card{background:white;border:1px solid #e4e8f2;border-radius:1.25rem;padding:1.25rem;margin-top:1rem;box-shadow:0 12px 30px #26365a0b}.muted{color:#68758d;line-height:1.6}.muted.compact{margin:.25rem 0 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}.tag{color:#1d7a58;background:#e5f7ef;padding:.3rem .55rem;border-radius:999px;font-size:.75rem;font-weight:700;display:inline-block}.admin-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap}.admin-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0}.admin-nav a{text-decoration:none;color:#526078;font-weight:700;padding:.55rem .9rem;border-radius:999px;border:1px solid #dce2f0;background:#fff}.admin-nav a.active{background:#5268d8;color:#fff;border-color:#5268d8}.page-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap}.stack{display:grid;gap:1rem}.stack label{display:grid;gap:.35rem;font-weight:600}.stack input,.stack select,.stack textarea{width:100%;padding:.7rem .8rem;border:1px solid #dce2f0;border-radius:.75rem;font:inherit}.errors{color:#b42318;margin:0;padding-left:1.1rem}.flash{background:#e5f7ef;color:#1d7a58;padding:.75rem 1rem;border-radius:.75rem;font-weight:700}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{text-align:left;padding:.75rem .4rem;border-bottom:1px solid #eef1f7;vertical-align:top}.data-table th{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:#68758d}.activity-item{padding:1rem 0;border-bottom:1px solid #eef1f7}.activity-item:last-child{border-bottom:0}.activity-props{background:#f5f7fb;padding:.75rem;border-radius:.75rem;overflow:auto;font-size:.85rem}.inline-form{margin:1rem 0}.date-field{display:flex;gap:.5rem;align-items:stretch}.date-field .date-display{flex:1;min-width:0}.date-field .date-trigger{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2.75rem;padding:0;border:1px solid #dce2f0;border-radius:.75rem;background:#fff;color:#5268d8;cursor:pointer}.date-field .date-trigger:hover{background:#f5f7fb}.date-field .date-trigger:focus-visible{outline:2px solid #5268d8;outline-offset:2px}.date-field .date-picker{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.form-shell{max-width:920px}.form-kicker{color:#5268d8;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin:2rem 0 0}.form-card{border:1px solid #e4e8f2;border-radius:1.25rem;background:white;padding:1.1rem;margin:1rem 0;box-shadow:0 12px 30px #26365a0b}.form-card legend{font-weight:800;font-size:1.1rem;padding:0 .35rem}.form-card h2{font-size:1rem;margin:1rem 0 .6rem;color:#526078}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.form-card label{display:flex;flex-direction:column;gap:.35rem;color:#526078;font-size:.9rem}.form-card input,.form-card select{width:100%;border:1px solid #d5dceb;border-radius:.7rem;padding:.75rem;background:#fff;color:#172033;font:inherit}.checkbox-label{flex-direction:row!important;align-items:flex-start;margin:.8rem 0}.checkbox-label input{width:auto;margin-top:.2rem}.is-hidden{display:none!important}.form-submit{border:0;cursor:pointer;font:inherit}.form-message{border-radius:.8rem;background:#eef2ff;color:#31428f;padding:1rem;margin:1rem 0}.form-message.error{background:#fff0f0;color:#9b2c2c}.form-message.success{background:#e5f7ef;color:#1d7a58}@media (max-width:600px){.shell{padding:2rem .9rem}.form-card{padding:.9rem}.form-grid{grid-template-columns:1fr}}
.application-page{background:#f5f7fb;color:#172033;font-family:Inter,ui-sans-serif,system-ui,sans-serif}.application-shell{width:min(100% - 32px,960px);margin:0 auto;padding:24px 0 64px}.application-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.brand-mark{display:inline-flex;align-items:center;gap:10px;color:#172033;font-weight:800;font-size:20px;text-decoration:none}.brand-mark__icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#2862e8;color:#fff;font-weight:800}.application-close{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;color:#68758d;text-decoration:none;font-size:28px;line-height:1}.application-close:hover{background:#e5e7eb;color:#172033}.application-breadcrumbs{display:flex;gap:10px;align-items:center;color:#68758d;font-size:14px;margin-bottom:28px}.application-breadcrumbs a{color:#2862e8;text-decoration:none}.application-intro{max-width:720px;margin-bottom:24px}.application-intro .eyebrow{color:#2862e8;margin:0 0 8px}.application-intro h1{font-size:clamp(28px,5vw,42px);line-height:1.15;margin:0 0 12px;letter-spacing:-.025em}.application-intro p:last-child{color:#68758d;line-height:1.65;margin:0;font-size:16px}.application-card{background:#fff;border:1px solid #dce2eb;border-radius:24px;padding:clamp(20px,4vw,40px);box-shadow:0 16px 36px #26365a0d}.application-card__topline{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:26px}.application-card__label{color:#68758d;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin:0 0 5px}.application-card__topline h2{font-size:24px;line-height:1.3;margin:0}.stepper{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;list-style:none;padding:0;margin:0 0 34px;counter-reset:step}.stepper__item{display:flex;align-items:center;gap:8px;min-width:0;color:#9ca3af;font-size:12px;font-weight:600}.stepper__number{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:#f3f4f6;color:#68758d;font-size:13px}.stepper__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stepper__item.is-active{color:#2862e8}.stepper__item.is-active .stepper__number{background:#2862e8;color:#fff}.stepper__item.is-complete{color:#178a4c}.stepper__item.is-complete .stepper__number{background:#dcfce7;color:#178a4c}.form-step{border:0;padding:0;margin:0;min-width:0}.form-step[hidden]{display:none}.form-step legend{font-size:24px;font-weight:700;line-height:1.3;padding:0;margin:0 0 8px}.step-description{color:#68758d;font-size:14px;line-height:1.55;margin:0 0 24px}.required-mark{color:#ef4444}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}.field{display:flex;flex-direction:column;gap:7px;color:#172033;font-size:14px;font-weight:600}.field input,.field select,.field textarea{width:100%;min-height:48px;border:1px solid #d1d9e6;border-radius:12px;background:#fff;color:#172033;padding:12px 14px;font:inherit;font-weight:400;outline:none;transition:border-color .15s,box-shadow .15s}.field textarea{resize:vertical;min-height:92px}.field input::placeholder,.field textarea::placeholder{color:#9ca3af}.field input:focus,.field select:focus,.field textarea:focus{border-color:#2862e8;box-shadow:0 0 0 3px #dbeafe}.field input:invalid:focus,.field select:invalid:focus,.field textarea:invalid:focus{border-color:#ef4444;box-shadow:0 0 0 3px #fee2e2}.field small{color:#68758d;font-size:12px;font-weight:400}.field--wide{grid-column:1 / -1}.subsection{border-top:1px solid #eef1f5;margin-top:30px;padding-top:24px}.subsection h3{font-size:18px;line-height:1.45;margin:0 0 18px}.check-row{display:flex;align-items:flex-start;gap:10px;color:#344054;font-size:14px;line-height:1.5;margin:14px 0}.check-row input[type=checkbox]{appearance:none;flex:0 0 20px;width:20px;height:20px;margin:0;border:2px solid #9ca3af;border-radius:5px;background:#fff}.check-row input[type=checkbox]:checked{border-color:#2862e8;background:#2862e8;box-shadow:inset 0 0 0 4px #fff}.ux-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border:0;border-radius:10px;padding:0 18px;font:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:transform .15s,background .15s,box-shadow .15s}.ux-button:hover{transform:translateY(-1px)}.ux-button:disabled{opacity:.55;cursor:not-allowed;transform:none}.ux-button--primary{background:#2862e8;color:#fff;box-shadow:0 6px 14px #2862e82b}.ux-button--primary:hover{background:#1f4fc7}.ux-button--secondary{background:#fff;color:#2862e8;border:2px solid #2862e8}.ux-button--ghost{background:#f5f7fb;color:#344054}.ux-button--ghost:hover{background:#e5e7eb}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #eef1f5;margin-top:32px;padding-top:24px}.form-actions__right{display:flex;justify-content:flex-end;gap:10px}.status-badge{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:5px 10px;font-size:11px;line-height:1;font-weight:800;text-transform:uppercase;letter-spacing:.02em}.status-badge--draft{background:#eff6ff;color:#2862e8}.status-badge--required{background:#dcfce7;color:#178a4c}.status-badge--optional{background:#dbeafe;color:#2862e8}.ux-alert[hidden]{display:none}.ux-alert{display:flex;align-items:flex-start;gap:10px;border:1px solid transparent;border-radius:10px;padding:13px 15px;margin:0 0 22px;font-size:14px;line-height:1.5}.ux-alert__icon{display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px;border-radius:50%;font-weight:800}.ux-alert--info{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.ux-alert--info .ux-alert__icon{background:#93c5fd;color:#1e3a8a}.ux-alert--success{background:#f0fdf4;border-color:#bbf7d0;color:#178a4c}.ux-alert--success .ux-alert__icon{background:#22c55e;color:#fff}.ux-alert--error{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.ux-alert--error .ux-alert__icon{background:#ef4444;color:#fff}.document-list{display:grid;gap:16px}.document-item{border:1px solid #dce2eb;border-radius:16px;padding:18px;background:#fff}.document-item__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.document-item__heading>div{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.document-item h3{font-size:17px;margin:0}.document-state{color:#68758d;font-size:12px;font-weight:700}.document-state.is-ready{color:#178a4c}.upload-zone{display:flex;align-items:center;justify-content:center;gap:8px;min-height:88px;border:2px dashed #d1d9e6;border-radius:12px;color:#2862e8;cursor:pointer;text-align:center;transition:border-color .15s,background .15s}.upload-zone:hover{border-color:#2862e8;background:#eff6ff}.upload-zone input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.upload-zone__icon{font-size:22px;font-weight:800}.upload-zone strong{font-size:14px}.upload-zone small{color:#68758d;font-size:12px}.file-name{color:#178a4c;font-size:12px;margin:8px 0 0;min-height:16px}.form-note{color:#68758d;font-size:13px;line-height:1.5;margin:20px 0 0}.review-summary{display:grid;gap:12px;margin-bottom:28px}.review-card{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border:1px solid #dce2eb;border-radius:14px;background:#f9fafb;padding:16px}.review-card h3{font-size:16px;margin:0 0 6px}.review-card p{font-size:14px;font-weight:600;margin:0 0 4px}.review-card span{color:#68758d;font-size:13px}.review-edit{border:0;background:transparent;color:#2862e8;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.declaration-list{border-top:1px solid #eef1f5;margin-bottom:22px;padding-top:10px}
.address-location-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.address-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.address-grid__street{grid-column:span 4}.address-grid__postal{grid-column:span 1}.location-fallback{width:100%}.location-fallback.is-hidden{display:none}
@media (max-width:700px){.application-shell{width:min(100% - 24px,960px);padding-top:16px}.application-card{border-radius:18px;padding:20px 16px}.application-card__topline h2{font-size:21px}.stepper{gap:4px;margin-bottom:28px}.stepper__item{display:block;text-align:center}.stepper__number{margin:0 auto 7px}.stepper__text{display:block;font-size:10px}.form-grid{grid-template-columns:1fr;gap:16px}.field--wide{grid-column:auto}.address-grid{grid-template-columns:1fr 1fr}.address-grid__street{grid-column:1/-1}.address-grid__postal{grid-column:1/-1}.form-actions{align-items:stretch;flex-direction:column-reverse}.form-actions__right{width:100%;display:grid;grid-template-columns:1fr 1fr}.form-actions__right .ux-button{width:100%}.form-actions>[data-action=back]{width:100%}.document-item__heading{display:block}.document-state{display:block;margin-top:8px}.application-intro h1{font-size:30px}.application-breadcrumbs{font-size:12px}.upload-zone{flex-wrap:wrap;align-content:center;padding:16px}.upload-zone small{flex-basis:100%}}
.auth-page{min-height:100vh;background:#f9fafb;color:#111827;font-family:Inter,ui-sans-serif,system-ui,sans-serif}.auth-shell{width:min(100% - 32px,440px);margin:0 auto;padding:40px 0 48px}.auth-brand{display:flex;align-items:center;justify-content:center;gap:10px;color:#111827;font-size:24px;font-weight:700;letter-spacing:-.02em;text-decoration:none;margin-bottom:40px}.auth-brand__mark{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#2563eb;color:#fff;font-size:21px;font-weight:700}.auth-brand__logo{display:block;width:auto;max-width:160px;height:40px;object-fit:contain}.auth-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:32px 24px;box-shadow:0 12px 32px #1118270a}.auth-card__header{text-align:center;margin-bottom:28px}.auth-card__eyebrow{color:#2563eb;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px}.auth-card__header h1{font-size:30px;line-height:38px;letter-spacing:-.025em;margin:0 0 8px}.auth-card__header p{color:#6b7280;font-size:16px;line-height:24px;margin:0}.auth-form{display:grid;gap:20px}.auth-field{display:grid;gap:8px}.auth-field label{color:#374151;font-size:14px;line-height:20px;font-weight:500}.auth-field input{width:100%;height:48px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#111827;padding:12px 14px;font:inherit;outline:none;transition:border-color .15s,box-shadow .15s}.auth-field input::placeholder{color:#9ca3af}.auth-field input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #dbeafe}.auth-field input[aria-invalid=true]{border-color:#dc2626}.auth-field input[aria-invalid=true]:focus{box-shadow:0 0 0 3px #fee2e2}.auth-field__error{color:#b91c1c;font-size:12px;line-height:16px}.auth-form__options{display:flex;align-items:center;margin-top:-4px}.auth-checkbox{display:flex;align-items:center;gap:8px;color:#4b5563;font-size:14px;line-height:20px;cursor:pointer}.auth-checkbox input{width:16px;height:16px;margin:0;accent-color:#2563eb}.auth-submit{width:100%;height:48px;border:0;border-radius:8px;background:#2563eb;color:#fff;font:inherit;font-size:16px;font-weight:600;cursor:pointer;transition:background .15s,box-shadow .15s}.auth-submit:hover{background:#1d4ed8}.auth-submit:focus-visible{outline:3px solid #bfdbfe;outline-offset:2px}.auth-context{color:#6b7280;font-size:12px;line-height:16px;text-align:center;margin:24px 0 0}.auth-alert{display:flex;align-items:flex-start;gap:10px;border:1px solid #fecaca;border-radius:8px;padding:12px 14px;margin:0 0 20px;color:#b91c1c;background:#fef2f2;font-size:14px;line-height:20px}.auth-alert__icon{display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px;border-radius:50%;background:#ef4444;color:#fff;font-size:12px;font-weight:700}.auth-alert strong{font-weight:600}.auth-alert ul{margin:4px 0 0;padding-left:16px}
@media (max-width:480px){.auth-shell{padding-top:24px}.auth-brand{margin-bottom:28px}.auth-card{padding:28px 20px}}
