:root{color:#1b2b22;font-synthesis:none;--primary:#5daa80;--secondary:#e8e6d9;--bg:#f7f6f0;--text:#1b2b22;--on-primary:#0d1f15;--muted:#66705f;--line:#cfd3c4;background:#f7f6f0;font-family:JetBrains Mono,PingFang SC,Noto Sans SC,monospace;font-size:14px;line-height:1.6}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;transition:background .18s,box-shadow .18s}button:disabled{cursor:not-allowed;opacity:.45}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #3d7759}input:focus-visible,textarea:focus-visible{outline:0}button:active:not(:disabled){filter:brightness(.96)}button svg{flex:none}.glass{-webkit-backdrop-filter:blur(18px);background:#ffffff8c;border:1px solid #ffffffd9;box-shadow:0 6px 20px #3c6e5529}.login-shell,.workspace{isolation:isolate;background:var(--bg);position:relative}.login-shell:before,.login-shell:after,.workspace:before,.workspace:after{content:"";pointer-events:none;z-index:-1;filter:blur(44px);background:var(--primary);opacity:.5;border-radius:50%;position:absolute}.login-shell:before{width:300px;height:220px;top:calc(50% - 272px);left:calc(50% - 255px)}.login-shell:after{width:260px;height:180px;bottom:max(60px,50% - 362px);right:calc(50% - 265px)}.workspace:before{width:260px;height:150px;top:-40px;left:70px}.workspace:after{width:300px;height:150px;bottom:-40px;right:-30px}.brand{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.avatar{object-fit:contain;flex:none;width:36px;height:36px;display:block}.brand>.avatar{width:72px;height:72px}.brand b{font-size:22px;font-weight:700;display:block}.brand small{color:var(--muted);margin-top:8px;font-size:14px;display:block}.brand-small{text-align:left;flex-direction:row;gap:10px}.brand-small>.avatar{width:36px;height:36px}.brand-small b{font-size:14px}.brand-small small{margin:0;font-size:12px}.primary{background:var(--primary);color:var(--on-primary);border:0;border-radius:14px;font-weight:700;box-shadow:0 8px 18px #5daa8066}.primary:hover:not(:disabled),.send-button:hover:not(:disabled){background:#6ab68e}.text-button{color:#3d5a4a;background:0 0;border:0;min-width:44px;min-height:44px;padding:8px;font-size:12px}.login-shell{min-height:100dvh;padding:max(32px,env(safe-area-inset-top)) 24px max(32px,env(safe-area-inset-bottom));place-items:center;display:grid;overflow:hidden}.login-content{flex-direction:column;gap:28px;width:100%;max-width:342px;display:flex}.login-form{border-radius:22px;flex-direction:column;gap:16px;padding:22px;display:flex}.login-form label{color:var(--muted);flex-direction:column;gap:6px;font-size:12px;display:flex}.login-form input{border:1px solid var(--line);width:100%;height:52px;color:var(--text);background:#fff;border-radius:14px;padding:0 14px;font-size:14px}.login-form input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #5daa8047}.login-form input[readonly]{color:var(--muted)}.password-field{display:block;position:relative}.password-field input{padding-right:52px}.password-field button{color:#3d5a4a;background:0 0;border:0;border-radius:10px;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:4px;right:4px}.login-button{height:52px;font-size:16px}.login-footnote{text-align:center;color:var(--muted);margin:0;font-size:12px}.error{color:#8b3b29;margin:0;font-size:12px}.loading-screen{flex-direction:column;justify-content:center;align-items:center;gap:28px;min-height:100dvh;padding:24px;display:flex}.workspace{height:100svh;height:var(--app-height,100dvh);flex-direction:column;max-width:1440px;margin:auto;display:flex;overflow:hidden}.topbar{z-index:2;border-width:0 0 1px;border-radius:0 0 14px 14px;flex-shrink:0;align-items:center;gap:18px;padding:22px 28px 14px;display:flex}.workspace-body{flex:1;grid-template-columns:minmax(0,1fr) 320px;gap:28px;min-height:0;padding:0 28px;display:grid}.conversation{flex-direction:column;min-width:0;min-height:0;display:flex}.message-scroll{scrollbar-width:thin;scrollbar-color:#b5c8b9 transparent;overscroll-behavior-y:contain;overflow-wrap:anywhere;flex:1;min-height:0;padding:24px 0 4px;overflow-y:auto}.message{align-items:flex-start;gap:10px;margin:0 0 14px;display:flex}.message>div{min-width:0;max-width:calc(100% - 38px)}.message>.avatar{width:24px;height:24px}.sender{color:var(--muted);margin-bottom:4px;font-size:12px;display:block}.assistant .sender{display:none}.bubble{font-size:14px;line-height:1.6}.bubble p{white-space:pre-wrap;margin:0}.bubble p+p{margin-top:8px}.bubble small{color:var(--muted);font-size:12px}.user{justify-content:flex-end}.user>div{max-width:78%}.user .sender{text-align:right}.user .bubble{background:var(--primary);color:var(--on-primary);border-radius:16px 16px 4px;padding:9px 14px;font-weight:700;box-shadow:0 6px 14px #5daa8059}.bubble-error{color:#8b3b29;background:#f5e6dc;border-radius:12px;padding:10px 12px}.candidate-list{flex-direction:column;gap:10px;max-width:580px;margin:0 0 14px 34px;display:flex}.candidate-heading{flex-wrap:wrap;justify-content:space-between;gap:6px;font-size:14px;display:flex}.candidate-heading small{color:var(--muted);font-size:12px}.candidate{background:var(--secondary);text-align:left;border:0;border-radius:12px;align-items:center;gap:10px;min-height:48px;padding:8px 12px;display:flex}.candidate:hover:not(:disabled){background:#dfdfcf}.candidate-number{background:var(--primary);width:24px;height:24px;color:var(--on-primary);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.candidate-name{flex:1}.candidate-name small{color:var(--muted);font-size:12px;display:block}.candidate strong{color:var(--muted);font-size:14px;font-weight:400}.none-match{border:1px solid var(--line);background:0 0;border-radius:14px;min-height:48px;padding:10px 12px}.processing-indicator{min-height:44px;color:var(--muted);align-items:center;gap:12px;margin-bottom:14px;padding:6px 12px;font-size:12px;display:flex}.sprite-space{flex:none;place-items:center;width:28px;height:28px;display:grid}.thinking-sprite{object-fit:contain;transform-origin:50%;width:20px;height:20px;animation:2.8s ease-in-out infinite sprite-sway;display:block}@keyframes sprite-sway{0%,to{transform:rotate(-30deg)}50%{transform:rotate(30deg)}}.composer-area{flex-shrink:0;padding-top:4px}.composer{margin:0}.composer-row{border-radius:16px;align-items:center;gap:6px;padding:6px;display:flex}.composer-row:focus-within{border-color:var(--primary)}.composer textarea{field-sizing:content;resize:none;min-width:0;max-height:128px;color:var(--text);background:0 0;border:0;flex:1;padding:8px 2px;line-height:1.6}.composer textarea::placeholder{color:#6b746c}.upload-button,.send-button{color:#3d5a4a;background:0 0;border:0;border-radius:12px;flex:none;place-items:center;width:44px;height:44px;display:grid}.send-button{background:var(--primary);color:var(--on-primary)}.draft-sidebar{min-height:0;padding:24px 0;overflow-y:auto}.draft-card{overflow-wrap:anywhere;background:#fff;border-radius:10px;padding:18px;box-shadow:0 6px 18px #3c6e552e}.section-eyebrow{color:var(--muted);justify-content:space-between;align-items:center;font-size:12px;display:flex}.draft-dot{background:var(--muted);border-radius:50%;width:6px;height:6px}.draft-dot.ready{background:var(--primary)}.draft-card h2{margin:8px 0 4px;font-size:18px}.draft-state{color:var(--muted);margin:0 0 18px;font-size:12px}.draft-empty{text-align:center;color:var(--muted);padding:24px 0 32px}.draft-empty p{margin:0 0 6px}.draft-empty small{font-size:12px}.customer{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.customer strong{font-size:16px}.customer>span{color:var(--muted);font-size:12px}.draft-items{margin:0;padding:0;list-style:none}.draft-items li{justify-content:space-between;gap:10px;margin-bottom:14px;font-size:14px;display:flex}.draft-items small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.quantity{white-space:nowrap;color:var(--muted)}.fulfillment{border-top:1px dashed #c9c7b8;border-bottom:1px dashed #c9c7b8;margin:0;padding:12px 0;font-size:12px}.fulfillment>div{gap:12px;margin-bottom:8px;display:flex}.fulfillment>div:last-child{margin:0}.fulfillment dt{color:var(--muted);flex:0 0 52px}.fulfillment dd{margin:0}.draft-total{justify-content:space-between;align-items:center;gap:10px;padding:16px 0;display:flex}.draft-total strong{font-size:22px}.preview-note{background:var(--secondary);border-radius:12px;padding:10px 12px}.preview-note p{margin:0;font-size:12px}.preview-note small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.message-images{flex-wrap:wrap;gap:6px;display:flex}.message-images:empty{display:none}.chat-image{object-fit:contain;border-radius:10px;max-width:190px;max-height:220px;margin-top:6px;display:block}.expired-image{color:var(--muted);font-size:12px;display:block}.attachment-previews{gap:12px;padding:10px 6px;display:flex;overflow-x:auto}.attachment-previews>div{flex:none;position:relative}.attachment-previews img{object-fit:contain;background:var(--secondary);border-radius:10px;width:64px;height:64px}.attachment-previews button{border:1px solid var(--line);background:#fff;border-radius:50%;width:32px;height:32px;position:absolute;top:-10px;right:-6px}.execution-results:empty{display:none}.execution-results{max-width:620px;margin:0 0 14px 34px}.execution-card{background:var(--secondary);overflow-wrap:anywhere;border-radius:14px;margin-bottom:14px;padding:14px}.execution-card h2{margin:0 0 6px;font-size:16px}.execution-card p{font-size:14px}.execution-card small{color:var(--muted);font-size:12px}.order-result{background:#fff;border-radius:10px;box-shadow:0 6px 18px #3c6e552e}.result-heading{background:var(--secondary);border-radius:14px;align-items:center;gap:10px;margin:-14px -14px 14px;padding:12px;display:flex}.success-mark{flex:none;display:flex}.result-heading .order-number{color:var(--muted);margin:0;font-size:12px}.receipt-label{color:var(--muted);font-size:12px}.result-customer{border-bottom:1px dashed #c9c7b8;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:8px 0;display:flex}.result-customer>span{color:var(--muted);font-size:12px}.result-items{margin:8px 0;padding:0;list-style:none}.result-items li{grid-template-columns:minmax(0,1fr) 28px 68px;align-items:center;gap:8px;padding:8px 0;font-size:13px;display:grid}.result-items small{display:block}.result-items strong{text-align:right;font-weight:400}.result-details{border-top:1px dashed #c9c7b8;margin:0;padding-top:8px;font-size:12px}.result-details>div{justify-content:space-between;gap:12px;padding:4px 0;display:flex}.result-details dt{color:var(--muted);flex:none}.result-details dd{text-align:right;margin:0}.amount-due{font-weight:700}.result-print{border-top:1px dashed #c9c7b8;margin-top:8px;padding-top:8px}.result-print p{margin:4px 0}.result-print .print-failed,.result-print .print-unknown{color:#8b3b29}.duplicate-matches{background:#fff;border-radius:12px;padding:12px;font-size:12px}.duplicate-matches p{margin:6px 0}.decision-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}.decision-actions button{border:1px solid var(--line);background:#fff;border-radius:14px;min-height:48px}.decision-actions .primary{background:var(--primary);color:var(--on-primary);border:0}.execution-failed{background:#f5e6dc}.execution-card .processing-indicator{margin:0;padding:0}@media (width>=1440px){.workspace{border-inline:1px solid #e3e1d4}}@media (width<=960px){.workspace-body{grid-template-columns:minmax(0,1fr) 280px;gap:20px;padding-inline:20px}}@media (width<=720px){.topbar{padding:calc(22px + env(safe-area-inset-top)) 18px 14px;gap:8px}.workspace-body{gap:0;padding:0;display:flex}.conversation{width:100%}.message-scroll{padding:18px 18px 4px}.draft-sidebar{display:none}.execution-results,.candidate-list{margin-left:0}.composer-area{padding:0 14px max(6px,env(safe-area-inset-bottom))}.composer-row{margin-top:4px}.composer textarea,.login-form input{font-size:16px}}@media (height<=600px) and (width<=720px){.topbar{padding-block:calc(8px + env(safe-area-inset-top)) 8px}}@media (width<=360px){.topbar{gap:6px;padding-inline:14px}.brand-small{gap:8px}.brand-small small{white-space:nowrap}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.composer-area{padding-top:10px;padding-bottom:max(18px, env(safe-area-inset-bottom))}.preview-message{display:none}.feedback-message .bubble{max-width:100%}@media (width<=720px){.composer-area{padding:10px 14px max(18px, env(safe-area-inset-bottom))}.preview-message{display:flex}.preview-message>div{width:100%}}
