:root{color-scheme:dark;--bg:#08170e;--panel:#0c2115;--line:#31563e;--text:#acd4a9;--muted:#779b7a;--bright:#d8f0c6;--accent:#9eda97;--warning:#e6c886;--danger:#efa28d;font-family:"Courier New",Consolas,monospace;font-size:15px}
*{box-sizing:border-box}html{height:100%;background:var(--bg)}body{margin:0;min-height:100%;color:var(--text);background:radial-gradient(ellipse at 50% 30%,#0d2416 0,#08170e 72%);line-height:1.6}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{opacity:.45;cursor:wait}a{color:var(--bright)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--bright);outline-offset:4px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:1px solid var(--accent);outline-offset:0}button,select{touch-action:manipulation}[hidden]{display:none!important}.terminal{width:100%;max-width:860px;min-height:100dvh;margin:0 auto;padding:max(env(safe-area-inset-top),0px) 18px max(env(safe-area-inset-bottom),8px);display:flex;flex-direction:column}.masthead{height:57px;display:flex;align-items:center;gap:13px;flex-shrink:0;border-bottom:1px solid var(--line)}.brand{font-size:20px;line-height:1;font-style:italic;font-weight:700;text-decoration:none;color:var(--bright);letter-spacing:-2px}.masthead-title{font-size:10px;letter-spacing:1.4px;color:var(--muted);flex:1}.connection{font-size:11px;white-space:nowrap;color:var(--accent)}.icon-button{border:0;background:transparent;font-size:22px;padding:5px 6px;line-height:1}.state-panel{margin:auto 0;padding:60px 4px;max-width:560px}.eyebrow{font-size:10px;letter-spacing:1.6px;color:var(--muted)}h1,h2,p{margin-top:0}h1{font-size:26px;line-height:1.25;font-weight:400;color:var(--bright);margin:18px 0}p{margin-bottom:22px}.primary-link{margin-top:15px;display:inline-flex;gap:30px;text-decoration:none;border:1px solid var(--accent);padding:12px 16px;background:#132b19;color:var(--bright)}.primary-link span{font-size:22px;line-height:1}.blink{animation:blink 1.2s steps(2,start) infinite}@keyframes blink{to{visibility:hidden}}#application{display:flex;flex:1;min-height:0;flex-direction:column}.site-notice{font-size:11px;line-height:1.6;padding:11px 0;border-bottom:1px solid #3d482e;color:var(--warning)}.tabs{display:flex;gap:28px;border-bottom:1px solid var(--line);padding:0 3px}.tab{background:transparent;border:0;border-bottom:2px solid transparent;padding:14px 0 10px;color:var(--muted);font-size:14px}.tab.active{color:var(--bright);border-bottom-color:var(--accent)}.tab span{font-size:11px;opacity:.7}.list-view{flex:1;padding-bottom:20px}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:6px}.section-heading h1{font-size:22px;margin:22px 0 15px}.muted{color:var(--muted);font-size:11px}.search-label{display:block;margin-bottom:18px}.search{border:1px solid var(--line);width:100%;border-radius:0;color:var(--text);padding:10px 12px;background:#07170d;font-size:13px}.search::placeholder,textarea::placeholder{color:#7e9d70;opacity:1}.cards{display:flex;flex-direction:column;gap:10px}.chat-card,.order-card{border:1px solid var(--line);background:#0a1d12}.chat-card{display:block;width:100%;text-align:left;padding:13px 14px}.chat-card:hover,.chat-card:focus-visible{background:#122a19}.card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.card-title{font-size:15px;color:var(--bright);min-width:0;overflow-wrap:anywhere}.card-date{font-size:10px;white-space:nowrap;color:var(--muted)}.card-preview{font-size:12px;line-height:1.6;color:var(--text);margin:4px 0;white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-meta{display:flex;align-items:center;gap:10px;font-size:10px;color:var(--muted);margin-top:9px}.unread{background:var(--accent);color:var(--bg);padding:0 6px;min-width:21px;text-align:center;margin-left:auto}.status{font-size:10px;line-height:1.5;padding:2px 6px;border:1px solid var(--line);color:var(--text)}.status-closed,.status-confirmed,.status-cancelled{color:var(--muted)}.status-needs_review{color:var(--warning);border-color:#685c35}.status-in_progress{color:var(--bright);border-color:#70946d}.empty-state{padding:48px 12px;text-align:center;color:var(--muted);font-size:13px}.empty-state strong{display:block;font-weight:400;color:var(--text);margin-bottom:8px}.order-card summary{padding:12px 14px;cursor:pointer;list-style:none}.order-card summary::-webkit-details-marker{display:none}.order-card summary .card-top:last-child{margin-bottom:0}.order-card .order-body{padding:0 14px 15px}.order-customer{font-size:13px;margin:5px 0 8px;overflow-wrap:anywhere}.order-summary{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.order-fields{font-size:12px;margin:7px 0 13px;display:grid;grid-template-columns:max-content 1fr;gap:5px 12px}.order-fields dt{color:var(--muted)}.order-fields dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;min-width:0}.order-items{margin:12px 0;padding:0;list-style:none;border-top:1px solid var(--line)}.order-items li{display:flex;gap:14px;justify-content:space-between;padding:8px 0;border-bottom:1px solid #203e2a;font-size:12px}.order-items li span:first-child{overflow-wrap:anywhere}.quantity{flex-shrink:0;color:var(--muted)}.order-comment{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;border-left:1px solid var(--line);padding-left:10px;margin:13px 0}.order-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:15px}.order-status{border:1px solid var(--line);padding:9px;background:var(--bg);color:var(--text);font-size:12px;max-width:100%;flex:1}.order-status:disabled{opacity:.65}.small-button,.back-button{border:1px solid var(--line);background:transparent;padding:7px 10px;font-size:11px;white-space:nowrap;min-height:34px}.small-button:hover,.back-button:hover{background:#162d1b;border-color:#658864}.back-button{border:0;padding:0;color:var(--muted)}.chat-view{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;height:calc(100dvh - 66px);max-height:calc(100dvh - 66px)}.site-notice:not([hidden])~.chat-view{height:calc(100dvh - 114px);max-height:calc(100dvh - 114px)}.tabs:not([hidden])~.chat-view{height:calc(100dvh - 119px);max-height:calc(100dvh - 119px)}.site-notice:not([hidden])~.tabs:not([hidden])~.chat-view{height:calc(100dvh - 167px);max-height:calc(100dvh - 167px)}.chat-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:13px 0 11px;border-bottom:1px solid #213b29;flex-shrink:0}.chat-title-wrap{flex:1;min-width:120px}.chat-heading h1{font-size:14px;margin:0;line-height:1.6;overflow-wrap:anywhere}.chat-actions{display:flex;gap:6px}.messages{overflow-y:auto;overflow-x:hidden;flex:1;min-height:120px;padding:21px 0 12px;scrollbar-width:thin;scrollbar-color:#629454 transparent;overscroll-behavior:contain;outline-offset:-1px}.message{margin:0 0 23px;padding:0 2px;overflow-wrap:anywhere}.message-user{border-left:1px solid #44673f;padding:0 11px;margin-right:10px}.message-system{border-left:1px solid #5c5739;color:var(--warning);padding:0 10px;font-size:12px}.message-meta{display:flex;gap:10px;align-items:baseline;margin-bottom:5px;font-size:11px;color:var(--muted)}.message-meta time{font-size:9px;opacity:.7;margin-left:auto;padding-right:9px}.message-author{max-width:70%;overflow-wrap:anywhere}.message-text{white-space:pre-wrap;font-size:15px;line-height:1.65;letter-spacing:.1px}.message-attachments{display:flex;flex-direction:column;gap:7px;margin-top:9px}.file-link{background:#112719;border:1px solid var(--line);padding:8px 10px;text-align:left;font-size:11px;display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:100%;overflow-wrap:anywhere}.file-link small{font-size:9px;white-space:nowrap;color:var(--muted)}.delivery{font-size:9px;color:var(--muted);margin-top:5px}.delivery-failed{color:var(--danger)}.delivery-pending{color:var(--warning)}.new-messages{position:absolute;bottom:102px;left:50%;transform:translateX(-50%);background:#1b351e;box-shadow:0 0 18px #051109}.composer{display:flex;align-items:stretch;min-height:48px;border:1px solid #648864;flex-shrink:0;background:#091b10}.attach-button{width:46px;min-width:46px;display:flex;align-items:center;justify-content:center;border-right:1px solid #37573b;cursor:pointer}.attach-button:hover,.send-button:hover{background:#162e1a}.attach-button svg,.send-button svg{width:22px;height:22px;fill:none;stroke:var(--text);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.composer textarea{resize:none;flex:1;min-width:0;background:transparent;border:0;padding:12px 10px;line-height:1.5;max-height:125px;color:var(--bright);font-size:14px;border-radius:0}.composer textarea:focus{outline:0}.composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px #518247}.send-button{width:46px;min-width:46px;border:0;border-left:1px solid #37573b;background:transparent;padding:10px;display:flex;align-items:center;justify-content:center}.send-button:disabled{cursor:default}.composer-help{font-size:9px;line-height:1.5;color:var(--muted);margin:6px 0 0;padding:0 1px;flex-shrink:0}.upload-preview{flex-shrink:0;display:flex;gap:7px;flex-wrap:wrap;padding:6px 0 10px}.upload-chip{border:1px solid var(--line);padding:4px 8px;display:flex;align-items:center;gap:9px;font-size:10px;max-width:100%}.upload-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.upload-remove{border:0;background:transparent;font-size:17px;line-height:1;padding:3px;color:var(--muted)}.toast{position:fixed;bottom:max(calc(env(safe-area-inset-bottom) + 20px),20px);left:50%;transform:translateX(-50%);width:calc(100% - 36px);max-width:540px;background:#26321d;border:1px solid #928459;box-shadow:0 8px 30px #0008;padding:13px 15px;color:#f1deac;font-size:12px;z-index:10;white-space:pre-wrap;overflow-wrap:anywhere}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:650px){.terminal{padding-left:26px;padding-right:26px}.masthead{height:65px}.masthead-title{font-size:11px}.connection{font-size:12px}.chat-view{height:calc(100dvh - 74px);max-height:calc(100dvh - 74px)}.message{max-width:680px}.message-user{margin-left:20px}.messages{padding-top:26px}.chat-heading h1{font-size:16px}.chat-heading{padding:16px 0}.section-heading h1{font-size:25px}}@media(max-width:370px){.terminal{padding-left:12px;padding-right:12px}.masthead{gap:9px}.masthead-title{letter-spacing:.5px;font-size:9px}.connection{font-size:10px}.chat-actions{width:100%;justify-content:flex-end}.message-text{font-size:14px}.composer textarea{font-size:13px;padding-left:8px}.attach-button,.send-button{width:41px;min-width:41px}.order-fields{grid-template-columns:1fr;gap:0}.order-fields dd{margin-bottom:7px}}@media(prefers-reduced-motion:reduce){.blink{animation:none}}
/* Flex layout follows the actual banner and keyboard height without clipping the composer. */
.terminal{height:100dvh}.list-view{min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#629454 transparent}.chat-view,.site-notice:not([hidden])~.chat-view,.tabs:not([hidden])~.chat-view,.site-notice:not([hidden])~.tabs:not([hidden])~.chat-view{height:auto;max-height:none;min-height:0}.site-notice,.tabs{flex-shrink:0}
.consent-row{display:flex;align-items:flex-start;gap:9px;flex-shrink:0;font-size:10px;line-height:1.5;margin:0 0 10px;color:var(--muted)}.consent-row input{accent-color:var(--accent);flex-shrink:0;width:16px;height:16px;margin:1px 0 0}.consent-row a{color:var(--text);text-underline-offset:2px}
.closed-note{flex-shrink:0;font-size:11px;color:var(--muted);margin:0 0 10px}.restart-chat{flex-shrink:0;width:100%;border-color:#648864;font-size:13px;padding:11px 14px;margin-bottom:5px}.empty-state span{display:block;white-space:pre-wrap}
.more-button{display:block;width:100%;margin:14px 0 0;padding:11px}.older-messages{flex-shrink:0;align-self:center;min-width:120px;margin:10px 0 0;padding:5px 18px}
.terminal,.messages{min-height:0}
.reply-state{flex-shrink:0;font-size:11px;line-height:1.5;margin:0 0 10px;color:var(--accent)}.reply-state.reply-failed{color:var(--warning)}
