:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#18231e;background:#f5f8f6;font-size:18px;line-height:1.5;--green:#25874b;--border:#d0dad4}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a.download{cursor:pointer;min-height:52px;border-radius:12px;padding:12px 20px;font-weight:600}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #156fd1;outline-offset:3px}button{border:1px solid var(--border);background:#fff;color:#203d2b}.primary,a.download{background:var(--green);color:#fff;border:1px solid var(--green)}.primary:hover,a.download:hover{background:#1e713e}.secondary{background:white}.plain{border:0;background:transparent;color:#23663d}h1{font-size:28px;line-height:1.3;margin:0 0 20px}.hint{color:#58675f;font-size:16px}.error{color:#9e251c;background:#fff0ec;border-radius:10px;padding:14px}.error[hidden]{display:none}.brand-icon{display:inline-flex;justify-content:center;align-items:center;width:40px;height:40px;background:var(--green);color:white;border-radius:14px;flex-shrink:0}.topbar{min-height:82px;background:white;border-bottom:1px solid #e1e8e3;padding:14px max(24px,calc((100% - 1150px)/2));display:flex;justify-content:space-between;align-items:center;gap:16px}.brand,.account{display:flex;align-items:center;gap:14px}.brand strong{font-size:23px}.store{padding:8px 14px;border-radius:10px;background:#e4f2e5;font-weight:600}.chat-page{max-width:960px;margin:auto;padding:28px 24px}.starters{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.starters button{border-color:#2e8a50;color:#21663b}.welcome .hint{margin:14px 0 22px}#messages{display:flex;flex-direction:column;gap:20px;min-height:220px}.bubble{max-width:86%;padding:18px 20px;border-radius:16px;border:1px solid #e0e7e2;background:white;align-self:flex-start;overflow-wrap:anywhere;white-space:pre-wrap}.bubble.user{background:#e2f1df;border:0;align-self:flex-end}.speaker{display:block;font-size:15px;color:#53655a;margin-bottom:5px}.message-text{margin:0}.order-card{white-space:normal;background:#f8faf9;border:1px solid var(--border);border-radius:12px;margin-top:18px;padding:18px}.order-card h2{font-size:23px;margin:0 0 5px}.order-card p{margin:0 0 14px;color:#53655a}a.download{display:block;text-align:center;text-decoration:none}.order-card button{width:100%;margin-top:10px}.quick-replies{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.quick-replies:empty{display:none}#status{min-height:24px;margin:18px 0 12px}.composer{position:sticky;bottom:0;display:flex;gap:12px;padding:12px 0;background:#f5f8f6}.composer textarea{width:100%;resize:vertical;min-height:64px;max-height:240px;border:1px solid var(--border);border-radius:12px;padding:14px;background:white;color:#18231e}.composer button{align-self:stretch}.composer textarea::placeholder{color:#66756d}footer{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#58675f;font-size:15px;margin-bottom:12px}footer .plain{font-size:15px}.login-page{display:flex;justify-content:center;align-items:center;min-height:100dvh;padding:24px}.login-card{max-width:460px;width:100%;padding:32px;background:white;border:1px solid var(--border);border-radius:20px}.login-card h1{margin-top:18px}.login-card p{color:#53655a}.login-card label{display:block;font-weight:600;margin:22px 0 8px}.login-card select,.login-card input{min-height:56px;width:100%;border:1px solid var(--border);border-radius:10px;padding:12px;color:#18231e;background:white}.password-field{display:flex;gap:6px}.password-field input{min-width:0}.login-card .primary{width:100%;margin-top:24px}.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(max-width:640px){.topbar{padding:12px 16px;gap:10px;flex-wrap:wrap}.brand strong{font-size:19px}.brand-icon{width:32px;height:32px;border-radius:10px}.account{margin-left:auto;gap:8px}.account button{padding:8px 12px}.store{padding:6px 10px}.chat-page{padding:22px 16px}h1{font-size:24px}.starters{grid-template-columns:1fr;gap:8px}.starters button{text-align:left;padding:12px 16px}.bubble{max-width:95%;padding:16px}.composer{gap:8px}.composer button{padding:10px 12px}.composer textarea{padding:12px;min-height:64px}footer{align-items:flex-start;flex-direction:column;gap:0}.login-card{padding:24px}.order-card{padding:14px}#messages{min-height:100px}}
