:root{--color-navy:#1a2b4a;--color-navy-light:#2c4066;--color-gold:#b8860b;--color-orange:#e67e22;--color-green:#27ae60;--color-grey:#bdc3c7;--color-grey-light:#ecf0f1;--color-text:#2c3e50;--color-text-muted:#5d6d7e;--color-white:#fff;--color-danger:#c0392b;--font-family:"Source Sans 3", system-ui, sans-serif;--radius:6px;--shadow:0 2px 8px #1a2b4a14}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-family);color:var(--color-text);background:var(--color-grey-light);margin:0;font-size:16px;line-height:1.5}a{color:var(--color-navy-light)}a:hover{color:var(--color-gold)}.site-header{background:var(--color-navy);color:var(--color-white);padding:1.25rem 1.5rem}.header-inner{max-width:900px;margin:0 auto}.brand{align-items:baseline;gap:.75rem;display:flex}.brand-name{font-size:1.5rem;font-weight:700}.brand-product{color:var(--color-gold);font-size:1.1rem;font-weight:600}.brand-tagline{opacity:.85;margin:.25rem 0 0;font-size:.9rem}.site-main{max-width:900px;margin:0 auto;padding:2rem 1.5rem 3rem}.page-card{background:var(--color-white);border-radius:var(--radius);box-shadow:var(--shadow);padding:2rem}.page-title{color:var(--color-navy);border-bottom:3px solid var(--color-gold);margin:0 0 1.5rem;padding-bottom:.5rem;font-size:1.75rem}.page-content>*+*{margin-top:1.25rem}.intro-text{color:var(--color-text-muted);font-size:1.05rem}.site-footer{max-width:900px;color:var(--color-text-muted);text-align:center;margin:0 auto;padding:0 1.5rem 2rem;font-size:.85rem}.site-footer a{color:var(--color-navy-light)}.field{flex-direction:column;gap:.35rem;display:flex}.field-label{color:var(--color-navy);font-size:.9rem;font-weight:600}.field--third-width{width:33.333%;max-width:100%}.field--full-row{grid-column:1/-1}.form-grid--names{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.id-document-row{grid-template-rows:auto auto;grid-template-columns:auto minmax(12rem,20rem);align-items:stretch;gap:.35rem .75rem;display:grid}.id-document-row .field-label{grid-area:1/2}.id-document-row .doc-type-toggle{grid-area:2/1;align-self:stretch;height:100%;margin-bottom:0}.id-document-row .doc-type-toggle__option{justify-content:center;align-items:center;height:100%;display:flex}.id-document-row input{grid-area:2/2;width:100%}.id-document-cell{flex-direction:column;gap:.35rem;min-width:0;display:flex}.id-document-cell .doc-type-toggle{width:100%;margin-bottom:0}.id-document-cell .doc-type-toggle__option{min-width:0;padding:.35rem .25rem;font-size:.75rem}.field input,.field select,.field textarea,.data-table input,.data-table select{border:1px solid var(--color-grey);border-radius:var(--radius);width:100%;padding:.5rem .65rem;font-family:inherit;font-size:.95rem}.field input:focus,.field select:focus,.field textarea:focus,.data-table input:focus,.data-table select:focus{outline:2px solid var(--color-navy-light);outline-offset:1px}.date-input{flex-wrap:wrap;gap:.35rem;display:flex}.date-input select{flex:5rem;min-width:0}.date-input--compact select{flex:4.5rem;padding:.35rem .4rem;font-size:.85rem}.computed-field{color:var(--color-text-muted);padding:.5rem 0;font-size:.95rem;font-weight:600;display:block}.data-table .computed-field{padding:.35rem 0;font-size:.9rem}.form-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.residual-beneficiary{margin-top:1.25rem}.residual-beneficiary__label{white-space:nowrap;margin-bottom:.35rem;display:block}.form-section{border-top:1px solid var(--color-grey-light);margin-top:1.5rem;padding-top:1rem}.section-heading{color:var(--color-navy);margin:0 0 1rem;font-size:1.15rem}.fieldset{border:1px solid var(--color-grey);border-radius:var(--radius);padding:1rem 1.25rem}.fieldset legend{color:var(--color-navy);padding:0 .5rem;font-weight:600}.radio-group{flex-direction:column;gap:.65rem;display:flex}.radio-option{cursor:pointer;align-items:center;gap:.5rem;display:flex}.radio-option input{width:auto}.button-row{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.btn{border-radius:var(--radius);cursor:pointer;border:none;justify-content:center;align-items:center;padding:.6rem 1.25rem;font-family:inherit;font-size:.95rem;font-weight:600;transition:background .15s,opacity .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-navy);color:var(--color-white)}.btn-primary:hover:not(:disabled){background:var(--color-navy-light)}.btn-secondary{background:var(--color-white);color:var(--color-navy);border:2px solid var(--color-navy)}.btn-secondary:hover:not(:disabled){background:var(--color-grey-light)}.btn-link{color:var(--color-navy-light);background:0 0;border:none;padding:.25rem 0;font-weight:600;text-decoration:underline}.btn-small{padding:.35rem .65rem;font-size:.85rem}.btn-add{background:var(--color-green);min-width:2rem;color:var(--color-white);padding:.25rem .5rem}.btn-danger{background:var(--color-danger);color:var(--color-white)}.conditional-section{background:var(--color-grey-light);border-radius:var(--radius);margin-top:1rem;padding:1rem}.info-message{border-left:4px solid var(--color-navy-light);border-radius:var(--radius);color:var(--color-navy);background:#e8f4fd;padding:.75rem 1rem}.success-message{border-left:4px solid var(--color-green);border-radius:var(--radius);color:#1e6b3a;background:#e8f8ef;padding:1rem 1.25rem;font-weight:600}.empty-hint{color:var(--color-text-muted);font-style:italic}.progress-bar{grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:2rem;display:grid}.progress-segment{width:100%;font:inherit;text-align:center;cursor:pointer;border-radius:var(--radius);background:0 0;border:none;padding:0;transition:background .15s;display:block}.progress-segment:hover{background:#1a2b4a0f}.progress-segment:focus-visible{outline:2px solid var(--color-navy-light);outline-offset:2px}.progress-segment-bar{background:var(--color-grey);border-radius:4px;height:8px;margin-bottom:.35rem}.progress-segment--current .progress-segment-bar{background:var(--color-orange)}.progress-segment--complete .progress-segment-bar{background:var(--color-green)}.progress-segment-label{text-transform:uppercase;color:var(--color-text-muted);font-size:.75rem;font-weight:700;display:block}.progress-segment-title{color:var(--color-text);font-size:.8rem;display:block}.picker-list{flex-wrap:wrap;gap:.5rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.picker-item{background:var(--color-grey-light);border-radius:var(--radius);align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.9rem;display:flex}.data-table{border-collapse:collapse;width:100%;font-size:.9rem;display:block;overflow-x:auto}.data-table thead,.data-table tbody{table-layout:fixed;width:100%;display:table}.data-table th,.data-table td{border:1px solid var(--color-grey-light);text-align:left;vertical-align:top;padding:.5rem}.data-table th{background:var(--color-navy);color:var(--color-white);font-weight:600}.data-table tbody tr:nth-child(2n){background:#fafbfc}.doc-type-toggle{border:1px solid var(--color-grey);border-radius:var(--radius);grid-template-columns:repeat(2,minmax(0,1fr));align-self:flex-start;width:fit-content;max-width:100%;margin-bottom:.35rem;display:grid;overflow:hidden}.doc-type-toggle__option{background:var(--color-white);min-width:9.5rem;color:var(--color-text-muted);text-align:center;white-space:nowrap;cursor:pointer;border:none;padding:.45rem .85rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:background .15s,color .15s}.doc-type-toggle__option+.doc-type-toggle__option{border-left:1px solid var(--color-grey)}.doc-type-toggle__option.is-active{background:var(--color-navy);color:var(--color-white)}.doc-type-toggle__option:hover:not(.is-active){background:var(--color-grey-light)}.toggle-row,.checkbox-row{cursor:pointer;background:var(--color-grey-light);border-radius:var(--radius);align-items:flex-start;gap:.65rem;padding:.75rem;display:flex}.toggle-row input,.checkbox-row input{width:auto;margin-top:.2rem}.guardian-section{border-radius:var(--radius);background:#fef9f0;border:1px solid wheat;padding:1rem}@media (width<=640px){.progress-bar{grid-template-columns:repeat(2,1fr)}.page-card{padding:1.25rem}.button-row{flex-direction:column}.btn,.field--third-width{width:100%}.form-grid--names{grid-template-columns:1fr}.residual-beneficiary__label{white-space:normal}}
