/* ===== Artemisia design tokens (estructura shadcn/Tailwind, paleta propia) ===== */
  :root{
    --radius:14px; --radius-sm:calc(var(--radius) - 4px); --radius-md:calc(var(--radius) - 2px); --radius-lg:var(--radius); --radius-xl:calc(var(--radius) + 4px);
    /* marca */
    --merino:#F5EEDD; --rock:#84B3CE; --venice:#16587B; --sunrise:#F6B44D; --coral:#E76F6F;
    /* semánticos */
    --background:#F5EEDD; --foreground:#16587B;
    --card:#FFFDF8; --card-foreground:#16587B;
    --popover:#FFFDF8; --popover-foreground:#16587B;
    --primary:#16587B; --primary-foreground:#FFFFFF; --primary-deep:#0F4664; --primary-press:#0A3448; --primary-soft:#2C7099;
    --secondary:#DCEAF2; --secondary-foreground:#16587B;
    --muted:#EFE7D8; --muted-foreground:#6F93A8;
    --accent:#F6B44D; --accent-foreground:#16587B; --accent-bg:#FDEFD3;
    --success:#2E8B6A; --success-bg:#DCEFE6; --success-foreground:#1F6B50;
    --destructive:#E76F6F; --destructive-foreground:#FFFFFF; --destructive-bg:#FBE2E2; --destructive-ink:#9B3A3A;
    --border:#E3DACB; --input:#C9BFA9; --ring:#84B3CE;
    --sidebar:#16587B; --sidebar-foreground:#FFFFFF; --sidebar-muted:#BBD4E2; --sidebar-primary:#84B3CE; --sidebar-primary-foreground:#16587B; --sidebar-accent:#F6B44D; --sidebar-accent-foreground:#16587B; --sidebar-border:rgba(255,255,255,.14); --sidebar-hover:rgba(255,255,255,.08);
    --chart-1:#16587B; --chart-2:#84B3CE; --chart-3:#F6B44D; --chart-4:#E76F6F; --chart-5:#0F4664;
    --shadow:rgba(22,88,123,.10); --shadow-strong:rgba(22,88,123,.25);
    /* alias usados por los componentes */
    --bg:var(--background); --paper:var(--card); --ink:var(--foreground); --ink-2:#34627F; --ink-3:var(--muted-foreground);
    --line:var(--border); --line-2:var(--input);
    --terra:var(--primary); --terra-bg:var(--secondary); --mustard:var(--accent); --mustard-bg:var(--accent-bg);
    --violet:var(--primary); --violet-bg:var(--secondary); --coralc:var(--destructive); --coralc-bg:var(--destructive-bg);
    --sun:var(--accent); --sun-bg:var(--accent-bg); --mint:var(--success); --mint-bg:var(--success-bg); --sky:var(--rock); --sky-bg:var(--secondary);
    --green:var(--success); --green-bg:var(--success-bg); --amber:#8A5E10; --amber-bg:var(--accent-bg);
    --teal:var(--success); --teal-bg:var(--success-bg);
  }
  .dark{
    --background:#12202B; --foreground:#F5EEDD;
    --card:#1A2C39; --card-foreground:#F5EEDD;
    --popover:#1A2C39; --popover-foreground:#F5EEDD;
    --primary:#84B3CE; --primary-foreground:#12202B; --primary-deep:#A3C7DB; --primary-press:#6E9FBB; --primary-soft:#9CC3D8;
    --secondary:#24384A; --secondary-foreground:#C9DCE7;
    --muted:#1F3140; --muted-foreground:#9DBDCF;
    --accent:#F6B44D; --accent-foreground:#12202B; --accent-bg:#3A3324;
    --success:#5CC29D; --success-bg:#1E3B32; --success-foreground:#9FE3C6;
    --destructive:#F08A8A; --destructive-foreground:#12202B; --destructive-bg:#3E2528; --destructive-ink:#F5B4B4;
    --border:#2E4456; --input:#3A5468; --ring:#84B3CE;
    --sidebar:#0E1A23; --sidebar-foreground:#F5EEDD; --sidebar-muted:#9DBDCF; --sidebar-primary:#84B3CE; --sidebar-primary-foreground:#12202B; --sidebar-accent:#F6B44D; --sidebar-accent-foreground:#12202B; --sidebar-border:rgba(255,255,255,.1); --sidebar-hover:rgba(255,255,255,.06);
    --chart-1:#84B3CE; --chart-2:#A3C7DB; --chart-3:#F6B44D; --chart-4:#F08A8A; --chart-5:var(--secondary);
    --shadow:rgba(0,0,0,.35); --shadow-strong:rgba(0,0,0,.5);
    --ink-2:#C9DCE7; --amber:#F6B44D;
    --venice:#84B3CE;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  @media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important} }
  html,body{margin:0;background:var(--bg);color:var(--ink);font-family:"Geist","Inter","Helvetica Neue",Arial,sans-serif;font-feature-settings:"cv11","ss01","ss03";font-size:15px;line-height:1.55}
  body{background:radial-gradient(1100px 560px at 100% -10%,var(--secondary) 0%,transparent 60%),radial-gradient(800px 460px at -10% 100%,var(--accent-bg) 0%,transparent 55%),var(--bg)}
  h1,h2,h3{font-family:"Geist","Inter",sans-serif;font-weight:600;margin:0;letter-spacing:-.01em}
  h1{font-size:44px;line-height:1.08;letter-spacing:-.03em} h2{font-size:30px;line-height:1.15;letter-spacing:-.025em} h3{font-size:19px;letter-spacing:-.015em;font-weight:600}
  p{margin:0} button{font:inherit;cursor:pointer}
  ::selection{background:var(--ring);color:#fff}
  .frame{display:grid;grid-template-columns:270px 1fr;min-height:100vh}
  .frame.no-side{grid-template-columns:1fr}
  .frame.no-side .side{display:none}
  .side{background:var(--sidebar);color:var(--sidebar-foreground);padding:28px 20px;position:sticky;top:0;height:100vh;overflow:auto}
  .brand{font-family:"Geist",sans-serif;font-size:22px;line-height:1.2;margin-bottom:6px;color:var(--sidebar-foreground)}
  .brand small{display:block;font-family:"Geist";font-size:12px;color:var(--sidebar-muted);margin-top:4px}
  .side .who{margin:22px 0 18px;padding:12px;border:1px solid var(--sidebar-border);border-radius:var(--radius);display:flex;gap:10px;align-items:center;background:var(--sidebar-hover)}
  .avatar{width:34px;height:34px;border-radius:50%;background:var(--sidebar-accent);color:var(--sidebar-accent-foreground);display:grid;place-items:center;font-weight:600;font-size:13px;flex:none}
  .who b{display:block;font-weight:500;font-size:14px;color:var(--sidebar-foreground)} .who span{font-size:12px;color:var(--sidebar-muted)}
  .steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
  .steps li{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;font-size:14px;color:var(--sidebar-muted);cursor:pointer;transition:background .15s,transform .15s}
  .steps li:hover{background:var(--sidebar-hover);transform:translateX(2px)}
  .steps li.active{background:var(--sidebar-primary);color:var(--sidebar-primary-foreground);font-weight:500}
  .steps li .n{width:26px;height:26px;border-radius:8px;background:var(--sidebar-hover);display:grid;place-items:center;font-size:12px;color:var(--sidebar-foreground);flex:none}
  .steps li .n i{font-size:15px}
  .steps li.active .n{background:var(--sidebar-primary-foreground);color:var(--sidebar-primary)}
  .steps li.done .n{background:var(--sidebar-accent);color:var(--sidebar-accent-foreground)}
  .steps li.done{color:var(--sidebar-foreground)}
  .side .note{margin-top:22px;font-size:12px;color:var(--sidebar-muted);line-height:1.5}
  .main{padding:0 56px 90px;width:100%;max-width:1360px;margin:0 auto;min-width:0}
  .main>.screen,.main>.foot{max-width:1240px;margin-left:auto;margin-right:auto}
  .topbar{position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--background) 92%,transparent);backdrop-filter:blur(10px);margin:0 -56px 28px;padding:10px 56px}
  .topbar>*{max-width:1240px;margin-left:auto;margin-right:auto}
  .progress{height:3px;background:transparent;border-radius:0;overflow:hidden}
  .progress i{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:0;transition:width .5s ease}
  .topbar .row{justify-content:space-between;margin-top:4px;font-size:13px;color:var(--ink-2)}
  .screen{display:none;animation:fade .35s ease} .screen.on{display:block}
  @keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
  .crumb{display:inline-block;font-size:12px;font-weight:500;color:var(--secondary-foreground);background:var(--secondary);padding:5px 12px;border-radius:999px;margin-bottom:14px}
  .lead{color:var(--ink-2);max-width:62ch;margin:12px 0 28px;font-size:17px}
  .card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;transition:transform .15s,box-shadow .15s,border-color .15s}
  .card:hover{transform:translateY(-2px);box-shadow:0 10px 30px var(--shadow);border-color:var(--line-2)}
  .grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  .grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
  .stack{display:flex;flex-direction:column;gap:18px}
  .row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
  label{display:block;font-size:13px;font-weight:500;color:var(--ink-2);margin-bottom:6px}
  .field{margin-bottom:16px}
  input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],select,textarea{width:100%;height:42px;border:1.5px solid var(--line-2);border-radius:10px;padding:0 14px;font:inherit;background:var(--paper);color:var(--ink);transition:border-color .15s,box-shadow .15s}
  input[type=text]:focus,input[type=email]:focus,input[type=tel]:focus,input[type=password]:focus,input[type=number]:focus,select:focus,textarea:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 4px var(--secondary)}
  textarea{height:auto;padding:12px 14px}
  input[type=range]{accent-color:var(--primary)}
  .chips{display:flex;flex-wrap:wrap;gap:8px}
  .chip{padding:8px 14px;border:1.5px solid var(--line-2);border-radius:8px;font-size:13px;background:var(--paper);color:var(--ink-2);cursor:pointer;transition:all .15s;user-select:none}
  .chip:focus-visible{outline:none;border-color:var(--ring);box-shadow:0 0 0 3px var(--secondary)}
  .chip:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}
  .chip.sel{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}
  .chip.sel::before{content:"✓ ";font-weight:600}
  .chip-x{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:6px;border-radius:50%;background:rgba(255,255,255,.25);cursor:pointer;font-size:13px;line-height:1;font-weight:700;vertical-align:middle;flex:none}
  .chip-x:hover{background:rgba(255,255,255,.45)}
  .range{display:flex;align-items:center;gap:12px} .range input{flex:1}
  .btn{padding:12px 18px;border-radius:12px;border:1.5px solid var(--line-2);background:var(--paper);color:var(--ink);font-weight:500;font-size:14px;transition:all .15s;display:inline-flex;align-items:center;gap:8px}
  .btn:hover{transform:translateY(-1px);border-color:var(--primary);color:var(--primary)}
  .btn.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground);box-shadow:0 6px 18px var(--shadow-strong)}
  .btn.primary:hover{background:var(--primary-deep);color:var(--primary-foreground)}
  .btn.primary::after{content:"→";font-weight:600}
  .btn.ghost{border-color:transparent;background:transparent;color:var(--ink-2);box-shadow:none}
  .btn.ghost:hover{background:var(--secondary)}
  .footer{display:flex;justify-content:space-between;align-items:center;margin-top:40px;padding-top:22px;border-top:1px dashed var(--line-2);gap:12px;flex-wrap:wrap}
  .tag{display:inline-block;font-size:12px;font-weight:500;padding:4px 11px;border-radius:999px;background:var(--secondary);color:var(--secondary-foreground);border:0}
  .tag.green{background:var(--success-bg);color:var(--success-foreground)}
  .tag.amber{background:var(--sun-bg);color:var(--amber)}
  .meter{height:8px;background:var(--line);border-radius:4px;overflow:hidden} .meter i{display:block;height:100%;background:linear-gradient(90deg,var(--chart-2),var(--chart-1));border-radius:4px}
  .muted{color:var(--ink-3);font-size:13px}
  .ph{color:var(--ink-3);font-style:italic}
  .kv{display:grid;grid-template-columns:1fr auto;gap:8px 16px;font-size:14px;margin:0} .kv dt{color:var(--ink-2)} .kv dd{margin:0;text-align:right;font-weight:500}
  .kv3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 20px;font-size:14px;margin:14px 0 0} .kv3 dt{color:var(--muted-foreground);font-size:12px;text-transform:uppercase;letter-spacing:.04em} .kv3 dd{margin:0;font-weight:500}
  .why{border-left:4px solid var(--accent);padding:10px 14px;background:var(--accent-bg);border-radius:0 10px 10px 0;font-size:14px;color:var(--ink-2);margin-top:12px}
  table{width:100%;border-collapse:collapse;font-size:14px}
  th,td{text-align:left;padding:12px 12px;border-bottom:1px solid var(--line);vertical-align:top}
  thead th{background:var(--secondary);color:var(--secondary-foreground);font-weight:500}
  tbody th{font-weight:500;color:var(--ink-2);font-size:13px} thead th:first-child{width:200px}
  tbody tr:hover td{background:var(--muted)}
  .quote{font-family:"Geist",sans-serif;font-style:normal;font-weight:500;font-size:17px;line-height:1.35;color:var(--ink)}
  .person{display:flex;gap:12px;align-items:flex-start}
  .split{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}
  .hero{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;margin:28px 0 40px}
  .hero-path{background:var(--sidebar);color:var(--sidebar-foreground);border-radius:20px;padding:26px}
  .hero-path h3{color:var(--sidebar-foreground)}
  .hero-path ol{margin:0;padding:0;list-style:none;counter-reset:s}
  .hero-path li{counter-increment:s;padding:10px 0;border-bottom:1px solid var(--sidebar-border);font-size:14px;display:flex;gap:12px;color:var(--sidebar-muted)}
  .hero-path li:last-child{border:0}
  .hero-path li::before{content:counter(s);width:22px;height:22px;border-radius:7px;background:var(--sunrise);color:var(--venice);display:grid;place-items:center;font-size:12px;font-weight:600;flex:none}
  .toggle{display:inline-flex;border:1.5px solid var(--line-2);border-radius:12px;overflow:hidden;background:var(--paper)}
  .toggle span{padding:8px 14px;font-size:13px;color:var(--ink-2);cursor:pointer;transition:all .15s} .toggle span:hover{background:var(--secondary)} .toggle span.on{background:var(--primary);color:var(--primary-foreground)}
  .path{position:relative;overflow:hidden;cursor:pointer}
  .path::after{content:"";position:absolute;right:-30px;top:-30px;width:110px;height:110px;border-radius:50%;opacity:.18}
  .path.p1::after{background:var(--chart-1)} .path.p2::after{background:var(--chart-3)} .path.p3::after{background:var(--chart-2)} .path.p4::after{background:var(--chart-4)}
  .path i{font-size:28px;display:block;margin-bottom:8px}
  .path.p1 i{color:var(--chart-1)} .path.p2 i{color:var(--chart-3)} .path.p3 i{color:var(--chart-2)} .path.p4 i{color:var(--chart-4)}
  .stat{display:flex;gap:26px;margin:22px 0 0;flex-wrap:wrap}
  .stat b{display:block;font-family:"Geist",sans-serif;font-size:28px;font-weight:700;letter-spacing:-.03em;line-height:1;color:var(--primary)}
  .stat span{font-size:12px;color:var(--ink-3)}
  details summary{list-style:none} details summary::-webkit-details-marker{display:none}
  .header{position:sticky;top:0;z-index:30;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:var(--card);border-bottom:1px solid var(--border)}
  .logo{display:flex;align-items:center;gap:12px;cursor:pointer}
  
  .logo b{display:block;font-family:"Geist",sans-serif;font-size:22px;font-weight:700;color:var(--foreground);line-height:1;letter-spacing:-.03em}
  .logo span{font-size:11px;color:var(--ink-3)}
  .hnav{display:flex;align-items:center;gap:6px}
  .hnav a{text-decoration:none;color:var(--ink-2);font-size:14px;font-weight:500;padding:9px 14px;border-radius:10px;transition:all .15s}
  .hnav a:hover{background:var(--secondary);color:var(--secondary-foreground)}
  .hnav a.icon{padding:9px 10px;font-size:18px;color:var(--foreground)}
  .hnav a.login{background:var(--primary);color:var(--primary-foreground);display:inline-flex;align-items:center;gap:6px;margin-left:8px;border-radius:12px}
  .hnav a.login:hover{background:var(--primary-deep)}
  .side{height:calc(100vh - 64px);top:64px}
  .topbar{top:64px}
  .page-hero{padding:48px 0 24px}
  .contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
  .contact-grid .card i{font-size:26px;color:var(--primary);display:block;margin-bottom:8px}
  .login-box{max-width:420px;margin:40px auto}
  @media (max-width:860px){ .header{padding:0 16px} .logo span{display:none} .hnav a{padding:8px 10px} .side{height:auto;top:auto} .contact-grid{grid-template-columns:1fr} }
  .hnav-toggle{display:none;background:none;border:none;font-size:22px;line-height:1;color:var(--foreground);cursor:pointer;padding:8px;border-radius:10px}
  .hnav-toggle:hover{background:var(--secondary)}
  @media (max-width:760px){
    .hnav-toggle{display:inline-flex;align-items:center;justify-content:center}
    .hnav{display:none;position:fixed;top:64px;left:0;right:0;background:var(--card);border-bottom:1px solid var(--border);flex-direction:column;align-items:stretch;gap:2px;padding:10px 16px 18px;box-shadow:0 14px 34px var(--shadow-strong);max-height:calc(100vh - 64px);overflow:auto;z-index:39}
    .hnav.open{display:flex}
    .hnav a{width:100%}
    .hnav a.login{margin-left:0;justify-content:center;margin-top:6px}
    .hnav-dd{width:100%}
    .hnav-dd summary{width:100%}
    .hnav-dd .dd-panel{position:static;box-shadow:none;border:0;padding:0 0 0 14px;min-width:0;width:100%;margin-top:2px}
  }
  .hnav-dd{position:relative}
  .hnav-dd summary{list-style:none;cursor:pointer;padding:9px 14px;border-radius:10px;font-size:14px;font-weight:500;color:var(--ink-2);display:inline-flex;align-items:center}
  .hnav-dd summary::-webkit-details-marker{display:none}
  .hnav-dd summary:hover{background:var(--secondary);color:var(--secondary-foreground)}
  .hnav-dd[open] summary{background:var(--secondary);color:var(--secondary-foreground)}
  .hnav-dd .dd-panel{position:absolute;top:calc(100% + 6px);left:0;background:var(--card);border:1px solid var(--border);border-radius:14px;box-shadow:0 14px 34px var(--shadow-strong);padding:6px;min-width:270px;z-index:40}
  .hnav-dd .dd-panel a{display:block;padding:10px 12px;border-radius:9px;font-size:13.5px;color:var(--ink-2);text-decoration:none;line-height:1.35}
  .hnav-dd .dd-panel a:hover{background:var(--secondary);color:var(--secondary-foreground)}
  .home-hero{max-width:760px;margin:52px auto 6px;text-align:center}
  .home-hero .eyebrow{text-align:center}
  .home-hero h1{font-size:50px;margin:10px 0 30px}
  .search-box{position:relative;max-width:640px;margin:0 auto}
  .search-box i{position:absolute;left:22px;top:50%;transform:translateY(-50%);font-size:22px;color:var(--ink-3)}
  .search-box input{width:100%;height:60px;border-radius:999px;border:1.5px solid var(--line-2);background:var(--card);padding:0 22px 0 56px;font-size:16px;color:var(--ink);box-shadow:0 14px 34px var(--shadow)}
  .search-box input:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 5px var(--secondary)}
  .home-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;margin:40px 0 8px}
  .uni-card{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;cursor:pointer;transition:transform .15s,box-shadow .15s}
  .uni-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px var(--shadow)}
  .uni-photo{position:relative;height:92px;overflow:hidden}
  .uni-photo svg{position:absolute;inset:0}
  .uni-photo .sun{position:absolute;right:14px;top:12px;width:22px;height:22px;border-radius:50%;background:#fff;opacity:.32}
  .uni-photo .badge{position:absolute;left:10px;bottom:8px;background:rgba(0,0,0,.32);color:#fff;font-size:11px;font-weight:700;padding:3px 9px;border-radius:8px;letter-spacing:.02em;font-family:"Geist",sans-serif}
  .uni-card-body{padding:14px 16px}
  .uni-card-body b{display:block;font-size:15px;color:var(--foreground);line-height:1.3}
  .uni-card-body span.loc{display:block;font-size:12.5px;color:var(--ink-2);margin-top:3px}
  .home-empty{grid-column:1/-1;text-align:center;color:var(--ink-3);padding:40px 0}
  .home-cta{margin:60px 0 30px;padding:40px 24px;border:1px solid var(--line);border-radius:24px;background:var(--paper);text-align:center}
  .quiz-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:720px;margin:24px auto 0;text-align:left}
  .quiz-q .toggle{width:100%}
  .quiz-q .toggle span{flex:1;text-align:center}
  .create-cta{margin:20px 0 8px;padding:14px 18px;border-radius:10px;border:1px solid var(--line);background:var(--card);display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;transition:border-color .2s,box-shadow .2s}
  .create-cta:hover{border-color:var(--primary);box-shadow:0 2px 12px var(--shadow)}
  .create-cta.sticky-cta{position:sticky;bottom:16px;z-index:5;margin-left:auto;margin-right:auto;max-width:900px}
  .cta-spacer{height:4px}
  @media (max-width:860px){ .create-cta.sticky-cta{bottom:10px} }
  .create-cta-text .eyebrow{color:var(--primary);font-size:11px}
  .create-cta h2{color:var(--foreground);font-size:16px;margin-top:2px}
  .create-cta .lead{display:none}
  .create-cta .btn.primary{flex:none;font-size:16px;font-weight:600;padding:13px 30px;min-height:48px;border-radius:12px}
  @media (max-width:860px){ .create-cta .btn.primary{width:100%;justify-content:center} }
  .punto-partida{color:var(--primary);font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:4px}
  .punto-partida:hover{text-decoration:underline;text-underline-offset:3px}
  .quiz-solo{max-width:560px;margin:80px auto;text-align:center}
  .quiz-solo .eyebrow{text-align:center}
  .quiz-solo h1{font-size:40px;margin:10px 0 6px}
  .toggle.big{width:100%;height:64px}
  .toggle.big span{flex:1;display:flex;align-items:center;justify-content:center;font-size:16px}
  @media (max-width:860px){ .home-hero h1{font-size:36px} .quiz-grid{grid-template-columns:1fr} .hnav-dd .dd-panel{left:auto;right:0} .create-cta{flex-direction:column;align-items:flex-start;padding:28px} .quiz-solo{margin:40px auto} .quiz-solo h1{font-size:30px} }
  .hero-a{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:48px 0 56px}
  .eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--chart-2);font-weight:600;margin-bottom:14px}
  .hero-copy h1{font-size:60px;line-height:1.02;letter-spacing:-.035em;font-weight:700;color:var(--foreground)}
  .hero-art{position:relative}
  .hero-art svg{display:block;border-radius:24px;box-shadow:0 20px 50px var(--shadow-strong)}
  .hand{font-family:"Geist","Inter",sans-serif;font-style:italic;font-weight:500;font-size:15px;letter-spacing:-.01em;color:var(--muted-foreground);line-height:1.35}
  .hero-art .hand{position:absolute;right:18px;top:18px;max-width:200px;text-align:right;background:color-mix(in srgb,var(--card) 88%,transparent);padding:10px 14px;border-radius:12px;transform:rotate(-3deg)}
  .uni-showcase{background:var(--card);border:1px solid var(--line);border-radius:24px;box-shadow:0 20px 50px var(--shadow-strong);padding:20px;display:flex;flex-direction:column;gap:14px;min-height:340px}
  .uni-showcase-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
  .uni-showcase-live{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--success-foreground);background:var(--success-bg);padding:5px 10px;border-radius:999px}
  .uni-showcase-live i{width:6px;height:6px;border-radius:50%;background:var(--success);animation:liveDot 1.4s ease-in-out infinite}
  @keyframes liveDot{0%,100%{opacity:1}50%{opacity:.3}}
  .uni-showcase-stage{position:relative;flex:1;min-height:220px}
  .uni-showcase-card{position:absolute;inset:0;border-radius:16px;overflow:hidden;opacity:0;transform:scale(.98);transition:opacity .7s ease,transform .7s ease;pointer-events:none}
  .uni-showcase-card.active{opacity:1;transform:none}
  .uni-showcase-card .sk{position:absolute;inset:0}
  .uni-showcase-card .info{position:absolute;left:0;right:0;bottom:0;padding:16px;background:linear-gradient(0deg,rgba(15,25,35,.75),rgba(15,25,35,0));color:#fff}
  .uni-showcase-card .info b{display:block;font-size:16px;line-height:1.25;margin-bottom:2px}
  .uni-showcase-card .info span{font-size:12.5px;opacity:.88}
  .uni-showcase-dots{display:flex;gap:6px;justify-content:center}
  .uni-showcase-dots i{width:6px;height:6px;border-radius:50%;background:var(--line-2);transition:background .3s,transform .3s}
  .uni-showcase-dots i.on{background:var(--primary);transform:scale(1.35)}
  @media (prefers-reduced-motion:reduce){ .uni-showcase-live i{animation:none} }
  /* Fotos de universidades (Wikimedia Commons) y su crédito obligatorio */
  .uni-showcase-card .foto,.uni-photo .foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .uni-showcase-card.active{pointer-events:auto}
  .uni-photo.con-foto svg,.uni-photo.con-foto .sun{display:none}
  .foto-credito{position:absolute;left:8px;top:8px;z-index:2;max-width:75%;font-size:10px;line-height:1.3;color:#fff;background:rgba(0,0,0,.45);padding:2px 7px;border-radius:6px}
  .foto-credito a{color:#fff;text-decoration:underline;text-underline-offset:2px}
  .uni-photo .foto-credito{left:auto;right:6px;top:6px;font-size:9px;max-width:80%;text-align:right}
  /* Detalle verificado de la carrera */
  .detalle-kv{grid-template-columns:150px 1fr} .detalle-kv dd{text-align:left;font-weight:400}
  .detalle-carrera a{color:var(--primary);text-underline-offset:2px}
  @media (max-width:560px){ .detalle-kv{grid-template-columns:1fr;gap:2px 0} .detalle-kv dd{margin-bottom:8px} }
  .feat{display:grid;grid-template-columns:.75fr 1.25fr;gap:48px;background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:40px;margin:0 0 44px;position:relative;overflow:hidden}
  .feat::after{content:"";position:absolute;left:-40px;bottom:-60px;width:260px;height:140px;background:var(--chart-2);border-radius:50%;opacity:.35}
  .feat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 22px;position:relative}
  .feat-grid .f{cursor:pointer;padding:6px}
  .feat-grid .f i{width:46px;height:46px;border-radius:50%;background:var(--secondary);color:var(--secondary-foreground);display:grid;place-items:center;font-size:22px;margin-bottom:12px;transition:all .15s}
  .feat-grid .f:hover i{background:var(--primary);color:var(--primary-foreground)}
  .feat-grid .f b{display:block;font-weight:600;color:var(--foreground);margin-bottom:4px}
  .feat-grid .f span{font-size:13px;color:var(--ink-2);line-height:1.45;display:block}
  .foot{margin-top:60px;padding:28px 0 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--ink-3)}
  .foot a{color:var(--ink-2);text-decoration:none;margin-right:16px} .foot a:hover{color:var(--primary)}
  .legal h3{margin-top:22px} .legal p{color:var(--ink-2);margin-top:6px;max-width:70ch}
  @media (max-width:860px){ .hero-a,.feat{grid-template-columns:1fr} .hero-copy h1{font-size:44px} .feat{padding:24px} .feat-grid{grid-template-columns:1fr 1fr} }
  .stepbar{position:sticky;bottom:0;z-index:6;margin:32px -56px 0;padding:12px 56px;background:color-mix(in srgb,var(--background) 92%,transparent);backdrop-filter:blur(8px);border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:12px}
  .stepbar .btn.primary::after{content:" →"}
  @media (max-width:860px){ .stepbar{margin:24px -20px 0;padding:10px 20px} .stepbar .muted{display:none} }
  .toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--destructive);color:var(--destructive-foreground);padding:14px 18px;border-radius:14px;box-shadow:0 12px 30px rgba(22,88,123,.3);max-width:520px;z-index:20;font-size:14px;display:none;animation:fade .3s}
  .toast b{display:block;margin-bottom:4px}
  .toast ul{margin:6px 0 0;padding-left:18px}
  .steps li.locked{opacity:.45;cursor:not-allowed} .steps li.locked:hover{transform:none;background:transparent}
  .gate{margin-top:18px;padding:14px 16px;border-radius:12px;background:var(--destructive-bg);color:var(--destructive-ink);font-size:14px}
  .gate ul{margin:6px 0 0;padding-left:18px}
  .gate.ok{background:var(--success-bg);color:var(--success-foreground)}
  @media (max-width:860px){
    .frame{grid-template-columns:1fr} .side{position:static;height:auto}
    .steps{flex-direction:row;overflow:auto;padding-bottom:6px} .steps li{white-space:nowrap}
    .main{padding:0 20px 60px} .topbar{margin:0 -20px 20px;padding:12px 20px} .grid2,.grid3,.split,.hero,.kv3{grid-template-columns:1fr} h1{font-size:34px} h2{font-size:26px}
  }
  @media (max-width:380px){ .main{padding:0 14px 60px} .topbar{margin:0 -14px 20px;padding:12px 14px} .card{padding:18px 16px} }

  /* ===== Chatbot de creación de perfil (Paso 1) ===== */
  .chatbot{max-width:720px;margin:0 auto}
  .chat-log{max-height:360px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;margin-bottom:14px;padding-right:4px}
  .bubble{max-width:82%;padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.5}
  .bubble.bot{background:var(--secondary);color:var(--secondary-foreground);align-self:flex-start;border-bottom-left-radius:4px}
  .bubble.user{background:var(--primary);color:var(--primary-foreground);align-self:flex-end;border-bottom-right-radius:4px}
  #chatCurrentQ .bubble.bot{align-self:flex-start;margin-bottom:14px}
  .likert-row{display:flex;justify-content:space-between;gap:8px;max-width:340px;margin:0 auto}
  .likert-dot{width:38px;height:38px;border-radius:50%;border:2px solid var(--line-2);background:var(--card);cursor:pointer;padding:0}
  .likert-dot.v1{border-color:#E7A2A2} .likert-dot.v2{border-color:#F0C08A} .likert-dot.v3{border-color:var(--line-2)} .likert-dot.v4{border-color:#A9D3B8} .likert-dot.v5{border-color:var(--success)}
  .likert-dot.v1.sel{background:var(--destructive);border-color:var(--destructive)}
  .likert-dot.v2.sel{background:var(--accent);border-color:var(--accent)}
  .likert-dot.v3.sel{background:var(--muted-foreground);border-color:var(--muted-foreground)}
  .likert-dot.v4.sel{background:var(--rock);border-color:var(--rock)}
  .likert-dot.v5.sel{background:var(--success);border-color:var(--success)}
  .check-list{display:flex;flex-direction:column;gap:2px;max-height:420px;overflow-y:auto;padding-right:4px}
  .check-item{display:flex;align-items:flex-start;gap:10px;padding:8px 6px;border-radius:8px;cursor:pointer;font-size:14px}
  .check-item:hover{background:var(--muted)}
  .check-item.sel{background:var(--secondary)}
  .check-item input{margin-top:3px}
  .tagsearch{position:relative}
  .tagsearch-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
  .tagsearch-chips:empty{display:none}
  .tagsearch input[type="text"]{width:100%;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--foreground);font:inherit}
  .tagsearch-suggest{position:absolute;left:0;right:0;top:calc(100% + 4px);background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.12);max-height:240px;overflow-y:auto;z-index:20}
  .tagsearch-opt{padding:10px 14px;cursor:pointer;font-size:14px}
  .tagsearch-opt:hover{background:var(--secondary)}
  .tagsearch-empty{padding:10px 14px;color:var(--muted-foreground);font-size:13px}

  /* ===== Pantalla de carga inicial ===== */
  html.preload,html.preload body{overflow:hidden;height:100%}
  #appRoot{opacity:0;transition:opacity .5s ease .05s}
  html.loaded #appRoot{opacity:1}
  #loadScreen{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:var(--bg);transition:opacity .5s ease,visibility 0s .5s}
  html.loaded #loadScreen{opacity:0;visibility:hidden;pointer-events:none}
  .load-inner{display:flex;flex-direction:column;align-items:center;gap:14px}
  .load-logo-wrap{position:relative;width:88px;height:88px;display:flex;align-items:center;justify-content:center}
  .load-logo-wrap::before{content:"";position:absolute;inset:-20px;border-radius:50%;background:radial-gradient(circle,var(--accent-bg) 0%,transparent 70%);animation:loadGlow 1.8s ease-in-out infinite}
  #loadLogoImg{position:relative;width:72px;height:72px;border-radius:16px;opacity:0;animation:logoIntro .7s cubic-bezier(.22,1,.36,1) forwards,logoPulse 1.8s ease-in-out .7s infinite}
  .load-word{font-family:"Geist",sans-serif;font-weight:700;font-size:17px;letter-spacing:.01em;color:var(--foreground);opacity:0;animation:wordIntro .6s ease .35s forwards}
  @keyframes logoIntro{0%{opacity:0;transform:scale(.8) translateY(6px)}60%{opacity:1;transform:scale(1.04) translateY(0)}100%{opacity:1;transform:scale(1) translateY(0)}}
  @keyframes logoPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
  @keyframes wordIntro{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
  @keyframes loadGlow{0%,100%{opacity:.5;transform:scale(1)}50%{opacity:.9;transform:scale(1.08)}}
  @media (max-width:480px){ .load-logo-wrap{width:70px;height:70px} #loadLogoImg{width:56px;height:56px} }

  /* ===== Microinteracciones: header al hacer scroll, aparición progresiva ===== */
  .header{transition:box-shadow .25s ease}
  .header.scrolled{box-shadow:0 6px 20px var(--shadow)}
  html.js-reveal [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
  html.js-reveal [data-reveal].in-view{opacity:1;transform:none}

  /* ===== Home rediseñado (inspirado en la estructura de Globant, identidad Artemisia) ===== */
  .stat div{display:flex;flex-direction:column;gap:2px}
  .feat{margin-top:8px}
  .howsteps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0 0 48px}
  .howsteps .hs{padding:22px 18px;border:1px solid var(--line);border-radius:16px;background:var(--paper);transition:transform .15s,box-shadow .15s,border-color .15s}
  .howsteps .hs:hover{transform:translateY(-3px);box-shadow:0 10px 26px var(--shadow);border-color:var(--line-2)}
  .howsteps .hs b.n{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;background:var(--secondary);color:var(--secondary-foreground);font-size:13px;font-weight:600;margin-bottom:12px}
  .howsteps .hs h3{margin-bottom:6px}
  .howsteps .hs p{color:var(--ink-2);font-size:13.5px;line-height:1.5;margin:0}
  .section-head{max-width:640px;margin:0 0 26px}
  .section-head h2{margin-top:6px}
  @media (max-width:860px){ .howsteps{grid-template-columns:1fr 1fr} }
  @media (max-width:480px){ .howsteps{grid-template-columns:1fr} }

/* ===== Distintivo de ingreso (CBC, curso de ingreso, etc.) ===== */
.uni-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.tag.ingreso{background:var(--secondary);color:var(--primary)}
.tag.ingreso.fuerte{background:var(--primary);color:#fff}
.tag .ti{font-size:13px;vertical-align:-1px}
.uni-photo .badge{max-width:calc(100% - 20px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ===== Recorrido nuevo (especificación del orientador) ===== */
.nr-form .field{margin-bottom:12px}
.nr-form select{width:100%;height:46px;padding:0 12px;border-radius:12px;border:1.5px solid var(--line-2);background:var(--paper);color:var(--ink);font:inherit}
.nr-help{display:block;margin-top:6px;font-size:12px;color:var(--ink-3)}
.nr-opc{font-weight:400;color:var(--ink-3)}
.nr-check{display:flex;align-items:flex-start;gap:10px;cursor:pointer;line-height:1.45}
.nr-check input{width:18px;height:18px;margin-top:2px;flex:none}
.nr-err{margin-top:14px;padding:12px 16px;border-radius:12px;border:1px solid var(--destructive);color:var(--destructive);background:var(--card);font-size:14px}
.nr-err ul{margin:6px 0 0;padding-left:18px}
.nr-ok{margin-top:14px;padding:12px 16px;border-radius:12px;background:var(--accent-bg);border:1px solid var(--accent);font-size:14px;word-break:break-word;width:100%}
.nr-prov{margin-top:22px;font-size:12px;color:var(--ink-3);display:flex;gap:6px;align-items:center}
.nr-qprog{height:8px;border-radius:999px;background:var(--secondary);overflow:hidden;margin:4px 0 8px}
.nr-qprog i{display:block;height:100%;background:var(--primary);border-radius:999px;transition:width .25s}
.nr-qcount{font-size:13px;color:var(--ink-3);margin:0 0 18px}
.nr-q{max-width:30ch;font-size:clamp(22px,3.2vw,30px);line-height:1.2;margin-bottom:8px}
.nr-sub{margin:0 0 22px}
.nr-opts{display:flex;flex-direction:column;gap:10px;max-width:560px}
.nr-opt{text-align:left;padding:16px 18px;border-radius:14px;border:1.5px solid var(--line-2);background:var(--paper);color:var(--ink);font:inherit;font-size:16px;cursor:pointer;transition:all .15s}
.nr-opt:hover,.nr-lk:hover{border-color:var(--primary);background:var(--secondary)}
.nr-opt.sel,.nr-lk.sel{border-color:var(--primary);background:var(--primary);color:var(--primary-foreground)}
.nr-opt:focus-visible,.nr-lk:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.nr-likert{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;max-width:720px}
.nr-lk{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 8px;border-radius:14px;border:1.5px solid var(--line-2);background:var(--paper);color:var(--ink);font:inherit;cursor:pointer;transition:all .15s;text-align:center}
.nr-lk b{font-size:22px;font-weight:600}
.nr-lk span{font-size:12px;line-height:1.25}
.nr-rama{display:flex;gap:22px;align-items:flex-start;padding:28px}
.nr-rama-l{flex:none;width:64px;height:64px;border-radius:18px;background:var(--primary);color:var(--primary-foreground);display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:600}
.nr-dims{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.nr-dim{padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--card)}
.nr-bar{height:8px;border-radius:999px;background:var(--secondary);margin-top:10px;overflow:hidden}
.nr-bar i{display:block;height:100%;background:var(--accent);border-radius:999px}
.nr-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin:6px 0 22px}
.nr-step{display:flex;gap:14px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--card)}
.nr-step.done{border-color:var(--primary)}
.nr-step p{margin:6px 0 0;font-size:13.5px;color:var(--ink-2);line-height:1.45}
.nr-step-n{flex:none;width:30px;height:30px;border-radius:50%;background:var(--secondary);color:var(--secondary-foreground);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}
.nr-step.done .nr-step-n{background:var(--primary);color:var(--primary-foreground)}
.nr-who{display:block;font-size:12px;color:var(--ink-3);margin-top:2px}
.nr-ask{display:flex;flex-direction:column;gap:16px;padding:22px;border-color:var(--accent);background:var(--accent-bg)}
.nr-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:6px 0 20px}
.nr-plan{display:flex;flex-direction:column;gap:6px;align-items:flex-start;padding:22px}
.nr-plan h3{margin:8px 0 0}
.nr-plan.pro{border-color:var(--accent);box-shadow:0 8px 24px var(--shadow-strong)}
.nr-plan .btn{margin-top:auto}
.nr-price{margin:4px 0;font-size:22px;font-weight:600}
.nr-tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--card)}
.nr-table{width:100%;border-collapse:collapse;font-size:14px;min-width:560px}
.nr-table th{text-align:center;padding:12px 14px;background:var(--secondary);color:var(--secondary-foreground);font-weight:500}
.nr-table th:first-child,.nr-table td:first-child{text-align:left}
.nr-table td{padding:12px 14px;border-top:1px solid var(--line);text-align:center;vertical-align:top}
.nr-si{color:var(--primary);font-weight:600}
.nr-ex{display:inline-block;padding:2px 10px;border-radius:999px;background:var(--accent-bg);border:1px solid var(--accent);font-size:12px;font-weight:600}
.nr-no{color:var(--ink-3)}
.nr-pago{margin-top:16px;border-color:var(--primary)}
.nr-ul{margin:8px 0 0;padding-left:18px;line-height:1.6}
@media (max-width:640px){
  .nr-likert{grid-template-columns:1fr}
  .nr-lk{flex-direction:row;justify-content:flex-start;gap:12px;padding:12px 16px;text-align:left}
  .nr-rama{flex-direction:column;padding:20px}
}

/* ---- Recorrido nuevo: pasos 2 a 8 ---- */
.nr-link{background:none;border:0;padding:0;color:var(--primary);text-decoration:underline;cursor:pointer;font:inherit}
.nr-opts.nr-opts-row{flex-direction:row;flex-wrap:wrap;gap:8px;max-width:none}
.nr-opts-row .nr-opt{width:auto;padding:10px 16px;font-size:14px}
.nr-cargando{display:flex;align-items:center;gap:6px;color:var(--ink-3);font-size:14px;padding:6px 0}
.nr-cargando i{width:7px;height:7px;border-radius:50%;background:var(--ink-3);animation:nrp 1s infinite ease-in-out}
.nr-cargando i:nth-child(2){animation-delay:.15s}.nr-cargando i:nth-child(3){animation-delay:.3s}
@keyframes nrp{0%,80%,100%{opacity:.25}40%{opacity:1}}
.nr-seguridad{border:1.5px solid #c2410c;background:rgba(194,65,12,.07);margin-top:14px}
.nr-aviso{margin:12px 0;padding:10px 14px;border-radius:12px;background:rgba(217,119,6,.12);font-size:14px}
.nr-pregunta{font-size:18px;font-weight:600;margin:6px 0}
.nr-chat{margin-top:14px}.nr-envio{margin-top:14px}.nr-envio textarea,.nr-confirmar textarea,.nr-form textarea{width:100%;padding:10px 12px;border-radius:12px;border:1.5px solid var(--line-2);background:var(--paper);color:var(--ink);font:inherit;resize:vertical}
.nr-etapas{display:flex;gap:8px;list-style:none;padding:0;margin:0 0 16px;flex-wrap:wrap}
.nr-etapas li{padding:6px 14px;border-radius:999px;border:1px solid var(--line-2);font-size:13px;color:var(--ink-3)}
.nr-etapas li.on{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}
.nr-etapas li.ok{border-color:var(--primary);color:var(--primary)}
.nr-tareas{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.nr-dia{margin-top:12px}.nr-dia.ok{border-color:var(--primary)}
.nr-item{padding:14px 0;border-bottom:1px solid var(--line-2)}.nr-item:last-child{border-bottom:0}.nr-item p{margin:0 0 8px;font-weight:600}
.nr-esc5{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.nr-e5{border:1.5px solid var(--line-2);background:var(--paper);color:var(--ink);border-radius:10px;padding:8px 4px;cursor:pointer;font:inherit;display:flex;flex-direction:column;align-items:center;gap:2px}
.nr-e5 span{font-size:11px;color:var(--ink-3);text-align:center;line-height:1.2}
.nr-e5.sel{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.nr-e5.sel span{color:inherit}
.nr-codigo{font-size:44px;font-weight:700;letter-spacing:.12em;margin:6px 0}
.nr-credito{font-size:12px;color:var(--ink-3);margin-top:20px}
.nr-bloqueo{margin-top:8px}
.nr-prio{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column;gap:8px}
.nr-prio li{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1.5px solid var(--line-2);border-radius:12px;background:var(--paper);cursor:grab}
.nr-grip{color:var(--ink-3)}.nr-peso{margin-left:auto;font-size:12px;color:var(--ink-3)}
.nr-mov button{border:1px solid var(--line-2);background:transparent;color:var(--ink);border-radius:8px;width:30px;height:30px;cursor:pointer;margin-left:4px}.nr-mov button:disabled{opacity:.35;cursor:default}
.nr-rec{margin-top:14px}.nr-nums{display:flex;gap:16px;margin-top:6px;font-size:14px}
.nr-sedes{padding-left:18px;margin:6px 0}.nr-sedes li{margin-bottom:6px}
.nr-vermas{margin-top:16px}.nr-vermas summary{cursor:pointer;font-weight:600}
.nr-informe h3{margin:18px 0 6px}.nr-informe h4{margin:12px 0 4px}
.nr-rolbtn{width:100%;justify-content:center;margin-top:12px;font-size:12px}
.nr-step.skip{opacity:.5}
.nr-saltear{font-size:13px;margin:0 0 12px}
.bubble.fijo{border:1px dashed var(--line-2)}
@media print{.side,.nr-noprint,.topbar,.foot,.footer{display:none!important}.main{margin:0!important}}
@media (max-width:640px){.nr-esc5 .nr-e5 span{font-size:9px}.nr-codigo{font-size:34px}}

/* Campos de fecha con el mismo estilo que el resto de los campos */
input[type=date]{width:100%;height:42px;border:1.5px solid var(--line-2);border-radius:10px;padding:0 14px;font:inherit;background:var(--paper);color:var(--ink);color-scheme:light;transition:border-color .15s,box-shadow .15s}
input[type=date]:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 4px var(--secondary)}
.nr-form input[type=date]{height:46px;border-radius:12px}

/* ---- Recorrido: textos de cada paso, cinta lateral con estados, RIASEC, familia, audio, comparador e informe ---- */
.nr-intro{margin:6px 0 22px;font-size:16px;max-width:68ch;line-height:1.55}
.steps li .nr-nt{display:flex;flex-direction:column;min-width:0}
.steps li .nr-nt b{font-weight:500;font-size:14px;line-height:1.25}
.steps li .nr-nt small{font-size:11px;opacity:.8;margin-top:1px}
.steps li .nr-nd{display:none;font-size:11.5px;line-height:1.35;opacity:.9;margin-top:4px}
.steps li.active .nr-nd{display:block}
.steps li.st-progreso .n{background:var(--sidebar-primary);color:var(--sidebar-primary-foreground);box-shadow:0 0 0 2px var(--sidebar-accent)}
.steps li.st-progreso small{color:var(--sidebar-accent);opacity:1}
.steps li.st-completado small{opacity:.95}
.steps li.active.st-progreso .n,.steps li.active .n{box-shadow:none}
/* Test de intereses: código, hexágono y tarjetas */
.nr-codcard{text-align:left}
.nr-hexcard{margin-top:14px}
.nr-hexfig{margin:8px auto 0;max-width:620px;text-align:center}
.nr-hex{width:100%;height:auto;display:block;overflow:visible}
.nr-hex-grid{fill:none;stroke:var(--line-2);stroke-width:1}
.nr-hex-grid.ext{stroke:var(--ink-3);stroke-width:1.6}
.nr-hex-axis{stroke:var(--line-2);stroke-width:1}
.nr-hex-esc{font-size:10px;fill:var(--ink-3)}
.nr-hex-data{fill:var(--primary);fill-opacity:.2;stroke:var(--primary);stroke-width:2.5;stroke-linejoin:round}
.nr-hex-data.ant{fill:none;stroke-dasharray:6 5;stroke-opacity:.6;stroke-width:2}
.nr-hex-dot{stroke:var(--card);stroke-width:2}
.nr-hex-v{outline:none}.nr-hex-v:hover .nr-hex-dot,.nr-hex-v:focus .nr-hex-dot{r:10}
.nr-hex-lab{font-size:14px;font-weight:600;fill:var(--ink)}
.nr-hex-val{font-size:13px;font-weight:600}
.nr-hexfig figcaption{font-size:13px;margin-top:6px}
.nr-hex-ley{font-size:13px;margin:4px 0}.nr-ley-ant,.nr-ley-act{display:inline-block;width:22px;height:0;border-top:3px solid var(--primary);vertical-align:middle;margin:0 6px 0 12px}.nr-ley-ant{border-top-style:dashed;opacity:.6}
.nr-riasec{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.nr-rcard{padding:20px 22px;border:1px solid var(--line);border-radius:18px;background:var(--card);border-top:5px solid var(--rc);display:flex;flex-direction:column;gap:8px}
.nr-rcard.top{box-shadow:0 8px 24px var(--shadow-strong)}
.nr-rcard header{display:flex;align-items:center;gap:12px}
.nr-rcard h4{margin:0;font-size:19px}
.nr-rl{flex:none;width:40px;height:40px;border-radius:12px;background:var(--rc);color:#fff;display:grid;place-items:center;font-weight:700;font-size:18px}
.nr-rrank{font-size:12px;color:var(--ink-3)}
.nr-rpt{margin-left:auto;text-align:right;line-height:1}.nr-rpt b{font-size:32px;font-weight:700}.nr-rpt small{display:block;font-size:12px;color:var(--ink-3);margin-top:2px}
.nr-rcard .nr-bar{height:10px;margin:2px 0 4px}
.nr-rdesc,.nr-rq,.nr-rrel{margin:0;font-size:14px;line-height:1.5}.nr-rq{font-size:13.5px}
.nr-rrel{padding-top:8px;border-top:1px dashed var(--line-2)}
/* Paso 5 */
.nr-linkbox{display:flex;gap:10px;flex-wrap:wrap}.nr-linkbox input{flex:1;min-width:220px;height:46px;border:1.5px solid var(--line-2);border-radius:12px;padding:0 14px;font:inherit;background:var(--paper);color:var(--ink)}
.nr-ok{padding:10px 14px;border-radius:12px;background:var(--secondary);margin-top:10px;font-size:14px}
/* Audio */
.nr-audio{margin-top:10px}
.nr-mic{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--line-2);background:var(--paper);color:var(--ink);border-radius:999px;padding:10px 18px;font:inherit;cursor:pointer}
.nr-mic:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.nr-mic:disabled{opacity:.5;cursor:not-allowed}
.nr-aud-fila{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0}.nr-aud-fila audio{max-width:100%;height:36px}
.nr-aud-nota{font-size:13px;margin:4px 0 0}.nr-aud-t{font-variant-numeric:tabular-nums;color:var(--ink-3)}
.nr-rec-punto{width:12px;height:12px;border-radius:50%;background:#dc2626;animation:nrp 1s infinite}
.bubble.audio::before{content:"Mensaje de voz · transcripto";display:block;font-size:11px;opacity:.75;margin-bottom:3px}
/* Comparador */
.nr-cmp-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0 8px}
.nr-cmp{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:var(--card);-webkit-overflow-scrolling:touch}
.nr-cmpt{border-collapse:separate;border-spacing:0;width:100%;min-width:calc(190px + var(--cols) * 230px);font-size:14px}
.nr-cmpt th,.nr-cmpt td{padding:12px 14px;border-top:1px solid var(--line);vertical-align:top;text-align:left;line-height:1.45}
.nr-cmpt thead th{border-top:0;background:var(--secondary);color:var(--secondary-foreground);position:sticky;top:0}
.nr-cmp-c0{position:sticky;left:0;z-index:2;background:var(--card);width:190px;min-width:150px;font-weight:500;box-shadow:1px 0 0 var(--line)}
.nr-cmpt thead .nr-cmp-c0{background:var(--secondary);z-index:3}
.nr-cmp-top{display:flex;gap:10px;align-items:center;margin-bottom:6px}.nr-cmp-top>div{display:flex;flex-direction:column;min-width:0}
.nr-cmp-n{font-size:15px}
.nr-cmp-sec th{background:var(--muted);color:var(--ink-2);font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:8px 14px}
.nr-cmpt td.imp{font-weight:600}
.nr-cmpt td.nd,.nd{color:var(--ink-3);font-style:italic;font-weight:400}
.nr-cmpt tr.dif td{background:color-mix(in srgb,var(--accent) 9%,transparent)}
.nr-difmark{display:inline-block;margin-left:4px;font-size:11px;color:var(--ink-3)}
.nr-logo{flex:none;border-radius:10px;object-fit:contain;background:#fff;border:1px solid var(--line)}
.nr-logo.neutro{display:inline-grid;place-items:center;font-size:11px;font-weight:700;color:var(--ink-2);background:var(--muted);letter-spacing:.02em;overflow:hidden}
/* Informe */
.nr-doc{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:0;overflow:hidden}
.nr-portada{padding:44px 40px 30px;background:linear-gradient(135deg,var(--primary),var(--primary-soft));color:var(--primary-foreground)}
.nr-pt-logo{height:34px;margin-bottom:18px;filter:brightness(0) invert(1)}
.nr-pt-k{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:12px;opacity:.9}
.nr-pt-n{font-size:40px;margin:6px 0 4px;color:inherit}.nr-pt-s{margin:0 0 18px;opacity:.95}
.nr-pt-ficha{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:0}.nr-pt-ficha div{background:rgba(255,255,255,.14);border-radius:12px;padding:10px 14px}.nr-pt-ficha dt{font-size:11px;opacity:.85;text-transform:uppercase;letter-spacing:.06em}.nr-pt-ficha dd{margin:2px 0 0;font-weight:600}
.nr-indice{padding:18px 40px;border-bottom:1px solid var(--line);background:var(--muted)}.nr-indice ol{columns:2;margin:8px 0 0;padding-left:20px;font-size:14px}.nr-indice a{color:var(--primary)}
.nr-sec{padding:26px 40px;border-bottom:1px solid var(--line)}.nr-sec:last-child{border-bottom:0}
.nr-sec h3{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:22px}.nr-secn{flex:none;width:30px;height:30px;border-radius:50%;background:var(--primary);color:var(--primary-foreground);display:grid;place-items:center;font-size:14px}
.nr-sec h4{margin:18px 0 6px}
.nr-resumen{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:8px}
.nr-rt{padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--paper);display:flex;flex-direction:column;gap:4px}.nr-rt small{color:var(--ink-3);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.nr-rt-cod{font-size:28px;letter-spacing:.12em}
.nr-chips{display:inline-flex;flex-wrap:wrap;gap:6px}.nr-chip{padding:3px 10px;border-radius:999px;background:var(--secondary);color:var(--secondary-foreground);font-size:13px}
.nr-tbloque{border:1px solid var(--line);border-radius:14px;padding:14px 18px;margin:12px 0;background:var(--paper)}.nr-tbloque h4{margin:0 0 6px}
.nr-tbloque dl{display:grid;grid-template-columns:150px 1fr;gap:6px 14px;margin:0}.nr-tbloque dt{font-weight:600;font-size:13px;color:var(--ink-2)}.nr-tbloque dd{margin:0;font-size:14.5px;line-height:1.5}
.nr-cod-inline{letter-spacing:.1em;font-size:1.15em}
.nr-fbarras{display:flex;flex-direction:column;gap:8px;margin:6px 0}.nr-fb{display:grid;grid-template-columns:130px 1fr 70px;gap:10px;align-items:center;font-size:14px}.nr-fb .nr-bar{margin:0;height:10px}
.nr-cita{margin:10px 0;padding:10px 16px;border-left:4px solid var(--accent);background:var(--accent-bg);border-radius:0 12px 12px 0}.nr-cita p{margin:4px 0 0}
.nr-rcars{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;margin:12px 0}
.nr-rcar{border:1px solid var(--line);border-radius:16px;padding:16px 18px;background:var(--paper)}.nr-rcar header{display:flex;gap:12px;align-items:center}.nr-rcar h4{margin:0;font-size:17px}
.nr-por{font-size:14px;margin:10px 0}.nr-dl{display:grid;grid-template-columns:130px 1fr;gap:4px 12px;margin:8px 0 0;font-size:13.5px}.nr-dl dt{color:var(--ink-3)}.nr-dl dd{margin:0}
.nr-firma{margin-top:14px;font-weight:600}
@media (max-width:760px){
  .nr-riasec{grid-template-columns:1fr}
  .nr-sec,.nr-portada,.nr-indice{padding-left:18px;padding-right:18px}.nr-pt-n{font-size:30px}.nr-indice ol{columns:1}
  .nr-tbloque dl{grid-template-columns:1fr}.nr-fb{grid-template-columns:100px 1fr 60px}.nr-dl{grid-template-columns:1fr}
  .nr-cmpt{min-width:calc(120px + var(--cols) * 210px)}.nr-cmp-c0{width:120px;min-width:110px;font-size:13px}
  .nr-hex-lab{font-size:15px}
}
@media print{
  .nr-doc{border:0;border-radius:0}.nr-portada{break-after:page;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .nr-sec{break-inside:avoid-page}.nr-tbloque,.nr-rcar,.nr-rcard,.nr-rt{break-inside:avoid}
  .nr-rcard,.nr-bar i,.nr-chip,.nr-secn,.nr-hex-data,.nr-cmpt thead th{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .nr-cmp{overflow:visible}.nr-cmpt{min-width:0;font-size:11px}.nr-cmp-c0{position:static}.nr-riasec{grid-template-columns:repeat(2,1fr)}
  .nr-hexfig{max-width:480px}
}


/* ---- Cuentas de usuario (ingresar, mi cuenta, administración) ---- */
.hnav a.cuenta-hdr{display:inline-flex;align-items:center;gap:6px}
.hnav a.cuenta-hdr i{font-size:18px}
.hnav a.cuenta-hdr span{max-width:12ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hnav a.cuenta-hdr.con-sesion{color:var(--primary);font-weight:600}
.cuenta-side{display:flex;flex-direction:column;gap:10px;margin-top:14px;font-size:12.5px;line-height:1.45;color:var(--sidebar-muted)}
.cu-side-fila{display:flex;gap:8px;align-items:flex-start}
.cuenta-side i{font-size:16px;flex:none;margin-top:1px}
.cu-motivo{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;margin:0 0 16px;border-radius:12px;border:1px solid var(--accent);background:var(--accent-bg);font-size:14px;line-height:1.45}
.cu-motivo i{font-size:18px;flex:none;margin-top:1px}
.cuenta-side a{color:inherit;text-decoration:underline;font-weight:600}
.cuenta-box{max-width:480px}
.cuenta-box form{margin:0}
.cu-ancho{width:100%;justify-content:center;margin-top:12px}
.cu-links{justify-content:space-between;margin-top:14px;gap:10px;flex-wrap:wrap}
.cu-google{width:100%;justify-content:center;gap:8px}
.cu-google i{font-size:18px}
.cu-o{display:flex;align-items:center;gap:10px;margin:16px 0 12px;font-size:12.5px;color:var(--ink-3)}
.cu-o::before,.cu-o::after{content:"";flex:1;border-top:1px solid var(--line)}
.cu-clave{position:relative}
.cu-clave input{padding-right:46px}
.cu-ojo{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;background:none;color:var(--ink-3);cursor:pointer;border-radius:8px}
.cu-ojo.on,.cu-ojo:hover{color:var(--primary)}
.cu-ojo:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.cu-estado{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:var(--secondary);font-size:14px;margin-bottom:12px}
.cu-estado i{font-size:18px;color:var(--primary);flex:none}
.cu-admin-nota{padding:12px 14px;border-radius:12px;border:1px solid var(--accent);background:var(--accent-bg);font-size:14px;line-height:1.45;margin-bottom:12px}
.cu-acciones{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.cu-mas{margin-top:18px;font-size:14px}
.cu-mas summary{cursor:pointer;color:var(--primary);font-weight:500}
.cu-tools{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.cu-tools .btn{gap:6px}
.cu-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:0 0 18px}
.cu-stats .card{padding:14px 16px;display:flex;flex-direction:column;gap:2px}
.cu-stats b{font-size:26px;font-weight:600;color:var(--primary)}
.cu-stats span{font-size:13px;color:var(--ink-3);line-height:1.35}
.cu-tabla{min-width:860px}
.cu-tabla td{text-align:left;vertical-align:middle}
.cu-tabla th{text-align:left}
.cu-chico{padding:6px 12px;font-size:13px}
.cu-detalle{margin-top:16px;border-color:var(--primary)}
.cu-dl{display:grid;grid-template-columns:minmax(140px,max-content) 1fr;gap:6px 16px;margin:14px 0;font-size:14px}
.cu-dl dt{color:var(--ink-3)}
.cu-dl dd{margin:0;word-break:break-word}
.cu-pasos{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.cu-pasos li{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--line-2);font-size:13px;color:var(--ink-3)}
.cu-pasos li span{font-weight:600}
.cu-pasos li.ok{border-color:var(--primary);color:var(--primary)}
.cu-admins{margin-top:22px}
.cu-admin-lista{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.cu-admin-lista li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--paper);word-break:break-word}
@media (max-width:640px){
  .cu-dl{grid-template-columns:1fr;gap:2px}
  .cu-dl dd{margin-bottom:8px}
  .cu-acciones .btn{width:100%;justify-content:center}
}
.cu-google,.cu-tools .btn,.cu-acciones .btn.ghost,.cu-chico.btn.ghost{border:1.5px solid var(--line-2);background:var(--paper)}
.cu-google:hover,.cu-tools .btn:hover,.cu-acciones .btn.ghost:hover,.cu-chico.btn.ghost:hover{border-color:var(--primary)}
.cu-tools .btn[disabled]{opacity:.5;cursor:not-allowed}
.steps li.st-salteado small{font-style:italic;opacity:.85}
.steps li.st-salteado .n{opacity:.7}

/* ---- Caja de mensaje de los chats: botón de enviar al lado ---- */
.nr-composer{display:flex;align-items:flex-end;gap:10px}
.nr-composer textarea{flex:1;min-height:48px;max-height:180px;resize:none;line-height:1.45;padding:12px 16px;border-radius:24px;overflow-y:auto}
.nr-send{flex:none;width:48px;height:48px;border-radius:50%;border:0;background:var(--primary);color:var(--primary-foreground);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,transform .1s;box-shadow:0 2px 8px var(--shadow-strong, rgba(0,0,0,.15))}
.nr-send i{font-size:22px;margin-left:-2px}
.nr-send:hover{background:var(--primary-deep)}
.nr-send:active{transform:scale(.94)}
.nr-send:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.nr-send[disabled]{opacity:.45;cursor:not-allowed}
.nr-tecla{margin:6px 0 0 16px;font-size:12px;color:var(--ink-3)}
@media (pointer:coarse){ .nr-tecla{display:none} }
.nr-envio .footer{align-items:center;gap:12px;flex-wrap:wrap}
.nr-send svg{display:block;margin-left:2px}
.nr-chat .bubble{white-space:pre-wrap}

/* =====================================================================
   PULIDO VISUAL DEL RECORRIDO (4/11). Misma paleta; no toca el hexágono del test (.nr-hex*).
   Idea: el recorrido se lee como un camino. La línea "amanecer" (--accent) marca dónde estás:
   en el paso actual de la barra lateral y en el encabezado de cada paso. Todo lo demás, sobrio.
   ===================================================================== */

/* ---- Columna de lectura: textos y formularios con un ancho cómodo ---- */
.screen[id^="nr"] > *{max-width:920px}
#nrPaso7 > *,#nrPaso8 > *,#nrResultados > *,#nrEspecialista > *,#nrVuelta > *{max-width:1120px}

/* ---- Encabezado del paso ---- */
.screen[id^="nr"] > .crumb,.screen[id^="nr"] .crumb{background:none;padding:0;border-radius:0;margin:6px 0 10px;font-size:13px;font-weight:600;color:var(--primary);display:flex;align-items:center;gap:10px;letter-spacing:0}
.screen[id^="nr"] .crumb::before{content:"";width:22px;height:3px;border-radius:3px;background:var(--accent);flex:none}
.screen[id^="nr"] h2{font-size:34px;font-weight:700;letter-spacing:-.03em;line-height:1.12;margin:0}
.screen[id^="nr"] .nr-intro{color:var(--ink-2);font-size:16.5px;line-height:1.6;max-width:64ch;margin:12px 0 28px}

/* ---- Tarjetas: sin "saltito" al pasar el mouse (no son botones) y con un borde más suave ---- */
.screen[id^="nr"] .card,.cuenta-box,#cuentaAdmin .card{border-color:color-mix(in srgb,var(--line) 75%,transparent);border-radius:18px}
.screen[id^="nr"] .card:hover,.cuenta-box:hover,#cuentaAdmin .card:hover{transform:none;box-shadow:none;border-color:color-mix(in srgb,var(--line) 75%,transparent)}
.screen[id^="nr"] .footer{border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent);margin-top:32px}

/* ---- Barra lateral: el paso actual se marca con la línea amanecer, sin bloque celeste ---- */
.steps li{transition:background .15s}
.steps li:hover{transform:none;background:var(--sidebar-hover)}
.steps li.active{background:rgba(255,255,255,.09);color:var(--sidebar-foreground);box-shadow:inset 3px 0 0 var(--sidebar-accent)}
.steps li.active .n{background:var(--sidebar-accent);color:var(--sidebar-accent-foreground)}
.steps li.active .nr-nt small{color:var(--sidebar-accent);opacity:1}
.steps li.active .nr-nd{color:var(--sidebar-muted);opacity:1}
.steps li.st-progreso:not(.active) .n{box-shadow:0 0 0 2px var(--sidebar-accent)}

/* ---- Chat de la entrevista y de la devolución: la conversación va directo sobre la página ---- */
.screen[id^="nr"] .card.nr-chat{background:none;border:0;padding:0;margin-top:4px;border-radius:0}
.nr-log{display:flex;flex-direction:column;gap:6px;max-height:none;overflow:visible;margin:0 0 6px;padding:0 0 0 46px}
.nr-log .bubble{position:relative;max-width:min(78%,620px);padding:12px 16px;font-size:15.5px;line-height:1.55;border-radius:20px;box-shadow:none}
.nr-log .bubble.bot{background:var(--card);color:var(--foreground);border:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:6px 20px 20px 20px}
.nr-log .bubble.bot + .bubble.bot{border-radius:20px}
.nr-log .bubble.user{background:var(--primary);color:var(--primary-foreground);border-radius:20px 6px 20px 20px;margin-left:auto}
.nr-log .bubble.user + .bubble.user{border-radius:20px}
/* Separación entre turnos: más aire cuando cambia quién habla */
.nr-log .bubble.user + .bubble.bot,.nr-log .bubble.bot + .bubble.user{margin-top:12px}
/* El logo de Artemisia al lado del primer mensaje de cada turno de la IA */
.nr-log .bubble.bot:first-child::before,.nr-log .bubble.user + .bubble.bot::before{content:"";position:absolute;left:-46px;top:0;width:34px;height:34px;border-radius:50%;background:#16587B url(/assets/logo-white.png) center/22px no-repeat}
.nr-log .bubble.fijo{border-style:dashed}
.nr-log .bubble.audio::after{content:" · audio";opacity:.7;font-size:12px}
.nr-log .bubble .nr-cargando{padding:2px 0}

/* Caja para escribir: queda fija abajo de la pantalla mientras leés la charla */
.screen[id^="nr"] .nr-envio{position:sticky;bottom:0;z-index:6;margin:6px 0 0;padding:18px 0 14px 46px;background:linear-gradient(to bottom,transparent,var(--bg) 26px)}
.screen[id^="nr"] .nr-envio-chico{padding-left:0}
.nr-composer textarea{background:var(--card);border-color:color-mix(in srgb,var(--line-2) 80%,transparent);font-size:15.5px;box-shadow:0 6px 20px var(--shadow)}
.nr-composer textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 6px 20px var(--shadow),0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}
.nr-tecla{margin:6px 0 0 18px}
.nr-envio-pie{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:8px;padding-left:4px}
.nr-envio-pie .nr-audio{margin:0}
.nr-envio-pie .nr-audio .btn{padding:7px 14px;font-size:13px;border-radius:999px}
.nr-envio-nota{flex:1;min-width:200px;font-size:13px;color:var(--ink-3)}
.nr-envio-pie .nr-link{font-size:13.5px;font-weight:500;color:var(--ink-2);text-decoration:none;padding:6px 4px}
.nr-envio-pie .nr-link:hover{color:var(--primary);text-decoration:underline}

/* La pregunta que propone la IA al cerrar: se destaca con la línea amanecer */
.screen[id^="nr"] .card.nr-confirmar{border-left:4px solid var(--accent);margin-left:46px}
.screen[id^="nr"] .nr-seguridad{margin-left:46px}

/* Charla del paso 4, que va dentro de una tarjeta: sin avatar ni sangría */
#nrPaso4 .nr-log{padding-left:0}
#nrPaso4 .nr-log .bubble.bot::before{display:none}

@media (max-width:640px){
  .screen[id^="nr"] h2{font-size:27px}
  .nr-log{padding-left:0}
  .nr-log .bubble{max-width:88%;font-size:15px}
  .nr-log .bubble.bot::before{display:none}
  .screen[id^="nr"] .nr-envio{padding-left:0;padding-bottom:10px}
  .screen[id^="nr"] .card.nr-confirmar,.screen[id^="nr"] .nr-seguridad{margin-left:0}
  .nr-envio-nota{display:none}
}
@media (prefers-reduced-motion:reduce){ .nr-send,.steps li{transition:none} }

/* ===== Audio dentro de la caja de texto (paso 2) — 4/11 ===== */
.nr-micbtn{flex:none;width:48px;height:48px;border-radius:50%;border:1.5px solid var(--line-2);background:var(--card);color:var(--primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s,background .15s,color .15s}
.nr-micbtn:hover:not(:disabled){border-color:var(--primary);background:var(--secondary)}
.nr-micbtn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.nr-micbtn:disabled{opacity:.4;cursor:not-allowed}
.nr-micbtn.on{background:var(--destructive);border-color:var(--destructive);color:var(--destructive-foreground)}
.nr-micbtn svg{display:block}
.nr-audio:empty{display:none}
.nr-aud-panel{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:12px 14px;margin:0 0 10px;box-shadow:0 6px 20px var(--shadow)}
.nr-aud-panel .nr-aud-fila{margin:4px 0}
.nr-aud-panel .btn{padding:8px 16px;font-size:14px;border-radius:999px}
.nr-aud-acc{display:flex;gap:8px;margin-left:auto}
.nr-aud-panel audio{flex:1;min-width:180px}
@media (max-width:560px){ .nr-micbtn{width:44px;height:44px} .nr-aud-acc{margin-left:0;width:100%} }

/* ===== Hexágono RIASEC: escala lineal y polígono de referencia (4/11). Mismos colores. ===== */
.nr-hexfig{max-width:680px}
.nr-hex-ref{fill:none;stroke:var(--ink-3);stroke-width:2;stroke-dasharray:7 5}
.nr-hex-grid{stroke-opacity:.7}
.nr-hex-esc{font-size:11px;font-weight:600}
.nr-hex-lab{font-size:15px}
.nr-hex-lab .nr-hex-val{font-size:15px;font-weight:700}
.nr-ley-ref{display:inline-block;width:22px;height:0;border-top:2px dashed var(--ink-3);vertical-align:middle;margin:0 6px 0 12px}
.nr-ley-ref:first-child{margin-left:0}
@media (max-width:760px){ .nr-riasec{grid-template-columns:repeat(2,minmax(0,1fr))} .nr-hex-lab,.nr-hex-lab .nr-hex-val{font-size:17px} }
@media (max-width:520px){ .nr-riasec{grid-template-columns:1fr} }

/* ===== Paso 6: explicación, indicadores y ofertas por institución (4/11). Mismas tarjetas. ===== */
.nr-recintro{margin-bottom:14px}
.nr-fuentes{margin:0;padding-left:18px;display:grid;gap:5px;font-size:14.5px}
.nr-explica{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 6px}
.nr-explica-c{border-radius:16px;padding:14px 16px;border:1px solid var(--line);background:var(--card);border-left:5px solid var(--primary)}
.nr-explica-c.viab{border-left-color:var(--accent)}
.nr-explica-c p{margin:6px 0 0;font-size:14px}
.nr-explica-pie{font-size:13px;margin:4px 0 16px}
.nr-ind-n{font-size:12.5px;font-weight:700;letter-spacing:.02em;color:var(--ink-2)}
.nr-inds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 4px}
.nr-ind{border-radius:14px;padding:10px 14px;background:var(--secondary)}
.nr-ind.viab{background:var(--accent-bg)}
.nr-ind-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.nr-ind-v b{font-size:28px;line-height:1;color:var(--primary)}.nr-ind.viab .nr-ind-v b{color:var(--amber)}
.nr-ind-v small{font-size:13px;color:var(--ink-3);margin-left:2px}
.nr-ind-nd{font-size:14px;color:var(--ink-3)}
.nr-ind-bar{height:8px;border-radius:99px;background:color-mix(in srgb,var(--card) 70%,transparent);margin:8px 0 6px;overflow:hidden}
.nr-ind-bar i{display:block;height:100%;border-radius:99px;background:var(--primary)}.nr-ind.viab .nr-ind-bar i{background:var(--accent)}
.nr-ind-q{margin:0;font-size:13px;color:var(--ink-2)}
.nr-ofertas-grupo{display:grid;gap:0}
.nr-oferta-nota{font-size:13px;margin:6px 0 0;color:var(--ink-2)}
@media (max-width:560px){ .nr-explica,.nr-inds{grid-template-columns:1fr} }
@media print{ .nr-ind,.nr-ind-bar i{-webkit-print-color-adjust:exact;print-color-adjust:exact} }

/* ===== Paso 7: comparador primero (por oferta) y registro de charlas (4/11) ===== */
.nr-cmp-principal{border-top:5px solid var(--primary)}
.nr-cmp-sel{display:grid;gap:12px;margin:0 0 14px}
.nr-cmp-car{padding:10px 0;border-bottom:1px solid var(--line)}
.nr-cmp-car:last-child{border-bottom:0}
.nr-cmp-car > b{display:block;margin-bottom:6px}
.nr-cmp-car .nr-opts{margin:0}
.nr-cmp-mas{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px;font-size:13.5px;color:var(--ink-2)}
.nr-cmp-mas select{max-width:100%;min-width:0;flex:1 1 220px}
.nr-cmp-inst{display:block;font-size:13px;color:var(--ink-2);font-weight:600}
.nr-charlas{margin-top:18px}
.nr-charla-guia{margin:0 0 12px}.nr-charla-guia summary{cursor:pointer;color:var(--primary);font-weight:600}
.nr-charla-lista{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:10px}
.nr-charla{border:1px solid var(--line);border-radius:16px;padding:12px 14px;background:var(--card)}
.nr-charla.editando{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent)}
.nr-charla-cab{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.nr-charla-n{display:block;font-size:16.5px}
.nr-charla-o{display:block;font-weight:600;color:var(--ink-2);font-size:14px}
.nr-charla-c{display:block;font-size:12.5px;margin-top:2px}
.nr-charla-dl{margin:8px 0 0;display:grid;grid-template-columns:200px 1fr;gap:4px 12px;font-size:14px}.nr-charla-dl dt{color:var(--ink-3)}.nr-charla-dl dd{margin:0;white-space:pre-wrap}
.nr-charla-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
.nr-charla-form{margin-top:10px}
@media (max-width:640px){ .nr-charla-grid,.nr-charla-dl{grid-template-columns:1fr} }

/* ===== Informes: vistas del cliente y del especialista con índice (4/11) ===== */
.nr-vista{display:grid;grid-template-columns:240px minmax(0,1fr);gap:22px;align-items:start}
.nr-vista-cuerpo{min-width:0}
.nr-vindice{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px 14px;font-size:14px}
.nr-vindice summary{font-weight:700;cursor:pointer;margin-bottom:6px}
.nr-vi-g{margin:8px 0;padding-left:10px;border-left:3px solid var(--line)}
.nr-vi-g.concl{border-left-color:var(--accent)}.nr-vi-g.rsm{border-left-color:var(--primary-soft)}.nr-vi-g.full{border-left-color:var(--primary)}
.nr-vi-g ol{margin:4px 0 0;padding-left:18px}.nr-vi-g li{margin:3px 0}
.nr-vindice a{color:var(--ink-2);text-decoration:none}.nr-vindice a:hover{color:var(--primary);text-decoration:underline}
.nr-vindice a.on{color:var(--primary);font-weight:700}
.nr-vbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 40px;border-bottom:1px solid var(--line);background:var(--muted)}
.nr-vsel{margin-left:auto;font-size:14px;display:flex;align-items:center;gap:6px}.nr-vsel select{max-width:100%}
.nr-concl{background:var(--accent-bg)}
.nr-concl-k,.nr-completo-k{font-size:13px;font-weight:700;letter-spacing:.03em;color:var(--amber);margin:0 0 8px}
.nr-completo-k{color:var(--primary);padding:22px 40px 0;margin:0}
.nr-concl p{font-size:16.5px;line-height:1.6}
.nr-rsm{background:color-mix(in srgb,var(--secondary) 45%,var(--card))}
.nr-rsm h3{font-size:22px}
.nr-rsm-pie{margin:-6px 0 12px;font-size:13px}
.nr-rsm-b{margin:0 0 14px}.nr-rsm-b h4{margin:12px 0 4px;font-size:16px}.nr-rsm-b p{margin:4px 0}
.nr-rsm-barras{display:grid;gap:4px;margin-top:8px}
.nr-rsm-tabla td{vertical-align:top}
.nr-est{display:inline-block;font-size:12px;font-weight:700;padding:2px 9px;border-radius:99px;background:var(--muted);color:var(--ink-2);white-space:nowrap}
.nr-est-completado{background:var(--success-bg);color:var(--success-foreground)}
.nr-est-progreso,.nr-est-en_proceso{background:var(--accent-bg);color:var(--amber)}
.nr-est-salteado{background:var(--secondary);color:var(--ink-2)}
.nr-est-error{background:var(--destructive-bg);color:var(--destructive-ink)}
.nr-sindato{margin:6px 0;padding:10px 14px;border-radius:12px;border:1px dashed var(--line-2);color:var(--ink-2);font-size:14.5px}
.nr-orig{margin:8px 0;border:1px solid var(--line);border-radius:12px;padding:8px 12px;background:var(--card)}
.nr-orig summary{cursor:pointer;font-weight:600}
.nr-orig-chat{max-height:420px;overflow:auto;margin-top:8px;font-size:14px}
.nr-orig-chat p{margin:4px 0;padding:6px 10px;border-radius:10px;background:var(--muted)}.nr-orig-chat p.est{background:var(--secondary)}.nr-orig-chat p.alerta{background:var(--destructive-bg)}
.nr-ofertas{display:grid;gap:8px;margin:8px 0 14px}
.nr-oferta-fila{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:14px}
.nr-oferta-fila > div{flex:1;min-width:0}.nr-oferta-fila span{display:block;font-size:13px}
.nr-oferta-v{flex:none;font-size:13px;text-align:right}.nr-oferta-v b{display:block;font-size:20px;color:var(--amber)}
@media (max-width:900px){
  .nr-vista{grid-template-columns:1fr}
  .nr-vindice{position:static;max-height:none}
  .nr-vbar,.nr-completo-k{padding-left:18px;padding-right:18px}
}
@media print{
  .nr-vista{display:block}
  .nr-sec{break-inside:auto}
  .nr-sec h3,.nr-sec h4{break-after:avoid}
  .nr-concl,.nr-rsm,.nr-est{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .nr-orig{display:none}
  #esp-revision{display:none}
  .nr-completo{break-before:page}
}

/* =====================================================================================
   Capa 5/11 · Correcciones de la revisión (contraste, landing, comparador gratis, opiniones,
   ventana previa de cada paso, entrevista más amena, tarea con guía, test de a una pregunta,
   vista del especialista y PDF). Se agrega al final para no tocar lo anterior.
   ===================================================================================== */
/* --- Paleta: más contraste y un color nuevo (verde artemisia, "--sage") --- */
:root{
  --sage:#3D7A5A; --sage-bg:#E2EEE5; --sage-ink:#2C5C43;
  --card:#FFFFFF; --paper:#FFFFFF; --border:#DCCFB7; --input:#BFB39C;
  --muted-foreground:#4E6F82; --ink-3:#4E6F82;
  --shadow:rgba(22,88,123,.12); --shadow-strong:rgba(22,88,123,.28);
  --banda:#EAF1F5;
}
.dark{
  --background:#141B20; --card:#1C262D; --paper:#1C262D; --popover:#1C262D;
  --secondary:#25343F; --secondary-foreground:#CFE0EA; --muted:#202B32;
  --border:#33434E; --input:#46586A;
  --sidebar:#0F1519; --sidebar-border:rgba(255,255,255,.09);
  --sage:#8CC4A3; --sage-bg:#1D2E26; --sage-ink:#B5DEC5;
  --banda:#18232A;
}
body{background:radial-gradient(1100px 560px at 100% -10%,var(--secondary) 0%,transparent 60%),radial-gradient(800px 460px at -10% 100%,var(--sage-bg) 0%,transparent 55%),var(--bg)}
.eyebrow{color:var(--sage)}
.card{box-shadow:0 1px 2px var(--shadow)}
.tag.green{background:var(--sage-bg);color:var(--sage-ink)}
.lead{color:var(--ink-2)}

/* --- Inicio: foto grande en el hero --- */
.hero-foto{grid-template-columns:1fr 1.05fr;gap:48px;padding:36px 0 52px;align-items:stretch}
.hero-foto .hero-copy{align-self:center}
.hero-foto h1{font-size:52px;line-height:1.04;letter-spacing:-.035em;max-width:13ch}
.hero-cta .btn{font-size:15px}
.hero-foto .hero-art{min-height:460px}
.hero-foto .uni-showcase{position:relative;height:100%;min-height:460px;padding:0;border:0;background:var(--secondary);border-radius:28px;overflow:hidden;box-shadow:0 30px 60px var(--shadow-strong);display:block}
.hero-foto .uni-showcase-stage{position:absolute;inset:0;min-height:0}
.hero-foto .uni-showcase-card{border-radius:0}
.hero-foto .uni-showcase-card .info{padding:28px 26px 44px;background:linear-gradient(0deg,rgba(10,20,28,.82),rgba(10,20,28,0))}
.hero-foto .uni-showcase-card .info b{font-size:22px}
.hero-foto .uni-showcase-top{position:absolute;left:18px;top:18px;z-index:2}
.hero-foto .uni-showcase-live{background:rgba(255,255,255,.92);color:#1F4F3A}
.hero-foto .uni-showcase-dots{position:absolute;left:0;right:0;bottom:16px;z-index:2}
.hero-foto .uni-showcase-dots i{background:rgba(255,255,255,.5)}.hero-foto .uni-showcase-dots i.on{background:#fff}
.hero-foto .foto-credito{z-index:3}
.home-seguir{display:flex;align-items:center;gap:14px;margin:22px 0 0;padding:14px 16px;border-radius:16px;background:var(--sage-bg);border:1px solid color-mix(in srgb,var(--sage) 35%,transparent);flex-wrap:wrap}
.home-seguir>i{font-size:22px;color:var(--sage);flex:none}
.home-seguir>div{flex:1;min-width:180px}.home-seguir b{display:block}.home-seguir span{font-size:13.5px;color:var(--ink-2)}
.home-cf{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0 0 52px}
.home-cf-col{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:26px 28px}
.home-cf-col h3{margin:0 0 14px}
.home-cf-plan{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}
.home-cf-plan h3{color:var(--primary-foreground)}
.home-cf-plan .btn.ghost{color:var(--primary-foreground);border-color:color-mix(in srgb,var(--primary-foreground) 45%,transparent);margin-top:16px}
.home-cf-l{margin:0;padding:0 0 0 20px;display:flex;flex-direction:column;gap:10px;font-size:15px;line-height:1.5}
.home-cf-l li::marker{color:var(--sage);font-weight:700}.home-cf-plan .home-cf-l li::marker{color:var(--accent)}
@media (max-width:860px){ .hero-foto{grid-template-columns:1fr}.hero-foto h1{font-size:38px}.hero-foto .hero-art,.hero-foto .uni-showcase{min-height:300px}.home-cf{grid-template-columns:1fr} }

/* --- Cómo funciona (pantalla 25) --- */
.cf-bloque{margin:0 0 40px}
.cf-bloque>h2{margin:0 0 8px}
.cf-gratis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.cf-g{display:flex;flex-direction:column;gap:6px;text-align:left;padding:20px;border-radius:18px;border:1px solid var(--line);background:var(--paper);color:var(--ink);transition:transform .15s,border-color .15s}
.cf-g:hover{transform:translateY(-2px);border-color:var(--sage)}.cf-g i{font-size:24px;color:var(--sage)}.cf-g b{font-size:16px}.cf-g span{font-size:13.5px;color:var(--ink-2);line-height:1.5}
.cf-ramas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.cf-rama{padding:20px;border-radius:18px;background:var(--banda);border:1px solid var(--line)}
.cf-rama-l{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--primary);color:var(--primary-foreground);font-weight:700;margin-bottom:10px}
.cf-rama b{display:block;margin-bottom:6px}.cf-rama p{margin:0;font-size:14px;color:var(--ink-2);line-height:1.55}
.cf-pasos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cf-pasos li{display:flex;gap:14px;padding:16px 18px;border-radius:16px;background:var(--paper);border:1px solid var(--line)}
.cf-n{flex:none;width:34px;height:34px;border-radius:10px;background:var(--accent);color:var(--accent-foreground);display:grid;place-items:center;font-weight:700}
.cf-pasos b{display:block}.cf-quien{display:block;font-size:12.5px;color:var(--sage);font-weight:600;margin:2px 0 4px}.cf-pasos p{margin:0;font-size:14px;color:var(--ink-2)}
.cf-plan-pie{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:18px}
.cf-esno{display:grid;grid-template-columns:1fr 1fr;gap:14px}.cf-esno>div{padding:20px;border-radius:18px;background:var(--paper);border:1px solid var(--line)}
.cf-esno b{display:flex;gap:6px;align-items:center;font-size:16px}.cf-esno ul{margin:10px 0 0;padding-left:18px;line-height:1.6;color:var(--ink-2)}
.cf-esno>div:first-child b i{color:var(--sage)}.cf-esno>div:last-child b i{color:var(--destructive)}
@media (max-width:900px){ .cf-gratis{grid-template-columns:1fr 1fr}.cf-ramas,.cf-pasos,.cf-esno{grid-template-columns:1fr} }
@media (max-width:480px){ .cf-gratis{grid-template-columns:1fr} }

/* --- Comparador gratis (pantalla 28) --- */
.cmpl-buscar{margin-bottom:18px}
.cmpl-lab{display:block;font-weight:600;margin-bottom:10px}
.cmpl-sb{max-width:none;margin:0}.cmpl-sb input{height:52px;box-shadow:none}
.cmpl-ayuda{font-size:13.5px;margin:12px 4px 0}
.cmpl-lista{list-style:none;margin:12px 0 0;padding:0;max-height:380px;overflow:auto;border:1px solid var(--line);border-radius:14px}
.cmpl-lista li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line)}
.cmpl-lista li:last-child{border-bottom:0}.cmpl-lista b{display:block;font-size:14.5px}.cmpl-lista span{font-size:13px;color:var(--ink-3)}
.cmpl-elegidas{margin:0 0 18px}.cmpl-elegidas h3{margin:0 0 10px}
.cmpl-chips{display:flex;flex-wrap:wrap;gap:8px}
.cmpl-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 6px 6px 12px;border-radius:999px;background:var(--sage-bg);color:var(--sage-ink);font-size:13.5px}
.cmpl-chip button{border:0;background:transparent;color:inherit;width:26px;height:26px;border-radius:50%;display:grid;place-items:center}.cmpl-chip button:hover{background:color-mix(in srgb,var(--sage) 20%,transparent)}
.cmpl-plan{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px;flex-wrap:wrap;border-left:4px solid var(--accent)}

/* --- Opiniones (pantalla 29) --- */
.com-barra{display:flex;gap:12px;align-items:center;margin:0 0 18px;flex-wrap:wrap}.com-barra .search-box{flex:1;min-width:240px}
.com-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.com-op{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:12px}
.com-op header{display:flex;justify-content:space-between;gap:10px}.com-op header b{display:block}.com-op header span{font-size:13px;color:var(--ink-3)}
.com-estrellas{color:var(--accent);white-space:nowrap}.com-estrellas i{font-size:15px}
.com-texto{margin:0;line-height:1.6;font-size:15px}
.com-op footer{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--ink-3)}
.com-rec{font-weight:600}.com-rec.si{color:var(--sage)}.com-rec.no{color:var(--destructive-ink)}
.com-vacio{text-align:center;padding:36px 24px}.com-vacio>i{font-size:36px;color:var(--sage)}.com-vacio h3{margin:8px 0}.com-vacio p{max-width:56ch;margin:0 auto 16px}
.com-form{margin:0 0 18px}.com-form h3{margin:0 0 6px}
.com-puntaje{display:flex;gap:4px}.com-puntaje button{border:0;background:transparent;font-size:24px;color:var(--ink-3);padding:2px}.com-puntaje button.on{color:var(--accent)}
.com-mias{font-size:13.5px;margin:0 0 14px}
.com-mod{padding:12px 0;border-top:1px solid var(--line)}.com-mod-top{display:flex;justify-content:space-between;gap:10px;align-items:center}

/* --- Ventana propia (modal) y ventana previa de cada paso --- */
.nr-modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:16px}
.nr-modal-fondo{position:absolute;inset:0;background:rgba(10,20,28,.55);animation:nrFade .2s ease}
.nr-modal-caja{position:relative;max-width:540px;width:100%;max-height:calc(100vh - 32px);overflow:auto;background:var(--card);color:var(--ink);border-radius:22px;padding:26px 26px 20px;box-shadow:0 30px 70px rgba(0,0,0,.35);animation:nrSube .28s cubic-bezier(.2,.8,.2,1)}
.nr-modal-k{margin:0 0 6px;font-size:13px;font-weight:600;color:var(--sage)}
.nr-modal-caja h3{font-size:22px;margin:0 0 12px}
.nr-modal-cuerpo p{margin:0 0 12px;line-height:1.6;font-size:15px}
.nr-modal-tiempo{display:flex;gap:8px;align-items:center;padding:10px 12px;border-radius:12px;background:var(--sage-bg);color:var(--sage-ink);font-size:14px}
.nr-modal-botones{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:8px}
@keyframes nrFade{from{opacity:0}to{opacity:1}}
@keyframes nrSube{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.nr-que-es{display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;color:var(--primary);font-weight:600;font-size:14px;padding:0;text-decoration:underline;text-underline-offset:3px}

/* --- Entrevista: más amena --- */
.nr-chat-cab{display:flex;align-items:center;gap:10px;padding:0 0 12px;margin:0 0 12px;border-bottom:1px solid var(--line)}
.nr-chat-av{width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,var(--primary),var(--sage));color:#fff;display:grid;place-items:center;font-weight:700}
.nr-chat-cab b{display:block;font-size:14.5px}.nr-chat-cab small{font-size:12.5px;color:var(--ink-3)}
.bubble.nuevo{animation:nrBurbuja .32s cubic-bezier(.2,.8,.2,1)}
.bubble.user.nuevo{transform-origin:right bottom}.bubble.bot.nuevo{transform-origin:left bottom}
@keyframes nrBurbuja{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}
.nr-escribiendo{padding:12px 16px}
.nr-dots{display:inline-flex;gap:5px}.nr-dots i{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.4;animation:nrPunto 1.1s infinite}
.nr-dots i:nth-child(2){animation-delay:.15s}.nr-dots i:nth-child(3){animation-delay:.3s}
@keyframes nrPunto{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}
.nr-rapidas{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 10px}
.nr-rapida{border:1px solid var(--line-2);background:var(--paper);color:var(--ink-2);border-radius:999px;padding:7px 13px;font-size:13px;transition:background .15s,border-color .15s,color .15s}
.nr-rapida:hover{border-color:var(--sage);color:var(--sage-ink);background:var(--sage-bg)}
.nr-festejo{position:relative;border:1.5px solid var(--sage);background:linear-gradient(180deg,var(--sage-bg),var(--card) 70%);animation:nrSube .4s cubic-bezier(.2,.8,.2,1)}
.nr-festejo-ic{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--sage);color:#fff;font-size:20px;margin-bottom:10px;animation:nrGira .8s ease}
@keyframes nrGira{from{transform:rotate(-25deg) scale(.6);opacity:0}to{transform:none;opacity:1}}

/* --- Tarea de campo con guía --- */
.nr-guia h3{font-size:18px}
.nr-ideas{display:flex;flex-wrap:wrap;gap:8px}
.nr-idea{border:1.5px solid var(--line-2);background:var(--paper);color:var(--ink);border-radius:14px;padding:9px 13px;font-size:14px;text-align:left;line-height:1.35;transition:all .15s}
.nr-idea:hover{border-color:var(--sage)}.nr-idea.sel{background:var(--sage);border-color:var(--sage);color:#fff}
.dark .nr-idea.sel{color:#10261B}
.nr-plan-dias{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.nr-plan-dias li{display:grid;grid-template-columns:70px 1fr;gap:10px;padding:10px 12px;border-radius:12px;background:var(--banda)}
.nr-plan-dias b{color:var(--sage)}
.nr-meta-dia{margin:8px 0 10px;padding:9px 12px;border-radius:10px;background:var(--sage-bg);color:var(--sage-ink);font-size:14px}

/* --- Test de intereses: de a una actividad --- */
.nr-p4uno{padding:26px 28px}
.nr-p4-act{font-size:28px;line-height:1.2;margin:0 0 20px;min-height:2.4em}
.nr-esc5-grande{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.nr-esc5-grande .nr-e5{min-height:86px}
.nr-entra{animation:nrSube .25s ease}
@media (max-width:640px){ .nr-esc5-grande{grid-template-columns:1fr}.nr-esc5-grande .nr-e5{min-height:0;flex-direction:row;justify-content:flex-start;gap:12px}.nr-p4-act{font-size:22px} }

/* --- Plan Familia: el nombre del plan, grande --- */
.nr-plan-nombre{font-size:30px;letter-spacing:-.02em;margin:0 0 4px}
.nr-plan-sub{margin:0 0 10px;color:var(--ink-2);font-size:15px}
.nr-plan-lista{font-size:13.5px;line-height:1.5;color:var(--ink-2)}

/* --- Vista del especialista y aclaraciones --- */
.nr-esp-guia{list-style:none;counter-reset:g;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 18px;padding:0}
.nr-esp-guia li{counter-increment:g;padding:14px 16px;border-radius:14px;background:var(--banda);border:1px solid var(--line)}
.nr-esp-guia li::before{content:counter(g);display:inline-grid;place-items:center;width:24px;height:24px;border-radius:8px;background:var(--primary);color:var(--primary-foreground);font-weight:700;font-size:13px;margin-bottom:6px}
.nr-esp-guia b{display:block}.nr-esp-guia span{font-size:13px;color:var(--ink-2)}
@media (max-width:760px){ .nr-esp-guia{grid-template-columns:1fr} }
.nr-aclar{margin:14px 0;padding:14px 16px;border-radius:12px;background:var(--card);border:1px solid var(--line)}
.nr-aclar-k{font-weight:600;margin:0 0 6px}
.nr-esp-prox{margin-top:16px;padding-top:14px;border-top:1px dashed var(--line-2)}
.nr-esp-prox-k{display:flex;gap:6px;align-items:center;font-weight:600;margin:0 0 4px}
.nr-esp-molde{display:grid;grid-template-columns:48px 1fr 1fr;gap:12px;align-items:start;padding:12px;border-radius:14px;border:1px dashed var(--line-2);opacity:.75}
.nr-esp-m-av{width:48px;height:48px;border-radius:50%;background:var(--secondary)}
.nr-esp-molde b{display:block;font-size:14px}.nr-esp-molde span{font-size:12.5px;color:var(--ink-3)}
@media (max-width:640px){ .nr-esp-molde{grid-template-columns:48px 1fr}.nr-esp-m-ag{grid-column:2} }

/* --- Informe: más legible en pantalla --- */
.nr-doc .nr-sec p,.nr-doc .nr-sec li{line-height:1.7;font-size:15.5px}
.nr-doc .nr-sec p{max-width:74ch}
.nr-doc .nr-sec h3{font-size:22px;font-weight:700}
.nr-doc .nr-sec h4{font-size:16.5px;font-weight:700;color:var(--primary)}
.nr-doc .nr-sec b,.nr-doc .nr-sec strong{font-weight:650}
@media (min-width:900px){ .nr-doc .nr-sec p{text-align:justify;hyphens:auto;-webkit-hyphens:auto} }

/* --- PDF / impresión: siempre en claro, legible y sin cortes --- */
@page{size:A4;margin:16mm 14mm}
@media print{
  html,html.dark,.dark{
    --background:#FFFFFF; --foreground:#14324A; --card:#FFFFFF; --paper:#FFFFFF; --card-foreground:#14324A;
    --primary:#16587B; --primary-foreground:#FFFFFF; --secondary:#EAF1F5; --secondary-foreground:#16587B;
    --muted:#F4F4F2; --muted-foreground:#3F5B6C; --ink:#14324A; --ink-2:#2A4A60; --ink-3:#3F5B6C;
    --accent:#C98A1E; --accent-bg:#FBF0DA; --accent-foreground:#14324A; --amber:#8A5E10;
    --border:#CFC6B5; --line:#CFC6B5; --line-2:#B9AF9C; --success:#2E7D5B; --success-bg:#E3F1EA; --success-foreground:#1F5C43;
    --sage:#2F6B4C; --sage-bg:#E5F0E8; --sage-ink:#244F39; --banda:#F2F6F8; --destructive-ink:#8E2F2F;
    --shadow:transparent; --shadow-strong:transparent;
  }
  html,body{background:#fff !important;color:#14324A !important;font-size:11pt}
  body{background-image:none !important}
  .header,.side,.topbar,.foot,.nr-noprint,.toast,.nr-modal,.nr-vindice,#loadScreen{display:none !important}
  .main{padding:0 !important;max-width:none !important}
  .nr-vista{display:block !important}
  .nr-doc{border:0 !important;box-shadow:none !important;background:#fff !important}
  .nr-doc .nr-sec{padding:12pt 0 !important;border-color:#CFC6B5 !important}
  .nr-doc .nr-sec p,.nr-doc .nr-sec li{font-size:10.5pt;line-height:1.55;text-align:justify;hyphens:auto;max-width:none;color:#14324A}
  .nr-doc .nr-sec h3{font-size:15pt}.nr-doc .nr-sec h4{font-size:12pt}
  .nr-doc *{color-adjust:exact;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .muted,.nr-sub{color:#3F5B6C !important}
  a{color:#16587B !important}
  /* Comparador del informe: ocupa todo el ancho de la hoja y las celdas cortan las palabras largas, así no queda cortado. */
  .nr-cmp{overflow:visible !important}
  .nr-cmpt thead{display:table-header-group}.nr-cmpt tr{break-inside:avoid}
  .nr-cmpt{min-width:0 !important;width:100% !important;table-layout:fixed;font-size:8.5pt !important}
  .nr-cmpt th,.nr-cmpt td{word-break:break-word;overflow-wrap:anywhere;padding:4pt 5pt !important}
  .nr-cmp-c0{width:22% !important;position:static !important}
  .nr-cmp-top img,.nr-cmp-top .nr-logo{display:none}
  .card{box-shadow:none !important}
}
.dark .home-cf-plan{background:var(--secondary);border-color:var(--primary);color:var(--foreground)}
.dark .home-cf-plan h3{color:var(--foreground)}
.dark .home-cf-plan .btn.ghost{color:var(--foreground);border-color:var(--primary)}
.hero-foto .stat{gap:18px 28px}
@media (max-width:640px){ .nr-rapidas{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-bottom:8px}.nr-rapidas::-webkit-scrollbar{display:none}.nr-rapida{flex:none;white-space:nowrap} }
@media print{
  .nr-que-es,.nr-intro,.crumb{display:none !important}
  .nr-vista-cuerpo,.nr-completo,.nr-doc,.nr-doc .nr-sec,.nr-cmp{max-width:none !important;width:auto !important}
  .nr-cmp{width:100% !important}
  .nr-cmpt th,.nr-cmpt td{word-break:normal !important;overflow-wrap:break-word !important;hyphens:auto}
  .nr-cmpt .nr-cmp-n{font-size:9pt !important;line-height:1.25}.nr-cmpt .nr-cmp-inst{font-size:8pt !important}
}
@media (max-width:640px){ .hero-foto .stat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.hero-foto .stat b{font-size:22px} }

/* --- Códigos de promoción (6/11) --- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nr-promo{margin-top:14px;border-style:dashed;border-color:var(--line-2);background:var(--banda)}
.nr-promo #nrCodigo{text-transform:uppercase;letter-spacing:.06em;font-weight:600}
.cod-form{padding:14px 0 4px;border-top:1px solid var(--line)}
.cod-campos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media (max-width:900px){ .cod-campos{grid-template-columns:1fr 1fr} }
@media (max-width:520px){ .cod-campos{grid-template-columns:1fr} }
.cod-lista{margin-top:14px}
.cod-fila{padding:12px 0;border-top:1px solid var(--line)}
.cod-fila-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.cod-codigo{font-size:15px;font-weight:700;letter-spacing:.05em;padding:3px 8px;border-radius:8px;background:var(--secondary);color:var(--primary)}
.cod-desc{display:block;font-size:13.5px;color:var(--ink-2);margin-top:6px}
.cod-meta{font-size:13px;margin:6px 0 0}
.cod-canjes{margin-top:6px;font-size:13px}.cod-canjes ul{margin:6px 0 0;padding-left:18px}

/* =====================================================================================
   Capa 6/11 · Estilo shadcn/ui (https://ui.shadcn.com) sobre el CSS de siempre.
   No usa React ni Tailwind: copia las medidas y el comportamiento de sus componentes
   (Button, Input, Card, Badge, Tabs, Table, Dialog, Dropdown Menu, Sonner, Tooltip,
   Accordion, Sidebar y Navigation Menu) con los colores de Artemisia.
   Para volver atrás alcanza con borrar este bloque.
   ===================================================================================== */
:root{ --radius:12px; --anillo:color-mix(in srgb,var(--ring) 55%,transparent); --sombra-sm:0 1px 2px rgba(16,24,40,.06); --sombra-md:0 4px 12px -2px rgba(16,24,40,.10),0 2px 4px -2px rgba(16,24,40,.06); --sombra-lg:0 16px 40px -8px rgba(16,24,40,.22); }
.dark{ --sombra-sm:0 1px 2px rgba(0,0,0,.35); --sombra-md:0 6px 16px -4px rgba(0,0,0,.5); --sombra-lg:0 20px 48px -10px rgba(0,0,0,.65); }

/* Button: alto fijo, radio chico, sin "levantarse" al pasar el mouse, foco con anillo */
.btn{height:40px;padding:0 16px;border-radius:calc(var(--radius) - 4px);border:1px solid var(--border);background:var(--card);color:var(--foreground);font-size:14px;font-weight:500;gap:8px;justify-content:center;white-space:nowrap;box-shadow:var(--sombra-sm);transition:background-color .15s,color .15s,border-color .15s,box-shadow .15s,opacity .15s}
.btn:hover{transform:none;background:var(--secondary);color:var(--secondary-foreground);border-color:var(--border)}
.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--anillo);border-color:var(--ring)}
.btn:active{transform:translateY(.5px)}
.btn:disabled,.btn[disabled]{opacity:.5;pointer-events:none}
.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground);box-shadow:var(--sombra-sm)}
.btn.primary:hover{background:color-mix(in srgb,var(--primary) 90%,#000);border-color:color-mix(in srgb,var(--primary) 90%,#000);color:var(--primary-foreground)}
.dark .btn.primary:hover{background:color-mix(in srgb,var(--primary) 88%,#fff)}
.btn.primary::after,.stepbar .btn.primary::after{content:none}
.btn.ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--foreground)}
.btn.ghost:hover{background:var(--secondary);color:var(--secondary-foreground)}
.cu-google,.cu-tools .btn,.cu-acciones .btn.ghost,.cu-chico.btn.ghost,.cmpl-lista .btn.ghost,.cod-fila .btn.ghost{border:1px solid var(--border);background:var(--card);box-shadow:var(--sombra-sm)}
.cu-chico.btn{height:32px;padding:0 12px;font-size:13px}
.create-cta .btn.primary{height:48px;min-height:0;padding:0 28px;border-radius:calc(var(--radius) - 2px)}

/* Input, Select, Textarea, Checkbox */
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],input[type=date],input[type=search],select,textarea{height:40px;border:1px solid var(--input);border-radius:calc(var(--radius) - 4px);background:var(--card);color:var(--foreground);padding:0 12px;font-size:14.5px;box-shadow:var(--sombra-sm);transition:border-color .15s,box-shadow .15s}
textarea{height:auto;padding:10px 12px;line-height:1.5}
input::placeholder,textarea::placeholder{color:var(--muted-foreground);opacity:.85}
input[type=text]:focus,input[type=email]:focus,input[type=tel]:focus,input[type=password]:focus,input[type=number]:focus,input[type=date]:focus,input[type=search]:focus,select:focus,textarea:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 3px var(--anillo)}
input[aria-invalid=true],.field.err input,.field.err select,.field.err textarea{border-color:var(--destructive)}
input[type=checkbox],input[type=radio]{accent-color:var(--primary);width:16px;height:16px}
.field>label,.nr-form label:not(.nr-check){font-size:14px;font-weight:500;color:var(--foreground)}
.nr-help,.field small{font-size:12.5px;color:var(--muted-foreground)}
.search-box input{border-radius:calc(var(--radius) - 2px)}
.search-box input:focus{box-shadow:0 0 0 3px var(--anillo)}
.nr-linkbox input{height:40px;border:1px solid var(--input);border-radius:calc(var(--radius) - 4px);box-shadow:var(--sombra-sm)}
.nr-linkbox input:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 3px var(--anillo)}

/* Card */
.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);box-shadow:var(--sombra-sm);padding:24px}
.card:hover{transform:none}
.screen[id^="nr"] .card,.cuenta-box,#cuentaAdmin .card{border-color:var(--border);border-radius:var(--radius)}
.card h3{letter-spacing:-.01em}

/* Badge */
.tag{border-radius:calc(var(--radius) - 6px);padding:2px 8px;font-size:12px;font-weight:600;line-height:1.6;border:1px solid transparent;background:var(--secondary);color:var(--secondary-foreground)}
.tag.amber{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--amber,#8A5E10);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}
.dark .tag.amber{color:var(--accent)}
.tag.green{border-color:color-mix(in srgb,var(--sage) 30%,transparent)}

/* Tabs (el selector de opciones .toggle se ve como las pestañas de shadcn) */
.toggle{display:inline-flex;gap:4px;padding:4px;border:0;border-radius:var(--radius);background:var(--muted);overflow:visible}
.toggle span{padding:6px 12px;border-radius:calc(var(--radius) - 4px);font-size:13.5px;font-weight:500;color:var(--muted-foreground);transition:background-color .15s,color .15s,box-shadow .15s}
.toggle span:hover{background:transparent;color:var(--foreground)}
.toggle span.on{background:var(--card);color:var(--foreground);box-shadow:var(--sombra-sm)}
.toggle.big{height:auto}.toggle.big span{padding:12px}

/* Table (tablas de planes, comparador, panel) */
.nr-tablewrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);box-shadow:var(--sombra-sm)}
.nr-table th,.nr-cmpt thead th{background:transparent;color:var(--muted-foreground);font-weight:500;font-size:13px;border-bottom:1px solid var(--border)}
.nr-table td{border-top:1px solid var(--border)}
.nr-table tbody tr,.nr-cmpt tbody tr{transition:background-color .12s}
.nr-table tbody tr:hover,.nr-cmpt tbody tr:hover{background:color-mix(in srgb,var(--muted) 60%,transparent)}

/* Dialog */
.nr-modal-fondo{background:rgba(0,0,0,.5);backdrop-filter:blur(2px)}
.nr-modal-caja{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--sombra-lg);padding:24px}
.nr-modal-caja h3{font-size:18px;font-weight:600;letter-spacing:-.01em;margin:0 0 8px;padding-right:28px}
.nr-modal-cuerpo p{font-size:14.5px;color:var(--muted-foreground)}
.nr-modal-cerrar{position:absolute;top:14px;right:14px;width:28px;height:28px;border:0;border-radius:6px;background:transparent;color:var(--muted-foreground);display:grid;place-items:center;font-size:16px;opacity:.75}
.nr-modal-cerrar:hover{opacity:1;background:var(--secondary)}
.nr-modal-cerrar:focus-visible{outline:none;box-shadow:0 0 0 3px var(--anillo)}
@media (max-width:520px){ .nr-modal-botones{flex-direction:column-reverse}.nr-modal-botones .btn{width:100%} }

/* Dropdown Menu */
.hnav-dd .dd-panel{border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);background:var(--popover,var(--card));box-shadow:var(--sombra-md);padding:4px;min-width:240px;animation:nrDd .14s ease}
.hnav-dd .dd-panel a{padding:8px 10px;border-radius:calc(var(--radius) - 6px);font-size:14px;color:var(--foreground)}
.hnav-dd .dd-panel a:hover,.hnav-dd .dd-panel a:focus-visible{background:var(--secondary);color:var(--secondary-foreground);outline:none}
@keyframes nrDd{from{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}

/* Navigation Menu (barra de arriba) */
.header{background:color-mix(in srgb,var(--background) 85%,transparent);backdrop-filter:saturate(1.6) blur(10px);border-bottom:1px solid var(--border)}
.hnav a,.hnav-dd summary{padding:8px 12px;border-radius:calc(var(--radius) - 4px);font-size:14px;font-weight:500;color:var(--muted-foreground)}
.hnav a:hover,.hnav-dd summary:hover,.hnav-dd[open] summary{background:var(--secondary);color:var(--foreground)}
.hnav a:focus-visible,.hnav-dd summary:focus-visible{outline:none;box-shadow:0 0 0 3px var(--anillo)}
.hnav a.login{height:36px;padding:0 14px;border-radius:calc(var(--radius) - 4px);color:var(--primary-foreground);box-shadow:var(--sombra-sm)}
.hnav a.login:hover{background:color-mix(in srgb,var(--primary) 90%,#000);color:var(--primary-foreground)}

/* Sidebar */
.side{border-right:1px solid var(--sidebar-border)}
.steps{gap:2px}
.steps li{padding:7px 8px;border-radius:calc(var(--radius) - 4px);font-size:14px;transition:background-color .12s,color .12s}
.steps li:hover{transform:none;background:var(--sidebar-hover);color:var(--sidebar-foreground)}
.steps li.active{background:var(--sidebar-hover);color:var(--sidebar-foreground);font-weight:600;box-shadow:inset 2px 0 0 var(--sidebar-accent)}
.steps li.active .n{background:var(--sidebar-accent);color:var(--sidebar-accent-foreground)}
.steps li .n{width:24px;height:24px;border-radius:6px}
.side .who{border-radius:var(--radius)}

/* Sonner (avisos): abajo a la derecha, tarjeta con ícono */
.toast{left:auto;right:24px;bottom:24px;transform:none;background:var(--popover,var(--card)) !important;color:var(--foreground) !important;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--sombra-lg);padding:14px 40px 14px 44px;width:min(380px,calc(100vw - 32px));font-size:14px;animation:nrToast .28s cubic-bezier(.2,.8,.2,1);z-index:70}
.toast::before{content:"";position:absolute;left:16px;top:16px;width:18px;height:18px;border-radius:50%;background:var(--sage) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/12px no-repeat}
.toast.aviso::before{background:var(--destructive) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 7v6M12 17h.01'/%3E%3C/svg%3E") center/12px no-repeat}
.toast b{font-weight:600;font-size:14px;margin-bottom:2px}
.toast ul{list-style:none;margin:2px 0 0;padding:0;color:var(--muted-foreground);font-size:13.5px}
.toast-x{position:absolute;top:10px;right:10px;width:24px;height:24px;border:0;border-radius:6px;background:transparent;color:var(--muted-foreground);display:grid;place-items:center;font-size:14px}
.toast-x:hover{background:var(--secondary);color:var(--foreground)}
@keyframes nrToast{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (max-width:520px){ .toast{right:16px;left:16px;width:auto;bottom:16px} }

/* Tooltip: cualquier elemento con data-tip="texto" */
[data-tip]{position:relative}
[data-tip]:hover::after,[data-tip]:focus-visible::after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%);background:var(--foreground);color:var(--background);font-size:12px;font-weight:500;line-height:1.3;padding:5px 9px;border-radius:6px;white-space:nowrap;pointer-events:none;z-index:80;animation:nrFade .12s ease}

/* Accordion: los desplegables (details) dentro de las pantallas */
.screen details:not(.hnav-dd)>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;font-weight:500;font-size:14.5px}
.screen details:not(.hnav-dd)>summary::-webkit-details-marker{display:none}
.screen details:not(.hnav-dd)>summary::after{content:"";width:8px;height:8px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s;opacity:.6;flex:none;margin-right:4px}
.screen details[open]:not(.hnav-dd)>summary::after{transform:rotate(-135deg) translateY(-2px)}
.screen details:not(.hnav-dd)>summary:hover{text-decoration:underline;text-underline-offset:3px}
.screen details:not(.hnav-dd)>summary:focus-visible{outline:none;box-shadow:0 0 0 3px var(--anillo);border-radius:6px}
details.nr-orig{border-bottom:1px solid var(--border)}

/* Chips y respuestas: misma familia visual */
.chip,.nr-rapida,.nr-idea{border-width:1px;border-color:var(--border);box-shadow:var(--sombra-sm)}
.chip:hover{transform:none;background:var(--secondary);color:var(--foreground);border-color:var(--border)}
.nr-lk,.nr-e5{border-width:1px !important;box-shadow:var(--sombra-sm)}
.card.nr-promo{background:var(--banda);border-style:dashed;box-shadow:none}

/* =====================================================================================
   Capa 6/11 (b) · Piezas al estilo Basecoat (https://basecoatui.com, MIT), escritas para este CSS:
   Alert (avisos dentro de la página), Progress, Switch y Skeleton. Más la tipografía Geist.
   ===================================================================================== */
body{font-feature-settings:"ss01" off;letter-spacing:-.003em}
h1,h2,h3{letter-spacing:-.025em}

/* Alert: borde fino, ícono a la izquierda, título en negrita si lo hay */
.nr-err,.nr-ok,.nr-aviso{position:relative;display:block;padding:12px 16px 12px 42px;border-radius:var(--radius);border:1px solid var(--border);background:var(--card);color:var(--foreground);font-size:14px;line-height:1.5;box-shadow:none}
.nr-err::before,.nr-ok::before,.nr-aviso::before{font-family:"artemisia-iconos";position:absolute;left:15px;top:13px;font-size:16px;line-height:1}
.nr-err{border-color:color-mix(in srgb,var(--destructive) 45%,var(--border));color:var(--destructive-ink,var(--destructive))}
.nr-err::before{content:"\e07b";color:var(--destructive)}
.nr-ok{border-color:color-mix(in srgb,var(--sage) 45%,var(--border));background:color-mix(in srgb,var(--sage-bg) 60%,var(--card))}
.nr-ok::before{content:"\e226";color:var(--sage)}
.nr-aviso{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--card))}
.nr-aviso::before{content:"\e0fe";color:var(--accent)}
.nr-err b,.nr-ok b,.nr-aviso b{font-weight:600}

/* Progress */
.nr-qprog{height:8px;border-radius:999px;background:color-mix(in srgb,var(--primary) 15%,transparent)}
.nr-qprog i{background:var(--primary)}
.topbar .progress{height:4px;border-radius:999px;background:color-mix(in srgb,var(--primary) 12%,transparent)}
.topbar .progress i{border-radius:999px;background:var(--primary)}

/* Switch: un checkbox con role="switch" dentro de .nr-switch */
.nr-switch input[type=checkbox]{appearance:none;-webkit-appearance:none;flex:none;width:36px;height:20px;border-radius:999px;background:var(--input);position:relative;cursor:pointer;transition:background-color .15s;margin-top:1px}
.nr-switch input[type=checkbox]::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--card);box-shadow:var(--sombra-sm);transition:transform .15s}
.nr-switch input[type=checkbox]:checked{background:var(--primary)}
.nr-switch input[type=checkbox]:checked::after{transform:translateX(16px)}
.nr-switch input[type=checkbox]:focus-visible{outline:none;box-shadow:0 0 0 3px var(--anillo)}

/* Skeleton: bloque gris que late mientras algo carga (clase .nr-skel; .nr-cargando lo usa de fondo) */
.nr-skel{display:block;border-radius:calc(var(--radius) - 4px);background:var(--muted);animation:nrSkel 1.6s ease-in-out infinite}
@keyframes nrSkel{0%,100%{opacity:1}50%{opacity:.45}}
@media (prefers-reduced-motion: reduce){ .nr-skel{animation:none} }

/* ===== Capa 6/11 (c) · Tratamiento parejo de las fotos de universidades =====
   Las fotos vienen de personas distintas (Wikimedia Commons), con luz y colores muy distintos.
   Para que se vean como una serie: mismo recorte, un leve ajuste de color y un velo con el azul de la marca. */
.uni-photo .foto,.uni-showcase-card .foto{object-position:center 40%;filter:saturate(1.06) contrast(1.04) brightness(.97);transform:scale(1.01)}
.uni-photo.con-foto::after,.uni-showcase-card::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:linear-gradient(180deg,rgba(22,88,123,.10) 0%,rgba(22,88,123,0) 38%,rgba(15,52,72,.42) 100%);mix-blend-mode:multiply}
.uni-photo .badge,.uni-photo .foto-credito,.uni-showcase-card .info,.uni-showcase-card .foto-credito{z-index:2}
.uni-photo .badge{background:rgba(10,30,42,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
@media print{ .uni-photo.con-foto::after,.uni-showcase-card::after{display:none} .uni-photo .foto,.uni-showcase-card .foto{filter:none} }
