/* TDF client portal: calm, mobile-first forms; no third-party assets. */
.portal-shell{--portal-navy:#0f2740;--portal-blue:#2f74b5;--portal-soft:#e9f2fa;--portal-ink:#1c2837;--portal-muted:#657181;--portal-line:#dfe7f0;--portal-bg:#f5f7fa;--portal-white:#fff;--portal-alert:#8a5a0a;margin:0;background:var(--portal-bg);color:var(--portal-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;font-size:15px;line-height:1.6}
.portal-shell *, .portal-shell *::before,.portal-shell *::after{box-sizing:border-box}
.portal-shell [hidden]{display:none!important}
.portal-shell a{color:var(--portal-blue);text-underline-offset:3px}
.portal-shell h1,.portal-shell h2,.portal-shell h3{color:var(--portal-navy);line-height:1.3;letter-spacing:-.025em;overflow-wrap:anywhere}
.portal-shell h1{font-size:clamp(27px,4vw,36px);font-weight:650;margin:0 0 12px}
.portal-shell h2{font-size:19px;font-weight:600;margin:0 0 14px}
.portal-shell h3{font-size:16px;font-weight:600;margin:0 0 8px}
.portal-shell p{margin:0 0 14px}
.portal-shell :is(a,button,input,textarea,select,summary):focus-visible{outline:3px solid var(--portal-blue);outline-offset:3px}
.portal-skip{position:fixed;left:16px;top:-100px;padding:12px 18px;background:var(--portal-white);z-index:20;border-radius:8px}
.portal-skip:focus{top:12px}
.portal-header{background:var(--portal-white);border-bottom:1px solid var(--portal-line)}
.portal-header-inner{max-width:1160px;margin:0 auto;padding:21px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.portal-brand{display:flex;align-items:center;gap:22px;min-width:0;text-decoration:none}
.portal-brand img{max-width:190px;max-height:42px;width:auto;height:auto;object-fit:contain}
.portal-brand span{font-size:12px;border-left:1px solid var(--portal-line);padding-left:22px;color:var(--portal-muted)}
.portal-header nav{display:flex;gap:20px;align-items:center;flex-wrap:wrap;font-size:13px}
.portal-header nav a[aria-current]{color:var(--portal-navy);font-weight:600}
.portal-test-note{padding:8px 20px;text-align:center;font-size:12px;background:var(--portal-soft);color:var(--portal-navy);border-bottom:1px solid var(--portal-line)}
.portal-main{max-width:1160px;margin:0 auto;padding:42px 32px 80px;min-width:0}
.portal-main:focus{outline:none}
.portal-eyebrow{font-size:11px;letter-spacing:.05em;color:var(--portal-muted);margin:0 0 9px!important;font-weight:600;text-transform:uppercase}
.portal-page-head{display:flex;align-items:start;justify-content:space-between;gap:24px;margin-bottom:28px}
.portal-page-head>div{min-width:0}
.portal-page-head p{max-width:690px;color:var(--portal-muted)}
.portal-card{background:var(--portal-white);border:1px solid var(--portal-line);border-radius:15px;padding:26px;margin:0 0 22px;min-width:0}
.portal-card-head{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:14px}
.portal-card-head h2,.portal-card-head h3{margin:0}
.portal-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:22px;align-items:start}
.portal-muted,.portal-meta{color:var(--portal-muted)}
.portal-meta{font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.portal-copy{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}
.portal-badge{display:inline-block;max-width:100%;padding:5px 10px;border-radius:7px;background:var(--portal-soft);font-size:12px;line-height:1.5;color:var(--portal-navy);font-weight:550;overflow-wrap:anywhere}
.portal-status{border-left:3px solid var(--portal-blue);padding-left:16px;margin:18px 0}
.portal-status strong{font-size:22px;display:block;color:var(--portal-navy);font-weight:600;line-height:1.4}
.portal-list{margin:0;padding:0;list-style:none}
.portal-list>li{padding:18px 0;border-top:1px solid var(--portal-line)}
.portal-list>li:first-child{padding-top:0;border-top:0}
.portal-list>li:last-child{padding-bottom:0}
.portal-row{display:flex;align-items:start;justify-content:space-between;gap:20px}
.portal-row>div{min-width:0}
.portal-row h3 a{text-decoration:none}
.portal-empty{padding:15px 0;font-size:14px;color:var(--portal-muted)}
.portal-form{display:grid;gap:18px;margin:18px 0 0}
.portal-form label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:550}
.portal-form :is(input:not([type=checkbox]):not([type=hidden]),select,textarea){width:100%;min-height:46px;background:var(--portal-white);border:1px solid #bdcbd9;border-radius:8px;padding:11px 13px;color:var(--portal-ink);font:inherit;font-size:16px;line-height:1.6}
.portal-form textarea{resize:vertical;min-height:140px}
.portal-form input:focus,.portal-form textarea:focus,.portal-form select:focus{border-color:var(--portal-blue)}
.portal-form .portal-check{flex-direction:row;align-items:start;gap:12px;font-size:14px;font-weight:450;line-height:1.7}
.portal-check input{appearance:auto;width:20px;height:20px;flex:none;margin-top:3px;accent-color:var(--portal-blue)}
.portal-form .portal-help{font-size:12px;color:var(--portal-muted);font-weight:400}
.portal-shell .portal-button,.portal-shell button{display:inline-flex;justify-content:center;align-items:center;min-height:46px;border:1px solid var(--portal-blue);border-radius:9px;padding:10px 18px;background:var(--portal-blue);color:#fff;font:inherit;font-size:14px;font-weight:550;text-decoration:none;cursor:pointer;text-align:center;line-height:1.5}
.portal-shell .portal-button:hover,.portal-shell button:hover{background:#25639e;color:#fff}
.portal-shell .portal-button-secondary,.portal-shell button.portal-button-secondary{background:var(--portal-white);color:var(--portal-navy);border-color:var(--portal-line)}
.portal-shell .portal-button-secondary:hover,.portal-shell button.portal-button-secondary:hover{background:var(--portal-soft);color:var(--portal-navy)}
.portal-shell button:disabled{opacity:.6;cursor:not-allowed}
.portal-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.portal-back{display:inline-block;font-size:13px;margin-bottom:25px}
.portal-notice{padding:18px 20px;border:1px solid var(--portal-line);border-left:4px solid var(--portal-blue);border-radius:9px;margin-bottom:22px;background:var(--portal-white);font-size:14px}
.portal-notice p:last-child{margin-bottom:0}
.portal-notice-warning{border-left-color:var(--portal-alert);background:#fffbf3}
.portal-progress{background:var(--portal-soft);padding:19px 22px;border-radius:11px;margin-bottom:22px}
.portal-progress-label{display:flex;align-items:start;justify-content:space-between;gap:15px;flex-wrap:wrap;font-size:13px;margin-bottom:9px}
.portal-progress progress{width:100%;height:8px;accent-color:var(--portal-blue);display:block}
.portal-question{padding:26px 0;border-top:1px solid var(--portal-line);scroll-margin-top:20px}
.portal-question:first-child{padding-top:0;border-top:0}
.portal-question-number{display:block;font-size:11px;color:var(--portal-muted);font-weight:550;margin-bottom:7px}
.portal-question .portal-form{margin-top:12px}
.portal-question .portal-form textarea{min-height:180px}
.portal-answer{border-left:3px solid var(--portal-line);padding-left:16px;margin:16px 0}
.portal-detail{margin-top:18px;border-top:1px solid var(--portal-line);padding-top:17px}
.portal-detail>summary{cursor:pointer;color:var(--portal-blue);font-weight:550;font-size:14px}
.portal-definition{margin:0}
.portal-definition>div{padding:10px 0;border-bottom:1px solid var(--portal-line)}
.portal-definition dt{font-size:11px;color:var(--portal-muted);margin-bottom:3px}
.portal-definition dd{margin:0;font-size:14px;overflow-wrap:anywhere}
.portal-footer{font-size:12px;color:var(--portal-muted);border-top:1px solid var(--portal-line);padding-top:22px;margin-top:30px}
@media(max-width:800px){.portal-grid{grid-template-columns:1fr}.portal-page-head{flex-wrap:wrap}.portal-header-inner{padding:18px 22px}.portal-main{padding:30px 22px 60px}.portal-card{padding:23px}}
@media(max-width:520px){.portal-header-inner{padding:18px}.portal-brand{gap:13px}.portal-brand img{max-width:156px;max-height:35px}.portal-brand span{padding-left:13px;font-size:11px}.portal-header nav{gap:17px;width:100%}.portal-main{padding:26px 16px 48px}.portal-card{padding:20px 17px;border-radius:12px}.portal-row{flex-direction:column;gap:12px}.portal-card-head{flex-wrap:wrap}.portal-actions{align-items:stretch}.portal-actions>.portal-button,.portal-actions>button{flex:1}.portal-progress{padding:16px}.portal-question .portal-form textarea{min-height:200px}}
@media(prefers-reduced-motion:reduce){.portal-shell *{scroll-behavior:auto!important;transition:none!important}}
@media print{.portal-header nav,.portal-form,.portal-actions,.portal-test-note{display:none!important}.portal-main{max-width:none;padding:0}.portal-shell{background:#fff}.portal-card{break-inside:avoid}.portal-footer{margin-top:15px}}.portal-question-editor{border:1px solid var(--portal-line);border-radius:10px;margin:0 0 18px;padding:19px;display:grid;gap:16px;min-width:0}
.portal-question-editor legend{font-size:13px;font-weight:600;color:var(--portal-navy);padding:0 7px}
.portal-question-editor button{justify-self:start}
.portal-result-warning{color:var(--portal-alert)}
.portal-shell form{margin-bottom:0}
.portal-shell template{display:none}
@media(max-width:520px){.portal-question-editor{padding:16px 12px}}