:root { --ink:#302925; --muted:#756a63; --cream:#f7f2e9; --paper:#fffdf8; --sage:#52634f; --line:#ded5c8; font-family:Inter,ui-sans-serif,system-ui,sans-serif; color:var(--ink); background:var(--cream); }
* { box-sizing:border-box; } [hidden] { display:none!important; } body { margin:0; }
.saved-location-picker { margin:1rem 0 0; padding:0; border:0; }.saved-location-picker legend { margin-bottom:.55rem; font-size:.82rem; font-weight:800; }.saved-location-picker>div { display:grid; grid-template-columns:repeat(2,1fr); gap:.6rem; }.location-choice { position:relative; margin:0; padding:.85rem; border:1px solid var(--line); border-radius:11px; cursor:pointer; }.location-choice input { position:absolute; opacity:0; }.location-choice strong,.location-choice span { display:block; }.location-choice span { margin-top:.25rem; color:var(--muted); font-size:.76rem; font-weight:500; }.location-choice:has(input:checked) { border-color:var(--sage); background:#e5eee2; box-shadow:inset 0 0 0 1px var(--sage); }.availability-note { display:block; min-height:1.25rem; margin-top:.35rem; font-size:.75rem; font-weight:700; }.availability-note.available { color:#2f6a3b; }.availability-note.unavailable { color:#a13d35; }.review-items { display:grid; gap:.65rem; margin:1rem 0; }.review-items article { padding:.85rem 1rem; border-radius:10px; background:var(--cream); }.review-items article>span,.review-items article>strong,.review-items article>small { display:block; }.review-items article>span { color:var(--muted); font-size:.68rem; font-weight:800; text-transform:uppercase; }.review-items article>strong { margin:.2rem 0 .35rem; }.review-items article>small { margin-top:.15rem; color:var(--muted); }.add-another { margin:.25rem 0 1rem; }
header { display:flex; justify-content:space-between; align-items:center; padding:1rem max(1rem,calc((100% - 920px)/2)); border-bottom:1px solid var(--line); background:var(--paper); }
.brand { display:flex; align-items:center; gap:.7rem; color:var(--ink); text-decoration:none; }.brand>span { display:grid; width:44px; height:44px; place-items:center; border-radius:12px; background:#e9e1d5; font-family:Georgia,serif; font-weight:800; }.brand strong,.brand small { display:block; }.brand small { margin-top:.15rem; color:var(--muted); font-size:.7rem; }
main { width:min(920px,calc(100% - 2rem)); margin:2.5rem auto 5rem; }.login-card { width:min(520px,100%); margin:5vh auto; padding:2rem; border:1px solid var(--line); border-radius:18px; background:var(--paper); box-shadow:0 16px 45px rgb(48 41 37 / 9%); }
h1 { margin:.25rem 0 .65rem; font-family:Georgia,serif; font-size:clamp(1.8rem,5vw,2.6rem); font-weight:500; } p { color:var(--muted); line-height:1.5; }.eyebrow { margin:0; color:var(--sage); font-size:.68rem; font-weight:850; letter-spacing:.15em; }
label { display:block; margin-top:1rem; font-size:.82rem; font-weight:750; } input,textarea,button { width:100%; min-height:44px; margin-top:.35rem; padding:.7rem .8rem; border:1px solid #bbb1a4; border-radius:9px; background:white; color:var(--ink); font:inherit; } textarea { min-height:110px; resize:vertical; } button { width:auto; border-color:var(--sage); background:var(--sage); color:white; font-weight:800; cursor:pointer; } form>button { width:100%; margin-top:1.2rem; }.text-button { width:auto; min-height:auto; padding:.35rem; border:0; background:transparent; color:var(--sage); }
select { width:100%; min-height:44px; margin-top:.35rem; padding:.7rem .8rem; border:1px solid #bbb1a4; border-radius:9px; background:white; color:var(--ink); font:inherit; }
.message { min-height:1.3rem; margin:.8rem 0 0; color:#8c352b; font-size:.8rem; }.demo-note { display:grid; gap:.2rem; margin-top:1.5rem; padding:.8rem; border-radius:9px; background:var(--cream); font-size:.76rem; }.demo-note span { color:var(--muted); }
.welcome { margin-bottom:1.3rem; }.orders { display:grid; gap:.8rem; }.order-card { display:grid; grid-template-columns:1.3fr .8fr .8fr auto; align-items:center; gap:1rem; padding:1.15rem; border:1px solid var(--line); border-radius:13px; background:var(--paper); }.order-card strong,.order-card span { display:block; }.order-card span { margin-top:.25rem; color:var(--muted); font-size:.75rem; }.badge { display:inline-block!important; width:max-content; padding:.3rem .55rem; border-radius:999px; background:#ebe7df; color:var(--ink)!important; font-size:.66rem!important; font-weight:800; text-transform:uppercase; }.order-actions { display:flex; align-items:center; gap:.5rem; }.unread { color:#9b512d!important; font-weight:800; }
.next-action { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin:1.25rem 0; padding:1.25rem 1.4rem; border-left:5px solid #b96534; border-radius:13px; background:var(--paper); box-shadow:0 8px 24px rgb(48 41 37 / 6%); }.next-action h2,.section-heading h2,.detail-card h2 { margin:.2rem 0; font-family:Georgia,serif; font-weight:500; }.next-action p { margin:.25rem 0 0; }.next-action.compact { margin-top:1rem; }.portal-summary { display:grid; grid-template-columns:repeat(4,1fr); margin:1.4rem 0 2.2rem; overflow:hidden; border:1px solid var(--line); border-radius:13px; background:var(--paper); }.portal-summary div { padding:1rem 1.2rem; border-right:1px solid var(--line); }.portal-summary div:last-child { border:0; }.portal-summary strong,.portal-summary span { display:block; }.portal-summary strong { font-family:Georgia,serif; font-size:1.35rem; }.portal-summary span { margin-top:.2rem; color:var(--muted); font-size:.72rem; }.section-heading { display:flex; justify-content:space-between; align-items:end; margin:2rem 0 .75rem; }.secondary { border-color:var(--line); background:white; color:var(--sage); }.empty-state { padding:1.2rem; border:1px dashed var(--line); border-radius:12px; color:var(--muted); background:rgb(255 253 248 / 55%); }
.detail-heading { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-top:1rem; padding-bottom:1rem; border-bottom:1px solid var(--line); }.detail-heading p { margin:.25rem 0 0; }.detail-actions { display:flex; justify-content:flex-end; margin:1rem 0; }.detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }.detail-card { padding:1.25rem; border:1px solid var(--line); border-radius:14px; background:var(--paper); }.detail-card.wide { grid-column:1/-1; }.detail-item { padding:1rem 0; border-bottom:1px solid var(--line); }.detail-item:last-child { border:0; padding-bottom:0; }.detail-item:first-child { padding-top:.5rem; }.detail-item span { display:block; margin-top:.25rem; color:var(--muted); font-size:.78rem; }.detail-item dl,.facts { margin:.8rem 0 0; }.detail-item dl div,.facts div,.money-row,.quote-grid>div { display:flex; justify-content:space-between; gap:1rem; padding:.45rem 0; border-bottom:1px solid #eee7dd; }.detail-item dt,.facts dt,.quote-grid span { color:var(--muted); }.detail-item dd,.facts dd { margin:0; text-align:right; }.money-total { padding:.7rem 0 1rem; }.money-total strong,.money-total span { display:block; }.money-total strong { font-family:Georgia,serif; font-size:2rem; }.money-total span { color:var(--muted); font-size:.75rem; }.money-row strong { white-space:nowrap; }.money-row.balance { margin-top:.4rem; padding:.7rem; border:0; border-radius:8px; background:var(--cream); }.quote-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 2rem; }.quote-total { font-size:1.05rem; }.customer-note { padding:.8rem; border-radius:8px; background:var(--cream); }.detail-card details { margin-top:.8rem; }.detail-card summary { color:var(--sage); font-weight:800; cursor:pointer; }
.conversation-heading { padding-bottom:1rem; border-bottom:1px solid var(--line); }.message-shell { overflow:hidden; margin-top:1rem; border:1px solid var(--line); border-radius:17px; background:#ebe8e2; box-shadow:0 8px 24px rgb(48 41 37 / 7%); }.messages { display:flex; height:min(55vh,500px); min-height:320px; flex-direction:column; gap:.45rem; overflow-y:auto; padding:1rem; scroll-behavior:smooth; }.bubble { width:fit-content; max-width:72%; padding:.6rem .8rem; border-radius:18px 18px 18px 5px; background:var(--paper); box-shadow:0 1px 2px rgb(48 41 37 / 9%); }.bubble.customer { align-self:flex-end; border-radius:18px 18px 5px; background:var(--sage); color:white; }.bubble strong,.bubble time { display:block; }.bubble strong { margin-bottom:.2rem; font-size:.64rem; opacity:.72; }.bubble span { display:block; overflow-wrap:anywhere; line-height:1.4; }.bubble time { margin-top:.25rem; color:var(--muted); font-size:.61rem; text-align:right; }.bubble.customer time { color:rgb(255 255 255 / 72%); }.message-form { display:grid; grid-template-columns:1fr auto; align-items:end; gap:.55rem; padding:.7rem; border-top:1px solid var(--line); background:var(--paper); }.message-form label { margin:0; }.message-form textarea { min-height:48px; max-height:130px; margin:0; border-radius:17px; }.message-form button { min-height:48px; margin:0; border-radius:17px; }.message-day { align-self:center; margin:.4rem 0; color:var(--muted); font-size:.65rem; font-weight:800; }.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
@media(max-width:700px){ main { margin-top:1.5rem; }.order-card,.detail-grid,.quote-grid { grid-template-columns:1fr; }.detail-card.wide { grid-column:auto; }.order-actions { justify-content:flex-start; flex-wrap:wrap; }.bubble { max-width:90%; }.next-action,.detail-heading { align-items:flex-start; flex-direction:column; }.portal-summary { grid-template-columns:1fr; }.portal-summary div { border-right:0; border-bottom:1px solid var(--line); } }
.portal-shell { min-height:100vh; }.portal-nav { position:fixed; inset:0 auto 0 0; display:flex; width:240px; flex-direction:column; padding:1.2rem; background:#344336; color:white; }.portal-nav .brand { color:white; }.portal-nav .brand>span { color:var(--ink); }.portal-nav .brand small { color:rgb(255 255 255 / 68%); }.portal-nav nav { display:grid; gap:.3rem; margin-top:2rem; }.portal-nav nav button { display:flex; justify-content:space-between; width:100%; margin:0; padding:.75rem .8rem; border:0; background:transparent; color:rgb(255 255 255 / 82%); text-align:left; }.portal-nav nav button:hover,.portal-nav nav button.active { background:rgb(255 255 255 / 12%); color:white; }.portal-workspace { min-height:100vh; margin-left:240px; }.portal-topbar { position:sticky; z-index:5; top:0; display:flex; width:100%; padding:1rem max(1rem,calc((100% - 1040px)/2)); }.portal-topbar h1 { margin:0; font-family:Georgia,serif; font-size:1.65rem; }.portal-topbar .eyebrow { margin-bottom:.15rem; }.topbar-actions { display:flex; align-items:center; gap:.6rem; }.icon-button,.profile-link { position:relative; min-height:40px; margin:0; padding:.5rem .65rem; border-color:var(--line); background:white; color:var(--sage); }.profile-link { font-size:.8rem; }.alert-button { width:42px; font-size:1.35rem; }.alert-button span { position:absolute; top:-6px; right:-6px; display:grid; width:20px; height:20px; place-items:center; border-radius:999px; background:#b85f32; color:white; font-size:.65rem; }.portal-content { width:min(1040px,calc(100% - 2rem)); margin:2rem auto 5rem; }.portal-page { width:100%; }.portal-page>h1 { font-size:2rem; }.address-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }.address-card { padding:1.1rem; border:1px solid var(--line); border-radius:13px; background:var(--paper); }.address-card h3 { margin:0 0 .45rem; font-family:Georgia,serif; }.address-card p { margin:.2rem 0; }.card-actions,.form-actions { display:flex; justify-content:flex-end; gap:.5rem; margin-top:1rem; }.page-form { padding:1.3rem; border:1px solid var(--line); border-radius:14px; background:var(--paper); }.page-form.narrow { max-width:560px; }.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 1rem; }.form-help { margin:.45rem 0 0; font-size:.75rem; }.alert-list { display:grid; gap:.75rem; }.alert-card { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1rem 1.1rem; border:1px solid var(--line); border-left:4px solid #b96534; border-radius:12px; background:var(--paper); }.alert-card.read { opacity:.65; border-left-color:var(--line); }.alert-card p { margin:.2rem 0 0; }#mobile-menu { display:none; }
.path-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }.path-grid article { display:flex; min-height:230px; flex-direction:column; padding:1.25rem; border:1px solid var(--line); border-radius:14px; background:var(--paper); }.path-grid h3 { margin:0; font-family:Georgia,serif; font-size:1.35rem; }.path-grid button { margin-top:auto; }
.top-order-button { margin:0; white-space:nowrap; }.dashboard-order-card { overflow:hidden; border:1px solid var(--line); border-radius:15px; background:var(--paper); box-shadow:0 8px 24px rgb(48 41 37 / 5%); }.dashboard-order-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; padding:1.25rem; border-bottom:1px solid var(--line); }.dashboard-order-heading h2 { margin:.2rem 0; font-family:Georgia,serif; font-size:1.45rem; font-weight:500; }.dashboard-order-heading p:last-child { margin:.3rem 0 0; }.dashboard-order-facts { display:grid; grid-template-columns:1.4fr 1fr 1fr; }.dashboard-order-facts>div { padding:1.1rem 1.25rem; border-right:1px solid var(--line); }.dashboard-order-facts>div:last-child { border:0; }.dashboard-order-facts span,.dashboard-order-facts strong,.dashboard-order-facts small { display:block; }.dashboard-order-facts span { margin-bottom:.35rem; color:var(--muted); font-size:.68rem; font-weight:800; text-transform:uppercase; }.dashboard-order-facts small { margin-top:.25rem; color:var(--muted); }.dashboard-order-action { display:flex; justify-content:flex-end; padding:.8rem 1.25rem; border-top:1px solid var(--line); background:#faf7f1; }
.badge.type-pickup { background:#dceaf2; color:#28566c!important; }.badge.type-delivery { background:#e8e0f1; color:#5b4272!important; }.badge.type-event { background:#f4e7c8; color:#76591e!important; }.badge.tone-success { background:#dcebdc; color:#315b37!important; }.badge.tone-danger { background:#f3dddd; color:#8a3333!important; }.badge.tone-warning { background:#f6e3cf; color:#894817!important; }.badge.tone-info { background:#dce8ef; color:#315a70!important; }.badge.tone-neutral { background:#ebe7df; color:#625c55!important; }.money-paid { color:#2f6a3b!important; }.money-remaining { color:#a13d35!important; }.money-paid strong,.money-remaining strong { color:inherit!important; }#paid-total { color:#2f6a3b; }#balance-total { color:#a13d35; }
.conversation-card { display:grid; grid-template-columns:1fr 1.5fr auto; align-items:center; gap:1.25rem; padding:1.1rem; border:1px solid var(--line); border-radius:13px; background:var(--paper); }.conversation-card.has-unread { border-left:5px solid #b96534; }.conversation-identity strong,.conversation-identity span,.conversation-preview time { display:block; }.conversation-identity span,.conversation-preview time { margin-top:.3rem; color:var(--muted); font-size:.72rem; }.conversation-preview p { display:-webkit-box; margin:0; overflow:hidden; color:var(--ink); -webkit-box-orient:vertical; -webkit-line-clamp:2; }.conversation-action { display:flex; align-items:center; gap:.6rem; }.unread-count { padding:.3rem .5rem; border-radius:999px; background:#b96534; color:white; font-size:.68rem; font-weight:800; white-space:nowrap; }
.profile-photo { display:flex; align-items:center; gap:1rem; padding-bottom:1.1rem; border-bottom:1px solid var(--line); }.avatar-preview { display:grid; width:88px; height:88px; flex:0 0 88px; place-items:center; overflow:hidden; border-radius:50%; background:#e8e0d4; color:var(--sage); font-family:Georgia,serif; font-size:1.6rem; font-weight:800; background-position:center; background-size:cover; }.profile-photo p { margin:.2rem 0; }.upload-button { display:inline-block; width:auto; margin:.25rem .5rem 0 0; padding:.55rem .7rem; border:1px solid var(--sage); border-radius:8px; color:var(--sage); cursor:pointer; }.upload-button input { position:absolute; width:1px; height:1px; overflow:hidden; opacity:0; }.profile-photo .text-button { margin:0; }.check-label { display:flex; align-items:center; gap:.55rem; }.check-label input { width:18px; min-height:18px; margin:0; }.profile-address-summary { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-top:1rem; padding:1rem; border-radius:10px; background:var(--cream); }.profile-address-summary p { margin:.15rem 0 0; }
.choice-field { margin:1rem 0 0; padding:0; border:0; }.choice-field legend { font-size:.82rem; font-weight:750; }.choice-row { display:flex; gap:.4rem; margin-top:.35rem; }.choice-row label { position:relative; flex:1; margin:0; padding:.7rem .5rem; border:1px solid #bbb1a4; border-radius:9px; background:white; text-align:center; cursor:pointer; }.choice-row input { position:absolute; opacity:0; }.choice-row label:has(input:checked) { border-color:var(--sage); background:#e6ede3; color:#354433; box-shadow:inset 0 0 0 1px var(--sage); }
.order-tabs { display:flex; gap:.4rem; margin:1rem 0; padding-bottom:.75rem; border-bottom:1px solid var(--line); }.order-tabs button { margin:0; border-color:var(--line); background:white; color:var(--sage); }.order-tabs button.active { border-color:var(--sage); background:var(--sage); color:white; }.conversation-context { margin:.5rem 0; }.conversation-context p { margin:0; }
.order-jump-nav { position:sticky; z-index:10; top:0; padding:.65rem 0; background:rgb(250 247 241 / 96%); }
.order-message-workspace { scroll-margin-top:70px; margin-top:1rem; padding:1.25rem; border:1px solid var(--line); border-radius:14px; background:var(--paper); }
.detail-activity article { display:grid; grid-template-columns:8px minmax(0,1fr) auto; gap:.7rem; align-items:start; padding:.7rem 0; border-top:1px solid var(--line); }
.detail-activity article:first-child { border-top:0; }
.detail-activity p { margin:.2rem 0 0; color:var(--muted); font-size:.8rem; }
.detail-activity time { color:var(--muted); font-size:.72rem; white-space:nowrap; }
.activity-marker { width:7px; height:7px; margin-top:.35rem; border-radius:50%; background:var(--sage); }
.profile-account-section { margin-top:2rem; padding-top:.25rem; border-top:1px solid var(--line); }
.order-request-form { margin-top:1.25rem; }.order-request-form>h2 { margin:.25rem 0 1rem; font-family:Georgia,serif; font-weight:500; }.request-choice-group { display:grid; grid-template-columns:repeat(2,1fr); gap:.5rem; margin:1.25rem 0; padding:1rem; border:1px solid var(--line); border-radius:12px; }.request-choice-group legend { padding:0 .35rem; font-weight:800; }.request-choice-group legend small { color:var(--muted); font-weight:500; }.request-choice-group label { display:flex; align-items:center; gap:.5rem; margin:0; padding:.7rem; border-radius:8px; background:var(--cream); }.request-choice-group input,.addon-line input { width:18px; min-height:18px; margin:0; }.addon-line { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:.65rem .8rem; border-bottom:1px solid var(--line); }.addon-line input { width:72px; min-height:40px; }.success-panel { margin-top:1.25rem; padding:1.5rem; border:1px solid #afc0aa; border-radius:14px; background:#eef4eb; }.success-panel h2 { margin:.25rem 0; font-family:Georgia,serif; font-weight:500; }.alert-card small { color:var(--muted); }
.request-heading { display:flex; justify-content:space-between; align-items:end; gap:2rem; margin-bottom:1rem; }.request-heading h2 { margin:.2rem 0; font-family:Georgia,serif; font-size:1.8rem; font-weight:500; }.request-heading>p { max-width:440px; margin:0; text-align:right; }.request-progress { display:grid; grid-template-columns:repeat(4,1fr); margin:1.25rem 0 1.5rem; padding:0; list-style:none; }.request-progress li { display:flex; align-items:center; gap:.45rem; padding:.65rem .7rem; border-bottom:3px solid var(--line); color:var(--muted); font-size:.78rem; font-weight:800; }.request-progress span { display:grid; width:26px; height:26px; place-items:center; border-radius:50%; background:#e7e0d6; }.request-progress li.active { border-color:var(--sage); color:var(--ink); }.request-progress li.active span,.request-progress li.complete span { background:var(--sage); color:white; }.request-panel { padding:1.25rem; border:1px solid var(--line); border-radius:14px; background:var(--paper); }.request-panel h3,.choice-intro h3 { margin:0; font-family:Georgia,serif; font-size:1.35rem; }.request-panel p,.choice-intro p { margin:.35rem 0 0; }.product-picker { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }.product-choice-card { overflow:hidden; border:1px solid var(--line); border-radius:16px; background:var(--paper); box-shadow:0 8px 22px rgb(48 41 37 / 5%); }.product-image { min-height:170px; background:linear-gradient(0deg,rgb(48 41 37 / 12%),transparent),url('/website/assets/images/styled-board.jpg') center/cover; }.product-card-body { padding:1.1rem; }.product-card-body h3 { margin:.3rem 0; font-family:Georgia,serif; font-size:1.35rem; }.product-card-body p:not(.eyebrow) { min-height:3em; margin:.35rem 0; }.product-card-foot { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-top:1rem; }.product-card-foot strong { font-family:Georgia,serif; font-size:1.2rem; }.selected-product { display:flex; justify-content:space-between; align-items:end; gap:1rem; padding:1rem 1.15rem; border-radius:13px; background:#e8eee5; }.selected-product span,.selected-product strong,.selected-product small { display:block; }.selected-product span { color:var(--muted); font-size:.72rem; font-weight:800; text-transform:uppercase; }.selected-product strong { margin:.2rem 0; font-family:Georgia,serif; font-size:1.4rem; }.selected-product label { width:130px; margin:0; }.choice-intro { margin:1.6rem 0 .75rem; }.request-choice-group { background:var(--paper); }.request-choice-group legend { display:flex; align-items:center; gap:.6rem; }.request-choice-group legend span { font-family:Georgia,serif; font-size:1.15rem; }.request-choice-group legend small { padding:.2rem .5rem; border-radius:999px; background:#ece6dc; font-size:.72rem; }.request-choice-group label { position:relative; min-height:52px; cursor:pointer; }.request-choice-group label:has(input:checked) { outline:2px solid var(--sage); background:#e5eee2; }.request-choice-group label>span { flex:1; }.request-choice-group label>small { color:#87502c; font-weight:800; }.included-note { display:flex; gap:.5rem; flex-direction:column; margin:1rem 0; padding:1rem; border-left:4px solid var(--sage); border-radius:10px; background:#e8eee5; }.included-note span { color:var(--muted); }.additions { margin-top:1.25rem; }.addon-line span strong,.addon-line span small { display:block; }.addon-line span small { margin-top:.2rem; color:var(--muted); }.step-actions { display:flex; justify-content:space-between; gap:.75rem; margin-top:1.25rem; }.step-actions.single { justify-content:flex-end; }.fulfillment-choices { margin:1.2rem 0; padding:0; border:0; }.fulfillment-choices legend { margin-bottom:.55rem; font-size:.82rem; font-weight:800; }.choice-card-row { display:grid; grid-template-columns:repeat(3,1fr); gap:.6rem; }.choice-card-row label { position:relative; min-height:105px; margin:0; padding:.9rem; border:1px solid var(--line); border-radius:11px; cursor:pointer; }.choice-card-row input { position:absolute; opacity:0; }.choice-cardchitoice-card-row strong,.choice-card-row span { display:block; }.choice-card-row strong { margin-bottom:.35rem; }.choice-card-row span { color:var(--muted); font-size:.76rem; font-weight:500; line-height:1.4; }.choice-card-row label:has(input:checked) { border-color:var(--sage); background:#e5eee2; box-shadow:inset 0 0 0 1px var(--sage); }.request-review-list { display:grid; gap:0; margin:1rem 0; }.request-review-list>div { display:flex; justify-content:space-between; gap:1rem; padding:.75rem 0; border-bottom:1px solid var(--line); }.request-review-list dt { color:var(--muted); }.request-review-list dd { margin:0; max-width:65%; text-align:right; }.review-note { padding:1rem; border-radius:10px; background:#f4ebdd; }.review-note strong { color:var(--ink); }.custom-request-card { max-width:720px; }
@media(max-width:820px){ .portal-nav { z-index:10; transform:translateX(-100%); transition:transform .2s; }.portal-nav.open { transform:translateX(0); }.portal-workspace { margin-left:0; }.portal-topbar { padding:.8rem 1rem; }.portal-topbar>div:nth-child(2) { display:none; }.portal-topbar .profile-link { display:none; }.top-order-button { font-size:.75rem; }.mobile-menu,#mobile-menu { display:inline-block; }.portal-content { margin-top:1.25rem; }.address-grid,.form-grid,.path-grid,.conversation-card,.dashboard-order-facts,.product-picker,.choice-card-row { grid-template-columns:1fr; }.dashboard-order-facts>div { border-right:0; border-bottom:1px solid var(--line); }.conversation-action { justify-content:space-between; }.request-heading { align-items:flex-start; flex-direction:column; gap:.4rem; }.request-heading>p { text-align:left; }.request-progress li { justify-content:center; font-size:0; }.request-progress li span { font-size:.78rem; }.selected-product { align-items:stretch; flex-direction:column; }.selected-product label { width:100%; }.request-choice-group { grid-template-columns:1fr; }.product-card-body p:not(.eyebrow) { min-height:auto; } }
.quote-decision { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1rem; padding:1rem; border:1px solid var(--line); border-radius:12px; background:var(--cream); }
.quote-decision p { margin:0; }
.quote-decision > div { display:flex; flex-wrap:wrap; gap:.6rem; }
.accepted-note { margin-top:1rem; padding:.8rem 1rem; border-radius:10px; background:#e7f2e6; color:#315b39; font-weight:800; }

.account-switch { display:flex; justify-content:center; align-items:center; gap:.45rem; margin-top:1.25rem; padding-top:1rem; border-top:1px solid var(--line); color:var(--muted); font-size:.82rem; }
.auth-link-button { display:inline-flex; min-height:38px; align-items:center; padding:.45rem .7rem; border:1px solid var(--sage); border-radius:8px; color:var(--sage); font-weight:800; text-decoration:none; background:white; }
.auth-text-link { color:var(--sage); font-weight:800; text-decoration:none; }
.signup-grid { display:grid; grid-template-columns:1fr 1fr; gap:.8rem; }
.signup-grid label { min-width:0; }
.form-help { margin:.35rem 0 0; font-size:.74rem; }
@media(max-width:560px){ .signup-grid { grid-template-columns:1fr; gap:0; }.account-switch { align-items:flex-start; flex-direction:column; } }

/* Customer quote and invoice document */
.quote-document { margin-top:.9rem; overflow:hidden; border:1px solid var(--line); border-radius:14px; background:#fffdf8; box-shadow:0 8px 24px rgb(48 41 37 / 5%); }
.quote-document-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:1.5rem; padding:1.2rem; border-bottom:1px solid var(--line); background:var(--paper); }
.quote-document-heading .document-label { margin:0; color:var(--sage); font-size:.7rem; font-weight:900; letter-spacing:.09em; }
.quote-document-heading h3 { margin:.15rem 0 .2rem; font-family:Georgia,serif; font-size:1.45rem; }
.quote-document-heading p { margin:.2rem 0 0; color:var(--muted); }
.quote-document-heading > strong { white-space:nowrap; color:var(--sage); font-family:Georgia,serif; font-size:1.8rem; }
.quote-document-items,.quote-document-services { padding:.35rem 1.2rem; }
.quote-document-services { border-top:1px solid var(--line); background:#fbf8f2; }
.quote-document-line { display:flex; justify-content:space-between; gap:1.25rem; padding:.8rem 0; border-bottom:1px solid var(--line); }
.quote-document-line:last-child { border-bottom:0; }
.quote-document-line > div { min-width:0; }
.quote-document-line strong { flex:0 0 auto; }
.quote-document-line small,.quote-document-line span { display:block; }
.quote-document-line small { margin-top:.15rem; color:var(--muted); }
.quote-document-line.subline { padding-left:1.1rem; font-size:.9rem; }
.quote-document-selections { display:grid; gap:.18rem; margin-top:.45rem; color:var(--muted); font-size:.82rem; }
.quote-document-selections strong { display:inline; color:var(--ink); }
.quote-item-note { margin:.45rem 0 0; color:var(--muted); font-size:.84rem; }
.quote-document-total { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1rem 1.2rem; border-top:2px solid var(--sage); background:#edf3e9; font-family:Georgia,serif; font-size:1.3rem; }
.quote-document-total strong { font-size:1.55rem; }
.deposit-preview { margin:0; padding:.75rem 1.2rem; border-top:1px solid var(--line); background:#f7f2e8; }
.quote-document-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 1.5rem; margin:0; padding:.5rem 1.2rem 1rem; border-top:1px solid var(--line); }
.quote-document-details div { padding:.65rem 0; border-bottom:1px solid var(--line); }
.quote-document-details dt { color:var(--muted); font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.quote-document-details dd { margin:.2rem 0 0; white-space:pre-wrap; }
.quote-document .customer-note { margin:0 1.2rem 1.2rem; }
.quote-decision { align-items:flex-start; flex-direction:column; }
.quote-decision textarea { width:100%; min-height:110px; margin:.65rem 0; }
@media(max-width:820px){ .quote-document-heading { flex-direction:column; gap:.5rem; }.quote-document-details { grid-template-columns:1fr; } }

/* The business mark and who a document is from. */
.brand > span img { width: 100%; height: 100%; object-fit: contain; display: block; }
.quote-letterhead { display: flex; gap: 1rem; align-items: center; margin-bottom: 1rem; }
.quote-letterhead img { width: 72px; height: 72px; object-fit: contain; flex: none; }
.quote-letterhead .quote-from strong { display: block; }
.quote-letterhead .quote-from small { display: block; color: #6f675c; }

.quote-terms { margin: 1rem 0; padding: .9rem 1rem; border: 1px solid var(--line, #e3ded6);
  border-radius: 10px; background: var(--paper, #fbf9f6); }
.quote-terms h4 { margin: 0 0 .5rem; font-size: .95rem; }
.quote-terms .terms-text { margin: 0; white-space: pre-wrap; line-height: 1.5; }

.request-live-estimate { display: flex; justify-content: space-between; align-items: center;
  gap: 1rem; margin-top: 1.25rem; padding: .9rem 1.15rem; border-radius: 13px;
  background: #e8eee5; }
.request-live-estimate span { display: block; color: var(--muted, #7a7167); font-size: .72rem;
  font-weight: 800; text-transform: uppercase; }
.request-live-estimate strong { display: block; margin-top: .2rem; font-family: Georgia, serif;
  font-size: 1.3rem; }
.request-live-estimate small { display: block; margin-top: .15rem; color: var(--muted, #7a7167); }
