
  :root{
    --navy:#0F2436;
    --navy-deep:#081521;
    --paper:#F3EEE0;
    --paper-dim:#E7E0CC;
    --brass:#C89A4B;
    --brass-bright:#E0B564;
    --teal:#3E6E6B;
    --rust:#B4573F;
    --ink:#1B1B18;
    --line: rgba(243,238,224,0.14);
  }
  #ca-app{display:none;}
  *{box-sizing:border-box;}

  /* === Estilos del frontend: solo aplican en body.ca-app === */
  body.ca-app html, body.ca-app{
    margin:0;padding:0;
    background:var(--navy);
    color:var(--paper);
    font-family:'Inter',sans-serif;
    min-height:100vh;
    background-image:
      radial-gradient(circle at 15% 8%, rgba(200,154,75,0.08), transparent 40%),
      radial-gradient(circle at 90% 85%, rgba(62,110,107,0.15), transparent 45%);
  }
  body.ca-app .wrap{max-width:70%;margin:0 auto;padding:40px 24px 80px;}
  .eyebrow{
    font-family:'IBM Plex Mono',monospace;
    font-size:11px;
    letter-spacing:0.18em;
    text-transform:uppercase;
    color:var(--brass-bright);
    display:flex;align-items:center;gap:10px;
    margin-bottom:18px;
  }
  .eyebrow::before{content:"";width:22px;height:1px;background:var(--brass-bright);display:inline-block;}
  body.ca-app h1{
    font-family:'Fraunces',serif;
    font-weight:700;
    font-size:clamp(34px,6vw,54px);
    line-height:1.05;
    margin:0 0 18px;
    letter-spacing:-0.01em;
  }
  body.ca-app h1 em{font-style:italic;font-weight:500;color:var(--brass-bright);}
  .lede{font-size:17px;line-height:1.65;color:rgba(243,238,224,0.82);max-width:60ch;}
  .lede + .lede{margin-top:14px;}
  .card{
    background:rgba(243,238,224,0.045);
    border:1px solid var(--line);
    border-radius:2px;
    padding:28px;
    margin-top:32px;
  }
  .meta-row{display:flex;gap:28px;flex-wrap:wrap;margin-top:28px;}
  .meta-item{font-family:'IBM Plex Mono',monospace;font-size:12px;color:rgba(243,238,224,0.6);}
  .meta-item b{display:block;color:var(--paper);font-size:20px;font-family:'Fraunces',serif;font-weight:600;margin-top:4px;}
  .btn{
    appearance:none;border:1px solid var(--brass);
    background:var(--brass);
    color:var(--navy-deep);
    font-family:'Inter',sans-serif;
    font-weight:600;
    font-size:15px;
    padding:14px 30px;
    border-radius:2px;
    cursor:pointer;
    letter-spacing:0.01em;
    transition:transform .15s ease, background .15s ease;
  }
  .btn:hover{background:var(--brass-bright);transform:translateY(-1px);}
  .btn.ghost{
    background:transparent;color:var(--paper);border:1px solid rgba(243,238,224,0.35);
  }
  .btn.ghost:hover{border-color:var(--paper);background:rgba(243,238,224,0.06);}
  .btn:disabled{opacity:0.35;cursor:not-allowed;transform:none;}
  .actions{display:flex;gap:14px;margin-top:36px;align-items:center;flex-wrap:wrap;}

  .screen{display:none;}
  .screen.active{display:block;}
  .progress-track{
    height:2px;background:rgba(243,238,224,0.12);border-radius:2px;overflow:hidden;margin-bottom:10px;
  }
  .progress-fill{height:100%;background:var(--brass);width:0%;transition:width .35s ease;}
  .progress-label{
    font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;
    color:rgba(243,238,224,0.55); display:flex; justify-content:space-between;
  }

  .q-anchor-tag{
    font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;
    color:var(--teal); background:rgba(62,110,107,0.18); border:1px solid rgba(62,110,107,0.4);
    display:inline-block;padding:4px 10px;border-radius:20px;margin-bottom:22px;
  }
  .q-text{
    font-family:'Fraunces',serif;font-weight:500;font-style:italic;
    font-size:clamp(22px,3.6vw,30px);line-height:1.35;margin:0 0 34px;
    max-width:22ch;
  }
  .scale{display:flex;flex-direction:column;gap:10px;}
  .opt-row{display:flex;gap:8px;}
  .opt{
    flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
    border:1px solid rgba(243,238,224,0.22);
    background:rgba(243,238,224,0.03);
    border-radius:2px;
    padding:16px 6px 12px;
    text-align:center;
    cursor:pointer;
    transition:border-color .15s ease, background .15s ease;
  }
  .opt .dot{
    width:14px;height:14px;border-radius:50%;border:1.5px solid rgba(243,238,224,0.4);
    margin:0 auto 10px;transition:all .15s ease;
  }
  .opt .num{font-family:'IBM Plex Mono',monospace;font-size:12px;color:rgba(243,238,224,0.55);}
  .opt-end{display:block;margin-top:10px;font-family:'Inter',sans-serif;font-size:10px;line-height:1.35;color:var(--paper);}
  .opt:hover{border-color:var(--brass-bright);}
  .opt.selected{border-color:var(--brass);background:rgba(200,154,75,0.14);}
  .opt.selected .dot{background:var(--brass);border-color:var(--brass);}
  .opt.selected .num{color:var(--brass-bright);}

  .nav-row{display:flex;justify-content:space-between;align-items:center;margin-top:40px;}

  /* results */
  .result-hero{text-align:center;margin-bottom:6px;}
  .result-hero .eyebrow{justify-content:center;}
  .result-hero .eyebrow::before{display:none;}
  .anchor-pill{
    display:inline-flex;align-items:center;gap:10px;
    font-family:'Fraunces',serif;font-weight:600;font-size:26px;
    color:var(--brass-bright); margin-top:6px;
  }
  .radar-wrap{display:flex;justify-content:center;margin:32px 0 8px;}
  svg text{font-family:'IBM Plex Mono',monospace;}

  .rank-list{margin-top:36px;display:flex;flex-direction:column;gap:14px;}
  .rank-item{display:grid;grid-template-columns:26px 1fr 46px;gap:14px;align-items:center;}
  .rank-num{font-family:'IBM Plex Mono',monospace;color:rgba(243,238,224,0.4);font-size:13px;}
  .rank-bar-shell{background:rgba(243,238,224,0.08);height:10px;border-radius:6px;overflow:hidden;position:relative;}
  .rank-bar-fill{height:100%;border-radius:6px;background:linear-gradient(90deg,var(--teal),var(--brass));}
  .rank-score{font-family:'IBM Plex Mono',monospace;font-size:13px;text-align:right;color:rgba(243,238,224,0.7);}
  .rank-label{font-size:14px;font-weight:500;}

  .detail-card{
    border:1px solid var(--line);
    background:rgba(243,238,224,0.06);
    box-shadow:0 2px 8px rgba(0,0,0,0.15);
    padding:24px 26px;
    margin-top:20px;
    border-radius:4px;
  }
  .detail-card.secondary{}
  .detail-card h3{
    font-family:'Fraunces',serif;font-size:22px;margin:0 0 4px;font-weight:600;
  }
  .detail-card .tag{
    font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--brass-bright);letter-spacing:0.08em;text-transform:uppercase;
  }
  .detail-card p{font-size:14.5px;line-height:1.65;color:rgba(243,238,224,0.82);margin:12px 0 0;}
  .detail-card .subhead{
    font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:0.1em;text-transform:uppercase;
    color:rgba(243,238,224,0.45); margin-top:14px;
  }

  details.acc{border-top:1px solid var(--line);padding:16px 0;}
  details.acc summary{
    cursor:pointer;display:flex;justify-content:space-between;align-items:center;
    font-family:'Fraunces',serif;font-size:17px;font-weight:600;list-style:none;
  }
  details.acc summary::-webkit-details-marker{display:none;}
  details.acc summary .sc{font-family:'IBM Plex Mono',monospace;font-size:13px;color:var(--brass-bright);}
  details.acc p{font-size:14px;line-height:1.6;color:rgba(243,238,224,0.75);margin-top:12px;}
  details.acc .subhead{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.08em;text-transform:uppercase;color:rgba(243,238,224,0.4);margin-top:10px;}

  .footer-note{
    margin-top:56px;padding-top:24px;border-top:1px solid var(--line);
    font-size:12.5px;line-height:1.7;color:rgba(243,238,224,0.5);
  }
  .footer-note b{color:rgba(243,238,224,0.7);}

  /* ===== PRECISION STAGE ===== */
  .banner{
    border:1px solid var(--line);
    background:rgba(200,154,75,0.10);
    box-shadow:0 2px 8px rgba(0,0,0,0.15);
    padding:18px 22px; border-radius:4px; margin-top:36px;
  }
  .banner .bt{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--brass-bright);margin-bottom:8px;display:block;}
  .banner p{font-size:14.5px;line-height:1.65;color:rgba(243,238,224,0.82);margin:0;}
  .banner p b{color:var(--paper);}
  .steps-head{margin-top:40px;}
  .dim-picker{margin-top:24px;}
  .dim-list{display:flex;flex-direction:column;gap:12px;margin-top:8px;}
  .dim-chip{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    border:1px solid var(--line); background:rgba(243,238,224,0.03);
    padding:14px 18px; border-radius:2px; cursor:pointer; user-select:none;
    transition:border-color .15s ease, background .15s ease;
  }
  .dim-chip:hover{border-color:var(--brass);}
  .dim-chip .dc-name{font-weight:600;font-size:15px;}
  .dim-chip .dc-sub{font-size:12px;color:rgba(243,238,224,0.55);margin-top:2px;}
  .dim-chip .dc-score{font-family:'IBM Plex Mono',monospace;font-size:16px;color:var(--brass-bright);}
  .dim-chip .dc-check{
    width:20px;height:20px;border-radius:50%;border:1.5px solid rgba(243,238,224,0.4);
    display:flex;align-items:center;justify-content:center;font-size:12px;color:transparent;flex:none;
  }
  .dim-chip.on{border-color:var(--brass);background:rgba(200,154,75,0.10);}
  .dim-chip.on .dc-check{background:var(--brass);border-color:var(--brass);color:var(--navy-deep);}
  .dim-chip.tier-high .dc-score{color:var(--brass-bright);}
  .dim-chip.tier-low .dc-score{color:var(--rust);}

  /* one-at-a-time question (test-like) */
  .prec-test{
    border:1px solid var(--line);
    background:rgba(243,238,224,0.06);
    box-shadow:0 2px 8px rgba(0,0,0,0.15);
    border-radius:4px; padding:30px 30px 26px; margin-top:22px;
  }
  .prec-dot-tag{
    font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.14em;text-transform:uppercase;
    color:var(--teal); display:inline-block; margin-bottom:20px;
  }
  .prec-q-question{
    font-family:'Fraunces',serif;font-weight:500;font-style:italic;
    font-size:clamp(21px,3.4vw,28px);line-height:1.4;color:var(--paper);margin:0 0 14px;
  }
  .prec-q-hint{
    font-size:13px;line-height:1.65;color:rgba(243,238,224,0.5);margin:0 0 22px;font-style:italic;
  }
  .ca-pista{
    border:1px solid rgba(200,154,75,0.35);border-radius:4px;background:rgba(200,154,75,0.07);
    margin:0 0 22px;padding:0;
  }
  .ca-pista summary{
    cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;
    font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;
    color:var(--brass-bright);padding:9px 14px;font-weight:600;
  }
  .ca-pista summary::-webkit-details-marker{display:none;}
  .ca-pista .ca-pista-chev{font-family:monospace;font-size:13px;transition:transform .15s ease;}
  .ca-pista[open] .ca-pista-chev{transform:rotate(45deg);}
  .ca-pista p{
    font-size:13.5px;line-height:1.65;color:rgba(243,238,224,0.82);
    border-top:1px dashed rgba(200,154,75,0.3);padding:12px 14px;margin:0;
  }
  .prec-q textarea{
    width:100%; min-height:110px; resize:vertical;
    background:rgba(11,30,44,0.6); color:var(--paper);
    border:1px solid rgba(243,238,224,0.2); border-radius:2px;
    padding:14px 16px; font-family:'Inter',sans-serif; font-size:14.5px; line-height:1.6;
  }
  .prec-q textarea:focus{outline:none;border-color:var(--brass);}
  .prec-status{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.06em;text-transform:uppercase;color:rgba(243,238,224,0.35);margin-top:10px;}

  /* prompt screen */
  .prompt-out{
    position:relative; border:1px solid var(--line); border-radius:2px; background:rgba(11,30,44,0.7);
    padding:22px; margin-top:24px;
  }
  .prompt-out .po-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;}
  .prompt-out .po-head .po-title{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--brass-bright);}
  .btn.small{padding:8px 16px;font-size:13px;}
  .prompt-out pre{
    white-space:pre-wrap;word-wrap:break-word;font-family:'IBM Plex Mono',monospace;
    font-size:12.5px;line-height:1.65;color:rgba(243,238,224,0.85);margin:0;
  }
  .copied-toast{color:#8FBF9F;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;}

  /* ===== HEADER PROFESIONAL ===== */
  .ca-header{
    position:sticky;top:0;z-index:60;
    background:rgba(11,30,44,0.88);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    border-bottom:1px solid rgba(243,238,224,0.12);
    padding:14px 24px;
  }
  .ca-header-in{max-width:70%;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;}
  .ca-brand{display:flex;align-items:center;gap:12px;min-width:0;}
  .ca-brand-mark{
    flex:none;width:38px;height:38px;border-radius:8px;
    display:grid;place-items:center;
    background:linear-gradient(135deg,var(--brass-bright),#C89A4B);
    color:#0F2436;font-family:'IBM Plex Mono',monospace;font-size:14px;font-weight:700;letter-spacing:0.04em;
    box-shadow:0 2px 10px rgba(200,154,75,0.35);
  }
  .ca-brand-text{display:flex;flex-direction:column;line-height:1.25;min-width:0;}
  .ca-brand-name{font-family:'Fraunces',serif;font-size:17px;font-weight:600;color:var(--paper);white-space:nowrap;}
  .ca-brand-sub{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:0.16em;text-transform:uppercase;color:var(--brass-bright);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .ca-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
  .ca-nav .right{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
  .account-chip{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--paper);}
  .account-chip b{color:var(--brass-bright);}
  .btn.xs{padding:7px 14px;font-size:12px;}
  .profile-btn{
    display:inline-flex;align-items:center;gap:10px;
    border:1px solid rgba(243,238,224,0.25);background:rgba(243,238,224,0.05);
    padding:6px 12px 6px 6px;border-radius:30px;cursor:pointer;
    transition:border-color .15s ease, background .15s ease;
  }
  .profile-btn:hover{border-color:var(--brass);background:rgba(200,154,75,0.10);}
  .avatar{
    width:32px;height:32px;border-radius:50%;background:var(--brass);color:var(--navy-deep);
    display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-weight:700;font-size:16px;flex:none;
  }
  .profile-btn .pn{font-size:13px;font-weight:600;color:var(--paper);}
  .ca-admin-tag{
    font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.08em;text-transform:uppercase;
    color:var(--navy-deep);background:var(--brass-bright);border-radius:20px;padding:3px 8px;font-weight:700;white-space:nowrap;
  }
  .auth-toggle{display:flex;gap:4px;margin-bottom:22px;border-bottom:1px solid var(--line);}
  .auth-toggle button{
    flex:1;appearance:none;border:none;background:transparent;color:rgba(243,238,224,0.5);
    font-family:'Inter',sans-serif;font-weight:600;font-size:14px;padding:12px 10px;cursor:pointer;border-bottom:2px solid transparent;
  }
  .auth-toggle button.on{color:var(--brass-bright);border-bottom-color:var(--brass);}
  .field{margin-bottom:16px;}
  .field label{display:block;font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:0.1em;text-transform:uppercase;color:rgba(243,238,224,0.5);margin-bottom:8px;}
  .field input, .field select{
    width:100%;background:rgba(11,30,44,0.6);color:var(--paper);
    border:1px solid rgba(243,238,224,0.2);border-radius:2px;padding:12px 14px;font-family:'Inter',sans-serif;font-size:14.5px;
  }
  .field input:focus{outline:none;border-color:var(--brass);}
  .auth-msg{margin-top:14px;font-size:13px;min-height:20px;}
  .auth-msg.ok{color:#8FBF9F;}
  .auth-msg.err{color:var(--rust);}
  .profile-intents{margin-top:22px;display:flex;flex-direction:column;gap:16px;}
  .intent-card{border:1px solid var(--line);background:rgba(243,238,224,0.06);box-shadow:0 2px 8px rgba(0,0,0,0.15);border-radius:4px;padding:18px 20px;}
  .intent-card .it-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px;}
  .intent-card .it-date{font-family:'IBM Plex Mono',monospace;font-size:11px;color:rgba(243,238,224,0.5);}
  .intent-card .it-top{font-family:'Fraunces',serif;font-size:17px;font-weight:600;color:var(--brass-bright);}
  .intent-card .it-rank{font-size:12.5px;line-height:1.6;color:rgba(243,238,224,0.7);margin-top:6px;}
  details.it-acc{border-top:1px solid var(--line);margin-top:12px;padding-top:10px;}
  details.it-acc summary{cursor:pointer;font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--teal);list-style:none;}
  details.it-acc summary::-webkit-details-marker{display:none;}
  details.it-acc pre{white-space:pre-wrap;font-family:'IBM Plex Mono',monospace;font-size:11.5px;line-height:1.6;color:rgba(243,238,224,0.75);margin-top:10px;max-height:300px;overflow:auto;}
  .ca-chat-title{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--teal);margin-bottom:10px;}
  .ca-chatbox{background:rgba(11,30,44,0.5);border:1px solid rgba(243,238,224,0.15);border-radius:4px;padding:12px;max-height:240px;overflow:auto;display:flex;flex-direction:column;gap:8px;margin-bottom:10px;}
  .ca-bubble{max-width:82%;padding:9px 12px;border-radius:10px;font-size:13px;line-height:1.5;}
  .ca-bubble.me{align-self:flex-end;background:rgba(200,154,75,0.18);border:1px solid rgba(200,154,75,0.35);color:var(--paper);}
  .ca-bubble.them{align-self:flex-start;background:rgba(111,168,170,0.14);border:1px solid rgba(111,168,170,0.3);color:var(--paper);}
  .ca-bubble-who{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--brass-bright);margin-bottom:4px;opacity:.8;}
  .ca-bubble-time{font-size:10px;color:rgba(243,238,224,0.45);margin-top:4px;text-align:right;}
  .ca-chat-inputrow{display:flex;gap:8px;}
  .ca-chatinput{flex:1;min-height:52px;background:rgba(11,30,44,0.6);color:var(--paper);border:1px solid rgba(243,238,224,0.2);border-radius:2px;padding:9px 11px;font-family:'Inter',sans-serif;font-size:13px;resize:vertical;}
  .ca-chatinput:focus{outline:none;border-color:var(--brass);}
  .empty-state{text-align:center;padding:40px 20px;border:1px dashed rgba(243,238,224,0.2);border-radius:2px;}
  .empty-state .es-t{font-family:'Fraunces',serif;font-size:20px;color:var(--paper);}
  .ca-modal{position:fixed;inset:0;background:rgba(8,21,33,0.82);display:flex;align-items:center;justify-content:center;z-index:200;padding:20px;}
  .ca-modal-card{background:var(--navy);border:1px solid rgba(200,154,75,0.4);border-radius:6px;max-width:420px;text-align:center;padding:34px 28px;}
  .ca-modal-card h3{font-family:'Fraunces',serif;font-size:22px;margin:12px 0 10px;color:var(--paper);}
  .ca-modal-card p{font-size:14px;line-height:1.6;color:rgba(243,238,224,0.75);margin:0 0 20px;}
  .ca-modal-icon{font-size:40px;line-height:1;}
  /* Popup: siguiente etapa (Método de precisión + Contexto vital) */
  .ca-prec-card{position:relative;max-width:480px;padding:30px 24px;}
  .ca-prec-close{position:absolute;top:12px;right:14px;background:transparent;border:none;color:rgba(243,238,224,0.6);font-size:18px;cursor:pointer;line-height:1;padding:4px;}
  .ca-prec-close:hover{color:var(--paper);}
  .ca-prec-step{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--teal);}
  .ca-prec-body{font-size:14px;line-height:1.6;color:rgba(243,238,224,0.78);text-align:left;margin:0 0 16px;}
  .ca-prec-stats{display:flex;flex-direction:column;gap:6px;margin:0 0 18px;text-align:left;}
  .ca-prec-stats span{display:flex;justify-content:space-between;gap:8px;font-size:12.5px;color:rgba(243,238,224,0.7);background:rgba(111,168,170,0.08);border:1px solid rgba(111,168,170,0.22);border-radius:4px;padding:8px 12px;}
  .ca-prec-stats b{color:var(--paper);font-weight:600;text-align:right;}
  .ca-prec-cta{width:100%;}
  @media(min-width:560px){
    .ca-prec-stats{flex-direction:row;}
    .ca-prec-stats span{flex:1;flex-direction:column;gap:2px;}
    .ca-prec-stats b{text-align:left;}
  }
  .pulse{animation:caPulse 1.4s infinite;}
  @keyframes caPulse{0%{box-shadow:0 0 0 0 rgba(200,154,75,.5);}70%{box-shadow:0 0 0 12px rgba(200,154,75,0);}100%{box-shadow:0 0 0 0 rgba(200,154,75,0);}}
  .review-block{margin-bottom:26px;}
  .review-block .rb-title{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--brass-bright);margin-bottom:12px;}
  .rv-row{background:rgba(11,30,44,0.5);border:1px solid rgba(243,238,224,0.12);border-radius:4px;padding:12px 14px;margin-bottom:10px;}
  .rv-q{font-size:13.5px;color:var(--paper);line-height:1.5;}
  .rv-qa{font-size:13.5px;color:rgba(243,238,224,0.6);line-height:1.5;}
  .rv-num{display:inline-block;background:rgba(200,154,75,0.15);color:var(--brass-bright);border-radius:3px;padding:1px 7px;font-family:'IBM Plex Mono',monospace;font-size:11px;margin-right:8px;}
  .rv-dim{display:inline-block;color:var(--teal);font-size:11px;font-family:'IBM Plex Mono',monospace;margin-top:6px;}
  .rv-empty{color:rgba(243,238,224,0.45);font-size:13px;}
  .admin-card{background:rgba(11,30,44,0.5);border:1px solid rgba(243,238,224,0.12);border-radius:4px;padding:14px 16px;margin-bottom:12px;}
  .admin-card .ac-top{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;}
  .admin-card .ac-name{font-family:'Fraunces',serif;font-size:17px;color:var(--paper);}
  .admin-card .ac-sub{font-size:12px;color:rgba(243,238,224,0.55);}
  .admin-state{padding:2px 10px;border-radius:10px;font-size:11px;font-weight:700;}
  .admin-state.pendiente{background:rgba(229,195,122,0.2);color:var(--brass-bright);}
  .admin-state.completado{background:rgba(143,191,159,0.2);color:#8FBF9F;}
  .foda-out{white-space:pre-wrap;font-family:'IBM Plex Mono',monospace;font-size:12px;line-height:1.6;color:rgba(243,238,224,0.8);background:rgba(11,30,44,0.5);border:1px solid rgba(243,238,224,0.12);border-radius:4px;padding:16px;margin-top:12px;max-height:420px;overflow:auto;}
  .empty-state .es-t{font-family:'Fraunces',serif;font-size:20px;color:var(--paper);}
  .empty-state p{font-size:14px;color:rgba(243,238,224,0.55);margin-top:8px;}

  /* precision review in prompt screen */
  .prec-r-card{border:1px solid var(--line);background:rgba(243,238,224,0.06);box-shadow:0 2px 8px rgba(0,0,0,0.15);border-radius:4px;padding:16px 18px;}
  .prec-r-card .prc-dim{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--brass-bright);margin-bottom:8px;}
  .prec-r-card .prc-q{font-size:13.5px;font-weight:600;color:var(--paper);margin-bottom:6px;}
  .prec-r-card .prc-a{font-size:13px;line-height:1.6;color:rgba(243,238,224,0.75);}
  .prec-r-card .prc-tag{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--teal);border:1px solid rgba(111,168,170,0.4);border-radius:2px;padding:2px 8px;margin-bottom:8px;}

  @media(max-width:520px){
    .ca-header{padding:12px 16px;}
    .ca-header-in{max-width:100%;}
    .opt-row{flex-wrap:wrap;}
    .opt{min-width:46%;margin-bottom:8px;padding:12px 4px 10px;}
    .opt .dot{margin-bottom:6px;}
    .wrap{max-width:100%;padding:28px 12px 60px;}
  }

  /* ===== JSON RESPONSE — compact tabbed layout ===== */
  .ca-resp-wrap{
    border:1px solid var(--line);border-radius:6px;background:rgba(243,238,224,0.03);
    overflow:hidden;margin-top:16px;
  }
  .ca-resp-tabs{
    display:flex;flex-wrap:wrap;gap:2px;width:100%;
    padding:6px;background:var(--rust);
    -webkit-overflow-scrolling:touch;
  }
  .ca-resp-tabs-2{margin-top:18px;}
  .ca-resp-tab{
    flex:1 1 auto;appearance:none;border:none;cursor:pointer;
    background:transparent;color:#FFF6E8;
    font-family:'Inter',sans-serif;
    font-weight:600;font-size:11px;
    padding:8px 10px;border-radius:4px;
    white-space:nowrap;line-height:1.2;
    transition:background .15s,color .15s;
  }
  .ca-resp-tab:hover{background:#8A3A26;color:#fff;}
  .ca-resp-tab.active{background:#6E2D1D;color:#FFE9C7;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.25);}
  .ca-resp-panel{display:none;padding:0;}
  .ca-resp-panel.active{display:block;}

  .ca-portada{text-align:center;padding:32px 24px;background:linear-gradient(135deg,rgba(15,36,54,0.95),rgba(26,58,74,0.9));color:var(--paper);}
  .ca-portada-eyebrow{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--brass-bright);margin-bottom:12px;}
  .ca-portada-title{font-family:'Fraunces',serif;font-size:clamp(22px,4vw,30px);font-weight:700;line-height:1.15;margin-bottom:10px;}
  .ca-portada-sub{font-size:14px;color:rgba(243,238,224,0.7);max-width:420px;margin:0 auto 20px;}
  .ca-portada-meta{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-bottom:20px;}
  .ca-pm{text-align:center;}
  .ca-pm-l{display:block;font-size:9px;letter-spacing:0.12em;text-transform:uppercase;color:rgba(243,238,224,0.45);margin-bottom:2px;}
  .ca-pm-v{font-family:'Fraunces',serif;font-size:16px;font-weight:600;color:var(--brass-bright);}
  .ca-portada-chart{display:flex;justify-content:center;margin-top:8px;}
  .ca-portada-chart svg{display:block;height:auto;}

  .ca-radar-legend{width:100%;max-width:440px;margin:18px auto 0;text-align:left;padding-top:16px;border-top:1px solid rgba(243,238,224,0.12);}
  .ca-rl-title{font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:0.14em;text-transform:uppercase;color:var(--brass-bright);margin-bottom:12px;}
  .ca-rl-grid{display:grid;grid-template-columns:1fr;gap:8px;}
  .ca-rl-item{display:flex;align-items:flex-start;gap:10px;background:rgba(243,238,224,0.05);border:1px solid rgba(243,238,224,0.10);border-radius:4px;padding:8px 10px;}
  .ca-rl-dot{flex:0 0 auto;width:8px;height:8px;border-radius:50%;margin-top:5px;}
  .ca-rl-txt{min-width:0;}
  .ca-rl-name{font-size:12.5px;font-weight:700;color:var(--paper);line-height:1.35;overflow-wrap:anywhere;}
  .ca-rl-sub{font-size:11px;color:rgba(243,238,224,0.55);margin-top:2px;line-height:1.4;}
  .ca-rl-sub b{color:var(--brass-bright);font-weight:700;}
  @media(min-width:560px){
    .ca-rl-grid{grid-template-columns:1fr 1fr;}
  }

  .ca-resp-section{padding:16px 20px 20px;}
  .ca-resp-section h3{font-family:'Fraunces',serif;font-size:16px;font-weight:600;color:var(--paper);margin:0 0 10px;}
  .ca-resp-section p{font-size:13px;line-height:1.7;color:rgba(243,238,224,0.82);}
  .ca-resp-bullet{font-size:13px;line-height:1.6;color:rgba(243,238,224,0.8);padding:3px 0;}

  .ca-prec-card{border:1px solid var(--line);background:rgba(243,238,224,0.06);box-shadow:0 2px 8px rgba(0,0,0,0.15);border-radius:4px;padding:12px 14px;margin-bottom:8px;}
  .ca-prec-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap;}
  .ca-prec-tag{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.06em;color:var(--teal);text-transform:uppercase;font-weight:600;}
  .ca-prec-score{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--brass-bright);font-weight:700;}
  .ca-prec-ok{font-size:10px;color:#3E6E6B;background:rgba(62,110,107,0.15);padding:2px 8px;border-radius:10px;font-weight:600;}
  .ca-prec-ev{font-size:12.5px;line-height:1.6;color:rgba(243,238,224,0.82);}
  .ca-prec-expl{font-size:12px;line-height:1.5;color:rgba(243,238,224,0.55);margin-top:4px;font-style:italic;}

  .ca-resp-alert{margin:0 20px 14px;padding:14px 16px;border-radius:4px;border:1px solid rgba(180,87,63,0.3);background:rgba(180,87,63,0.10);box-shadow:0 2px 8px rgba(0,0,0,0.12);}
  .ca-resp-alert h4{color:var(--rust);font-size:13px;margin:0 0 4px;font-weight:600;}
  .ca-resp-alert p{color:rgba(243,238,224,0.8);font-size:12.5px;margin:0;}

  /* Bar charts */
  .ca-barchart{display:flex;flex-direction:column;gap:8px;}
  .ca-bc-row{display:flex;align-items:center;gap:10px;}
  .ca-bc-label{font-size:12px;color:rgba(243,238,224,0.7);min-width:110px;flex:none;}
  .ca-bar-track{flex:1;height:16px;background:rgba(243,238,224,0.08);border-radius:8px;overflow:hidden;position:relative;}
  .ca-bar-fill{height:100%;border-radius:8px;transition:width .5s;}
  .ca-bar-val{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:10px;font-family:'IBM Plex Mono',monospace;color:var(--paper);font-weight:600;}

  /* Stats row */
  .ca-stat-row{display:flex;gap:10px;flex-wrap:wrap;}
  .ca-stat{flex:1;min-width:70px;text-align:center;padding:12px 8px;border:1px solid var(--line);border-radius:4px;background:rgba(243,238,224,0.03);}
  .ca-stat-v{display:block;font-family:'Fraunces',serif;font-size:22px;font-weight:700;color:var(--brass-bright);}
  .ca-stat-l{display:block;font-size:10px;color:rgba(243,238,224,0.5);margin-top:4px;text-transform:uppercase;letter-spacing:0.06em;}
  .ca-stat-c .ca-stat-v{color:var(--teal);}
  .ca-stat-t .ca-stat-v{color:var(--brass-bright);}
  .ca-stat-s .ca-stat-v{color:var(--rust);}
  .ca-stat-a .ca-stat-v{color:#991b1b;}

  /* Growth cards */
  .ca-growth-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:10px;font-weight:700;margin-right:6px;flex:none;}
  .ca-growth-icon.strength{background:var(--teal);color:var(--paper);}
  .ca-growth-icon.potential{background:var(--brass);color:var(--paper);}
  .ca-growth-icon.block{background:var(--rust);color:var(--paper);}
  .ca-growth-icon.risk{background:#991b1b;color:var(--paper);}
  .ca-growth-card{border:1px solid var(--line);background:rgba(243,238,224,0.06);box-shadow:0 2px 8px rgba(0,0,0,0.15);border-radius:4px;padding:12px 14px;margin-bottom:8px;}
  .ca-growth-card.potential{}
  .ca-growth-card.block{}
  .ca-growth-card.risk{}
  .ca-gc-title{font-family:'Fraunces',serif;font-size:14px;font-weight:600;color:var(--paper);margin-bottom:6px;}
  .ca-gc-badge{display:inline-block;font-size:9px;letter-spacing:0.06em;text-transform:uppercase;padding:2px 6px;border-radius:2px;margin-bottom:6px;}
  .ca-gc-badge.strength{background:rgba(62,110,107,0.2);color:var(--teal);}
  .ca-gc-badge.potential{background:rgba(200,154,75,0.2);color:var(--brass-bright);}
  .ca-gc-badge.block{background:rgba(180,87,63,0.2);color:var(--rust);}
  .ca-gc-badge.risk{background:rgba(153,27,27,0.2);color:#f87171;}
  .ca-gc-row{font-size:12.5px;line-height:1.5;color:rgba(243,238,224,0.78);margin-bottom:4px;}
  .ca-gc-key{font-weight:600;color:rgba(243,238,224,0.9);}
  .ca-gc-meta{font-size:11px;color:rgba(243,238,224,0.5);font-style:italic;}

  /* CAME cards */
  .ca-came-card{border:1px solid var(--line);background:rgba(243,238,224,0.06);box-shadow:0 2px 8px rgba(0,0,0,0.15);border-radius:4px;padding:12px 14px;margin-bottom:8px;}

  /* Distribution bar */
  .ca-dist-bar{display:flex;height:14px;border-radius:7px;overflow:hidden;background:rgba(243,238,224,0.08);margin-bottom:10px;}
  .ca-dist-seg{height:100%;transition:width .5s;}
  .ca-dist-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:11px;color:rgba(243,238,224,0.6);}
  .ca-dl{display:flex;align-items:center;gap:5px;}
  .ca-dl i{width:10px;height:10px;border-radius:3px;display:inline-block;}

  /* Accordion */
  .ca-resp-acc{border:1px solid var(--line);border-radius:4px;margin:0 20px 6px;overflow:hidden;}
  .ca-resp-acc.sub{margin:0 0 6px;}
  .ca-resp-acc summary{padding:10px 14px;cursor:pointer;font-size:13px;font-weight:500;color:rgba(243,238,224,0.8);background:rgba(243,238,224,0.03);list-style:none;display:flex;align-items:center;gap:8px;}
  .ca-resp-acc summary::-webkit-details-marker{display:none;}
  .ca-resp-acc-tag{font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:0.08em;text-transform:uppercase;color:var(--teal);border:1px solid rgba(62,110,107,0.4);border-radius:2px;padding:1px 5px;flex:none;}
  .ca-resp-acc-body{padding:12px 14px;font-size:12.5px;line-height:1.6;color:rgba(243,238,224,0.7);}
  .ca-resp-acc-q{font-style:italic;color:rgba(243,238,224,0.55);margin-bottom:6px;}
  .ca-acc-toggle{margin-left:auto;font-size:11px;color:var(--teal);white-space:nowrap;}

  /* QA list */
  .ca-resp-qa{display:flex;gap:8px;align-items:baseline;padding:5px 0;border-bottom:1px solid rgba(243,238,224,0.06);font-size:12px;}
  .ca-qa-num{font-family:'IBM Plex Mono',monospace;font-size:10px;color:rgba(243,238,224,0.35);min-width:20px;text-align:right;flex:none;}
  .ca-qa-q{flex:1;color:rgba(243,238,224,0.8);}
  .ca-qa-a{font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:600;color:var(--brass-bright);min-width:26px;text-align:right;flex:none;}

  /* Table */
  .ca-resp-table-wrap{overflow-x:auto;margin:8px 20px 14px;}
  .ca-resp-table{width:100%;border-collapse:collapse;font-size:12px;}
  .ca-resp-table th{font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:0.08em;text-transform:uppercase;color:rgba(243,238,224,0.5);text-align:left;padding:6px 10px;border-bottom:1px solid var(--line);}
  .ca-resp-table td{padding:8px 10px;border-bottom:1px solid rgba(243,238,224,0.08);color:rgba(243,238,224,0.8);}

  @media(max-width:600px){
    .ca-resp-tabs{display:grid;grid-template-columns:1fr 1fr;padding:4px;gap:2px;}
    .ca-resp-tab{font-size:10px;padding:8px 6px;white-space:normal;}
    .ca-resp-tab:last-child:nth-child(odd){grid-column:1 / -1;}
    .ca-resp-section{padding:12px 12px 16px;}
    .ca-resp-alert,.ca-resp-acc{margin:0 12px 6px;}
    .ca-resp-table-wrap{margin:8px 12px 12px;}
    .ca-portada{padding:24px 14px;}
    .ca-portada-meta{gap:12px;}
    .ca-stat-row{gap:6px;}
    .ca-bc-label{min-width:80px;font-size:11px;}
  }

  /* ===== GLOSSARY TOOLTIP ===== */
  .ca-gl{border-bottom:1px dashed var(--brass);cursor:help;color:inherit;}
  .ca-gl:hover{color:var(--brass-bright);}

  .ca-glossary-tip{
    position:absolute;z-index:9999;max-width:380px;min-width:220px;
    background:#0d1117;color:var(--paper);
    border:1px solid var(--line);border-left:3px solid var(--brass);
    border-radius:4px;padding:14px 16px;
    font-size:12.5px;line-height:1.6;
    box-shadow:0 8px 32px rgba(0,0,0,0.5);
    pointer-events:none;
  }
  .ca-gt-title{
    font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:700;
    letter-spacing:0.04em;color:var(--brass-bright);margin-bottom:6px;
    text-transform:uppercase;
  }
  .ca-gt-def{color:rgba(243,238,224,0.88);}

  /* ===== GLOSSARY MODAL ===== */
  .ca-gl-modal{
    position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;
    background:rgba(0,0,0,0.7);backdrop-filter:blur(4px);
    display:flex;align-items:center;justify-content:center;
    padding:20px;
  }
  .ca-gl-modal-card{
    background:#0d1117;border:1px solid var(--line);border-radius:6px;
    width:100%;max-width:680px;max-height:80vh;display:flex;flex-direction:column;
    overflow:hidden;
  }
  .ca-gl-modal-head{
    display:flex;align-items:center;justify-content:space-between;
    padding:18px 22px;border-bottom:1px solid var(--line);flex-shrink:0;
  }
  .ca-gl-modal-head h2{
    font-family:'Fraunces',serif;font-size:20px;font-weight:700;
    color:var(--paper);margin:0;
  }
  .ca-gl-search{
    width:100%;padding:12px 22px;border:none;border-bottom:1px solid var(--line);
    background:rgba(243,238,224,0.04);color:var(--paper);font-size:14px;
    font-family:'Inter',sans-serif;outline:none;box-sizing:border-box;flex-shrink:0;
  }
  .ca-gl-search::placeholder{color:rgba(243,238,224,0.35);}
  .ca-gl-search:focus{border-bottom-color:var(--brass);}
  .ca-gl-body{overflow-y:auto;padding:12px 22px 22px;flex:1;}
  .ca-gl-entry{padding:12px 0;border-bottom:1px solid rgba(243,238,224,0.06);}
  .ca-gl-entry:last-child{border-bottom:none;}
  .ca-gl-term{
    font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:700;
    color:var(--brass-bright);letter-spacing:0.03em;margin-bottom:4px;
  }
  .ca-gl-def{font-size:13px;line-height:1.6;color:rgba(243,238,224,0.78);}
  .ca-gl-empty{padding:30px;text-align:center;color:rgba(243,238,224,0.4);font-size:14px;}

  /* ===== RESUMEN FINAL: TUS 8 MOTORES ===== */
  .ca-rank-grid{
    display:grid;grid-template-columns:1fr 1fr;gap:12px;
  }
  .ca-rank-card{
    background:rgba(243,238,224,0.06);border:1px solid var(--line);border-radius:4px;
    box-shadow:0 2px 8px rgba(0,0,0,0.15);
    padding:14px 16px;
  }
  .ca-rank-card-head{
    display:flex;align-items:center;gap:10px;margin-bottom:8px;
  }
  .ca-rank-pos{
    flex-shrink:0;width:30px;height:30px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    background:var(--brass);color:var(--navy);
    font-weight:800;font-size:14px;
  }
  .ca-rank-card-titles{min-width:0;}
  .ca-rank-card-name{
    font-family:'Fraunces',serif;font-weight:700;font-size:14.5px;
    color:var(--paper);line-height:1.2;
  }
  .ca-rank-card-score{
    font-family:'IBM Plex Mono',monospace;font-size:11px;
    color:var(--brass-bright);margin-top:2px;font-weight:600;
  }
  .ca-rank-card-bar{
    height:6px;border-radius:3px;background:rgba(243,238,224,0.08);
    overflow:hidden;margin-bottom:10px;
  }
  .ca-rank-card-bar>div{
    height:100%;border-radius:3px;background:var(--teal);
  }
  .ca-rank-card:nth-child(1) .ca-rank-card-bar>div{background:var(--brass);}
  .ca-rank-card-sum{
    font-size:12.5px;line-height:1.55;color:rgba(243,238,224,0.82);
    margin:0 0 10px;
  }
  .ca-rank-quote{
    margin:0;padding:8px 12px;border-left:2px solid var(--brass);
    background:rgba(200,154,75,0.08);
    font-family:'Fraunces',serif;font-style:italic;font-size:13px;line-height:1.5;
    color:var(--paper);
  }
  .ca-rank-quote cite{
    display:block;font-style:normal;font-family:'IBM Plex Mono',monospace;
    font-size:10.5px;color:var(--brass-bright);margin-top:6px;
    text-transform:uppercase;letter-spacing:0.05em;
  }
  @media(max-width:640px){
    .ca-rank-grid{grid-template-columns:1fr;}
  }

  /* ===== CONSENTIMIENTO (REGISTRO) ===== */
  .ca-consent-row{
    display:flex;gap:10px;align-items:flex-start;
    font-size:12.5px;line-height:1.55;color:rgba(243,238,224,0.75);
    margin-top:16px;cursor:pointer;
  }
  .ca-consent-row input{flex:none;margin-top:2px;}

  /* ===== BLOQUE AUTO-HIPNOSIS (PERFIL) ===== */
  .ca-hip-block{
    margin-top:14px;border:1px solid var(--line);
    border-left:3px solid var(--brass);border-radius:4px;
    background:rgba(200,154,75,0.07);padding:14px 16px;
  }
  .ca-hip-title{
    font-family:'Fraunces',serif;font-size:15px;font-weight:600;
    color:var(--paper);margin:0 0 6px;
  }
  .ca-hip-sub{font-size:12.5px;line-height:1.6;color:rgba(243,238,224,0.72);margin:0 0 10px;}
  .ca-hip-acc{border:1px solid var(--line);border-radius:4px;overflow:hidden;}
  .ca-hip-acc summary{
    padding:9px 12px;cursor:pointer;font-size:12.5px;font-weight:600;
    color:rgba(243,238,224,0.85);background:rgba(243,238,224,0.04);list-style:none;
  }
  .ca-hip-acc summary::after{content:"▾";margin-left:8px;font-size:11px;color:var(--brass-bright);}
  .ca-hip-acc[open] summary::after{content:"▴";}
  .ca-hip-body{
    padding:12px 14px;font-size:12.5px;line-height:1.7;
    color:rgba(243,238,224,0.82);max-height:420px;overflow-y:auto;
    white-space:pre-line;
  }

  /* ===== PLAN 30-60-90 (CHECKLIST INTERACTIVO) ===== */
  .ca-plan90{
    border:1px solid var(--line);border-radius:4px;
    background:rgba(243,238,224,0.03);padding:18px;
  }
  .ca-plan90-head p{
    font-size:13px;line-height:1.6;color:rgba(243,238,224,0.78);margin:0 0 12px;max-width:620px;
  }
  .ca-plan90-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
  .ca-plan90-total{
    font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--brass-bright);
    margin-left:auto;font-weight:700;
  }
  .ca-plan90-phases{display:grid;gap:14px;margin-top:16px;}
  .ca-plan90-phase{
    border:1px solid var(--line);border-left:3px solid var(--teal);border-radius:4px;
    background:rgba(11,30,44,0.4);padding:12px 14px;
  }
  .ca-plan90-phase:nth-child(2){border-left-color:var(--brass);}
  .ca-plan90-phase:nth-child(3){border-left-color:var(--brass-bright);}
  .ca-plan90-phase-head{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
  .ca-plan90-phase-tag{
    font-family:'Fraunces',serif;font-size:15px;font-weight:600;color:var(--paper);
  }
  .ca-plan90-phase-prog{
    flex:1;height:6px;border-radius:3px;background:rgba(243,238,224,0.1);overflow:hidden;
  }
  .ca-plan90-prog-fill{height:100%;border-radius:3px;background:var(--teal);}
  .ca-plan90-prog-count{
    font-family:'IBM Plex Mono',monospace;font-size:11px;color:rgba(243,238,224,0.6);
    min-width:38px;text-align:right;
  }
  .ca-plan90-meta{font-size:12px;line-height:1.5;color:rgba(243,238,224,0.55);margin-bottom:4px;}
  .ca-plan90-items{display:flex;flex-direction:column;gap:6px;margin-top:8px;}
  .ca-plan90-item{
    display:flex;gap:10px;align-items:flex-start;cursor:pointer;
    font-size:13px;line-height:1.5;color:rgba(243,238,224,0.88);
    padding:8px 10px;border-radius:3px;
    background:rgba(243,238,224,0.03);
    transition:opacity .15s ease;
  }
  .ca-plan90-item:hover{background:rgba(243,238,224,0.06);}
  .ca-plan90-item input{position:absolute;opacity:0;pointer-events:none;}
  .ca-plan90-box{
    flex:none;width:18px;height:18px;margin-top:1px;border-radius:3px;
    border:1px solid rgba(243,238,224,0.45);position:relative;
    background:transparent;transition:background .15s ease,border-color .15s ease;
  }
  .ca-plan90-item.done .ca-plan90-box{
    background:var(--teal);border-color:var(--teal);
  }
  .ca-plan90-item.done .ca-plan90-box::after{
    content:"";position:absolute;left:5px;top:2px;width:5px;height:9px;
    border:solid #071321;border-width:0 2px 2px 0;transform:rotate(45deg);
  }
  .ca-plan90-item.done .ca-plan90-txt{
    text-decoration:line-through;color:rgba(243,238,224,0.45);
  }
  @media(min-width:760px){
    .ca-plan90-phases{grid-template-columns:repeat(3,1fr);}
  }

  /* ===== COMPARADOR DE OFERTAS ===== */
  .cmp-block{
    border:1px solid var(--line);border-radius:4px;
    background:rgba(243,238,224,0.03);padding:14px 16px;
  }
  .cmp-block-title{
    font-family:'Fraunces',serif;font-size:15px;font-weight:600;color:var(--paper);
    margin-bottom:10px;
  }
  .cmp-motive-row{display:flex;gap:8px;flex-wrap:wrap;}
  .cmp-motive{
    font-family:'IBM Plex Mono',monospace;font-size:11px;color:rgba(243,238,224,0.8);
    border:1px solid rgba(243,238,224,0.18);border-radius:20px;
    padding:5px 10px;background:rgba(243,238,224,0.04);display:inline-flex;gap:6px;align-items:center;
  }
  .cmp-motive b{color:var(--brass-bright);font-family:'Inter',sans-serif;}
  .cmp-motive-pos{
    width:16px;height:16px;border-radius:50%;background:var(--teal);color:#071321;
    font-weight:700;font-size:10px;display:inline-flex;align-items:center;justify-content:center;
  }
  .cmp-motive-note{font-size:12px;color:rgba(243,238,224,0.55);margin-top:8px;}
  .cmp-offer{
    margin-top:16px;border:1px solid var(--line);border-radius:4px;
    background:rgba(11,30,44,0.45);padding:14px 16px;
  }
  .cmp-offer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
  .cmp-offer-num{
    font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.12em;
    text-transform:uppercase;color:var(--brass-bright);
  }
  .cmp-factors{display:grid;gap:10px;margin-top:10px;}
  .cmp-factor{
    display:flex;flex-direction:column;gap:6px;
    border-top:1px solid rgba(243,238,224,0.08);padding-top:10px;
  }
  .cmp-factor-q{font-size:12.5px;color:rgba(243,238,224,0.85);line-height:1.4;}
  .cmp-pill-row{display:flex;gap:6px;flex-wrap:wrap;}
  .cmp-pill{
    appearance:none;border:1px solid rgba(243,238,224,0.3);background:transparent;
    color:rgba(243,238,224,0.75);font-family:'Inter',sans-serif;font-size:12px;
    padding:6px 10px;border-radius:20px;cursor:pointer;
    transition:all .15s ease;
  }
  .cmp-pill:hover{border-color:var(--paper);color:var(--paper);}
  .cmp-pill.on{border-color:var(--brass);background:var(--brass);color:var(--navy-deep);font-weight:600;}
  .cmp-res-head{
    font-family:'Fraunces',serif;font-size:19px;color:var(--paper);margin-bottom:12px;
  }
  .cmp-results{display:flex;flex-direction:column;gap:14px;}
  .cmp-result{
    border:1px solid var(--line);border-left:3px solid var(--teal);border-radius:4px;
    background:rgba(243,238,224,0.03);padding:12px 14px;
  }
  .cmp-result.best{border-left-color:var(--brass-bright);background:rgba(200,154,75,0.08);}
  .cmp-result-head{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap;}
  .cmp-result-rank{
    font-family:'IBM Plex Mono',monospace;font-size:11px;color:rgba(243,238,224,0.5);
  }
  .cmp-result-name{font-family:'Fraunces',serif;font-size:16px;font-weight:600;color:var(--paper);flex:1;}
  .cmp-result-score{font-family:'IBM Plex Mono',monospace;font-size:15px;color:var(--brass-bright);font-weight:700;}
  .cmp-badge{
    display:inline-block;margin:8px 0 4px;font-size:11px;font-weight:600;
    color:var(--navy-deep);background:var(--brass);border-radius:20px;padding:4px 10px;
  }
  .cmp-result-notes{font-size:12.5px;line-height:1.55;color:rgba(243,238,224,0.75);margin-top:8px;}
  .cmp-warn{
    font-size:12px;line-height:1.5;color:#E0B564;margin-top:8px;
    background:rgba(254,222,133,0.08);border:1px solid rgba(224,181,100,0.3);
    border-radius:3px;padding:8px 10px;
  }
  .cmp-note{font-size:12px;line-height:1.6;color:rgba(243,238,224,0.5);margin-top:14px;max-width:620px;}
  @media(min-width:980px){
    .cmp-factors{grid-template-columns:1fr 1fr;gap:8px 18px;}
  }

  /* ===== ADMIN: pestañas de perfil de usuario ===== */
  .admin-tabs{display:flex;gap:4px;margin:16px 0 0;border-bottom:1px solid var(--line);flex-wrap:wrap;}
  .admin-tab{
    appearance:none;background:transparent;border:1px solid transparent;border-bottom:none;
    color:rgba(243,238,224,0.6);font-family:'Inter',sans-serif;font-size:13px;font-weight:600;
    padding:10px 16px;cursor:pointer;border-radius:6px 6px 0 0;
    transition:color .15s ease,background .15s ease;
  }
  .admin-tab:hover{color:var(--paper);}
  .admin-tab.active{color:var(--paper);background:rgba(243,238,224,0.05);border-color:var(--line);}

  /* ===== DATA CORP — analítica ocupacional (admin/RRHH) ===== */
  .dc-head{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;padding:16px 0 14px;}
  .dc-title{font-family:'Fraunces',serif;font-size:23px;color:var(--paper);letter-spacing:0.02em;}
  .dc-title::after{content:"";display:block;width:56px;height:3px;background:var(--brass);margin-top:6px;}
  .dc-sub{font-size:13px;color:rgba(243,238,224,0.6);margin-top:8px;}
  .dc-sellabel{display:block;font-size:11px;text-transform:uppercase;letter-spacing:0.06em;color:rgba(243,238,224,0.5);margin-bottom:4px;}
  .dc-sel{
    background:#0d1824;color:var(--paper);border:1px solid var(--line);border-radius:4px;
    font-family:'Inter',sans-serif;font-size:13px;padding:8px 10px;max-width:320px;
  }
  .dc-banner{
    font-size:12.5px;line-height:1.6;color:rgba(243,238,224,0.7);
    border:1px dashed rgba(243,238,224,0.28);border-left:3px solid var(--teal);
    border-radius:4px;padding:10px 14px;margin:0 0 16px;background:rgba(62,110,107,0.07);
  }
  .dc-banner b{color:var(--brass-bright);font-weight:600;}
  .dc-card{border:1px solid var(--line);border-radius:4px;background:rgba(243,238,224,0.03);margin-bottom:16px;overflow:hidden;}
  .dc-card-head{
    display:flex;align-items:center;gap:10px;padding:12px 16px;
    background:rgba(243,238,224,0.045);border-bottom:1px solid var(--line);flex-wrap:wrap;
  }
  .dc-card-title{font-family:'Fraunces',serif;font-size:15px;font-weight:600;color:var(--paper);}
  .dc-card-n{font-size:11.5px;line-height:1.4;color:rgba(243,238,224,0.5);margin-left:auto;text-align:right;}
  .dc-card-body{padding:14px 16px;}
  .dc-grid{display:grid;gap:10px;}
  .dc-grid-4{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));}
  .dc-grid-c2{grid-template-columns:1fr;}
  @media(min-width:980px){.dc-grid-c2{grid-template-columns:1fr 1fr;}}
  .dc-kpi{border:1px solid var(--line);border-radius:4px;padding:10px 12px;background:rgba(11,30,44,0.45);}
  .dc-kpi-v{font-family:'IBM Plex Mono',monospace;font-size:16px;font-weight:700;color:var(--brass-bright);}
  .dc-kpi-l{font-size:10.5px;text-transform:uppercase;letter-spacing:0.05em;color:rgba(243,238,224,0.55);margin-top:4px;}

  .dc-rada-grid{display:grid;gap:14px;}
  @media(min-width:900px){.dc-rada-grid{grid-template-columns:280px 1fr;}}
  .dc-radar{display:flex;justify-content:center;align-self:start;border:1px solid var(--line);border-radius:4px;background:rgba(11,30,44,0.35);padding:10px;}
  .dc-radar svg{width:100%;max-width:280px;height:auto;}
  .dc-anchors{display:grid;gap:10px;}
  @media(min-width:700px){.dc-anchors{grid-template-columns:1fr 1fr;}}
  .dc-anch{border:1px solid var(--line);border-radius:4px;padding:10px 12px;background:rgba(11,30,44,0.4);}
  .dc-anch-top{display:flex;align-items:center;gap:8px;margin-bottom:8px;}
  .dc-anch-code{
    font-family:'IBM Plex Mono',monospace;font-size:10.5px;font-weight:700;color:var(--navy-deep);
    background:var(--brass);border-radius:3px;padding:2px 6px;letter-spacing:0.04em;
  }
  .dc-anch-name{font-size:12.5px;font-weight:600;color:var(--paper);flex:1;line-height:1.3;}
  .dc-anch-score{font-family:'IBM Plex Mono',monospace;font-size:14px;color:var(--brass-bright);font-weight:700;white-space:nowrap;}
  .dc-anch-unit{font-size:10px;color:rgba(243,238,224,0.5);font-weight:400;}
  .dc-bar-track{height:6px;border-radius:3px;background:rgba(243,238,224,0.1);overflow:hidden;margin-bottom:6px;}
  .dc-bar-fill{height:100%;border-radius:3px;background:var(--teal);}
  .dc-anch-level{font-size:9.5px;font-weight:700;letter-spacing:0.07em;text-transform:uppercase;}
  .dc-anch-desc{font-size:11.5px;line-height:1.55;color:rgba(243,238,224,0.7);margin:6px 0 0;}

  .dc-roles{display:grid;gap:10px;}
  @media(min-width:760px){.dc-roles{grid-template-columns:1fr 1fr;}}
  .dc-role{
    border:1px solid var(--line);border-left:3px solid var(--teal);border-radius:4px;
    background:rgba(11,30,44,0.45);padding:12px 14px;
  }
  .dc-role-best{border-left-color:var(--brass-bright);box-shadow:0 0 0 1px rgba(224,181,100,0.25);}
  .dc-role-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:8px;}
  .dc-role-rank{font-family:'IBM Plex Mono',monospace;font-size:12px;color:rgba(243,238,224,0.45);padding-top:1px;}
  .dc-role-name{font-size:14px;font-weight:700;color:var(--paper);line-height:1.25;}
  .dc-role-tag{font-size:10px;color:var(--brass-bright);text-transform:uppercase;letter-spacing:0.06em;margin-top:2px;}
  .dc-role-score{margin-left:auto;font-family:'IBM Plex Mono',monospace;font-size:20px;font-weight:700;white-space:nowrap;}
  .dc-role-unit{font-size:11px;color:rgba(243,238,224,0.5);font-weight:400;}
  .dc-role-bar{height:8px;border-radius:4px;background:rgba(243,238,224,0.1);overflow:hidden;margin-bottom:8px;}
  .dc-role-bar>div{height:100%;border-radius:4px;}
  .dc-role-row{margin-bottom:8px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
  .dc-chip{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;border-radius:20px;padding:3px 9px;border:1px solid var(--brass-bright);color:var(--brass-bright);}
  .dc-role-verdict{font-size:12px;font-weight:600;}
  .dc-role-desc{font-size:11.5px;line-height:1.5;color:rgba(243,238,224,0.6);margin:0;}

  .dc-ins{border:1px solid var(--line);border-radius:4px;padding:12px 14px;margin-bottom:12px;background:rgba(11,30,44,0.3);}
  .dc-ins-title{font-size:12.5px;font-weight:700;color:var(--paper);margin-bottom:10px;letter-spacing:0.02em;}
  .dc-ins-title b{color:var(--brass-bright);font-family:'IBM Plex Mono',monospace;}
  .dc-bars{display:flex;flex-direction:column;gap:10px;}
  .dc-bar-top{display:flex;justify-content:space-between;font-size:12.5px;color:rgba(243,238,224,0.85);margin-bottom:4px;}
  .dc-bar-top b{font-family:'IBM Plex Mono',monospace;color:var(--brass-bright);}
  .dc-bar{height:7px;border-radius:4px;background:rgba(243,238,224,0.1);overflow:hidden;}
  .dc-bar>div{height:100%;border-radius:4px;background:var(--teal);}
  .dc-bar-note{font-size:11px;line-height:1.45;color:rgba(243,238,224,0.5);margin-top:4px;}

  .dc-mbti{display:flex;flex-direction:column;gap:12px;}
  .dc-mbti-row{border-bottom:1px solid rgba(243,238,224,0.07);padding-bottom:10px;}
  .dc-mbti-labels{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:rgba(243,238,224,0.75);margin-bottom:5px;}
  .dc-mbti-labels .on{color:var(--brass-bright);font-weight:700;}
  .dc-mbti-track{position:relative;height:8px;border-radius:4px;background:rgba(243,238,224,0.1);overflow:hidden;}
  .dc-mbti-fill{height:100%;background:var(--teal);border-radius:4px;}
  .dc-mbti-note{font-size:11px;color:rgba(243,238,224,0.5);margin-top:5px;line-height:1.45;}
  .dc-mbti-note b{color:var(--brass-bright);}
  .dc-mbti-code{font-size:12px;color:rgba(243,238,224,0.7);line-height:1.5;}
  .dc-mbti-code b{color:var(--brass-bright);}

  .dc-list{display:flex;flex-direction:column;gap:8px;}
  .dc-li{
    border-left:2px solid var(--teal);padding:7px 11px;background:rgba(243,238,224,0.03);
    font-size:12.5px;line-height:1.55;color:rgba(243,238,224,0.85);
  }
  .dc-li-warn{border-left-color:var(--rust);background:rgba(180,87,63,0.08);}
  .dc-li-ok{border-left-color:var(--brass);background:rgba(200,154,75,0.07);}
  .dc-li b{color:var(--paper);}

  .dc-intq{padding-left:20px;}
  .dc-intq li{margin-bottom:8px;line-height:1.55;color:rgba(243,238,224,0.85);}
  .dc-note{font-size:11.5px;line-height:1.6;color:rgba(243,238,224,0.55);}

  .dc-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;}
  .dc-badge.ok{background:rgba(62,110,107,0.22);color:var(--teal);border:1px solid rgba(62,110,107,0.5);}
  .dc-badge.mid{background:rgba(200,154,75,0.16);color:var(--brass-bright);border:1px solid rgba(200,154,75,0.4);}
  .dc-badge.low{background:rgba(180,87,63,0.2);color:var(--rust);border:1px solid rgba(180,87,63,0.45);}

  /* Orientación de rol profesional (resultado del usuario, alineada con Data Corp) */
  .ca-ro-intro{font-size:13px;line-height:1.6;color:rgba(243,238,224,0.75);}
  .ca-ro-card{
    border:1px solid var(--line);border-left:3px solid var(--teal);border-radius:6px;
    padding:12px 14px;margin-top:10px;background:rgba(243,238,224,0.04);
  }
  .ca-ro-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px;}
  .ca-ro-name{font-weight:700;font-size:14px;color:var(--paper);}
  .ca-ro-badge{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;padding:2px 9px;border-radius:20px;}
  .ca-ro-ca{background:rgba(62,110,107,0.22);color:var(--teal);border:1px solid rgba(62,110,107,0.5);}
  .ca-ro-cm{background:rgba(200,154,75,0.16);color:var(--brass-bright);border:1px solid rgba(200,154,75,0.4);}
  .ca-ro-cb{background:rgba(180,87,63,0.2);color:var(--rust);border:1px solid rgba(180,87,63,0.45);}
  .ca-ro-dir{font-size:13px;line-height:1.6;color:rgba(243,238,224,0.88);}
  .ca-ro-note{margin-top:12px;font-size:11.5px;line-height:1.6;color:rgba(243,238,224,0.55);}

  /* ===== Exitograma (perfil del usuario, desde snapshot) ===== */
  .ca-exi-user .ca-exi-hero{
    border:1px solid rgba(200,154,75,0.45);border-radius:8px;
    background:linear-gradient(135deg,rgba(200,154,75,0.14),rgba(243,238,224,0.03));
    padding:18px 20px;margin:0 20px 16px;
  }
  .ca-exiu-eyebrow{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.16em;color:var(--brass-bright);text-transform:uppercase;}
  .ca-exiu-name{font-family:'Fraunces',serif;font-size:24px;font-weight:700;color:var(--paper);margin:4px 0 6px;}
  .ca-exiu-name small{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--brass-bright);font-weight:600;}
  .ca-exiu-obj{font-size:14px;line-height:1.5;color:rgba(243,238,224,0.85);}
  .ca-exiu-meta{font-size:11.5px;color:rgba(243,238,224,0.55);margin-top:8px;font-family:'IBM Plex Mono',monospace;}
  .ca-exiu-sec{margin-top:10px;font-size:12.5px;color:rgba(243,238,224,0.75);}
  .ca-exiu-sec b{color:var(--paper);}
  .ca-exiu-main{border-radius:8px;padding:16px 18px;color:var(--navy-deep);}
  .ca-exiu-main-name{font-family:'Fraunces',serif;font-size:19px;font-weight:700;margin-bottom:8px;}
  .ca-exiu-main-row{font-size:13px;line-height:1.7;color:rgba(8,21,33,0.85);text-shadow:0 1px 0 rgba(243,238,224,0.15);}
  .ca-exiu-main-row b{font-weight:700;color:var(--navy-deep);}
  .ca-exiu-matiz{border:1px solid var(--line);border-left:3px solid var(--teal);border-radius:6px;padding:10px 14px;margin-top:10px;background:rgba(243,238,224,0.04);}
  .ca-exiu-matiz-name{font-weight:700;font-size:13.5px;color:var(--paper);margin-bottom:4px;}
  .ca-exiu-matiz-name small{font-weight:400;color:var(--brass-bright);font-size:11px;}
  .ca-exiu-radar{display:flex;justify-content:center;border:1px solid var(--line);border-radius:6px;background:rgba(11,30,44,0.4);padding:12px;}
  .ca-exiu-donuts{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));}
  .ca-exiu-donut{border:1px solid var(--line);border-radius:6px;background:rgba(11,30,44,0.35);padding:12px;display:flex;flex-direction:column;align-items:center;gap:8px;}
  .ca-exiu-donut span{font-size:11px;line-height:1.4;text-align:center;color:rgba(243,238,224,0.8);}
  .ca-exiu-map{display:grid;gap:10px;}
  @media(min-width:700px){.ca-exiu-map{grid-template-columns:1fr 1fr;}}
  .ca-exiu-mapcard{border:1px solid var(--line);border-radius:6px;background:rgba(243,238,224,0.03);padding:12px 14px;}
  .ca-exiu-map-l{font-size:13px;font-weight:700;color:var(--brass-bright);margin-bottom:4px;}
  .ca-exiu-map-v{font-size:12.5px;color:rgba(243,238,224,0.9);line-height:1.5;}
  details.ca-exiu-map-j{margin-top:8px;}
  .ca-exiu-map-j summary{cursor:pointer;font-size:11.5px;color:var(--teal);font-weight:600;letter-spacing:0.04em;}
  .ca-exiu-map-j summary:hover{color:var(--brass-bright);}
  .ca-exiu-map-j div{margin-top:6px;font-size:12px;line-height:1.6;color:rgba(243,238,224,0.7);}
  .ca-exiu-ana{display:grid;gap:10px;}
  @media(min-width:700px){.ca-exiu-ana{grid-template-columns:1fr 1fr;}}
  .ca-exiu-ana-b{border:1px solid var(--line);border-left:3px solid var(--brass);border-radius:6px;background:rgba(200,154,75,0.05);padding:12px 14px;}
  .ca-exiu-ana-b b{font-size:12px;text-transform:uppercase;letter-spacing:0.06em;color:var(--brass-bright);}
  .ca-exiu-ana-b p{margin:6px 0 0;font-size:12.5px;line-height:1.65;color:rgba(243,238,224,0.85);}
.ca-exiu-tetra{margin:6px 0 0;}
.ca-exiu-tetra iframe{width:100%;height:520px;border:1px solid var(--line);border-radius:8px;background:var(--navy-deep);display:block;}
  .ca-exiu-note{font-size:11.5px;line-height:1.6;color:rgba(243,238,224,0.55);margin-top:8px;}


/* ============================================================
 *  CHATBOT CONVERSACIONAL Y PANTALLA WOW (QTM / CAREER ANCHORS)
 * ============================================================ */

.ca-chat-shell {
  background: rgba(11, 30, 44, 0.85);
  background-image: radial-gradient(rgba(200, 154, 75, 0.08) 1px, transparent 1px);
  background-size: 18px 18px;
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 16px 40px -6px rgba(0,0,0,0.4);
  display: flex;
  flex-direction: column;
  position: relative;
  margin-top: 10px;
  margin-bottom: 30px;
  min-height: 520px;
}

/* APPBAR DE MENSAJERÍA */
.ca-chat-appbar {
  background: rgba(15, 36, 54, 0.95);
  border-bottom: 1px solid var(--line);
  padding: 12px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.ca-chat-appbar-user {
  display: flex;
  align-items: center;
  gap: 12px;
}
.ca-chat-avatar-wrap {
  position: relative;
}
.ca-chat-avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--teal), var(--navy-deep));
  border: 1px solid var(--brass);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: #FFFFFF;
}
.ca-chat-status-dot {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 12px;
  height: 12px;
  background: #10B981;
  border: 2px solid var(--navy);
  border-radius: 50%;
}
.ca-chat-info h3 {
  margin: 0;
  font-family: 'Fraunces', serif;
  font-size: 16px;
  font-weight: 700;
  color: var(--paper);
  display: flex;
  align-items: center;
  gap: 6px;
}
.ca-chat-ai-badge {
  background: rgba(200, 154, 75, 0.2);
  color: var(--brass-bright);
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  padding: 1px 6px;
  border-radius: 10px;
  border: 1px solid rgba(200, 154, 75, 0.4);
}
.ca-chat-status {
  font-size: 11.5px;
  color: rgba(243, 238, 224, 0.65);
}
.ca-chat-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* PROGRESO EN APPBAR */
.ca-chat-progress-wrap {
  background: rgba(11, 30, 44, 0.9);
  border-bottom: 1px solid var(--line);
}
.ca-chat-progress-info {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  color: rgba(243, 238, 224, 0.6);
  display: flex;
  justify-content: space-between;
  padding: 4px 16px;
  text-transform: uppercase;
}

/* STREAM DE MENSAJES */
.ca-chat-stream {
  flex: 1;
  padding: 24px 20px;
  overflow-y: auto;
  max-height: 520px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  scroll-behavior: smooth;
}

/* BURBUJAS DE CHAT */
.ca-bubble-row {
  display: flex;
  gap: 10px;
  align-items: flex-end;
  animation: caFadeInUp 0.3s ease-out;
}
.ca-bubble-row.bot {
  align-self: flex-start;
  max-width: 86%;
}
.ca-bubble-row.user {
  align-self: flex-end;
  flex-direction: row-reverse;
  max-width: 82%;
}
.ca-bubble-body {
  padding: 14px 18px;
  border-radius: 14px;
  font-size: 14px;
  line-height: 1.6;
  position: relative;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}
.ca-bubble-row.bot .ca-bubble-body {
  background: rgba(22, 50, 72, 0.95);
  border: 1px solid rgba(111, 168, 170, 0.3);
  color: var(--paper);
  border-bottom-left-radius: 4px;
}
.ca-bubble-row.user .ca-bubble-body {
  background: linear-gradient(135deg, var(--brass), var(--brass-bright));
  color: var(--navy-deep);
  font-weight: 600;
  border-bottom-right-radius: 4px;
}
.ca-bubble-time {
  font-size: 10px;
  margin-top: 6px;
  text-align: right;
  opacity: 0.6;
}

/* INDICADOR ESCRIBIENDO... */
.ca-typing-indicator {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 8px 14px;
  background: rgba(22, 50, 72, 0.8);
  border-radius: 12px;
  border: 1px solid rgba(111, 168, 170, 0.25);
}
.ca-typing-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--brass-bright);
  opacity: 0.4;
  animation: caTypingAnim 1.3s infinite ease-in-out;
}
.ca-typing-dot:nth-child(2) { animation-delay: 0.2s; }
.ca-typing-dot:nth-child(3) { animation-delay: 0.4s; }

@keyframes caTypingAnim {
  0%, 100% { transform: translateY(0); opacity: 0.4; }
  50% { transform: translateY(-4px); opacity: 1; }
}

@keyframes caFadeInUp {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

/* DOCK DE OPCIONES LIKERT */
.ca-chat-input-dock {
  background: rgba(15, 36, 54, 0.95);
  border-top: 1px solid var(--line);
  padding: 16px 20px;
}
.ca-chat-likert-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
@media(max-width: 600px) {
  .ca-chat-likert-grid { grid-template-columns: repeat(2, 1fr); }
}
.ca-chat-likert-btn {
  background: rgba(243, 238, 224, 0.05);
  border: 1px solid rgba(243, 238, 224, 0.2);
  color: var(--paper);
  border-radius: 6px;
  padding: 12px 8px;
  cursor: pointer;
  text-align: center;
  transition: all 0.15s ease;
  font-family: 'Inter', sans-serif;
}
.ca-chat-likert-btn:hover {
  border-color: var(--brass-bright);
  background: rgba(200, 154, 75, 0.12);
  transform: translateY(-1px);
}
.ca-chat-likert-btn.selected {
  background: var(--brass);
  color: var(--navy-deep);
  border-color: var(--brass-bright);
  font-weight: 700;
}
.ca-chat-likert-num {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 16px;
  font-weight: 700;
  display: block;
  margin-bottom: 2px;
}
.ca-chat-likert-txt {
  font-size: 11px;
  line-height: 1.25;
  opacity: 0.9;
}

/* TARJETA WOW 360° RESULTADOS */
.ca-wow-card {
  background: rgba(15, 36, 54, 0.95);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 24px;
  margin-bottom: 24px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.3);
}
.ca-archetype-badge {
  background: linear-gradient(135deg, rgba(200, 154, 75, 0.2), rgba(62, 110, 107, 0.25));
  border: 1px solid var(--brass);
  color: var(--paper);
  border-radius: 8px;
  padding: 20px;
  text-align: center;
  margin-bottom: 22px;
}
.ca-radar-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
  font-size: 13px;
}
.ca-radar-label {
  width: 170px;
  font-weight: 600;
  color: var(--paper);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ca-radar-bar-bg {
  flex: 1;
  height: 10px;
  background: rgba(243, 238, 224, 0.08);
  border-radius: 5px;
  overflow: hidden;
}
.ca-radar-bar-fill {
  height: 100%;
  border-radius: 5px;
  background: linear-gradient(90deg, var(--teal), var(--brass));
  transition: width 0.8s ease-out;
}
.ca-radar-val {
  width: 45px;
  text-align: right;
  font-family: 'IBM Plex Mono', monospace;
  font-weight: 700;
  color: var(--brass-bright);
}

/* REPRODUCTOR DE AUTOHIPNOSIS (BINAURAL THETA) */
.ca-player-box {
  background: rgba(8, 21, 33, 0.85);
  border: 1px solid rgba(200, 154, 75, 0.35);
  border-radius: 10px;
  padding: 18px 20px;
  margin: 20px 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.ca-player-waves {
  display: flex;
  align-items: center;
  gap: 4px;
  height: 24px;
}
.ca-player-bar {
  width: 4px;
  height: 6px;
  background: var(--brass-bright);
  border-radius: 2px;
  transition: height 0.15s ease;
}
.ca-player-bar.playing {
  animation: caWaveAnim 0.8s infinite ease-in-out alternate;
}
@keyframes caWaveAnim {
  0% { height: 4px; }
  100% { height: 22px; }
}

/* BOTÓN FLOTANTE SUBIR AL INICIO (HEADER) — ALINEADO A LA IZQUIERDA */
.ca-scroll-top-btn {
  position: fixed;
  bottom: 18px;
  left: 60px;
  right: auto;
  width: 36px;
  height: 36px;
  background: rgba(11, 30, 44, 0.94);
  color: var(--brass-bright);
  border: 1.5px solid rgba(200, 154, 75, 0.45);
  border-radius: 50%;
  padding: 0;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  cursor: pointer;
  z-index: 9998;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  transition: transform 0.2s ease, opacity 0.25s ease, visibility 0.25s ease, background 0.2s ease, border-color 0.2s ease;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.ca-scroll-top-btn.visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.ca-scroll-top-btn:hover {
  transform: translateY(-2px) scale(1.08);
  background: var(--brass-bright);
  color: #0B1E2C;
  border-color: var(--brass-bright);
  box-shadow: 0 6px 16px rgba(200, 154, 75, 0.4);
}

/* BOTÓN FLOTANTE SALVAVIDAS (PAUSA Y CLARIDAD) — ALINEADO A LA IZQUIERDA */
.ca-floating-sos-btn {
  position: fixed;
  bottom: 18px;
  left: 18px;
  right: auto;
  width: 36px;
  height: 36px;
  background: linear-gradient(135deg, rgba(200, 154, 75, 0.95), rgba(180, 87, 63, 0.95));
  color: #FFFFFF;
  border: 1.5px solid rgba(243, 238, 224, 0.4);
  border-radius: 50%;
  padding: 0;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3), 0 2px 6px rgba(180, 87, 63, 0.35);
  cursor: pointer;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.ca-floating-sos-btn:hover {
  transform: scale(1.08);
  box-shadow: 0 6px 18px rgba(180, 87, 63, 0.5);
  border-color: var(--brass-bright);
}
.ca-floating-sos-btn .ca-sos-icon {
  font-size: 18px;
  line-height: 1;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,0.3));
}

/* MODAL SOS Y RESPIRACIÓN 4-7-8 */
.ca-sos-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(8, 21, 33, 0.85);
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  backdrop-filter: blur(6px);
}
.ca-sos-modal-card {
  background: var(--navy);
  border: 1px solid rgba(200, 154, 75, 0.4);
  border-radius: 12px;
  max-width: 520px;
  width: 100%;
  overflow: hidden;
  box-shadow: 0 20px 45px rgba(0,0,0,0.5);
}
.ca-sos-head {
  padding: 16px 20px;
  background: rgba(180, 87, 63, 0.2);
  border-bottom: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.ca-sos-close {
  background: transparent;
  border: none;
  color: var(--paper);
  font-size: 24px;
  cursor: pointer;
}
.ca-sos-body {
  padding: 24px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.ca-breath-circle {
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: radial-gradient(circle, var(--teal) 0%, var(--navy-deep) 100%);
  border: 2px solid var(--teal);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--paper);
  margin: 18px auto;
  box-shadow: 0 0 30px rgba(62, 110, 107, 0.5);
  transition: transform 1s ease-in-out, box-shadow 1s ease, border-color 1s ease;
}
.ca-breath-circle.inhale {
  transform: scale(1.35);
  box-shadow: 0 0 50px rgba(62, 110, 107, 0.9);
  border-color: var(--brass-bright);
}
.ca-breath-circle.hold {
  transform: scale(1.35);
  box-shadow: 0 0 55px rgba(200, 154, 75, 0.9);
  background: radial-gradient(circle, var(--brass) 0%, var(--navy-deep) 100%);
  border-color: var(--brass-bright);
}
.ca-breath-circle.exhale {
  transform: scale(0.9);
  box-shadow: 0 0 25px rgba(62, 110, 107, 0.4);
  background: radial-gradient(circle, #2563EB 0%, var(--navy-deep) 100%);
  border-color: #60A5FA;
}
.ca-sos-wisdom {
  background: rgba(243, 238, 224, 0.05);
  border: 1px solid var(--line);
  border-left: 3px solid var(--brass);
  border-radius: 4px;
  padding: 12px 14px;
  margin-top: 18px;
  text-align: left;
  width: 100%;
}



/* ============================================================
 *  PLAN DE 7 DÍAS — Estilos
 * ============================================================ */
.ca-7day-plan {
  margin-top: 20px;
  border-top: 1px solid var(--line);
  padding-top: 18px;
}
.ca-7day-head { margin-bottom: 16px; }
.ca-7day-title {
  font-family: 'Fraunces', serif;
  font-size: 16px;
  color: var(--brass-bright);
  font-weight: 700;
  margin-bottom: 4px;
}
.ca-7day-sub {
  font-size: 12.5px;
  color: rgba(243,238,224,0.6);
  line-height: 1.5;
}
.ca-7day-grid {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 14px;
}
.ca-7day-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: rgba(62,110,107,0.08);
  border: 1px solid rgba(62,110,107,0.2);
  border-radius: 8px;
  padding: 12px 14px;
  transition: background 0.2s, border-color 0.2s, opacity 0.2s;
}
.ca-7day-item.ca-7day-done {
  background: rgba(62,110,107,0.18);
  border-color: rgba(62,110,107,0.45);
  opacity: 0.7;
}
.ca-7day-check {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
}
.ca-7day-circle {
  display: block;
  width: 22px;
  height: 22px;
  border: 2px solid rgba(62,110,107,0.5);
  border-radius: 50%;
  transition: border-color 0.2s;
}
.ca-7day-check:hover .ca-7day-circle {
  border-color: var(--teal);
}
.ca-7day-content { flex: 1; min-width: 0; }
.ca-7day-item-title {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--paper);
  margin-bottom: 4px;
  line-height: 1.4;
}
.ca-7day-item.ca-7day-done .ca-7day-item-title {
  text-decoration: line-through;
  opacity: 0.7;
}
.ca-7day-item-desc {
  font-size: 12px;
  color: rgba(243,238,224,0.62);
  line-height: 1.5;
}
.ca-7day-progress {
  display: flex;
  align-items: center;
  gap: 12px;
}
.ca-7day-bar-bg {
  flex: 1;
  height: 6px;
  background: rgba(243,238,224,0.12);
  border-radius: 3px;
  overflow: hidden;
}
.ca-7day-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--teal), var(--brass-bright));
  border-radius: 3px;
  transition: width 0.4s ease;
}
.ca-7day-pct {
  font-size: 11px;
  color: rgba(243,238,224,0.55);
  white-space: nowrap;
  flex-shrink: 0;
}

/* Toast inactividad — animación */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateX(-50%) translateY(20px); }
  to   { opacity: 1; transform: translateX(-50%) translateY(0); }
}

/* ================================================================
 *  PERFECCIONAMIENTO RESPONSIVE MOBILE-FIRST (QTM)
 * ================================================================ */
@media (max-width: 768px) {
  body.ca-app .wrap {
    max-width: 100% !important;
    width: 100% !important;
    padding: 16px 12px 70px !important;
    box-sizing: border-box;
  }
  .card {
    padding: 18px 14px !important;
    margin-top: 18px;
  }
  .ca-header {
    position: static !important;
    top: auto !important;
    padding: 10px 12px;
  }
  .ca-header-in {
    max-width: 100%;
    flex-wrap: wrap;
    gap: 8px;
  }
  .ca-brand {
    font-size: 15px;
  }
  .ca-brand-sub {
    font-size: 10px;
  }
  .ca-accbar {
    gap: 6px;
  }
  .ca-accbar .btn {
    padding: 8px 12px;
    font-size: 12px;
  }

  /* Botones flotantes a la izquierda en móvil 768px */
  .ca-floating-sos-btn {
    bottom: 14px;
    left: 14px;
    right: auto;
    width: 34px;
    height: 34px;
  }
  .ca-floating-sos-btn .ca-sos-icon {
    font-size: 17px;
  }
  .ca-scroll-top-btn {
    bottom: 14px;
    left: 54px;
    right: auto;
    width: 34px;
    height: 34px;
    font-size: 15px;
  }
}

@media (max-width: 480px) {
  .ca-header {
    position: static !important;
    top: auto !important;
  }
  body.ca-app h1 {
    font-size: clamp(23px, 6.8vw, 30px);
    line-height: 1.15;
    margin-bottom: 12px;
  }
  .lede {
    font-size: 14.5px;
    line-height: 1.5;
  }
  .meta-row {
    gap: 12px;
    margin-top: 16px;
  }
  .meta-item {
    font-size: 11px;
    flex: 1 1 45%;
  }
  .meta-item b {
    font-size: 17px;
  }
  .actions {
    flex-direction: column;
    gap: 10px;
    margin-top: 20px;
    width: 100%;
  }
  .actions .btn {
    width: 100%;
    text-align: center;
    justify-content: center;
    padding: 13px 16px;
    font-size: 14px;
  }

  /* Chat motor conversacional en móvil */
  .ca-chat-shell {
    margin-top: 4px;
    margin-bottom: 14px;
    min-height: 420px;
    border-radius: 8px;
  }
  .ca-chat-appbar {
    padding: 10px 12px;
  }
  .ca-chat-avatar {
    width: 34px;
    height: 34px;
    font-size: 16px;
  }
  .ca-chat-info h3 {
    font-size: 14px;
  }
  .ca-chat-stream {
    padding: 14px 10px;
    gap: 10px;
    max-height: 52vh;
  }
  .ca-bubble-row.bot {
    max-width: 95%;
  }
  .ca-bubble-row.user {
    max-width: 90%;
  }
  .ca-bubble-body {
    padding: 10px 13px;
    font-size: 13.5px;
    line-height: 1.45;
    border-radius: 12px;
  }
  .ca-chat-input-dock {
    padding: 8px 10px 14px;
  }
  .ca-chat-likert-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 6px;
  }
  .ca-chat-likert-btn {
    padding: 9px 4px;
    min-height: 46px;
  }
  .ca-chat-likert-num {
    font-size: 15px;
  }
  .ca-chat-likert-txt {
    font-size: 10.5px;
  }

  /* Control cruzado en móvil */
  .review-block {
    margin-bottom: 16px;
  }
  .rb-title {
    font-size: 11px;
    line-height: 1.4;
  }
  .ca-ctrl-opt {
    flex: 1 1 calc(50% - 6px) !important;
    min-width: 110px !important;
    padding: 10px 4px !important;
    font-size: 11.5px !important;
  }

  /* Precisión y contexto vital en móvil */
  .prec-card {
    padding: 16px 12px;
  }
  #precQText {
    font-size: 16px !important;
    line-height: 1.4 !important;
  }
  #precAnswer {
    font-size: 13.5px;
    min-height: 95px;
    padding: 10px;
  }

  /* Tarjeta WOW 360 y radar en móvil */
  .ca-wow-card {
    padding: 16px 12px;
    border-radius: 8px;
  }
  .ca-archetype-badge {
    padding: 14px 10px;
    margin-bottom: 14px;
  }
  .ca-radar-row {
    flex-wrap: wrap;
    gap: 4px;
    margin-bottom: 8px;
  }
  .ca-radar-label {
    width: 100%;
    font-size: 12px;
    line-height: 1.3;
  }
  .ca-radar-bar-bg {
    flex: 1;
    height: 8px;
  }
  .ca-radar-val {
    width: auto;
    font-size: 11.5px;
  }

  /* Botones flotantes a la izquierda en móvil 480px */
  .ca-floating-sos-btn {
    bottom: 10px;
    left: 10px;
    right: auto;
    width: 32px;
    height: 32px;
  }
  .ca-floating-sos-btn .ca-sos-icon {
    font-size: 16px;
  }
  .ca-scroll-top-btn {
    bottom: 10px;
    left: 48px;
    right: auto;
    width: 32px;
    height: 32px;
    font-size: 14px;
  }

  /* Modales */
  .ca-sos-modal-card {
    margin: 10px;
    max-width: 100%;
  }
  .ca-sos-body {
    padding: 16px 12px;
  }
}
