:root{color-scheme:dark;--bg:#102621;--panel:#19352c;--line:#39564a;--ink:#f2f1e8;--muted:#afc5b9;--gold:#e6be79}*{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--bg);color:var(--ink);font:16px/1.5 system-ui;margin:0}main{max-width:780px;margin:auto;padding:24px 22px calc(28px + env(safe-area-inset-bottom))}header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0 22px}h1{font:italic 48px Georgia,serif;margin:0;letter-spacing:-2px}h1 span{font:26px system-ui;color:var(--gold);margin-left:8px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--muted)}h2{font:29px Georgia,serif;margin:0 0 8px}h3{font:23px Georgia,serif;margin:0 0 12px}p{margin:8px 0 16px}button,input,textarea,select{font:inherit;border-radius:12px}button{padding:11px 18px;background:var(--gold);color:#162b22;border:1px solid transparent;cursor:pointer;min-height:46px;font-weight:600}button.secondary,nav button{background:transparent;color:var(--ink);border-color:var(--line)}button:disabled{opacity:.45;cursor:default}button:hover:not(:disabled){filter:brightness(1.1)}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}input,textarea,select{width:100%;padding:12px;background:#10291f;color:var(--ink);border:1px solid var(--line);margin:6px 0 14px}textarea{resize:vertical;min-height:94px}label{display:block;font-size:.9rem}.check{display:flex;align-items:flex-start;gap:10px}.check input{width:auto;margin-top:5px}nav{display:flex;gap:8px;overflow-x:auto;padding-bottom:24px}nav button{flex:1;padding:10px 12px}nav [aria-current=page]{background:#294b3c;color:var(--gold);border-color:#69816c}.panel{background:var(--panel);border:1px solid var(--line);padding:22px;border-radius:20px;margin:16px 0}.muted,#connection{color:var(--muted);font-size:.85rem}#connection{white-space:nowrap;font-size:.75rem}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading .muted{margin-bottom:0}.notice{font-size:.76rem;color:var(--muted);border-bottom:1px solid var(--line);padding:14px 0;margin-bottom:24px}#error{background:#503b26;border:1px solid #b58c53;color:#ffdfab;padding:14px;border-radius:12px;white-space:pre-wrap}#tasks{display:flex;flex-direction:column;gap:26px}.exchange{display:flex;flex-direction:column;gap:8px}.message{max-width:90%;padding:15px 18px;border:1px solid var(--line);border-radius:20px;min-width:0}.request{align-self:flex-end;background:#315744;border-bottom-right-radius:4px}.answer{align-self:flex-start;background:#1b352c;border-bottom-left-radius:4px}.message-label{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:#bad0c0;margin-bottom:7px}.message-body{white-space:pre-wrap;overflow-wrap:anywhere}.task-status{font-size:.72rem;color:var(--muted);margin:0;text-align:right}.task-status button{font-size:.75rem;padding:4px 10px;min-height:32px;margin-left:8px}.composer{border:1px solid #647a65;background:#203c2f;border-radius:20px;padding:16px;margin-top:28px}.composer textarea{border:0;background:transparent;padding:8px 0;margin-bottom:4px}.composer-actions{display:flex;justify-content:space-between;gap:8px}#voice[aria-pressed=true]{background:#854735;color:white}.composer p{margin:8px 0 0;font-size:.75rem}.voice-options{font-size:.8rem;color:var(--muted);margin:14px 0}.voice-options summary{cursor:pointer;padding:8px 0}.voice-options select{max-width:220px}.reply-form{padding:12px;border:1px solid var(--line);border-radius:12px}.service-card{padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:18px;margin:14px 0}.service-card button{margin:8px 8px 0 0}.household-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.household-row button{font-size:.8rem;padding:8px 12px;flex-shrink:0}.empty{color:var(--muted);padding:22px 0}@media(max-width:480px){main{padding:14px 16px 24px}h1{font-size:42px}h2{font-size:25px}.panel{padding:17px}.message{max-width:96%}nav{gap:5px}nav button{font-size:.85rem;padding:10px}.section-heading{align-items:flex-start}.section-heading button{font-size:.8rem;padding:9px 12px}.composer{margin-top:22px}}

#tasks{max-height:54vh;overflow-y:auto;overscroll-behavior:contain;padding:4px 8px 10px 0;scrollbar-width:thin}.message{flex-shrink:0}
.qr{display:block;width:min(260px,100%);height:auto;background:#fff;border-radius:12px;margin:14px 0}a.button{display:inline-block;padding:11px 18px;background:var(--gold);color:#162b22;border-radius:12px;font-weight:600;text-decoration:none;margin:0 8px 8px 0}
