/* Portal chrome uses the existing account theme tokens. */
body[data-account-surface=portal]{--portal-radius:16px}
body[data-account-surface=portal]>.portal-chrome{background:var(--account-card);color:var(--account-text);border-bottom:1px solid var(--account-line);padding:18px max(24px,calc((100vw - 1120px)/2));gap:24px}
.portal-chrome .brand{display:flex;align-items:center;gap:12px;flex:none;text-decoration:none}.portal-chrome .brand img{width:58px;height:58px;border-radius:12px}.portal-brand-name{font:600 26px Georgia,serif;white-space:nowrap}.portal-brand-name small{display:block;font:600 9px AceW,system-ui;letter-spacing:.1em;text-transform:uppercase;margin-top:5px;color:var(--account-muted)}
body[data-account-surface=portal]>.portal-chrome nav{align-items:center;justify-content:flex-end;gap:8px;min-width:0}
body[data-account-surface=portal]>.portal-chrome nav>a,body[data-account-surface=portal]>.portal-chrome .account-theme{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:9px 13px;border:1px solid var(--account-line);border-radius:12px;font:600 12px/1.3 AceW,system-ui;color:var(--account-text);text-decoration:none;margin:0;background:transparent}
body[data-account-surface=portal]>.portal-chrome nav>a[href="/estimate"]{background:#d8b966;border-color:#d8b966;color:#102e3e;order:2}body[data-account-surface=portal]>.portal-chrome nav>a[href="/"]{order:1}body[data-account-surface=portal]>.portal-chrome .message-entry{order:3}body[data-account-surface=portal]>.portal-chrome .message-entry svg{width:18px;height:18px;flex:none}body[data-account-surface=portal]>.portal-chrome #signout{order:5;background:transparent;color:var(--account-muted)}
body[data-account-surface=portal]>.portal-chrome .account-theme{order:4;font-size:0;padding:0 8px;gap:3px}body[data-account-surface=portal]>.portal-chrome .account-theme::before{content:'◐';font-size:18px;color:var(--account-gold)}body[data-account-surface=portal]>.portal-chrome .account-theme select{border:0;min-height:42px;padding:6px 2px;background:transparent;width:auto;font-size:12px;color:var(--account-text)}
body[data-account-surface=portal]>main{margin:38px auto;padding-bottom:max(28px,env(safe-area-inset-bottom))}body[data-account-surface=portal]>main>h1{font-size:clamp(32px,4.6vw,54px);letter-spacing:-.035em}body[data-account-surface=portal] .intro{max-width:640px;font-size:15px;line-height:1.7;margin-bottom:24px}
body[data-account-surface=portal] .portal-tabs{position:relative;display:flex;flex-wrap:nowrap;gap:5px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--account-gold) transparent;padding:5px 5px 8px;border:1px solid var(--account-line);border-radius:16px;background:var(--account-card);margin:22px 0 28px;max-width:100%;scroll-padding:6px}
body[data-account-surface=portal] .portal-tabs a{flex:1 0 94px;justify-content:center;min-height:46px;height:46px;padding:10px 14px;border:0;border-radius:11px;white-space:nowrap;font-size:13px;font-weight:600;color:var(--account-muted)}body[data-account-surface=portal] .portal-tabs a[aria-current=page]{background:#d8b966;color:#102e3e;box-shadow:0 2px 6px #102e3e12}
body[data-account-surface=portal] #account .card,body[data-account-surface=portal] #account .ref-card{border-radius:20px;padding:clamp(20px,3vw,30px);border-color:var(--account-line);background:var(--account-card);color:var(--account-text);margin:18px 0}body[data-account-surface=portal] #account .ref-card{margin:0 0 18px}body[data-account-surface=portal] #account .grid .card{margin:0}
body[data-account-surface=portal] #account h2{font-size:clamp(25px,3vw,32px);line-height:1.2;letter-spacing:-.025em;overflow-wrap:anywhere}body[data-account-surface=portal] #account .ref-hero h2{font-size:clamp(30px,4vw,42px)}body[data-account-surface=portal] #account h3{font-size:18px;line-height:1.4}body[data-account-surface=portal] #account p{line-height:1.65;overflow-wrap:anywhere}
body[data-account-surface=portal] #account button,body[data-account-surface=portal] #account .button{border-radius:12px;min-height:46px;padding:10px 18px;font:600 14px/1.4 AceW,system-ui}body[data-account-surface=portal] #account input:not([type=checkbox]):not([type=radio]):not([type=range]),body[data-account-surface=portal] #account select,body[data-account-surface=portal] #account textarea{border-color:var(--account-line);border-radius:12px;background:var(--account-input);color:var(--account-text);padding:12px 14px}body[data-account-surface=portal] #account label{line-height:1.5}body[data-account-surface=portal] #account .person-avatar{width:52px;height:52px;flex:none;margin:10px 0 12px}body[data-account-surface=portal] #account .coming-team .person-avatar{width:36px;height:36px;margin:0}
body[data-account-surface=portal] #account .ref-actions{gap:10px}body[data-account-surface=portal] #account .ref-actions button{flex:1 1 140px}body[data-account-surface=portal] .ref-slider output{color:var(--account-gold)}body[data-account-surface=portal] .ref-line{border-color:var(--account-line)}body[data-account-surface=portal] :is(a,button,input,select,textarea):focus-visible{outline:3px solid var(--account-gold);outline-offset:3px}
@media(hover:hover){.portal-chrome nav>a:hover,.portal-tabs a:not([aria-current]):hover{background:color-mix(in srgb,var(--account-gold) 12%,transparent)!important}.portal-chrome nav>a[href="/estimate"]:hover{background:#dfc783!important}}
@media(max-width:900px){.portal-brand-name{display:none}.portal-chrome .brand img{width:48px;height:48px}}
@media(max-width:650px){body[data-account-surface=portal]>.portal-chrome{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;padding:max(12px,env(safe-area-inset-top)) 14px 12px;gap:8px}body[data-account-surface=portal]>.portal-chrome .brand{grid-column:1;order:0;justify-content:flex-start}body[data-account-surface=portal]>.portal-chrome nav{display:contents}body[data-account-surface=portal]>.portal-chrome nav>a{padding:8px 5px;text-align:center;font-size:11px;min-width:0;white-space:normal;height:46px}body[data-account-surface=portal]>.portal-chrome .message-entry{gap:3px}body[data-account-surface=portal]>.portal-chrome .message-entry svg{display:none}body[data-account-surface=portal]>.portal-chrome .message-entry b{padding:2px 4px;font-size:10px}body[data-account-surface=portal]>.portal-chrome .account-theme,body[data-account-surface=portal]>.portal-chrome #signout{grid-column:span 2;min-height:40px;height:40px}body[data-account-surface=portal]>.portal-chrome .account-theme select{min-height:38px}body[data-account-surface=portal]>main{margin-top:24px;padding-left:16px;padding-right:16px}body[data-account-surface=portal] .portal-tabs a{flex-basis:90px;font-size:12px;padding:10px 12px}body[data-account-surface=portal] .details-heading{gap:12px}body[data-account-surface=portal] .actions{gap:10px}.portal-chrome .brand img{width:44px;height:44px}body[data-account-surface=portal] .message-swipe-hint{padding:4px 16px;min-height:32px;font-size:10px}}
@media(prefers-reduced-motion:no-preference){body[data-account-surface=portal] .portal-chrome nav>a,body[data-account-surface=portal] #account button{transition:background 160ms,border-color 160ms,transform 160ms}body[data-account-surface=portal] #account button:active{transform:scale(.98)}}

@media(max-width:650px){body[data-account-surface=portal]>.portal-chrome .message-entry{position:relative}body[data-account-surface=portal]>.portal-chrome .message-entry b{position:absolute;right:-4px;top:-5px;min-width:16px;text-align:center}}
