html{font-size:17px}html[data-text=xl]{font-size:20px}:root{--bg: #F6F8FB;--surface: #FFFFFF;--surface-2: #EEF2F7;--border: #D5DCE6;--text: #0A0F1C;--text-2: #2B3445;--muted: #4A5568;--accent: #5BBFE6;--accent-soft: #E3F4FB;--accent-ink: #0B5F86;--navy: #0A0F1C;--green: #1B7F4B;--green-soft: #E4F5EC;--amber: #8A5A00;--amber-soft: #FFF4D6;--red: #B42318;--red-soft: #FDECEA;--radius: 20px;--tap: 48px;font-family:Poppins,ui-sans-serif,system-ui,-apple-system,sans-serif;-webkit-text-size-adjust:100%}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:1rem;line-height:1.5}h1,h2,h3,p{margin:0}h1{font-size:1.65rem;font-weight:700;line-height:1.2}h2{font-size:1.2rem;font-weight:600;line-height:1.3}a{color:var(--accent-ink)}button,input,textarea,select{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--accent-ink);outline-offset:2px}.app{max-width:480px;margin:0 auto;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg)}.screen{flex:1;padding:16px 16px calc(110px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:16px}.screen.no-tabs{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.topline{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:max(8px,env(safe-area-inset-top))}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;align-items:center;gap:12px}.spacer{flex:1}.muted{color:var(--muted)}.small{font-size:.88rem}.big{font-size:1.15rem}.strong{font-weight:600}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:12px}.card-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.card.instructions{background:var(--accent-soft);border:2px solid var(--accent-ink)}.card.alert{background:var(--red-soft);border:2px solid var(--red)}.card.ok{background:var(--green-soft);border-color:#a9dcc0}.btn{min-height:var(--tap);display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:12px 22px;font-size:1rem;font-weight:600;cursor:pointer;text-decoration:none;border:2px solid var(--border);background:var(--surface);color:var(--text)}.btn-primary{background:var(--navy);border-color:var(--navy);color:#fff}.btn-accent{background:var(--accent);border-color:var(--accent);color:var(--navy)}.btn-green{background:var(--green);border-color:var(--green);color:#fff}.btn-red{background:var(--red);border-color:var(--red);color:#fff}.btn-block{width:100%}.btn-lg{min-height:56px;font-size:1.1rem}.btn:disabled{opacity:.55;cursor:not-allowed}.icon-btn{width:var(--tap);height:var(--tap);border-radius:999px;border:2px solid var(--border);background:var(--surface);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto}.field{display:flex;flex-direction:column;gap:6px;font-weight:600}.input,.textarea{min-height:var(--tap);width:100%;border:2px solid var(--border);background:var(--surface);border-radius:14px;padding:12px 14px;font-size:1.05rem}.input:focus,.textarea:focus{border-color:var(--accent-ink);outline:none}.check{display:flex;align-items:center;gap:12px;min-height:var(--tap);font-size:1rem;cursor:pointer}.check input{width:28px;height:28px;accent-color:var(--navy);flex:0 0 auto}.chips{display:flex;flex-wrap:wrap;gap:10px}.chip-btn{min-height:var(--tap);padding:10px 18px;border-radius:999px;border:2px solid var(--border);background:var(--surface);font-weight:600;cursor:pointer}.chip-btn[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff}.slot-label{font-size:.88rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:4px}.med-row{min-height:72px;width:100%;display:flex;align-items:center;gap:14px;text-align:left;border:2px solid var(--border);background:var(--surface);border-radius:16px;padding:12px 14px;cursor:pointer}.med-row .box{width:36px;height:36px;border-radius:10px;border:2px solid var(--muted);display:flex;align-items:center;justify-content:center;flex:0 0 auto;background:#fff}.med-row[aria-checked=true]{background:var(--green-soft);border-color:#a9dcc0}.med-row[aria-checked=true] .box{background:var(--green);border-color:var(--green)}.med-row .changed{font-size:.8rem;font-weight:700;background:var(--accent);color:var(--navy);border-radius:999px;padding:2px 10px}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.tabbar-inner{max-width:480px;margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.tab{min-height:68px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;color:var(--muted);font-size:.82rem;font-weight:600;position:relative}.tab.active{color:var(--navy)}.tab.active:before{content:"";position:absolute;top:0;left:25%;right:25%;height:4px;border-radius:0 0 4px 4px;background:var(--accent)}.tab .badge{position:absolute;top:8px;right:calc(50% - 22px);min-width:20px;height:20px;border-radius:999px;background:var(--red);color:#fff;font-size:.7rem;display:flex;align-items:center;justify-content:center;padding:0 5px}.banner{display:flex;align-items:center;gap:10px;padding:12px 16px;font-weight:600;font-size:.95rem}.banner.offline{background:var(--amber-soft);color:var(--amber);border-bottom:1px solid #F0D58A}.banner.emergency{background:var(--red-soft);color:var(--red);border-radius:14px}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#0a0f1c73;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:480px;max-height:92dvh;overflow-y:auto;background:var(--surface);border-radius:24px 24px 0 0;padding:20px 18px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:16px}.sheet-handle{width:44px;height:5px;border-radius:999px;background:var(--border);align-self:center}.call{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:var(--navy);color:#fff;display:flex;flex-direction:column}.call-controls{display:flex;justify-content:center;gap:22px;padding:20px 16px calc(28px + env(safe-area-inset-bottom))}.call-btn{width:72px;height:72px;border-radius:999px;border:0;display:flex;align-items:center;justify-content:center;cursor:pointer;background:#ffffff29;color:#fff}.call-btn.off{background:#fff;color:var(--navy)}.call-btn.end{background:#d92d20;width:88px}.call-label{font-size:.85rem;text-align:center;margin-top:6px}.bar-track{height:12px;border-radius:999px;background:var(--surface-2);overflow:hidden}.bar-fill{height:100%;border-radius:999px}.skeleton{background:linear-gradient(90deg,var(--surface-2) 25%,#F8FAFC 50%,var(--surface-2) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:14px}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.skeleton{animation:none}}.bubble{max-width:85%;padding:12px 16px;border-radius:20px;font-size:1.02rem;line-height:1.45}.bubble.me{align-self:flex-end;background:var(--navy);color:#fff;border-bottom-right-radius:6px}.bubble.them{align-self:flex-start;background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:6px}.composer{position:fixed;left:0;right:0;bottom:calc(68px + env(safe-area-inset-bottom));z-index:25;background:var(--bg);border-top:1px solid var(--border)}.composer-inner{max-width:480px;margin:0 auto;display:flex;gap:10px;align-items:flex-end;padding:10px 12px}.avatar{border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;flex:0 0 auto}.pill{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:600;border-radius:999px;padding:4px 12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.demo-fab{position:fixed;top:max(10px,env(safe-area-inset-top));right:10px;z-index:60}.demo-panel{position:fixed;top:60px;right:10px;z-index:60;width:260px;background:#111827;color:#f3f6fa;border-radius:16px;padding:12px;display:flex;flex-direction:column;gap:8px;font-size:.8rem;box-shadow:0 20px 50px #00000059}.demo-panel button{min-height:40px;border-radius:10px;border:1px solid #2A3850;background:#162033;color:#f3f6fa;text-align:left;padding:8px 10px;cursor:pointer;font-size:.8rem}
