/* ====================== RS-HUB build v24 ====================== */
:root{
  --green:#105325;--green-700:#0c3d1c;--green-600:#1a6e36;--green-100:#e3efe7;--green-50:#f1f7f3;
  --ink:#16201a;--muted:#64726a;--faint:#8a978f;--line:#e2e8e4;--bg:#f4f7f5;
  --amber:#9a6a00;--amber-bg:#fbf2dd;--red:#a4231f;--radius:12px;
  --shadow:0 1px 2px rgba(16,83,37,.05),0 6px 18px rgba(16,83,37,.06);
}
*{box-sizing:border-box}html,body{margin:0}
body{font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Calibri,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
svg{display:block}

/* Botones */
.btn{display:inline-flex;align-items:center;gap:7px;border:0;background:var(--green);color:#fff;font:inherit;font-size:13.5px;font-weight:600;padding:10px 16px;border-radius:9px;cursor:pointer;white-space:nowrap}
.btn:hover{background:var(--green-700)}
.btn.sm{padding:7px 12px;font-size:12.5px}
.btn.block{width:100%;justify-content:center;margin-top:6px}
.btn.ghost{background:#fff;color:var(--green);border:1px solid var(--line)}
.btn.ghost:hover{background:var(--green-50)}
.btn.ghost.danger{color:var(--red)}
.inline{display:inline}

/* Login / instalación */
.login{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(160deg,#0c3d1c,#105325)}
.login-card{background:#fff;border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.25);padding:32px 26px;width:100%;max-width:390px}
.login-card .logo{width:48px;height:48px;border-radius:12px;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:800;font-size:19px;margin:0 auto 14px}
.login-card h1{font-size:18px;text-align:center;margin:0 0 3px}
.login-card p{text-align:center;color:var(--muted);font-size:13px;margin:0 0 20px}
.login-card label{font-size:12.5px;font-weight:600;display:block;margin:0 0 6px}
.login-card input{width:100%;border:1px solid var(--line);border-radius:9px;padding:11px 13px;font:inherit;font-size:14px;margin-bottom:14px;background:#fbfdfc}
.bl-login{display:block;margin:0 auto 18px;max-width:300px;max-height:150px;object-fit:contain}
.alert{background:#fbe9e7;border:1px solid #f3d2cd;color:var(--red);font-size:13px;border-radius:9px;padding:10px 12px;margin-bottom:14px}

/* Estructura */
.app{display:flex}
.ov{display:none}
.side{width:240px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:18px 14px;position:sticky;top:0;height:100vh;flex-shrink:0;z-index:60}
.logo-row{display:flex;align-items:center;gap:10px;padding:4px 8px 16px}
.logo{width:36px;height:36px;border-radius:9px;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:800;font-size:15px;flex-shrink:0}
.logo-row b{font-size:14px;font-weight:700;line-height:1.2}
.bl-side{max-height:84px;max-width:212px;object-fit:contain}
.navlabel{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--faint);padding:8px 12px 6px}
.nav{display:flex;flex-direction:column;gap:2px}
.nav a{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:9px;color:var(--muted);font-size:14px;font-weight:500}
.nav a .ic{width:19px;height:19px;flex-shrink:0;opacity:.85}
.nav a .lbl{flex:1}
.nav a:hover{background:var(--green-50);color:var(--ink)}
.nav a.on{background:var(--green-50);color:var(--green-700);font-weight:700;box-shadow:inset 3px 0 0 var(--green)}
.nav a .soon{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--faint);background:var(--bg);border:1px solid var(--line);padding:2px 6px;border-radius:999px}

.content{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{min-height:60px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;padding:9px 20px;position:sticky;top:0;z-index:20;flex-wrap:wrap}
.hamb{display:none;border:0;background:transparent;cursor:pointer;font-size:22px;line-height:1;color:var(--ink)}
.pv-banner{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;color:var(--amber);background:var(--amber-bg);border:1px solid #f0e2c2;padding:7px 13px;border-radius:9px}
.top-right{margin-left:auto;display:flex;align-items:center;gap:13px}
.lang{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.lang a{padding:6px 11px;font-size:12.5px;font-weight:700;color:var(--muted)}
.lang a.on{background:var(--green);color:#fff}
.user{display:flex;align-items:center;gap:9px;padding-left:13px;border-left:1px solid var(--line)}
.ava{width:32px;height:32px;border-radius:50%;background:var(--green-100);color:var(--green-700);display:grid;place-items:center;font-weight:700;font-size:12px;flex-shrink:0}
.user .ui b{font-size:12.5px;display:block;line-height:1.15}.user .ui small{font-size:11px;color:var(--muted)}
.logout{color:var(--muted);font-size:12.5px}

.scroll{padding:24px 26px 60px}
.wrap{max-width:1040px;margin:0 auto}
h1{font-size:23px;margin:0 0 4px;letter-spacing:-.3px}
.lead{color:var(--muted);font-size:14px;margin:0 0 18px}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:19px;margin-bottom:16px}
.panel h3{font-size:16px;margin:0 0 14px}

.field{margin-bottom:15px}
.field label{font-size:12.5px;font-weight:600;display:block;margin-bottom:6px}
.field input,.field select{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px 12px;font:inherit;font-size:14px;background:#fff}
.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:16px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:17px;display:flex;flex-direction:column;gap:6px}
.card:hover{border-color:var(--green);transform:translateY(-1px)}
.card .ci{width:34px;height:34px;border-radius:9px;background:var(--green-50);color:var(--green);display:grid;place-items:center;margin-bottom:4px}
.card .ci svg{width:18px;height:18px}
.card b{font-size:14.5px}.card span{font-size:12.5px;color:var(--muted);line-height:1.45}

.brand-preview{min-width:140px;min-height:100px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:12px;padding:16px;background:#fff;margin-bottom:16px}
.brand-preview img{max-width:340px;max-height:190px;object-fit:contain}

.urow{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding:12px 0;flex-wrap:wrap}
.urow:first-of-type{border-top:0}
.urow .ui{flex:1;min-width:150px}.urow .ui b{font-size:14px;display:block}.urow .ui small{font-size:12px;color:var(--muted)}
.pill{font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:999px}
.pill.on{background:var(--green-50);color:var(--green-700)}
.pill.off{background:#fbe9e7;color:var(--red)}
.you{font-size:11.5px;color:var(--faint);font-weight:600}

@media(max-width:860px){
  .side{position:fixed;left:0;top:0;transform:translateX(-100%);transition:.25s;box-shadow:0 10px 40px rgba(0,0,0,.25)}
  .app.open .side{transform:translateX(0)}
  .app.open .ov{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:55}
  .hamb{display:inline-flex}
  .user{display:none}
  .grid3{grid-template-columns:1fr}
  .scroll{padding:18px 15px 60px}
  h1{font-size:21px}
}

/* ============ Etapa 2 ============ */
.field textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px 12px;font:inherit;font-size:14px;background:#fff;resize:vertical}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.muted{color:var(--muted)}.small{font-size:12px}
.pre{white-space:pre-wrap;line-height:1.5;font-size:14px;margin:0}
.back{color:var(--green);font-size:13px;font-weight:600}

/* Badges de fecha límite */
.badge{font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;background:#eef2ef;color:var(--muted);white-space:nowrap}
.badge.green{background:var(--green-50);color:var(--green-700)}
.badge.amber{background:var(--amber-bg);color:var(--amber)}
.badge.red{background:#fbe9e7;color:var(--red)}
.badge.prop{background:var(--green);color:#fff}

/* Filas tipo lista */
.lrow{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding:12px 0;flex-wrap:wrap}
.lrow:first-of-type{border-top:0}
.lrow .li{flex:1;min-width:160px}.lrow .li b{font-size:14px;display:block}.lrow .li small{font-size:12px;color:var(--muted)}
.lrow.link:hover .li b{color:var(--green)}
.phead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.phead h1,.phead h3{margin:0}
.subh{font-size:12px;font-weight:700;color:var(--faint);text-transform:uppercase;letter-spacing:.4px;margin:16px 0 6px}

/* Acordeones */
details.acc{border:1px solid var(--line);border-radius:9px;padding:8px 12px;margin:8px 0;background:#fbfdfc}
details.acc summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--green)}
details.acc[open]{padding-bottom:14px}
details.acc form{margin-top:12px}

/* Selector de días / plataformas */
.daypick{display:flex;flex-wrap:wrap;gap:8px}
.day{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:7px 13px;font-size:13px;cursor:pointer;background:#fff;user-select:none}
.day input{accent-color:var(--green);margin:0}
.day:has(input:checked){background:var(--green-50);border-color:var(--green);color:var(--green-700);font-weight:600}

/* Formularios en fila */
.rowform{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.rowform input{flex:1;min-width:160px;border:1px solid var(--line);border-radius:9px;padding:10px 12px;font:inherit;font-size:14px}
.rowform.grow{flex:1}

/* Chips */
.chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:6px}
.chips.sm .chip{font-size:11px;padding:3px 9px}
.chip{display:inline-flex;align-items:center;gap:6px;background:var(--green-50);color:var(--green-700);border-radius:999px;padding:5px 11px;font-size:12.5px;font-weight:600}
.chip .x{border:0;background:none;color:var(--green-700);font-size:15px;cursor:pointer;line-height:1;padding:0}

/* Estadísticas (panel admin) */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin-bottom:18px}
.stat{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;text-align:center}
.stat:hover{border-color:var(--green)}
.stat b{display:block;font-size:30px;color:var(--green);letter-spacing:-1px}
.stat span{font-size:12.5px;color:var(--muted)}

/* Tarjeta localizador */
.locator-card{display:flex;align-items:center;gap:14px;background:linear-gradient(120deg,var(--green),var(--green-600));color:#fff;border-radius:var(--radius);padding:16px 18px;margin-bottom:16px;box-shadow:var(--shadow)}
.locator-card .ci{width:40px;height:40px;border-radius:11px;background:rgba(255,255,255,.16);display:grid;place-items:center;flex-shrink:0}
.locator-card .ci svg{width:22px;height:22px}
.locator-card b{display:block;font-size:15px}.locator-card span{font-size:12.5px;opacity:.9}

.banner-today{background:var(--green-50);border:1px solid var(--green-100);color:var(--green-700);border-radius:10px;padding:11px 14px;font-size:13.5px;margin-bottom:16px}

/* Tarjetas de posición (home reclutadora) */
.pos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.pos-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;display:flex;flex-direction:column;gap:6px}
.pos-card:hover{border-color:var(--green);transform:translateY(-1px)}
.pc-top{display:flex;gap:7px;margin-bottom:2px}
.pc-role{font-size:15.5px}
.pc-co{font-size:12.5px;color:var(--muted)}
.pc-pay{font-size:13px;color:var(--ink);font-weight:600}
.pc-meta{display:flex;gap:16px;font-size:12.5px;color:var(--muted);margin-top:4px}
.pc-meta b{color:var(--ink)}

/* Tabs */
.tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.tab{padding:8px 15px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:13px;font-weight:600;color:var(--muted)}
.tab.on{background:var(--green);color:#fff;border-color:var(--green)}

/* Checklist + plantillas */
.checklist{list-style:none;margin:0;padding:0}
.checklist li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--line);font-size:14px}
.checklist li:first-child{border-top:0}
.checklist li::before{content:"";flex-shrink:0}
.tpl{border-top:1px solid var(--line);padding:14px 0}
.tpl:first-of-type{border-top:0}
.msgbox{white-space:pre-wrap;background:var(--green-50);border:1px solid var(--green-100);border-radius:9px;padding:12px 14px;font:inherit;font-size:13.5px;line-height:1.5;margin:0}
.tools{display:flex;gap:8px;align-items:center}
.tools-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}

/* Detalle posición */
.kv{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:14px}
.kv:first-child{border-top:0}.kv span{color:var(--muted)}

/* Resultado localizador */
.result .rg{padding:12px 0;border-top:1px solid var(--line)}
.result .rg:first-child{border-top:0}
.result .rg span{display:block;font-size:12px}
.result .rg b{font-size:15px;display:block}
.result .rg small{font-size:12px;color:var(--muted)}
.result .rg.big b.mins{font-size:30px;color:var(--green);letter-spacing:-1px}
.result .btn{margin-top:14px}

/* PDF + actividad */
.docrow{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 0}
iframe.pdf{width:100%;height:520px;border:1px solid var(--line);border-radius:9px;margin-bottom:14px;background:#fff}
.arow{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding:11px 0}
.arow:first-of-type{border-top:0}
.arow .ai{flex:1}.arow .ai b{font-size:13.5px;display:block}.arow .ai small{font-size:12.5px;color:var(--muted)}
.arow .ts{font-size:11.5px;white-space:nowrap}
.ava.sm{width:30px;height:30px;font-size:11px}

@media(max-width:860px){
  .grid2{grid-template-columns:1fr}
  iframe.pdf{height:360px}
  .pc-role{font-size:15px}
}

/* ============ Etapa 2 · diseño (v3) ============ */
.layout{display:grid;grid-template-columns:1fr 300px;gap:18px;align-items:start}
.aside{position:sticky;top:18px}
.aside .ah{margin:0 0 2px;font-size:15px;font-weight:700}
.aside .asub{font-size:12.5px;color:var(--muted);margin:0 0 12px}
.qcard{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:12px;margin-bottom:10px;box-shadow:var(--shadow)}
.qcard:hover{border-color:var(--green)}
.qcard .ci{width:36px;height:36px;border-radius:9px;background:var(--green-50);color:var(--green);display:grid;place-items:center;flex-shrink:0}
.qcard .ci svg{width:18px;height:18px}
.qcard .qt{flex:1}.qcard .qt b{font-size:13.5px;display:block}.qcard .qt small{font-size:11.5px;color:var(--muted)}
.qcard .chev{color:var(--faint);display:flex}.qcard .chev svg{width:16px;height:16px}

/* Filas de posición con ícono */
.posrow{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:15px 17px;margin-bottom:12px;flex-wrap:wrap}
.row-ava{width:42px;height:42px;border-radius:11px;background:var(--green-50);color:var(--green);display:grid;place-items:center;flex-shrink:0}
.row-ava svg{width:22px;height:22px}
.posrow .main{flex:1;min-width:210px}
.posrow .main .tt{font-size:15px;font-weight:700;color:var(--ink)}
a.tt:hover{color:var(--green)}
.meta-line{display:flex;align-items:center;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:12.5px;margin:3px 0 8px}
.meta-line .mi{display:inline-flex;align-items:center;gap:5px}
.meta-line .mi svg{width:14px;height:14px;color:var(--faint)}
.tagrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tagrow .mb{font-size:12px;color:var(--muted)}
.rowactions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.statusdot{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);white-space:nowrap}
.statusdot::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--green-600);display:inline-block}
.statusdot.off::before{background:var(--faint)}

/* Localizador en la home */
.loc-hero{background:linear-gradient(120deg,var(--green-700),var(--green));color:#fff;border-radius:14px;padding:18px 20px;margin-bottom:18px;box-shadow:var(--shadow)}
.loc-hero h3{margin:0 0 3px;font-size:16px}
.loc-hero p{margin:0 0 13px;font-size:12.5px;opacity:.9}
.loc-hero form{display:flex;gap:10px}
.loc-hero input{flex:1;min-width:0;border:0;border-radius:9px;padding:11px 13px;font:inherit;font-size:14px}
.loc-hero .btn{background:#fff;color:var(--green)}
.loc-hero .btn:hover{background:#eef5f0}
.count-label{font-size:11.5px;font-weight:700;color:var(--faint);text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px}

/* Detalle de posición */
.crumb{font-size:12.5px;color:var(--muted);margin-bottom:14px}
.crumb a{color:var(--green);font-weight:600}
.detail-head{display:flex;gap:14px;align-items:flex-start}
.detail-head .main{flex:1}
.detail-head .btn{flex-shrink:0}
.pub{display:flex;align-items:center;gap:9px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:15px;padding-top:14px;font-size:12.5px;color:var(--muted)}
.pub .chip{background:#fff;border:1px solid var(--line);color:var(--ink)}

@media(max-width:860px){
  .layout{grid-template-columns:1fr}
  .aside{position:static}
}

/* ============ Paso a paso (v4) ============ */
.ic-h{display:flex;align-items:center;gap:10px}
.hbox{width:30px;height:30px;border-radius:8px;background:var(--green-50);color:var(--green);display:grid;place-items:center;flex-shrink:0}
.hbox svg{width:17px;height:17px}
.steps{list-style:none;margin:0;padding:0;counter-reset:none}
.steps li{display:flex;gap:14px;padding:14px 0;border-top:1px solid var(--line)}
.steps li:first-child{border-top:0;padding-top:4px}
.stepnum{width:26px;height:26px;border-radius:8px;background:var(--green);color:#fff;display:grid;place-items:center;font-size:13px;font-weight:700;flex-shrink:0}
.step b{font-size:14.5px;display:block;margin-bottom:2px}
.step span{font-size:13px;color:var(--muted);line-height:1.45}

/* ============ Lectura de guía (v5) ============ */
/* Estados de foco en formularios */
.field input:focus,.field select:focus,.field textarea:focus,
.rowform input:focus,.loc-hero input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px var(--green-100)}
.field textarea{line-height:1.55;padding:11px 13px}
.field label{margin-bottom:7px}

/* Encabezado de la guía */
.guide-hero{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.row-ava.lg{width:50px;height:50px;border-radius:13px}
.row-ava.lg svg{width:26px;height:26px}
.gh-role{font-size:21px;font-weight:800;letter-spacing:-.3px;line-height:1.15}
.gh-sub{font-size:13px;color:var(--muted);margin-top:2px}
.guide-hero .badge{margin-left:auto}

/* Secciones de la guía */
.guide .gsec{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px 22px;margin-bottom:16px}
.guide .gsec h3{font-size:15.5px;margin:0 0 14px}
.ic-h.spread{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}

/* Tipografía de lectura */
.prose{max-width:64ch;color:#2b342e}
.prose p{margin:0 0 12px;line-height:1.65;font-size:14.5px}
.prose p:last-child{margin-bottom:0}
.prose:has(p:only-child) p{margin-bottom:0}

@media(max-width:860px){
  .gh-role{font-size:19px}
  .guide .gsec{padding:17px}
}

/* ============ Acordeón de mensajes (v6) ============ */
.msg-acc{border:1px solid var(--line);border-radius:11px;margin-bottom:10px;overflow:hidden;background:#fff}
.msg-acc summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;font-weight:600;font-size:14px;color:var(--ink)}
.msg-acc summary::-webkit-details-marker{display:none}
.msg-acc summary:hover{background:var(--green-50)}
.msg-acc .chev{color:var(--faint);display:flex;transition:transform .2s}
.msg-acc .chev svg{width:18px;height:18px}
.msg-acc[open] summary{border-bottom:1px solid var(--line);background:var(--green-50);color:var(--green-700)}
.msg-acc[open] .chev{transform:rotate(90deg);color:var(--green)}
.msg-body{padding:15px}
.msg-acc .mt{flex:1}

/* ============ Secciones plegables de la guía (v7) ============ */
.acc-sec{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.acc-sec>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:13px;padding:15px 18px}
.acc-sec>summary::-webkit-details-marker{display:none}
.acc-sec>summary:hover{background:var(--green-50)}
.acc-sec .st{flex:1;min-width:0}
.acc-sec .st b{display:block;font-size:15px;line-height:1.2}
.acc-sec .st small{font-size:12.5px;color:var(--muted)}
.acc-sec>summary .chev{color:var(--faint);display:flex;transition:transform .2s;flex-shrink:0}
.acc-sec>summary .chev svg{width:18px;height:18px}
.acc-sec[open]>summary{border-bottom:1px solid var(--line)}
.acc-sec[open]>summary .chev{transform:rotate(90deg);color:var(--green)}
.acc-sec[open]>summary .hbox{background:var(--green);color:#fff}
.acc-body{padding:16px 18px 18px}
.acc-body .steps li:first-child{padding-top:0}

/* Chip de tipo de contratación (v8) */
.chip.hire{background:#fff;border:1px solid var(--green);color:var(--green-700);font-weight:700}

/* Navegación de semana (v9) */
.weeknav{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px 16px;margin-bottom:16px}
.weeknav b{font-size:14px}
.lrow select{border:1px solid var(--line);border-radius:8px;padding:7px 9px;font:inherit;font-size:13px}

/* Banner "esta semana estás llevando" (v10) */
.weekbanner{background:#fff;border:1px solid var(--green-100);border-left:4px solid var(--green);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px;margin-bottom:18px}
.wb-head{display:flex;align-items:center;gap:12px}
.wb-head .hbox{background:var(--green);color:#fff}
.wb-head b{font-size:15px;display:block}
.wb-head small{font-size:12px;color:var(--muted)}
.wb-list{margin-top:12px;display:flex;flex-direction:column;gap:8px}
.wb-item{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:11px;padding:11px 13px;background:#fbfdfc}
.wb-item:hover{border-color:var(--green)}
.wb-item .row-ava{width:34px;height:34px;border-radius:9px}
.wb-item .row-ava svg{width:18px;height:18px}
.wb-txt{flex:1;min-width:0}.wb-txt b{font-size:14px;display:block}.wb-txt small{font-size:12px;color:var(--muted)}
.wb-go{font-size:13px;font-weight:700;color:var(--green);white-space:nowrap}
@media(max-width:560px){ .wb-go{display:none} }

/* Avatares de color por persona + resumen (v11) */
.pava{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;color:#fff;font-size:11px;font-weight:700;vertical-align:middle;flex-shrink:0}
.pava.xs{width:22px;height:22px;font-size:9px}
.phead h3 .pava{margin-right:8px}
.sumrow{display:flex;align-items:center;gap:16px;border-top:1px solid var(--line);padding:13px 0;flex-wrap:wrap}
.sumrow:first-of-type{border-top:0}
.sumrow .li{flex:1;min-width:180px}
.sumrow .who{display:flex;align-items:center;gap:7px;font-size:13.5px;min-width:160px}
.sumrow .who .wlbl{font-size:10.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--faint);margin-right:2px}

/* Progreso de asignaciones (v19) */
.prog{background:#e8efe9;border-radius:999px;height:8px;overflow:hidden;margin:8px 0 6px;max-width:340px}
.prog.sm{height:6px;max-width:220px;margin:6px 0 5px}
.prog-bar{height:100%;background:var(--green);border-radius:999px;transition:width .3s}
.stage{display:inline-block;font-size:12px;font-weight:700;color:var(--green);background:var(--green-100);padding:3px 9px;border-radius:999px}
.stage.ok{background:#0f7a33;color:#fff}
.row-ava.wk{background:var(--green);color:#fff}
.row-ava.wk svg{width:20px;height:20px}
.posrow.week.done .row-ava.wk,.wb-item.done .row-ava.wk{background:#0f7a33}
.wk-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-top:8px}
.btn.ok{background:#0f7a33;border-color:#0f7a33;color:#fff}
.btn.ok:hover{background:#0c6429}
.done-badge{font-size:12px;font-weight:800;color:#0f7a33;background:#e3f4e8;padding:4px 10px;border-radius:999px}
.wb-item{align-items:flex-start}
.wb-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
@media(max-width:560px){ .wb-item{flex-direction:column} .wb-side{align-items:flex-start} .prog,.prog.sm{max-width:none} }

/* Barra "en proceso de reclutamiento" animada (v20) */
.prog-bar.working{width:35%;background:var(--green);border-radius:99px;animation:rs-load 1.3s ease-in-out infinite}
@keyframes rs-load{0%{margin-left:0%;width:25%}50%{width:55%}100%{margin-left:75%;width:25%}}
.stage.go{color:var(--green);font-weight:700}
.btn.sm.go{background:var(--green);color:#fff;border-color:var(--green)}
.btn.sm.go:hover{filter:brightness(1.08)}

/* Agrupación por empresa (v21) */
.sumrow .li b{display:block}
.sumrow .li small{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.cogroup{margin-top:14px}
.cogroup:first-of-type{margin-top:4px}
.cohead{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--green);padding:7px 0;border-bottom:2px solid var(--green-100);margin-bottom:4px}
.cohead svg{width:16px;height:16px}
.cohead .comuted{margin-left:auto;background:var(--green-100);color:var(--green);border-radius:99px;padding:1px 9px;font-size:11px}
.cogroup .sumrow:first-of-type{border-top:0}

/* Punto de color por empresa (v22) */
.codot{display:inline-block;width:11px;height:11px;border-radius:50%;flex-shrink:0;vertical-align:middle;margin-right:2px}
.cohead .codot{width:12px;height:12px}
.phead h3 .codot{margin-right:6px}

/* Home admin más profesional (v23) */
.hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.hero h1{margin:0 0 4px}
.hero .lead{margin:0}
.hero-cta{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.hero-cta svg{width:17px;height:17px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}
.stat{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px;transition:transform .12s ease,box-shadow .12s ease}
.stat:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(16,40,25,.10)}
.stat-ic{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:13px;flex-shrink:0}
.stat-ic svg{width:23px;height:23px}
.stat-ic.c-green{background:#e7f0ea;color:#105325}
.stat-ic.c-blue{background:#e8f0fe;color:#1f6feb}
.stat-ic.c-amber{background:#fbf0e4;color:#b4540a}
.stat-n{display:flex;flex-direction:column;line-height:1.15}
.stat-n b{font-size:26px;font-weight:700;color:var(--ink)}
.stat-n span{font-size:12.5px;color:var(--muted)}
.actionbar{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.actionbar .btn{display:inline-flex;align-items:center;gap:7px}
.actionbar .btn svg{width:16px;height:16px}
@media(max-width:680px){ .stats{grid-template-columns:1fr} .hero{flex-direction:column} }

/* Ajuste de layout más profesional (v24) */
:root{ --radius:16px; --shadow:0 1px 2px rgba(16,40,25,.04), 0 12px 28px rgba(16,40,25,.05); }
.scroll{padding:36px 44px 84px}
.wrap{max-width:1200px}
h1{font-size:27px;letter-spacing:-.5px;margin:0 0 6px}
.lead{font-size:14.5px;line-height:1.55;margin:0 0 24px;max-width:64ch}
.panel{padding:22px 26px;margin-bottom:22px}
.panel h3{font-size:15.5px;letter-spacing:-.2px;margin:0 0 16px}
.hero{margin-bottom:24px}
.stats{margin-bottom:24px;gap:18px}
/* respiro dentro de los grupos por empresa */
.cogroup{padding-left:16px;padding-bottom:4px}
.cohead{padding:9px 0;margin-bottom:8px}
.sumrow{gap:18px;padding:15px 0}
/* la barra de acciones separada del bloque de arriba */
.actionbar{margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}
@media(max-width:680px){ .scroll{padding:18px 16px 72px} h1{font-size:22px} .panel{padding:18px 17px} }

/* Resumen como tabla alineada (v25) */
.sumrow{display:grid;grid-template-columns:minmax(210px,1.7fr) 1fr 1fr 1fr;gap:20px;align-items:center;padding:15px 0;border-top:1px solid var(--line)}
.cogroup .sumrow:first-of-type{border-top:0}
.sumrow .li{min-width:0}
.sumrow .li b{display:block;font-size:14.5px;line-height:1.3}
.sumrow .li small{display:block;font-size:12px;color:var(--muted);margin:1px 0 8px}
.spill{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.2px;padding:3px 11px;border-radius:999px}
.spill.pend{background:#eef1ef;color:#5f6b63}
.spill.go{background:#fbf2dd;color:#9a6a00}
.spill.done{background:var(--green);color:#fff}
.sumrow .who{display:flex;flex-direction:column;gap:5px;min-width:0}
.sumrow .who .wlbl{font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--faint);margin:0}
.sumrow .who .wval{display:flex;align-items:center;gap:7px;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:820px){
  .sumrow{grid-template-columns:1fr 1fr;gap:14px 16px}
  .sumrow .li{grid-column:1 / -1}
}

/* Grupos por empresa más finos (v27) — sin barras de color */
.cogroup{margin-top:22px;padding-left:0;border-left:0}
.cogroup:first-of-type{margin-top:2px}
.cohead{border-bottom:1px solid var(--line);padding:6px 0;margin-bottom:2px;gap:9px}
.cohead .comuted{background:var(--bg);color:var(--muted)}
.cohead .codot{width:9px;height:9px}

/* Personas a la derecha de la tarjeta de posición (v28) */
.assignees{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-start;margin-left:auto}
.assignees .who{display:flex;flex-direction:column;gap:5px}
.assignees .who .wlbl{font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--faint)}
.assignees .who .wval{display:flex;align-items:center;gap:7px;font-size:13px;white-space:nowrap}
.cogroup .posrow{margin-bottom:10px}
@media(max-width:820px){ .assignees{margin-left:0;gap:16px;width:100%;border-top:1px solid var(--line);padding-top:10px} }

/* Selector de color visible por empresa (v31) */
.cohead-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.colorform{display:inline-flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:5px 12px}
.colorform label{font-size:12px;color:var(--muted);font-weight:600;margin:0}
.colorform input[type=color]{width:30px;height:30px;padding:0;border:1px solid var(--line);border-radius:50%;background:#fff;cursor:pointer}
.colorform input[type=color]::-webkit-color-swatch{border:0;border-radius:50%}
.colorform input[type=color]::-webkit-color-swatch-wrapper{padding:0}

/* Localizador: lista de plantas por cercanía (v33) */
.locsum{margin-bottom:14px}
.locsum b{font-size:18px;display:block;margin-top:2px}
.posrow.nearest{border-color:var(--green);box-shadow:0 0 0 1px var(--green-100),var(--shadow)}
.meta-line .mi svg{width:14px;height:14px}
a.chip{text-decoration:none}
a.chip:hover{border-color:var(--green);color:var(--green)}

/* Semáforo de estado de posición (v34) */
.sem{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.2px;padding:3px 11px;border-radius:999px}
.sem-green{background:#e7f0ea;color:#105325}
.sem-amber{background:#fbf2dd;color:#9a6a00}
.sem-red{background:#fbe4e4;color:#a12020}
.sem-gray{background:#eef1ef;color:#5f6b63}
.assignees .who .spill{font-size:10px;padding:2px 8px}

/* Vista de la asistente: instrucciones + fichas de posición (v35) */
.infobox{background:#f4f8f5;border-color:#dceadf}
.howto{margin:0;padding-left:18px;color:var(--ink)}
.howto li{margin:6px 0;line-height:1.5}
.poscard{border:1px solid var(--line);border-radius:14px;margin-bottom:10px;background:#fff;overflow:hidden}
.poscard>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:13px 15px}
.poscard>summary::-webkit-details-marker{display:none}
.poscard .pc-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.poscard .pc-main b{font-size:14.5px}
.pc-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.pc-chips .chip{font-size:11.5px}
.pay-chip{display:inline-flex;align-items:center;gap:4px;background:#e7f0ea;color:#105325;font-weight:700}
.pay-chip svg{width:13px;height:13px}
.poscard .chev{color:var(--muted);transition:transform .15s}
.poscard[open] .chev{transform:rotate(90deg)}
.pc-body{padding:4px 16px 16px 16px;border-top:1px solid var(--line)}
.pc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px 18px;margin:12px 0}
.pc-lbl{display:block;font-size:10.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--faint);margin-bottom:2px}
.pc-desc{margin:10px 0;line-height:1.55;font-size:14px}
.pc-who{margin-top:12px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px}

/* Ver como (preview de roles) (v36) */
.viewas{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);flex-wrap:wrap}
.viewas .btn{padding:4px 10px}

/* Versión visible (v37) */
.sidever{margin-top:auto;padding:10px 8px 2px;font-size:11px;color:var(--faint);letter-spacing:.3px}

/* ====== Subir nivel visual (v38) ====== */
/* Semáforo: punto + texto, más sólido */
.sem{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;font-size:12px;font-weight:700;line-height:1;border:1px solid transparent}
.sem::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;flex-shrink:0}
.sem-green{background:#e7f3ec;color:#0c7a3f;border-color:#bfe3cd}
.sem-amber{background:#fdf2e3;color:#b4670a;border-color:#f4dcae}
.sem-red{background:#fdecec;color:#c43030;border-color:#f4c4c4}
.sem-gray{background:#eef0f2;color:#5b6470;border-color:#dde1e6}

/* Fichas (poscard) más cuidadas */
.poscard{border:1px solid var(--line);border-radius:16px;margin-bottom:12px;background:#fff;overflow:hidden;transition:box-shadow .15s,border-color .15s}
.poscard[open]{border-color:#cfe0d4;box-shadow:0 6px 22px rgba(16,83,37,.07)}
.poscard>summary{padding:15px 17px}
.poscard .pc-main b{font-size:15.5px;letter-spacing:-.1px}
.pc-body{padding:6px 18px 18px}
.pc-grid{gap:12px 22px;margin:14px 0}
.pc-lbl{font-size:10px;letter-spacing:.7px}
.pay-chip{background:#e7f3ec;color:#0c7a3f;border:1px solid #bfe3cd}

/* Bloque del mensaje para copiar */
.pc-msg{margin-top:14px;background:#f6f8f7;border:1px solid var(--line);border-radius:12px;padding:12px 13px}
.pc-msg-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}
.pc-msg-txt{margin:0;font-size:13.5px;line-height:1.55;color:#2a2f2c;white-space:pre-wrap}

/* Caja estado/flujo en el editor */
.statebox{background:#f6f8f7;border:1px solid var(--line);border-radius:14px;padding:14px 14px 12px;margin:14px 0}
.semline{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:10px;font-size:13px}
.semlbl{color:var(--muted);font-weight:600}
.semhint{color:var(--muted);font-size:12.5px}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;vertical-align:middle;margin-right:5px}
.dot-green{background:#0c7a3f}.dot-amber{background:#b4670a}.dot-red{background:#c43030}
.field code{background:#eef1ef;padding:1px 6px;border-radius:5px;font-size:12px;color:#105325}

/* Hero un poco más presente */
.hero h1{font-size:27px;letter-spacing:-.4px}
.hero .lead{font-size:14.5px;max-width:680px}
.phead h3{letter-spacing:-.2px}

/* ====== Línea de asistencia: flujo + biblioteca (v39) ====== */
.flowsteps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.flowsteps li a{display:flex;gap:11px;align-items:flex-start;text-decoration:none;color:inherit;border:1px solid var(--line);border-radius:12px;padding:11px 12px;background:#fff;transition:border-color .15s,box-shadow .15s}
.flowsteps li a:hover{border-color:#bfe3cd;box-shadow:0 4px 14px rgba(16,83,37,.06)}
.flowsteps .fn{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--green,#105325);color:#fff;font-size:12.5px;font-weight:700;display:flex;align-items:center;justify-content:center}
.flowsteps .ft b{display:block;font-size:13.5px;letter-spacing:-.1px}
.flowsteps .ft small{color:var(--muted);font-size:12px;line-height:1.35;display:block;margin-top:2px}

.searchbox{width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:11px;font-size:14px;margin-bottom:16px;background:#fff}
.searchbox:focus{outline:none;border-color:var(--green,#105325);box-shadow:0 0 0 3px rgba(16,83,37,.08)}
.catblock{margin-bottom:22px}
.cathead{margin:0 0 9px;font-size:12px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;color:var(--green,#105325);padding-bottom:6px;border-bottom:1px solid var(--line)}
.msgcard{border:1px solid var(--line);border-radius:13px;padding:13px 14px;margin-bottom:9px;background:#fff}
.msgcard-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}
.msgtitle{font-weight:700;font-size:13.5px}
.msgcard-act{display:flex;align-items:center;gap:8px;flex-shrink:0}
.msgbody{margin:0;font-size:13.5px;line-height:1.55;color:#2a2f2c;white-space:pre-wrap}
.linkx{background:none;border:0;color:var(--muted);font-size:12px;cursor:pointer;text-decoration:underline;padding:0}
.linkx:hover{color:#c43030}

/* ====== Panel de supervisión (asistente administrativa) más cuidado (v39) ====== */
.sumrow{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:11px 14px;margin-bottom:8px;background:#fff}
.sumrow .li b{font-size:14px;display:block}
.sumrow .li small{color:var(--muted);font-size:12px}
.sumrow .who{display:flex;flex-direction:column;gap:3px}
.sumrow .wlbl{font-size:10px;letter-spacing:.5px;text-transform:uppercase;color:var(--faint)}
.sumrow .wval{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600}
@media(max-width:640px){.sumrow{grid-template-columns:1fr 1fr;gap:8px}.sumrow .li{grid-column:1/-1}}
.cohead{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14.5px;margin:18px 0 9px}
.cohead .codot{width:9px;height:9px;border-radius:50%}
.cohead .comuted{margin-left:auto;font-size:12px;font-weight:600;color:var(--faint);background:#f0f2f1;border-radius:999px;padding:2px 9px}

/* Selector de posición + contexto (v40) */
.posselect{padding:16px}
.posselect .rowform{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.posselect .sellbl{font-weight:700;font-size:13px;color:var(--muted)}
.posselect select{flex:1;min-width:220px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-size:14px;background:#fff}
.posctx{margin-top:14px;border:1px solid var(--line);border-radius:13px;padding:13px 14px;background:#fbfdfc}
.posctx-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:15px}
.posctx-top .sep{color:var(--faint)}
.posctx-meta{display:flex;gap:16px;flex-wrap:wrap;margin:9px 0;color:var(--muted);font-size:13px}
.posctx-meta span{display:inline-flex;align-items:center;gap:5px}
.posctx-meta svg{width:14px;height:14px}
.sem-bar{border-radius:10px;padding:9px 12px;font-size:13px;font-weight:600;border:1px solid transparent}
.sem-bar.sem-green{background:#e7f3ec;color:#0c7a3f;border-color:#bfe3cd}
.sem-bar.sem-amber{background:#fdf2e3;color:#b4670a;border-color:#f4dcae}
.sem-bar.sem-red{background:#fdecec;color:#c43030;border-color:#f4c4c4}
.sem-bar.sem-gray{background:#eef0f2;color:#5b6470;border-color:#dde1e6}

/* Pestañas de posición (varias a la vista) (v41) */
.postabs{display:flex;gap:8px;overflow-x:auto;padding:4px 0 8px;-webkit-overflow-scrolling:touch}
.postab{flex-shrink:0;display:inline-flex;flex-direction:column;gap:1px;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:11px;padding:9px 13px;background:#fff;font-size:13.5px;font-weight:700;line-height:1.2;transition:border-color .15s,box-shadow .15s}
.postab small{font-weight:500;font-size:11px;color:var(--muted)}
.postab .tdot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}
.postab:hover{border-color:#bfe3cd}
.postab.on{border-color:var(--green,#105325);box-shadow:0 0 0 1px var(--green,#105325) inset;background:#f4f8f5}
.sem-dot-green{background:#0c7a3f}.sem-dot-amber{background:#b4670a}.sem-dot-red{background:#c43030}.sem-dot-gray{background:#5b6470}

/* Asignar posiciones a la ejecutiva (v42) */
.execassign{border:1px solid var(--line);border-radius:13px;padding:14px;margin-bottom:12px;background:#fff}
.eahead{display:flex;align-items:center;gap:8px;font-size:14.5px;margin-bottom:10px}
.eagrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-bottom:12px}
.eaco{font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--green,#105325);margin-bottom:6px}
.eacheck{display:flex;align-items:center;gap:7px;font-size:13.5px;padding:5px 0;cursor:pointer}
.eacheck input{width:16px;height:16px;flex-shrink:0}
.eacheck .tdot{width:8px;height:8px;border-radius:50%;flex-shrink:0}

/* Encabezado de la ejecutiva (v43) */
.exechead{background:linear-gradient(135deg,#0f4d23,#105325);color:#fff;border-radius:18px;padding:22px 24px;margin-bottom:18px}
.exechead-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.exechead h1{color:#fff;font-size:26px;letter-spacing:-.4px;margin:2px 0 0}
.exec-eyebrow{font-size:11px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:#bfe3cd}
.exec-count{flex-shrink:0;background:rgba(255,255,255,.16);color:#fff;border-radius:999px;padding:6px 13px;font-size:12.5px;font-weight:700;white-space:nowrap}
.exec-sub{color:#dcebe1;font-size:14px;line-height:1.55;margin:12px 0 16px;max-width:620px}
.exec-actions{display:flex;flex-wrap:wrap;gap:9px}
.exec-actions .btn{background:#fff;color:#105325;border:0}
.exec-actions .btn svg{width:16px;height:16px}
.exec-actions .btn.ghost{background:rgba(255,255,255,.12);color:#fff}
.exec-actions .btn.ghost:hover{background:rgba(255,255,255,.2)}

/* Letrero de vista previa clickeable (v43) */
a.pv-banner{cursor:pointer;text-decoration:none}
a.pv-banner:hover{filter:brightness(.97)}

/* ====== Guía de conversación: tarjetas + hoja paso a paso (v44) ====== */
.legend{margin-bottom:16px;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}
.legend>summary{cursor:pointer;padding:12px 15px;font-weight:700;font-size:13.5px;list-style:none}
.legend>summary::-webkit-details-marker{display:none}
.legend>summary::before{content:"›";display:inline-block;margin-right:8px;transition:transform .15s;color:var(--muted)}
.legend[open]>summary::before{transform:rotate(90deg)}
.legrid{padding:4px 15px 14px;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.leg{display:flex;gap:9px;align-items:flex-start}
.leg .lamp{width:11px;height:11px;border-radius:50%;margin-top:3px;flex-shrink:0}
.leg b{font-size:13px}.leg small{display:block;color:var(--muted);font-size:12px;line-height:1.4;margin-top:1px}

.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-bottom:18px}
.pcard{position:relative;display:flex;align-items:center;gap:12px;text-align:left;border:1px solid var(--line);border-radius:15px;background:#fff;padding:15px 14px 15px 16px;cursor:pointer;font:inherit;transition:border-color .15s,box-shadow .15s,transform .05s}
.pcard:hover{border-color:#cfe0d4;box-shadow:0 8px 24px rgba(16,83,37,.08)}
.pcard:active{transform:translateY(1px)}
.pcard-bar{position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:15px 0 0 15px;background:var(--co,#105325)}
.pcard-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.pcard-main b{font-size:15px;letter-spacing:-.1px}
.pcard-meta{font-size:12.5px;color:var(--muted)}
.pcard-go{color:var(--faint);font-size:22px;line-height:1;flex-shrink:0}
.pill{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:4px 10px;border-radius:999px;font-size:11.5px;font-weight:700;border:1px solid transparent}
.pill .lamp{width:7px;height:7px;border-radius:50%;background:currentColor}
.pill.sem-green{background:#e7f3ec;color:#0c7a3f;border-color:#bfe3cd}
.pill.sem-amber{background:#fdf2e3;color:#b4670a;border-color:#f4dcae}
.pill.sem-red{background:#fdecec;color:#c43030;border-color:#f4c4c4}
.pill.sem-gray{background:#eef0f2;color:#5b6470;border-color:#dde1e6}

.overlay{position:fixed;inset:0;background:rgba(20,30,24,.5);display:none;align-items:flex-end;justify-content:center;z-index:200;backdrop-filter:blur(2px)}
.overlay.open{display:flex}
.sheet{background:#f7f9f8;width:100%;max-width:620px;max-height:92vh;overflow-y:auto;border-radius:20px 20px 0 0;animation:sheetup .22s ease}
@media(min-width:700px){.overlay{align-items:center}.sheet{border-radius:20px;max-height:88vh}}
@keyframes sheetup{from{transform:translateY(40px);opacity:.6}to{transform:translateY(0);opacity:1}}
.sheet-head{position:relative;padding:20px 22px 18px;color:#fff}
.sheet-head.sem-green{background:linear-gradient(135deg,#0f7a3f,#0c6634)}
.sheet-head.sem-amber{background:linear-gradient(135deg,#c47d12,#a8650a)}
.sheet-head.sem-red{background:linear-gradient(135deg,#c43838,#a82a2a)}
.sheet-head.sem-gray{background:linear-gradient(135deg,#5b6470,#474e58)}
.sheet-head h2{color:#fff;margin:0;font-size:20px;letter-spacing:-.3px}
.sheet-sub{color:rgba(255,255,255,.85);font-size:13px;margin-top:3px}
.sheet-status{display:inline-flex;align-items:center;gap:7px;margin-top:11px;background:rgba(255,255,255,.18);padding:5px 11px;border-radius:999px;font-size:12.5px;font-weight:700}
.sheet-status .lamp{width:8px;height:8px;border-radius:50%;background:#fff}
.closeX{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:50%;border:0;background:rgba(255,255,255,.2);color:#fff;font-size:18px;cursor:pointer;line-height:1}
.closeX:hover{background:rgba(255,255,255,.32)}
.sheet-body{padding:18px 20px 26px}
.guard{border-radius:11px;padding:11px 13px;font-size:13px;font-weight:600;margin-bottom:14px;border:1px solid transparent}
.guard.g-green{background:#e7f3ec;color:#0c7a3f;border-color:#bfe3cd}
.guard.g-amber{background:#fdf2e3;color:#b4670a;border-color:#f4dcae}
.guard.g-red{background:#fdecec;color:#c43030;border-color:#f4c4c4}
.guard.g-gray{background:#eef0f2;color:#5b6470;border-color:#dde1e6}
.gstep{display:flex;gap:12px;margin-bottom:13px}
.gstep .gn{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--green,#105325);color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center}
.gstep.warn .gn{background:#b4670a}
.gstep .gb b{font-size:14px}.gstep .gb p{margin:3px 0 0;font-size:13px;color:var(--muted);line-height:1.5}
.gindent{margin:-4px 0 14px 38px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.gmsg{background:#fff;border:1px solid var(--line);border-radius:11px;padding:11px 12px;width:100%}
.gmsg-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.gmsg-l{font-size:10.5px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--faint)}
.gmsg p{margin:0;font-size:13.5px;line-height:1.55;color:#2a2f2c;white-space:pre-wrap}
.gnotes{background:#fbf6e9;border:1px solid #f0e2c2;border-radius:11px;padding:11px 12px;margin-top:6px}
.gnotes p{margin:4px 0 0;font-size:13px;color:#7a6320}
.libwrap>summary{cursor:pointer;font-weight:700;font-size:14px;list-style:none}
.libwrap>summary::-webkit-details-marker{display:none}
.libwrap>summary::before{content:"›";display:inline-block;margin-right:8px;color:var(--muted);transition:transform .15s}
.libwrap[open]>summary::before{transform:rotate(90deg)}
.libwrap .searchbox{margin-top:14px}

/* ====== Perfiles / avatares más profesionales (v24) ====== */
.pava{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;color:#fff;font-weight:700;font-size:12.5px;letter-spacing:.3px;flex-shrink:0;box-shadow:0 0 0 2px #fff,0 1px 3px rgba(16,30,20,.18);text-transform:uppercase}
.pava.xs{width:26px;height:26px;font-size:10.5px}
.pava.lg{width:44px;height:44px;font-size:15px}
/* Bloque de usuario en la barra superior */
.user{align-items:center}
.user .ava{box-shadow:0 0 0 2px #fff,0 1px 3px rgba(16,30,20,.15)}
.user .ui b{font-weight:700;letter-spacing:-.1px}
