:root{--bg: #F8FAFC;--surface: #FFFFFF;--surface-2: #F1F5F9;--text: #0F172A;--muted: #475569;--border: #E2E8F0;--accent: #6E336C;--accent-hover: #5C2B5A;--accent-ink: #FFFFFF;--user: #341732;--user-ink: #F8FAFC;--brand-gradient: linear-gradient(165deg, #150A19 0%, #341732 42%, #6E336C 100%);--ok: #047857;--ok-bg: #ECFDF5;--warn: #B45309;--warn-bg: #FFFBEB;--info: #1D4ED8;--info-bg: #EFF6FF;--danger: #B91C1C;--shadow: 0 1px 2px rgb(15 23 42 / .06), 0 4px 16px rgb(15 23 42 / .06);--radius: 14px;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #140C17;--surface: #1D1321;--surface-2: #281B2D;--text: #E2E8F0;--muted: #A9A3B3;--border: #3A2A40;--accent: #C58BC2;--accent-hover: #D3A3D0;--accent-ink: #1B0B1A;--user: #4A2447;--user-ink: #F1E8F0;--ok: #34D399;--ok-bg: #052E26;--warn: #FBBF24;--warn-bg: #3A2A05;--info: #93C5FD;--info-bg: #0F2447;--danger: #F87171;--shadow: 0 1px 2px rgb(0 0 0 / .4);color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:16px/1.45 Inter,system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:.6rem .9rem;min-height:44px}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);color:var(--accent-ink);border-color:transparent;font-weight:600}button.primary:hover:not(:disabled){background:var(--accent-hover)}button.link{border:none;background:none;color:var(--accent);min-height:auto;padding:.5rem 0}button.icon{border:none;background:none;width:44px;height:44px;padding:0;font-size:1.25rem;display:grid;place-items:center}span.icon{width:44px}input,select,textarea{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.6rem .75rem;min-height:44px;width:100%}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.muted{color:var(--muted)}.fine{color:var(--muted);font-size:.8rem}.error{color:var(--danger)}.notice{background:var(--surface-2);border-radius:10px;padding:.6rem .75rem;margin:.5rem 0 0}.warn-text{color:var(--warn)}.pad{padding:1rem}.signin,.splash{min-height:100%;display:grid;place-items:center;padding:1.5rem}.signin{background:var(--brand-gradient)}.signin-card .logo{width:132px;height:132px;border-radius:50%;background:#fff;padding:6px}.signin-card .org{margin:.25rem 0 0;color:var(--muted);font-size:.9rem}.signin-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:2rem 1.5rem;box-shadow:var(--shadow);text-align:center}.signin-card h1{margin:.75rem 0 0;font-size:1.6rem}.signin-card form{display:grid;gap:.6rem;margin-top:1.5rem;text-align:left}.signin-card label{font-weight:600;font-size:.9rem}.signin-card .fine{margin-top:1.25rem}.signin-card a{color:var(--accent)}.shell{height:100%;display:grid;grid-template-rows:auto 1fr}.top{display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top) + .25rem) .5rem .25rem;background:var(--surface);border-bottom:1px solid var(--border)}.top h1{font-size:1.05rem;margin:0;display:flex;align-items:center;gap:.5rem}.top h1 img{width:28px;height:28px;border-radius:50%;background:#fff;flex:none}.top{border-top:3px solid var(--accent)}.content{min-height:0;overflow:hidden}.drawer-backdrop,.sheet-backdrop{position:fixed;inset:0;background:#0f172a73;z-index:20}.drawer{position:fixed;top:0;bottom:0;left:0;width:min(84vw,320px);background:var(--surface);z-index:30;transform:translate(-102%);transition:transform .2s ease;display:flex;flex-direction:column;gap:.25rem;padding:calc(env(safe-area-inset-top) + 1rem) .75rem calc(env(safe-area-inset-bottom) + 1rem);box-shadow:var(--shadow)}.drawer.open{transform:none}.drawer .who{display:grid;padding:.5rem .5rem 1rem;border-bottom:1px solid var(--border);margin-bottom:.5rem}.drawer .brand{display:flex;align-items:center;gap:.6rem;padding:0 .5rem .75rem;font-size:.8rem;color:var(--muted)}.drawer .brand img{width:40px;height:40px;border-radius:50%;background:#fff}.drawer button{text-align:left;border:none;background:none}.drawer button.on{background:var(--surface-2);font-weight:600}.drawer .drawer-section{padding:.75rem .5rem;font-size:.85rem}.drawer .signout{margin-top:auto;color:var(--danger)}@media(prefers-reduced-motion:reduce){.drawer{transition:none}}.chat{height:100%;display:grid;grid-template-rows:auto 1fr auto auto}.pinned-offers{max-height:50vh;overflow-y:auto;padding:0 .75rem}.pinned-offers:not(:empty){padding:.75rem .75rem .5rem;border-bottom:1px solid var(--border);background:var(--bg)}.messages{overflow-y:auto;padding:1rem .75rem;display:flex;flex-direction:column;gap:.75rem;overscroll-behavior:contain}.welcome{margin:auto 0;text-align:center;color:var(--muted);padding:2rem 1rem}.welcome h2{color:var(--text);margin:0 0 .5rem}.msg{display:flex;flex-direction:column;gap:.5rem;max-width:min(88%,640px)}.msg.user{align-self:flex-end;align-items:flex-end}.msg.assistant{align-self:flex-start}.bubble{padding:.6rem .85rem;border-radius:18px;word-wrap:break-word}.msg.user .bubble{background:var(--user);color:var(--user-ink);border-bottom-right-radius:6px}.msg.user.pending .bubble{opacity:.6}.msg.assistant .bubble{background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:6px}.md p{margin:0 0 .5rem}.md p:last-child{margin-bottom:0}.md ul,.md ol{margin:.25rem 0;padding-left:1.25rem}.md table{border-collapse:collapse;margin:.5rem 0;font-size:.92rem;display:block;overflow-x:auto}.md th,.md td{border-bottom:1px solid var(--border);padding:.4rem .6rem;text-align:left;white-space:nowrap}.md th{background:var(--surface-2);font-weight:600}.typing{display:flex;gap:4px}.typing span{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:blink 1.2s infinite ease-in-out}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.quick{display:flex;gap:.5rem;padding:.5rem .75rem 0;overflow-x:auto}.quick button{border-radius:999px;padding:.4rem 1rem;min-height:38px;white-space:nowrap;background:var(--surface-2);border-color:transparent;font-weight:500}.composer{display:flex;gap:.5rem;align-items:flex-end;padding:.5rem .75rem calc(env(safe-area-inset-bottom) + .5rem)}.composer textarea{resize:none;max-height:8rem;border-radius:22px;padding:.65rem 1rem}.composer .send{width:44px;border-radius:50%;padding:0;background:var(--accent);color:var(--accent-ink);border:none;font-size:1.2rem;font-weight:700;flex:none}.composer .send{display:grid;place-items:center}.composer .send.mic.transcribing svg{animation:spin .9s linear infinite}.composer .send.mic.recording{background:var(--danger);color:#fff;animation:pulse 1.2s infinite}@keyframes pulse{0%,to{box-shadow:0 0 #b91c1c80}50%{box-shadow:0 0 0 8px #b91c1c00}}@keyframes spin{to{transform:rotate(360deg)}}.speak{border:none;background:none;min-height:28px;padding:0 .25rem;font-size:.9rem;opacity:.6;align-self:flex-start;color:var(--muted);display:inline-grid;place-items:center}.voice-error{padding:0 .75rem .5rem;margin:0;font-size:.85rem}.offers{display:grid;gap:.5rem}.card.offer{border:2px solid var(--accent);display:grid;gap:.2rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem;box-shadow:var(--shadow);width:100%}.card-kicker{font-size:.75rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--muted);margin-bottom:.4rem}.card.attendance{border-left:4px solid var(--ok)}.card.attendance.warn{border-left-color:var(--warn)}.card.details .patient{font-size:1.3rem;font-weight:700;margin:.1rem 0 .5rem}.card dl{display:grid;grid-template-columns:auto 1fr;gap:.25rem .75rem;margin:0 0 .5rem}.card dt{color:var(--muted)}.card dd{margin:0}.chip{font-size:.75rem;font-weight:600;padding:.15rem .55rem;border-radius:999px;white-space:nowrap;background:var(--surface-2);color:var(--muted)}.chip.ok{background:var(--ok-bg);color:var(--ok)}.chip.warn{background:var(--warn-bg);color:var(--warn)}.chip.info{background:var(--info-bg);color:var(--info)}.pane{height:100%;overflow-y:auto;padding:.75rem;display:flex;flex-direction:column;gap:.75rem}.tabs{display:flex;gap:.25rem;background:var(--surface-2);padding:.25rem;border-radius:12px}.tabs button{flex:1;border:none;background:none;min-height:38px}.tabs button.on{background:var(--surface);box-shadow:var(--shadow);font-weight:600}.list{display:flex;flex-direction:column;gap:.5rem}.job-row{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:center;text-align:left;width:100%;padding:.65rem .75rem}.card .job-row{border:none;border-top:1px solid var(--border);border-radius:0;padding-inline:0}.card .job-row:first-of-type{border-top:none}.job-when,.job-what{display:grid}.job-when span,.job-what .muted{font-size:.85rem}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--bg);border-radius:20px 20px 0 0;padding:1rem 1rem calc(env(safe-area-inset-bottom) + 1rem);max-height:88vh;overflow-y:auto;box-shadow:var(--shadow)}.sheet header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.sheet h2{margin:.1rem 0;font-size:1.15rem}.sheet .muted{margin:0}.actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 .5rem}@media(min-width:720px){.sheet{left:50%;right:auto;width:560px;transform:translate(-50%);bottom:2rem;border-radius:20px}}.statement .total{font-size:1.8rem;font-weight:700;margin:.1rem 0 .25rem}.pay-group{border-top:1px solid var(--border);margin-top:.75rem;padding-top:.5rem}.pay-head{display:flex;justify-content:space-between;font-weight:600;margin-bottom:.25rem}.pay-line{display:flex;justify-content:space-between;gap:.75rem;padding:.35rem 0;font-size:.92rem}.pay-line .muted{font-size:.8rem}.job-row.admin{grid-template-columns:1fr auto;grid-template-areas:"when chip" "what what";row-gap:.2rem}.job-row.admin .job-when{grid-area:when;display:flex;gap:.5rem;align-items:baseline;flex-wrap:wrap}.job-row.admin .job-what{grid-area:what}.job-row.admin .chip{grid-area:chip}.pane.wide{max-width:1400px;margin:0 auto;width:100%}.scroll-x{overflow-x:auto;margin:.25rem 0 .5rem}table.grid{border-collapse:collapse;font-size:.85rem;min-width:100%}table.grid th,table.grid td{border-bottom:1px solid var(--border);padding:.35rem .5rem;text-align:left;white-space:nowrap;max-width:28rem;overflow:hidden;text-overflow:ellipsis}table.grid th{background:var(--surface-2);position:sticky;top:0;font-weight:600;text-transform:capitalize}.card.confirm{border-left:4px solid var(--accent)}.feed{list-style:none;margin:0;padding:0}.feed-item{border-top:1px solid var(--border);padding:.6rem 0;display:grid;gap:.3rem}.feed-item:first-child{border-top:none}.feed-item.urgent .feed-text{font-weight:600}.feed-meta{display:flex;gap:.5rem;align-items:center;font-size:.8rem}.feed-text{white-space:pre-wrap}button.small{min-height:34px;padding:.3rem .8rem;justify-self:start}.form{display:grid;gap:.6rem}.form label{display:grid;gap:.25rem;font-size:.88rem;font-weight:500}.two{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.range{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.chip-btn{border-radius:999px;min-height:34px;padding:.25rem .8rem;font-size:.85rem;background:var(--surface-2);border-color:transparent}.chip-btn.on{background:var(--accent);color:var(--accent-ink)}ul.plain{margin:0 0 .5rem;padding-left:1.1rem}.badge-host{position:relative}.badge{position:absolute;top:6px;right:4px;background:var(--danger);color:#fff;border-radius:999px;font-size:.65rem;font-weight:700;min-width:16px;height:16px;display:grid;place-items:center;padding:0 4px}.badge.inline{position:static;display:inline-grid;margin-left:.5rem}details.card summary{cursor:pointer;font-weight:600;margin-bottom:.5rem}details.card textarea{margin-bottom:.5rem;font-family:ui-monospace,monospace;font-size:.85rem}.days{list-style:none;margin:0;padding:0}.day{display:grid;grid-template-columns:1fr auto auto;gap:.5rem;width:100%;text-align:left;border:none;border-top:1px solid var(--border);border-radius:0;background:none;padding:.55rem 0;align-items:center}.days li:first-child .day{border-top:none}.day:disabled{opacity:1;cursor:default}.week{display:grid;gap:.5rem}.week-row{display:grid;grid-template-columns:6.5rem 7rem 1fr;gap:.5rem;align-items:center}.hours{display:flex;gap:.4rem}.hours.custom{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.hours.custom button{grid-column:1 / -1}@media(max-width:380px){.week-row{grid-template-columns:1fr 1fr}.week-row .hours{grid-column:1 / -1}}.setup-backdrop{position:fixed;inset:0;z-index:40;background:#140c178c;display:flex;align-items:flex-end;justify-content:center;padding:16px}.setup-sheet{width:100%;max-width:420px;background:var(--surface);color:var(--text);border-radius:20px;padding:1.25rem 1.25rem 1rem;box-shadow:var(--shadow);text-align:center;margin-bottom:env(safe-area-inset-bottom)}.setup-sheet .logo{border-radius:50%;background:#fff;padding:4px}.setup-sheet h2{margin:.5rem 0 1rem;font-size:1.25rem}.setup-row{display:flex;align-items:center;gap:.75rem;text-align:left;padding:.75rem 0;border-top:1px solid var(--border)}.setup-row>div{flex:1}.setup-row p{margin:.15rem 0 0}.setup-row .done{color:var(--accent);font-weight:600;white-space:nowrap}.setup-sheet .later{margin-top:.75rem;background:none;border:none;color:var(--muted);width:100%}.install-hint{position:fixed;z-index:30;left:16px;right:16px;top:calc(env(safe-area-inset-top) + 64px);display:flex;align-items:flex-start;gap:.5rem;padding:.6rem .75rem;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;font-size:.9rem}.install-hint span{flex:1}
