.moving-quote-preview{margin:16px 0;padding:20px;border:1px solid #d9e2e9;border-radius:16px;background:#f5f8fa}.moving-quote-preview h3{margin-top:0}.moving-quote-preview p{line-height:1.7}.moving-quote-preview select{margin-bottom:8px}
:root{font-family:"Yu Gothic UI","Meiryo",sans-serif;color:#233c33;background:#fff;font-synthesis:none;--green:#164f3c;--line:#dce7e0;--muted:#6d7d74}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #d69d34;outline-offset:4px}header{height:82px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:white}.brand{text-decoration:none;color:var(--green);font-size:31px;letter-spacing:4px;font-weight:800;display:flex;gap:22px;align-items:center}.brand span{font-weight:500;font-size:13px;letter-spacing:1px;padding-left:22px;border-left:1px solid var(--line)}.demo-tag{font-size:12px;background:#eff5f1;border:1px solid var(--line);padding:6px 12px;border-radius:30px;color:var(--green)}.layout{max-width:1170px;margin:44px auto 26px;display:grid;grid-template-columns:340px 1fr;gap:74px;padding:0 28px}aside{padding-top:36px;position:sticky;top:30px;align-self:start}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.5px;color:var(--muted)}h1{font-size:34px;line-height:1.7;font-weight:650;letter-spacing:2px;margin:18px 0}aside>p:not(.eyebrow){font-size:13px;line-height:2;color:var(--muted)}.side-card{display:flex;gap:12px;margin:32px 0;padding:20px 16px;background:#f4f7f4;border-radius:12px;font-size:12px}.side-icon{width:24px;height:24px;background:var(--green);color:white;display:grid;place-items:center;border-radius:50%;flex-shrink:0}.side-card p{line-height:1.9;margin:6px 0 0;color:var(--muted)}#stage-list{display:grid;gap:18px;font-size:13px;color:var(--muted)}#stage-list div{display:flex;gap:12px;align-items:center}#stage-list span{width:24px;height:24px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:11px}#stage-list .active{color:var(--green);font-weight:700}#stage-list .active span{background:var(--green);color:white}.side-foot{margin-top:50px;letter-spacing:2px;font-size:10px!important}main{min-width:0;border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 40px #173d2e08;position:relative;overflow:clip}.chat-head{padding:20px 25px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;background:#fff}.chat-head strong{font-size:14px}.chat-head small{display:block;color:var(--muted);font-size:11px;margin:7px 0 0 15px}.online-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#468165;margin-right:8px}.text-btn{border:0;background:transparent;color:var(--green);font-size:12px;text-decoration:underline;text-underline-offset:4px;padding:10px}#thread{padding:26px 24px 12px;min-height:460px}.greeting,.question{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:start;margin:0 0 24px}.avatar{width:36px;height:36px;object-fit:contain;border-radius:50%;background:#f4f7f4;padding:3px}.bubble{background:#f1f5f2;padding:16px 18px;border-radius:0 16px 16px 16px;font-size:14px;line-height:1.85;margin:0}.bubble strong{font-weight:600}.bubble small{display:block;font-size:12px;color:var(--muted);margin-top:7px}.question{scroll-margin-top:24px;margin-top:27px}.question-content{min-width:0}.question-label{font-size:10px;letter-spacing:1px;color:var(--muted);margin:0 0 10px}.choices{display:grid;gap:10px;margin-top:20px}.choice{display:flex;align-items:center;justify-content:space-between;text-align:left;width:100%;border:1px solid #b9cec0;border-radius:9px;background:white;color:var(--green);min-height:57px;padding:15px 19px;font-size:14px;font-weight:600;transition:background .15s}.choice:hover{background:#f0f6f2}.choice::after{content:'›';font-size:24px;font-weight:400}.choice.selected{background:#edf5ef;border:2px solid var(--green)}.choice small{display:block;color:var(--muted);font-weight:400;font-size:11px;margin:5px 0 0}.reply{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin:14px 0 21px}.reply p{max-width:80%;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7;background:var(--green);color:#fff;padding:12px 17px;border-radius:14px 0 14px 14px;margin:0}.reply button{border:0;background:none;color:var(--muted);font-size:11px;padding:8px}.reply-question{font-size:12px;line-height:1.7;margin:12px 0 8px;color:var(--muted)}.form-fields{margin-top:18px;display:grid;gap:14px}label{font-size:12px;line-height:1.8;display:grid;gap:6px}input,textarea,select{min-width:0;max-width:100%;width:100%;padding:12px;border:1px solid #bbcec1;border-radius:7px;background:#fff;color:#233c33;font-size:16px}input:focus,textarea:focus,select:focus{outline:2px solid var(--green);outline-offset:2px}textarea{min-height:105px;resize:vertical}input[type=checkbox]{width:19px;height:19px;accent-color:var(--green);flex-shrink:0}.checkbox{display:flex;align-items:flex-start;gap:10px;margin:10px 0}.primary{background:var(--green);color:#fff;border:0;border-radius:8px;padding:16px;width:100%;font-weight:600;min-height:54px;margin-top:16px}.secondary{background:#fff;color:var(--green);border:1px solid var(--line);padding:13px;border-radius:8px;width:100%;margin-top:10px;font-size:13px}.helper{font-size:11px;color:var(--muted);line-height:1.8}.error{color:#a32424;font-size:12px;line-height:1.8}.cargo-row{display:grid;grid-template-columns:1fr 105px;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);align-items:center}.cargo-row label{display:block}.cargo-row small{display:block;font-size:10px;color:var(--muted)}.cargo-row input{font-size:14px}.review-row{padding:12px 0;border-bottom:1px solid var(--line);display:flex;gap:14px;justify-content:space-between;align-items:start}.review-row strong{font-size:12px}.review-row p{font-size:12px;line-height:1.8;margin:5px 0;white-space:pre-wrap;overflow-wrap:anywhere}.review-row button{background:white;border:1px solid var(--line);color:var(--green);border-radius:5px;padding:7px 10px;font-size:11px;flex-shrink:0}.bottom-note{font-size:10px;line-height:1.7;color:var(--muted);text-align:center;margin:12px 18px 22px}#latest{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:5;padding:12px 22px;border:1px solid var(--line);background:white;color:var(--green);border-radius:30px;box-shadow:0 5px 20px #0002;font-size:13px}.dev{max-width:1114px;margin:28px auto;border-top:1px solid var(--line);padding:18px 0;color:var(--muted);font-size:11px}.dev summary{cursor:pointer}.dev>div{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin-top:15px}.dev label{flex:1;min-width:180px}.dev button{padding:12px;background:#f5f7f5;border:1px solid var(--line);border-radius:6px;color:var(--green);font-size:12px}dialog{border:1px solid var(--line);border-radius:15px;width:min(620px,94vw);max-height:85dvh;padding:22px}dialog::backdrop{background:#173c3270}.dialog-head{display:flex;align-items:center;justify-content:space-between}.dialog-head h2{font-size:17px}.dialog-head button{background:none;border:0;font-size:25px;color:var(--green)}[hidden]{display:none!important}.success{font-size:30px;color:var(--green)}
@media(max-width:850px){header{height:65px;padding:0 22px}.brand{font-size:26px;gap:14px}.brand span{padding-left:14px;font-size:11px}.layout{display:block;max-width:620px;margin:0 auto;padding:0}aside{display:none}main{border:0;border-radius:0;box-shadow:none;overflow:visible}.chat-head{padding:18px 20px}#thread{padding:23px 18px 12px}.bubble{padding:14px;font-size:14px}.question,.greeting{grid-template-columns:31px 1fr;gap:10px}.avatar{width:31px;height:31px}.choice{padding:14px;min-height:57px}.dev{margin:22px 18px;padding-top:16px}.bottom-note{margin-bottom:18px}.question{scroll-margin-top:18px}.reply p{max-width:83%}}
@media(max-width:350px){header{padding:0 14px}.brand{gap:9px}.brand span{font-size:10px;padding-left:9px}.demo-tag{font-size:10px;padding:5px 8px}#thread{padding:20px 12px}.question,.greeting{gap:8px;grid-template-columns:28px 1fr}.avatar{width:28px;height:28px}.bubble{font-size:13px;padding:12px}.choice{font-size:13px;padding:12px}.chat-head{padding:15px}.cargo-row{grid-template-columns:1fr 84px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.advanced #current-question{min-height:calc(100dvh - 80px)}
.bubble.is-typing{position:relative;cursor:pointer}.is-typing strong{opacity:0}.is-typing small{visibility:hidden}.typing-overlay{position:absolute;left:18px;right:18px;top:16px;font-weight:600;pointer-events:none}.typing-skip{display:block;border:0;background:none;color:var(--muted);font-size:11px;padding:8px 0;cursor:pointer}.question-controls.waiting{visibility:hidden}.typing-skip[hidden]{display:none}@media(max-width:850px){.typing-overlay{left:14px;right:14px;top:14px}}@media(max-width:350px){.typing-overlay{left:12px;right:12px;top:12px}}
.greeting-copy{display:block}.greeting-typing{position:relative;cursor:pointer}.greeting-typing .greeting-copy{opacity:0}.greeting-typing .typing-overlay{white-space:pre-line;font-weight:inherit}.greeting-action.greeting-auto{display:grid;justify-items:center;gap:8px}.greeting-auto .helper{margin:0}.greeting-auto .typing-skip{min-height:44px}
.notice{background:#f7f4e9;border-radius:9px;padding:16px;font-size:12px;line-height:1.9;margin:18px 0}.notice p{margin:7px 0}.notice ul{margin:7px 0;padding-left:18px}.sent-details{margin-top:20px;font-size:13px}.sent-details summary{cursor:pointer;padding:12px 0}dialog>p{font-size:13px;line-height:1.9}.dialog-head h2{line-height:1.6}
.cargo-row{grid-template-columns:1fr 146px}.qty-controls{display:grid;grid-template-columns:40px 1fr 40px;gap:4px;align-items:center}.qty-controls button{width:40px;height:44px;border:1px solid var(--line);border-radius:7px;background:#f4f7f4;color:var(--green);font-size:19px}.qty-controls input{text-align:center;padding:11px 2px;font-size:14px}.qty-unknown{border:0;background:none;padding:6px 0;color:var(--muted);font-size:10px;width:100%;min-height:30px}.qty-unknown[aria-pressed=true]{color:var(--green);font-weight:700}.qty-group{min-width:0}@media(max-width:350px){.cargo-row{grid-template-columns:1fr 132px}.qty-controls{grid-template-columns:36px 1fr 36px}.qty-controls button{width:36px}}

/* Independent demo only: content-fitting reception bubbles and white cards. */
.bubble{position:relative;inline-size:fit-content;max-inline-size:100%;min-inline-size:0;background:#fcfcf9;border:1px solid #939d7d;border-radius:20px;padding:15px 19px;color:#222822;box-shadow:0 2px 5px #333b2609;overflow-wrap:anywhere;white-space:normal}
.bubble::before,.bubble::after{content:'';position:absolute;inline-size:0;block-size:0;border-style:solid;pointer-events:none}
.bubble{--tail-y:26px}
.bubble::before{top:calc(var(--tail-y) - 6px);bottom:auto;left:-6px;border-width:6px 6px 6px 0;border-color:transparent #939d7d transparent transparent}
.bubble::after{top:calc(var(--tail-y) - 5px);bottom:auto;left:-4px;border-width:5px 5px 5px 0;border-color:transparent #fcfcf9 transparent transparent}
.question-label{line-height:14px}.greeting>.avatar,.question>.avatar{margin-top:8px}.question:has(.question-label)>.avatar{margin-top:32px}
.bubble strong{font-weight:500}.bubble small{color:#646b5e;font-size:12px;line-height:1.75;margin-top:6px}
.avatar{background:#f2f3ed;padding:4px;aspect-ratio:1;object-fit:contain}.preset-symbol{display:grid;place-items:center;font-size:22px}
.choices{gap:12px;margin-top:24px}.choice{border:1px solid #d8dcd3;border-radius:3px;min-height:58px;background:#fff;color:#282e27;box-shadow:0 2px 6px #25311e06;font-weight:500;transition:background .16s,border-color .16s,box-shadow .16s}
.choice:hover{background:#fbfcf9;border-color:#a9b5a1;box-shadow:0 3px 8px #25311e0a}.choice::after{content:'›';font-size:21px;color:#78816e}.choice.selected{background:#fff;border:1px solid var(--green);box-shadow:inset 3px 0 var(--green)}
.cards-enter .choice{animation:card-arrive .28s ease-out both}.cards-enter .choice:nth-child(2){animation-delay:.035s}.cards-enter .choice:nth-child(n+3){animation-delay:.07s}
@keyframes card-arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.question-controls.cards-enter>form{animation:input-arrive .48s cubic-bezier(.22,.61,.36,1) both}
@keyframes input-arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.reply p{background:#f0f2ed;color:#283229;border:1px solid #d7ddd0;border-radius:16px 16px 3px 16px}
.typing-overlay{left:19px;right:19px;top:15px;font-weight:500;overflow-wrap:anywhere}
.owner-demo-entry{max-width:1114px;margin:18px auto 36px;display:flex;align-items:center;gap:14px;font-size:11px;color:var(--muted)}.owner-demo-entry button{padding:12px 16px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--green);font-size:12px}
.icon-preview-row{display:flex;align-items:center;gap:16px;background:#fafbf8;border:1px solid var(--line);border-radius:12px;padding:20px;margin-top:22px;font-size:13px}.icon-preview-row p{line-height:1.8;margin:8px 0 0}.icon-preview-row small{color:var(--muted)}#icon-preview .avatar{width:52px;height:52px}.icon-preview-row>div{min-width:0}#icon-upload{margin-top:16px}#icon-file{font-size:13px}#icon-settings{color:#263a2e}#icon-settings .text-btn{display:block;margin-top:8px}
@media(max-width:850px){.bubble{padding:14px 16px;border-radius:18px;--tail-y:24px}.greeting>.avatar,.question>.avatar{margin-top:8.5px}.question:has(.question-label)>.avatar{margin-top:32.5px}.typing-overlay{left:16px;right:16px;top:14px}.owner-demo-entry{margin:18px 18px 30px;flex-wrap:wrap}}
@media(max-width:350px){.bubble{padding:12px 13px;font-size:13px}.greeting>.avatar,.question>.avatar{margin-top:10px}.question:has(.question-label)>.avatar{margin-top:34px}.typing-overlay{left:13px;right:13px;top:12px}.bubble small{font-size:11px}.icon-preview-row{padding:14px;gap:12px}}
@media(prefers-reduced-motion:reduce){.cards-enter .choice,.question-controls.cards-enter>form{animation:none!important;opacity:1;transform:none}}

button:focus-visible{outline:2px solid var(--green);outline-offset:4px}

.postal-help{margin-top:22px;border-bottom:1px solid var(--line);padding-bottom:16px}.address-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.address-actions .secondary{width:auto;padding:12px 16px}.address-actions .text-btn{padding:12px 0}#postal-candidates:empty{display:none}.address-paste{margin:18px 0;font-size:12px}.address-paste summary{cursor:pointer;color:var(--green);padding:10px 0}.address-paste label{margin-top:12px}.moving-address .helper{white-space:pre-wrap}
.schedule-label{display:block;font-size:12px;line-height:1.8;margin-bottom:6px}.schedule-date-row{position:relative}.schedule-trigger{list-style:none;width:44%;max-width:250px;min-height:40px;padding:9px 10px;border:1px solid #bbcec1;border-radius:7px;display:flex;align-items:center;justify-content:space-between;gap:5px;cursor:pointer;font-size:13px;background:white}.schedule-trigger::-webkit-details-marker{display:none}.schedule-trigger:focus-visible{outline:2px solid var(--green);outline-offset:3px}.schedule-trigger #schedule-value{min-width:0;overflow-wrap:anywhere}.schedule-date-row>.schedule-unknown{position:absolute;top:0;left:calc(44% + 10px)}.schedule-unknown{min-height:40px;padding:8px 4px;border:0;background:transparent;color:var(--green);font-size:12px;text-decoration:underline;text-underline-offset:4px}.schedule-time-row{display:flex;align-items:center;gap:10px}.schedule-time-row select{width:44%;max-width:180px;min-height:40px;padding:8px 10px;font-size:13px}.calendar-panel{width:min(100%,320px);margin-top:10px;border:1px solid #bbcec1;border-radius:12px;padding:12px;background:#fff;box-shadow:0 6px 20px #173d2e0d}.calendar-month{display:grid;grid-template-columns:32px 1fr 64px 32px;gap:4px;align-items:center}.calendar-month select{padding:7px 2px;min-height:36px;font-size:13px}.calendar-month button,.calendar-days button,.calendar-periods button{border:1px solid var(--line);background:white;border-radius:6px;color:var(--green);min-height:34px;font-size:13px}.calendar-month button{font-size:22px}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}.calendar-weekdays{margin:12px 0 5px;font-size:11px;color:var(--muted)}.calendar-days button{padding:3px 0}.calendar-days button:hover,.calendar-periods button:hover{background:#edf5ef}.calendar-days [aria-pressed=true],.calendar-periods [aria-pressed=true]{background:var(--green);color:white}.calendar-caption{font-size:11px;color:var(--muted);margin:12px 0 7px}.calendar-periods{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.calendar-periods button{min-height:40px}.calendar-close{display:block;margin:8px 0 0 auto;border:0;background:white;color:var(--green);padding:6px;font-size:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

#schedule-date-unknown{border:1px solid #bbcec1;border-radius:7px;background:#edf5ef;padding:8px 12px;text-decoration:none;font-weight:600;white-space:nowrap}#schedule-date-unknown:hover{background:#e1eee5;border-color:var(--green)}

.simple-address .postal-help input,.simple-address .form-fields input{width:44%;max-width:250px}

.cargo-row label.cargo-item-visual{display:flex;align-items:center;gap:12px;min-width:0}.cargo-item-visual>span{min-width:0;overflow-wrap:anywhere}.cargo-item-visual .cargo-icon{width:58px;height:58px;flex:0 0 58px;color:#567d70}.cargo-row{padding:14px 0}@media(max-width:850px){.cargo-row label.cargo-item-visual{gap:8px}.cargo-item-visual .cargo-icon{width:46px;height:46px;flex-basis:46px}}@media(max-width:350px){.cargo-row label.cargo-item-visual{gap:6px}.cargo-item-visual .cargo-icon{width:40px;height:40px;flex-basis:40px}}
.cargo-notes-title{display:block;font-size:14px;font-weight:600;line-height:1.8;color:var(--green);text-decoration:underline;text-decoration-color:#92b3a3;text-decoration-thickness:1px;text-underline-offset:4px;margin-bottom:8px}
.choices{gap:8px;margin-top:16px;width:min(44%,280px)}.choice{width:100%;min-height:40px;padding:8px 12px;font-size:13px;line-height:1.6}.primary,.secondary,.address-actions .secondary{width:auto;max-width:100%;min-height:40px;padding:8px 14px;font-size:13px;line-height:1.6}.schedule-unknown{min-height:40px;padding:8px 12px}.question-controls select[name=value]{width:44%;max-width:250px;padding:8px 10px;font-size:16px;min-height:40px}.dev button,.owner-demo-entry button{padding:8px 12px;min-height:36px}@media(max-width:850px){.choices{width:100%;max-width:280px}.question-controls select[name=value]{width:100%;max-width:200px}}
/* Framed conversation: a quiet white surface with one header accent. */
:root{--green:#245f78;--line:#e0e5e9;--muted:#747c85;color:#303740;background:#f2f4f6}
body{background:#f2f4f6}header{height:52px;padding:0 24px;background:transparent;border:0}.brand{font-size:23px;letter-spacing:2px;color:#303740}.brand span{font-size:11px;color:#747c85;border-color:#d5dbe0}.demo-tag{background:white;color:#747c85;border-color:#dfe4e8}
.layout{display:block;max-width:640px;margin:8px auto 0;padding:0 16px}aside{display:none}main{display:flex;flex-direction:column;height:min(820px,calc(100dvh - 82px));min-height:300px;border:1px solid #dce2e7;border-radius:14px;background:white;box-shadow:0 8px 28px #26394c12;overflow:hidden}
.chat-head{flex:none;padding:16px 20px;background:#245f78;color:white;border:0}.chat-head strong{font-size:15px;font-weight:600}.chat-head small{color:#e1edf2;font-size:11px;margin-top:5px}.chat-head .text-btn{color:white;font-size:12px;padding:7px 9px;border:1px solid #ffffff45;border-radius:6px;text-decoration:none}.online-dot{background:#c2e8db}
#thread{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:22px 20px 26px;background:#fff;scrollbar-width:thin;scrollbar-color:#cdd5db transparent}.advanced #current-question{min-height:0}.question{margin-top:22px;scroll-margin-top:18px}.bubble{background:#f7f8fa;border:1px solid #e3e7eb;color:#303740;border-radius:12px;padding:13px 16px;box-shadow:none}.bubble::before,.bubble::after{display:none}.bubble small{color:#737b85}.bubble strong{font-weight:600}.avatar{background:#f3f5f7}.reply p{background:#eaf2f6;color:#304c5b;border:1px solid #dce8ef;border-radius:12px 12px 3px 12px}.question-label{color:#8a919a;font-size:10px;letter-spacing:.5px}.choice{border-color:#dfe4e8;border-radius:8px;box-shadow:none;color:#38414b;background:white}.choice:hover{background:#f6f8fa;border-color:#aebec8;box-shadow:none}.choice::after{color:#8a959e}.choice.selected{border-color:var(--green);background:#f3f7fa;box-shadow:none}input,select,textarea{border-color:#ccd5dc;color:#303740}.qty-controls button{background:#f5f7f9;border-color:#dfe4e8;color:#526673}.cargo-row{border-color:#e5e9ed}.cargo-notes-title{text-decoration-color:#9ab6c5}.bottom-note{flex:none;margin:0;padding:10px 16px;border-top:1px solid #e8ecf0;background:#fafbfc;color:#8a919a;font-size:10px;text-align:center}.notice{background:#f5f7fa}.dev,.owner-demo-entry{max-width:608px;margin:16px auto;padding-left:16px;padding-right:16px}#latest{position:absolute;bottom:44px;left:50%;transform:translateX(-50%);background:white;border:1px solid #d5dfe5;border-radius:20px;padding:8px 13px;color:var(--green);font-size:12px;box-shadow:0 2px 8px #24384c14}
@media(max-width:850px){header{height:46px;padding:0 14px}.layout{max-width:640px;padding:0 8px;margin:0 auto}main{height:calc(100dvh - 58px);min-height:280px;border:1px solid #dce2e7;border-radius:12px;overflow:hidden}.chat-head{padding:13px 15px}#thread{padding:18px 14px 24px}.bubble{padding:12px 14px;border-radius:10px}.typing-overlay{left:14px;right:14px;top:12px}.bottom-note{font-size:9px;padding:9px 8px}.dev,.owner-demo-entry{margin:14px 8px}}
@media(max-width:350px){#thread{padding:16px 10px 22px}.chat-head{padding:12px}.brand{font-size:21px}.chat-head strong{font-size:14px}}
/* Demo preview stays at phone size even in a wide browser panel. */
header{max-width:390px;margin:0 auto;height:46px;padding:0 14px}.brand{font-size:21px;gap:12px}.brand span{padding-left:12px;font-size:10px}.demo-tag{font-size:10px;padding:5px 8px}.layout{width:390px;max-width:100%;padding:0 8px;margin:0 auto}main{height:min(786px,calc(100dvh - 58px));border-radius:12px}.chat-head{padding:13px 15px}.chat-head strong{font-size:14px}#thread{padding:18px 14px 24px}.question,.greeting{grid-template-columns:31px 1fr;gap:10px}.avatar{width:31px;height:31px}.bubble{padding:12px 14px;font-size:14px;border-radius:10px}.typing-overlay{left:14px;right:14px;top:12px}.choices{width:100%;max-width:240px}.choice{min-height:40px;padding:8px 12px;font-size:13px}.reply p{font-size:13px;padding:9px 12px}.reply{margin:10px 0 16px}.question-controls select[name=value]{width:100%;max-width:200px}.cargo-row label.cargo-item-visual{gap:8px}.cargo-item-visual .cargo-icon{width:46px;height:46px;flex-basis:46px}.bottom-note{font-size:9px;padding:9px 8px}.dev,.owner-demo-entry{max-width:390px;margin:14px auto;padding:0 14px}.owner-demo-entry{flex-wrap:wrap}
@media(max-width:350px){#thread{padding:16px 10px 22px}.question,.greeting{grid-template-columns:28px 1fr;gap:8px}.avatar{width:28px;height:28px}.bubble{font-size:13px}.cargo-item-visual .cargo-icon{width:40px;height:40px;flex-basis:40px}}
#start-dialog{width:350px;max-width:calc(100vw - 32px);padding:18px;border:1px solid #dde3e8;border-radius:12px;box-shadow:0 10px 35px #24384c20;color:#303740}#start-dialog .dialog-head{margin:0 0 10px}#start-dialog .dialog-head h2{font-size:16px;line-height:1.5;margin:0}#start-dialog>p{font-size:12px;line-height:1.7;margin:10px 0}#start-dialog .checkbox{font-size:12px;line-height:1.6;gap:8px;margin:12px 0}#start-dialog .primary,#start-dialog .secondary{font-size:12px;min-height:36px;padding:7px 10px;margin-top:6px}#start-dialog .secondary{margin-left:5px}#start-dialog::backdrop{background:#17212b45}@media(max-width:350px){#start-dialog{padding:16px}#start-dialog .primary,#start-dialog .secondary{display:block;width:100%;margin-left:0}}
.mode-choice{justify-content:flex-start;gap:12px;padding:8px 12px;min-height:60px}.mode-picture{width:44px;height:44px;flex:0 0 44px}.mode-choice::after{margin-left:auto}.mode-choice>span{font-weight:600}
/* Keep the speaker tail inside the framed chat. */
.bubble{--tail-y:24px}.bubble::before,.bubble::after{display:block}.bubble::before{top:calc(var(--tail-y) - 6px);left:-6px;border-width:6px 6px 6px 0;border-color:transparent #e3e7eb transparent transparent}.bubble::after{top:calc(var(--tail-y) - 5px);left:-4px;border-width:5px 5px 5px 0;border-color:transparent #f7f8fa transparent transparent}
.simple-address .postal-help{margin-top:14px;padding-bottom:0;border-bottom:0}.simple-address .form-fields{gap:10px;margin-top:10px}.simple-address label{font-size:12px;line-height:1.5;gap:5px}.simple-address .postal-help input,.simple-address .form-fields input{padding:7px 10px;min-height:36px;font-size:16px;margin-top:4px}.simple-address #simple-postal-status:empty,.simple-address #simple-postal-candidates:empty{display:none}.simple-address .primary,.simple-address .secondary{margin-top:12px}
.consultation-limit{font-size:11px;color:var(--muted);font-weight:400;margin-left:8px}
.simple-address .address-undecided{display:block;margin-top:14px;margin-bottom:12px}
/* Shared appearance for undecided and unknown answers. */
#thread button.undecided-button{display:flex;align-items:center;justify-content:center;gap:8px;width:200px;max-width:100%;min-height:40px;height:40px;padding:8px 10px;border:1px solid #c8d3dc;border-radius:8px;background:#edf2f6;color:#4b6275;font-size:12px;font-weight:600;line-height:1.5;text-decoration:none;box-shadow:none;white-space:nowrap}
#thread button.undecided-button::before{content:'?';display:grid;place-items:center;flex:0 0 16px;width:16px;height:16px;border:1px solid #8da0b0;border-radius:50%;font-size:11px;font-weight:600;line-height:1}
#thread button.undecided-button::after{display:none}#thread button.undecided-button:hover{background:#e2eaf1;border-color:#97aabb}#thread button.undecided-button.selected{border-color:#718b9f;background:#dfe8f0}
.schedule-date-row>.schedule-unknown.undecided-button{position:static;margin-top:8px}
#thread{overflow-anchor:none}#current-question,.advanced #current-question{min-height:calc(var(--conversation-height,600px) - 36px)}
.address-submit-row{display:flex;align-items:center;gap:10px;margin-top:18px}.simple-address .address-submit-row .primary{flex:1;min-width:0;margin:0;padding:8px 10px}.address-submit-row .text-btn{flex:none;padding:8px 2px;min-height:40px;font-size:11px;white-space:nowrap}.simple-address .address-undecided{margin-top:14px;margin-bottom:16px}
.chat-identity{display:flex;align-items:center;gap:10px;min-width:0}.chat-brand-cat{width:40px;height:40px;flex:none;object-fit:contain;background:#fff;border-radius:12px;padding:4px}.chat-heading{min-width:0}.chat-system{display:block;font-size:9px;letter-spacing:1px;line-height:1.4;color:#cce1ec;margin-bottom:3px}.chat-heading strong{display:block;font-size:14px;letter-spacing:.3px}.chat-head .chat-heading small{margin:3px 0 0;font-size:10px;line-height:1.4}.chat-head #history{flex:none;font-size:11px;padding:7px}.chat-head{gap:10px}@media(max-width:350px){.chat-identity{gap:7px}.chat-brand-cat{width:34px;height:34px}.chat-heading strong{font-size:13px}.chat-system{font-size:8px;letter-spacing:.5px}}
#thread #schedule-date-unknown.undecided-button::before{display:none}
#thread button.undecided-button::before{display:none}
/* Address actions share the same compact button dimensions. */
.simple-address .address-submit-row{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:18px}.simple-address .address-submit-row .primary,.simple-address .address-submit-row #back{flex:none;width:200px;max-width:100%;height:40px;min-height:40px;margin:0;padding:8px 10px;border-radius:8px;font-size:12px;font-weight:600;line-height:1.5}.simple-address .address-submit-row #back{display:flex;align-items:center;justify-content:center;border:1px solid #c8d3dc;background:#fff;color:#4b6275;text-decoration:none}.simple-address .address-submit-row #back:hover{background:#f5f7f9}
.schedule-trigger{width:200px;max-width:100%;min-height:40px;height:40px;padding:8px 10px;font-size:12px;font-weight:600;line-height:1.5;border-radius:8px}.schedule-date-row>.schedule-unknown.undecided-button{margin-top:8px}
.cargo-box-heading{font-size:11px;line-height:1.6;color:var(--muted);margin:18px 0 0}.cargo-box_small .cargo-icon{transform:scale(.65)}.cargo-box_medium .cargo-icon{transform:scale(.82)}.cargo-box_large .cargo-icon{transform:scale(1)}
.contact-form .form-fields{gap:10px;margin-top:14px}.contact-form label{font-size:12px;line-height:1.5;gap:5px}.contact-form input,.contact-form select{padding:7px 10px;min-height:36px;font-size:16px;margin-top:4px}.contact-form .primary{margin-top:14px}

.calendar-weekdays span:first-child,.calendar-days button.calendar-sunday,.calendar-days button.calendar-holiday{color:#bb4050}.calendar-weekdays span:last-child,.calendar-days button.calendar-saturday{color:#3376b3}.calendar-days button.calendar-holiday{background:#fff2f3;border-color:#efd2d6}.calendar-days button.calendar-sunday:hover,.calendar-days button.calendar-holiday:hover{background:#fbe6e9}.calendar-days button.calendar-saturday:hover{background:#edf4fc}.calendar-periods button{background:#eaf2f7;border-color:#b8cddc;color:#245f78;font-weight:600}.calendar-periods button:hover{background:#dbeaf3}.calendar-days button[aria-pressed=true],.calendar-periods button[aria-pressed=true]{background:#245f78;border-color:#245f78;color:white}

/* Existing next/back actions use one shared size on every screen. */
#thread .question-controls .primary,#thread #back{width:200px;max-width:100%;height:40px;min-height:40px;padding:8px 10px;border-radius:8px;font-size:12px;font-weight:600;line-height:1.5;display:flex;align-items:center;justify-content:center}#thread #back{margin:8px 0 0;border:1px solid #c8d3dc;background:#fff;color:#4b6275;text-decoration:none}#thread #back:hover{background:#f5f7f9}#thread .address-submit-row #back{margin:0}
.contact-form .form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.contact-form .form-fields>label:nth-child(n+3){grid-column:1/-1}.contact-form input,.contact-form select{min-height:36px;padding:6px 8px;margin-top:3px}.contact-form label{font-size:12px;line-height:1.4}.contact-form .primary{margin:14px auto 0}.question-content:has(.contact-form)>#back{margin:8px auto 0}
#thread .question-controls .primary{margin-left:auto;margin-right:auto}#thread #back{margin-left:auto;margin-right:auto}#thread .address-submit-row{align-items:center}#thread .address-submit-row #back{margin-left:auto;margin-right:auto}

/* Approved capsule quantity controls. */
.qty-controls{grid-template-columns:36px 44px 36px;gap:0;width:118px;height:44px;margin-left:auto;border:1px solid #e1e6eb;border-radius:24px;background:#f8fafb;overflow:hidden;transition:background .15s,border-color .15s}.qty-controls button{width:36px;height:42px;border:0;border-radius:0;background:transparent;color:#637483;font-size:21px;padding:0}.cargo-row .qty-controls input{width:44px;height:32px;min-height:0;border:0;border-radius:0;padding:0;background:transparent;color:#6e7d8a;font-size:15px;font-weight:600;outline:0}.qty-controls.selected{background:#eaf2f6;border-color:#b4ccd9}.qty-controls.selected input,.qty-controls.selected button{color:#245f78}.qty-controls button:hover{background:#dce9f0}.qty-controls:focus-within{outline:2px solid #245f78;outline-offset:3px}.qty-controls button:focus-visible{outline:2px solid #245f78;outline-offset:-4px;border-radius:50%}

/* Center address/contact field groups on the navigation axis. */
.moving-address .form-fields,.address-form .form-fields,.contact-form .form-fields{width:240px;max-width:100%;margin-left:auto;margin-right:auto}.moving-address .postal-help{width:240px;max-width:100%;margin-left:auto;margin-right:auto}.simple-address .postal-help,.simple-address .form-fields{width:200px;max-width:100%;margin-left:auto;margin-right:auto}.simple-address .postal-help input,.simple-address .form-fields input{width:100%;max-width:100%}.simple-address .address-undecided{margin-left:auto;margin-right:auto}.contact-form input,.contact-form select,.moving-address input,.address-form input{text-align:left}

.schedule-trigger{margin-left:auto;margin-right:auto}.schedule-date-row>.schedule-unknown.undecided-button{margin:8px auto 0}.calendar-panel{margin-left:auto;margin-right:auto}.back-action{width:100%;margin-top:20px;padding-top:16px;border-top:1px solid #e3e8ed;display:flex;justify-content:center}.simple-address .address-submit-row{gap:0}.simple-address .address-submit-row .back-action{margin-top:20px;padding-top:16px}#thread .back-action #back{margin:0 auto}

.schedule-time-options .choices{width:200px;max-width:100%;margin:12px auto 0;gap:8px}.schedule-time-options .choice{width:200px;max-width:100%;height:40px;min-height:40px;padding:8px 10px;display:flex;align-items:center;justify-content:flex-start;gap:10px;font-size:12px;font-weight:600;line-height:1.5;border-radius:8px}.time-picture{width:24px;height:24px;flex:none}.schedule-time-options .choice::after{margin-left:auto}.schedule-time-options>.schedule-label{width:200px;max-width:100%;margin:18px auto 0;font-size:12px}

/* Center the date caption independently of its calendar icon. */
.schedule-trigger{position:relative;justify-content:center;text-align:center;padding-inline:28px}
.schedule-trigger #schedule-value{width:100%;text-align:center}
.schedule-trigger>span[aria-hidden]{position:absolute;right:12px}
.required-label{color:#ba343f}

#thread label .required-label{display:inline;margin:0;font-size:inherit;font-weight:inherit}

.question-controls .choices{margin-left:auto;margin-right:auto}

/* Center service choices across the conversation, including the avatar column. */
.question-controls:has(>.service-choices){margin-left:-41px}

@media(max-width:350px){.question-controls:has(>.service-choices){margin-left:-36px}}

.schedule-date-row[hidden]{display:none}

.schedule-form .form-fields>div:has(>.schedule-date-row[hidden]){display:none}

/* Keep each cargo label and its quantity control together. */
.cargo-row{grid-template-columns:minmax(0,130px) 118px;column-gap:10px;justify-content:center}
.cargo-row .qty-controls{margin-left:0}

.cargo-box-group{border:1px solid #bfd0da;border-radius:12px;padding:0 12px;overflow:hidden}
.cargo-box-head{background:#eef4f7;margin:0 -12px;padding:14px 16px;border-bottom:1px solid #d5e1e7}
.cargo-box-head h3{margin:0;color:#245f78;font-size:14px;font-weight:700}
.cargo-box-head p{margin:5px 0 0;color:#7b8590;font-size:11px;line-height:1.5}
.cargo-box-group .cargo-row{width:258px;max-width:100%;margin-inline:auto;grid-template-columns:minmax(0,1fr) 118px}
.cargo-box-group .cargo-row:last-child{border-bottom:0}

textarea[name=cargo_notes]{font-size:14px;line-height:1.6;padding:10px 12px}
textarea[name=cargo_notes]::placeholder{font-size:12px;line-height:1.6}

.review-route{position:relative}
.review-route .review-value{display:flex;align-items:flex-start;gap:10px;min-width:0}
.review-route-picture{width:36px;flex:none;text-align:center}
.review-house{display:block;width:36px;height:36px}
.review-route-picture small{display:block;margin-top:3px;font-size:10px;color:#637d8e}
.review-route-origin::after{content:'↓';position:absolute;left:8px;bottom:-10px;width:20px;background:#fff;color:#789baa;text-align:center;font-size:20px;line-height:20px;z-index:1}
.review-route .review-value>div:last-child{min-width:0}

.cargo-box-head{display:flex;align-items:baseline;gap:8px;padding:12px 10px;white-space:nowrap}
.cargo-box-head h3{font-size:13px;flex:none}
.cargo-box-head p{margin:0;font-size:10px;line-height:1.5}
@media(max-width:350px){.cargo-box-head{gap:6px;padding-inline:8px}.cargo-box-head h3{font-size:12px}.cargo-box-head p{font-size:9px}}

.review-cargo{display:block}
.review-cargo-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.review-cargo-items{display:grid;gap:8px}
.review-cargo-item{display:flex;align-items:center;gap:9px;min-width:0;font-size:12px;min-height:32px}
.review-cargo-item .cargo-icon{width:30px;height:30px;flex:none;color:#567d70}
.review-cargo-item>span{flex:1;min-width:0}
.review-cargo-item>strong{font-size:12px;flex:none;font-weight:600}
.review-box-group{border:1px solid #bfd0da;border-radius:9px;overflow:hidden;margin-top:3px;padding:0 10px 8px}
.review-box-group h4{margin:0 -10px 6px;padding:8px 10px;background:#eef4f7;border-bottom:1px solid #d5e1e7;color:#245f78;font-size:12px}
.review-box-group .review-cargo-item{padding:3px 0}
.review-cargo-notes{white-space:pre-wrap;overflow-wrap:anywhere}

.review-contact-lines{margin-top:5px;display:grid;gap:4px;font-size:12px;line-height:1.8}
.review-contact-line{display:flex;align-items:center;gap:7px;min-width:0}
.review-contact-line>span{min-width:0;overflow-wrap:anywhere}
.review-contact-icon{width:24px;height:24px;flex:none}

/* Connect each review item to its count without a wide empty gap. */
.review-cargo-item{width:250px;max-width:100%;margin-inline:auto;gap:8px}
.review-cargo-item>span{flex:0 1 auto}
.review-cargo-item::after{content:'';flex:1;min-width:12px;border-bottom:1px dotted #bdcbd4;order:2;align-self:center}
.review-cargo-item>strong{order:3}
.review-box-group .review-cargo-item{width:230px}

/* Share icon, text, and count columns throughout the review. */
.review-route .review-value{gap:8px}
.review-route-picture{width:30px;margin-left:11px}
.review-house{width:30px;height:30px}
.review-route-origin::after{left:16px}
.review-cargo-item{width:250px;max-width:calc(100% - 22px);margin-left:11px;margin-right:0}
.review-box-group .review-cargo-item{width:250px;max-width:100%;margin-left:0;margin-right:0}

/* Align the review confirmation with its submit button. */
.question-controls form:has(input[name=confirm])>.checkbox{width:200px;max-width:100%;margin-left:auto;margin-right:auto}

.question-controls form:has(input[name=confirm]) input[name=confirm]{margin:0}

.review-schedule-lines{display:grid;gap:5px;margin-top:7px;font-size:12px;line-height:1.8}
.review-schedule-lines>div{display:flex;align-items:center;gap:8px;margin-left:11px}
.review-schedule-lines svg{width:30px;height:30px;flex:none}

/* Compact the review box vertically while preserving shared columns. */
.review-box-group{padding-bottom:5px}
.review-box-group h4{padding-top:6px;padding-bottom:6px;margin-bottom:3px}
.review-box-group .review-cargo-item{padding-top:1px;padding-bottom:1px;min-height:32px}

.contact-method-options{grid-column:1/-1;min-width:0;padding:0;border:0;margin:0}
.contact-method-options legend{padding:0;margin-bottom:6px;font-size:12px;line-height:1.4}
.contact-method-options>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.contact-method-options label{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:8px 4px;border:1px solid #d9e1e7;border-radius:9px;cursor:pointer;background:#fff;font-size:12px;min-height:65px}
.contact-method-options input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;padding:0;margin:0;pointer-events:none}
.contact-method-options svg{width:26px;height:26px;flex:none}
.contact-method-options label:has(input:checked){border-color:#245f78;background:#edf4f8;color:#245f78;box-shadow:inset 0 0 0 1px #245f78}
.contact-method-options label:has(input:focus-visible){outline:2px solid #245f78;outline-offset:3px}

.review-cargo-items:has(>.review-cargo-category){gap:12px}
.review-cargo-category .review-cargo-item{min-height:38px}


/* Readable reception layout: controls span both speaker columns. */
.cargo-total{padding:14px;margin-bottom:14px;border:1px solid #b7ccd6;border-radius:10px;background:#eef5f8;color:#303740;overflow-wrap:anywhere}
.cargo-total>strong{display:block;font-size:18px;line-height:1.6}
.cargo-total>p{font-size:16px;line-height:1.7;margin:6px 0}
.cargo-total>small{display:block;font-size:14px;line-height:1.6;color:#505b65}
header{max-width:640px}
.layout{width:640px;max-width:100%}
.chat-brand-cat{width:44px;height:44px}
.avatar{width:58px;height:58px;padding:2px}
.question,.greeting{grid-template-columns:58px minmax(0,1fr);gap:12px}
#thread .greeting>.avatar{margin-top:0}
.greeting-action{display:flex;justify-content:center;margin:24px 0 16px}
#reception-greeting:focus-visible{outline:2px solid #637f97;outline-offset:4px;border-radius:12px}
#thread .bubble{--tail-y:29px}
.question-content{display:contents}
#thread .question>.avatar{grid-column:1;grid-row:2;margin:0;align-self:start}
#thread .question:not(:has(.question-label))>.avatar{grid-row:1}
.question-content>.question-label{grid-row:1}
.question-content>.bubble{grid-row:2;min-height:58px;align-content:center}
.question:not(:has(.question-label))>.question-content>.bubble{grid-row:1}
.question-content>.question-label,.question-content>.bubble,.question-content>.typing-skip{grid-column:2}
.question-content>:not(.question-label):not(.bubble):not(.typing-skip){grid-column:1/-1;min-width:0}
.question-label{font-size:13px;line-height:1.6;margin-bottom:0;color:#56616b}
.bubble{font-size:17px;line-height:1.75;padding:12px 14px}
.bubble small{font-size:16px;line-height:1.65;color:#505b65}
.typing-overlay{left:14px;right:14px;top:12px}
.typing-skip{font-size:14px;min-height:44px;text-align:left}
.question-controls,.question-controls:has(>.service-choices){width:100%;margin-left:0;margin-right:0;min-width:0}
.question-controls form{width:100%;max-width:520px;margin-inline:auto}
.moving-address .form-fields,.address-form .form-fields,.contact-form .form-fields,
.moving-address .postal-help,.simple-address .postal-help,.simple-address .form-fields{width:100%;max-width:100%;margin-inline:auto}
.form-fields{gap:16px;grid-template-columns:minmax(0,1fr);min-width:0}
.form-fields>div,.schedule-picker,.calendar-month label{min-width:0}
label,.simple-address label,.contact-form label,.schedule-label,.schedule-time-options>.schedule-label{font-size:16px;line-height:1.6}
.helper,.notice,.address-paste,.cargo-box-heading,.consultation-limit{font-size:15px;line-height:1.7;color:#505b65}
.error{font-size:15px}
input,select,textarea,.simple-address .postal-help input,.simple-address .form-fields input,
.contact-form input,.contact-form select,.moving-address input,.address-form input,
.question-controls select[name=value]{width:100%;max-width:100%;min-height:48px;font-size:17px;padding:11px 12px;line-height:1.5}
input[type=checkbox]{width:22px;height:22px;min-height:22px;padding:0;margin-top:2px}
.checkbox{font-size:16px;min-height:44px;align-items:flex-start}
.contact-form .form-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.contact-method-options legend,.contact-method-options label{font-size:16px;line-height:1.6}
.contact-method-options input{width:1px;height:1px;min-height:0;padding:0}
.contact-method-options label{min-height:82px;padding:10px 6px}
.choices,.schedule-time-options .choices{width:100%;max-width:100%;gap:12px}
.choice,.schedule-time-options .choice{width:100%;max-width:100%;height:auto;min-height:52px;font-size:16px;padding:12px 14px}
.mode-choice{min-height:64px}
.primary,.secondary,#thread .question-controls .primary,#thread #back,
.simple-address .address-submit-row .primary,.simple-address .address-submit-row #back,
#thread button.undecided-button{width:320px;max-width:100%;height:auto;min-height:48px;font-size:16px;padding:12px 14px;white-space:normal}
.address-submit-row,.simple-address .address-submit-row{width:100%;align-items:center}
.schedule-trigger{width:100%;max-width:100%;height:auto;min-height:48px;font-size:17px;padding:12px 32px}
.schedule-time-options>.schedule-label{width:100%;max-width:100%}
.calendar-panel{width:100%;max-width:380px;padding:10px}
.calendar-month{grid-template-columns:44px minmax(0,1fr) 68px 44px}
.calendar-month select,.calendar-month button{min-height:44px;font-size:16px}
.calendar-days button,.calendar-periods button,.calendar-close{min-height:44px;font-size:16px}
.calendar-weekdays,.calendar-caption{font-size:14px}
.calendar-days{gap:2px}
.cargo-row,.cargo-box-group .cargo-row{width:100%;max-width:100%;grid-template-columns:minmax(0,1fr) 134px;gap:12px;justify-content:normal}
.cargo-row label,.cargo-box-head h3{font-size:16px}
.cargo-row small,.cargo-box-head p{font-size:14px;line-height:1.6}
.cargo-row label.cargo-item-visual{gap:8px}
.cargo-item-visual .cargo-icon{width:40px;height:40px;flex-basis:40px}
.qty-controls{width:134px;height:48px;grid-template-columns:44px 44px 44px}
.qty-controls button{width:44px;height:46px;min-height:44px}
.cargo-row .qty-controls input{width:44px;height:44px;min-height:44px;font-size:17px;padding:0}
.qty-unknown{min-height:44px;font-size:14px}
.cargo-box-head{display:block;white-space:normal}
.cargo-box-head p{margin-top:4px}
textarea[name=cargo_notes]{font-size:17px;line-height:1.6;min-height:112px}
textarea[name=cargo_notes]::placeholder{font-size:16px}
.reply p,.reply-question{font-size:16px;line-height:1.7}
.reply button,.review-row button{min-width:52px;min-height:44px;font-size:14px;padding:10px 8px}
.review-row{gap:10px}
.review-row strong,.review-row p,.review-cargo-item,.review-cargo-item>strong,
.review-contact-lines,.review-schedule-lines,.review-box-group h4{font-size:16px;line-height:1.7}
.review-value{min-width:0}
.review-route-picture{margin-left:0}
.review-route-origin::after{left:5px}
.review-cargo-item,.review-box-group .review-cargo-item{width:100%;max-width:100%;margin-inline:0;min-height:44px;gap:8px}
.review-cargo-item::after{min-width:4px}
.review-schedule-lines>div{margin-left:0}
.review-contact-line{align-items:flex-start}
.question-controls form:has(input[name=confirm])>.checkbox{width:100%;max-width:100%;margin-inline:0}
.bottom-note{font-size:13px;color:#505b65;line-height:1.6}
#latest{position:static;bottom:auto;left:auto;transform:none;align-self:center;flex:none;margin:8px 12px;min-height:44px;font-size:15px;padding:10px 16px;z-index:auto}
.chat-heading strong{font-size:16px}
.chat-head .chat-heading small{font-size:13px}
.chat-head #history{font-size:13px;min-height:44px}
#start-dialog{width:440px}
#start-dialog .dialog-head h2{font-size:18px}
#start-dialog>p,#start-dialog .checkbox{font-size:16px}
#start-dialog .primary,#start-dialog .secondary{min-height:48px;font-size:16px;padding:12px}
@media(max-width:600px){
 .contact-form .form-fields{grid-template-columns:minmax(0,1fr)}
 .contact-form .form-fields>label{grid-column:1/-1}
 #thread{padding:18px 14px 24px}
 .chat-head{padding:12px}
 .chat-identity{gap:8px}
 .chat-brand-cat{width:44px;height:44px}
 .question,.greeting{grid-template-columns:58px minmax(0,1fr);gap:10px}
 .avatar{width:58px;height:58px}
 .calendar-month{grid-template-columns:44px minmax(0,1fr) 60px 44px}
 .calendar-days button{font-size:15px}
 .review-cargo-item{flex-wrap:wrap}
}

/* Compact spacing while preserving readable controls and 44px touch targets. */
.household-choices{grid-template-columns:repeat(2,minmax(0,1fr));max-width:520px;margin-inline:auto}
.household-choice{flex-direction:column;justify-content:center;gap:4px;min-height:108px;text-align:center}
.household-choice::after{display:none}
.household-picture{display:block;width:104px;max-width:100%;height:56px;flex:none}
.household-unknown{display:block;margin-inline:auto}
.household-unknown.selected{border-color:var(--green);background:#edf5ef}
.household-picture:has(.household-people-image){display:flex;align-items:center;justify-content:center}
.household-people-image{display:block;position:relative;overflow:hidden;height:44px;flex:none}
.household-people-image img{position:absolute;width:351.6px;max-width:none;height:175.8px;top:-26.2px;pointer-events:none}
.people-1{width:26px}.people-1 img{left:-41.6px}
.people-2{width:50px}.people-2 img{left:-96.9px}
.people-3{width:72px}.people-3 img{left:-166.5px}
.people-4_plus{width:92px}.people-4_plus img{left:-251.1px}
.chat-head{padding-top:10px;padding-bottom:10px}
#thread{padding-top:12px;padding-bottom:16px}
.question,.greeting{row-gap:8px;margin-top:16px;margin-bottom:16px;align-content:start}
.bubble{padding:10px 12px;line-height:1.65}
.bubble small{margin-top:4px;line-height:1.6}
.typing-overlay{left:12px;right:12px;top:10px}
.form-fields,.contact-form .form-fields{gap:10px;margin-top:10px}
.choices,.schedule-time-options .choices{gap:8px;margin-top:10px}
.choice,.schedule-time-options .choice{padding-top:9px;padding-bottom:9px;min-height:48px}
.question-controls .primary,.question-controls .secondary{margin-top:10px}
.question-content>.error:empty,#postal-status:empty,#postal-candidates:empty{display:none}
.moving-address .postal-help{margin-top:8px;padding-bottom:10px}
.moving-address .address-actions{gap:6px;margin-top:6px}
.moving-address .address-actions button{min-height:44px}
.helper{margin-top:8px;margin-bottom:8px}
.address-paste{margin-top:8px;margin-bottom:8px}
.address-paste summary{min-height:44px;display:flex;align-items:center}
.back-action{margin-top:10px;padding-top:6px}
.reply{margin-top:8px;margin-bottom:12px}
.reply-question{margin-top:8px;margin-bottom:4px}
.review-row{padding-top:8px;padding-bottom:8px}
.cargo-row,.cargo-box-group .cargo-row{padding-top:8px;padding-bottom:8px}
.cargo-total{padding:10px;margin-bottom:10px}
.notice{padding:12px;margin-top:10px;margin-bottom:10px}
.bottom-note{padding-top:6px;padding-bottom:6px}
@media(max-width:600px){
 .chat-head{padding-top:10px;padding-bottom:10px}
 #thread{padding-top:12px;padding-bottom:16px}
 .question,.greeting{row-gap:8px}
}

/* Header themes are intentionally limited to the customer chat header. */
main .chat-head,#theme-preview{background:var(--theme-bg,#245F78);color:var(--theme-fg,#FFFFFF)}
main .chat-head .chat-heading small,main .chat-head #history{color:var(--theme-fg,#FFFFFF)}
main .chat-head #history{border-color:currentColor}
.theme-entry{max-width:1170px;margin:24px auto;padding:20px 28px;border-top:1px solid #dce7e0;display:flex;flex-wrap:wrap;align-items:center;gap:12px}.theme-entry button{background:#fff;border:1px solid #245f78;border-radius:8px;padding:12px 16px;color:#245f78;font-weight:600}.theme-entry small{color:#6d7d74}
#theme-settings{width:min(1040px,calc(100% - 24px));max-height:calc(100dvh - 32px);padding:28px;border:0;border-radius:18px;color:#233c33;background:#f7f9fa;overflow:auto}#theme-settings::backdrop{background:#102c3c80}#theme-settings .dialog-head{margin:0 0 8px}#theme-title{font-size:23px;margin:0}#theme-account{font-size:12px;color:#697b83;margin:10px 0 24px}.theme-body{display:grid;grid-template-columns:1fr 1fr;gap:32px}.theme-body h3{font-size:15px;margin:0 0 8px}.theme-description{font-size:13px;line-height:1.8;color:#596d77;margin:0 0 16px}.theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.theme-option{position:relative;display:flex;align-items:center;gap:8px;min-height:59px;padding:10px;background:white;border:1px solid #d8e0e4;border-radius:9px;font-size:12px;cursor:pointer}.theme-option:has(input:checked){border:2px solid #245f78;padding:9px;background:#eef6fa}.theme-option:has(input:focus-visible){outline:3px solid #d69d34;outline-offset:2px}.theme-option input{position:absolute;opacity:0;width:1px;height:1px}.theme-swatch{width:25px;height:25px;border-radius:7px;box-shadow:inset 0 0 0 1px #0002;flex:none}.theme-tick{margin-left:auto;color:#245f78;font-weight:800}.theme-preview-card{background:white;border:1px solid #dce5ea;border-radius:13px;overflow:hidden;box-shadow:0 10px 25px #244f7810}#theme-preview{display:flex;gap:12px;padding:17px;align-items:center}#theme-preview img{width:48px;height:48px;object-fit:contain;background:white;border-radius:11px;padding:4px}#theme-preview strong{display:block;font-size:16px}#theme-preview small{display:block;font-size:12px;margin-top:4px}#theme-preview .preview-answers{margin-left:auto;font-size:12px;border:1px solid currentColor;border-radius:7px;padding:8px;flex:none}.theme-preview-content{padding:26px 18px;min-height:205px}.theme-preview-content p{font-size:14px;line-height:1.8;margin:0 0 24px;background:#f6f8fb;padding:16px;border-radius:12px}.theme-preview-content span{display:inline-block;padding:12px;border:1px solid #d8e3dc;border-radius:8px;font-size:13px;color:#164f3c}.theme-preview-label{font-size:12px;color:#697b83;margin:14px 0}.theme-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:23px;padding-top:18px;border-top:1px solid #dce5ea}.theme-actions button{width:auto;margin:0;border-radius:8px;padding:11px 17px}#theme-save{background:#245f78;color:white;border:0;font-weight:700}#theme-reset,#theme-cancel{background:white;border:1px solid #d2dde3;color:#233c33}#theme-status{min-height:22px;font-size:13px;color:#245f78;margin:16px 0 0}.theme-local-note{font-size:11px;color:#687d87;line-height:1.8;margin:14px 0 0}
@media(max-width:700px){#theme-settings{padding:18px;max-height:calc(100dvh - 20px)}#theme-title{font-size:19px}.theme-body{grid-template-columns:1fr;gap:24px}.theme-option{font-size:11px;gap:6px}.theme-swatch{width:21px;height:24px}.theme-actions{position:sticky;bottom:-18px;background:#f7f9fa;padding-bottom:14px;z-index:1}#theme-preview{padding:12px;gap:8px}#theme-preview strong{font-size:14px}#theme-preview img{width:40px;height:40px}#theme-preview .preview-answers{font-size:10px;padding:6px}.theme-entry{padding:18px}}

#theme-business-row{display:block;font-size:12px;margin:0 0 22px}#theme-business-row select{margin:6px 0 0;width:100%;padding:10px;border:1px solid #d8e0e4;border-radius:8px;background:white}#theme-business-row[hidden]{display:none}

/* Equal action sizes and unbroken labels on narrow screens. */
#theme-settings .theme-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}
#theme-settings .theme-actions button{width:100%;height:48px;min-height:48px;margin:0;padding:10px 12px;white-space:nowrap;font-size:14px;line-height:1.4;display:flex;align-items:center;justify-content:center}
#theme-settings .theme-option>span:not(.theme-swatch):not(.theme-tick){white-space:nowrap}
@media(max-width:700px){#theme-settings .theme-actions{position:static;padding-bottom:0}}
@media(max-width:480px){#theme-settings .theme-actions{grid-template-columns:1fr;gap:8px}#theme-settings .theme-grid{grid-template-columns:1fr}#theme-settings .theme-option{font-size:13px;min-height:48px}#theme-settings .theme-description{font-size:12px}#theme-title{font-size:17px}#theme-settings .theme-option>span:not(.theme-swatch):not(.theme-tick){flex:1;min-width:0}#theme-preview .preview-answers{font-size:9px;padding:5px}#theme-preview strong{font-size:12px}}
.theme-entry button[hidden]{display:none}

/* Compact palette: labels remain available to assistive technology. */
#theme-settings .theme-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
#theme-settings .theme-option{min-height:48px;height:48px;padding:5px;justify-content:center;border-radius:8px}
#theme-settings .theme-option:has(input:checked){padding:4px}
#theme-settings .theme-color-name{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#theme-settings .theme-swatch{width:100%;height:100%;border-radius:5px}
#theme-settings .theme-tick{position:absolute;right:5px;top:4px;background:#fff;border-radius:50%;width:18px;height:18px;display:grid;place-items:center;font-size:12px;margin:0;box-shadow:0 1px 3px #0002}
#theme-settings .theme-tick:empty{display:none}
#theme-settings .theme-preview-label{display:none}
@media(max-width:700px){#theme-settings{padding:16px}#theme-settings .theme-body{gap:16px}#theme-settings .theme-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}#theme-settings .theme-option{height:44px;min-height:44px}#theme-account{margin:7px 0 16px;font-size:11px}#theme-settings .theme-description{margin-bottom:12px;line-height:1.6}#theme-settings .theme-preview-content{min-height:0;padding:12px}#theme-settings .theme-preview-content p{padding:12px;margin:0 0 12px;font-size:12px}#theme-settings .theme-preview-content span{padding:8px;font-size:11px}#theme-settings .theme-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:16px;padding-top:14px}#theme-settings .theme-actions button{height:44px;min-height:44px;font-size:12px;padding:8px 3px}#theme-status{margin:10px 0 0;font-size:12px;min-height:18px}#theme-settings .theme-local-note{font-size:10px;margin-top:8px}}
.building-choice{justify-content:flex-start;gap:12px;min-height:64px;padding:8px 12px}
.building-choice::after{margin-left:auto}
.building-label{min-width:0;text-align:left;font-weight:600}
.building-picture{display:block;position:relative;overflow:hidden;width:50px;height:44px;flex:0 0 50px}
.building-picture img{position:absolute;width:204.8px;max-width:none;height:auto;top:-12.4px;pointer-events:none}
.building-apartment img{left:-.6px}.building-house img{left:-51.8px}.building-office img{left:-103px}.building-other img{left:-154.2px}

#developer-screen[hidden]{display:none}
body[data-developer]>*:not(#developer-screen):not(#theme-settings){display:none!important}
#developer-screen{max-width:1100px;margin:0 auto;padding:24px 28px 32px;color:#233c33;background:#f6f8fa;min-height:100dvh}
body[data-developer]{background:#f6f8fa}
.developer-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dbe4e9;padding-bottom:20px;gap:16px}.developer-top a{font-size:25px;font-weight:800;letter-spacing:2px;text-decoration:none;color:#245f78}.developer-top a span{font-size:13px;letter-spacing:0;font-weight:500;margin-left:15px}.developer-top>span{font-size:11px;padding:5px 10px;border:1px solid #dbe4e9;border-radius:18px;color:#657985}
.developer-variants{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.developer-variants a{font-size:12px;padding:8px 12px;border:1px solid #d6e1e8;border-radius:7px;color:#597280;text-decoration:none;background:white}.developer-variants a[aria-current]{background:#245f78;color:white;border-color:#245f78}
.developer-heading{margin:24px 0}.developer-heading p{font-size:10px;letter-spacing:2px;color:#768c98;margin:0 0 7px}.developer-heading h1{font-size:26px;line-height:1.4;letter-spacing:0;margin:0 0 8px}.developer-heading>span{font-size:12px;color:#637984;line-height:1.7}
.developer-dashboard{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.developer-dashboard>div{background:white;border:1px solid #dce5ea;border-radius:11px;padding:16px}.developer-dashboard small{display:block;font-size:11px;color:#738a95;margin-bottom:8px}.developer-dashboard strong{font-size:14px}
.developer-tabs{display:none;gap:25px;border-bottom:1px solid #dce5ea;padding:0 15px;margin-bottom:20px;font-size:13px}.developer-tabs>*{padding:12px 0;color:#788d97}.developer-tabs strong{color:#245f78;border-bottom:3px solid #245f78}
.developer-sidebar{display:none}.developer-content{display:block}.developer-setting-list{display:none;background:white;border:1px solid #dce5ea;border-radius:12px;overflow:hidden}.developer-setting-list>div{padding:24px;display:flex;gap:16px;align-items:center;border-bottom:1px solid #e5ecef}.developer-setting-list>div:last-child{border:0}.developer-setting-list>div>span:first-child{flex:1}.developer-setting-list strong{display:block;font-size:15px}.developer-setting-list small{display:block;font-size:12px;margin-top:8px;color:#738a95}.developer-setting-list button{background:#245f78;color:white;padding:10px 15px;border:0;border-radius:7px;white-space:nowrap}.developer-color-row{background:#f1f7fa}#developer-color-dot{width:28px;height:28px;border-radius:6px;border:1px solid #0002;flex:none}
.developer-footer{font-size:11px;color:#718692;margin:18px 0 0}
body[data-developer]:not([data-layout="4"]) #theme-settings{position:static;width:100%;max-width:none;max-height:none;margin:0;padding:24px;background:white;border:1px solid #dce5ea;border-radius:12px;overflow:visible}
body[data-developer]:not([data-layout="4"]) #theme-close,body[data-developer]:not([data-layout="4"]) #theme-cancel{display:none}
body[data-developer]:not([data-layout="4"]) .theme-actions{grid-template-columns:repeat(2,minmax(0,170px))!important}
body[data-developer]:not([data-layout="4"]) #theme-settings .theme-local-note{display:none}
body[data-layout="2"] .developer-dashboard,body[data-layout="3"] .developer-dashboard,body[data-layout="4"] .developer-dashboard{display:none}
body[data-layout="2"] .developer-tabs{display:flex}
body[data-layout="3"] .developer-content{display:grid;grid-template-columns:170px minmax(0,1fr);gap:22px}
body[data-layout="3"] .developer-sidebar{display:flex;flex-direction:column;gap:8px;font-size:12px;padding:12px 0}.developer-sidebar>*{padding:12px;color:#788d97}.developer-sidebar strong{color:#245f78;background:#e6f0f6;border-radius:8px}
body[data-layout="4"] .developer-setting-list{display:block}
@media(max-width:700px){#developer-screen{padding:16px 14px}.developer-top a{font-size:21px}.developer-top a span{font-size:11px;margin-left:7px}.developer-top>span{font-size:9px;padding:4px 6px}.developer-variants{display:grid;grid-template-columns:1fr 1fr;gap:7px}.developer-variants a{font-size:11px;padding:9px 7px;text-align:center}.developer-heading{margin:20px 0}.developer-heading h1{font-size:22px}.developer-dashboard{gap:7px}.developer-dashboard>div{padding:10px 8px}.developer-dashboard strong{font-size:11px}.developer-dashboard small{font-size:10px}.developer-tabs{gap:20px;font-size:12px}body[data-layout="3"] .developer-content{grid-template-columns:1fr;gap:12px}body[data-layout="3"] .developer-sidebar{flex-direction:row;gap:3px;overflow:auto;padding:0}.developer-sidebar>*{padding:10px;font-size:10px;white-space:nowrap}body[data-developer]:not([data-layout="4"]) #theme-settings{padding:16px 13px}body[data-developer]:not([data-layout="4"]) #theme-settings .theme-body{grid-template-columns:1fr}.developer-setting-list>div{padding:18px 14px;gap:10px}.developer-setting-list strong{font-size:13px}.developer-setting-list small{font-size:11px}.developer-setting-list button{font-size:11px;padding:9px}}

/* Equal date actions only in the detailed moving flow. */
#thread .detailed-moving-schedule .schedule-trigger,#thread .detailed-moving-schedule #schedule-date-unknown{width:100%;max-width:100%;height:48px;min-height:48px;padding:8px 32px;font-size:17px;line-height:1.5;font-weight:600;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-left:0;margin-right:0}
#thread .detailed-moving-schedule .schedule-date-row>#schedule-date-unknown{position:static;margin-top:8px;margin-bottom:0}

/* Detailed moving only: align ordinary controls and optional-answer actions. */
#thread.detailed-moving-controls .question-controls .choices{width:100%;max-width:100%;gap:8px}
#thread.detailed-moving-controls .question-controls .choice:not(.household-choice):not(.building-choice):not(.mode-choice){min-height:48px;height:auto;padding:11px 14px;font-size:16px;line-height:24px}
#thread.detailed-moving-controls .question-controls button.undecided-button,
#thread.detailed-moving-controls .question-controls>.secondary,
#thread.detailed-moving-controls .question-controls form>.secondary{width:100%;max-width:100%;min-height:48px;height:auto;padding:11px 14px;margin-left:0;margin-right:0;font-size:16px;line-height:24px}
#thread.detailed-moving-controls .question-controls>.undecided-button,
#thread.detailed-moving-controls .question-controls form>.undecided-button{margin-top:8px}
#thread.detailed-moving-controls .question-controls .choices>.undecided-button{margin:0}
#thread.detailed-moving-controls .question-controls form>.address-undecided{margin:0 0 8px}
#thread.detailed-moving-controls .question-controls select[name=value],
#thread.detailed-moving-controls .question-controls .form-fields label>input:not([type=radio]):not([type=checkbox]):not([type=hidden]),
#thread.detailed-moving-controls .moving-address .postal-help input{width:100%;max-width:100%;height:48px;min-height:48px;padding:10px 12px;font-size:17px;line-height:26px}
#thread.detailed-moving-controls .question-controls textarea{width:100%;max-width:100%}

#thread.detailed-moving-controls .question-controls{width:100%;max-width:520px;margin-inline:auto}

#thread.detailed-moving-controls .question-controls form>.primary{display:block;width:100%;max-width:100%;min-height:48px;padding:11px 14px;margin:8px 0 0;font-size:16px;line-height:24px}
#thread.detailed-moving-controls .question-controls form>.secondary{margin-top:8px;margin-bottom:0}
#thread.detailed-moving-controls .question-controls textarea[name=value]{min-height:128px;height:auto;resize:vertical}
/* Direct management URLs stay on the settings page instead of the reception shell. */
body[data-management]{background:#f6f8fa}
body[data-management]>*:not(header):not(#theme-settings){display:none!important}
body[data-management] #theme-settings{position:static;display:block;width:min(1040px,calc(100% - 24px));max-height:none;margin:24px auto;padding:24px;overflow:visible;border:1px solid #dce5ea}
body[data-management] #theme-close,body[data-management] #theme-cancel{display:none}
body[data-management] #theme-settings .theme-actions{grid-template-columns:repeat(2,minmax(0,170px))}
@media(max-width:700px){body[data-management] #theme-settings{margin:12px auto;padding:16px}body[data-management] #theme-settings .theme-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}

#thread .detailed-moving-schedule .schedule-selection{margin:0 0 8px;padding:8px 12px;background:#f3f6f8;border:1px solid #dce5ea;border-radius:8px;overflow-wrap:anywhere}
#thread .detailed-moving-schedule .schedule-selection small{display:block;margin-bottom:2px;color:#657985;font-size:12px;line-height:1.5}
#thread .detailed-moving-schedule .schedule-selection strong{display:block;color:#304c5b;font-size:16px;line-height:1.5;font-weight:600;white-space:pre-wrap}
#thread .detailed-moving-schedule .schedule-selection+.schedule-label{margin-top:8px}

/* Owner settings open from, and return to, the owner's dashboard. */
body[data-management="owner"] #owner-management:not([hidden]){display:block!important}
body[data-management="owner"][data-owner-panel="home"] #theme-settings{display:none}
body[data-management="owner"] #theme-close,body[data-management="owner"] #theme-cancel{display:inline-flex}
body[data-management="owner"] #theme-settings .theme-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
#owner-management{max-width:900px;margin:24px auto;padding:0 24px;color:#233c33}
#owner-management h1{font-size:26px;margin:6px 0 12px;line-height:1.4}
.owner-eyebrow{font-size:12px;color:#657985;letter-spacing:1px;margin:0}
.owner-intro,.owner-card p{font-size:14px;color:#596d77;line-height:1.8}
.owner-card{padding:24px;margin:20px 0;background:#fff;border:1px solid #dce5ea;border-radius:12px}
.owner-card h2{font-size:18px;margin:0 0 8px}
.owner-current{display:flex;align-items:center;gap:10px;font-size:13px;margin:18px 0}
#owner-color-swatch{width:28px;height:28px;border-radius:6px;border:1px solid #0002}
#owner-open-color,.owner-preview-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;width:auto;padding:10px 16px;font-size:14px;white-space:nowrap;border-radius:8px;text-decoration:none}
#owner-open-color{background:#245f78;color:white;border:0}
.owner-preview-link{background:#fff;border:1px solid #c9d8e0;color:#245f78}
.owner-footnote{font-size:12px;color:#657985}
@media(max-width:700px){#owner-management{margin:18px auto;padding:0 14px}.owner-card{padding:18px}#owner-management h1{font-size:22px}body[data-management="owner"] #theme-settings .theme-actions{grid-template-columns:1fr 1fr}body[data-management="owner"] #theme-cancel{grid-column:1 / -1}}
/* Detailed moving: avatar and bubble share the same grid-row origin.
   Align the bubble tail with the center of the enlarged conversation avatar. */
#thread.detailed-moving-controls .question>.avatar,
#thread.detailed-moving-controls .greeting>.avatar{align-self:start;margin:0;width:58px;height:58px;aspect-ratio:1;object-fit:contain}
#thread.detailed-moving-controls .bubble{--tail-y:29px}

#thread.detailed-moving-controls .sofa-breakdown-row{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:12px;align-items:center}
#thread.detailed-moving-controls .sofa-breakdown-row input{margin:0;text-align:center}

/* Detailed moving: reuse the cargo refrigerator artwork at three illustrative sizes. */
#thread.detailed-moving-controls .fridge-capacity-choice{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:6px 14px;min-height:56px}
#thread.detailed-moving-controls .fridge-capacity-picture{display:flex;align-items:flex-end;justify-content:center;flex:0 0 44px;width:44px;height:42px}
#thread.detailed-moving-controls .fridge-capacity-picture .cargo-icon{display:block;margin:0;flex:none;width:40px;height:40px}
#thread.detailed-moving-controls .fridge-capacity-under200 .cargo-icon{width:28px;height:28px}
#thread.detailed-moving-controls .fridge-capacity-201to400 .cargo-icon{width:34px;height:34px}
#thread.detailed-moving-controls .fridge-capacity-choice[data-answer="unknown"]{min-height:48px}

body[data-reception-settings]>*:not(header):not(#reception-settings){display:none!important}
#reception-settings{max-width:760px;margin:24px auto;padding:0 20px;overflow-wrap:anywhere}
#reception-settings h1{font-size:26px;line-height:1.4}
#reception-settings h2{font-size:19px}
#reception-settings select{width:100%;min-height:48px}
#reception-settings .checkbox{display:flex;align-items:center;gap:10px;min-height:48px}
#reception-settings input[type=checkbox]{flex:0 0 22px;width:22px;height:22px}
#reception-settings .owner-preview-link{white-space:normal}
#reception-settings .primary{min-height:48px}
#reception-settings .helper{line-height:1.8}
@media(max-width:400px){#reception-settings{padding:0 14px}#reception-settings .owner-card{padding:14px}}

#thread.detailed-moving-controls .tv-size-choice{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:6px 14px;min-height:56px}
#thread.detailed-moving-controls .tv-size-picture{display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:40px}
#thread.detailed-moving-controls .tv-size-picture .cargo-icon{display:block;margin:0;flex:none;width:44px;height:40px}
#thread.detailed-moving-controls .tv-size-up32 .cargo-icon{width:28px;height:25px}
#thread.detailed-moving-controls .tv-size-33to43 .cargo-icon{width:33px;height:30px}
#thread.detailed-moving-controls .tv-size-44to55 .cargo-icon{width:38px;height:35px}
#thread.detailed-moving-controls .tv-size-choice[data-answer="unknown"]{min-height:48px}
#thread.detailed-moving-controls .tv-breakdown-row{display:grid;grid-template-columns:44px minmax(0,1fr) 72px;gap:8px;align-items:center}
#thread.detailed-moving-controls .tv-breakdown-row input{margin:0;text-align:center;grid-column:3}
#thread.detailed-moving-controls .tv-breakdown-row>span:not(.tv-size-picture){grid-column:2}

/* Explicit sample URLs only; the live simple/detailed review keeps its existing layout. */
#review-preview-nav{max-width:1060px;margin:16px auto;padding:0 20px;color:#254d40}
#review-preview-nav small{display:block;margin:6px 0;font-size:12px;color:#64756d}
#review-preview-nav nav{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
#review-preview-nav a{padding:10px 14px;border:1px solid #cbdcd4;border-radius:8px;color:#315947;background:white;text-decoration:none;font-size:14px}
#review-preview-nav a[aria-current]{background:#285c48;color:white;border-color:#285c48}
body:is([data-review-preview],[data-review-final]) .layout{max-width:1060px;width:calc(100% - 28px);display:block;margin:16px auto}
body:is([data-review-preview],[data-review-final]) main{width:100%;max-width:none;height:auto;min-height:0;overflow:visible}
body:is([data-review-preview],[data-review-final]) #thread{height:auto;max-height:none;overflow:visible;padding:22px}
body:is([data-review-preview],[data-review-final]) #thread>.greeting,body:is([data-review-preview],[data-review-final]) .dev,body:is([data-review-preview],[data-review-final]) .owner-demo-entry,body:is([data-review-preview],[data-review-final]) .theme-entry{display:none}
body:is([data-review-preview],[data-review-final]) #thread .question-controls{max-width:none}
body:is([data-review-preview],[data-review-final]) #thread .question:has(.preview-review){grid-template-columns:1fr}
body:is([data-review-preview],[data-review-final]) #thread .question:has(.preview-review)>.avatar,body:is([data-review-preview],[data-review-final]) #thread .question:has(.preview-review) .question-label,body:is([data-review-preview],[data-review-final]) #thread .question:has(.preview-review)>.question-content>.back-action{display:none}
body:is([data-review-preview],[data-review-final]) #thread .question:has(.preview-review) .bubble{background:none;border:0;padding:0;font-size:22px;margin-bottom:12px;box-shadow:none}
body:is([data-review-preview],[data-review-final]) #thread .question:has(.preview-review) .bubble:before,body:is([data-review-preview],[data-review-final]) #thread .question:has(.preview-review) .bubble:after{display:none}
.preview-intro{color:#66766c;font-size:14px;margin:0 0 18px}
.preview-review-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.preview-review-group{border:1px solid #d7e4dc;border-radius:12px;background:#fff;overflow:hidden;min-width:0}
.preview-review-group h3{margin:0;padding:12px 16px;background:#f1f6f3;border-bottom:1px solid #e0e9e3;font-size:16px}
.preview-group-heading{display:flex;align-items:center;gap:10px;color:#284e3d}
.preview-group-heading small{margin-left:auto;color:#6d7e73;font-size:11px;font-weight:400;white-space:nowrap}
.preview-group-heading .cargo-icon{width:30px;height:30px;margin:0}
.preview-review-row{display:flex;align-items:flex-start;gap:12px;padding:13px 16px;min-width:0;border-bottom:1px solid #edf1ee}
.preview-review-row:last-child{border-bottom:0}
.preview-review-value{flex:1;min-width:0;overflow-wrap:anywhere}
.preview-review-value>strong{font-size:12px;color:#738175;font-weight:500}
.preview-review-value>p{font-size:14px;line-height:1.6;margin:5px 0 0;white-space:pre-wrap;color:#243c30}
.preview-review-row>button{flex:0 0 auto;min-height:40px;padding:6px 10px;border:1px solid #cadcd1;border-radius:7px;color:#2f634b;background:white;font-size:12px;white-space:nowrap}
.preview-review-row .review-contact-line,.preview-review-row .review-schedule-lines{font-size:14px}
.preview-review-row .review-cargo-items{margin:8px 0 0}
.preview-review-row .review-cargo-category{padding:8px}
.preview-review-row .review-cargo-item{font-size:13px}
.preview-unanswered{color:#8b6339!important}
.preview-required{padding:14px;background:#fff8e9;border:1px solid #e6d9b7;border-radius:10px;margin-bottom:16px;font-size:14px}
.preview-required p{margin:5px 0}
.preview-required button{display:block;margin-top:6px;min-height:40px;background:white;color:#745c2e;border:1px solid #e2d3b3;padding:8px 12px;border-radius:7px;text-align:left}
.preview-variant-B .preview-review-groups{display:block}
.preview-variant-B .preview-review-group{border-radius:0;border:0;border-top:2px solid #527b64;margin-bottom:18px}
.preview-variant-B .preview-review-group h3{padding:8px 12px;background:#f5f8f5}
.preview-variant-B .preview-review-row{padding:10px 12px}
.preview-variant-B .preview-review-value{display:grid;grid-template-columns:180px minmax(0,1fr);gap:12px;align-items:start}
.preview-variant-B .preview-review-value>p{margin-top:0}
.preview-variant-B .preview-review-value>.review-cargo-items,.preview-variant-B .preview-review-value>.review-cargo-notes{grid-column:2}
.preview-variant-C .preview-review-groups{display:block}
.preview-variant-C .preview-review-group{margin:10px 0}
.preview-variant-C .preview-review-group>summary{padding:12px 16px;display:flex;align-items:center;gap:12px;cursor:pointer;background:#f5f8f5}
.preview-variant-C .preview-review-group>summary>.preview-group-heading{flex:1}
.preview-variant-C .preview-review-group>summary>span:last-child{font-size:12px;color:#526e5b;white-space:nowrap}
.preview-key-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:22px}
.preview-key-summary>div{display:flex;align-items:center;gap:12px;background:#f3f7f4;border:1px solid #dbe7df;border-radius:10px;padding:14px;min-width:0}
.preview-key-summary small{display:block;font-size:12px;color:#6b7e70;margin-bottom:4px}
.preview-key-summary strong{font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere;color:#294f3a}
.review-building-unknown{display:flex;align-items:center;justify-content:center;width:50px;height:44px;flex:0 0 50px;background:#eef1ee;border-radius:8px;color:#66766b;font-size:24px}
.preview-edit-note{font-size:13px;padding:12px;background:#f1f6f3;color:#43604d;border-radius:8px;line-height:1.6}
body:is([data-review-preview],[data-review-final]) #preview-apply,body:is([data-review-preview],[data-review-final]) #preview-cancel{width:100%;min-height:48px;margin-top:10px}
@media(max-width:700px){#review-preview-nav{padding:0 14px}#review-preview-nav a{font-size:12px;padding:10px}body:is([data-review-preview],[data-review-final]) #thread{padding:16px 12px}body:is([data-review-preview],[data-review-final]) .layout{width:calc(100% - 16px)}.preview-review-groups,.preview-key-summary{grid-template-columns:1fr}.preview-review-row{padding:12px;gap:8px}.preview-review-group h3{padding:10px 12px}.preview-variant-B .preview-review-value{display:block}.preview-variant-B .preview-review-value>p{margin-top:4px}.preview-variant-C .preview-review-group>summary{padding:10px}.preview-group-heading{gap:8px}.preview-group-heading strong{font-size:15px}}
body:is([data-review-preview],[data-review-final]) #thread .question:has(.preview-review)>.question-content>.bubble{grid-column:1/-1}
body:is([data-review-preview],[data-review-final]) #thread #current-question{min-height:0}
body:is([data-review-preview],[data-review-final]) #thread{flex:none}

.preview-variant-A .preview-review-groups{display:block}
.preview-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start;margin-bottom:16px}
.preview-side-stack{display:grid;gap:16px;align-content:start;min-width:0}
@media(max-width:700px){.preview-pair{grid-template-columns:1fr}}

.reply p{background:var(--customer-background,#EDF1E9);color:var(--customer-foreground,#000)}

/* Compact date picker with month periods above the date grid. */
#thread .calendar-panel{width:min(100%,300px);max-width:300px;padding:8px;border-radius:9px}
#thread .calendar-month{grid-template-columns:32px minmax(0,1fr) 64px 32px;gap:4px}
#thread .calendar-month select,#thread .calendar-month button{min-height:34px;height:34px;font-size:14px;padding:3px}
#thread .calendar-caption{font-size:11px;line-height:1.4;margin:8px 0 4px}
#thread .calendar-periods{gap:5px}
#thread .calendar-periods button{min-height:34px;height:34px;font-size:14px;padding:4px}
#thread .calendar-weekdays{font-size:12px;margin:8px 0 4px;line-height:1.4}
#thread .calendar-days{gap:3px}
#thread .calendar-days button{min-height:32px;height:32px;font-size:14px;padding:2px 0;line-height:1.3}
#thread .calendar-close{min-height:30px;font-size:12px;padding:4px;margin-top:4px}
/* Keep the customer's name and phonetic name on separate rows. */
#thread .contact-form .form-fields>label:has(input[name=contactName]),#thread .contact-form .form-fields>label:has(input[name=contactKana]){grid-column:1/-1}

/* Extra cargo starts collapsed; quantity inputs stay in the form while closed. */
.cargo-extra-section{grid-column:1/-1;margin:10px 0}.cargo-extra-section h3{font-size:15px;margin:0 0 8px;color:#304c5b}
.cargo-extra-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.cargo-extra-group{border:1px solid #d4dfe5;border-radius:9px;background:#fff;min-width:0;overflow:hidden}
.cargo-extra-group summary{list-style:none;display:flex;align-items:center;justify-content:center;gap:5px;min-height:48px;padding:9px 7px;font-size:14px;font-weight:600;color:#245f78;cursor:pointer;flex-wrap:wrap}
.cargo-extra-group summary::-webkit-details-marker{display:none}.cargo-extra-group summary:focus-visible{outline:3px solid #d69d34;outline-offset:-3px}
.cargo-extra-group summary small{font-size:11px;font-weight:500;color:#667c88}.cargo-extra-group summary small:empty{display:none}
.cargo-extra-group[open]{grid-column:1/-1}.cargo-extra-group[open] summary{justify-content:flex-start;background:#eef4f7;border-bottom:1px solid #d4dfe5;padding-inline:12px}
.cargo-extra-group[open] .cargo-extra-arrow{margin-left:auto;transform:rotate(45deg)}.cargo-extra-body{padding:4px 12px}.cargo-extra-body .cargo-row{border-bottom:0}

.cargo-master-variants{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-top:10px}
.cargo-master-variant{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid #d5dfe5;border-radius:8px;background:#fff;color:#245f78;padding:8px;min-height:100px;font-size:12px;line-height:1.5}
.cargo-master-variant.selected{border:2px solid #245f78;background:#edf4f7}.cargo-master-variant .cargo-variant-picture{width:50px;height:50px;flex:none}
@media(max-width:420px){.cargo-master-variants{grid-template-columns:repeat(2,minmax(0,1fr))}}

.schedule-selection{display:flex;align-items:center;justify-content:space-between;gap:12px}.schedule-selection>div{min-width:0}.schedule-reselect{flex-shrink:0;width:auto;padding:8px 10px;border:1px solid #b9cbd5;border-radius:8px;background:#fff;color:#245f75;font-size:14px;font-weight:600}.schedule-reselect:focus-visible{outline:2px solid #245f75;outline-offset:2px}@media(max-width:380px){.schedule-reselect{max-width:110px;font-size:13px}}
.followup-link{display:block;text-align:center;text-decoration:none;box-sizing:border-box}

/* Consultation: give long messages room and keep the actions together. */
#thread .question-controls .consultation-form{width:100%;max-width:none;padding:18px;border:1px solid #e0e5eb;border-radius:14px;background:#fff}
#thread .consultation-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 12px;font-size:17px;font-weight:600;line-height:1.6}
#thread .consultation-heading .consultation-limit{margin:0;font-size:12px;font-weight:400;color:#6b7785;white-space:nowrap}
#thread .consultation-form textarea{display:block;width:100%;min-height:240px;padding:16px;border:1px solid #ccd8e2;border-radius:10px;background:#fafcfe;font-size:17px;line-height:1.8;resize:vertical}
#thread .consultation-form textarea::placeholder{color:#798696;opacity:1}
#thread .consultation-hint{margin:10px 0 0;color:#697786;font-size:12px;line-height:1.7}
#thread .question-controls .consultation-form .primary{display:block;width:100%;max-width:none;min-height:48px;margin:16px 0 0;border-radius:10px}
#thread .question:has(.consultation-form) .back-action{margin:0;padding:0;border:0}
#thread .question:has(.consultation-form) #back{width:auto;min-height:44px;padding:8px 24px;border:0;background:transparent;color:#607587;font-size:14px;text-decoration:none}
@media(max-width:600px){#thread .question-controls .consultation-form{padding:16px}#thread .consultation-form textarea{min-height:220px;padding:14px;font-size:16px}}

/* Receipt confirmation is a single card rather than another question bubble. */
#thread:has(.reception-complete)>.greeting,#thread:has(.reception-complete)>.greeting-followup{display:none}
#thread #current-question.reception-complete{display:block;min-height:0;width:100%;max-width:520px;margin:10px auto 0}
.completion-card{padding:26px 24px 8px;border:1px solid #dce5eb;border-radius:16px;background:#fff;box-shadow:0 4px 16px #24475b08}
.completion-heading{text-align:center}
.completion-check{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 14px;border-radius:50%;background:#eaf4f0;color:#36856d}
.completion-check svg{width:28px;height:28px}
.completion-heading h2{margin:0;font-size:22px;font-weight:650;line-height:1.5;letter-spacing:.02em}
.completion-heading p{margin:10px 0 0;color:#677785;font-size:14px;line-height:1.8}
.completion-receipt{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 16px;margin:22px 0;padding:14px;border:1px solid #e3eaf0;border-radius:10px;background:#f5f8fa}
.completion-receipt span{color:#677785;font-size:13px}
.completion-receipt strong{font-family:ui-monospace,Consolas,monospace;font-size:22px;font-weight:600;line-height:1.4;letter-spacing:.05em;color:#304c5b;overflow-wrap:anywhere}
.completion-actions{display:grid;gap:10px}
#thread .completion-actions .primary,#thread .completion-actions .secondary{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;max-width:none;min-height:48px;margin:0;padding:12px;border-radius:10px;font-size:15px;line-height:1.5}
#thread .completion-actions .secondary{border-color:#cedbe4;background:#fff;color:var(--green)}
.completion-actions svg{width:26px;height:26px;flex:none}
.completion-details{margin-top:18px;border-top:1px solid #e5ebef}
.completion-details>summary{min-height:48px;padding:14px 0;color:#657887;font-size:13px;line-height:1.5}
.completion-details[open]>summary{margin-bottom:8px}
@media(max-width:600px){.completion-card{padding:22px 18px 6px}.completion-heading h2{font-size:20px}.completion-heading p{font-size:13px}.completion-receipt{margin:18px 0}.completion-receipt strong{font-size:21px}}

.quote-work-fields{border:1px solid #d7ded9;border-radius:12px;padding:16px;margin:16px 0;background:#f8faf9}.quote-work-fields summary{font-weight:700;cursor:pointer}.quote-work-fields p{font-size:13px;line-height:1.8}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.quote-work-fields label{display:grid;gap:6px;font-size:14px}.quote-work-fields input,.quote-work-fields select{width:100%;box-sizing:border-box;font-size:16px;padding:12px;border:1px solid #ccd8d0;border-radius:8px}.quote-work-fields details{margin-top:14px}.quote-work-fields fieldset{border:1px solid #ccd8d0;border-radius:10px;margin:12px 0;padding:14px}@media(max-width:650px){.work-grid{grid-template-columns:1fr}}

.work-complete{display:flex!important;align-items:flex-start;gap:10px;line-height:1.7;margin:12px 0}.work-complete input{width:20px!important;flex:none;height:20px;margin-top:2px}

.reception-menu-nav{flex:none;padding:0 20px;background:#fff}.reception-menu-nav[hidden]{display:none}.reception-menu-nav .text-btn{display:inline-flex;align-items:center;min-height:44px;margin:0;padding:6px 0;font-size:13px;line-height:1.5;text-align:left;white-space:normal}@media(max-width:600px){.reception-menu-nav{padding:0 15px}}

.quote-work-fields .work-optional{display:inline-block;white-space:nowrap}
.review-submit-form .submission-reminder{text-align:center}
.review-submit-form .checkbox{justify-content:center;text-align:left}
.question-controls #preview-cancel{display:block;width:100%;margin-inline:auto;text-align:center}

.completion-mail{margin:0 0 22px;padding:14px 16px;border:1px solid #e3eaf0;border-radius:10px;background:#f8fafb;text-align:left;overflow-wrap:anywhere}
.completion-mail p{margin:0;line-height:1.7}
.completion-mail .completion-mail-label{font-size:12px;color:#677785}
.completion-mail .completion-mail-address{margin-top:3px;font-size:14px;font-weight:600;color:#304c5b}
.completion-mail .completion-mail-help{margin-top:10px;font-size:12px;color:#536775}

/* Compact shared consent dialog. Only accents follow the business theme. */
#start-dialog{width:390px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:20px;border:1px solid #dce7e3;border-radius:16px;overflow-y:auto;background:#fff;color:#303d43;line-height:1.7}
#start-dialog .dialog-head{margin:0 0 10px}
#start-dialog .dialog-head h2{font-size:18px;line-height:1.5;margin:0;color:#303d43}
#start-dialog>p{font-size:14px;line-height:1.7;margin:0 0 14px;color:#526269}
#start-dialog>p[hidden]{display:none}
#start-dialog .start-privacy{font-size:14px;line-height:1.7;margin:0;padding:12px;border:1px solid var(--start-border,#b0c3ca);border-radius:9px;background:var(--start-panel,#f2f5f7);color:#3d4b50}
#start-dialog .start-privacy h3{font-size:14px;line-height:1.5;margin:0 0 7px;color:#303d43}
#start-dialog .start-privacy p{font-size:14px;line-height:1.7;margin:0 0 8px}
#start-dialog .start-privacy a{display:inline-flex;align-items:center;min-height:44px;padding:0;margin:0;color:var(--start-link,#245f78);font-size:14px;font-weight:600;text-underline-offset:3px}
#start-dialog .checkbox{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:10px;width:100%;min-height:44px;margin:12px 0;color:#303d43}
#start-dialog .checkbox input{width:20px;height:20px;min-height:20px;padding:0;margin:2px 0 0;align-self:start;accent-color:var(--start-link,#245f78)}
#start-dialog .start-consent-text{min-width:0;font-size:14px;line-height:1.65}
#start-dialog .primary,#start-dialog .secondary{display:block;width:100%;max-width:none;min-height:48px;margin:0;padding:10px 14px;font-size:16px;line-height:1.5;text-align:center;border-radius:8px}
#start-dialog .primary{border:1px solid var(--start-button-border,transparent);background:var(--start-button-background,linear-gradient(115deg,#245f78,#247975));color:var(--start-button-foreground,#fff)}
#start-dialog .secondary{margin-left:0;border:1px solid var(--start-link,#245f78);background:#fff;color:var(--start-link,#245f78)}
#start-dialog .secondary:not([hidden]){margin-top:10px}
#start-dialog .primary:disabled,#start-dialog .secondary:disabled{background:#e3e9e9;color:#58696c;border-color:#e3e9e9;opacity:1}
#start-dialog .primary[hidden],#start-dialog .secondary[hidden]{display:none}
#start-dialog :is(a,button,input):focus-visible{outline:3px solid var(--start-link,#245f78);outline-offset:3px}
#start-dialog .new-tab-note{font-size:12px;font-weight:400}
.reception-privacy-link{font-size:13px;line-height:1.7;color:#52606b}.reception-privacy-link a{color:#175e66;text-underline-offset:3px}
@media(max-width:350px){#start-dialog{padding:18px}}
