:root{--brown:#675949;--mauve:#957b8c;--dark:#735b6c;--soft:#f2ebef;--sand:#f8f5f2;--line:#e4dcdf}
*{box-sizing:border-box}body{margin:0;color:var(--brown);background:var(--sand);font:16px/1.5 Arial,sans-serif}a{color:inherit}.top{height:82px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-top:7px solid var(--mauve);background:#fff}.brand{display:flex;align-items:baseline;gap:18px}.brand strong{font-size:22px;font-weight:400;letter-spacing:.05em}.brand span{color:var(--dark)}.eyebrow{color:var(--dark);font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}h1{margin:.2em 0;font-size:42px;font-weight:300}.login{min-height:calc(100vh - 82px);display:grid;place-items:center;padding:30px;background:linear-gradient(110deg,var(--mauve) 0 42%,var(--sand) 42%)}.login section{width:min(470px,100%);padding:42px;background:#fff;box-shadow:0 20px 70px #49344030}.login form,.login label{display:grid;gap:8px}.login form{gap:18px;margin-top:26px}.login input{height:48px;padding:0 13px;border:1px solid #d6cbd0}.login button,.button{padding:13px 20px;border:0;background:var(--mauve);color:#fff;font-weight:700;text-decoration:none}.error{padding:12px;border-left:3px solid #a14444;background:#fff0f0}.portal{min-height:calc(100vh - 82px);display:grid;grid-template-columns:240px 1fr}.portal aside{padding:36px 22px;display:flex;flex-direction:column;gap:6px;background:var(--mauve);color:#fff}.portal aside strong{margin-bottom:18px}.portal aside a{padding:11px;text-decoration:none}.portal aside .active{background:#ffffff20}.content,.home{padding:60px 6vw}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:35px}.cards article{padding:24px;border:1px solid var(--line);background:#fff}.cards strong{display:block;color:var(--dark);font-size:36px;font-weight:300}.cards span{display:block}.home{max-width:900px}.button{display:inline-block;margin-top:22px}@media(max-width:700px){.brand span{display:none}.login{background:var(--sand)}.portal{grid-template-columns:1fr}.portal aside{display:none}.cards{grid-template-columns:1fr}h1{font-size:34px}}

.notice{margin:18px 0;padding:12px;border-left:3px solid var(--mauve);background:var(--soft)}
.panel{margin:28px 0 42px;padding:26px;border:1px solid var(--line);background:#fff}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-grid label,.link-field{display:grid;gap:7px}
.form-grid input,.form-grid select,.link-field input{width:100%;height:46px;padding:0 12px;border:1px solid #d6cbd0;background:#fff}
.form-grid .wide{grid-column:1/-1}
.panel button{padding:13px 20px;border:0;background:var(--mauve);color:#fff;font-weight:700;cursor:pointer}
.link-field{margin:20px 0}
.table-wrap{overflow:auto;border:1px solid var(--line);background:#fff}
table{width:100%;border-collapse:collapse}
th,td{padding:13px 15px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
th{background:var(--soft)}
.link-button{padding:0;border:0;background:none;color:var(--dark);text-decoration:underline;cursor:pointer}
.onboarding{padding-block:55px}
.onboarding section{width:min(820px,100%)}
.onboarding-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}
.onboarding-form label{display:grid;gap:7px}
.onboarding-form input,.onboarding-form select,.onboarding-form textarea{width:100%;padding:0 12px;border:1px solid #d6cbd0;background:#fff;font:inherit;color:inherit}
.onboarding-form input,.onboarding-form select{height:46px}
.onboarding-form textarea{padding-top:12px;resize:vertical}
.form-hint{margin:-8px 0 2px;color:#6d6268;font-size:14px}
.short-term-hint{margin:16px 0 2px;clear:both}
.document-list{display:grid;gap:20px;margin-top:24px}
.document-card{padding:24px;border:1px solid var(--line);background:#fff}
.document-card h2{margin-top:0}
.document-card form{display:grid;gap:14px;margin-top:20px}
.document-card input[type=file]{height:auto;padding:12px}
.document-status{padding:9px 12px;border-left:3px solid var(--mauve);background:#f3edf1}
[hidden]{display:none!important}
.onboarding-form .wide{grid-column:1/-1}
.onboarding-form button{padding:13px 20px;border:0;background:var(--mauve);color:#fff;font-weight:700;cursor:pointer}
.form-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.secondary-button{padding:11px 18px;border:1px solid var(--mauve);color:var(--dark);text-decoration:none;font-weight:700}
.form-intro{margin:0 0 4px}
.required-note{grid-column:1/-1;margin:4px 0 0;color:#786f73;font-size:12px}
.plausibility-warning{padding:18px 20px;border:1px solid #d5b875;border-left:4px solid #b18424;background:#fff8e7}
.plausibility-warning h2{margin:0 0 8px;color:#765b20;font-size:18px}
.plausibility-warning p{margin:8px 0}
.subsection{padding:20px;border:1px solid var(--line);background:var(--soft)}
.subsection>p:last-child{margin-bottom:0}
.nested-form{margin-top:10px}
.questionnaire-form fieldset{margin:0;min-width:0}
.questionnaire-form legend{float:left;width:100%;box-sizing:border-box;margin:0 0 18px;padding:0;color:var(--dark);font-size:18px;font-weight:700}
.questionnaire-form legend+*{clear:both}
.questionnaire-form .confirmation-section h2{margin:0 0 16px;color:var(--dark);font-size:18px}
.help-button{display:inline-grid!important;width:28px;height:28px;padding:0!important;place-items:center;border-radius:50%!important;background:var(--dark)!important}
.conditional-panel{margin-top:14px;padding:16px;border-left:3px solid var(--mauve);background:#fff}
.repeat-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0;padding:16px;border:1px solid var(--line);background:#fff}
.repeat-row strong{grid-column:1/-1}
.checkbox-label{display:flex!important;align-items:flex-start;gap:12px!important}
.checkbox-label input{width:20px!important;height:20px!important;flex:0 0 auto}
.help-dialog{width:min(620px,calc(100% - 32px));padding:34px;border:0;color:var(--brown);box-shadow:0 20px 70px #49344055}
.help-dialog::backdrop{background:#392c35aa}
.help-dialog>button{float:right;width:38px;height:38px;padding:0;border:0;background:var(--mauve);color:#fff;font-size:24px;cursor:pointer}
.help-dialog h2{margin-top:0;color:var(--dark)}
@media(max-width:700px){.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}}
@media(max-width:700px){.onboarding-form,.repeat-row{grid-template-columns:1fr}.onboarding-form .wide,.repeat-row strong{grid-column:auto}}
.app-version{padding:14px 24px;color:var(--line);font-size:12px;text-align:right}
.spaced-field{margin-top:22px}
.link-disabled{pointer-events:none;opacity:.5;text-decoration:none;cursor:not-allowed}
.inline-upload{display:inline-flex;gap:8px;align-items:center;margin:6px 0 0 26px}
.inline-upload input[type=file]{max-width:220px}
