:root{--mosaico-green-950:#102f1e;--mosaico-green-900:#123820;--mosaico-green-800:#184527;--mosaico-amber:#d18b20;--mosaico-terracotta:#c34a28;--mosaico-ivory:#f6f4ec;--mosaico-surface:#fffdf7;--mosaico-border:#e7e2d7;--mosaico-text:#173323;--mosaico-muted:#667168;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:var(--mosaico-text);background:var(--mosaico-ivory);font-size:16px}*{box-sizing:border-box}html,body{margin:0;min-width:0;overflow-x:hidden}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #d18b2070;outline-offset:2px}.login-page{min-height:100dvh;display:grid;place-items:center;padding:20px;background:var(--mosaico-ivory)}.login-card{width:min(100%,430px);padding:32px 24px;background:var(--mosaico-surface);border:1px solid var(--mosaico-border);border-radius:18px;box-shadow:0 18px 60px #102f1e12}.login-logo{display:block;width:min(270px,80%);height:auto;margin:0 auto 34px}.eyebrow{color:var(--mosaico-terracotta);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin:0}.login-card h1{font-size:2rem;margin:.3rem 0}.muted,.welcome p{color:var(--mosaico-muted)}.stack{display:grid;margin-top:28px}.stack label,.field-title{font-size:.86rem;font-weight:700;margin:12px 0 7px}.field-title{display:block}.stack input{min-height:48px;border:1px solid var(--mosaico-border);border-radius:10px;padding:0 13px;background:white}.primary{min-height:48px;border:0;border-radius:10px;background:var(--mosaico-green-800);color:white;font-weight:750;padding:0 22px}.stack .primary{margin-top:22px}.primary:disabled{cursor:not-allowed;opacity:.65}.error{color:#a33320;min-height:1.4em}.app-header{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 max(16px,calc((100% - 1040px)/2));background:var(--mosaico-surface);border-bottom:1px solid var(--mosaico-border)}.brand{display:flex;align-items:center;gap:12px}.brand img{width:106px;height:36px;object-fit:contain}.brand strong{border-left:1px solid var(--mosaico-border);padding-left:12px}.text-button,.danger-text{border:0;background:transparent;color:var(--mosaico-green-800);min-height:44px}.danger-text{color:#9f3c23}.app-shell{width:min(100%,1040px);min-height:calc(100dvh - 64px);margin:auto;padding:24px 20px 130px}.toolbar{display:flex;justify-content:space-between;gap:20px;align-items:end}.date-panel{min-width:0}.date-controls,.conversation-actions,.shortcuts{display:flex;gap:8px;flex-wrap:wrap}.date-controls button,.date-picker,.conversation-actions button,.shortcuts button{min-height:42px;border:1px solid var(--mosaico-border);border-radius:9px;background:var(--mosaico-surface);color:var(--mosaico-green-800);padding:0 14px;font-weight:650}.date-controls button.active{background:var(--mosaico-green-900);color:white;border-color:var(--mosaico-green-900)}.date-picker{display:flex;align-items:center;padding:0 8px}.date-picker input{border:0;background:transparent;color:inherit}.shortcuts{margin:22px 0}.shortcuts button{border-radius:999px}.shortcuts button:hover{border-color:var(--mosaico-amber);background:#fff9ec}.conversation{display:flex;flex-direction:column;gap:18px;min-height:280px;padding:20px 0}.welcome{text-align:center;margin:auto;padding:36px}.welcome h1{margin:8px 0;font-size:clamp(1.55rem,5vw,2.2rem)}.spark{color:var(--mosaico-amber);font-size:1.8rem}.message{min-width:0;max-width:88%;overflow-wrap:anywhere}.message.user{align-self:flex-end;background:var(--mosaico-green-800);color:white;border-radius:16px 16px 4px;padding:12px 16px}.message.answer{align-self:stretch;background:var(--mosaico-surface);border:1px solid var(--mosaico-border);border-radius:14px;padding:18px;line-height:1.6;overflow:hidden}.message.answer>:first-child{margin-top:0}.message.answer>:last-child{margin-bottom:0}.message.answer pre,.message.answer code{white-space:pre-wrap;overflow-wrap:anywhere;background:#edf0eb;border-radius:5px}.message.answer pre{padding:12px;overflow:auto}.message.answer table{border-collapse:collapse;min-width:500px}.message.answer th,.message.answer td{border:1px solid var(--mosaico-border);padding:7px;text-align:left}.table-scroll{max-width:100%;overflow-x:auto}.message.answer a{color:#12613b}.status{display:flex;gap:12px;align-items:center;padding:13px 16px;margin:8px 0;background:#fff8e9;border:1px solid #ebd5a9;border-radius:12px}.status[hidden]{display:none}.status div{display:grid}.status span{font-size:.88rem;color:var(--mosaico-muted)}.spinner{width:21px;height:21px;border:3px solid #dec28c;border-top-color:var(--mosaico-terracotta);border-radius:50%;animation:spin .75s linear infinite;flex:none}@keyframes spin{to{transform:rotate(360deg)}}.composer{position:fixed;z-index:2;bottom:0;left:50%;transform:translateX(-50%);width:min(calc(100% - 24px),1000px);display:flex;align-items:end;gap:10px;padding:12px;background:var(--mosaico-surface);border:1px solid var(--mosaico-border);border-radius:15px 15px 0 0;box-shadow:0 -10px 35px #102f1e10}.composer textarea{resize:none;max-height:150px;min-height:48px;flex:1;border:0;padding:12px;background:transparent;color:var(--mosaico-text);overflow-y:auto}.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:650px){.app-header{height:56px;padding:0 14px}.brand img{width:78px}.brand strong{font-size:.88rem}.app-shell{padding:15px 12px 120px}.toolbar{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:12px}.date-panel{width:100%}.field-title{margin-top:0}.date-controls{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,.82fr) minmax(0,1.65fr);gap:8px;width:100%}.date-controls button,.date-picker{width:100%;min-width:0;min-height:44px}.date-picker{justify-content:center;padding:0 10px}.date-picker input{width:100%;min-width:0;text-align:center}.conversation-actions{position:static;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;width:100%}.conversation-actions button{width:100%;min-width:0;min-height:44px;padding:0 10px;font-size:.84rem}.shortcuts{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px;margin:8px 0 19px;scrollbar-width:none}.shortcuts::-webkit-scrollbar{display:none}.shortcuts button{white-space:nowrap;flex:0 0 auto}.message{max-width:94%}.message.answer{padding:14px}.composer{width:100%;border-radius:12px 12px 0 0}.composer .primary{padding:0 15px}.login-card{padding:27px 20px}}@media(max-width:390px){.date-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.date-picker{grid-column:1/-1}}
