:root{--surface:#101217;--ct-line:rgba(255,255,255,.10);--ct-warm:#ffd84a;--ct-purple:#b6a0ed} .app-main{max-width:1470px} .connect-banner{border:1px solid #c7ff3c35;background:linear-gradient(115deg,#c7ff3c08,#b59af006 50%,#15141b);border-radius:16px;padding:13px 17px;display:flex;gap:13px;align-items:center;margin-bottom:22px;font-size:12px;color:#c4d0c2} .connect-banner strong{color:#e0f9be} .connect-banner.error{border-color:#ff937d40;color:#ffd5c8} .signal{display:inline-block;width:8px;height:8px;border-radius:50%;background:#d6ff3f;box-shadow:0 0 16px #d6ff3f55;flex:none}.signal.off{background:#ffbd89;box-shadow:none} .top-copy{font-size:12px;color:#92979b;margin-top:8px} .live-glass{border:1px solid #ffffff12;border-top-color:#ffffff25;background:linear-gradient(142deg,#24242bc9,#111319db 75%);border-radius:23px;padding:24px;backdrop-filter:blur(16px);box-shadow:0 18px 45px #0003,inset 0 1px #ffffff06} .live-glass h2{font-size:23px;margin:4px 0 12px} .live-note{font-size:12px;color:#bbc2c1;line-height:1.6} .live-note.error{color:#ffaf9b}.live-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:11px;color:#bfc4c3}.live-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(285px,.87fr);gap:25px;align-items:start}.live-stack{display:grid;gap:18px}.office-stage.connect-stage{margin:-12px -35px 6px -29px;height:340px}.connect-stage .dot-main{left:46.3%;top:16%}.connect-stage .scene-callout{top:47%;right:8%}.connect-stage .scene-label{top:74%}.connect-header{margin-bottom:22px;display:flex;justify-content:space-between;align-items:end;gap:20px}.connect-header h1{font-size:clamp(32px,4vw,54px);line-height:1.08}.connect-header h1 span{color:#a3a5a7}.connect-header .right{display:flex;gap:8px;align-items:center}.ct-panel-list{display:flex;flex-direction:column;gap:10px}.ct-panel-row{display:flex;gap:12px;justify-content:space-between;align-items:center;background:#ffffff05;border:1px solid #ffffff0e;border-radius:12px;padding:13px 15px;min-width:0}.ct-panel-row>.grow{min-width:0}.ct-panel-row b{font-size:12px;display:block;overflow-wrap:anywhere}.ct-panel-row small{font-size:10px;color:#9fa7ab;display:block;margin-top:4px;line-height:1.5}.ct-pill{display:inline-flex;align-items:center;gap:5px;border:1px solid #ffffff16;border-radius:30px;padding:6px 10px;font-size:10px;color:#c9ccca;white-space:nowrap}.ct-pill.lime{border-color:#d6ff3f40;color:#d6ff3f;background:#d6ff3f10}.ct-pill.violet{border-color:#b6a0ed3a;color:#c8baff;background:#b6a0ed13}.ct-pill.warn{color:#ffd4a2;border-color:#e0a16a44;background:#e0a16a08}.ct-pill.danger{color:#ffaaa5;border-color:#fa918b36;background:#f1838308}.ct-kicker{font-size:10px;color:#c0c4c4;text-transform:uppercase;letter-spacing:1.6px;font-weight:600;margin-bottom:10px}.ct-hero-line{display:flex;justify-content:space-between;gap:12px;margin-bottom:17px;align-items:center}.ct-action-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:16px}.ct-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ct-kpi{padding:19px;background:#15181c;border-radius:18px;border:1px solid #ffffff10}.ct-kpi strong{display:block;font-size:30px;font-family:var(--heading);font-weight:600;letter-spacing:-1px;color:#d6ff3f;margin-top:11px}.ct-kpi span{font-size:11px;color:#a1a8a9}.ct-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ct-form-grid > .fullrow{grid-column:1/-1}.ct-field label{display:block;margin-bottom:8px;font-size:11px;color:#bfc2c3}.ct-field select,.ct-field input,.ct-field textarea{font-size:13px}.ct-field small{font-size:10px;color:#969ea0;display:block;margin-top:7px;line-height:1.5}.ct-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.ct-choice{min-height:245px;border-radius:23px;background:linear-gradient(145deg,#302b39b8,#14161a 80%);border:1px solid #ffffff17;border-top-color:#ffffff28;text-align:left;display:flex;flex-direction:column;padding:22px;position:relative;overflow:hidden}.ct-choice:nth-child(2){background:linear-gradient(145deg,#2b2c27,#15171b 84%)}.ct-choice:nth-child(3){background:linear-gradient(145deg,#30283b,#121416 84%)}.ct-choice:before{content:'';position:absolute;border-radius:50%;width:150px;height:150px;right:-45px;top:-40px;background:radial-gradient(#c6b2ff25,transparent 70%)}.ct-choice .ct-choice-art{height:92px;display:flex;align-items:center;justify-content:center;color:var(--lime)}.ct-choice .ct-choice-art svg{width:45px;height:45px;filter:drop-shadow(0 10px 22px #d6ff3f40)}.ct-choice:nth-child(2) .ct-choice-art{color:#c1adfa}.ct-choice b{font-family:var(--heading);font-weight:600;font-size:21px;line-height:1.15;margin-top:auto}.ct-choice p{font-size:11px;color:#b4b8ba;margin:11px 0 17px}.ct-choice:focus-visible,.ct-choice:hover{border-color:#d6ff3f70;transform:translateY(-2px)}.ct-workflow{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(305px,.8fr);gap:22px}.ct-flow{display:flex;align-items:center;gap:0;overflow:auto;padding:28px 0 12px}.ct-node{border:1px solid #ffffff1b;min-width:160px;max-width:240px;background:linear-gradient(150deg,#252932,#12161b);padding:19px 15px;border-radius:18px}.ct-node b{font-size:12px}.ct-node small{color:#a6aaa9;font-size:10px;display:block;margin-top:6px}.ct-wire{width:31px;height:1px;min-width:31px;background:linear-gradient(90deg,#c1b9ff55,#d6ff3f66)}.ct-step{display:flex;align-items:flex-start;gap:12px;padding:15px 0;border-bottom:1px solid #ffffff0c}.ct-step .number{display:grid;place-items:center;background:#d6ff3f13;color:#d6ff3f;width:28px;height:28px;border-radius:10px;font-size:11px;font-weight:600}.ct-step b{font-size:12px}.ct-step p{font-size:10px;color:#a6acaa}.ct-list{display:grid;gap:9px;max-height:440px;overflow:auto;padding-right:5px}.ct-list-item{padding:14px 15px;border:1px solid #ffffff12;border-radius:14px;background:#ffffff04;display:flex;align-items:center;gap:12px;cursor:pointer}.ct-list-item:hover,.ct-list-item.selected{border-color:#d6ff3f55;background:#d6ff3f08}.ct-list-item input{width:17px;height:17px;margin:0;accent-color:#d6ff3f;flex:none}.ct-list-item .grow{min-width:0}.ct-list-item b{font-size:12px}.ct-list-item small{display:block;font-size:10px;color:#aaa;margin-top:3px}.ct-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);gap:22px}.ct-table{width:100%;border-collapse:collapse;min-width:450px;text-align:left}.ct-table th{font-size:10px;color:#a8acaa;text-transform:uppercase;letter-spacing:1px;font-weight:550}.ct-table td{font-size:12px;border-bottom:1px solid #ffffff0d;padding:15px 10px}.ct-table td:first-child,.ct-table th:first-child{padding-left:0}.ct-table .ct-pill{font-size:9px}.ct-scroller{overflow:auto}.ct-dialog-backdrop{position:fixed;inset:0;z-index:50;background:#030405c9;backdrop-filter:blur(13px);display:grid;place-items:center;padding:16px}.ct-dialog{width:min(590px,100%);background:linear-gradient(155deg,#25252f,#101216);border:1px solid #ffffff24;border-radius:25px;padding:28px;max-height:90vh;overflow:auto;box-shadow:0 30px 100px #000b}.ct-dialog h2{margin:8px 0 16px}.ct-data{font-family:ui-monospace,monospace;font-size:11px;line-height:1.55;color:#b8c8ae;background:#0b1010;padding:13px;border-radius:12px;overflow-wrap:anywhere;white-space:pre-wrap}.ct-toast{padding:14px;border:1px solid #ffffff23;border-radius:13px;background:#222b24;color:#deeed7;box-shadow:0 12px 35px #0009;max-width:440px;font-size:12px}.ct-loading{padding:20px;color:#b4b8b9;font-size:12px}.ct-error-inline{color:#f4b9a8;font-size:12px;line-height:1.5}.ct-summary-list{display:grid;grid-template-columns:1fr 1fr;gap:11px}.ct-summary-list div{padding:14px;border-radius:13px;background:#ffffff04}.ct-summary-list small{display:block;font-size:10px;color:#9da5a3}.ct-summary-list b{display:block;margin-top:8px;font-size:13px}.ct-chat-log{min-height:310px;max-height:440px;overflow:auto;display:flex;flex-direction:column;gap:12px;padding:14px 0}.ct-message{padding:13px 16px;background:#20242b;border-radius:17px;font-size:12px;line-height:1.6;max-width:85%;align-self:flex-start;white-space:pre-wrap;overflow-wrap:anywhere}.ct-message.mine{background:#c9ed79;color:#17200e;align-self:flex-end}.ct-footer-note{color:#919a98;font-size:10px;margin:20px 0}.ct-flex{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ct-soft{color:#9ca4a3;font-size:12px;line-height:1.65}.ct-label-list{display:grid;gap:7px}.ct-label-list span{font-size:11px;color:#afb7b3}.ct-blankslate{text-align:center;padding:42px 25px;color:#a7aeaa;border:1px dashed #ffffff23;border-radius:16px}.ct-blankslate b{display:block;color:#e8ebe6;font-size:15px;margin:12px 0 6px}.ct-blankslate .icon{margin:auto;width:27px;height:27px}.ct-brand-tag{font-size:10px;letter-spacing:1.1px;color:#b9c6a5}.ct-tabs{display:flex;gap:5px;border:1px solid #ffffff10;border-radius:15px;background:#ffffff03;padding:4px;overflow:auto}.ct-tabs button{padding:9px 15px;border-radius:12px;font-size:12px;color:#b8bdb9;white-space:nowrap}.ct-tabs button.active{background:#d6ff3f;color:#141916}.ct-disabled{opacity:.65} .ct-usage-metric{font-size:28px;color:#d6ff3f;letter-spacing:-.8px}.ct-btn-secondary{border:1px solid #bda5ff38;background:#bda5ff0b;color:#e3d7ff}.ct-pair{display:flex;justify-content:space-between;align-items:baseline;gap:13px;border-bottom:1px solid #ffffff0a;padding:10px 0;font-size:12px}.ct-pair span{color:#aab1ad}.ct-pair b{font-weight:550} .ct-notebook .ct-panel-row{background:#ffffff05}.ct-working{animation:ct-pulse 2s infinite}@keyframes ct-pulse{50%{opacity:.4}}
@media(max-width:980px){.live-grid,.ct-workflow,.ct-split{grid-template-columns:1fr}.ct-choice-grid{grid-template-columns:1fr 1fr}.connect-stage{max-width:100%}}@media(max-width:620px){.app-main{padding-left:18px;padding-right:18px;padding-bottom:130px}.ct-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ct-form-grid,.ct-summary-list{grid-template-columns:1fr}.ct-choice-grid{grid-template-columns:1fr}.ct-choice{min-height:170px}.ct-choice .ct-choice-art{height:55px}.live-glass{padding:18px}.connect-header{flex-direction:column;align-items:flex-start}.connect-header h1{font-size:32px}.office-stage.connect-stage{height:300px;margin:0 -22px -2px}.connect-stage .dot-main{width:138px;height:138px}.connect-stage .scene-label{top:69%}.connect-stage .scene-callout{top:50%;right:-2%}.ct-dialog{padding:20px}.ct-flow{flex-direction:column}.ct-wire{height:23px;width:1px;min-width:1px;background:linear-gradient(#c1b9ff55,#d6ff3f66)}.ct-node{min-width:min(100%,285px);width:100%}.ct-pair{align-items:flex-start}.ct-pair b{text-align:right;overflow-wrap:anywhere}.ct-tabs{max-width:100%}}@media(prefers-reduced-motion:reduce){.ct-working{animation:none}}body.ct-reduced-motion .ct-working{animation:none}
/* Mobile typography: prevent headline wraps and maintain touch clarity. */
@media (max-width: 620px) {
  .connect-header h1 {font-size:clamp(27px,7.15vw,32px);line-height:1.17;letter-spacing:-.9px;overflow-wrap:normal}
  .connect-header {gap:13px}
  .connect-banner.error {align-items:flex-start;flex-direction:column}
  .connect-banner.error .btn {align-self:flex-start}
}

/* Integration fixes only: approved art, tokens and composition stay unchanged. */
.ct-list-item .icon-btn{flex:none}.ct-field textarea{width:100%;min-height:110px;resize:vertical}.ct-pair b{overflow-wrap:anywhere}.ct-toast{overflow-wrap:anywhere}.ct-summary-list b{overflow-wrap:anywhere}.ct-dialog .ct-flex{min-width:0}.btn:focus-visible,.icon-btn:focus-visible,.ct-tabs button:focus-visible{outline:2px solid var(--lime);outline-offset:4px}
@media(max-width:620px){.connect-banner{flex-wrap:wrap}.ct-list-item{flex-wrap:wrap}.ct-list-item>.grow{flex:1;min-width:120px}.ct-choice,.btn,.icon-btn{touch-action:manipulation}}

/* Small finishing touches to the approved office and existing V2 sign-in. */
.ct-login{grid-template-columns:minmax(0,1.3fr) minmax(320px,.8fr);gap:clamp(30px,5vw,76px);align-items:center;max-width:1160px;min-height:min(720px,calc(100svh - 170px));margin:0 auto;padding:18px 0 34px}
.ct-login-copy{min-width:0}
.ct-login .eyebrow{font-size:10px;letter-spacing:1.7px;line-height:1.6}
.ct-login h1{font-family:var(--heading);font-size:clamp(40px,4.5vw,62px);font-weight:500;letter-spacing:-2.2px;line-height:1.06;margin:20px 0 18px;text-wrap:balance}
.ct-login-copy>.ct-soft{font-family:var(--font);font-size:13px;line-height:1.75;max-width:410px;margin-bottom:25px}
.ct-login .ct-auth-card{width:100%;max-width:425px;justify-self:end;padding:clamp(25px,3vw,36px);border-radius:25px;box-shadow:0 22px 55px #0004,inset 0 1px 0 #ffffff0b}
.ct-login .ct-auth-card h2{font-family:var(--heading);font-size:clamp(24px,2.4vw,30px);line-height:1.17;letter-spacing:-.9px}
.ct-login .ct-field label{font-size:12px;line-height:1.5}
.ct-login .ct-field input{min-height:48px;font-family:var(--font);font-size:14px}
.ct-login .btn{min-height:48px}
.ct-login .ct-footer-note{font-size:11px;line-height:1.7;margin-bottom:0}
.office-stage.connect-stage{background:radial-gradient(ellipse at 49% 66%,#a6a77412,transparent 49%),radial-gradient(ellipse at 21% 10%,#b3a4e81b,transparent 59%),linear-gradient(142deg,#1e222e,#101420 67%,#151827);box-shadow:0 23px 42px -16px #0008,inset 0 1px 0 #ffffff0c,inset 0 -22px 45px #05070c3b}
.office-stage.connect-stage:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse at 51% 84%,#02040bb8,transparent 47%);opacity:.7}
.connect-stage .scene-container{z-index:1}
.connect-stage .scene-svg{filter:drop-shadow(0 19px 13px #02040b88) drop-shadow(0 2px 1px #c6b5f90c)}
.ct-login .ct-login-stage{height:310px;margin:0;border-radius:25px}
.ct-login-stage .scene-container{inset:14px -4px -6px}
.ct-login-stage .dot-main{width:160px;height:160px;top:16%;filter:drop-shadow(0 15px 19px #080b1280)}
@media(max-width:980px){.ct-login{grid-template-columns:minmax(0,1fr) minmax(300px,.85fr);gap:28px;min-height:calc(100svh - 160px)}.ct-login h1{font-size:clamp(40px,5vw,53px)}.ct-login .ct-login-stage{height:280px}.ct-login-stage .dot-main{width:145px;height:145px}}
@media(max-width:760px){.ct-login{grid-template-columns:1fr;max-width:540px;gap:30px;min-height:0;padding:8px 0 30px}.ct-login h1{font-size:clamp(40px,9vw,54px)}.ct-login-copy>.ct-soft{max-width:390px}.ct-login .ct-auth-card{max-width:none;justify-self:stretch}.ct-login .ct-login-stage{height:265px}.ct-login-stage .scene-container{inset:7px -2px -6px}.ct-login-stage .dot-main{width:140px;height:140px;left:46.3%;top:15%}}
@media(max-width:420px){.ct-login .eyebrow{font-size:9px;letter-spacing:1.35px}.ct-login h1{letter-spacing:-1.7px}.ct-login-copy>.ct-soft{font-size:12px}.ct-login .ct-login-stage{height:225px;border-radius:22px}.ct-login-stage .dot-main{width:121px;height:121px}.ct-login .ct-auth-card{padding:25px 22px}.ct-login .ct-auth-card h2{font-size:25px}}

/* Provider controls extend the approved Studio surfaces without changing art. */
.ct-provider{align-items:flex-start;gap:20px}.ct-provider .grow small{display:block;line-height:1.65;margin-top:6px}.ct-provider .ct-action-row{flex-shrink:0;margin:0}#credentialForm{max-width:560px}#credentialForm input{letter-spacing:.02em}
@media(max-width:700px){.ct-provider{flex-wrap:wrap}.ct-provider .ct-action-row{width:100%}.ct-provider .ct-action-row .btn{flex:1}}

/* Auth controls extend the approved login card; layout/art remain unchanged. */
.ct-auth-fields{display:grid;gap:17px;margin-top:24px}.ct-password-control{position:relative}.ct-login .ct-password-control input{width:100%;padding-right:118px}.ct-password-toggle{position:absolute;right:5px;top:2px;min-width:102px;min-height:44px;padding:0 8px;color:var(--text,#eef0e8);font:inherit;font-size:12px;border-radius:8px}.ct-password-toggle:hover,.ct-auth-link:hover{color:var(--lime,#d6ff3f)}.ct-password-toggle:focus-visible,.ct-auth-link:focus-visible{outline:2px solid var(--lime,#d6ff3f);outline-offset:2px}.ct-auth-links{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px}.ct-auth-link{display:inline-flex;align-items:center;min-height:44px;font:inherit;font-size:13px;text-align:left}.ct-auth-card> .ct-auth-link{margin-top:12px}

/* Native WhatsApp pairing uses the existing Studio surfaces. */
.ct-channel .ct-soft{margin:14px 0;line-height:1.7}.ct-channel .ct-field{margin:16px 0}.ct-qr{display:grid;justify-items:center;gap:14px;margin:22px 0}.ct-qr img{width:min(256px,100%);height:auto;background:white;padding:12px;border-radius:12px}.ct-qr p{max-width:300px;text-align:center;line-height:1.7;font-size:13px;color:var(--muted)}.ct-channel .ct-action-row .btn{min-height:44px}

/* Credential validation reports server milestones, never estimated percentages. */
.ct-chat-employee{max-width:420px;margin:0 0 20px}.ct-chat-employee select{width:100%;min-height:44px}.ct-saved-routines{margin-top:24px}.ct-saved-routines>summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:13px;color:var(--muted,#bfc2c3)}.ct-saved-routines>summary:focus-visible{outline:2px solid var(--lime);outline-offset:4px}
.ct-provider-group+.ct-provider-group{margin-top:16px}.ct-provider-setup{padding:15px 0 0}.ct-provider-setup>p{line-height:1.65;margin:8px 0}.ct-provider-progress{display:block;width:100%;height:7px;border:0;border-radius:8px;overflow:hidden;accent-color:var(--lime);margin:12px 0}.ct-provider-progress::-webkit-progress-bar{background:#ffffff14;border-radius:8px}.ct-provider-progress::-webkit-progress-value{background:var(--lime);border-radius:8px}.ct-provider-progress:not([value]){animation:ct-access-pulse 1.6s ease-in-out infinite}.ct-provider-success{color:#8cecaf;font-size:13px}.ct-provider-steps{display:flex;flex-wrap:wrap;gap:8px 24px;margin:12px 0 18px;padding-left:20px;color:#bfc2c3;font-size:11px}.ct-provider-setup .ct-form-grid{gap:14px}@keyframes ct-access-pulse{50%{opacity:.45}}@media(prefers-reduced-motion:reduce){.ct-provider-progress:not([value]){animation:none}}
/* Existing wallet surface: compare the returned products without leaving a lead. */
.ct-wallet{min-width:0}.ct-wallet-filters{display:grid;grid-template-columns:2fr repeat(2,minmax(140px,1fr));gap:16px;margin:22px 0}.ct-wallet-filters input,.ct-wallet-filters select{width:100%;min-height:44px}.ct-wallet-filters label{font-size:13px}.ct-wallet-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:14px 0}.ct-wallet-actions>span{margin-right:auto}.ct-wallet-scroller{overflow:auto;max-height:68vh;margin-top:18px;border-top:1px solid #ffffff17}.ct-wallet-scroller:focus-visible{outline:2px solid var(--lime);outline-offset:3px}.ct-wallet-table{min-width:950px}.ct-wallet-table>thead{position:sticky;top:0;background:#17191f;z-index:1}.ct-wallet-table>thead th{font-size:11px;letter-spacing:.5px;padding:14px 12px}.ct-wallet-table>tbody>tr>td{vertical-align:top;padding:18px 12px}.ct-wallet-table tr.selected{background:#d6ff3f09}.ct-lead-select{display:flex;gap:12px;align-items:flex-start;min-width:175px;cursor:pointer}.ct-lead-select input{width:20px;height:20px;margin:0;accent-color:var(--lime);flex-shrink:0}.ct-lead-select b{font-size:13px}.ct-lead-select small{display:block;font-size:11px;color:#b0b7b5;line-height:1.6;margin-top:6px}.ct-lead-binding{display:grid;gap:6px;min-width:160px;margin-bottom:18px}.ct-lead-binding small,.ct-lead-binding span{font-size:12px;color:#b0b7b5}.ct-lead-margins{min-width:365px;margin-bottom:14px}.ct-lead-margins>b{font-size:12px;color:#beb2ec}.ct-lead-margins table{width:100%;border-collapse:collapse;margin-top:7px}.ct-lead-margins th{text-align:left;font-size:11px;text-transform:none;letter-spacing:0;padding:8px}.ct-lead-margins td{padding:8px;font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}.ct-lead-margins td:first-child{white-space:normal;min-width:130px}.ct-lead-details{min-width:145px;margin-bottom:14px}.ct-lead-details[open]{width:min(370px,70vw)}.ct-lead-details summary,.ct-wallet-query>summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:13px}.ct-lead-details summary:focus-visible,.ct-wallet-query>summary:focus-visible{outline:2px solid var(--lime);outline-offset:3px}.ct-lead-details .ct-pair{align-items:flex-start;flex-wrap:wrap}.ct-wallet-query{margin-top:22px}.ct-wallet-query>summary{color:var(--text);font-weight:600}.ct-wallet-query .ct-fast-path{border:0;padding:14px 0 0;background:none}.ct-wallet-table td> .btn{white-space:nowrap}
@media(max-width:760px){.ct-wallet-filters{grid-template-columns:1fr 1fr}.ct-wallet-filters>.ct-field:first-child{grid-column:1/-1}.ct-wallet-actions .btn{min-height:44px}.ct-wallet-actions>.primary{width:100%;justify-content:center}.ct-wallet-scroller{max-height:65vh}}
@media(max-width:420px){.ct-wallet-filters{grid-template-columns:1fr}.ct-wallet-filters>.ct-field:first-child{grid-column:auto}.ct-wallet{padding:16px}.ct-wallet-actions>.btn:not(.primary){flex:1;font-size:12px}}
.ct-lead-result-binding{margin:16px 0}.ct-lead-details dl{margin:12px 0;display:grid;grid-template-columns:minmax(85px,.8fr) minmax(100px,1.2fr);gap:8px 12px}.ct-lead-details dt{color:#b0b7b5;font-size:12px}.ct-lead-details dd{margin:0;font-size:12px;overflow-wrap:anywhere}.ct-lead-result-binding h4{font-size:13px;margin-bottom:12px}.ct-lead-result-binding table{font-size:11px}.ct-lead-result-binding table th{font-size:10px;letter-spacing:0;white-space:normal}
/* Keep the composer beside its action, including narrow chat columns. */
.ct-chat-panel #chatForm .ct-flex{flex-wrap:nowrap;align-items:stretch}.ct-chat-panel #liveChatInput{flex:1;min-width:0;width:0}.ct-chat-panel #chatForm button{flex:none;white-space:nowrap;min-height:44px}

/* Existing composition; restrained feedback and the original Dot signature. */
.brand-symbol{filter:drop-shadow(0 0 7px #d6ff3f20);transition:transform .2s ease}.brand:hover .brand-symbol{transform:rotate(-5deg) scale(1.05)}
.ct-dialog form>.ct-field{margin:16px 0}.ct-action-row .btn{transition:transform .18s ease,border-color .18s ease}.ct-action-row .btn:active{transform:translateY(1px)}
@media(prefers-reduced-motion:reduce){.brand-symbol,.ct-action-row .btn{transition:none;transform:none!important}}

@media(max-width:620px){.header-actions{gap:6px;flex-shrink:0}.header-actions .preview-label{display:none}.header-actions .desktop-word,.ct-back-label{display:none}.header-actions .btn{min-width:40px;min-height:40px;padding:8px}.header-actions .user-circle{width:36px;height:36px}.app-header{gap:10px}}


/* Continuous canonical pointer illumination across the whole Studio page.
   The existing mountMaterial(root) supplies the approved pointer coordinates.
   This overlay never receives input, covers no text with an opaque fill,
   and is disabled for reduced-motion users. */
body.ct-ui #main[data-ct-continuous-light="true"]{
  position:relative;
  isolation:isolate;
}
body.ct-ui #main[data-ct-continuous-light="true"]::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  border-radius:inherit;
  opacity:0;
  background:radial-gradient(240px circle at var(--ct-pointer-x,50%) var(--ct-pointer-y,50%),rgba(238,240,232,.065),transparent 75%);
  transition:opacity 180ms ease;
}
body.ct-ui #main[data-ct-continuous-light="true"][data-ct-lit="true"]::after{opacity:1}
body.ct-ui #main[data-ct-continuous-light="true"]::before{opacity:0}
@media(prefers-reduced-motion:reduce){
  body.ct-ui #main[data-ct-continuous-light="true"]::after{opacity:0!important;transition:none!important}
}

/* P4 — progresso real da verificação/QR. Estados observáveis (abrir sessão →
   solicitar código → QR pronto), contador finito de validade, sem spinner
   infinito. As classes são reutilizadas pelo harness do teste de browser. */
.ct-channel-progress{display:grid;gap:10px;margin:16px 0;padding:14px 16px;border:1px solid #ffffff14;border-radius:14px;background:#ffffff04}
.ct-channel-progress-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline;font-size:12px}
.ct-channel-progress-head b{color:#e8ebe6}
.ct-channel-progress-head span{color:#d6ff3f;font-variant-numeric:tabular-nums;font-size:11px}
.ct-channel-progress-bar{display:block;width:100%;height:8px;border:0;border-radius:8px;overflow:hidden;background:#ffffff14;accent-color:#d6ff3f}
.ct-channel-progress-bar::-webkit-progress-bar{background:#ffffff14;border-radius:8px}
.ct-channel-progress-bar::-webkit-progress-value{background:linear-gradient(90deg,#b6a0ed,#d6ff3f);border-radius:8px;transition:width .25s ease}
.ct-channel-progress-bar::-moz-progress-bar{background:linear-gradient(90deg,#b6a0ed,#d6ff3f);border-radius:8px}
.ct-channel-steps{display:flex;gap:10px;list-style:none;margin:4px 0 0;padding:0;flex-wrap:wrap}
.ct-channel-steps li{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#9aa3a1}
.ct-channel-steps li.active{color:#eef0e8}
.ct-channel-steps li.done{color:#d6ff3f}
.ct-channel-step-mark{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;border:1px solid #ffffff22;font-size:10px;color:inherit;flex:none}
.ct-channel-steps li.active .ct-channel-step-mark{border-color:#d6ff3f;background:#d6ff3f14;color:#d6ff3f}
.ct-channel-steps li.done .ct-channel-step-mark{border-color:#d6ff3f55;background:#d6ff3f18;color:#d6ff3f}
.ct-channel-progress-note{color:#8f9896;font-size:10px;line-height:1.55}
.ct-qr-validity{display:inline-block;margin-top:8px;font-size:11px;color:#bfc4c3;font-variant-numeric:tabular-nums}
.ct-qr-validity[data-qr-expired=true]{color:#ffaaa5}
@media(max-width:620px){.ct-channel-progress{padding:12px}.ct-channel-steps{gap:7px}.ct-channel-steps li{font-size:10px}}
@media(prefers-reduced-motion:reduce){.ct-channel-progress-bar::-webkit-progress-value{transition:none}}
