/* Consistent settings forms without changing plant or report layouts. */
.portal-settings{width:100%;box-sizing:border-box}
.portal-settings section,.portal-settings article,.portal-settings details{min-width:0;box-sizing:border-box}
.portal-settings h1{font-size:clamp(26px,3vw,34px);line-height:1.2}
.portal-settings h2{font-size:clamp(21px,2.4vw,26px);line-height:1.3}
.portal-settings h3{font-size:20px;line-height:1.35}
.portal-settings form{display:flex;flex-direction:column;align-items:flex-start;gap:14px;max-width:760px;width:100%;box-sizing:border-box;margin:16px 0}
.portal-settings form>label,.portal-settings .user-fields,.portal-settings fieldset{width:100%;max-width:100%;box-sizing:border-box}
.portal-settings label{display:block;margin:0;line-height:1.5;overflow-wrap:anywhere}
.portal-settings label:has(input[type=checkbox]),.portal-settings label:has(input[type=radio]){display:flex;align-items:flex-start;gap:10px}
.portal-settings input:not([type=hidden]):not([type=checkbox]):not([type=radio]),.portal-settings select,.portal-settings textarea{display:block;width:100%;max-width:100%;box-sizing:border-box;margin:7px 0 0;font:inherit;padding:11px 12px;border:1px solid #cbdbe4;border-radius:8px;min-height:46px}
.portal-settings textarea{min-height:140px;resize:vertical}
.portal-settings input[type=checkbox],.portal-settings input[type=radio]{flex:0 0 auto;width:18px;height:18px;margin:3px 0 0}
.portal-settings button,.portal-settings .customer-action{box-sizing:border-box;min-height:44px;height:auto;max-width:100%;padding:11px 16px;white-space:normal;line-height:1.4;margin:0}
.portal-settings .site-actions,.portal-settings .customer-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;width:100%}
.portal-settings .site-actions form{width:auto;margin:0}
.portal-settings fieldset{margin:0;padding:16px;border:1px solid #dce6ec;border-radius:10px;min-width:0}
.portal-settings fieldset label+label{margin-top:10px}
.portal-settings summary{line-height:1.5;padding:8px 0;overflow-wrap:anywhere}
.portal-settings details[open]>form{margin-top:18px}
.portal-settings pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;font-size:14px;line-height:1.6}
@media(max-width:700px){.portal-settings section{padding:18px 16px}.portal-settings form{max-width:none}.portal-settings .site-actions button,.portal-settings .customer-actions button{flex:1 1 180px}.portal-settings fieldset{padding:12px}.portal-settings input,.portal-settings select,.portal-settings textarea{font-size:16px}}

/* Uniform, visibly expandable user settings. */
.portal-settings .account-progress details>summary{display:flex;align-items:center;gap:12px;list-style:none;cursor:pointer;font-size:16px;font-weight:600;line-height:1.45;min-height:44px;padding:4px 0;overflow-wrap:anywhere}
.portal-settings .account-progress details>summary::-webkit-details-marker{display:none}
.portal-settings .account-progress details>summary::before{content:"";display:block;flex:0 0 8px;width:8px;height:8px;border-right:2px solid #007f8b;border-bottom:2px solid #007f8b;transform:rotate(-45deg);margin:0 4px 0 0}
.portal-settings .account-progress details[open]>summary::before{transform:rotate(45deg)}
.portal-settings .account-progress details>summary:focus-visible{outline:2px solid #007f8b;outline-offset:4px;border-radius:4px}
.portal-settings .account-progress details>summary:hover{color:#007f8b}
