.header-actions{gap:17px}.header-actions>button{min-width:44px}.account-options{display:grid;gap:12px;margin:24px 0}.account-option{display:flex;align-items:center;justify-content:center;gap:12px;padding:15px;border:1px solid var(--line);border-radius:10px;font-weight:600;color:var(--muted);background:var(--soft);cursor:not-allowed}.account-option .icon{width:22px;height:22px}.account-option .brand-letter{font-size:22px;font-weight:750}.account-option .icon.apple{fill:currentColor;stroke:none}.account-intro{text-align:center}.account-intro .account-emblem{width:64px;height:64px;margin:0 auto 18px;border-radius:50%;background:var(--soft);display:grid;place-items:center;color:var(--accent)}.account-intro h3{font-size:25px;color:var(--text);line-height:1.2;margin-bottom:14px}
.builder-dialog{width:min(1120px,calc(100vw - 40px));max-width:1120px;max-height:92dvh;padding:0;border:1px solid var(--line);border-radius:20px;overflow:auto;color:var(--text);background:var(--page)}.builder-heading{position:sticky;top:0;background:var(--surface);z-index:4;border-bottom:1px solid var(--line);padding:22px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px}.builder-heading .eyebrow{color:var(--accent);font-size:9px}.builder-heading h2{font-size:25px;line-height:1.2;margin:5px 0 0;letter-spacing:-.8px}.builder-heading .icon-button{flex-shrink:0}.builder-body{padding:28px 30px}.builder-intro h3{font-size:29px;line-height:1.2;letter-spacing:-.8px;margin-bottom:10px}.builder-intro>p{font-size:13px;color:var(--muted)}.builder-controls{display:grid;grid-template-columns:1.1fr 1fr auto;align-items:end;gap:12px;margin:25px 0 10px}.builder-controls label{display:grid;gap:7px;font-size:11px;color:var(--muted)}.builder-controls input,.builder-controls select,.builder-search{width:100%;min-height:46px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);padding:11px 14px;font:inherit;font-size:13px}.builder-controls .button{height:46px;border-radius:9px;gap:10px;font-size:12px}.builder-hint{font-size:11px;line-height:1.6;color:var(--muted);margin:12px 0}.builder-notice{font-size:13px;padding:14px 18px;background:var(--soft);border-left:3px solid var(--accent);border-radius:4px;margin-top:18px}.builder-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:22px;margin-top:26px;align-items:start}.builder-slots{display:grid;gap:10px}.builder-slot{display:flex;gap:14px;align-items:center;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:18px;min-height:114px}.slot-icon{width:42px;height:48px;display:grid;place-items:center;color:var(--accent);background:var(--soft);border-radius:10px;flex-shrink:0}.slot-icon .icon{width:26px;height:26px}.slot-copy{min-width:0;flex:1}.slot-label{font-size:11px;font-weight:600;color:var(--muted);display:flex;gap:8px}.slot-label>span{color:var(--accent);font-size:10px}.slot-copy h4{font-size:13px;line-height:1.5;margin:6px 0;overflow-wrap:anywhere;font-weight:550}.slot-copy>p{font-size:11px;line-height:1.5;color:var(--muted);margin:7px 0 0}.spec-chips{display:flex;gap:5px;flex-wrap:wrap}.spec-chips span{font-size:9px;padding:3px 6px;background:var(--soft);color:var(--muted);border-radius:4px}.slot-price{display:block;font-size:15px;margin-top:8px}.slot-price small,.part-select small{font-size:10px;color:var(--muted);font-weight:400}.slot-actions{display:grid;gap:12px;text-align:center;flex-shrink:0}.slot-actions .button{padding:9px 13px;font-size:11px;min-height:36px;border-radius:7px}.slot-remove{font-size:10px;color:var(--muted)}.builder-slot.has-conflict{border-color:#c95e51}.builder-summary{position:sticky;top:110px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px}.builder-summary .eyebrow{font-size:9px;color:var(--accent)}.build-progress{font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:10px;margin:18px 0}.build-progress b{color:var(--text)}.builder-total{border-top:1px solid var(--line);padding-top:18px}.builder-total>span{display:block;font-size:11px;color:var(--muted)}.builder-total strong{display:block;font-size:28px;letter-spacing:-1px;margin:4px 0 14px}.builder-total small{font-size:11px;letter-spacing:0;color:var(--muted)}.budget-status{display:flex;justify-content:space-between;gap:12px;font-size:10px;line-height:1.5;color:var(--muted);margin-bottom:22px}.budget-status.over{color:#c4553b}.builder-summary .button{font-size:11px;padding:12px 10px;gap:8px;border-radius:8px;min-height:42px;margin-bottom:9px}.builder-dialog button:disabled{opacity:.45;cursor:not-allowed}.builder-tools{display:flex;flex-wrap:wrap;gap:12px;border-top:1px solid var(--line);padding-top:16px}.builder-tools button{font-size:10px;text-align:left;text-decoration:underline;text-underline-offset:3px;color:var(--muted)}.builder-checks{margin-top:28px;padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:14px}.check-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.check-heading h3{font-size:18px}.check-status{font-size:10px;border-radius:20px;padding:7px 11px;background:var(--warm);color:var(--text)}.check-status.error{color:#bd4537;background:#bd453714}.builder-checks>p{font-size:12px;line-height:1.6;color:var(--muted)}.passed-checks{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.passed-checks>span{display:flex;align-items:center;gap:6px;font-size:10px;background:var(--soft);padding:7px 10px;border-radius:6px}.passed-checks .icon{width:15px;height:15px;color:var(--accent)}.check-list{list-style:none;display:grid;gap:10px;padding:0;margin:20px 0}.check-list li{display:flex;gap:10px;font-size:12px;line-height:1.65;color:var(--muted)}.check-list li>span{flex-shrink:0;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;width:17px;height:17px;font-size:11px;margin-top:2px;color:#a77843}.check-list .error,.check-list .error>span{color:#cf5f52}.builder-back{font-size:12px;color:var(--muted);margin-bottom:22px}.picker-title{font-size:27px;margin-bottom:20px}.builder-search{display:flex;align-items:center;gap:10px}.builder-search>.icon{width:18px;height:18px;color:var(--muted)}.builder-search input{border:0;background:transparent;color:var(--text);font-size:13px;min-width:0;flex:1;outline:0}.builder-filter{display:flex;align-items:center;gap:9px;font-size:12px;margin:18px 0 10px}.builder-filter input{accent-color:var(--accent)}.part-list{display:grid;gap:10px;margin:18px 0}.part-option{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:18px;display:grid;grid-template-columns:68px minmax(0,1fr) 140px;gap:18px;align-items:center}.part-art{height:70px;border-radius:9px;background:var(--soft);display:grid;place-items:center;color:var(--accent);overflow:hidden}.part-art img{width:100%;height:100%;object-fit:contain;background:white}.part-art .icon{width:35px;height:35px}.part-description h4{font-size:13px;line-height:1.5;margin:0 0 8px}.part-description details{font-size:10px;color:var(--muted);margin-top:10px}.part-description summary{cursor:pointer}.part-description details p{margin-top:8px;overflow-wrap:anywhere}.part-select{display:grid;justify-items:end;gap:12px}.part-select>strong{font-size:16px}.part-select .button{min-width:112px;border-radius:7px;font-size:11px;padding:10px 14px}.part-conflict{font-size:11px;line-height:1.6;color:#cf5f52;margin-top:9px}.builder-empty{padding:28px;text-align:center;color:var(--muted);font-size:13px}.builder-dialog :focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:1050px){.header-actions{gap:11px}.header-main{gap:16px}.header-actions>button span{font-size:9px}.builder-layout{grid-template-columns:minmax(0,1fr) 245px}.builder-body{padding:24px}.builder-slot{padding:14px;gap:10px}.slot-icon{width:35px}}
@media(max-width:760px){.builder-dialog{width:calc(100vw - 20px);max-height:95dvh;border-radius:14px}.builder-heading{padding:18px}.builder-heading h2{font-size:21px}.builder-body{padding:18px}.builder-intro h3{font-size:25px}.builder-controls{grid-template-columns:1fr 1fr}.builder-controls .button{grid-column:1/-1}.builder-layout{grid-template-columns:1fr;gap:18px}.builder-summary{position:static}.slot-icon{width:34px;height:40px}.slot-copy h4{font-size:12px}.slot-actions .button{padding:8px 10px;font-size:10px}.slot-label{font-size:10px}.builder-checks{padding:18px}.check-heading{align-items:flex-start;flex-direction:column}.check-heading h3{font-size:17px}.part-option{grid-template-columns:42px minmax(0,1fr);padding:14px;gap:12px}.part-art{height:52px}.part-select{grid-column:2;display:flex;justify-content:space-between;align-items:center;justify-items:initial}.part-select .button{min-width:96px}.part-select>strong{font-size:14px}.header-actions{gap:10px}.header-actions>button{min-width:28px}.header-actions .icon{width:20px;height:20px}}

/* Preferences share the existing contact row and remain visible on phones. */
.utility{display:block}
.utility-inner{height:42px;gap:20px}
.utility nav{margin:0 auto;gap:22px;white-space:nowrap}
.utility-controls{display:flex;align-items:center;gap:18px;flex-shrink:0}
.utility .preferences{display:flex;align-items:center;gap:9px}
.utility .theme-options{background:var(--soft);border-color:var(--line);padding:2px;gap:2px}
.utility .theme-options button{display:grid;place-items:center;width:27px;height:27px;padding:0;color:var(--muted)}
.utility .theme-options button[aria-pressed=true]{background:var(--text);color:var(--surface)}
.utility .theme-options .icon{width:15px;height:15px}
.utility .language-select{background:var(--soft);color:var(--text);border-color:var(--line);font-size:11px;min-height:33px;padding:5px 8px;border-radius:7px;max-width:none}
.utility .preferences :focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.footer-contact .opening-message{font-size:11px;margin-top:12px;color:var(--muted)}
@media(max-width:1100px){.utility-inner{gap:12px;font-size:10px}.utility nav{gap:14px}.utility nav button{font-size:10px}.utility-controls{gap:12px}}
@media(max-width:800px){.utility nav{display:none}.utility-controls{margin-left:auto}.utility-inner{font-size:11px}}
@media(max-width:480px){.utility-inner{height:42px;gap:8px}.utility .location{display:none}.utility-controls{width:100%;margin:0;justify-content:space-between}.utility .preferences{gap:9px}.utility-phone{font-size:11px}.utility .theme-options button{width:28px;height:28px}.utility .language-select{min-height:34px;font-size:11px}}
