.portal-shell{--portal-muted:#56616c;--portal-line:#dce0e3;--portal-ink:#182027;--portal-orange:#b53b12;min-height:100dvh;color:var(--portal-ink);background:#f2f3f4;flex-direction:column;display:flex}.portal-shell h1,.portal-shell h2{font-family:var(--ss-font-heading);letter-spacing:-.035em;overflow-wrap:anywhere;font-weight:650;line-height:1.12}.portal-shell h1{font-size:clamp(2.15rem,4.8vw,4rem)}.portal-shell h2{font-size:clamp(1.25rem,2vw,1.65rem)}.portal-shell p{color:var(--portal-muted);overflow-wrap:anywhere;line-height:1.65}.portal-shell :focus-visible{outline-offset:3px;outline:3px solid #a6401c}.portal-frame{width:min(100% - 40px,1120px);margin-inline:auto}.portal-header{border-bottom:1px solid var(--portal-line);background:#fafbfb}.portal-header-inner{align-items:center;gap:18px;min-height:72px;display:flex}.portal-header-inner>a{align-items:center;min-height:44px;display:inline-flex}.portal-header-label{color:var(--portal-muted);border-left:1px solid var(--portal-line);padding-left:18px;font-size:.8rem}.portal-main{flex:1;padding-block:clamp(34px,6vw,78px)}.portal-footer{border-top:1px solid var(--portal-line);justify-content:space-between;align-items:center;gap:20px;padding-block:18px;display:flex}.portal-footer>div:last-child{flex-wrap:wrap;gap:12px;display:flex}.portal-footer a,.portal-help a{text-underline-offset:3px;text-decoration:underline}.portal-footer a{align-items:center;min-height:44px;font-size:.85rem;display:flex}.portal-contact{align-items:center;gap:10px;font-size:.85rem;display:flex}.portal-contact img{border:1px solid #d9d9d7;border-radius:50%;width:40px;height:40px}.portal-contact strong,.portal-contact small{display:block}.portal-contact small{color:var(--portal-muted)}.portal-card{border:1px solid var(--portal-line);background:#fafbfb;border-radius:20px;min-width:0;padding:clamp(18px,3vw,32px);box-shadow:0 12px 30px #17202407}.portal-card>p,.portal-card h2+p{margin-top:10px}.portal-eyebrow{text-transform:uppercase;letter-spacing:.11em;align-items:center;gap:8px;font-size:.7rem;font-weight:700;display:flex;color:var(--portal-orange)!important}.portal-login-grid{grid-template-columns:1.1fr .9fr;align-items:center;gap:22px;display:grid}.portal-login-intro{color:#f8f8f7;background:radial-gradient(at 5% 0,#61341e 0,#0000 62%),#17181b;border-radius:22px;min-width:0;padding:clamp(25px,6vw,68px) clamp(22px,5vw,58px);position:relative}.portal-login-intro h1{margin-block:16px}.portal-login-intro p,.portal-login-intro .portal-contact small{color:#d3d5d7}.portal-login-intro .portal-eyebrow{color:#ffd5a9!important}.portal-login-intro .portal-contact{margin-top:34px}.portal-form{gap:15px;display:grid}.portal-form h2{margin:0}.portal-form label,.portal-invite-box label{gap:6px;font-size:.88rem;font-weight:650;display:grid}.portal-form label small{color:var(--portal-muted);font-size:.78rem;font-weight:450}.portal-form input:not([type=checkbox]),.portal-form select,.portal-form textarea,.portal-invite-box input{width:100%;min-width:0;min-height:46px;color:var(--portal-ink);background:#fff;border:1px solid #c5cdd3;border-radius:9px;padding:11px 12px;font-size:1rem;font-weight:450}.portal-form textarea{resize:vertical}.portal-form .portal-check{align-items:center;gap:9px;min-height:40px;font-weight:500;display:flex}.portal-check input{width:18px;height:18px;accent-color:var(--portal-orange)}.portal-primary,.portal-secondary{text-align:center;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:10px 16px;font-size:.88rem;font-weight:650;display:inline-flex}.portal-shell .portal-primary{color:#191713;background:linear-gradient(110deg,#ffe28b,#ffd34d);border:1px solid #e9ba38}.portal-shell .portal-primary:hover{background:#ffd44f}.portal-secondary{color:var(--portal-ink);background:#fafbfb;border:1px solid #cdd3d8}.portal-secondary:hover{background:#edf0f2}.portal-shell button:disabled{opacity:.55;cursor:not-allowed}.portal-logout{margin-left:auto}.portal-error,.portal-success{border-radius:10px;margin-block:6px;padding:10px 14px;font-size:.9rem}.portal-shell .portal-error{color:#8c211a;background:#fff0ed}.portal-shell .portal-success{color:#166043;background:#eaf6ee}.portal-help,.portal-timestamp{font-size:.85rem}.portal-loading{text-align:center;padding:28px}.portal-welcome{max-width:820px;margin-bottom:26px}.portal-welcome h1{margin:10px 0 12px}.portal-grid{grid-template-columns:1.3fr .7fr;align-items:start;gap:18px;display:grid}.portal-side{gap:18px;display:grid}.portal-card-title{align-items:center;gap:11px;display:flex}.portal-card-title>svg{color:var(--portal-orange);flex:none}.portal-card-title p{font-size:.86rem}.portal-stages{margin:22px 0 15px;padding:0;list-style:none}.portal-stages>li{padding:0 0 13px 39px;position:relative}.portal-stages>li:not(:last-child):before{content:"";background:#dce0e3;width:2px;position:absolute;top:31px;bottom:-9px;left:13px}.portal-stage-marker{color:#63707c;background:#f2f3f4;border:1px solid #d3d9df;border-radius:50%;place-items:center;width:28px;height:28px;display:grid;position:absolute;top:12px;left:0}.portal-stages .is-done .portal-stage-marker{color:#146644;background:#e7f4eb;border-color:#b9ddc8}.portal-stages .is-current .portal-stage-marker{color:#a63b13;background:#ffe6c5;border-color:#eaba86}.portal-stage-marker>span{background:#b3461d;border-radius:50%;width:9px;height:9px;animation:2.6s ease-out 3 portal-pulse}@keyframes portal-pulse{0%,to{box-shadow:0 0 #b3461d36}60%{box-shadow:0 0 0 7px #b3461d00}}.portal-stages details{border:1px solid var(--portal-line);background:#fff;border-radius:12px}.portal-stages .is-current details{background:#fff6e9;border-color:#e8b88a}.portal-stages summary{cursor:pointer;overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:10px 13px;list-style:none;display:flex}.portal-stages summary::-webkit-details-marker{display:none}.portal-stages summary small{color:var(--portal-muted);font-size:.76rem;display:block}.portal-stages details[open] summary>svg{transform:rotate(180deg)}.portal-stages details p{white-space:pre-wrap;margin:0 13px 14px;font-size:.9rem}.portal-draft{background:linear-gradient(145deg,#fff6e9,#fbfbfa 68%);border-color:#e7d3bc}.portal-draft>svg{color:var(--portal-orange)}.portal-draft h2{margin-block:7px}.portal-draft .portal-primary{margin-top:16px}.portal-links{gap:7px;margin:14px 0 0;padding:0;list-style:none;display:grid}.portal-links :is(a,button){text-align:left;border:1px solid var(--portal-line);overflow-wrap:anywhere;background:#fff;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:48px;padding:10px 12px;display:flex}.portal-links :is(a,button):hover,.portal-links button[aria-pressed=true]{background:#fff2e4;border-color:#e4b68b}.portal-links svg{flex-shrink:0}.portal-links small{color:var(--portal-muted);font-size:.76rem;display:block}.portal-admin-grid{grid-template-columns:minmax(235px,.7fr) minmax(0,1.6fr);align-items:start;gap:18px;display:grid}.portal-customer-list>.portal-primary{width:100%;margin-top:14px}.portal-editor-group{border:1px solid var(--portal-line);border-radius:12px;gap:8px;min-width:0;padding:12px;display:grid}.portal-editor-group legend{padding:0 6px;font-size:.85rem;font-weight:650}.portal-editor-item{background:#f2f4f5;border-radius:8px;min-width:0;padding:10px}.portal-editor-item summary{cursor:pointer;overflow-wrap:anywhere;min-height:35px;padding-block:6px;font-weight:600}.portal-editor-item label,.portal-editor-item .portal-secondary{margin-top:10px}.portal-editor-heading p{font-size:.85rem}.portal-invite-box{background:#fff4e6;border-radius:12px;margin-bottom:16px;padding:15px}.portal-invite-box p{margin-block:6px 10px}.portal-field-row,.portal-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.portal-field-row input{flex:200px}.portal-empty{padding:20px 0}.portal-empty .portal-secondary{margin-top:14px}@media (width<=720px){.portal-frame{width:calc(100% - 32px)}.portal-header-inner{gap:10px;min-height:64px}.portal-header-label{display:none}.portal-login-grid,.portal-grid,.portal-admin-grid{grid-template-columns:minmax(0,1fr)}.portal-login-intro{padding:24px}.portal-login-intro .portal-contact{display:none}.portal-primary,.portal-actions .portal-secondary{width:100%}.portal-card{border-radius:16px}.portal-footer{flex-wrap:wrap;align-items:flex-start;gap:8px}}@media (prefers-reduced-motion:reduce){.portal-stage-marker>span{animation:none}}
