/* TrueCycle assistant widget (billing assistant + AI Front Desk demo) */
.tca-root{--a-ink:#06131a;--a-ink2:#0b1f28;--a-panel:#0f2a35;--a-line:#1d4250;--a-fg:#e7f3f1;--a-muted:#8fb0ad;--a-teal:#1fd1bd;--a-gold:#f0b94b;--a-red:#ff5d62;
  font-family:"IBM Plex Sans","Segoe UI",system-ui,sans-serif;color:var(--a-fg);line-height:1.5}
.tca-root *{box-sizing:border-box}
.tca-root [hidden]{display:none!important}
.tca-fab{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:60;display:flex;align-items:center;gap:10px;background:var(--a-teal);color:var(--a-ink);border:0;border-radius:999px;padding:14px 20px;font:700 15px "IBM Plex Sans","Segoe UI",system-ui,sans-serif;cursor:pointer;box-shadow:0 10px 30px rgba(31,209,189,.35)}
.tca-fab svg{width:20px;height:20px}
.tca-fab:focus-visible,.tca-root button:focus-visible,.tca-root input:focus-visible,.tca-root select:focus-visible,.tca-root a:focus-visible{outline:2px solid var(--a-gold);outline-offset:2px}
.tca-peek{position:fixed;right:18px;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:59;max-width:min(260px,calc(100vw - 36px));background:var(--a-fg);color:var(--a-ink);border-radius:16px 16px 4px 16px;padding:12px 34px 12px 14px;font-size:14.5px;line-height:1.45;box-shadow:0 14px 40px rgba(0,0,0,.45);cursor:pointer;animation:tca-pop .4s ease-out}
.tca-peek b{display:block;font-family:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif}
.tca-peek button{position:absolute;top:6px;right:8px;background:none;border:0;font-size:18px;color:var(--a-ink);cursor:pointer}
@keyframes tca-pop{from{transform:translateY(12px);opacity:0}}
.tca-panel{position:fixed;right:18px;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:61;width:min(400px,calc(100vw - 24px));height:min(600px,calc(100svh - 110px));background:var(--a-ink2);border:1px solid var(--a-line);border-radius:22px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.tca-panel.tca-inline{position:relative;right:auto;bottom:auto;width:100%;height:600px;max-height:80svh;z-index:1;box-shadow:0 20px 60px rgba(0,0,0,.35)}
@media(max-width:520px){.tca-panel:not(.tca-inline){right:12px;bottom:calc(76px + env(safe-area-inset-bottom,0px));height:calc(100svh - 96px)}}
.tca-head{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--a-line);background:linear-gradient(180deg,rgba(31,209,189,.07),transparent)}
.tca-av{flex:none;width:38px;height:38px;border-radius:50%;background:conic-gradient(var(--a-teal),var(--a-gold),var(--a-teal));display:grid;place-items:center;font:800 13px "Bricolage Grotesque","Segoe UI",system-ui,sans-serif;color:var(--a-ink)}
.tca-head b{display:block;font:700 16px "Bricolage Grotesque","Segoe UI",system-ui,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tca-head small{color:var(--a-teal);font-size:12.5px}
.tca-head .tca-x{margin-left:auto;background:none;border:0;color:var(--a-muted);font-size:24px;line-height:1;cursor:pointer;padding:4px 6px}
.tca-head .tca-who{min-width:0}
.tca-msgs{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}
.tca-m{max-width:88%;padding:10px 14px;border-radius:16px;font-size:14.5px;line-height:1.5;white-space:pre-line;overflow-wrap:anywhere}
.tca-m.bot{background:var(--a-panel);border-bottom-left-radius:4px}
.tca-m.me{background:var(--a-teal);color:var(--a-ink);align-self:flex-end;border-bottom-right-radius:4px}
.tca-m a{color:var(--a-gold)}
.tca-tag{display:inline-block;margin-top:6px;font:11px "IBM Plex Mono",ui-monospace,monospace;color:var(--a-gold);border:1px dashed rgba(240,185,75,.5);border-radius:6px;padding:1px 6px}
.tca-typing{display:flex;gap:4px;padding:12px 14px;background:var(--a-panel);border-radius:16px;border-bottom-left-radius:4px;align-self:flex-start}
.tca-typing i{width:6px;height:6px;border-radius:50%;background:var(--a-muted);animation:tca-pulse 1s infinite}
.tca-typing i:nth-child(2){animation-delay:.2s}.tca-typing i:nth-child(3){animation-delay:.4s}
@keyframes tca-pulse{50%{opacity:.25}}
.tca-chips{display:flex;flex-wrap:wrap;gap:8px;align-self:stretch}
.tca-chips button{background:none;border:1px solid var(--a-line);color:var(--a-fg);border-radius:999px;padding:8px 13px;font:14px "IBM Plex Sans","Segoe UI",system-ui,sans-serif;cursor:pointer;transition:border-color .15s,background .15s}
.tca-chips button:hover{border-color:var(--a-teal)}
.tca-chips button.primary{background:var(--a-teal);color:var(--a-ink);border-color:var(--a-teal);font-weight:700}
.tca-chips button[disabled]{opacity:.45;cursor:default}
.tca-quick{display:flex;gap:8px;overflow-x:auto;padding:0 16px 10px;scrollbar-width:thin}
.tca-quick button{flex:none;background:none;border:1px solid var(--a-line);color:var(--a-fg);border-radius:999px;padding:7px 12px;font:13px "IBM Plex Sans","Segoe UI",system-ui,sans-serif;cursor:pointer}
.tca-quick button:hover{border-color:var(--a-teal)}
.tca-quick button.hot{border-color:var(--a-gold);color:var(--a-gold)}
.tca-root form{all:unset}
.tca-root .tca-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--a-line);margin:0;background:transparent;border-radius:0}
.tca-form input{flex:1;min-width:0;font:15px "IBM Plex Sans","Segoe UI",system-ui,sans-serif;color:var(--a-fg);background:var(--a-ink);border:1px solid var(--a-line);border-radius:12px;padding:11px 13px}
.tca-form button{background:var(--a-teal);border:0;border-radius:12px;padding:0 16px;font-weight:700;color:var(--a-ink);cursor:pointer}
.tca-foot{text-align:center;font-size:11.5px;color:var(--a-muted);padding:0 12px 10px;letter-spacing:.02em}
.tca-foot a{color:var(--a-muted);text-decoration:none}
.tca-foot a:hover{color:var(--a-teal)}
.tca-card{align-self:stretch;background:var(--a-panel);border:1px solid var(--a-line);border-radius:16px;padding:14px}
.tca-card h4{margin:0 0 8px;font:700 16px "Bricolage Grotesque","Segoe UI",system-ui,sans-serif}
.tca-card .tca-step{font:11.5px "IBM Plex Mono",ui-monospace,monospace;color:var(--a-teal);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.tca-bar{height:4px;border-radius:2px;background:var(--a-ink);overflow:hidden;margin:2px 0 12px}
.tca-bar i{display:block;height:100%;background:var(--a-teal);transition:width .3s}
.tca-days{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.tca-days button{background:var(--a-ink);border:1px solid var(--a-line);color:var(--a-fg);border-radius:12px;padding:8px 2px;cursor:pointer;font:12px "IBM Plex Sans","Segoe UI",system-ui,sans-serif;line-height:1.25}
.tca-days button b{display:block;font:700 17px "Bricolage Grotesque","Segoe UI",system-ui,sans-serif}
.tca-days button:hover,.tca-days button.on{border-color:var(--a-teal);background:rgba(31,209,189,.12)}
.tca-slots{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}
.tca-slots button{background:var(--a-ink);border:1px solid var(--a-line);color:var(--a-fg);border-radius:12px;padding:9px 6px;cursor:pointer;font:600 14px "IBM Plex Sans","Segoe UI",system-ui,sans-serif;text-align:center}
.tca-slots button small{display:block;font-weight:400;font-size:11.5px;color:var(--a-muted)}
.tca-slots button:hover{border-color:var(--a-teal)}
.tca-root .tca-fields{display:grid;gap:8px}
.tca-fields label{display:grid;gap:4px;font-size:12.5px;color:var(--a-muted)}
.tca-fields input,.tca-fields select{font:15px "IBM Plex Sans","Segoe UI",system-ui,sans-serif;color:var(--a-fg);background:var(--a-ink);border:1px solid var(--a-line);border-radius:10px;padding:10px 12px;width:100%}
.tca-fields .tca-err{color:var(--a-gold);font-size:13px;min-height:0}
.tca-row{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dashed var(--a-line);padding:6px 0;font-size:14px}
.tca-row span{color:var(--a-muted)}
.tca-row b{font-weight:600;text-align:right}
.tca-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.tca-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:10px 16px;font:700 14px "IBM Plex Sans","Segoe UI",system-ui,sans-serif;cursor:pointer;text-decoration:none;border:1px solid var(--a-line);background:none;color:var(--a-fg)}
.tca-btn.primary{background:var(--a-teal);border-color:var(--a-teal);color:var(--a-ink)}
.tca-btn.wa{background:#25d366;border-color:#25d366;color:#06131a}
.tca-btn[disabled]{opacity:.6;cursor:default}
.tca-ok{width:44px;height:44px;border-radius:50%;background:var(--a-teal);color:var(--a-ink);display:grid;place-items:center;font:800 22px "Bricolage Grotesque",system-ui,sans-serif;margin-bottom:8px}
.tca-ref{display:inline-block;font:600 15px "IBM Plex Mono",ui-monospace,monospace;color:var(--a-gold);background:rgba(240,185,75,.1);border-radius:8px;padding:3px 8px;margin-top:4px}
.tca-note{font-size:12.5px;color:var(--a-muted);margin:8px 0 0}
.tca-back{background:none;border:0;color:var(--a-muted);font-size:13px;cursor:pointer;padding:0;margin-top:10px;text-decoration:underline}
@media(prefers-reduced-motion:reduce){.tca-typing i{animation:none}.tca-peek{animation:none}.tca-msgs{scroll-behavior:auto}}
