:root{--pink: #e84a8a;--pink-dark: #c5316c;--ink: #2a2230;--muted: #8a8090;--bg: #faf7f9;--card: #ffffff;--line: #ece0e7;--badge-bg: #fbe6f0;--bubble-theirs: #f1ebf0}:root[data-theme=dark]{--pink: #ff5fa0;--pink-dark: #ff8fbc;--ink: #f1e8ee;--muted: #9d8da0;--bg: #1a1118;--card: #251a22;--line: #3a2632;--badge-bg: #3a1b2b;--bubble-theirs: #2d1f29}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink)}.app{max-width:860px;margin:0 auto;padding:16px}header.brand{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);margin-bottom:16px;flex-wrap:wrap;gap:8px}.brand h1{font-size:22px;margin:0;color:var(--pink);letter-spacing:-.5px}.brand h1 small{color:var(--muted);font-weight:600;font-size:13px}nav.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}nav.tabs button{background:transparent;color:var(--ink);border:1px solid var(--line);padding:8px 14px;border-radius:999px;font-weight:600}nav.tabs button.active{background:var(--pink);color:#fff;border-color:var(--pink)}button{font:inherit;cursor:pointer;border:none;border-radius:10px;padding:9px 14px;background:var(--pink);color:#fff;font-weight:600}button.ghost{background:transparent;color:var(--pink);border:1px solid var(--pink)}button.danger{background:var(--card);color:var(--pink-dark);border:1px solid var(--pink-dark)}button.sm{padding:6px 10px;font-size:13px;border-radius:8px}button:disabled{opacity:.5;cursor:default}input,select,textarea{font:inherit;padding:9px 11px;border:1px solid var(--line);border-radius:10px;width:100%;margin:6px 0 12px;background:var(--card);color:var(--ink)}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:12px}.card h3{margin:0 0 4px}.row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.actions{display:flex;gap:6px;flex-wrap:wrap}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.muted{color:var(--muted);font-size:14px}.badge{display:inline-block;padding:4px 10px;border-radius:999px;background:var(--badge-bg);color:var(--pink-dark);font-size:13px;font-weight:600}.status{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;padding:3px 8px;border-radius:6px}.status.requested{color:#946100;background:#fff3d6}.status.confirmed{color:#0d7a45;background:#d8f5e6}.status.completed{color:#3b4ad6;background:#e1e5ff}.status.cancelled,.status.no_show{color:var(--pink-dark);background:#fde3ee}.err{color:var(--pink-dark);font-size:14px}.ok{color:#0d7a45;font-size:14px}.check{font-size:14px}.check.done{color:#0d7a45}.check.todo{color:var(--muted)}@media(max-width:560px){.grid2{grid-template-columns:1fr}}.thread{display:flex;flex-direction:column;gap:8px;max-height:420px;overflow-y:auto;padding:4px}.bubble{max-width:78%;padding:8px 12px;border-radius:14px;font-size:14px;line-height:1.35;white-space:pre-wrap;word-break:break-word}.bubble.mine{align-self:flex-end;background:var(--pink);color:#fff;border-bottom-right-radius:4px}.bubble.theirs{align-self:flex-start;background:var(--bubble-theirs);color:var(--ink);border-bottom-left-radius:4px}.bubble time{display:block;font-size:11px;opacity:.7;margin-top:3px}.composer{display:flex;gap:8px;margin-top:12px}.composer textarea{flex:1;resize:vertical;min-height:40px;font:inherit;padding:8px 10px;border-radius:10px;border:1px solid var(--line)}.convo{cursor:pointer}.convo .badge.unread{background:var(--pink);color:#fff}.empty{color:var(--muted);font-size:14px;padding:12px 0}
