.tci-shell{
  --tci-white:#fff;
  --tci-ink:#1e1824;
  --tci-muted:#746b7b;
  --tci-line:#e9e3ed;
  --tci-soft:#f7f4f9;
  --tci-purple:#6500b8;
  --tci-magenta:#e6007e;
  --tci-cyan:#00aeef;
  --tci-green:#149c61;
  --tci-danger:#c73552;
  --tci-radius:20px;
  --tci-radius-sm:14px;
  --tci-shadow:0 14px 34px rgba(46,22,63,.08);
  --tci-max:760px;
  color-scheme:light;
  width:100%;
  min-height:100vh;
  overflow-x:hidden;
  background:#fff;
  color:var(--tci-ink);
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
}
.tci-shell,.tci-shell *,.tci-shell *:before,.tci-shell *:after{box-sizing:border-box}
body.tci-standalone{margin:0;min-height:100vh;background:#fff}
.tci-shell [hidden]{display:none!important}
.tci-shell button,.tci-shell input,.tci-shell select{font:inherit;font-weight:400}
.tci-shell button{cursor:pointer}
.tci-shell button:focus-visible,.tci-shell input:focus-visible,.tci-shell select:focus-visible,.tci-shell .tci-segmented input:focus-visible+span{outline:3px solid rgba(0,174,239,.45);outline-offset:2px}

/* Banner único con color. No se solapa con el contenido. */
.tci-hero{
  width:min(var(--tci-max),calc(100% - 24px));
  margin:12px auto 0;
  border-radius:var(--tci-radius);
  background:linear-gradient(125deg,#25103a 0%,#4d1474 54%,#3f1d70 100%);
  color:#fff;
  padding:28px 20px 30px;
}
.tci-hero-copy{width:min(var(--tci-max),100%);margin:0 auto}
.tci-hero h1{margin:0 0 7px;color:#fff;font-size:clamp(30px,8vw,44px);line-height:1.05;letter-spacing:-1.6px;font-weight:400}
.tci-hero p{margin:0;color:rgba(255,255,255,.82);font-size:16px;line-height:1.4}

.tci-main{width:min(var(--tci-max),calc(100% - 24px));margin:18px auto 44px}
.tci-card,.tci-form-window{background:#fff;border:1px solid var(--tci-line);border-radius:var(--tci-radius);box-shadow:var(--tci-shadow)}
.tci-card{padding:20px;margin-bottom:16px}
.tci-card h2,.tci-form-step h2{margin:6px 0 8px;color:var(--tci-ink);font-size:22px;line-height:1.15;letter-spacing:-.45px;font-weight:400}
.tci-muted{margin:0 0 16px;color:var(--tci-muted);font-size:14px;line-height:1.45}
.tci-step-badge{display:inline-flex;align-items:center;min-height:25px;padding:4px 9px;border-radius:999px;background:#f2eafd;color:var(--tci-purple);font-size:11px;letter-spacing:.03em}
.tci-kicker{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:inherit;opacity:.7}

/* Identificación */
.tci-access form{display:grid;gap:10px}
.tci-access-submit{width:100%}
.tci-status,.tci-error{min-height:18px;margin-top:2px;color:var(--tci-danger);font-size:12px;line-height:1.35}
.tci-status.is-ok{color:var(--tci-green)}
.tci-status.is-warning{color:#8b6500}
.tci-identity-panel{margin-top:16px;padding:17px;border:1px solid var(--tci-line);border-radius:16px;background:#fbfafc}
.tci-identity-panel h3{margin:9px 0 5px;color:var(--tci-ink);font-size:20px;line-height:1.15;font-weight:400}
.tci-identity-meta{margin:0 0 11px;color:var(--tci-purple);font-size:13px;line-height:1.4}
.tci-identity-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}
.tci-identity-warning{background:#fffaf0;border-color:#f1ddb6}
.tci-identity-warning .tci-step-badge{background:#fff0ce;color:#765600}
.tci-identity-test{background:#f2f9ff;border-color:#cfe8f7}
.tci-identity-test .tci-step-badge{background:#e4f4ff;color:#116d91}

/* Control compacto: caption dentro de la caja. */
.tci-control{position:relative;display:block;min-width:0;min-height:58px;border:1px solid var(--tci-line);border-radius:var(--tci-radius-sm);background:#fff;padding:19px 12px 5px;transition:border-color .16s,box-shadow .16s}
.tci-control:focus-within{border-color:rgba(101,0,184,.46);box-shadow:0 0 0 3px rgba(101,0,184,.07)}
.tci-control>span{position:absolute;left:12px;top:7px;z-index:2;color:#7a7082;font-size:10px;line-height:1;text-transform:none;pointer-events:none}
.tci-control input,.tci-control select{width:100%;height:32px;min-height:32px;margin:0;border:0!important;border-radius:0!important;background:transparent!important;color:var(--tci-ink);padding:0!important;outline:0!important;box-shadow:none!important;font-size:15px}
.tci-control input::placeholder{color:#aca4b2}
.tci-access-control{margin-top:2px}

/* Técnico activo: neutro; pruebas/provisionales se distinguen sin mezclarse con el banner. */
.tci-technician-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;padding:15px 16px;border:1px solid var(--tci-line);border-radius:17px;background:#fff;color:var(--tci-ink);box-shadow:0 8px 22px rgba(46,22,63,.05)}
.tci-technician-bar strong{display:block;margin-top:3px;color:inherit;font-size:17px;line-height:1.2;font-weight:400}
.tci-technician-bar small{display:block;margin-top:3px;color:var(--tci-muted);font-size:12px;line-height:1.35}
.tci-technician-bar.is-development{margin-top:22px;background:#eef8ff;border-color:#c9e7f7;color:#175b75;box-shadow:none}
.tci-technician-bar.is-development small{color:#4b7890}
.tci-technician-bar.is-provisional{background:#fff8eb;border-color:#efddb9;color:#664b16;box-shadow:none}
.tci-technician-bar.is-provisional small{color:#7d6940}
.tci-btn-ghost{border:1px solid currentColor;background:transparent;color:inherit;opacity:.82}

/* Etapas */
.tci-stepper{display:flex;align-items:center;justify-content:center;width:100%;margin:0 0 12px;padding:0 6px;color:#958c9c}
.tci-stepper-item{display:flex;align-items:center;gap:6px;min-width:0;font-size:11px;white-space:nowrap}
.tci-stepper-item b{display:grid;place-items:center;width:25px;height:25px;border:1px solid #dcd5e1;border-radius:50%;background:#fff;color:#8b8292;font-weight:400}
.tci-stepper-item.is-active{color:var(--tci-purple)}
.tci-stepper-item.is-active b{border-color:var(--tci-purple);background:#f2eafd;color:var(--tci-purple)}
.tci-stepper-item.is-complete b{border-color:#b9e3cf;background:#edf9f3;color:#148653}
.tci-stepper-line{flex:1;max-width:62px;height:1px;margin:0 8px;background:#e3dde7}

.tci-form-window{overflow:hidden;margin-bottom:16px}
.tci-form-step{padding:20px 16px;animation:tci-stage-in .22s ease both}
.tci-stage-head{margin-bottom:14px}
.tci-stage-head h2{margin-top:7px}
.tci-stage-head-inline{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.tci-service-pair{display:grid;grid-template-columns:1fr;gap:9px;margin-bottom:9px}
.tci-form-step>.tci-control{margin-top:9px}

/* WhatsApp: lada + número son un solo control y una sola fila. */
.tci-phone-control{padding-right:8px}
.tci-phone-row{display:grid;grid-template-columns:minmax(105px,38%) minmax(0,1fr);align-items:center;height:32px}
.tci-phone-row select{padding-right:18px!important;border-right:1px solid var(--tci-line)!important;color:#4e4456;font-size:13px}
.tci-phone-row input{padding-left:10px!important;font-size:15px}

.tci-password-wrap{display:flex;align-items:center;height:32px}
.tci-password-wrap input{min-width:0;padding-right:8px!important}
.tci-eye,.tci-link-btn{flex:0 0 auto;min-height:30px;border:0;border-radius:9px;background:#f2eef6;color:var(--tci-purple);padding:0 10px;font-size:12px}
.tci-date-control{padding-right:8px}
.tci-date-row{display:flex;align-items:center;justify-content:space-between;height:32px}
.tci-date-row strong{font-size:15px;font-weight:400}
.tci-date-input{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}

.tci-segmented{display:grid;grid-template-columns:1fr 1fr;gap:9px;max-width:460px;margin:8px auto 0}
.tci-segmented label{position:relative;cursor:pointer}
.tci-segmented input{position:absolute;opacity:0;pointer-events:none}
.tci-segmented span{display:flex;align-items:center;justify-content:center;min-height:48px;border:1px solid var(--tci-line);border-radius:13px;background:#fff;color:#554b5c;font-size:14px;transition:border-color .15s,background .15s,color .15s,transform .15s}
.tci-segmented label.is-recommended span{border-color:rgba(101,0,184,.34);background:#fbf7ff;color:var(--tci-purple)}
.tci-segmented input:checked+span{border-color:var(--tci-purple);background:#f0e6fa;color:var(--tci-purple);box-shadow:inset 0 0 0 1px rgba(101,0,184,.09)}

.tci-step-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.tci-step-actions-end{grid-template-columns:1fr}
.tci-step-actions-end .tci-btn{justify-self:end;width:min(100%,220px)}
.tci-whatsapp-pill{display:inline-flex;align-items:center;min-height:26px;padding:5px 9px;border-radius:999px;background:#e9f8f0;color:#148653;font-size:11px;white-space:nowrap}
.tci-preview{min-height:152px;padding:14px;border:1px solid var(--tci-line);border-radius:14px;background:#faf9fb;color:var(--tci-ink);white-space:pre-wrap;font-size:12.5px;line-height:1.55}
.tci-empty-preview{display:grid;place-items:center;color:#998f9f;text-align:center}
.tci-actions{display:grid;grid-template-columns:.65fr .65fr 1.4fr;gap:8px;margin-top:12px}

.tci-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border:0;border-radius:13px;padding:0 15px;color:var(--tci-ink);font-size:14px;line-height:1.15;transition:transform .14s,opacity .14s,box-shadow .14s}
.tci-btn:active{transform:translateY(1px)}
.tci-btn:disabled{opacity:.42;cursor:not-allowed}
.tci-btn-primary{background:linear-gradient(135deg,var(--tci-purple),var(--tci-magenta));color:#fff;box-shadow:0 8px 20px rgba(101,0,184,.18)}
.tci-btn-secondary{background:#f2eff4;color:#463d4d}
.tci-btn-whatsapp{background:#1fbf71;color:#fff;box-shadow:0 8px 20px rgba(31,191,113,.18)}

.tci-done{text-align:center;padding:28px 20px}
.tci-done-icon{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 10px;border-radius:50%;background:#eaf8f1;color:#15935a;font-size:25px}
.tci-done p{margin:0 0 17px;color:var(--tci-muted);font-size:14px;line-height:1.45}

@keyframes tci-stage-in{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:translateX(0)}}

/* Mobile first: a partir de aquí sólo expandimos, no rearmamos la experiencia. */
@media(min-width:560px){
  .tci-main{width:min(var(--tci-max),calc(100% - 40px));margin-top:22px}
  .tci-hero{width:min(var(--tci-max),calc(100% - 40px));padding:34px 24px 36px}
  .tci-card{padding:24px}
  .tci-form-step{padding:24px}
  .tci-service-pair{grid-template-columns:.88fr 1.35fr}
  .tci-actions{grid-template-columns:.55fr .55fr 1.5fr}
}
@media(min-width:820px){
  .tci-hero{margin-top:20px}
  .tci-main{margin-top:22px}
}
@media(max-width:410px){
  .tci-main{width:calc(100% - 16px)}
  .tci-hero{width:calc(100% - 16px);padding-left:16px;padding-right:16px}
  .tci-stepper-item span{display:none}
  .tci-stepper-line{margin:0 6px}
  .tci-phone-row{grid-template-columns:105px minmax(0,1fr)}
  .tci-phone-row select{font-size:12px}
  .tci-actions{grid-template-columns:1fr 1fr}
  .tci-actions .tci-btn-whatsapp{grid-column:1/-1;grid-row:1}
  .tci-actions #tci-step3-back{grid-row:2}
  .tci-actions #tci-copy{grid-row:2}
  .tci-technician-bar{align-items:flex-start}
  .tci-technician-bar .tci-btn{min-height:38px;padding:0 11px;font-size:12px}
}

/* Modo oscuro contemplado para una futura activación explícita; el front actual
   permanece blanco por requerimiento y no sigue automáticamente el OS. */
.tci-shell[data-theme="dark"]{--tci-ink:#f6f1f8;--tci-muted:#b8aebe;--tci-line:#38303d;--tci-soft:#221d26;background:#151217;color-scheme:dark}
.tci-shell[data-theme="dark"] .tci-card,.tci-shell[data-theme="dark"] .tci-form-window,.tci-shell[data-theme="dark"] .tci-control,.tci-shell[data-theme="dark"] .tci-technician-bar,.tci-shell[data-theme="dark"] .tci-segmented span{background:#1d1921}
.tci-shell[data-theme="dark"] .tci-preview{background:#19161c}
.tci-shell[data-theme="dark"] .tci-btn-secondary,.tci-shell[data-theme="dark"] .tci-eye,.tci-shell[data-theme="dark"] .tci-link-btn{background:#2b2530;color:#e1c8f5}

@media(prefers-reduced-motion:reduce){.tci-shell *,.tci-shell *:before,.tci-shell *:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* v0.3.2 · landing propia de Recomienda. Sin shell, sin Bitly y mobile first. */
body.tci-referral-screen{margin:0;min-height:100vh;background:#fff;color:#21162c;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-weight:400}
.tci-referral-page{width:min(var(--tci-max),calc(100% - 24px));margin:0 auto;padding:12px 0 max(28px,env(safe-area-inset-bottom))}
.tci-referral-hero{padding:28px 22px;border-radius:28px;background:linear-gradient(135deg,#2e1249 0%,#5d1f84 65%,#444b96 100%);color:#fff}
.tci-referral-hero>span{display:block;margin-bottom:14px;font-size:11px;letter-spacing:.16em;opacity:.82}
.tci-referral-hero h1{margin:0 0 10px;font-size:clamp(30px,9vw,44px);line-height:1.02;font-weight:400}
.tci-referral-hero p{margin:0;max-width:34rem;font-size:15px;line-height:1.5;color:rgba(255,255,255,.84)}
.tci-referral-card{margin-top:16px;padding:22px;border:1px solid #eadff0;border-radius:24px;background:#fff;box-shadow:0 16px 38px rgba(52,26,72,.08)}
.tci-referral-card h2{margin:10px 0 16px;font-size:23px;line-height:1.15;font-weight:400}
.tci-referral-steps{margin:0;padding-left:22px;color:#50455b}
.tci-referral-steps li{padding:5px 0;line-height:1.45}
.tci-referral-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.tci-referral-actions .tci-btn{text-decoration:none;text-align:center}
.tci-referral-note{margin:14px 0 0;font-size:12px;line-height:1.45;color:#786d80}
@media(min-width:560px){.tci-referral-page{padding-top:28px}.tci-referral-hero{padding:38px 34px}.tci-referral-card{padding:28px 30px}}
