  :root{
    --teal-950:#0a0a0c;
    --teal-800:#17171c;
    --teal-700:#1a56ff;
    --teal-500:#1a56ff;
    --teal-100:#e8edff;
    --blue-800:#123fcc;
    --orange-500:#141417;
    --orange-100:#eceef2;
    --canvas:#f7f8fa;
    --surface:#ffffff;
    --ink-900:#0a0a0c;
    --ink-700:#33363d;
    --ink-500:#6b6f76;
    --ink-300:#a3a7ae;
    --line:#e4e6ea;
    --line-strong:#cdd1d8;
    --danger:#c0392b;
    --radius:8px;
    --mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;
  }
  *,*::before,*::after{box-sizing:border-box;}
  html,body{margin:0;padding:0;}
  body{
    font-family:'Montserrat', system-ui, sans-serif;
    background:var(--canvas);
    color:var(--ink-900);
    font-size:14px;
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4{font-family:'Montserrat', system-ui, sans-serif;margin:0;font-weight:700;color:var(--ink-900);}
  p{margin:0;}
  button{font-family:inherit;}
  input,select,textarea{font-family:inherit;font-size:14px;color:var(--ink-900);}
  a{color:var(--teal-700);}
  ::selection{background:var(--teal-100);}

  /* ---------- App shell ---------- */
  .app-shell{display:flex;min-height:100vh;}

  /* ---------- Sidebar ---------- */
  .sidebar{
    width:252px;
    padding-top:env(safe-area-inset-top);
    padding-left:env(safe-area-inset-left);
    flex-shrink:0;
    background:var(--teal-950);
    color:#e9f3f2;
    display:flex;
    flex-direction:column;
    position:fixed;
    top:0;left:0;bottom:0;
    overflow-y:auto;
    z-index:20;
  }
  .sidebar-brand{
    padding:26px 22px 18px 22px;
    border-bottom:1px solid rgba(255,255,255,0.08);
  }
  .sidebar-brand .org{
    font-weight:800;
    font-size:17px;
    letter-spacing:0.2px;
    color:#ffffff;
  }
  .sidebar-logo-svg{
    width:150px;
    height:auto;
    display:block;
  }
  .sidebar-brand .sub{
    margin-top:3px;
    font-size:12.5px;
    color:#9fc2bf;    font-weight:500;
  }
  .sidebar-nav{padding:14px 10px;flex:1;}
  .sidebar-group-label{
    font-size:11px;
    font-weight:600;
    color:#6f9794;
    padding:14px 12px 6px 12px;
    text-transform:none;
  }
  .nav-item{
    display:flex;
    align-items:center;
    gap:11px;
    padding:10px 12px;
    margin:2px 0;
    border-radius:6px;
    border-left:3px solid transparent;
    color:#cfe4e2;
    cursor:pointer;
    font-size:13.5px;
    font-weight:500;
    transition:background 0.14s ease, color 0.14s ease;
  }
  .nav-item i{width:18px;text-align:center;font-size:14px;color:#82aeaa;}
  .nav-item:hover{background:rgba(255,255,255,0.06);color:#ffffff;}
  .nav-item.active{
    background:rgba(26,86,255,0.14);
    border-left-color:var(--teal-500);
    color:#ffffff;
  }
  .nav-item.active i{color:var(--teal-500);}
  .nav-item .num{
    font-size:10.5px;
    color:#5c8683;
    font-weight:600;
    margin-right:1px;
  }
  .nav-item.active .num{color:var(--teal-500);}
  .sidebar-foot{
    padding:16px 22px 20px 22px;
    border-top:1px solid rgba(255,255,255,0.08);
    font-size:11.5px;
    color:#5c8683;
  }

  /* ---------- Main content ---------- */
  .main{
    margin-left:252px;
    flex:1;
    display:flex;
    flex-direction:column;
    min-width:0;
  }
  .topbar{
    padding:22px 34px;
    padding-top:calc(22px + env(safe-area-inset-top));
    background:var(--surface);
    border-bottom:1px solid var(--line);
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
  }
  .topbar h1{font-size:21px;}
  .topbar .desc{margin-top:5px;font-size:13px;color:var(--ink-500);max-width:640px;}
  .topbar-mobile-toggle{display:none;}
  .content{padding:28px 34px 60px 34px;max-width:1480px;}
  .stat-num,.activity-item .ai-meta,table td,table th{white-space:nowrap;}
  .stat-num{font-variant-numeric:tabular-nums;}
  .board6{display:grid;grid-template-columns:repeat(6,minmax(190px,1fr));gap:12px;overflow-x:auto;padding-bottom:6px;}
  .board5{display:grid;grid-template-columns:repeat(5,minmax(200px,1fr));gap:12px;overflow-x:auto;padding-bottom:6px;}
  .board-col{background:var(--canvas);border:1px solid var(--line);border-radius:10px;padding:10px;min-height:120px;}
  .board-col-head{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-500);margin:2px 4px 10px;display:flex;justify-content:space-between;}
  .board-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:9px 10px;margin-bottom:8px;cursor:grab;font-size:12.5px;}
  .board-card b{display:block;font-size:13px;color:var(--ink-900);line-height:1.3;}
  .board-card .bm{color:var(--ink-500);font-size:11.5px;margin-top:4px;}
  .hoy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;}
  .hoy-col h5{margin:0 0 8px;font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-500);}
  .hoy-item{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--line);font-size:13px;}
  .hoy-item:last-child{border-bottom:none;}
  .hoy-item .hi-t{min-width:0;overflow:hidden;text-overflow:ellipsis;}
  .recurso-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px;}
  .recurso-item:last-child{border-bottom:none;}
  .hashtag-chip{display:inline-block;background:var(--teal-100);color:var(--teal-700);border-radius:999px;padding:2px 9px;font-size:12px;margin:2px 3px 2px 0;}
  .chart-box{position:relative;width:100%;}
  .chart-box canvas{max-width:100%;}
  #tablaTareas td:nth-child(2){white-space:normal;min-width:160px;}
  .btn-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:1px solid var(--line);background:#fff;color:var(--ink-700);cursor:pointer;margin-right:3px;font-size:12px;}
  .btn-icon:hover{border-color:var(--teal-500);color:var(--teal-700);}
  .btn-icon.ok:hover{color:#1a9d5c;border-color:#1a9d5c;}
  .btn-icon.del:hover{color:var(--danger);border-color:var(--danger);}
  .tag-interno{background:#eef1f7;color:var(--ink-500);}
  .idea-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px;}
  @media(max-width:900px){.idea-board{grid-template-columns:1fr;}}
  .idea-col{background:var(--canvas);border:1px solid var(--line);border-radius:10px;padding:10px;min-height:90px;}
  .idea-col-head{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-500);margin:2px 4px 10px;display:flex;justify-content:space-between;}
  .idea-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:9px 10px;margin-bottom:8px;cursor:grab;}
  .idea-card .it{font-size:13px;font-weight:600;color:var(--ink-900);line-height:1.35;}
  .idea-card .im{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;align-items:center;}
  .idea-card .ia{display:flex;gap:10px;margin-top:8px;font-size:12px;flex-wrap:wrap;}
  .idea-card .ia span{cursor:pointer;color:var(--ink-500);}
  .idea-card .ia span:hover{color:var(--teal-700);}
  .idea-card .ia .prog{color:var(--teal-700);font-weight:700;}
  .btn-mini{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;padding:3px 8px;border-radius:6px;border:1px solid var(--line);background:#fff;color:var(--ink-700);cursor:pointer;white-space:nowrap;margin-right:4px;}
  .btn-mini:hover{border-color:var(--teal-500);color:var(--teal-700);}
  .btn-mini.ok{color:#1a9d5c;}
  .tag-vencida{background:#fdecea;color:var(--danger);}
  .hoy-item.hoy-alerta{background:#fdecea;color:var(--danger);border-radius:8px;padding:8px 10px;border-bottom:none;}
  .hoy-item.hoy-alerta b{color:var(--danger);}
  #view-redes .tabbar{flex-wrap:wrap;overflow-x:visible;row-gap:0;}
  #view-redes .tab-btn{margin-right:16px;font-size:13px;}
  .destacados{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:16px;}
  .destacado{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:var(--canvas);}
  .destacado .d-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-500);font-weight:700;}
  .destacado .d-val{font-size:17px;font-weight:700;margin-top:4px;color:var(--ink-900);}
  .destacado .d-sub{font-size:12px;color:var(--ink-500);margin-top:2px;}

  /* Móvil: las columnas pueden encogerse; tablas y textos largos se desplazan o parten dentro de su panel */
  .grid-2>*,.grid-3>*,.grid-4>*,.kpi-grid>*,.docs-split>*,.field-row>*,.field{min-width:0;}
  .panel{min-width:0;overflow-wrap:anywhere;}
  .panel .table-wrap{max-width:100%;}
  #emailPreviewFrame{max-width:100%;}
  .activity-item .ai-meta{white-space:normal;}
  .activity-item .ai-body{overflow-wrap:anywhere;}
  .snippet-desc,.gs-title,.ai-title{overflow-wrap:anywhere;}
  .module-view{display:none;}
  .module-view.active{display:block;}

  /* ---------- Tabs ---------- */
  .tabbar{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:22px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;}
  .tab-btn{
    padding:10px 4px;
    margin-right:22px;
    background:none;
    border:none;
    border-bottom:2px solid transparent;
    font-size:13.5px;
    font-weight:600;
    color:var(--ink-500);
    cursor:pointer;
    white-space:nowrap;
    flex-shrink:0;
  }
  .tab-btn:hover{color:var(--ink-900);}
  .tab-btn.active{color:var(--teal-700);border-bottom-color:var(--teal-500);}
  .tab-pane{display:none;}
  .tab-pane.active{display:block;}

  /* ---------- Sub-tabs (segunda capa dentro de un tab-pane, p.ej. Analítica de Redes Sociales) ---------- */
  .subtabbar{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap;}
  .subtab-btn{
    padding:8px 16px;
    border-radius:20px;
    border:1px solid var(--line-strong);
    background:#fff;
    font-size:12.5px;
    font-weight:600;
    color:var(--ink-700);
    cursor:pointer;
  }
  .subtab-btn:hover{border-color:var(--teal-500);color:var(--teal-700);}
  .subtab-btn.active{background:var(--teal-950);border-color:var(--teal-950);color:#fff;}
  .ana-redbar{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:16px;}
  .ana-red-btn{display:flex;align-items:center;gap:9px;padding:11px 20px;border-radius:10px;border:1px solid var(--line-strong);background:#fff;font-size:14px;font-weight:700;color:var(--ink-700);cursor:pointer;}
  .ana-red-btn i{font-size:17px;}
  .ana-red-btn:hover{border-color:var(--ana-red);}
  .ana-red-btn.active{background:var(--ana-red);border-color:var(--ana-red);color:#fff;}
  .subtab-pane{display:none;}
  .subtab-pane.active{display:block;}

  /* ---------- Panels / cards ---------- */
  .panel{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:22px;
    margin-bottom:20px;
  }
  .panel-accent{border-left:3px solid var(--teal-500);}

  /* ---------- Tarjetas de cliente (Panel de cliente) ---------- */
  .client-card-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));
    gap:14px;
  }
  .client-card{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:18px;
    cursor:pointer;
    transition:border-color 0.14s ease, transform 0.14s ease, box-shadow 0.14s ease;
  }
  .client-card:hover{
    border-color:var(--teal-500);
    transform:translateY(-2px);
    box-shadow:0 6px 18px rgba(10,10,12,0.08);
  }
  .client-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:14px;}
  .client-card-avatar{
    width:42px;height:42px;border-radius:9px;flex-shrink:0;
    display:flex;align-items:center;justify-content:center;
    font-weight:800;font-size:15px;color:#fff;object-fit:cover;
    background:var(--teal-500);
  }
  .client-card-health{
    font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px;flex-shrink:0;
  }
  .client-card-nombre{font-weight:700;font-size:14.5px;margin-bottom:3px;}
  .client-card-estado{font-size:11.5px;color:var(--ink-500);margin-bottom:12px;}
  .client-card-stats{display:flex;gap:14px;border-top:1px solid var(--line);padding-top:12px;}
  .client-card-stat{font-size:11.5px;color:var(--ink-500);}
  .client-card-stat b{display:block;font-size:16px;color:var(--ink-900);font-weight:700;}
  .client-card-stat b.danger{color:var(--danger);}
  .client-card-empty{grid-column:1/-1;color:var(--ink-500);font-size:13.5px;padding:20px 0;}

  .panel-title{font-size:14.5px;font-weight:700;margin-bottom:4px;}
  .panel-subtitle{font-size:12.5px;color:var(--ink-500);margin-bottom:18px;}
  .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
  .grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
  .grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
  @media (max-width:900px){.grid-2,.grid-3{grid-template-columns:1fr;}}
  @media (max-width:1100px){.grid-4{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:560px){.grid-4{grid-template-columns:1fr;}}

  /* ---------- Tarjetas de Estadísticas de perfiles ---------- */
  .perf-card-head{display:flex;align-items:center;gap:9px;margin-bottom:12px;font-size:19px;}
  .perf-card-head .panel-title{margin-bottom:0;font-size:14.5px;}
  .perf-card .stat-num{font-size:26px;}
  .perf-card-row{display:flex;gap:14px;margin-top:10px;font-size:12.5px;font-weight:700;color:var(--ink-700);flex-wrap:wrap;}
  .perf-card-annual{margin-top:8px;}

  /* ---------- Form elements ---------- */
  .field{margin-bottom:15px;}
  .field label{display:block;font-size:12.5px;font-weight:600;color:var(--ink-700);margin-bottom:6px;}
  .field .hint{font-size:11.5px;color:var(--ink-300);margin-top:4px;}
  .field input[type=text],
  .field input[type=email],
  .field input[type=date],
  .field input[type=month],
  .field input[type=password],
  .field input[type=search],
  .field input[type=time],
  .field input[type=url],
  .field input[type=number],
  .field select,
  .field textarea{
    width:100%;
    padding:9px 11px;
    border:1px solid var(--line-strong);
    border-radius:6px;
    background:#fff;
    outline:none;
  }
  .field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal-500);box-shadow:0 0 0 3px var(--teal-100);}
  .field textarea{resize:vertical;min-height:80px;}
  #emailHtmlInput{
    padding:9px 11px;
    border:1px solid var(--line-strong);
    border-radius:6px;
    background:#fff;
    outline:none;
    resize:vertical;
  }
  #emailHtmlInput:focus{border-color:var(--teal-500);box-shadow:0 0 0 3px var(--teal-100);}
  .field-row{display:flex;gap:14px;}
  @media (max-width:640px){
    .field-row{flex-direction:column;gap:0;}
  }
  .field-row .field{flex:1;}
  .file-drop{
    border:1.5px dashed var(--line-strong);
    border-radius:6px;
    padding:16px;
    text-align:center;
    font-size:12.5px;
    color:var(--ink-500);
    cursor:pointer;
    background:#fbfcfc;
  }
  .file-drop:hover{border-color:var(--teal-500);}
  .file-drop input{display:none;}
  .thumb-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
  .thumb-row img{width:52px;height:52px;object-fit:cover;border-radius:5px;border:1px solid var(--line);}

  /* ---------- Buttons ---------- */
  .btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:9px 16px;
    border-radius:6px;
    border:1px solid transparent;
    font-size:13px;
    font-weight:600;
    cursor:pointer;
    background:var(--teal-500);
    color:#fff;
  }
  .btn:hover{background:var(--blue-800);}
  .btn-secondary{background:#fff;color:var(--ink-700);border-color:var(--line-strong);}
  .btn-secondary:hover{border-color:var(--teal-500);color:var(--teal-700);background:var(--teal-100);}
  .btn-orange{background:var(--orange-500);}
  .btn-orange:hover{background:#000000;}
  .btn-ghost{background:none;border:none;color:var(--teal-700);padding:6px 4px;font-weight:600;}
  .btn-ghost:hover{text-decoration:underline;}
  .btn-danger{background:#fff;border-color:var(--line-strong);color:var(--danger);}
  .btn-danger:hover{background:#fdecea;border-color:var(--danger);}
  .btn-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px;}
  .btn[disabled]{opacity:0.45;cursor:not-allowed;}

  /* ---------- Tables ---------- */
  table{width:100%;border-collapse:collapse;font-size:13px;}
  th{
    text-align:left;
    font-size:11.5px;
    font-weight:600;
    color:var(--ink-500);
    padding:8px 10px;
    border-bottom:1px solid var(--line-strong);
  }
  td{padding:9px 10px;border-bottom:1px solid var(--line);color:var(--ink-700);vertical-align:middle;}
  tr:last-child td{border-bottom:none;}
  .table-wrap{overflow-x:auto;}
  .empty-row td{color:var(--ink-300);text-align:center;padding:26px 10px;font-style:normal;}

  /* ---------- Tags ---------- */
  .tag{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:600;}
  .tag-teal{background:var(--teal-100);color:var(--teal-700);}
  .tag-orange{background:var(--orange-100);color:#141417;}
  .tag-grey{background:#eef0f0;color:var(--ink-500);}

  /* ---------- Stat blocks ---------- */
  .stat-block{padding:4px 0;}
  .stat-num{font-size:32px;font-weight:800;color:var(--ink-900);line-height:1;}
  .stat-label{font-size:12.5px;color:var(--ink-500);margin-top:6px;}
  .stat-block.accent .stat-num{color:var(--teal-700);}
  .stat-text{font-size:14px;font-weight:700;color:var(--teal-700);line-height:1.3;}

  /* ---------- Checkboxes en fila (redes sociales del cliente) ---------- */
  .checkbox-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:4px;}
  .checkbox-row label{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--ink-700);cursor:pointer;margin-bottom:0;}
  .checkbox-row input[type=checkbox]{width:auto;margin:0;accent-color:var(--teal-500);}

  /* ---------- Cabeceras de tabla ordenables ---------- */
  th.th-sortable{cursor:pointer;user-select:none;white-space:nowrap;}
  th.th-sortable:hover{color:var(--teal-700);}
  th.th-sortable i{margin-left:4px;font-size:9.5px;}

  /* ---------- Toast ---------- */
  #toast{
    position:fixed;bottom:24px;right:24px;
    background:var(--teal-950);color:#fff;
    padding:12px 18px;border-radius:6px;
    font-size:13px;font-weight:600;
    box-shadow:0 6px 18px rgba(0,0,0,0.18);
    display:none;
    z-index:100;
    align-items:center;gap:9px;
  }
  #toast i{color:var(--teal-500);}

  /* ---------- Code / snippet blocks ---------- */
  .snippet-code{
    background:var(--teal-950);
    color:#d7ece9;
    font-family:var(--mono);
    font-size:12px;
    line-height:1.6;
    padding:16px;
    border-radius:6px;
    overflow-x:auto;
    white-space:pre;
    margin:12px 0 0 0;
  }
  .snippet-card{margin-bottom:16px;}
  .snippet-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;}
  .snippet-head h4{font-size:13.5px;}
  .snippet-desc{font-size:12.5px;color:var(--ink-500);margin-top:3px;}

  /* ---------- Checklist ---------- */
  .check-item{
    display:flex;align-items:flex-start;gap:10px;
    padding:9px 0;border-bottom:1px solid var(--line);
  }
  .check-item:last-child{border-bottom:none;}
  .check-item input[type=checkbox]{margin-top:2px;width:16px;height:16px;accent-color:var(--teal-500);flex-shrink:0;}
  .check-item .ctext{flex:1;font-size:13px;}
  .check-item.done .ctext{color:var(--ink-300);text-decoration:line-through;}
  .check-item .cmeta{font-size:11px;color:var(--ink-300);margin-top:2px;}
  .progress-bar{height:6px;background:var(--line);border-radius:4px;overflow:hidden;margin:8px 0 18px 0;}
  .progress-bar-fill{height:100%;background:var(--teal-500);border-radius:4px;transition:width 0.25s ease;}

  /* ---------- Calendar ---------- */
  .cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
  .cal-head h3{font-size:15px;}
  .cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden;}
  .cal-dow{background:#fafbfb;padding:7px;font-size:11px;font-weight:600;color:var(--ink-500);text-align:center;}
  .cal-day{background:#fff;height:92px;padding:6px;font-size:11.5px;position:relative;min-width:0;overflow-x:hidden;overflow-y:auto;}
  .cal-day.other-month{background:#fbfcfc;color:var(--ink-300);}
  .cal-day .dnum{font-weight:600;font-size:11.5px;color:var(--ink-500);margin-bottom:4px;}
  .cal-day .entry{
    background:var(--teal-100);color:var(--teal-700);
    font-size:10px;font-weight:600;padding:2px 5px;border-radius:4px;
    margin-bottom:3px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
    max-width:100%;box-sizing:border-box;
  }
  .cal-day .entry.hecha{background:#fafafa;color:#d4d5d8;font-weight:500;}
  .tr-hecha td{color:#c9cbcf !important;}
  .tr-hecha .tag{opacity:0.45;}
  .cal-day .add-btn{position:absolute;top:5px;right:5px;font-size:11px;color:var(--ink-300);cursor:pointer;opacity:0;}
  @media (hover:none){
    .cal-day .add-btn{opacity:1;}
  }
  .cal-day:hover .add-btn{opacity:1;}

  /* ---------- Kanban (tareas) ---------- */
  .kanban-col{display:flex;flex-direction:column;gap:8px;min-height:60px;}
  .kanban-card{border:1px solid var(--line);border-radius:6px;padding:10px 12px;background:#fbfcfc;cursor:grab;}
  .kanban-card:hover{border-color:var(--teal-500);}
  .kanban-card:active{cursor:grabbing;}
  .kanban-card .kt-title{font-size:12.5px;font-weight:600;color:var(--ink-900);margin-bottom:5px;}
  .kanban-card .kt-meta{font-size:11px;color:var(--ink-500);display:flex;gap:7px;align-items:center;flex-wrap:wrap;}

  /* ---------- Hub de eventos propios ---------- */
  .event-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px;margin-top:16px;}
  .event-card{
    border:1px solid var(--line);border-radius:8px;padding:16px;background:#fff;
    cursor:pointer;transition:border-color 0.15s ease,transform 0.15s ease;display:flex;flex-direction:column;gap:10px;
  }
  .event-card:hover{border-color:var(--teal-500);transform:translateY(-2px);}
  .event-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;}
  .event-card-title{font-size:14.5px;font-weight:700;color:var(--ink-900);line-height:1.3;}
  .event-card-meta{font-size:12px;color:var(--ink-500);display:flex;flex-direction:column;gap:4px;}
  .event-card-meta span{display:flex;align-items:center;gap:6px;}
  .event-card-meta i{width:13px;color:var(--ink-300);}
  .event-card-stats{display:flex;gap:14px;font-size:11.5px;color:var(--ink-700);border-top:1px solid var(--line);padding-top:10px;margin-top:2px;}
  .event-card-stats b{color:var(--ink-900);}
  .event-card-actions{display:flex;justify-content:flex-end;gap:4px;}
  .event-card-actions .btn-ghost{padding:4px 6px;}
  .event-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;}
  .event-detail-title{font-size:19px;font-weight:800;color:var(--ink-900);margin-bottom:6px;}
  .event-detail-meta{display:flex;flex-wrap:wrap;gap:14px;font-size:12.5px;color:var(--ink-500);}
  .event-detail-meta span{display:flex;align-items:center;gap:6px;}
  .event-detail-meta i{color:var(--ink-300);}
  .event-detail-actions{display:flex;gap:8px;flex-shrink:0;}
  .back-link{background:none;border:none;color:var(--teal-700);font-weight:600;font-size:13px;cursor:pointer;padding:0;margin-bottom:16px;display:inline-flex;align-items:center;gap:7px;}
  .back-link:hover{text-decoration:underline;}

  /* ---------- Gantt (tareas) ---------- */
  .gantt-wrap{overflow-x:auto;}
  .gantt-axis{display:flex;justify-content:space-between;font-size:11px;color:var(--ink-500);margin:0 0 10px 190px;}
  .gantt-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--line);}
  .gantt-row:last-child{border-bottom:none;}
  .gantt-label{width:180px;flex-shrink:0;font-size:12.5px;color:var(--ink-700);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .gantt-track{flex:1;position:relative;height:22px;background:#f2f4f4;border-radius:4px;min-width:320px;}
  .gantt-bar{box-sizing:border-box;position:absolute;top:0;height:100%;border-radius:4px;background:var(--teal-500);font-size:10.5px;color:#fff;display:flex;align-items:center;padding:0 7px;overflow:hidden;white-space:nowrap;cursor:pointer;}
  .gantt-bar.prioridad-alta{background:var(--orange-500);}
  .gantt-bar.prioridad-baja{background:var(--ink-300);}

  /* ---------- Modal ---------- */
  .modal-overlay{
    display:none;position:fixed;inset:0;background:rgba(10,10,12,0.55);
    align-items:center;justify-content:center;z-index:60;padding:20px;
  }
  .modal-overlay.active{display:flex;}
  .modal-box{background:#fff;border-radius:10px;padding:24px;width:100%;max-width:420px;max-height:88vh;overflow-y:auto;}
  .modal-box h3{font-size:15.5px;margin-bottom:16px;}
  .modal-close{float:right;cursor:pointer;color:var(--ink-300);font-size:15px;}

  /* ---------- Post preview mockups ---------- */
  .platform-tabs{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap;}
  .platform-tab{
    display:flex;align-items:center;gap:7px;padding:8px 14px;border-radius:20px;
    border:1px solid var(--line-strong);background:#fff;font-size:12.5px;font-weight:600;
    color:var(--ink-500);cursor:pointer;
  }
  .platform-tab.active{background:var(--teal-950);color:#fff;border-color:var(--teal-950);}
  .mock-card{
    max-width:400px;border:1px solid var(--line-strong);border-radius:10px;overflow:hidden;background:#fff;
  }
  .mock-head{display:flex;align-items:center;gap:10px;padding:12px 14px;}
  .mock-avatar{
    width:38px;height:38px;border-radius:50%;background:var(--teal-500);color:#fff;
    display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0;
  }
  .mock-name{font-size:12.5px;font-weight:700;color:var(--ink-900);}
  .mock-meta{font-size:11px;color:var(--ink-500);}
  .mock-body{padding:0 14px 12px 14px;font-size:12.5px;color:var(--ink-900);white-space:pre-wrap;}
  .mock-img{width:100%;display:block;background:#eef0f0;object-fit:cover;max-height:220px;}
  .mock-actions{display:flex;gap:18px;padding:10px 14px;border-top:1px solid var(--line);font-size:11.5px;color:var(--ink-500);}
  .mock-yt-thumb{position:relative;background:#eef0f0;}
  .mock-yt-thumb img{width:100%;display:block;max-height:220px;object-fit:cover;}
  .mock-yt-title{padding:10px 14px 2px 14px;font-size:13px;font-weight:700;}

  /* ---------- Email preview ---------- */
  .email-toolbar{display:flex;gap:8px;margin-bottom:12px;}
  .device-btn{padding:7px 14px;border-radius:6px;border:1px solid var(--line-strong);background:#fff;font-size:12px;font-weight:600;color:var(--ink-500);cursor:pointer;}
  .device-btn.active{background:var(--teal-950);color:#fff;border-color:var(--teal-950);}
  .email-frame-wrap{border:1px solid var(--line-strong);border-radius:8px;background:#eef0f0;padding:20px;display:flex;justify-content:center;overflow-x:auto;}
  #emailPreviewFrame{background:#fff;border:none;height:520px;transition:width 0.2s ease;}

  /* ---------- Misc ---------- */
  .section-gap{margin-top:30px;}

  /* ---------- Dashboard: saludo, KPIs, actividad ---------- */
  .hero-greeting{
    display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
    padding:6px 0 26px 0;margin-bottom:8px;
    border-bottom:1px solid var(--line);
  }
  .hero-greeting h2{font-size:34px;font-weight:800;margin:0;color:var(--ink-900);letter-spacing:-0.3px;}
  .hero-fecha{font-size:13px;color:var(--ink-500);margin-top:6px;}
  .hero-resumen{font-size:13px;color:var(--teal-700);background:var(--teal-100);padding:11px 18px;border-radius:8px;max-width:340px;line-height:1.5;}

  .kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;}
  @media (max-width:1200px){.kpi-grid{grid-template-columns:repeat(3,1fr);}}
  @media (max-width:600px){.kpi-grid{grid-template-columns:repeat(2,1fr);}}
  .kpi-grid .stat-num{font-size:26px;}

  .activity-list{display:flex;flex-direction:column;}
  .activity-item{display:flex;align-items:flex-start;gap:11px;padding:10px 0;border-bottom:1px solid var(--line);}
  .activity-item:last-child{border-bottom:none;}
  .activity-item .ai-icon{width:28px;height:28px;border-radius:50%;background:var(--teal-100);color:var(--teal-700);display:flex;align-items:center;justify-content:center;font-size:11.5px;flex-shrink:0;}
  .activity-item .ai-body{flex:1;min-width:0;}
  .activity-item .ai-title{font-size:12.5px;color:var(--ink-900);font-weight:600;}
  .activity-item .ai-meta{font-size:11.5px;color:var(--ink-500);margin-top:3px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
  .activity-item .ai-link{font-size:11.5px;font-weight:600;color:var(--teal-700);flex-shrink:0;text-decoration:none;cursor:pointer;background:none;border:none;}
  .activity-item .ai-link:hover{text-decoration:underline;}

  .quick-actions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
  @media (max-width:900px){.quick-actions-grid{grid-template-columns:repeat(2,1fr);}}
  .quick-action{
    display:flex;flex-direction:column;align-items:flex-start;gap:10px;
    border:1px solid var(--line);border-radius:8px;padding:14px 16px;
    background:#fff;cursor:pointer;text-align:left;font-family:inherit;
    transition:border-color .15s ease, transform .15s ease;
  }
  .quick-action:hover{border-color:var(--teal-500);transform:translateY(-2px);}
  .quick-action i{font-size:16px;color:var(--teal-700);}
  .quick-action span{font-size:12.5px;font-weight:600;color:var(--ink-900);line-height:1.4;}

  /* ---------- Topbar: búsqueda global y notificaciones ---------- */
  .topbar-actions{display:flex;align-items:center;gap:12px;flex:1;justify-content:flex-end;flex-wrap:wrap;}
  .sync-status{
    display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--ink-500);
    padding:6px 10px;border-radius:20px;border:1px solid var(--line-strong);flex-shrink:0;
  }
  .sync-status.ok{color:var(--teal-700);border-color:var(--teal-100);background:var(--teal-100);}
  .sync-status.error{color:var(--danger);border-color:#fdecea;background:#fdecea;}
  .sync-status i{font-size:11px;}
  .sync-status.syncing i{animation:syncspin 1s linear infinite;}
  @keyframes syncspin{ from{transform:rotate(0deg);} to{transform:rotate(360deg);} }
  .global-search{position:relative;width:280px;max-width:100%;}
  .global-search i.fa-magnifying-glass{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--ink-300);font-size:12px;}
  .global-search input{width:100%;padding:9px 12px 9px 32px;border:1px solid var(--line-strong);border-radius:20px;font-size:12.5px;font-family:inherit;background:#fff;}
  .global-search input:focus{outline:none;border-color:var(--teal-500);}
  .gs-results{
    position:absolute;top:calc(100% + 8px);left:0;width:340px;max-width:80vw;max-height:420px;overflow-y:auto;
    background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 26px rgba(0,0,0,0.14);
    display:none;z-index:60;padding:6px;
  }
  .gs-results.open{display:block;}
  .gs-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:6px;cursor:pointer;}
  .gs-item:hover{background:var(--canvas);}
  .gs-icon{width:26px;height:26px;border-radius:50%;background:var(--teal-100);color:var(--teal-700);display:flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0;}
  .gs-title{font-size:12.5px;font-weight:600;color:var(--ink-900);}
  .gs-meta{font-size:11px;color:var(--ink-500);margin-top:1px;}
  .gs-empty{padding:14px 10px;font-size:12.5px;color:var(--ink-500);text-align:center;}

  .notif-wrap{position:relative;}
  .notif-bell{
    position:relative;width:36px;height:36px;border-radius:50%;border:1px solid var(--line-strong);
    background:#fff;color:var(--ink-700);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;flex-shrink:0;
  }
  .notif-bell:hover{border-color:var(--teal-500);}
  .notif-badge{
    position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:10px;
    background:var(--orange-500);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;
  }
  .notif-panel{
    position:absolute;top:calc(100% + 8px);right:0;width:320px;max-width:calc(100vw - 40px);max-height:420px;overflow-y:auto;
    background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 26px rgba(0,0,0,0.14);
    display:none;z-index:60;padding:6px;
  }
  .notif-panel.open{display:block;}
  .notif-item{display:flex;align-items:flex-start;gap:10px;padding:10px;border-radius:6px;cursor:pointer;}
  .notif-item:hover{background:var(--canvas);}
  .notif-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11.5px;flex-shrink:0;background:var(--teal-100);color:var(--teal-700);}
  .notif-item.notif-urgente .notif-icon{background:var(--orange-100);color:#141417;}
  .notif-item.notif-aviso .notif-icon{background:#fdf3d8;color:#8a6b0a;}
  .notif-text{font-size:12.5px;font-weight:600;color:var(--ink-900);}
  .notif-meta{font-size:11px;color:var(--ink-500);margin-top:2px;}
  .notif-empty{padding:16px 10px;font-size:12.5px;color:var(--ink-500);text-align:center;}
  @media (max-width:960px){
    .topbar{flex-wrap:wrap;}
    .topbar-actions{width:100%;justify-content:flex-start;}
    .global-search{width:100%;}
  }
  .divider{height:1px;background:var(--line);margin:24px 0;}
  .muted{color:var(--ink-500);}
  .small{font-size:12px;}
  .flex-between{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
  .filter-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:18px;}
  .filter-row .field{margin-bottom:0;min-width:160px;}

  /* ---- Documentos ---- */
  .docs-tipos{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;}
  .docs-tipo-card{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;transition:.15s;}
  .docs-tipo-card:hover{border-color:#2D5BFF;box-shadow:0 2px 10px rgba(45,91,255,.14);}
  .docs-tipo-card.dashed{border-style:dashed;background:transparent;}
  .dtc-ico{width:36px;height:36px;border-radius:9px;background:#e8eeff;color:#2D5BFF;display:flex;align-items:center;justify-content:center;flex:none;}
  .dtc-n{font-weight:700;font-size:13px;line-height:1.3;}
  .dtc-d{font-size:11.5px;color:var(--ink-500);margin-top:3px;}
  .dx-est{border:1px solid var(--line-strong);border-radius:6px;padding:4px 6px;font-size:12px;background:#fff;}
  .docs-split{display:grid;grid-template-columns:minmax(320px,430px) minmax(0,1fr);gap:18px;align-items:start;}
  .docs-form{max-height:calc(100vh - 120px);overflow:auto;position:sticky;top:12px;}
  @media (max-width:1100px){ .docs-split{grid-template-columns:1fr;} .docs-form{position:static;max-height:none;} }
  .dx-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px;}
  .dx-head .grow{flex:1;min-width:200px;font-weight:700;font-size:15px;}
  .dx-sec{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#2D5BFF;font-weight:700;margin:16px 0 8px;padding-bottom:4px;border-bottom:1px solid var(--line);}
  .dx-linea{display:grid;grid-template-columns:1fr 58px 78px 30px;gap:6px;margin-bottom:6px;}
  .dx-kpi{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 54px 28px;gap:5px;margin-bottom:6px;align-items:center;}
  .dx-linea input,.dx-kpi input{min-width:0;width:100%;}
  .dx-var{font-size:11px;font-weight:700;color:#2D5BFF;text-align:right;}
  .dx-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px;font-size:12.5px;}
  .dx-n.warn{color:#d83a3a;font-weight:700;} .dx-n.ok{color:#1c8a5b;font-weight:700;}
  .dx-manual{display:none;gap:10px;align-items:center;background:#fff7e0;border:1px solid #f0d58a;border-radius:8px;padding:8px 12px;font-size:12px;margin-bottom:10px;flex-wrap:wrap;}
  .dp-paper{background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 2px 14px rgba(0,0,0,.08);padding:26px 30px;min-height:600px;}
  #docPrevia{outline:none;}
  #docPrevia .vacio{background:#ffe3e3;color:#d83a3a;border-radius:3px;padding:0 3px;}
  #docPrevia .vacio.flash{outline:2px solid #FF5A5A;}
  #docPrevia .vacio-box{background-color:#fff0f0;}
  .dp{font-family:'Montserrat',sans-serif;color:#141417;font-size:12px;line-height:1.55;}
  .dp, .dp *{-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  .dp-band{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#2D5BFF;color:#fff;padding:14px 18px;border-radius:8px 8px 0 0;}
  .dp-logo{height:44px;background:#fff;border-radius:6px;padding:4px 8px;}
  .dp-band-t{text-align:right;} .dp-title{font-size:15px;font-weight:800;letter-spacing:.03em;} .dp-num{font-size:11.5px;opacity:.92;margin-top:3px;}
  .dp-accent{height:4px;background:#FF5A5A;margin-bottom:16px;}
  .dp-tag{display:inline-block;border:1.5px solid #FF5A5A;color:#FF5A5A;font-weight:800;font-size:11px;letter-spacing:.1em;padding:3px 10px;border-radius:4px;margin-bottom:12px;}
  .dp-sub{color:#555;font-size:12px;margin:-4px 0 14px;}
  .dp-h{color:#2D5BFF;font-size:12.5px;margin:16px 0 6px;letter-spacing:.02em;page-break-after:avoid;}
  .dp-ord{color:#FF5A5A;} .dp-c{text-align:center;}
  .dp p{margin:0 0 8px;text-align:justify;} .dp ul,.dp ol{margin:0 0 8px;padding-left:20px;}
  .dp-t{width:100%;border-collapse:collapse;margin:8px 0 10px;}
  .dp-t th{background:#2D5BFF;color:#fff;text-align:left;padding:6px 8px;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;}
  .dp-t td{padding:6px 8px;border-bottom:1px solid #dfe3f0;} .dp-t tr{page-break-inside:avoid;}
  .dp-t .r,.dp-tot .r{text-align:right;}
  .dp-t tr.tt td{font-weight:800;color:#2D5BFF;border-top:2px solid #2D5BFF;}
  .dp-tot{margin-left:auto;min-width:250px;border-collapse:collapse;margin-bottom:10px;} .dp-tot td{padding:4px 8px;}
  .dp-tot tr.tt td{border-top:2px solid #2D5BFF;font-weight:800;font-size:14px;color:#2D5BFF;padding-top:7px;}
  .dp-cols{display:flex;gap:24px;margin-bottom:12px;} .dp-cols>div{flex:1;}
  .dp-lab{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#FF5A5A;font-weight:700;margin-bottom:3px;}
  .dp-aviso{border-left:3px solid #FF5A5A;background:#fff3f3;padding:8px 12px;font-size:11px;color:#7a2b2b;}
  .dp-q{margin-bottom:12px;page-break-inside:avoid;} .dp-qt{font-weight:700;color:#2D5BFF;margin-bottom:4px;} .dp-qa{border-left:3px solid #dfe3f0;padding-left:10px;}
  .vacio-box,.resp-box{display:block;height:58px;border-radius:4px;background-image:repeating-linear-gradient(transparent,transparent 18px,#b9c2dd 18px,#b9c2dd 19px);}
  .dp-firmas-wrap{margin-top:22px;page-break-inside:avoid;}
  .dp-firmas{display:flex;gap:40px;margin-top:6px;} .dp-firma{flex:1;}
  .dp-firma-rol{font-size:10.5px;font-weight:800;color:#2D5BFF;letter-spacing:.05em;} .dp-firma-space{height:64px;}
  .dp-firma-line{border-top:1px solid #141417;} .dp-firma-n{font-weight:700;margin-top:4px;} .dp-firma-s{font-size:10.5px;color:#555;}
  .dp-foot{margin-top:26px;padding-top:8px;border-top:2px solid #2D5BFF;text-align:center;font-size:10px;color:#777;}
  .dp-blank{display:inline-block;border-bottom:1px solid #141417;height:1em;vertical-align:baseline;}
  .dp .var.up{color:#2D5BFF;font-weight:700;} .dp .var.down{color:#FF5A5A;font-weight:700;}
  @media (max-width:600px){ .dp-cols,.dp-firmas{flex-direction:column;gap:12px;} .dp-paper{padding:16px;} }

  /* ---- SEO · Search Console ---- */
  .gsc-chart{position:relative;height:220px;}
  .gsc-d{font-weight:700;font-size:12px;white-space:nowrap;} .gsc-d.up{color:#1c8a5b;} .gsc-d.down{color:#d83a3a;}
  .gsc-bar{display:inline-block;width:64px;height:6px;background:#e8ebf3;border-radius:3px;vertical-align:middle;margin-right:6px;}
  .gsc-bar span{display:block;height:100%;background:#2D5BFF;border-radius:3px;}

  #printArea{position:fixed;top:0;left:-9999px;width:800px;}

  @media print{
    body *{visibility:hidden;}
    #printArea, #printArea *{visibility:visible;}
    #printArea{position:absolute;top:0;left:0;width:100%;padding:20px;}
  }

  @media (max-width:960px){
    .sidebar{transform:translateX(-100%);transition:transform 0.2s ease;box-shadow:0 0 0 rgba(0,0,0,0);}
    .sidebar.open{transform:translateX(0);box-shadow:8px 0 24px rgba(0,0,0,0.2);}
    .main{margin-left:0;}
    .topbar{padding:16px 18px;padding-top:calc(16px + env(safe-area-inset-top));}
    .content{padding:20px 18px 50px 18px;}
    .topbar-mobile-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;border:1px solid var(--line-strong);background:#fff;cursor:pointer;flex-shrink:0;}
    .grid-2,.grid-3{grid-template-columns:1fr;}

    /* Cabecera compacta: [menú] Título [estado] [campana] / buscador a lo ancho */
    .topbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;grid-template-areas:"toggle title sync crono bell" "search search search search search";align-items:center;column-gap:10px;row-gap:12px;padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top));}
    .topbar > div:first-child{grid-area:title;min-width:0;}
    .topbar h1{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
    .topbar .desc{display:none;}
    .topbar-actions{display:contents;}
    .topbar-mobile-toggle{grid-area:toggle;}
    #syncStatus{grid-area:sync;padding:0;width:36px;height:36px;justify-content:center;border-radius:50%;}
    #syncStatus #syncLabel{display:none;}
    #notifWrap{grid-area:bell;}
    #globalSearchWrap{grid-area:search;width:100%;}
    .gs-results{width:100%;max-width:none;}
    .notif-panel{position:fixed;top:calc(64px + env(safe-area-inset-top));left:12px;right:12px;width:auto;max-width:none;}

    /* Pestañas: una sola fila que se desliza con el dedo */
    #view-redes .tabbar{flex-wrap:nowrap;overflow-x:auto;}
    .tabbar{scrollbar-width:none;}
    .tabbar::-webkit-scrollbar{display:none;}
    .tab-btn,#view-redes .tab-btn{margin-right:16px;}

    /* Filas de campos: siempre en columna y sin descolocarse */
    .field-row{align-items:stretch !important;}
    .field-row > .btn{align-self:flex-start;margin-bottom:15px !important;}

    .hero-greeting h2{font-size:26px;}
    .gantt-label{width:110px;}
    .gantt-axis{margin-left:120px;}
    .gantt-track{min-width:0;}
    .modal-overlay{padding:12px;align-items:flex-start;}
    .modal-box{max-height:calc(100vh - 24px);padding:20px;}
  }

  @media (max-width:600px){
    /* Cifras resumen en dos columnas y algo más pequeñas */
    .grid-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
    .stat-num{font-size:24px;}
    .kpi-grid .stat-num,.perf-card .stat-num{font-size:22px;}
    .stat-label{font-size:11.5px;}
    .panel{padding:16px;}
    .content{padding:16px 12px 50px 12px;}
    .destacados{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
    .destacado{padding:10px 12px;}
    .destacado .d-val{font-size:15px;}
    .hoy-item{flex-wrap:wrap;}
    .ana-red-btn{flex:1;justify-content:center;padding:10px 12px;}
    .client-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
    .client-card{padding:14px;}
    .cal-day{height:72px;padding:4px;}
    .cal-day .entry{font-size:9px;padding:1px 3px;}
    .email-frame-wrap{padding:8px;}
  }

  /* Globales: botones y etiquetas no se parten en dos líneas */
  .btn,.btn-mini,.tag,.subtab-btn,.platform-tab{white-space:nowrap;}
  .doc-linea input{min-width:0;width:100%;}
  #sugerenciasMantenimiento .btn,#sugerenciasAuditoriaSEO .btn{white-space:normal;text-align:left;}

  /* =====================================================================
     DISEÑO v2 — BAL Hub
     Marca: negro BAL + azul del logo. Montserrat (marca) solo en títulos
     grandes; Inter para la interfaz y las cifras. Colores con significado:
     azul = acción, verde = bien, ámbar = atención, rojo = problema.
     ===================================================================== */
  :root{
    --brand:#1A56FF; --brand-600:#1447D9; --brand-700:#1239B0; --brand-50:#EEF3FF; --brand-100:#DCE6FF;
    --brand-ring:rgba(26,86,255,.18);
    --ok:#0F7B55; --ok-bg:#E7F5EE; --warn:#9A5B05; --warn-bg:#FFF4E2; --bad-bg:#FDEEEC;
    --sb-bg:#0B0D12; --sb-ink:#C5CAD3; --sb-muted:#7A8291; --sb-label:#596171;
    --shadow-xs:0 1px 2px rgba(15,23,42,.05);
    --shadow-sm:0 1px 3px rgba(15,23,42,.07),0 1px 2px rgba(15,23,42,.04);
    --shadow-md:0 8px 20px -6px rgba(15,23,42,.14),0 2px 4px rgba(15,23,42,.04);
    --shadow-lg:0 28px 56px -16px rgba(15,23,42,.32),0 4px 12px rgba(15,23,42,.06);
    --font-ui:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
    --font-display:'Montserrat','Inter',system-ui,sans-serif;

    /* Tokens antiguos reasignados a la nueva paleta */
    --teal-950:#0B0D12; --teal-800:#151922; --teal-700:#1747D6; --teal-500:#1A56FF; --teal-100:#EEF3FF; --blue-800:#1447D9;
    --orange-500:#0E1116; --orange-100:#F1F2F4;
    --canvas:#F4F5F7; --surface:#FFFFFF;
    --ink-900:#0E1116; --ink-700:#3A414E; --ink-500:#646D7C; --ink-300:#9AA2AF;
    --line:#E6E8EC; --line-strong:#D4D8DF; --danger:#CF3A2F;
    --radius:12px;
  }

  body{font-family:var(--font-ui);font-size:14px;line-height:1.5;letter-spacing:-.003em;font-feature-settings:"cv11","ss03";text-rendering:optimizeLegibility;}
  h1,h2,h3,h4{font-family:var(--font-ui);letter-spacing:-.012em;}
  input,select,textarea,button{font-family:var(--font-ui);}
  a{color:var(--teal-700);text-underline-offset:2px;}
  ::selection{background:var(--brand-100);}
  .stat-num,td,.d-val,.client-card-stat b,.notif-badge,.gantt-axis{font-variant-numeric:tabular-nums;}
  :focus-visible{outline:2px solid var(--brand);outline-offset:2px;}
  .nav-item:focus-visible{outline-offset:-2px;}

  /* Barras de desplazamiento discretas */
  *{scrollbar-width:thin;scrollbar-color:#CDD2DA transparent;}
  ::-webkit-scrollbar{width:10px;height:10px;}
  ::-webkit-scrollbar-thumb{background:#CDD2DA;border-radius:10px;border:3px solid transparent;background-clip:padding-box;}
  ::-webkit-scrollbar-thumb:hover{background:#B4BAC4;border:3px solid transparent;background-clip:padding-box;}
  ::-webkit-scrollbar-track{background:transparent;}

  /* ---------- Menú lateral ---------- */
  .sidebar{width:248px;background:var(--sb-bg);color:var(--sb-ink);border-right:1px solid rgba(255,255,255,.05);scrollbar-color:#2A2F3A transparent;}
  .sidebar::-webkit-scrollbar-thumb{background:#2A2F3A;border:3px solid transparent;background-clip:padding-box;}
  .main{margin-left:248px;}
  .sidebar-brand{padding:24px 20px 14px 20px;border-bottom:none;}
  .sidebar-logo-svg{width:112px;}
  .sidebar-brand .sub{margin-top:8px;font-size:11.5px;font-weight:500;color:var(--sb-muted);}
  .sidebar-nav{padding:4px 12px 16px 12px;}
  .sidebar-group-label{font-size:11px;font-weight:600;color:var(--sb-label);padding:18px 10px 6px 10px;letter-spacing:.02em;}
  .nav-item{position:relative;gap:11px;padding:8px 10px;margin:1px 0;border-radius:8px;border-left:none;color:var(--sb-ink);font-size:13.5px;font-weight:500;transition:background .12s ease,color .12s ease;}
  .nav-item i{width:18px;font-size:14px;color:var(--sb-muted);transition:color .12s ease;}
  .nav-item:hover{background:rgba(255,255,255,.05);color:#fff;}
  .nav-item:hover i{color:#C5CAD3;}
  .nav-item.active{background:rgba(255,255,255,.08);color:#fff;font-weight:600;}
  .nav-item.active::before{content:"";position:absolute;left:-12px;top:7px;bottom:7px;width:3px;border-radius:0 3px 3px 0;background:var(--brand);}
  .nav-item.active i{color:#6F95FF;}
  .sidebar-foot{padding:12px;border-top:1px solid rgba(255,255,255,.06);color:var(--sb-muted);font-size:12px;}
  .sidebar-user{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:10px;}
  .su-avatar{width:32px;height:32px;border-radius:8px;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0;}
  .su-info{flex:1;min-width:0;line-height:1.3;}
  .su-name{color:#fff;font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .su-role{color:var(--sb-muted);font-size:11.5px;}
  .su-logout{width:32px;height:32px;border-radius:8px;border:none;background:transparent;color:var(--sb-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;}
  .su-logout:hover{background:rgba(255,255,255,.07);color:#fff;}
  .sidebar-backdrop{display:none;}

  /* ---------- Cabecera ---------- */
  .topbar{padding:16px 32px;padding-top:calc(16px + env(safe-area-inset-top));align-items:center;gap:24px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);}
  @media (min-width:961px){
    .topbar{position:sticky;top:0;z-index:15;-webkit-backdrop-filter:saturate(180%) blur(10px);backdrop-filter:saturate(180%) blur(10px);}
  }
  .topbar h1{font-family:var(--font-display);font-size:20px;font-weight:700;letter-spacing:-.02em;line-height:1.25;}
  .topbar .desc{margin-top:2px;font-size:13px;color:var(--ink-500);}
  .topbar-actions{gap:10px;flex-wrap:nowrap;}
  .global-search{width:300px;}
  .global-search i.fa-magnifying-glass{left:13px;color:var(--ink-300);}
  .global-search input{height:38px;padding:0 12px 0 36px;border-radius:10px;border:1px solid transparent;background:var(--canvas);font-size:13px;transition:background .14s,border-color .14s,box-shadow .14s;}
  .global-search input:hover{border-color:var(--line-strong);}
  .global-search input:focus{background:#fff;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring);}
  .gs-results,.notif-panel{border-radius:12px;border:1px solid var(--line);box-shadow:var(--shadow-lg);padding:6px;}
  .gs-item,.notif-item{border-radius:8px;}
  .gs-item:hover,.notif-item:hover{background:#F5F6F8;}
  .gs-icon,.notif-icon,.activity-item .ai-icon{border-radius:8px;width:30px;height:30px;font-size:12px;background:var(--brand-50);color:var(--brand);}
  .notif-item.notif-urgente .notif-icon{background:var(--bad-bg);color:var(--danger);}
  .notif-item.notif-aviso .notif-icon{background:var(--warn-bg);color:var(--warn);}
  .notif-text,.gs-title{font-weight:500;font-size:13px;}
  .notif-bell{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);color:var(--ink-700);transition:background .14s,border-color .14s;}
  .notif-bell:hover{background:var(--canvas);border-color:var(--line-strong);}
  .notif-badge{top:-6px;right:-6px;height:18px;min-width:18px;border:2px solid #fff;background:#E5484D;font-size:10px;}
  .sync-status{height:30px;padding:0 11px;border-radius:999px;font-size:12px;font-weight:500;border:1px solid var(--line);background:#fff;color:var(--ink-500);}
  .sync-status.ok{color:var(--ok);background:var(--ok-bg);border-color:transparent;}
  .sync-status.error{color:var(--danger);background:var(--bad-bg);border-color:transparent;}
  .content{padding:28px 32px 64px 32px;}

  /* ---------- Pestañas ---------- */
  .tabbar{gap:0;margin-bottom:24px;border-bottom:1px solid var(--line);}
  .tab-btn{padding:10px 1px 11px;margin-right:26px;margin-bottom:-1px;font-size:13.5px;font-weight:500;color:var(--ink-500);border-bottom:2px solid transparent;transition:color .12s,border-color .12s;}
  .tab-btn:hover{color:var(--ink-900);}
  .tab-btn.active{color:var(--ink-900);font-weight:600;border-bottom-color:var(--brand);}
  /* Control segmentado (Perfil / Publicaciones, vistas previas, escritorio / móvil) */
  .subtabbar,.platform-tabs,.email-toolbar{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;background:#EBEDF0;border-radius:10px;}
  .subtabbar{margin-bottom:22px;}
  .subtab-btn,.platform-tab,.device-btn{border:none;background:transparent;border-radius:8px;padding:7px 14px;font-size:13px;font-weight:500;color:var(--ink-500);cursor:pointer;transition:background .12s,color .12s,box-shadow .12s;}
  .subtab-btn:hover,.platform-tab:hover,.device-btn:hover{color:var(--ink-900);border:none;}
  .subtab-btn.active,.platform-tab.active,.device-btn.active{background:#fff;color:var(--ink-900);font-weight:600;box-shadow:var(--shadow-sm);border:none;}
  .ana-redbar{gap:10px;margin-bottom:18px;padding-bottom:18px;}
  .ana-red-btn{height:44px;padding:0 18px;border-radius:10px;font-size:14px;font-weight:600;border:1px solid var(--line-strong);box-shadow:var(--shadow-xs);transition:background .12s,border-color .12s,color .12s;}
  .ana-red-btn.active{box-shadow:0 1px 2px rgba(15,23,42,.12);}

  /* ---------- Tarjetas ---------- */
  .panel{border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow-xs);padding:24px;margin-bottom:20px;}
  .panel-accent{border-left:1px solid var(--line);}
  .panel-title{font-size:15px;font-weight:600;color:var(--ink-900);letter-spacing:-.01em;line-height:1.35;}
  .panel-title > i:first-child{color:var(--ink-300);margin-right:5px;font-size:13px;}
  .panel-subtitle{font-size:13px;color:var(--ink-500);margin-bottom:20px;line-height:1.5;}
  .section-gap{margin-top:24px;}
  .grid-2{gap:20px;} .grid-3,.grid-4{gap:16px;}

  /* Cifras clave: etiqueta arriba, valor debajo, como tarjeta */
  .stat-block{display:flex;flex-direction:column;padding:0;}
  .stat-block .stat-label{order:-1;margin:0 0 8px 0;font-size:12.5px;font-weight:500;color:var(--ink-500);line-height:1.35;}
  .stat-num{font-size:26px;font-weight:650;letter-spacing:-.025em;color:var(--ink-900);line-height:1.15;}
  .stat-block.accent .stat-num{color:var(--ink-900);}
  .stat-text{color:var(--ink-900);font-weight:600;font-size:15px;}
  .grid-4>.stat-block,.grid-3>.stat-block,.kpi-grid>.stat-block{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow-xs);min-width:0;}
  .kpi-grid{gap:14px;}
  .kpi-grid>.panel{padding:18px 20px;margin-bottom:0;}
  .kpi-grid .stat-num{font-size:24px;}
  .stat-block > div:not(.stat-num):not(.stat-label){font-size:12px;margin-top:6px;}

  .destacados{gap:12px;}
  .destacado{background:#F8F9FB;border:1px solid var(--line);border-radius:10px;padding:14px 16px;}
  .destacado .d-label{text-transform:none;letter-spacing:0;font-size:12.5px;font-weight:500;color:var(--ink-500);}
  .destacado .d-val{font-size:18px;font-weight:650;letter-spacing:-.02em;margin-top:4px;}
  .destacado .d-sub{font-size:12px;margin-top:4px;line-height:1.45;}

  /* ---------- Inicio ---------- */
  .hero-greeting{padding:2px 0 0 0;margin-bottom:24px;border-bottom:none;align-items:flex-end;}
  .hero-greeting h2{font-family:var(--font-display);font-size:28px;font-weight:700;letter-spacing:-.025em;line-height:1.2;}
  .hero-fecha{font-size:13.5px;color:var(--ink-500);margin-top:4px;}
  .hero-resumen{background:var(--brand-50);border:1px solid var(--brand-100);color:var(--brand-700);border-radius:10px;padding:10px 14px;font-size:13px;font-weight:500;max-width:380px;}
  .hoy-grid{gap:24px;}
  .hoy-col h5{text-transform:none;letter-spacing:0;font-size:12.5px;font-weight:600;color:var(--ink-500);margin-bottom:6px;}
  .hoy-item{padding:9px 0;border-bottom:1px solid #EEF0F3;font-size:13.5px;}
  .hoy-item.hoy-alerta{background:var(--bad-bg);border-radius:8px;}
  .activity-item{padding:12px 0;border-bottom:1px solid #EEF0F3;gap:12px;}
  .activity-item .ai-title{font-size:13.5px;font-weight:500;}
  .activity-item .ai-meta{font-size:12px;}
  .activity-item .ai-link{font-size:12.5px;padding:4px 8px;border-radius:6px;}
  .activity-item .ai-link:hover{background:var(--brand-50);text-decoration:none;}
  .quick-action{border-radius:12px;padding:16px;box-shadow:var(--shadow-xs);transition:border-color .14s,box-shadow .14s,transform .14s;}
  .quick-action:hover{border-color:#C9CFD8;box-shadow:var(--shadow-md);transform:translateY(-1px);}
  .quick-action i{width:30px;height:30px;border-radius:8px;background:var(--brand-50);color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:13px;}
  .quick-action span{font-size:13px;font-weight:500;}

  /* ---------- Botones ---------- */
  .btn{min-height:36px;padding:7px 14px;border-radius:9px;font-size:13px;font-weight:600;gap:7px;justify-content:center;line-height:1.3;background:var(--brand);box-shadow:0 1px 2px rgba(15,23,42,.12),inset 0 1px 0 rgba(255,255,255,.12);transition:background .14s,border-color .14s,box-shadow .14s,color .14s;}
  .btn:hover{background:var(--brand-600);}
  .btn:active{transform:translateY(.5px);}
  .btn i{font-size:12px;}
  .btn-secondary{background:#fff;color:var(--ink-900);border-color:var(--line-strong);box-shadow:var(--shadow-xs);}
  .btn-secondary:hover{background:#F7F8FA;border-color:#C3C8D1;color:var(--ink-900);}
  .btn-orange{background:var(--ink-900);} .btn-orange:hover{background:#000;}
  .btn-danger{background:#fff;color:var(--danger);border-color:var(--line-strong);box-shadow:var(--shadow-xs);}
  .btn-danger:hover{background:var(--bad-bg);border-color:#F1B9B3;}
  .btn-ghost{min-height:0;box-shadow:none;background:none;color:var(--teal-700);border-radius:6px;padding:6px 6px;font-weight:600;transition:background .12s,color .12s;}
  .btn-ghost:hover{background:var(--brand-50);color:var(--brand-700);text-decoration:none;}
  .btn-row{gap:8px;}
  .btn-icon{width:30px;height:30px;border-radius:8px;border-color:var(--line);box-shadow:var(--shadow-xs);}
  .btn-icon:hover{border-color:var(--line-strong);background:#F7F8FA;color:var(--ink-900);}
  .btn-mini{border-radius:7px;padding:4px 9px;font-weight:500;border-color:var(--line);}
  .btn-mini:hover{border-color:var(--line-strong);background:#F7F8FA;color:var(--ink-900);}
  .back-link{color:var(--teal-700);font-weight:600;}

  /* ---------- Formularios ---------- */
  .field{margin-bottom:16px;}
  .field label{font-size:12.5px;font-weight:500;color:var(--ink-700);margin-bottom:6px;}
  .field .hint{font-size:12px;color:var(--ink-500);margin-top:6px;line-height:1.45;}
  .field input[type=text],.field input[type=email],.field input[type=date],.field input[type=month],
  .field input[type=password],.field input[type=search],.field input[type=time],.field input[type=url],
  .field input[type=number],.field select,.field textarea,#emailHtmlInput{
    min-height:38px;padding:8px 12px;border:1px solid var(--line-strong);border-radius:9px;background-color:#fff;
    font-size:14px;color:var(--ink-900);box-shadow:var(--shadow-xs);transition:border-color .14s,box-shadow .14s;
  }
  .field input:hover,.field select:hover,.field textarea:hover{border-color:#BCC2CC;}
  .field input:focus,.field select:focus,.field textarea:focus,#emailHtmlInput:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring);outline:none;}
  .field select,.dx-est{appearance:none;-webkit-appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23646D7C' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;}
  .dx-est{padding:5px 30px 5px 9px;border-radius:8px;background-position:right 9px center;}
  ::placeholder{color:#9AA2AF;opacity:1;}
  input[type=checkbox],input[type=radio]{accent-color:var(--brand);}
  .field input[disabled],.field select[disabled],.field textarea[disabled]{background:#F5F6F8;color:var(--ink-500);}
  .file-drop{border-radius:10px;background:#FAFBFC;border-color:var(--line-strong);padding:18px;}
  .file-drop:hover{border-color:var(--brand);background:var(--brand-50);}
  .checkbox-row label{font-weight:500;}
  .filter-row{gap:12px;}

  /* ---------- Tablas ---------- */
  table{font-size:13.5px;}
  th{font-size:12px;font-weight:600;color:var(--ink-500);padding:10px 12px;background:#F8F9FB;border-bottom:1px solid var(--line);}
  th:first-child{border-top-left-radius:8px;} th:last-child{border-top-right-radius:8px;}
  td{padding:11px 12px;border-bottom:1px solid #EEF0F3;color:var(--ink-700);}
  tbody tr:hover td{background:#FAFBFC;}
  .empty-row td{color:var(--ink-500);padding:32px 12px;}
  .empty-row:hover td{background:transparent;}
  .table-wrap{border-radius:8px;}

  /* ---------- Etiquetas ---------- */
  .tag{padding:2px 8px;border-radius:6px;font-size:11.5px;font-weight:500;line-height:1.5;}
  .tag-teal{background:var(--brand-50);color:var(--brand-700);}
  .tag-orange{background:var(--warn-bg);color:var(--warn);}
  .tag-grey,.tag-interno{background:#F1F2F4;color:var(--ink-700);}
  .tag-vencida{background:var(--bad-bg);color:var(--danger);}
  .hashtag-chip{border-radius:6px;background:var(--brand-50);color:var(--brand-700);}
  .client-card-health{border-radius:6px;font-weight:600;}

  /* ---------- Ventanas ---------- */
  .modal-overlay{background:rgba(11,13,18,.48);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);}
  .modal-overlay.active .modal-box{animation:balModalIn .18s ease-out;}
  @keyframes balModalIn{from{opacity:0;transform:translateY(6px) scale(.985);}to{opacity:1;transform:none;}}
  .modal-box{border-radius:16px;padding:28px;border:1px solid rgba(15,23,42,.06);box-shadow:var(--shadow-lg);}
  .modal-box h3{font-size:17px;font-weight:600;letter-spacing:-.015em;margin-bottom:20px;}
  .modal-close{width:32px;height:32px;margin:-6px -8px 0 0;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--ink-500);transition:background .12s,color .12s;}
  .modal-close:hover{background:#F1F2F4;color:var(--ink-900);}
  #toast{border-radius:10px;padding:12px 16px;font-weight:500;background:#0E1116;box-shadow:var(--shadow-lg);}
  #toast i{color:#6F95FF;}

  /* ---------- Calendario, tablero y kanban ---------- */
  .cal-head h3{font-size:16px;font-weight:600;}
  .cal-grid{border-radius:10px;border-color:var(--line);background:var(--line);}
  .cal-dow{background:#F8F9FB;padding:9px 6px;font-size:11.5px;font-weight:600;color:var(--ink-500);}
  .cal-day{padding:7px;}
  .cal-day.other-month{background:#FAFBFC;}
  .cal-day .dnum{font-size:12px;font-weight:500;color:var(--ink-700);}
  .cal-day .entry{border-radius:5px;font-size:10.5px;font-weight:500;padding:2px 6px;}
  .board-col,.idea-col{background:#F0F2F5;border:none;border-radius:12px;padding:10px;}
  .board-col-head,.idea-col-head{text-transform:none;letter-spacing:0;font-size:12.5px;font-weight:600;color:var(--ink-700);margin:4px 4px 10px;}
  .board-card,.idea-card,.kanban-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;box-shadow:var(--shadow-xs);transition:border-color .12s,box-shadow .12s;}
  .board-card:hover,.idea-card:hover,.kanban-card:hover{border-color:#C9CFD8;box-shadow:var(--shadow-sm);}
  .board-card b,.idea-card .it,.kanban-card .kt-title{font-weight:600;}
  .gantt-track{background:#F1F3F5;border-radius:6px;}
  .gantt-bar{border-radius:6px;font-weight:500;}
  .progress-bar{background:#EBEDF0;}

  /* ---------- Clientes ---------- */
  .client-card{border-radius:12px;padding:18px;box-shadow:var(--shadow-xs);transition:border-color .14s,box-shadow .14s,transform .14s;}
  .client-card:hover{border-color:#C9CFD8;box-shadow:var(--shadow-md);transform:translateY(-1px);}
  .client-card-avatar{width:40px;height:40px;border-radius:10px;font-weight:700;font-size:14px;}
  .client-card-nombre{font-size:14.5px;font-weight:600;letter-spacing:-.01em;}
  .client-card-stats{border-top-color:#EEF0F3;}
  .client-card-stat b{font-size:17px;font-weight:650;}
  .event-card{border-radius:12px;box-shadow:var(--shadow-xs);}
  .event-card:hover{border-color:#C9CFD8;box-shadow:var(--shadow-md);transform:translateY(-1px);}

  /* ---------- Varios ---------- */
  .snippet-code{background:#0E1116;color:#D5DAE3;border-radius:10px;}
  .divider{background:var(--line);}
  .check-item{border-bottom-color:#EEF0F3;}
  .mock-card{border-radius:12px;border-color:var(--line);box-shadow:var(--shadow-sm);}
  .email-frame-wrap{border-radius:12px;border-color:var(--line);background:#EEF0F3;}
  .docs-tipo-card{border-radius:12px;box-shadow:var(--shadow-xs);}
  .docs-tipo-card:hover{border-color:var(--brand);box-shadow:var(--shadow-md);}
  .dtc-ico{background:var(--brand-50);color:var(--brand);border-radius:8px;}
  .dtc-n{font-weight:600;}
  .dx-sec{color:var(--ink-500);letter-spacing:.06em;}
  .dp-paper{border-radius:10px;box-shadow:var(--shadow-md);}
  .gsc-bar span{background:var(--brand);}

  /* ---------- Acceso ---------- */
  #loginGate{background:radial-gradient(1200px 600px at 50% -10%,#16204A 0%,#0B0D12 60%) !important;}
  #loginForm{border-radius:18px !important;padding:32px !important;max-width:380px !important;box-shadow:var(--shadow-lg) !important;}
  .login-brand{display:flex;align-items:center;gap:10px;margin-bottom:22px;}
  .login-mark{width:40px;height:40px;border-radius:10px;background:#0B0D12;color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:800;font-size:13px;letter-spacing:.02em;}
  .login-title{font-family:var(--font-display);font-size:20px;font-weight:700;letter-spacing:-.02em;line-height:1.2;}
  .login-sub{font-size:13px;color:var(--ink-500);}
  #loginForm .btn{min-height:40px;margin-top:4px;}

  /* ---------- Móvil ---------- */
  @media (max-width:960px){
    .main{margin-left:0;}
    .sidebar{width:272px;}
    .sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(11,13,18,.45);z-index:19;opacity:0;pointer-events:none;transition:opacity .2s ease;}
    .sidebar.open + .sidebar-backdrop{opacity:1;pointer-events:auto;}
    .topbar{padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top));background:#fff;column-gap:10px;row-gap:12px;}
    .topbar h1{font-size:18px;}
    .topbar-mobile-toggle{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);}
    #syncStatus{width:30px;height:30px;padding:0;}
    .content{padding:20px 16px 56px 16px;}
    .hero-greeting h2{font-size:24px;}
    .modal-box{padding:22px;border-radius:14px;}
  }
  @media (max-width:600px){
    .panel{padding:18px;}
    .content{padding:16px 12px 56px 12px;}
    .grid-4>.stat-block,.grid-3>.stat-block,.kpi-grid>.stat-block,.kpi-grid>.panel{padding:14px 16px;}
    .stat-num{font-size:22px;}
    .kpi-grid .stat-num{font-size:20px;}
    .stat-block .stat-label{font-size:12px;margin-bottom:6px;}
    .tab-btn{margin-right:20px;}
  }

  /* Ajustes finos */
  .sidebar-foot{position:sticky;bottom:0;background:var(--sb-bg);}
  .nav-item{padding:7px 10px;}
  .sidebar-group-label{padding-top:16px;}
  .hoy-item > :last-child{flex-shrink:0;}
  .hoy-item > :last-child:not(:first-child){white-space:nowrap;}

  /* =====================================================================
     ANALÍTICA DE REDES v2
     ===================================================================== */
  .ana-toolbar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:18px;}
  .ana-toolbar .field{margin:0;min-width:200px;}
  .ana-toolbar-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap;}
  .ana-kpis{gap:14px;}
  .ana-kpis > .stat-block .stat-num{font-size:24px;}
  .kpi-delta{margin-top:8px;font-size:12px;font-weight:600;color:var(--ink-500);display:flex;gap:5px;align-items:baseline;flex-wrap:wrap;}
  .kpi-delta span{font-weight:400;color:var(--ink-500);}
  .kpi-delta.up{color:var(--ok);} .kpi-delta.down{color:var(--danger);}
  .ana-empty{color:var(--ink-500);font-size:13px;padding:18px 0;line-height:1.5;}
  .ana-empty-panel{text-align:left;}
  .ana-table th.num,.ana-table td.num{text-align:right;}
  .ana-table td{vertical-align:middle;}
  .ana-table .pub-cell{min-width:220px;white-space:normal;}
  .ana-table .pub-title{color:var(--ink-900);font-weight:500;line-height:1.35;}
  .ana-table .pub-title a{color:var(--ink-900);text-decoration:none;}
  .ana-table .pub-title a:hover{color:var(--brand);text-decoration:underline;}
  .ana-table .pub-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px;}
  .rate-chip{display:inline-flex;align-items:center;gap:2px;padding:2px 8px;border-radius:6px;font-size:12px;font-weight:600;background:#F1F2F4;color:var(--ink-700);white-space:nowrap;font-variant-numeric:tabular-nums;}
  .rate-chip.up{background:var(--ok-bg);color:var(--ok);}
  .rate-chip.down{background:#FDF1EF;color:#B5372D;}
  .delta-txt{font-weight:600;white-space:nowrap;} .delta-txt.up{color:var(--ok);} .delta-txt.down{color:var(--danger);}

  /* Listas: top publicaciones y ranking */
  .top-list{list-style:none;margin:0;padding:0;}
  .top-list li{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #EEF0F3;}
  .top-list li:last-child{border-bottom:none;}
  .top-rank{width:26px;height:26px;border-radius:8px;background:#F1F2F4;color:var(--ink-700);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .top-list li:first-child .top-rank{background:var(--ink-900);color:#fff;}
  .top-body{flex:1;min-width:0;}
  .top-title{font-size:13.5px;font-weight:500;color:var(--ink-900);line-height:1.35;overflow-wrap:anywhere;}
  .top-title a{color:inherit;text-decoration:none;} .top-title a:hover{color:var(--brand);text-decoration:underline;}
  .top-meta{font-size:12px;color:var(--ink-500);margin-top:2px;}
  .top-list.compact li{padding:9px 0;}

  /* Barras horizontales */
  .bar-list{display:flex;flex-direction:column;gap:12px;}
  .bar-row{display:grid;grid-template-columns:minmax(110px,170px) 1fr 64px;gap:12px;align-items:center;}
  .bar-label{font-size:13px;color:var(--ink-900);font-weight:500;overflow-wrap:anywhere;line-height:1.3;}
  .bar-label span{display:block;font-size:11.5px;color:var(--ink-500);font-weight:400;}
  .bar-track{height:10px;background:#F1F2F4;border-radius:6px;overflow:hidden;}
  .bar-fill{height:100%;border-radius:6px;opacity:.85;}
  .bar-val{text-align:right;font-size:13px;font-weight:600;color:var(--ink-900);font-variant-numeric:tabular-nums;}
  .bar-row.is-muted .bar-label{color:var(--ink-500);} .bar-row.is-muted .bar-fill{opacity:.35;}

  /* Mapa de calor */
  .hm-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start;}
  .hm-side .panel{margin-bottom:16px;}
  .hm-controls{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;}
  .hm-controls .field{min-width:200px;}
  .hm-wrap{overflow-x:auto;margin-top:18px;padding-bottom:4px;}
  table.hm{border-collapse:separate;border-spacing:4px;width:100%;table-layout:fixed;min-width:560px;}
  table.hm th{background:none;border:none;padding:0 2px 4px;font-size:12px;font-weight:600;color:var(--ink-700);text-align:center;border-radius:0;}
  table.hm thead th span{display:block;font-size:10.5px;font-weight:400;color:var(--ink-500);margin-top:1px;}
  table.hm tbody th{text-align:left;width:92px;padding-right:6px;font-weight:500;}
  table.hm td.hm-cell{height:58px;border-radius:8px;background:#F4F5F7;text-align:center;padding:4px;border:none;cursor:pointer;transition:transform .1s ease, box-shadow .1s ease;font-variant-numeric:tabular-nums;}
  table.hm td.hm-cell b{display:block;font-size:13px;font-weight:650;line-height:1.2;}
  table.hm td.hm-cell span{display:block;font-size:10.5px;opacity:.8;margin-top:2px;}
  table.hm td.hm-cell:hover{transform:scale(1.04);box-shadow:var(--shadow-md);}
  table.hm td.hm-cell.is-empty{background:repeating-linear-gradient(135deg,#F6F7F9 0 6px,#EFF1F4 6px 12px) !important;cursor:default;}
  table.hm td.hm-cell.is-empty:hover{transform:none;box-shadow:none;}
  table.hm td.hm-cell.is-low{position:relative;}
  table.hm td.hm-cell.is-low::after{content:"";position:absolute;top:5px;right:5px;width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.55;}
  table.hm td.hm-cell.is-sel{outline:2px solid var(--ink-900);outline-offset:1px;}
  table.hm.hm-horas{min-width:860px;border-spacing:3px;}
  table.hm.hm-horas td.hm-cell{height:40px;border-radius:6px;padding:2px;}
  table.hm.hm-horas td.hm-cell b{font-size:11px;}
  table.hm.hm-horas tbody th{width:44px;}
  .hm-legend{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;font-size:12px;color:var(--ink-500);}
  .hm-scale{width:140px;height:8px;border-radius:6px;display:inline-block;}
  .hm-legend-note{margin-left:auto;display:inline-flex;align-items:center;gap:6px;}
  .hm-swatch-empty{width:14px;height:10px;border-radius:3px;display:inline-block;background:repeating-linear-gradient(135deg,#F6F7F9 0 3px,#E4E7EB 3px 6px);}
  .hm-dot{width:5px;height:5px;border-radius:50%;background:var(--ink-500);display:inline-block;}
  .hm-detalle{margin-top:16px;border:1px solid var(--line);border-radius:10px;padding:4px 14px;background:#FAFBFC;}
  .hm-detalle-head{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px;}
  .hm-detalle-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #EEF0F3;font-size:13px;}
  .hm-detalle-row:last-child{border-bottom:none;}
  .hm-detalle-row a{color:var(--ink-900);font-weight:500;}
  .hm-detalle-vals{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--ink-500);white-space:nowrap;}
  .hm-best{background:var(--ink-900) !important;border-color:var(--ink-900) !important;color:#fff;}
  .hm-best .ana-empty{color:#C5CAD3;}
  .hm-best-label{font-size:12.5px;font-weight:500;color:#AEB4BF;}
  .hm-best-val{font-family:var(--font-display);font-size:28px;font-weight:700;letter-spacing:-.02em;margin-top:6px;line-height:1.15;}
  .hm-best-sub{font-size:15px;font-weight:600;color:#DCE6FF;margin-top:2px;}
  .hm-best-text{font-size:13px;color:#C5CAD3;margin-top:12px;line-height:1.5;}
  .hm-confianza{margin-top:12px;font-size:12px;color:#F5C26B;display:flex;gap:6px;align-items:baseline;}
  .hm-confianza.ok{color:#6EE7B7;}
  .hm-facts{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px;margin-top:12px;}
  .hm-facts div{display:flex;flex-direction:column;gap:2px;}
  .hm-facts span{font-size:12px;color:var(--ink-500);}
  .hm-facts b{font-size:15px;font-weight:600;color:var(--ink-900);}
  .hm-facts em{font-style:normal;font-size:12px;color:var(--ink-500);}

  /* Formularios amplios */
  .modal-box.modal-lg{max-width:760px;}
  .form-section{border-top:1px solid var(--line);padding-top:16px;margin-top:4px;margin-bottom:8px;}
  .modal-box h3 + .form-section{border-top:none;padding-top:0;}
  .form-section-title{font-size:13px;font-weight:600;color:var(--ink-900);margin-bottom:14px;}
  .form-grid-2,.form-grid-3{display:grid;gap:0 14px;}
  .form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
  .form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}
  .metric-group{margin-bottom:6px;}
  .metric-group-title{font-size:12px;font-weight:600;color:var(--ink-500);margin:4px 0 8px;}
  .metric-group .field label{font-size:12px;}
  .metric-group .field .hint{font-size:11.5px;}
  .calc-chips{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 14px;}
  .calc-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:8px;background:var(--brand-50);color:var(--brand-700);font-size:12.5px;}
  .calc-chip b{font-weight:650;}
  .calc-chip.warn{background:var(--warn-bg);color:var(--warn);}
  #pubPlatformTabs,#perfPlatformTabs{display:flex;width:100%;}
  #pubPlatformTabs .platform-tab,#perfPlatformTabs .platform-tab{flex:1;justify-content:center;}

  @media (max-width:1180px){ .hm-layout{grid-template-columns:1fr;} .hm-side{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;} .hm-side .panel{margin-bottom:0;} }
  @media (max-width:760px){
    .ana-toolbar .field{min-width:0;flex:1 1 150px;}
    .ana-toolbar-actions{margin-left:0;width:100%;}
    .ana-toolbar-actions .btn{flex:1;}
    .form-grid-3{grid-template-columns:repeat(2,minmax(0,1fr));}
    .bar-row{grid-template-columns:minmax(90px,120px) 1fr 56px;gap:8px;}
    .hm-controls{width:100%;margin-top:12px;}
    .hm-controls .field{flex:1;min-width:0;}
    .hm-legend-note{margin-left:0;}
  }
  @media (max-width:900px){ .ana-kpis{grid-template-columns:repeat(2,minmax(0,1fr));} }
  @media (max-width:480px){
    .form-grid-2{grid-template-columns:1fr;}
    .ana-kpis > .stat-block .stat-num{font-size:20px;}
  }

  /* ---------- Perfil v3: conclusiones, objetivos, embudo, audiencia ---------- */
  .perf-fila{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:20px;}
  .perf-fila > .panel{margin-bottom:0;}
  .insight-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
  .insight-list li{display:flex;gap:10px;align-items:baseline;font-size:13.5px;line-height:1.5;color:var(--ink-700);}
  .insight-list li b{color:var(--ink-900);font-weight:600;}
  .insight-dot{width:8px;height:8px;border-radius:50%;background:#C9CFD8;flex-shrink:0;transform:translateY(-1px);}
  .insight-list li.up .insight-dot{background:var(--ok);}
  .insight-list li.down .insight-dot{background:var(--danger);}
  .obj-row{margin-bottom:16px;}
  .obj-row:last-child{margin-bottom:0;}
  .obj-head{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:var(--ink-700);margin-bottom:6px;}
  .obj-head b{color:var(--ink-900);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;}
  .obj-head em{font-style:normal;color:var(--ink-500);font-weight:400;}
  .obj-track{height:8px;background:#EBEDF0;border-radius:6px;overflow:hidden;}
  .obj-fill{height:100%;background:var(--brand);border-radius:6px;transition:width .3s ease;}
  .obj-fill.ok{background:var(--ok);}
  .obj-nota{font-size:12px;color:var(--ink-500);margin-top:5px;}
  .funnel{display:flex;flex-direction:column;gap:12px;}
  .funnel-step{display:flex;flex-direction:column;gap:6px;}
  .funnel-bar{height:14px;border-radius:6px;min-width:6%;}
  .funnel-txt{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--ink-700);}
  .funnel-txt b{color:var(--ink-900);font-weight:650;font-variant-numeric:tabular-nums;}
  .funnel-txt em{font-style:normal;font-size:12px;color:var(--ink-500);margin-left:auto;}
  .mini-title{font-size:12.5px;font-weight:600;color:var(--ink-700);margin:16px 0 8px;}
  .panel-subtitle + .mini-title{margin-top:0;}
  .stack-bar{display:flex;height:12px;border-radius:6px;overflow:hidden;background:#EBEDF0;}
  .stack-bar span{display:block;height:100%;}
  .stack-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:8px;font-size:12px;color:var(--ink-500);}
  .stack-legend span{display:inline-flex;align-items:center;gap:6px;}
  .stack-legend i{width:8px;height:8px;border-radius:2px;display:inline-block;}
  .stack-legend b{color:var(--ink-900);font-weight:600;}
  .bar-list.compact{gap:8px;}
  .bar-list.compact .bar-row{grid-template-columns:minmax(90px,150px) 1fr 52px;}
  .aud-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px 28px;}
  .aud-block .mini-title{margin-top:0;}
  .age-bars{display:flex;gap:8px;align-items:flex-end;height:150px;}
  .age-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;height:100%;}
  .age-bar-wrap{flex:1;width:100%;display:flex;align-items:flex-end;}
  .age-bar{width:100%;border-radius:5px 5px 2px 2px;}
  .age-col b{font-size:11.5px;font-weight:600;color:var(--ink-900);font-variant-numeric:tabular-nums;}
  .age-col span{font-size:10.5px;color:var(--ink-500);white-space:nowrap;}
  .aud-activo-val{font-size:18px;font-weight:650;color:var(--ink-900);display:flex;align-items:center;gap:8px;margin-bottom:6px;}
  .aud-activo-val i{font-size:14px;color:var(--ink-500);}
  .hm-aud{display:flex;gap:8px;align-items:baseline;margin-top:12px;padding:10px 12px;border-radius:8px;background:var(--brand-50);color:var(--brand-700);font-size:12.5px;line-height:1.45;}
  .form-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 12px;}
  .form-details{border:1px solid var(--line);border-radius:10px;padding:0 14px;margin:6px 0 16px;background:#FAFBFC;}
  .form-details summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;font-size:13px;color:var(--ink-700);}
  .form-details summary::-webkit-details-marker{display:none;}
  .form-details summary i{font-size:11px;color:var(--ink-500);transition:transform .15s ease;}
  .form-details[open] summary i{transform:rotate(180deg);}
  .form-details[open]{padding-bottom:6px;}
  .form-details textarea{min-height:96px;font-size:13px;}
  @media (max-width:1100px){ .perf-fila{grid-template-columns:1fr;} }
  @media (max-width:760px){ .form-grid-4{grid-template-columns:repeat(2,minmax(0,1fr));} .age-bars{gap:4px;} }

  /* =====================================================================
     TAREAS v2 (estilo Cidaut adaptado a BAL)
     ===================================================================== */
  .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;}
  .btn-link{background:none;border:0;padding:0;font:inherit;font-size:12.5px;font-weight:600;color:var(--brand);cursor:pointer;text-decoration:underline;text-underline-offset:2px;}
  .tk-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px;}
  .tk-kpi{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;text-align:left;
    background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;cursor:pointer;font:inherit;box-shadow:var(--shadow-xs);transition:border-color .12s, box-shadow .12s;}
  .tk-kpi:hover{border-color:#C9CFD8;box-shadow:var(--shadow-sm);}
  .tk-kpi.activo{border-color:var(--ink-900);box-shadow:0 0 0 1px var(--ink-900) inset;}
  .tk-kpi-icono{grid-row:1 / span 2;width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:15px;}
  .tk-kpi-n{font-size:22px;font-weight:650;letter-spacing:-.02em;color:var(--ink-900);line-height:1.1;font-variant-numeric:tabular-nums;}
  .tk-kpi-label{font-size:12px;color:var(--ink-500);font-weight:500;}
  .tk-kpi.cero .tk-kpi-n{color:var(--ink-300);}
  .tk-kpi-rojo .tk-kpi-icono{background:var(--bad-bg);color:var(--danger);}
  .tk-kpi-naranja .tk-kpi-icono{background:var(--warn-bg);color:var(--warn);}
  .tk-kpi-azul .tk-kpi-icono{background:var(--brand-50);color:var(--brand);}
  .tk-kpi-violeta .tk-kpi-icono{background:#F1EBFD;color:#6C3FB5;}
  .tk-kpi-verde .tk-kpi-icono{background:var(--ok-bg);color:var(--ok);}
  .tk-kpi-rojo:not(.cero) .tk-kpi-n{color:var(--danger);}
  .tk-aviso{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--bad-bg);border:1px solid #F3C9C4;color:#8E2A22;border-radius:12px;padding:10px 14px;margin-bottom:14px;font-size:13.5px;}
  .tk-aviso > i{color:var(--danger);}
  .tk-aviso .btn{margin-left:auto;}

  .tk-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px;}
  .tk-buscar{position:relative;flex:1 1 260px;max-width:420px;}
  .tk-buscar i{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--ink-300);font-size:12.5px;pointer-events:none;}
  .tk-buscar input{width:100%;height:38px;padding:0 12px 0 36px;border:1px solid var(--line-strong);border-radius:10px;font:inherit;font-size:14px;background:#fff;box-shadow:var(--shadow-xs);}
  .tk-buscar input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring);}
  .tk-filtros-wrap{position:relative;}
  .tk-filtros-n{display:inline-flex;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--brand);color:#fff;font-size:10.5px;font-weight:700;align-items:center;justify-content:center;}
  .tk-filtros-panel{position:absolute;left:0;top:calc(100% + 8px);width:300px;max-width:calc(100vw - 32px);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);padding:14px 16px 12px;display:none;z-index:40;}
  .tk-filtros-panel.abierto{display:block;}
  .tk-filtros-panel .field{margin-bottom:10px;}
  .tk-interruptor{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--ink-700);cursor:pointer;user-select:none;}
  .tk-interruptor input{position:absolute;opacity:0;width:1px;height:1px;}
  .tk-interruptor-pista{position:relative;width:34px;height:20px;border-radius:999px;background:#CDD2DA;transition:background .15s;flex-shrink:0;}
  .tk-interruptor-pista::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .15s;}
  .tk-interruptor input:checked + .tk-interruptor-pista{background:var(--brand);}
  .tk-interruptor input:checked + .tk-interruptor-pista::after{transform:translateX(14px);}
  .tk-interruptor input:focus-visible + .tk-interruptor-pista{box-shadow:0 0 0 3px var(--brand-ring);}
  .tk-contador{font-size:12px;color:var(--ink-500);}
  .tk-nueva{margin-left:auto;}
  .tk-chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:14px;}
  .tk-chips:empty{display:none;}
  .tk-chip{display:inline-flex;align-items:center;gap:4px;background:var(--brand-50);color:var(--brand-700);border-radius:999px;padding:3px 4px 3px 10px;font-size:12px;font-weight:600;}
  .tk-chip-rapido{background:var(--ink-900);color:#fff;}
  .tk-chip button{border:0;background:transparent;color:inherit;opacity:.75;cursor:pointer;width:22px;height:22px;border-radius:50%;font-size:11px;}
  .tk-chip button:hover{opacity:1;background:rgba(0,0,0,.08);}

  .tk-lista-cab{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap;margin-bottom:14px;}
  .tk-rapida-wrap{flex:1 1 380px;min-width:0;}
  .tk-rapida{display:flex;align-items:center;gap:8px;background:#fff;border:1px dashed var(--line-strong);border-radius:12px;padding:5px 6px 5px 14px;transition:border-color .12s, box-shadow .12s;}
  .tk-rapida:focus-within{border-style:solid;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring);}
  .tk-rapida > i{color:var(--brand);font-size:13px;}
  .tk-rapida input{flex:1;min-width:0;border:0;outline:none;font:inherit;font-size:14px;padding:7px 0;background:transparent;}
  .tk-rapida .btn{min-height:32px;padding:5px 12px;font-size:12.5px;}
  .tk-rapida-prev{display:flex;gap:6px;flex-wrap:wrap;align-items:center;min-height:0;margin-top:6px;padding-left:4px;}
  .tk-rapida-prev:empty{display:none;}
  .tk-prev-item{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--ink-700);background:#F1F2F4;border-radius:6px;padding:2px 8px;}
  .tk-prev-item i{font-size:10.5px;color:var(--ink-500);}
  .tk-prev-prio-alta{background:#FFF0E6;color:#C2410C;} .tk-prev-prio-alta i{color:#C2410C;}
  .tk-prev-ayuda{font-size:12px;color:var(--ink-500);}
  .tk-prev-ayuda b{font-weight:600;color:var(--ink-700);}
  .tk-agrupar{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:500;color:var(--ink-500);}
  .tk-agrupar select{height:38px;padding:0 32px 0 12px;border:1px solid var(--line-strong);border-radius:10px;background-color:#fff;font:inherit;font-size:13px;color:var(--ink-900);appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23646D7C' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;}

  .tk-grupo{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:12px;overflow:hidden;box-shadow:var(--shadow-xs);}
  .tk-grupo-cab{display:flex;align-items:center;gap:10px;width:100%;padding:11px 16px;border:0;background:#FAFBFC;font:inherit;cursor:pointer;text-align:left;border-bottom:1px solid var(--line);}
  .tk-grupo-cab[aria-expanded="false"]{border-bottom:0;}
  .tk-grupo-flecha{font-size:10px;color:var(--ink-300);width:10px;}
  .tk-grupo-icono{font-size:12.5px;}
  .tk-grupo-titulo{font-size:13.5px;font-weight:600;color:var(--ink-900);}
  .tk-grupo-n{font-size:11.5px;font-weight:600;color:var(--ink-500);background:#EEF0F3;border-radius:999px;padding:1px 8px;}
  .tk-grupo-rojo .tk-grupo-icono,.tk-grupo-rojo .tk-grupo-titulo{color:var(--danger);}
  .tk-grupo-naranja .tk-grupo-icono{color:var(--warn);}
  .tk-grupo-azul .tk-grupo-icono{color:var(--brand);}
  .tk-grupo-verde .tk-grupo-icono{color:var(--ok);}
  .tk-grupo-gris .tk-grupo-icono{color:var(--ink-500);}

  .tk-fila{display:flex;align-items:center;gap:12px;padding:10px 16px 10px 13px;border-top:1px solid #EEF0F3;border-left:3px solid transparent;transition:background .1s;}
  .tk-grupo-cuerpo .tk-fila:first-child{border-top:0;}
  .tk-fila:hover{background:#FAFBFC;}
  .tk-fila.tk-prio-alta{border-left-color:#E8590C;}
  .tk-fila.tk-prio-media{border-left-color:#8CA8FF;}
  .tk-fila.tk-prio-baja{border-left-color:#D4D8DF;}
  .tk-check{width:22px;height:22px;border-radius:50%;border:2px solid var(--line-strong);background:#fff;color:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:10px;flex-shrink:0;transition:all .15s;position:relative;}
  .tk-check::before{content:"";position:absolute;inset:-10px;}
  .tk-check:hover{border-color:var(--ok);color:var(--ok);}
  .tk-check.marcada{background:var(--ok);border-color:var(--ok);color:#fff;}
  .tk-fila-main{flex:1;min-width:0;cursor:pointer;outline:none;}
  .tk-fila-main:focus-visible .tk-fila-titulo{text-decoration:underline;}
  .tk-fila-titulo{font-size:14px;font-weight:500;color:var(--ink-900);overflow-wrap:anywhere;line-height:1.4;}
  .tk-fila.hecha .tk-fila-titulo{text-decoration:line-through;color:var(--ink-300);}
  .tk-fila-meta{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap;margin-top:3px;}
  .tk-fila-meta:empty{display:none;}
  .tk-meta-item{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--ink-500);}
  .tk-meta-item i{font-size:10.5px;}
  .tk-cli-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0;}
  .tk-etiqueta{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:600;border-radius:5px;padding:1px 7px;white-space:nowrap;line-height:1.6;}
  .tk-etiqueta button{border:0;background:transparent;color:inherit;cursor:pointer;font-size:9.5px;padding:0 0 0 2px;opacity:.7;}
  .tk-etiqueta button:hover{opacity:1;}
  .tk-fila-der{display:flex;align-items:center;gap:8px;flex-shrink:0;}
  .tk-vence{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--ink-500);white-space:nowrap;padding:2px 8px;border-radius:6px;}
  .tk-vence i{font-size:10.5px;}
  .tk-vence-tarde{background:var(--bad-bg);color:var(--danger);}
  .tk-vence-hoy{background:var(--warn-bg);color:var(--warn);}
  .tk-vence-pronto{color:var(--brand);}
  .tk-vence-hecha{color:var(--ink-300);}
  select.tk-pill{appearance:none;-webkit-appearance:none;border:1px solid transparent;border-radius:999px;padding:3px 10px;font:inherit;font-size:11.5px;font-weight:600;cursor:pointer;min-height:0;box-shadow:none;}
  select.tk-pill:hover{border-color:rgba(0,0,0,.12);}
  select.tk-pill:focus{outline:none;box-shadow:0 0 0 3px var(--brand-ring);}
  .tk-pill-estado-pendiente{background:#EEF0F3;color:var(--ink-700);}
  .tk-pill-estado-progreso{background:#F1EBFD;color:#6C3FB5;}
  .tk-pill-estado-hecha{background:var(--ok-bg);color:var(--ok);}
  .tk-pill-prio-alta{background:#FFF0E6;color:#C2410C;}
  .tk-pill-prio-media{background:var(--brand-50);color:var(--brand-700);}
  .tk-pill-prio-baja{background:#F1F2F4;color:var(--ink-500);}
  .tk-fila-acciones{display:flex;gap:2px;opacity:0;transition:opacity .12s;}
  .tk-fila:hover .tk-fila-acciones,.tk-fila-acciones:focus-within{opacity:1;}
  .tk-fila-acciones button,.tk-panel-iconos button{width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:var(--ink-500);cursor:pointer;font-size:12px;}
  .tk-fila-acciones button:hover,.tk-panel-iconos button:hover{background:var(--brand-50);color:var(--brand-700);}
  .tk-fila-acciones .tk-acc-borrar:hover,.tk-panel-iconos .tk-acc-borrar:hover{background:var(--bad-bg);color:var(--danger);}

  .tk-vacio{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:44px 16px;background:#fff;border:1px dashed var(--line-strong);border-radius:12px;}
  .tk-vacio-icono{width:52px;height:52px;border-radius:14px;background:var(--brand-50);color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:6px;}
  .tk-vacio strong{font-size:14.5px;color:var(--ink-900);font-weight:600;}
  .tk-vacio span{font-size:13px;color:var(--ink-500);margin-bottom:6px;}

  .tk-tablero{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start;}
  .tk-col{background:#F0F2F5;border:1px solid transparent;border-radius:14px;padding:10px;min-height:160px;transition:background .12s, border-color .12s;}
  .tk-col.sobre{background:var(--brand-50);border-color:var(--brand);border-style:dashed;}
  .tk-col-cab{display:flex;align-items:center;gap:8px;padding:4px 6px 10px;font-size:13px;font-weight:600;color:var(--ink-900);}
  .tk-col-n{font-size:11.5px;font-weight:600;color:var(--ink-500);background:#fff;border-radius:999px;padding:1px 8px;}
  .tk-col-add{margin-left:auto;width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:var(--ink-500);cursor:pointer;}
  .tk-col-add:hover{background:#fff;color:var(--brand);}
  .tk-col .kanban-col{gap:8px;}
  .tk-dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex-shrink:0;margin-right:2px;}
  .tk-dot-pendiente{background:#9AA2AF;} .tk-dot-progreso{background:#7C4DDB;} .tk-dot-hecha{background:var(--ok);}
  .tk-card{background:#fff;border:1px solid var(--line);border-left:3px solid transparent;border-radius:10px;padding:10px 12px;box-shadow:var(--shadow-xs);cursor:grab;}
  .tk-card.tk-prio-alta{border-left-color:#E8590C;} .tk-card.tk-prio-media{border-left-color:#8CA8FF;} .tk-card.tk-prio-baja{border-left-color:#D4D8DF;}
  .tk-card:hover{border-color:#C9CFD8;box-shadow:var(--shadow-md);}
  .tk-card.arrastrando{opacity:.4;transform:rotate(1.5deg);}
  .tk-card.hecha .kt-title{text-decoration:line-through;color:var(--ink-300);}
  .tk-card .kt-title{font-size:13.5px;font-weight:600;margin-bottom:4px;overflow-wrap:anywhere;color:var(--ink-900);}
  .tk-card-etiquetas{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:6px;}
  .tk-card-cliente{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-500);margin-bottom:6px;}
  .tk-card-pie{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
  .tk-card-pie .tk-vence{padding:1px 6px;font-size:11.5px;}
  .tk-card-mover{margin-left:auto;width:28px;height:28px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink-500);cursor:pointer;font-size:11px;}
  .tk-card-mover:hover{border-color:var(--brand);color:var(--brand);}
  .tk-prio-badge{font-size:11px;} .tk-prio-badge-alta{color:#E8590C;} .tk-prio-badge-media{color:#8CA8FF;} .tk-prio-badge-baja{color:#B8C0CC;}
  .tk-col-vacia{font-size:12px;color:var(--ink-300);text-align:center;padding:22px 8px;border:1px dashed var(--line-strong);border-radius:10px;}
  .tk-col-mas{font-size:11.5px;color:var(--ink-500);text-align:center;padding:6px;}

  .cal-day.cal-hoy{box-shadow:inset 0 0 0 2px var(--brand);}
  .cal-day .entry.tk-cal-entry{border-left:3px solid transparent;}
  .cal-day .entry.tk-prio-alta{border-left-color:#E8590C;}
  .cal-day .entry.tk-prio-baja{border-left-color:#D4D8DF;}
  .cal-day .entry.tk-cal-tarde{background:var(--bad-bg);color:var(--danger);}
  .cal-day .entry i{font-size:9px;}
  .cal-head{gap:8px;}
  .cal-head h3{flex:1;text-align:center;}

  #ganttChart{--gl:190px;}
  #ganttChart .gantt-wrap{overflow-x:auto;}
  #ganttChart .gantt-inner{position:relative;min-width:560px;}
  #ganttChart .gantt-cabecera{position:relative;height:42px;border-bottom:1px solid var(--line);}
  #ganttChart .gantt-marca{position:absolute;top:4px;transform:translateX(-50%);font-size:10.5px;color:var(--ink-500);white-space:nowrap;}
  #ganttChart .gantt-cuerpo{position:relative;}
  #ganttChart .gantt-linea{position:absolute;top:0;bottom:0;width:1px;background:rgba(0,0,0,.06);z-index:1;pointer-events:none;}
  #ganttChart .gantt-hoy{position:absolute;top:-42px;bottom:0;width:2px;background:var(--danger);z-index:3;pointer-events:none;}
  #ganttChart .gantt-hoy > span{position:absolute;top:21px;left:50%;transform:translateX(-50%);background:var(--danger);color:#fff;font-size:10px;font-weight:600;padding:1px 7px;border-radius:8px;white-space:nowrap;}
  #ganttChart .gantt-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid #EEF0F3;position:relative;z-index:2;}
  #ganttChart .gantt-row:last-child{border-bottom:none;}
  #ganttChart .gantt-label{width:calc(var(--gl) - 10px);flex-shrink:0;font-size:12.5px;color:var(--ink-700);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:6px;}
  #ganttChart .gantt-track{flex:1;position:relative;height:22px;background:rgba(241,243,245,.8);border-radius:6px;min-width:0;}
  #ganttChart .gantt-bar{position:absolute;top:0;height:100%;min-width:8px;border-radius:6px;background:var(--brand);font-size:10.5px;color:#fff;display:flex;align-items:center;padding:0 7px;overflow:hidden;white-space:nowrap;cursor:pointer;}
  #ganttChart .gantt-bar.prioridad-alta{background:#E8590C;}
  #ganttChart .gantt-bar.prioridad-baja{background:#9AA2AF;}
  #ganttChart .gantt-bar.hecha{opacity:.45;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.35) 0 5px,transparent 5px 10px);}
  #ganttChart .gantt-bar.tarde{box-shadow:0 0 0 2px var(--danger) inset;}
  #ganttChart .gantt-row.hecha .gantt-label{text-decoration:line-through;color:var(--ink-300);}
  #ganttChart .gantt-bar-fuera{position:absolute;top:0;height:100%;display:flex;align-items:center;font-size:11px;color:var(--ink-700);white-space:nowrap;pointer-events:none;max-width:60%;overflow:hidden;text-overflow:ellipsis;}
  .tk-gantt-leyenda{display:flex;gap:14px;flex-wrap:wrap;font-size:11.5px;color:var(--ink-500);margin-bottom:10px;}
  .tk-gantt-leyenda span{display:inline-flex;align-items:center;gap:6px;}
  .tk-ley{display:inline-block;width:16px;height:9px;border-radius:3px;}
  .tk-ley-alta{background:#E8590C;} .tk-ley-media{background:var(--brand);} .tk-ley-baja{background:#9AA2AF;}
  .tk-ley-tarde{background:#fff;box-shadow:0 0 0 2px var(--danger) inset;} .tk-ley-hecha{background:var(--brand);opacity:.4;}

  /* Panel lateral de detalle */
  .modal-overlay.tk-panel-overlay{justify-content:flex-end;align-items:stretch;padding:0;background:rgba(11,13,18,.32);}
  .tk-panel{width:min(600px, 100vw);height:100%;background:#fff;display:flex;flex-direction:column;box-shadow:-12px 0 40px rgba(15,23,42,.18);animation:tkEntra .2s cubic-bezier(.2,.8,.2,1);}
  @keyframes tkEntra{from{transform:translateX(40px);opacity:.3;}to{transform:none;opacity:1;}}
  .tk-panel-cab{display:flex;align-items:center;gap:10px;padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top));border-bottom:1px solid var(--line);}
  .tk-panel-tipo{font-size:12px;font-weight:600;color:var(--ink-500);margin-right:auto;}
  .tk-hecha-btn{min-height:32px;padding:5px 11px;font-size:12.5px;}
  .tk-hecha-btn:hover{border-color:var(--ok);color:var(--ok);background:var(--ok-bg);}
  .tk-hecha-btn.hecha{background:var(--ok-bg);border-color:#B7DFC1;color:var(--ok);}
  .tk-panel-iconos{display:flex;gap:2px;}
  .tk-panel-cuerpo{flex:1;overflow-y:auto;padding:18px 22px 24px;-webkit-overflow-scrolling:touch;}
  .tk-panel-titulo{width:100%;border:0;resize:none;outline:none;font:inherit;font-size:20px;font-weight:650;letter-spacing:-.015em;color:var(--ink-900);line-height:1.3;padding:4px 6px;margin:0 -6px 12px;border-radius:8px;overflow:hidden;}
  .tk-panel-titulo:hover{background:#F6F7F9;}
  .tk-panel-titulo:focus{background:#fff;box-shadow:0 0 0 2px var(--brand-ring);}
  .tk-props{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px;}
  .tk-prop{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:8px;min-height:40px;font-size:13px;cursor:default;}
  .tk-prop > span{font-size:12.5px;font-weight:500;color:var(--ink-500);display:flex;align-items:center;gap:7px;}
  .tk-prop > span i{width:13px;text-align:center;color:var(--ink-300);}
  .tk-prop input,.tk-prop select{width:100%;min-height:36px;border:1px solid transparent;border-radius:8px;background-color:transparent;padding:6px 8px;font:inherit;font-size:13.5px;color:var(--ink-900);appearance:none;-webkit-appearance:none;}
  .tk-prop input:hover,.tk-prop select:hover{background-color:#F6F7F9;border-color:var(--line);}
  .tk-prop input:focus,.tk-prop select:focus{outline:none;background-color:#fff;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring);}
  .tk-prop-ancho{grid-column:1 / -1;}
  .tk-etiquetas-edit{display:flex;flex-wrap:wrap;align-items:center;gap:5px;padding:4px 6px;border:1px solid transparent;border-radius:8px;cursor:text;min-height:36px;}
  .tk-etiquetas-edit:hover{background:#F6F7F9;border-color:var(--line);}
  .tk-etiquetas-edit:focus-within{background:#fff;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring);}
  .tk-etiquetas-edit #tareaEtiquetasLista{display:contents;}
  .tk-etiquetas-edit input{flex:1;min-width:120px;border:0 !important;background:transparent !important;box-shadow:none !important;padding:3px 2px !important;min-height:0 !important;}
  .tk-repetir-nota{font-size:12px;color:var(--brand-700);margin:8px 0 0;background:var(--brand-50);border-radius:8px;padding:8px 10px;display:flex;gap:8px;align-items:baseline;}
  .tk-seccion{margin-top:22px;}
  .tk-seccion > label,.tk-seccion-titulo{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--ink-700);margin-bottom:8px;}
  .tk-seccion > label i,.tk-seccion-titulo i{color:var(--ink-300);}
  .tk-seccion textarea#tareaDescripcion,.tk-seccion textarea#prNotas{width:100%;min-height:90px;border:1px solid var(--line-strong);border-radius:10px;padding:10px 12px;font:inherit;font-size:14px;line-height:1.55;resize:vertical;box-shadow:var(--shadow-xs);}
  .tk-seccion textarea#tareaDescripcion:focus,.tk-seccion textarea#prNotas:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring);}
  .tk-com-n{font-size:11px;background:#EEF0F3;color:var(--ink-500);border-radius:999px;padding:0 7px;}
  .tk-com-n:empty{display:none;}
  .tk-comentarios{display:flex;flex-direction:column;gap:12px;max-height:340px;overflow-y:auto;margin-bottom:12px;}
  .tk-com{display:flex;gap:10px;align-items:flex-start;}
  .tk-avatar{width:28px;height:28px;border-radius:8px;background:var(--brand);color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}
  .tk-com-cuerpo{flex:1;min-width:0;background:#F6F7F9;border-radius:4px 12px 12px 12px;padding:8px 12px;}
  .tk-com-cab{display:flex;align-items:center;gap:8px;font-size:12px;}
  .tk-com-cab strong{color:var(--ink-900);font-weight:600;}
  .tk-com-cab span{color:var(--ink-500);font-size:11.5px;}
  .tk-com-borrar{margin-left:auto;border:0;background:transparent;color:var(--ink-300);cursor:pointer;font-size:11px;opacity:0;padding:2px 4px;border-radius:4px;}
  .tk-com:hover .tk-com-borrar,.tk-com-borrar:focus-visible{opacity:1;}
  .tk-com-borrar:hover{color:var(--danger);}
  .tk-com-texto{font-size:13.5px;line-height:1.5;color:var(--ink-700);margin-top:3px;overflow-wrap:anywhere;}
  .tk-com-vacio{font-size:13px;color:var(--ink-300);padding:6px 0;}
  .tk-com-nuevo{display:flex;gap:8px;align-items:flex-end;}
  .tk-com-nuevo textarea{flex:1;min-height:44px;border:1px solid var(--line-strong);border-radius:12px;padding:11px 12px;font:inherit;font-size:14px;resize:none;line-height:1.45;}
  .tk-com-nuevo textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring);}
  .tk-com-nuevo .btn{height:44px;width:44px;justify-content:center;padding:0;border-radius:12px;}
  .tk-panel-pie{display:flex;align-items:center;gap:8px;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#FAFBFC;}
  .tk-panel-meta{margin-right:auto;font-size:12px;color:var(--ink-500);}

  /* Confirmación propia */
  .confirm-overlay{z-index:140 !important;}
  .confirm-box{max-width:400px !important;text-align:left;padding:24px !important;}
  .confirm-icono{width:44px;height:44px;border-radius:12px;background:var(--bad-bg);color:var(--danger);display:flex;align-items:center;justify-content:center;font-size:18px;margin-bottom:14px;}
  .confirm-icono.neutro{background:var(--brand-50);color:var(--brand);}
  .confirm-box h3{margin-bottom:6px !important;font-size:17px;}
  .confirm-box p{font-size:14px;color:var(--ink-700);line-height:1.55;white-space:pre-line;margin:0 0 20px;overflow-wrap:anywhere;}
  .confirm-botones{display:flex;gap:8px;justify-content:flex-end;}
  .btn-danger-solid{background:var(--danger) !important;color:#fff !important;border-color:transparent !important;}
  .btn-danger-solid:hover{background:#B0302A !important;}

  /* Aviso inferior con «Deshacer» */
  #toast{transition:opacity .2s ease, transform .2s ease;opacity:0;transform:translateY(8px);gap:12px !important;}
  #toast.visible{opacity:1;transform:none;}
  .toast-accion{border:0;background:transparent;color:#8FB0FF;font:inherit;font-size:13px;font-weight:600;cursor:pointer;padding:2px 4px;margin-left:4px;border-radius:6px;}
  .toast-accion:hover{background:rgba(255,255,255,.08);}

  @media (max-width:1000px){ .tk-kpis{grid-template-columns:repeat(3,minmax(0,1fr));} .tk-tablero{grid-template-columns:minmax(0,1fr);} }
  @media (max-width:760px){
    .tk-kpis{display:flex;overflow-x:auto;gap:10px;margin:0 -12px 14px;padding:2px 12px 4px;scroll-snap-type:x proximity;scrollbar-width:none;}
    .tk-kpis::-webkit-scrollbar{display:none;}
    .tk-kpis .tk-kpi{flex:0 0 136px;scroll-snap-align:start;padding:10px 12px;}
    .tk-kpi-icono{width:32px;height:32px;font-size:13px;}
    .tk-kpi-n{font-size:20px;}
    .tk-toolbar{gap:8px;}
    .tk-buscar{flex:1 1 100%;max-width:none;}
    .tk-txt-filtros{display:none;}
    .tk-nueva{display:none;}
    .tk-contador{margin-left:auto;}
    .tk-lista-cab{gap:10px;}
    .tk-rapida-wrap{flex-basis:100%;}
    .tk-agrupar{width:100%;}
    .tk-agrupar select{flex:1;}
    .tk-grupo{margin-left:-4px;margin-right:-4px;}
    .tk-fila{flex-wrap:wrap;padding:12px 12px 12px 10px;gap:10px;align-items:flex-start;}
    .tk-check{margin-top:1px;}
    .tk-fila-main{flex:1 1 calc(100% - 40px);}
    .tk-fila-der{width:100%;padding-left:32px;flex-wrap:wrap;gap:6px;}
    .tk-fila-acciones{opacity:1;margin-left:auto;}
    .tk-tablero{display:flex;overflow-x:auto;gap:12px;margin:0 -12px;padding:0 12px 8px;scroll-snap-type:x mandatory;}
    .tk-col{flex:0 0 86%;scroll-snap-align:start;}
    .tk-props{grid-template-columns:minmax(0,1fr);}
    .tk-prop{grid-template-columns:120px minmax(0,1fr);border-bottom:1px solid #F1F2F4;}
    .tk-panel{width:100vw;animation:tkSube .24s cubic-bezier(.2,.8,.2,1);}
    @keyframes tkSube{from{transform:translateY(30px);opacity:.3;}to{transform:none;opacity:1;}}
    .tk-panel-tipo{display:none;}
    .tk-hecha-btn{margin-right:auto;}
    .tk-panel-cuerpo{padding:14px 16px 20px;}
    .tk-panel-pie .btn{flex:1;}
    .tk-panel-meta:empty{display:none;}
    #ganttChart{--gl:130px;}
    .confirm-overlay{align-items:flex-end !important;padding:0 !important;}
    .confirm-box{max-width:none !important;width:100%;border-radius:20px 20px 0 0 !important;padding:22px 20px calc(18px + env(safe-area-inset-bottom)) !important;}
    .confirm-botones{flex-direction:column-reverse;}
    .confirm-botones .btn{width:100%;min-height:46px;font-size:15px;}
  }
  /* ===================== PLANIFICACIÓN DE PUBLICACIONES ===================== */
  .pl-kpis{grid-template-columns:repeat(6,minmax(0,1fr));}
  .btn-icono{width:36px;padding:0 !important;justify-content:center;}
  .pl-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px;}
  .pl-vistas{display:inline-flex;background:#EEF0F3;border-radius:10px;padding:3px;gap:2px;}
  .pl-vista-btn{border:0;background:transparent;font:inherit;font-size:13px;font-weight:550;color:var(--ink-500);padding:7px 12px;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;}
  .pl-vista-btn:hover{color:var(--ink-900);}
  .pl-vista-btn.active{background:#fff;color:var(--ink-900);box-shadow:var(--shadow-xs);}
  .pl-nav{display:flex;align-items:center;gap:6px;}
  .pl-nav strong{min-width:150px;text-align:center;font-size:14.5px;font-weight:650;color:var(--ink-900);letter-spacing:-.01em;}
  .pl-nueva{margin-left:auto;}
  .pl-filtros{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px;}
  .pl-filtros select{height:38px;border:1px solid var(--line-strong);border-radius:10px;background-color:#fff;font:inherit;font-size:13px;padding:0 30px 0 10px;min-width:150px;box-shadow:var(--shadow-xs);}

  /* Mes */
  .pl-mes .cal-day{height:118px;cursor:default;transition:background .12s;}
  .pl-mes .cal-day.pl-hoy{box-shadow:inset 0 0 0 2px var(--brand);}
  .pl-mes .cal-day.pl-hoy .dnum{color:var(--brand);font-weight:700;}
  .pl-puntos{display:none;}
  .pl-entry{display:flex;align-items:center;gap:5px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .pl-entry b{font-weight:650;font-variant-numeric:tabular-nums;}
  .pl-entry-publicada{opacity:.62;}
  .pl-entry-vencida{box-shadow:inset 0 0 0 1px var(--danger);}
  .pl-dot{width:7px;height:7px;border-radius:50%;flex:0 0 7px;display:inline-block;background:#B8BEC9;}
  .pl-dot-idea{background:#B8BEC9;} .pl-dot-diseno{background:#8B5CF6;} .pl-dot-revision{background:#F08C00;}
  .pl-dot-aprobada{background:var(--brand);} .pl-dot-programada{background:#12B886;} .pl-dot-publicada{background:#2B8A3E;}
  .pl-drop{background:var(--brand-50) !important;box-shadow:inset 0 0 0 2px var(--brand) !important;}
  .pl-agenda{display:none;}
  .pl-sinfecha{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12.5px;}
  .pl-sinfecha .pl-entry{display:inline-flex;padding:3px 8px;border-radius:6px;font-size:11.5px;max-width:260px;}

  /* Estado (pastilla) */
  .pl-pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;white-space:nowrap;background:#F1F3F5;color:var(--ink-700);}
  .pl-pill i{font-size:9.5px;}
  .pl-pill-diseno{background:#F1EBFD;color:#6C3FB5;} .pl-pill-revision{background:var(--warn-bg);color:#B35C00;}
  .pl-pill-aprobada{background:var(--brand-50);color:var(--brand-700);} .pl-pill-programada{background:#E3F8F0;color:#0B7A5A;}
  .pl-pill-publicada{background:var(--ok-bg);color:var(--ok);}
  .pl-venc{color:var(--danger);font-weight:600;font-size:11.5px;}
  .pl-falta{font-size:11px;color:var(--ink-300);font-style:italic;}

  /* Tarjeta */
  .pl-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 11px;box-shadow:var(--shadow-xs);cursor:pointer;display:flex;flex-direction:column;gap:6px;transition:box-shadow .15s, border-color .15s, transform .15s;min-width:0;}
  .pl-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm);}
  .pl-card:focus-visible{outline:none;box-shadow:0 0 0 3px var(--brand-ring);}
  .pl-card-vencida{border-left:3px solid var(--danger);}
  .pl-card-publicada{background:#FAFBFC;}
  .pl-card-publicada .pl-card-titulo{color:var(--ink-500);}
  .pl-card-top{display:flex;align-items:center;gap:7px;min-width:0;}
  .pl-red{width:24px;height:24px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;flex:0 0 24px;}
  .pl-card-hora{font-size:12px;font-weight:600;color:var(--ink-700);font-variant-numeric:tabular-nums;margin-right:auto;white-space:nowrap;}
  .pl-card-titulo{font-size:13.5px;font-weight:600;color:var(--ink-900);line-height:1.35;overflow-wrap:anywhere;}
  .pl-card-texto{font-size:12px;color:var(--ink-500);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line;}
  .pl-card-img{width:100%;height:110px;object-fit:cover;border-radius:7px;border:1px solid var(--line);}
  .pl-card-pie{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11.5px;}
  .pl-cuenta{font-size:11px;font-weight:600;color:var(--ink-500);background:#F1F3F5;padding:2px 7px;border-radius:5px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .pl-cuenta.cli{background:#FFF4E6;color:#B35C00;}
  .pl-meta{color:var(--ink-500);display:inline-flex;align-items:center;gap:4px;}
  a.pl-meta:hover{color:var(--brand);}

  /* Semana */
  .pl-semana{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;}
  .pl-sem-col{background:#F7F8FA;border:1px solid var(--line);border-radius:12px;min-height:340px;display:flex;flex-direction:column;min-width:0;}
  .pl-sem-col.pl-finde{background:#F2F3F6;}
  .pl-sem-col.pl-hoy{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand);}
  .pl-sem-cab{display:flex;align-items:baseline;gap:6px;padding:10px 10px 8px;border-bottom:1px solid var(--line);}
  .pl-sem-cab span{font-size:11.5px;font-weight:600;color:var(--ink-500);text-transform:uppercase;letter-spacing:.04em;}
  .pl-sem-cab b{font-size:17px;font-weight:650;color:var(--ink-900);}
  .pl-hoy .pl-sem-cab b{color:var(--brand);}
  .pl-sem-cab button{margin-left:auto;width:26px;height:26px;border:0;border-radius:7px;background:transparent;color:var(--ink-300);cursor:pointer;}
  .pl-sem-cab button:hover{background:#fff;color:var(--brand);}
  .pl-sem-items{padding:8px;display:flex;flex-direction:column;gap:8px;flex:1;}
  .pl-sem-items .pl-pill{display:none;}
  .pl-sem-items .pl-card-top::after{content:'';}
  .pl-sem-vacio{color:var(--ink-300);text-align:center;font-size:12px;padding-top:12px;}

  /* Tablero */
  .pl-tablero{display:grid;grid-template-columns:repeat(6,minmax(210px,1fr));gap:10px;overflow-x:auto;padding-bottom:6px;}
  .pl-col{background:#F7F8FA;border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;min-height:300px;min-width:0;}
  .pl-col-cab{display:flex;align-items:center;gap:8px;padding:11px 12px 2px;font-size:13px;font-weight:650;color:var(--ink-900);}
  .pl-col-n{font-size:11.5px;font-weight:600;color:var(--ink-500);background:#E9ECEF;border-radius:999px;padding:1px 8px;}
  .pl-col-cab button{margin-left:auto;width:26px;height:26px;border:0;border-radius:7px;background:transparent;color:var(--ink-500);cursor:pointer;}
  .pl-col-cab button:hover{background:#fff;color:var(--brand);}
  .pl-col-ayuda{font-size:11.5px;color:var(--ink-500);padding:0 12px 8px;}
  .pl-col-items{padding:0 8px 10px;display:flex;flex-direction:column;gap:8px;flex:1;}
  .pl-col-vacia{border:1.5px dashed var(--line-strong);border-radius:10px;padding:16px;text-align:center;font-size:12px;color:var(--ink-300);}

  /* Lista */
  .pl-lista-grupo{font-size:12px;font-weight:650;color:var(--ink-500);text-transform:uppercase;letter-spacing:.05em;margin:16px 2px 8px;display:flex;gap:8px;align-items:center;}
  .pl-lista-grupo:first-child{margin-top:4px;}
  .pl-lista-grupo span{background:#E9ECEF;border-radius:999px;padding:0 8px;font-size:11px;letter-spacing:0;}
  .pl-lista{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-xs);}
  .pl-fila{display:grid;grid-template-columns:76px 28px minmax(0,1fr) auto 150px;align-items:center;gap:12px;padding:11px 14px;border-top:1px solid var(--line);cursor:pointer;}
  .pl-fila:first-child{border-top:0;}
  .pl-fila:hover{background:#FAFBFC;}
  .pl-fila.pasada{opacity:.66;}
  .pl-fila-fecha b{display:block;font-size:13px;color:var(--ink-900);font-weight:650;}
  .pl-fila-fecha span{font-size:11.5px;color:var(--ink-500);}
  .pl-fila-main{min-width:0;}
  .pl-fila-main strong{display:block;font-size:13.5px;font-weight:600;color:var(--ink-900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .pl-fila-main span{display:block;font-size:12px;color:var(--ink-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .pl-fila-est{display:flex;flex-direction:column;align-items:flex-end;gap:3px;}

  /* Panel de la publicación */
  .pl-panel{width:min(1040px, 100vw);}
  .pl-panel-cuerpo{padding-top:14px;}
  .pl-panel-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:24px;align-items:start;}
  .pl-titulo{width:100%;border:0;outline:none;resize:none;overflow:hidden;line-height:1.3;display:block;font:inherit;font-size:19px;font-weight:650;letter-spacing:-.015em;color:var(--ink-900);padding:6px 8px;margin:0 -8px 10px;border-radius:8px;background:transparent;}
  .pl-titulo:hover{background:#F6F7F9;}
  .pl-titulo:focus{background:#fff;box-shadow:0 0 0 2px var(--brand-ring);}
  .pl-redes{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px;}
  .pl-red-btn{border:1px solid var(--line-strong);background:#fff;border-radius:999px;padding:6px 12px;font:inherit;font-size:12.5px;font-weight:600;color:var(--ink-700);cursor:pointer;display:inline-flex;gap:6px;align-items:center;}
  .pl-red-btn:hover{border-color:var(--ink-300);}
  .pl-props{margin-bottom:6px;}
  .pl-props .tk-prop{grid-template-columns:92px minmax(0,1fr);}
  .pl-horas{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;color:var(--ink-500);background:#F7F8FA;border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin:4px 0 14px;}
  .pl-horas > i{color:#8B5CF6;}
  .pl-horas .muted{font-size:12px;}
  .pl-aud{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;}
  .pl-hora-chip{border:1px solid var(--line-strong);background:#fff;border-radius:999px;padding:3px 9px;font:inherit;font-size:12px;font-weight:600;color:var(--ink-900);cursor:pointer;font-variant-numeric:tabular-nums;}
  .pl-hora-chip em{font-style:normal;font-weight:500;color:var(--ok);margin-left:3px;}
  .pl-hora-chip.mejor{border-color:#12B886;background:#E3F8F0;}
  .pl-hora-chip:hover{border-color:var(--brand);}
  .pl-copy-cab{display:flex;align-items:center;gap:10px;justify-content:space-between;margin-bottom:6px;flex-wrap:wrap;}
  .pl-copy-cab label{margin:0;font-size:12.5px;font-weight:600;color:var(--ink-700);display:flex;gap:7px;align-items:center;}
  .pl-copy-cab select{height:32px;border:1px solid var(--line-strong);border-radius:8px;font:inherit;font-size:12.5px;padding:0 28px 0 10px;background-color:#fff;max-width:220px;}
  .pl-texto{width:100%;min-height:150px;border:1px solid var(--line-strong);border-radius:10px;padding:10px 12px;font:inherit;font-size:14px;line-height:1.5;resize:vertical;}
  .pl-texto:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring);}
  .pl-dos{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;}
  .pl-dos label,.pl-form > .field > label{font-size:12.5px;display:flex;gap:6px;align-items:center;}
  .pl-input-btn{display:flex;gap:6px;}
  .pl-input-btn input{flex:1;min-width:0;}
  .pl-img-drop{padding:14px;font-size:12.5px;}
  .pl-img-actual{display:flex;gap:12px;align-items:center;}
  .pl-img-actual img{width:84px;height:84px;object-fit:cover;border-radius:8px;border:1px solid var(--line);}
  .pl-preview-col{position:sticky;top:0;}
  .pl-preview-label{font-size:12px;font-weight:600;color:var(--ink-500);margin-bottom:8px;text-transform:uppercase;letter-spacing:.05em;}
  .pl-preview{background:#F3F4F7;border-radius:14px;padding:16px;display:flex;justify-content:center;}
  .pl-preview .mock-card{width:100%;max-width:360px;}
  .pl-preview .mock-body{font-size:13px;line-height:1.45;padding-top:2px;overflow-wrap:anywhere;}
  .pl-mock-cuadrada{aspect-ratio:1/1;max-height:none !important;}
  .pl-mock-vertical{aspect-ratio:4/5;max-height:none !important;}
  .pl-mock-sinimg{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--ink-300);font-size:12.5px;background:#EEF0F3;}
  .pl-yt-desc{color:var(--ink-500);font-size:12px !important;}
  .pl-mock-link{display:flex;gap:10px;align-items:center;margin:0 14px 12px;border:1px solid var(--line);border-radius:8px;overflow:hidden;}
  .pl-mock-link-img{width:64px;height:56px;background:#EEF0F3;display:flex;align-items:center;justify-content:center;color:var(--ink-300);}
  .pl-mock-link b{display:block;font-size:12.5px;}
  .pl-mock-link span{display:block;font-size:11px;color:var(--ink-500);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .mock-hashtag{color:#0A66C2;font-weight:500;}
  .mock-vermas{color:var(--ink-500);cursor:pointer;font-weight:500;}
  .mock-exceso{background:#FFE3E3;color:#C92A2A;border-radius:2px;}
  .post-contador{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:12px;color:var(--ink-500);margin-top:8px;line-height:1.45;}
  .pc-barra{width:90px;height:5px;background:#E9ECEF;border-radius:99px;overflow:hidden;}
  .pc-barra span{display:block;height:100%;background:var(--ok);border-radius:99px;}
  .pc-num{font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink-700);}
  .post-contador.pc-aviso .pc-barra span{background:#F08C00;}
  .post-contador.pc-exceso .pc-barra span{background:var(--danger);}
  .post-contador.pc-exceso .pc-num,.post-contador b{color:var(--danger);}

  /* Flujo en el panel */
  .pl-flujo{background:#F7F8FA;border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:16px;}
  .pl-pasos{display:flex;align-items:center;gap:4px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;}
  .pl-pasos::-webkit-scrollbar{display:none;}
  .pl-paso{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;gap:5px;font:inherit;cursor:pointer;padding:2px 4px;flex:0 0 auto;min-width:70px;}
  .pl-paso-ico{width:30px;height:30px;border-radius:50%;background:#fff;border:1.5px solid var(--line-strong);display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--ink-300);transition:all .15s;}
  .pl-paso-txt{font-size:11px;font-weight:550;color:var(--ink-500);white-space:nowrap;}
  .pl-paso.hecho .pl-paso-ico{background:var(--ok-bg);border-color:var(--ok);color:var(--ok);}
  .pl-paso.actual .pl-paso-ico{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 0 0 4px var(--brand-ring);}
  .pl-paso.actual .pl-paso-txt{color:var(--ink-900);font-weight:650;}
  .pl-paso:hover .pl-paso-ico{border-color:var(--brand);}
  .pl-paso-linea{flex:1 1 12px;min-width:10px;height:2px;background:var(--line-strong);margin-bottom:18px;border-radius:2px;}
  .pl-flujo-acc{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
  .pl-flujo-info{font-size:12px;color:var(--ink-500);margin-top:8px;}
  .pl-aprobacion{border:1px solid #FFD8A8;background:#FFF9F0;border-radius:12px;padding:12px 14px;margin-top:6px;}
  .pl-apr-cab{font-size:13px;font-weight:650;color:#B35C00;margin-bottom:8px;display:flex;gap:7px;align-items:center;}
  .pl-apr-acc{display:flex;gap:8px;flex-wrap:wrap;}
  .pl-apr-acc .btn{text-decoration:none;}
  .pl-his{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--ink-500);padding:4px 2px 4px 8px;}
  .pl-his i{width:16px;text-align:center;color:var(--ink-300);font-size:11px;}
  .pl-his span{flex:1;}
  .pl-his b{color:var(--ink-700);font-weight:600;}
  .pl-his em{font-style:normal;font-size:11px;color:var(--ink-300);white-space:nowrap;}
  .pl-com-cambios .tk-com-texto{color:#B35C00;}

  @media (max-width:1200px){
    .pl-kpis{grid-template-columns:repeat(3,minmax(0,1fr));}
    .pl-panel-grid{grid-template-columns:minmax(0,1fr) 320px;gap:18px;}
  }
  @media (max-width:1000px){
    .pl-semana{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);overflow-x:auto;padding-bottom:6px;}
    .pl-panel-grid{grid-template-columns:minmax(0,1fr);}
    .pl-preview-col{position:static;}
    .pl-fila{grid-template-columns:70px 28px minmax(0,1fr) auto;}
    .pl-fila .pl-cuenta{display:none;}
  }
  @media (max-width:760px){
    .pl-kpis .tk-kpi{flex-basis:128px;}
    .pl-toolbar{gap:8px;}
    .pl-vistas{width:100%;display:grid;grid-template-columns:repeat(4,1fr);}
    .pl-vista-btn{justify-content:center;padding:8px 4px;font-size:12.5px;}
    .pl-nav{flex:1;}
    .pl-nav strong{flex:1;min-width:0;font-size:14px;}
    .pl-nueva{display:none;}
    .pl-filtros{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;}
    .pl-filtros .tk-buscar{grid-column:1 / -1;}
    .pl-filtros select{min-width:0;width:100%;font-size:12.5px;padding-left:8px;padding-right:22px;}
    .pl-filtros .btn-link{grid-column:1 / -1;justify-self:start;}
    /* Mes en móvil: rejilla compacta con puntos + agenda del día */
    .pl-mes .cal-day{height:50px;padding:4px 2px;text-align:center;cursor:pointer;}
    .pl-mes .cal-day .dnum{margin:0 auto 3px;width:26px;height:26px;line-height:26px;border-radius:50%;font-size:13px;}
    .pl-mes .cal-day.pl-hoy{box-shadow:none;}
    .pl-mes .cal-day.pl-hoy .dnum{color:var(--brand);font-weight:700;}
    .pl-mes .cal-day.pl-sel .dnum{background:var(--brand);color:#fff;}
    .pl-mes .cal-day .entry,.pl-mes .cal-day .add-btn{display:none !important;}
    .pl-mes .cal-dow{font-size:11px;padding:6px 0;}
    .pl-puntos{display:flex;justify-content:center;gap:3px;height:6px;align-items:center;}
    .pl-puntos i{width:5px;height:5px;border-radius:50%;display:block;}
    .pl-puntos b{font-size:9px;line-height:6px;color:var(--ink-500);}
    .pl-agenda{display:block;margin-top:14px;}
    .pl-agenda-cab{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
    .pl-agenda-cab b{font-size:15px;font-weight:650;color:var(--ink-900);}
    .pl-agenda .pl-card{margin-bottom:8px;}
    .pl-agenda-vacia{text-align:center;color:var(--ink-300);font-size:13px;padding:22px 10px;border:1.5px dashed var(--line-strong);border-radius:12px;}
    .pl-sinfecha .pl-entry{max-width:100%;}
    .pl-semana{grid-auto-columns:82%;scroll-snap-type:x mandatory;margin:0 -12px;padding:0 12px 6px;scrollbar-width:none;}
    .pl-semana::-webkit-scrollbar{display:none;}
    .pl-sem-col{scroll-snap-align:start;min-height:260px;}
    .pl-sem-items .pl-pill{display:inline-flex;}
    .pl-tablero{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:84%;scroll-snap-type:x mandatory;margin:0 -12px;padding:0 12px 6px;scrollbar-width:none;}
    .pl-tablero::-webkit-scrollbar{display:none;}
    .pl-col{scroll-snap-align:start;}
    .pl-fila{grid-template-columns:62px minmax(0,1fr) auto;gap:10px;padding:11px 12px;}
    .pl-fila-fecha span{display:block;white-space:nowrap;font-size:11px;}
    .pl-fila > .pl-red{display:none;}
    .pl-fila-est .pl-pill{font-size:10.5px;padding:2px 7px;}
    .pl-panel-cuerpo{padding:12px 14px 20px;}
    .pl-flujo{margin:0 -14px 14px;border-radius:0;border-left:0;border-right:0;padding:10px 14px;}
    .pl-paso{min-width:58px;}
    .pl-paso-txt{font-size:10px;}
    .pl-flujo-acc .btn{flex:1 1 auto;justify-content:center;}
    .pl-props .tk-prop{grid-template-columns:100px minmax(0,1fr);}
    .pl-dos{grid-template-columns:minmax(0,1fr);gap:0;}
    .pl-copy-cab select{max-width:none;flex:1;}
    .pl-preview{padding:12px;margin:0 -14px;border-radius:0;}
    .pl-texto{font-size:16px;}
  }
  /* ===================== CRONÓMETRO DE LA BARRA SUPERIOR ===================== */
  .crono-wrap{position:relative;display:flex;align-items:center;gap:6px;flex-shrink:0;}
  .crono-pill{display:flex;align-items:center;gap:8px;height:38px;padding:0 14px;border-radius:999px;border:1px solid var(--line-strong);background:#fff;color:var(--ink-700);font:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-xs);transition:border-color .15s, background .15s;}
  .crono-pill:hover{border-color:var(--brand);}
  .crono-pill:focus-visible,.crono-stop:focus-visible{outline:none;box-shadow:0 0 0 3px var(--brand-ring);}
  .crono-pill i{color:var(--brand);font-size:11px;}
  .crono-pill.en-marcha{background:var(--brand-50);border-color:#B8CBFF;color:var(--brand-700);}
  .crono-pill.aviso{background:var(--warn-bg);border-color:#F5C26B;color:#8A4B00;}
  .crono-dot{width:8px;height:8px;border-radius:50%;background:#E5484D;animation:cronoLatido 1.4s ease-in-out infinite;flex-shrink:0;}
  @keyframes cronoLatido{0%,100%{opacity:1;}50%{opacity:.25;}}
  .crono-reloj{font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.01em;}
  .crono-etq{max-width:190px;overflow:hidden;text-overflow:ellipsis;font-weight:550;}
  .crono-pill.en-marcha .crono-etq{color:var(--ink-700);font-weight:500;}
  .crono-stop{width:38px;height:38px;border-radius:50%;border:0;background:#E5484D;color:#fff;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 6px rgba(229,72,77,.35);}
  .crono-stop:hover{background:#CC3A3F;}
  .crono-pop{position:absolute;top:calc(100% + 10px);right:0;width:360px;max-width:calc(100vw - 24px);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);padding:16px;display:none;z-index:120;text-align:left;}
  .crono-pop.open{display:block;animation:tkEntraPop .16s ease-out;}
  @keyframes tkEntraPop{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:none;}}
  .cr-cab{display:flex;align-items:center;justify-content:space-between;font-size:14.5px;font-weight:650;color:var(--ink-900);margin-bottom:6px;}
  .cr-cerrar{width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:var(--ink-500);cursor:pointer;}
  .cr-cerrar:hover{background:#F1F3F5;}
  .cr-lbl{display:block;font-size:12px;font-weight:600;color:var(--ink-700);margin:12px 0 6px;}
  .crono-pop input[type=text],.crono-pop select{width:100%;height:40px;border:1px solid var(--line-strong);border-radius:10px;padding:0 12px;font:inherit;font-size:14px;background-color:#fff;color:var(--ink-900);}
  .crono-pop input:focus,.crono-pop select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring);}
  .cr-areas{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
  .cr-area{display:flex;align-items:center;gap:7px;padding:8px 10px;border-radius:9px;border:1px solid var(--line-strong);background:#fff;color:var(--ink-700);font:inherit;font-size:12.5px;font-weight:550;cursor:pointer;text-align:left;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .cr-area i{color:var(--ink-300);width:14px;text-align:center;font-size:11.5px;}
  .cr-area:hover{border-color:var(--brand);}
  .cr-area.on{background:var(--brand-50);border-color:var(--brand);color:var(--brand-700);}
  .cr-area.on i{color:var(--brand);}
  .cr-empezar{width:100%;justify-content:center;margin-top:14px;height:42px;font-size:14px;}
  .cr-recientes{display:flex;flex-direction:column;gap:6px;}
  .cr-recientes button{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:#FAFBFC;border-radius:10px;padding:8px 10px;font:inherit;cursor:pointer;text-align:left;min-width:0;}
  .cr-recientes button:hover{border-color:var(--brand);background:#fff;}
  .cr-recientes i{width:26px;height:26px;border-radius:50%;background:var(--brand-50);color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:9.5px;flex:0 0 26px;}
  .cr-recientes span{min-width:0;display:flex;flex-direction:column;}
  .cr-recientes b{font-size:13px;font-weight:600;color:var(--ink-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .cr-recientes em{font-style:normal;font-size:11.5px;color:var(--ink-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .cr-reloj{font-size:38px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--ink-900);text-align:center;line-height:1.1;margin-top:4px;}
  .cr-desde{font-size:12px;color:var(--ink-500);text-align:center;margin:2px 0 4px;}
  .cr-aviso{background:var(--warn-bg);color:#8A4B00;border-radius:9px;padding:8px 10px;font-size:12px;font-weight:550;margin:8px 0 0;}
  .cr-botones{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;}
  .cr-botones .btn{justify-content:center;}
  .cr-olvido{margin-top:12px;font-size:12.5px;}
  .cr-olvido summary{cursor:pointer;font-weight:600;color:var(--ink-700);}
  .cr-olvido-fila{display:flex;align-items:center;gap:8px;margin-top:8px;}
  .cr-olvido-fila label{font-size:12.5px;color:var(--ink-500);white-space:nowrap;}
  .cr-olvido-fila input{flex:1;min-width:0;height:36px;border:1px solid var(--line-strong);border-radius:9px;padding:0 8px;font:inherit;}
  .cr-pie{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:12.5px;color:var(--ink-500);}
  .cr-pie b{color:var(--ink-900);}
  .cr-pie a{color:var(--brand);font-weight:600;text-decoration:none;}
  .cr-descartar{background:none;border:0;color:var(--danger);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;}
  .tk-acc-crono.on{background:var(--brand-50) !important;color:var(--brand) !important;}
  @media (min-width:761px){
    .topbar > div:first-child{min-width:0;flex:1 1 auto;}
    .topbar .desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
    .topbar-actions{flex:0 1 auto;flex-wrap:nowrap;min-width:0;}
    .global-search{flex:0 1 300px;min-width:170px;}
    .sync-status{min-width:0;flex:0 1 auto;}
    #syncLabel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px;}
  }
  @media (min-width:761px) and (max-width:1500px){ .crono-pill:not(.en-marcha) .crono-etq{display:none;} .crono-pill:not(.en-marcha){width:38px;padding:0;justify-content:center;} }
  .tk-fila-acciones .tk-acc-crono.on{opacity:1;}
  @media (max-width:1100px){ .crono-pill:not(.en-marcha) .crono-etq{display:none;} .crono-pill:not(.en-marcha){width:38px;padding:0;justify-content:center;} .crono-pill.en-marcha .crono-etq{max-width:120px;} }
  @media (max-width:760px){
    #cronoWrap{grid-area:crono;}
    .crono-pill{height:36px;}
    .crono-pill:not(.en-marcha){width:36px;}
    .crono-pill.en-marcha{padding:0 10px;}
    .crono-pill.en-marcha .crono-etq{display:none;}
    .crono-stop{width:36px;height:36px;}
    .crono-wrap.abierto::before{content:'';position:fixed;inset:0;background:rgba(11,13,18,.36);z-index:119;}
    .crono-pop{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;max-width:none;border-radius:18px 18px 0 0;padding:10px 16px calc(16px + env(safe-area-inset-bottom));max-height:88vh;overflow-y:auto;animation:none;}
    .crono-pop.open{animation:tkSube .22s cubic-bezier(.2,.8,.2,1);}
    .crono-pop::before{content:'';display:block;width:38px;height:4px;border-radius:4px;background:#D9DCE1;margin:0 auto 10px;}
    .crono-pop input[type=text],.crono-pop select{font-size:16px;height:44px;}
    .cr-area{padding:10px;font-size:13px;}
    .cr-botones .btn{min-height:44px;}
  }
  /* ===================== INICIO: accesos rápidos + pendiente de atención ===================== */
  .ar-fila{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:16px;}
  .ar-btn{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font:inherit;font-size:13.5px;font-weight:600;color:var(--ink-900);cursor:pointer;box-shadow:var(--shadow-xs);transition:border-color .15s, box-shadow .15s, transform .15s;min-width:0;white-space:nowrap;}
  .ar-btn:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px);}
  .ar-btn span{width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:13px;flex:0 0 32px;position:relative;}
  .ar-btn span::after{content:'+';position:absolute;right:-4px;bottom:-4px;width:15px;height:15px;border-radius:50%;background:#fff;color:var(--ink-700);font-size:12px;font-weight:700;line-height:14px;text-align:center;box-shadow:0 0 0 1px var(--line-strong);}
  .ar-azul span{background:var(--brand-50);color:var(--brand);} .ar-violeta span{background:#F1EBFD;color:#6C3FB5;}
  .ar-verde span{background:var(--ok-bg);color:var(--ok);} .ar-naranja span{background:var(--warn-bg);color:#B35C00;} .ar-gris span{background:#F1F3F5;color:var(--ink-700);}
  .at-panel{margin-bottom:18px;}
  .at-panel .panel-title{display:flex;align-items:center;gap:8px;}
  .at-n{font-size:11.5px;font-weight:700;background:var(--danger);color:#fff;border-radius:999px;padding:1px 8px;}
  .at-item{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--line);}
  .at-item:first-child{border-top:0;padding-top:4px;}
  .at-ico{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:13px;flex:0 0 34px;}
  .at-rojo .at-ico{background:var(--bad-bg);color:var(--danger);} .at-naranja .at-ico{background:var(--warn-bg);color:#B35C00;}
  .at-azul .at-ico{background:var(--brand-50);color:var(--brand);} .at-gris .at-ico{background:#F1F3F5;color:var(--ink-500);}
  .at-txt{flex:1;min-width:0;cursor:pointer;}
  .at-txt strong{display:block;font-size:13.5px;font-weight:600;color:var(--ink-900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .at-txt span{display:block;font-size:12px;color:var(--ink-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1px;}
  .at-txt:hover strong{color:var(--brand-700);}
  .at-acc{display:flex;gap:6px;flex-shrink:0;}
  .at-acc .btn{padding:6px 12px;font-size:12.5px;min-height:32px;}
  .at-mas{margin-top:8px;}
  .at-vacio{display:flex;align-items:center;gap:12px;padding:4px 0;}
  .at-vacio > span{width:34px;height:34px;border-radius:50%;background:var(--ok-bg);color:var(--ok);display:flex;align-items:center;justify-content:center;}
  .at-vacio strong{display:block;font-size:13.5px;color:var(--ink-900);}
  .at-vacio em{font-style:normal;font-size:12.5px;color:var(--ink-500);}
  @media (max-width:1100px){ .ar-fila{grid-template-columns:repeat(3,minmax(0,1fr));} }
  @media (max-width:760px){
    .ar-fila{display:flex;overflow-x:auto;gap:8px;margin:0 -12px 14px;padding:2px 12px 4px;scrollbar-width:none;}
    .ar-fila::-webkit-scrollbar{display:none;}
    .ar-btn{flex-direction:column;gap:6px;flex:0 0 78px;padding:10px 4px;font-size:11.5px;font-weight:550;}
    .ar-btn span{width:38px;height:38px;flex-basis:38px;font-size:15px;border-radius:11px;}
    .at-item{flex-wrap:wrap;gap:10px;}
    .at-txt{flex:1 1 calc(100% - 50px);}
    .at-txt strong,.at-txt span{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
    .at-acc{width:100%;padding-left:46px;}
    .at-acc .btn{flex:1;justify-content:center;min-height:38px;}
  }
  /* ===================== MÓVIL TIPO APP ===================== */
  .bnav,.hoja-overlay{display:none;}
  @media (max-width:760px){
    :root{--bnav-h:62px;}
    .bnav{display:grid;grid-template-columns:repeat(5,1fr);align-items:center;position:fixed;left:0;right:0;bottom:0;z-index:90;height:calc(var(--bnav-h) + env(safe-area-inset-bottom));padding:0 6px env(safe-area-inset-bottom);background:rgba(255,255,255,.96);-webkit-backdrop-filter:saturate(1.6) blur(14px);backdrop-filter:saturate(1.6) blur(14px);border-top:1px solid var(--line);transition:transform .2s ease;}
    .bnav-item{position:relative;border:0;background:transparent;font:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:100%;color:var(--ink-500);font-size:10.5px;font-weight:550;cursor:pointer;-webkit-tap-highlight-color:transparent;}
    .bnav-item i{font-size:18px;height:20px;display:flex;align-items:center;}
    .bnav-item.activo{color:var(--brand);}
    .bnav-item.activo::before{content:'';position:absolute;top:0;left:30%;right:30%;height:2.5px;border-radius:0 0 3px 3px;background:var(--brand);}
    .bnav-badge{position:absolute;top:7px;left:calc(50% + 6px);min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--danger);color:#fff;font-size:10px;font-weight:700;line-height:17px;text-align:center;box-shadow:0 0 0 2px #fff;}
    .bnav-fab{justify-self:center;width:52px;height:52px;border-radius:17px;border:0;background:var(--brand);color:#fff;font-size:20px;box-shadow:0 6px 16px rgba(26,86,255,.38);cursor:pointer;transform:translateY(-10px);-webkit-tap-highlight-color:transparent;transition:transform .15s;}
    .bnav-fab:active{transform:translateY(-10px) scale(.94);}
    body.panel-abierto .bnav, body.teclado-abierto .bnav, body:has(.modal-overlay.active) .bnav{transform:translateY(110%);}
    .content{padding-bottom:calc(var(--bnav-h) + 36px + env(safe-area-inset-bottom)) !important;}
    /* El menú ya está en la barra inferior */
    .topbar-mobile-toggle{display:none !important;}
    .topbar{grid-template-columns:minmax(0,1fr) auto auto auto !important;grid-template-areas:"title sync crono bell" "search search search search" !important;}
    .sidebar{bottom:calc(var(--bnav-h) + env(safe-area-inset-bottom));height:auto;}
    .sidebar-backdrop{bottom:calc(var(--bnav-h) + env(safe-area-inset-bottom)) !important;}
    /* Avisos por encima de la barra */
    #toast{left:12px !important;right:12px !important;bottom:calc(var(--bnav-h) + 12px + env(safe-area-inset-bottom)) !important;justify-content:flex-start;}
    body.panel-abierto #toast{bottom:calc(80px + env(safe-area-inset-bottom)) !important;}
    body.teclado-abierto #toast{bottom:12px !important;}
    /* Hoja de acciones */
    .hoja-overlay{display:flex;position:fixed;inset:0;z-index:130;background:rgba(11,13,18,.4);align-items:flex-end;opacity:0;pointer-events:none;transition:opacity .2s;}
    .hoja-overlay.active{opacity:1;pointer-events:auto;}
    .hoja{width:100%;background:#fff;border-radius:20px 20px 0 0;padding:8px 16px calc(14px + env(safe-area-inset-bottom));transform:translateY(100%);transition:transform .24s cubic-bezier(.2,.8,.2,1);}
    .hoja-overlay.active .hoja{transform:none;}
    .hoja-asa{width:40px;height:5px;border-radius:5px;background:#D9DCE1;margin:4px auto 12px;}
    .hoja-titulo{font-size:16px;font-weight:650;color:var(--ink-900);margin:0 2px 12px;}
    .hoja-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px 6px;}
    .hoja-acc{border:0;background:transparent;font:inherit;font-size:11.5px;font-weight:550;color:var(--ink-700);display:flex;flex-direction:column;align-items:center;gap:7px;padding:8px 2px;border-radius:12px;cursor:pointer;line-height:1.2;text-align:center;-webkit-tap-highlight-color:transparent;}
    .hoja-acc:active{background:#F3F4F6;}
    .hoja-acc span{width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:19px;}
    .hoja-acc.ar-rojo span{background:var(--bad-bg);color:var(--danger);}
    .hoja-cerrar{width:100%;justify-content:center;margin-top:14px;min-height:46px;}
    .hoja-crono-btn{width:100%;display:flex;align-items:center;gap:12px;border:1px solid #B8CBFF;background:var(--brand-50);border-radius:14px;padding:12px 14px;font:inherit;margin-bottom:14px;text-align:left;cursor:pointer;}
    .hoja-crono-btn > span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column;}
    .hoja-crono-btn b{font-size:14px;color:var(--ink-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
    .hoja-crono-btn em{font-style:normal;font-size:12px;color:var(--ink-500);}
    .hoja-crono-parar{background:#E5484D;color:#fff;border-radius:10px;padding:8px 12px;font-size:13px;font-weight:600;white-space:nowrap;}
    /* Ventanas como hojas que suben desde abajo */
    .modal-overlay:not(.tk-panel-overlay):not(.confirm-overlay){padding:0 !important;align-items:flex-end !important;}
    .modal-overlay:not(.tk-panel-overlay):not(.confirm-overlay) .modal-box{max-width:none !important;width:100%;border-radius:20px 20px 0 0 !important;max-height:92vh !important;padding:10px 18px calc(20px + env(safe-area-inset-bottom)) !important;animation:tkSube .24s cubic-bezier(.2,.8,.2,1) !important;border:0;}
    .modal-overlay:not(.tk-panel-overlay):not(.confirm-overlay) .modal-box::before{content:'';display:block;width:40px;height:5px;border-radius:5px;background:#D9DCE1;margin:0 auto 14px;}
    .modal-box .btn-row .btn{min-height:44px;}
    /* Táctil: objetivos más grandes y sin zoom al escribir */
    input[type=text],input[type=email],input[type=url],input[type=search],input[type=number],input[type=tel],textarea,.field select,.crono-pop select{font-size:16px !important;}
  }
  /* ===================== PROSPECTOS (CRM) ===================== */
  .pr-kpis .tk-kpi-label{display:flex;flex-direction:column;}
  .pr-kpi-sub{font-style:normal;font-size:11px;color:var(--ink-300);font-weight:500;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .pr-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px;}
  .pr-toolbar .tk-buscar{flex:1 1 240px;max-width:420px;}
  .pr-nuevo{margin-left:auto;}
  .pr-filtros{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px;}
  .pr-filtros select{height:36px;border:1px solid var(--line-strong);border-radius:10px;background-color:#fff;font:inherit;font-size:13px;padding:0 30px 0 10px;min-width:140px;box-shadow:var(--shadow-xs);}
  .pr-filtros .tk-contador{margin-left:auto;}
  .pr-rapida-wrap{margin-bottom:14px;}
  .pr-rapida-wrap .tk-rapida-prev{display:block;}
  .tk-rapida-prev .sep{color:var(--ink-300);}
  .pr-dup{color:#B35C00;font-weight:600;margin-left:6px;}
  .pr-aviso{display:flex;align-items:center;gap:10px;background:var(--warn-bg);border:1px solid #FFD8A8;color:#8A4B00;border-radius:12px;padding:10px 14px;margin-bottom:14px;font-size:13px;font-weight:550;}
  .pr-aviso span{flex:1;}

  /* Colores por fase */
  .pr-pc{--f:#6B7280;--fb:#F1F3F5;} .pr-co{--f:#1A56FF;--fb:var(--brand-50);} .pr-pe{--f:#7C3AED;--fb:#F1EBFD;}
  .pr-ne{--f:#D97706;--fb:var(--warn-bg);} .pr-ga{--f:#0E9F6E;--fb:var(--ok-bg);} .pr-pd{--f:#B42318;--fb:var(--bad-bg);}
  .pr-dot{width:8px;height:8px;border-radius:50%;background:var(--f);display:inline-block;flex:0 0 8px;}
  .pr-pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;background:var(--fb);color:var(--f);white-space:nowrap;}
  .pr-pill-sel{appearance:none;-webkit-appearance:none;border:0;border-radius:999px;background:var(--fb);color:var(--f);font:inherit;font-size:11.5px;font-weight:600;padding:4px 22px 4px 10px;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 11px) 52%,calc(100% - 7px) 52%;background-size:4px 4px;background-repeat:no-repeat;max-width:100%;}
  .pr-pill-sel:focus{outline:none;box-shadow:0 0 0 3px var(--brand-ring);}
  .pr-avatar{width:34px;height:34px;border-radius:10px;background:color-mix(in srgb, var(--c) 12%, #fff);color:var(--c);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex:0 0 34px;letter-spacing:.02em;}
  .pr-seg{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;color:var(--ink-700);background:#F1F3F5;border-radius:6px;padding:2px 7px;white-space:nowrap;}
  .pr-seg i{font-size:10px;}
  .pr-seg.hoy{background:var(--warn-bg);color:#B35C00;}
  .pr-seg.tarde{background:var(--bad-bg);color:var(--danger);}
  .pr-ic{width:30px;height:30px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--ink-500);font-size:12.5px;text-decoration:none;border:1px solid var(--line);background:#fff;}
  .pr-ic:hover{border-color:var(--brand);color:var(--brand);}
  .pr-ic-wa:hover{border-color:#25D366;color:#128C7E;}

  /* Tablero */
  .pr-tablero{display:grid;grid-template-columns:repeat(6,minmax(220px,1fr));gap:10px;overflow-x:auto;padding-bottom:6px;}
  .pr-col{background:#F7F8FA;border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;min-height:320px;min-width:0;}
  .pr-col-cab{display:flex;align-items:center;gap:8px;padding:11px 12px 2px;font-size:13px;font-weight:650;color:var(--ink-900);}
  .pr-col-n{font-size:11.5px;font-weight:600;color:var(--ink-500);background:#E9ECEF;border-radius:999px;padding:1px 8px;}
  .pr-col-cab button{margin-left:auto;width:26px;height:26px;border:0;border-radius:7px;background:transparent;color:var(--ink-500);cursor:pointer;}
  .pr-col-cab button:hover{background:#fff;color:var(--brand);}
  .pr-col-ayuda{font-size:11.5px;color:var(--ink-500);padding:0 12px 8px;}
  .pr-col-ayuda b{color:var(--ink-700);font-weight:600;}
  .pr-col-items{padding:0 8px 10px;display:flex;flex-direction:column;gap:8px;flex:1;}
  .pr-col-vacia{border:1.5px dashed var(--line-strong);border-radius:10px;padding:16px;text-align:center;font-size:12px;color:var(--ink-300);}
  .pr-drop{background:var(--brand-50) !important;box-shadow:inset 0 0 0 2px var(--brand);}
  .pr-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 11px;box-shadow:var(--shadow-xs);cursor:pointer;display:flex;flex-direction:column;gap:8px;transition:box-shadow .15s,border-color .15s;min-width:0;}
  .pr-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm);}
  .pr-card:focus-visible{outline:none;box-shadow:0 0 0 3px var(--brand-ring);}
  .pr-card-top{display:flex;align-items:center;gap:9px;min-width:0;}
  .pr-card-nom{min-width:0;display:flex;flex-direction:column;}
  .pr-card-nom strong{font-size:13.5px;font-weight:600;color:var(--ink-900);line-height:1.3;overflow-wrap:anywhere;}
  .pr-card-nom span{font-size:11.5px;color:var(--ink-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .pr-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:11.5px;}
  .pr-valor{font-weight:650;color:var(--ink-900);font-variant-numeric:tabular-nums;}
  .pr-ult{color:var(--ink-500);}
  .pr-card-acc{display:flex;gap:6px;border-top:1px solid #F1F2F4;padding-top:8px;}
  .pr-mover{margin-left:auto;width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:var(--ink-300);cursor:pointer;}
  .pr-mover:hover{background:#F1F3F5;color:var(--ink-700);}
  .pr-col-ga .pr-card,.pr-col-pd .pr-card{background:#FCFCFD;}
  .pr-menu{position:fixed;z-index:150;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);padding:6px;min-width:200px;}
  .pr-menu-tit{font-size:11.5px;font-weight:600;color:var(--ink-500);padding:6px 10px 4px;}
  .pr-menu button{display:flex;align-items:center;gap:9px;width:100%;border:0;background:transparent;font:inherit;font-size:13.5px;color:var(--ink-900);padding:9px 10px;border-radius:8px;cursor:pointer;text-align:left;}
  .pr-menu button:hover{background:#F3F4F6;}

  /* Lista */
  .pr-grupo{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:650;color:var(--ink-500);text-transform:uppercase;letter-spacing:.05em;margin:18px 2px 8px;}
  .pr-grupo:first-child{margin-top:2px;}
  .pr-grupo span{background:#E9ECEF;border-radius:999px;padding:0 8px;font-size:11px;letter-spacing:0;color:var(--ink-700);}
  .pr-grupo-tarde{color:var(--danger);} .pr-grupo-tarde span{background:var(--bad-bg);color:var(--danger);}
  .pr-grupo-hoy{color:#B35C00;} .pr-grupo-hoy span{background:var(--warn-bg);color:#B35C00;}
  .pr-grupo-btn{border:0;background:transparent;font-family:inherit;cursor:pointer;padding:0;}
  .pr-lista{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-xs);}
  .pr-fila{display:grid;grid-template-columns:34px minmax(0,1fr) 150px 90px 100px 304px;align-items:center;gap:12px;padding:10px 14px;border-top:1px solid var(--line);cursor:pointer;}
  .pr-fila:first-child{border-top:0;}
  .pr-fila:hover{background:#FAFBFC;}
  .pr-fila.cerrada{opacity:.72;}
  .pr-fila-main{min-width:0;}
  .pr-fila-main strong{display:block;font-size:13.5px;font-weight:600;color:var(--ink-900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .pr-fila-main span{display:block;font-size:12px;color:var(--ink-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .pr-fila-valor{font-size:13px;font-weight:650;color:var(--ink-900);font-variant-numeric:tabular-nums;text-align:right;}
  .pr-fila-valor small{font-weight:500;color:var(--ink-500);font-size:11px;}
  .pr-fila-acc{display:flex;gap:6px;justify-content:flex-end;align-items:center;}
  .pr-btn-res{height:30px;border:1px solid var(--line);background:#fff;border-radius:8px;font:inherit;font-size:12px;font-weight:600;color:var(--ink-700);padding:0 9px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;white-space:nowrap;}
  .pr-btn-res i{font-size:11px;color:var(--ink-500);}
  .pr-btn-res:hover{border-color:var(--line-strong);}
  .pr-btn-res.ok{border-color:#A7E3C9;background:var(--ok-bg);color:var(--ok);}
  .pr-btn-res.ok i{color:var(--ok);}

  /* Canales */
  .pr-canales{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px;align-items:start;}
  .pr-canales-lado{display:flex;flex-direction:column;gap:16px;}
  .pr-canales .panel{margin:0;}
  .pr-can-ley{display:flex;gap:14px;font-size:12px;color:var(--ink-500);margin-bottom:8px;}
  .pr-can-ley i,.pr-can-barra span{display:inline-block;}
  .pr-can-ley i{width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px;}
  .pr-g{background:#0E9F6E;} .pr-a{background:#93B4FF;} .pr-p{background:#F4B4AE;}
  .pr-can-fila{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(80px,1fr) 64px 84px;gap:12px;align-items:center;padding:10px 6px;border-top:1px solid var(--line);cursor:pointer;border-radius:8px;}
  .pr-can-fila:hover{background:#FAFBFC;}
  .pr-can-fila.sin{opacity:.6;}
  .pr-can-nom strong{display:block;font-size:13.5px;font-weight:600;color:var(--ink-900);}
  .pr-can-nom span{font-size:11.5px;color:var(--ink-500);}
  .pr-can-barra{display:flex;height:10px;border-radius:99px;overflow:hidden;background:#F1F3F5;}
  .pr-can-barra span{height:100%;}
  .pr-can-dato{text-align:right;}
  .pr-can-dato b{display:block;font-size:13.5px;font-variant-numeric:tabular-nums;color:var(--ink-900);}
  .pr-can-dato span{font-size:11px;color:var(--ink-500);}
  .pr-emb-fila{display:grid;grid-template-columns:120px minmax(0,1fr) 28px 40px;gap:10px;align-items:center;margin:9px 0;font-size:12.5px;}
  .pr-emb-et{color:var(--ink-700);font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .pr-emb-barra{height:14px;background:#F1F3F5;border-radius:5px;overflow:hidden;}
  .pr-emb-barra span{display:block;height:100%;background:var(--f);border-radius:5px;opacity:.85;}
  .pr-emb-fila b{text-align:right;font-variant-numeric:tabular-nums;}
  .pr-emb-fila em{font-style:normal;font-size:11.5px;color:var(--ink-500);text-align:right;}
  .pr-mot{display:flex;justify-content:space-between;padding:8px 0;border-top:1px solid var(--line);font-size:13px;}
  .pr-mot:first-of-type{border-top:0;}

  /* Ficha */
  .pr-panel{width:min(640px,100vw);}
  .pr-contacto{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 16px;}
  .pr-cbtn{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 4px;border-radius:12px;background:var(--brand-50);color:var(--brand-700);text-decoration:none;font-size:12px;font-weight:600;transition:background .15s;}
  .pr-cbtn i{font-size:16px;}
  .pr-cbtn:hover{background:#DCE6FF;}
  .pr-cbtn.off{background:#F5F6F8;color:var(--ink-300);cursor:default;}
  .pr-fases{display:flex;align-items:center;gap:10px;background:#F7F8FA;border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:12px;}
  .pr-pasos{display:flex;align-items:center;gap:2px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;}
  .pr-pasos::-webkit-scrollbar{display:none;}
  .pr-paso{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;gap:4px;font:inherit;cursor:pointer;padding:2px;flex:0 0 auto;min-width:64px;}
  .pr-paso-ico{width:28px;height:28px;border-radius:50%;background:#fff;border:1.5px solid var(--line-strong);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--ink-300);}
  .pr-paso-txt{font-size:10.5px;font-weight:550;color:var(--ink-500);white-space:nowrap;}
  .pr-paso.hecho .pr-paso-ico{background:var(--ok-bg);border-color:var(--ok);color:var(--ok);}
  .pr-paso.actual .pr-paso-ico{background:var(--f);border-color:var(--f);color:#fff;box-shadow:0 0 0 4px var(--fb);}
  .pr-paso.actual .pr-paso-txt{color:var(--ink-900);font-weight:650;}
  .pr-paso-linea{flex:1 1 8px;min-width:6px;height:2px;background:var(--line-strong);margin-bottom:16px;}
  .pr-perdido{flex-shrink:0;border:1px solid var(--line-strong);background:#fff;border-radius:999px;font:inherit;font-size:12px;font-weight:600;color:var(--ink-500);padding:6px 11px;cursor:pointer;}
  .pr-perdido:hover{border-color:var(--danger);color:var(--danger);}
  .pr-perdido.on{background:var(--bad-bg);border-color:#F4B4AE;color:var(--danger);}
  .pr-check{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ink-900);padding:6px 8px;cursor:pointer;}
  .tk-prop .pr-check input{appearance:auto;-webkit-appearance:checkbox;width:17px;height:17px;min-height:0;padding:0;accent-color:var(--brand);margin:0;flex:0 0 17px;}
  .pr-seg-fila{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
  .pr-seg-fila input{height:36px;border:1px solid var(--line-strong);border-radius:9px;padding:0 10px;font:inherit;font-size:13.5px;}
  .pr-chips{display:flex;flex-wrap:wrap;gap:6px;}
  .pr-chip{border:1px solid var(--line-strong);background:#fff;border-radius:999px;font:inherit;font-size:12.5px;font-weight:550;color:var(--ink-700);padding:5px 11px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;}
  .pr-chip:hover{border-color:var(--brand);}
  .pr-chip.on{background:var(--brand-50);border-color:var(--brand);color:var(--brand-700);}
  .pr-chip i{font-size:11px;}
  .pr-act-nuevo{border:1px solid var(--line);border-radius:12px;padding:10px;background:#FAFBFC;margin-bottom:12px;}
  .pr-act-nuevo textarea{width:100%;border:1px solid var(--line-strong);border-radius:9px;padding:8px 10px;font:inherit;font-size:13.5px;margin:8px 0;resize:none;min-height:44px;background:#fff;}
  .pr-act-nuevo textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring);}
  .pr-act-botones{display:flex;gap:8px;justify-content:flex-end;}
  .pr-act{display:flex;gap:10px;padding:8px 0;}
  .pr-act-ico{width:28px;height:28px;border-radius:50%;background:#F1F3F5;color:var(--ink-500);display:flex;align-items:center;justify-content:center;font-size:11.5px;flex:0 0 28px;}
  .pr-act-llamada .pr-act-ico{background:var(--brand-50);color:var(--brand);}
  .pr-act-whatsapp .pr-act-ico{background:#E7F8EE;color:#128C7E;}
  .pr-act-email .pr-act-ico{background:#F1EBFD;color:#7C3AED;}
  .pr-act-reunion .pr-act-ico,.pr-act-visita .pr-act-ico{background:var(--warn-bg);color:#B35C00;}
  .pr-act-cuerpo{flex:1;min-width:0;}
  .pr-act-cab{display:flex;align-items:center;gap:8px;font-size:13px;}
  .pr-act-cab strong{font-weight:600;color:var(--ink-900);}
  .pr-act-cab b{font-size:11px;font-weight:600;padding:1px 7px;border-radius:999px;}
  .pr-act-cab b.ok{background:var(--ok-bg);color:var(--ok);} .pr-act-cab b.no{background:#F1F3F5;color:var(--ink-500);}
  .pr-act-cab em{font-style:normal;font-size:11.5px;color:var(--ink-300);margin-left:auto;white-space:nowrap;}
  .pr-act-texto{font-size:13px;color:var(--ink-700);margin-top:3px;line-height:1.45;overflow-wrap:anywhere;}
  .pr-act-estado{padding:4px 0;}
  .pr-act-estado .pr-act-ico{width:28px;height:20px;background:transparent;color:var(--ink-300);font-size:10px;}
  .pr-act-estado .pr-act-cuerpo{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--ink-500);}
  .pr-act-estado em{font-style:normal;font-size:11.5px;color:var(--ink-300);white-space:nowrap;}
  .pr-motivos{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:6px;}
  .pr-motivos .btn{justify-content:center;}
  .pr-motivo-ov{z-index:135 !important;}

  @media (max-width:1200px){ .pr-kpis{grid-template-columns:repeat(3,minmax(0,1fr));} .pr-canales{grid-template-columns:minmax(0,1fr);} }
  @media (max-width:1000px){
    .pr-fila{grid-template-columns:34px minmax(0,1fr) 140px 300px;}
    .pr-fila-valor,.pr-fila-seg{display:none;}
  }
  @media (max-width:760px){
    .pr-toolbar .pl-vistas{width:100%;display:grid;grid-template-columns:repeat(3,1fr);}
    .pr-toolbar .tk-buscar{flex:1 1 100%;max-width:none;}
    .pr-nuevo{display:none;}
    .pr-filtros{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;}
    .pr-filtros select{min-width:0;width:100%;font-size:12.5px;padding-left:8px;padding-right:22px;}
    .pr-filtros .btn-link,.pr-filtros .tk-contador{grid-column:span 3;margin:0;justify-self:start;}
    .pr-tablero{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:84%;scroll-snap-type:x mandatory;margin:0 -12px;padding:0 12px 6px;scrollbar-width:none;}
    .pr-tablero::-webkit-scrollbar{display:none;}
    .pr-col{scroll-snap-align:start;}
    .pr-fila{grid-template-columns:34px minmax(0,1fr) auto;grid-template-areas:"av main est" "av acc acc";row-gap:8px;padding:12px;}
    .pr-fila > .pr-avatar{grid-area:av;align-self:start;}
    .pr-fila-main{grid-area:main;}
    .pr-fila-main span{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
    .pr-fila-est{grid-area:est;align-self:start;}
    .pr-fila-est .pr-pill-sel{max-width:118px;text-overflow:ellipsis;}
    .pr-fila-acc{grid-area:acc;justify-content:flex-start;}
    .pr-fila-acc .pr-ic{width:36px;height:36px;}
    .pr-btn-res{height:36px;flex:1;justify-content:center;}
    .pr-can-fila{grid-template-columns:minmax(0,1fr) 60px 74px;}
    .pr-can-barra{grid-column:1 / -1;grid-row:2;}
    .pr-emb-fila{grid-template-columns:96px minmax(0,1fr) 26px 36px;}
    .pr-menu.hoja-menu{left:0;right:0;bottom:0;top:auto;border-radius:18px 18px 0 0;padding:10px 10px calc(14px + env(safe-area-inset-bottom));}
    .pr-menu.hoja-menu button{padding:13px 12px;font-size:15px;}
    .pr-contacto .pr-cbtn{padding:12px 4px;}
    .pr-fases{margin:0 -16px 12px;border-radius:0;border-left:0;border-right:0;padding:10px 16px;}
    .pr-perdido{padding:6px 9px;}
    .pr-act-botones .btn{flex:1;justify-content:center;min-height:42px;}
    .pr-motivos{grid-template-columns:1fr;}
  }
  /* =======================================================================
     SEO (js/seo.js)
     ======================================================================= */
  .seo-cab{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:18px;border-bottom:1px solid var(--line);}
  .seo-cab .tabbar{border-bottom:0;}
  .seo-cab .tab-btn i{margin-right:5px;font-size:12px;}
  .seo-web-sel{display:flex;align-items:center;gap:8px;margin-bottom:8px;color:var(--brand-700);}
  .seo-web-sel select{min-width:230px;height:38px;padding:0 30px 0 11px;font:inherit;font-size:13px;font-weight:600;border-radius:10px;border:1px solid var(--line-strong);background-color:#fff;color:var(--ink-900);box-shadow:var(--shadow-xs);}
  .seo-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px;}
  .seo-kpi{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 15px;}
  .seo-kpi-icono{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;}
  .seo-kpi-valor{font-size:21px;font-weight:700;color:var(--ink-900);line-height:1.15;font-variant-numeric:tabular-nums;}
  .seo-kpi-valor small{font-size:12px;color:var(--ink-500);font-weight:700;}
  .seo-kpi-label{font-size:12px;font-weight:600;color:var(--ink-500);}
  .seo-kpi-sub{font-size:11px;color:var(--ink-300);}
  .seo-kpi-teal .seo-kpi-icono{background:var(--brand-50);color:var(--brand-700);}
  .seo-kpi-azul .seo-kpi-icono{background:var(--brand-50);color:var(--brand);}
  .seo-kpi-verde .seo-kpi-icono{background:var(--ok-bg);color:var(--ok);}
  .seo-kpi-naranja .seo-kpi-icono{background:var(--warn-bg);color:#B35C00;}
  .seo-kpi-rojo .seo-kpi-icono{background:var(--bad-bg);color:var(--danger);}
  .seo-kpi-gris .seo-kpi-icono{background:#F1F3F5;color:var(--ink-500);}
  .kw-k-sube{color:var(--ok);} .kw-k-baja{color:var(--danger);}
  .seo-barra{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;margin-bottom:14px;}
  .seo-barra-der{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
  .seo-barra-der select{height:38px;padding:0 30px 0 11px;font:inherit;font-size:13px;border-radius:10px;border:1px solid var(--line-strong);background-color:#fff;min-width:170px;box-shadow:var(--shadow-xs);}
  .seo-web{display:inline-block;font-size:11px;font-weight:700;color:var(--ink-500);background:#F1F3F5;border-radius:5px;padding:1px 7px;white-space:nowrap;}
  .seo-borrar:hover{background:var(--bad-bg) !important;color:var(--danger) !important;}
  .seo-vacio{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:40px 16px;}
  .seo-vacio-icono{width:52px;height:52px;border-radius:14px;background:var(--brand-50);color:var(--brand-700);display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:6px;}
  .seo-vacio strong{font-size:14.5px;color:var(--ink-900);}
  .seo-vacio span{font-size:12.5px;color:var(--ink-500);margin-bottom:6px;max-width:440px;}

  /* Keywords */
  .kw-dist:not(:empty){margin-bottom:14px;}
  .kw-dist-barra{display:flex;height:10px;border-radius:999px;overflow:hidden;background:#EEF0F3;gap:2px;}
  .kw-dist-barra span{display:block;height:100%;}
  .kw-dist-leyenda{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;}
  .kw-dist-item{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:4px 10px;font:inherit;font-size:12px;color:var(--ink-700);cursor:pointer;}
  .kw-dist-item i{width:10px;height:10px;border-radius:3px;display:inline-block;}
  .kw-dist-item b{color:var(--ink-900);}
  .kw-dist-item:hover{border-color:var(--line-strong);}
  .kw-dist-item.activo{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand) inset;}
  .kw-tabla th.num, .kw-tabla td.num{text-align:right;}
  .kw-tabla td{vertical-align:middle;}
  .kw-td-kw{min-width:220px;}
  .kw-nombre{border:0;background:none;padding:0;font:inherit;font-size:13.5px;font-weight:700;color:var(--ink-900);cursor:pointer;text-align:left;}
  .kw-nombre:hover{color:var(--brand-700);text-decoration:underline;}
  .kw-url{display:block;font-size:11.5px;color:var(--ink-500);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none;}
  .kw-url:hover{color:var(--brand-700);}
  .kw-pos{min-width:46px;border:1px solid transparent;border-radius:7px;padding:3px 8px;font:inherit;font-size:13.5px;font-weight:700;cursor:pointer;font-variant-numeric:tabular-nums;}
  .kw-pos:hover{border-color:currentColor;}
  .kw-pos-top3{background:var(--ok-bg);color:var(--ok);} .kw-pos-top10{background:#f0f9e0;color:#4f7d0f;} .kw-pos-top20{background:#fff8db;color:#8a6d00;}
  .kw-pos-top50{background:#fff0e0;color:#b4570b;} .kw-pos-mas{background:var(--bad-bg);color:#c92a2a;} .kw-pos-sin{background:#F1F3F5;color:var(--ink-500);}
  .kw-pos-input{width:72px;padding:4px 6px;border:1px solid var(--brand);border-radius:7px;font:inherit;font-size:13px;text-align:right;box-shadow:0 0 0 3px var(--brand-50);outline:none;}
  .kw-delta{display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;}
  .kw-delta i{font-size:9.5px;}
  .kw-delta-sube{color:var(--ok);} .kw-delta-baja{color:var(--danger);} .kw-delta-igual{color:var(--ink-300);}
  .kw-spark{display:block;} .kw-spark-vacia{color:var(--ink-300);font-size:12px;}
  .kw-obj{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;color:var(--ink-500);background:#F1F3F5;border-radius:999px;padding:2px 9px;white-space:nowrap;}
  .kw-obj.ok{background:var(--ok-bg);color:var(--ok);}
  .kw-obj i{font-size:9.5px;}
  .kw-fecha{font-size:12px;color:var(--ink-500);white-space:nowrap;}
  .kw-acc{white-space:nowrap;text-align:right;}
  .kw-acc button{width:28px;height:28px;border:0;border-radius:6px;background:transparent;color:var(--ink-500);cursor:pointer;font-size:12px;}
  .kw-acc button:hover{background:var(--brand-50);color:var(--brand-700);}
  .kw-hist{border:1px solid var(--line);border-radius:12px;padding:14px;margin:6px 0 4px;background:#FAFBFC;}
  .kw-hist-cab{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px;font-size:13px;}
  .kw-hist-resumen{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--ink-500);margin-left:auto;}
  .kw-hist-resumen b{color:var(--ink-900);font-size:13.5px;margin-right:3px;}
  .kw-hist-chart{position:relative;height:190px;margin-bottom:10px;}
  .kw-hist-lista{list-style:none;margin:0;padding:0;max-height:150px;overflow-y:auto;font-size:12.5px;}
  .kw-hist-lista li{display:flex;align-items:center;gap:10px;padding:5px 2px;border-top:1px solid var(--line);}
  .kw-hist-lista li span{width:90px;color:var(--ink-500);}
  .kw-hist-lista li em{font-style:normal;color:var(--ink-500);font-size:11.5px;}
  .kw-hist-lista li .fa-google{color:#4285f4;font-size:11px;}
  .kw-hist-lista li button{margin-left:auto;border:0;background:none;color:var(--ink-300);cursor:pointer;}
  .kw-hist-lista li button:hover{color:var(--danger);}
  .kw-pos-mini{font-size:10.5px;border-radius:5px;padding:0 5px;}

  /* Search Console */
  .gsc-pasos{margin:0 0 14px;padding-left:20px;font-size:12.5px;color:var(--ink-700);line-height:1.7;background:#F7F8FA;border-radius:9px;padding:10px 12px 10px 30px;}
  .gsc-resumen{display:flex;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-500);margin:4px 0 10px;}
  .gsc-resumen b{color:var(--ink-900);}
  .gsc-titulo{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-700);margin:14px 0 6px;}
  .gsc-min{text-transform:none;letter-spacing:0;font-weight:600;color:var(--ink-500);display:inline-flex;align-items:center;gap:6px;}
  .gsc-min input{width:70px;padding:3px 6px;border:1px solid var(--line-strong);border-radius:6px;font:inherit;font-size:12px;}
  .gsc-acciones{display:flex;gap:12px;margin-bottom:6px;}
  .gsc-lista{max-height:220px;overflow-y:auto;border:1px solid var(--line);border-radius:9px;}
  .gsc-fila{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:12px;padding:7px 12px;border-top:1px solid var(--line);font-size:12.5px;}
  .gsc-fila:first-child{border-top:0;}
  .gsc-nueva{grid-template-columns:auto minmax(0,1fr) auto auto;cursor:pointer;}
  .gsc-nueva input{width:auto;accent-color:var(--brand);}
  .gsc-q{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:var(--ink-900);}
  .gsc-pos{white-space:nowrap;color:var(--ink-500);}
  .gsc-pos b{color:var(--ink-900);}
  .gsc-m{font-size:11.5px;color:var(--ink-500);white-space:nowrap;}

  /* Páginas */
  .seo-pag{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;margin-bottom:10px;cursor:pointer;transition:border-color .12s, box-shadow .12s;background:#fff;}
  .seo-pag:hover{border-color:var(--line-strong);box-shadow:0 6px 16px rgba(15,23,42,.07);}
  .seo-pag:focus-visible{outline:2px solid var(--brand);outline-offset:1px;}
  .seo-anillo{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}
  .seo-anillo svg{position:absolute;inset:0;width:100%;height:100%;}
  .seo-anillo b{position:relative;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;}
  .seo-pag-cuerpo{flex:1;min-width:0;}
  .seo-pag-titulo{font-size:14px;font-weight:700;color:#1a0dab;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .seo-pag-url{font-size:12px;color:#188038;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono);}
  .seo-pag-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:5px;}
  .seo-pag-kw{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:var(--brand-700);font-weight:600;}
  .seo-pag-kw i{font-size:10px;}
  .seo-pag-kw.falta{color:var(--ink-300);font-weight:500;}
  .seo-cuenta{font-size:11px;font-weight:700;border-radius:999px;padding:1px 8px;}
  .seo-cuenta.bad{background:var(--bad-bg);color:var(--danger);} .seo-cuenta.warn{background:#fff4e0;color:#b4570b;}
  .seo-pag-der{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0;}
  .seo-pag-rev{font-size:11.5px;color:var(--ink-500);}
  .seo-modal-pag{max-width:1040px;width:calc(100vw - 32px);}
  .seo-pag-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;}
  .seo-pag-analisis{background:#F7F8FA;border-radius:12px;padding:16px;align-self:start;position:sticky;top:0;}
  .seo-sub{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-500);margin-bottom:8px;}
  .serp{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px;font-family:Arial, Helvetica, sans-serif;}
  .serp-sitio{display:flex;align-items:center;gap:10px;margin-bottom:6px;}
  .serp-fav{width:26px;height:26px;border-radius:50%;background:#e8f0fe;color:#1a73e8;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .serp-dom{font-size:14px;color:#202124;line-height:1.2;}
  .serp-url{font-size:12px;color:#4d5156;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:360px;}
  .serp-title{font-size:19px;color:#1a0dab;line-height:1.3;margin-bottom:4px;}
  .serp-desc{font-size:13.5px;color:#4d5156;line-height:1.58;}
  .serp-desc b{color:#202124;}
  .seo-score{display:flex;align-items:center;gap:12px;margin:16px 0 10px;}
  .seo-score b{display:block;font-size:14.5px;color:var(--ink-900);}
  .seo-score span{font-size:12px;color:var(--ink-500);}
  .seo-score .seo-anillo b{font-size:17px;display:inline;}
  .seo-checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:300px;overflow-y:auto;}
  .seo-check{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;line-height:1.45;color:var(--ink-700);}
  .seo-check i{margin-top:2px;font-size:12.5px;}
  .seo-check-ok i{color:#0E9F6E;} .seo-check-warn i{color:#F08C00;} .seo-check-bad i{color:#E5484D;}

  /* Auditoría */
  .audit-webs{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-bottom:16px;}
  .audit-webs:empty{display:none;}
  .audit-web{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font:inherit;text-align:left;cursor:pointer;}
  .audit-web:hover{border-color:var(--line-strong);}
  .audit-web.activa{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand) inset;}
  .audit-web-nombre{font-size:13.5px;font-weight:700;color:var(--ink-900);}
  .audit-web-sub{font-size:12px;color:var(--ink-500);}
  .audit-web-sub b{color:var(--danger);}
  .seo-grid-audit{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start;}
  .seo-audit-lateral{position:sticky;top:12px;}
  .audit-cat{margin-bottom:18px;}
  .audit-cat-cab{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;color:var(--ink-900);padding:6px 2px 8px;border-bottom:1px solid var(--line);}
  .audit-cat-cab > i{color:var(--brand-700);width:16px;text-align:center;}
  .audit-cat-barra{flex:1;max-width:160px;height:6px;border-radius:999px;background:#EEF0F3;overflow:hidden;margin-left:auto;}
  .audit-cat-barra span{display:block;height:100%;border-radius:999px;}
  .audit-cat-cab b{font-size:12px;color:var(--ink-500);min-width:38px;text-align:right;}
  .audit-item{display:flex;align-items:center;gap:12px;padding:10px 4px;border-bottom:1px solid var(--line);}
  .audit-check{width:24px;height:24px;border-radius:7px;border:2px solid var(--line-strong);background:#fff;color:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0;}
  .audit-check:hover{border-color:#0E9F6E;color:#0E9F6E;}
  .audit-aldia .audit-check{background:#0E9F6E;border-color:#0E9F6E;color:#fff;}
  .audit-toca .audit-check{border-color:#E5484D;}
  .audit-item-cuerpo{flex:1;min-width:0;}
  .audit-item-txt{font-size:13px;font-weight:600;color:var(--ink-900);}
  .audit-aldia .audit-item-txt{color:var(--ink-500);font-weight:500;}
  .audit-item-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:11.5px;color:var(--ink-500);margin-top:2px;}
  .audit-toca .audit-estado{color:var(--danger);font-weight:700;}
  .audit-nunca .audit-estado{color:#b4570b;font-weight:700;}
  .audit-item select.audit-periodo{appearance:none;-webkit-appearance:none;cursor:pointer;font-family:inherit;border:1px solid transparent;padding:3px 9px;font-size:11.5px;border-radius:999px;background:#F1F3F5;border-color:transparent;font-weight:600;color:var(--ink-700);min-width:0;}
  .audit-borrar{width:28px;height:28px;border:0;border-radius:6px;background:transparent;color:var(--ink-300);cursor:pointer;opacity:0;}
  .audit-item:hover .audit-borrar, .audit-borrar:focus-visible{opacity:1;}

  /* Contenidos */
  .cont-tablero{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start;}
  .cont-col{background:#F7F8FA;border:1px solid var(--line);border-radius:12px;padding:10px;min-height:160px;transition:background .12s;}
  .cont-col.sobre{background:var(--brand-50);border-color:var(--brand);border-style:dashed;}
  .cont-col-cab{display:flex;align-items:center;gap:8px;padding:4px 6px 10px;font-size:13px;font-weight:700;color:var(--ink-900);}
  .cont-col-cab button{margin-left:auto;width:26px;height:26px;border:0;border-radius:6px;background:transparent;color:var(--ink-500);cursor:pointer;}
  .cont-col-cab button:hover{background:#fff;color:var(--brand-700);}
  .cont-col-n{font-size:11.5px;font-weight:700;color:var(--ink-500);background:#fff;border-radius:999px;padding:1px 8px;}
  .cont-dot{width:9px;height:9px;border-radius:50%;background:#B8BEC9;}
  .cont-col-redaccion .cont-dot{background:#F08C00;} .cont-col-publicado .cont-dot{background:#0E9F6E;}
  .cont-card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:10px 12px;margin-bottom:8px;cursor:grab;box-shadow:0 1px 2px rgba(15,23,42,.05);}
  .cont-card:hover{border-color:var(--line-strong);box-shadow:0 6px 16px rgba(15,23,42,.1);}
  .cont-card-tipo{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--brand-700);margin-bottom:3px;}
  .cont-card-titulo{font-size:13px;font-weight:700;color:var(--ink-900);margin-bottom:6px;overflow-wrap:anywhere;}
  .cont-card-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11.5px;color:var(--ink-500);}
  .cont-card-meta i{font-size:10px;margin-right:3px;}
  .cont-card-meta a{color:var(--ink-500);margin-left:auto;}
  .cont-card-meta a:hover{color:var(--brand-700);}
  .cont-kw{color:var(--brand-700);font-weight:600;}
  .cont-tarde{color:var(--danger);font-weight:700;}
  .cont-vacia{font-size:12px;color:var(--ink-300);text-align:center;padding:22px 8px;border:1px dashed var(--line-strong);border-radius:9px;}

  @media (max-width:1000px){ .seo-grid-audit{grid-template-columns:minmax(0,1fr);} .seo-audit-lateral{position:static;} .seo-pag-grid{grid-template-columns:minmax(0,1fr);} .seo-pag-analisis{position:static;} .cont-tablero{grid-template-columns:minmax(0,1fr);} }
  @media (max-width:700px){
    .seo-cab{flex-direction:column;align-items:stretch;}
    .seo-web-sel select{flex:1;min-width:0;}
    .seo-kpis{display:flex;overflow-x:auto;padding-bottom:4px;}
    .seo-kpis .seo-kpi{flex:0 0 170px;}
    .seo-barra-der{margin-left:0;width:100%;}
    .seo-pag{flex-wrap:wrap;} .seo-pag-der{flex-direction:row;align-items:center;width:100%;padding-left:58px;}
    .gsc-fila{grid-template-columns:minmax(0,1fr) auto;} .gsc-fila .gsc-m{display:none;}
  }
  @media (max-width:700px){ .seo-cab > *{min-width:0;max-width:100%;} .seo-cab .tabbar{overflow-x:auto;flex-wrap:nowrap;} }
  .seo-audit-lateral .field-row{flex-direction:column;gap:0;}
  .kw-tabla td.num{white-space:nowrap;}

  /* --- Ajustes BAL --- */
  .seo-kpi-violeta .seo-kpi-icono{background:#F1EBFD;color:#6C3FB5;}
  .seo-kpi{box-shadow:var(--shadow-xs);font:inherit;text-align:left;}
  .seo-kpi-valor{font-weight:650;letter-spacing:-.02em;}
  .seo-kpi-label{font-weight:500;}
  .seo-kpi.clic{cursor:pointer;transition:border-color .15s, box-shadow .15s;}
  .seo-kpi.clic:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm);}
  .seo-kpi.activo{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand) inset;}
  .seo-cab .tabbar{flex:1;margin-bottom:0;min-width:0;}
  .seo-web-sel i{color:var(--ink-500);}
  .seo-barra .tk-buscar{flex:1 1 220px;max-width:340px;}
  .kw-dist-ico{background:none !important;color:#B35C00;width:auto !important;height:auto !important;font-size:11px;}
  .kw-tabla thead th{white-space:nowrap;}
  .th-sortable{cursor:pointer;user-select:none;}
  .th-sortable i{font-size:9.5px;color:var(--ink-300);margin-left:3px;}
  .th-activa,.th-activa i{color:var(--ink-900);}
  .kw-web-chip{display:inline-block;margin-top:4px;}
  .kw-m{display:none;}
  .kw-aviso-gsc{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#EEF4FF;border:1px solid #C9D8FF;color:var(--ink-700);border-radius:12px;padding:10px 14px;margin-bottom:14px;font-size:13px;}
  .kw-aviso-gsc > i{color:#4285F4;font-size:15px;}
  .kw-aviso-gsc span{flex:1;min-width:200px;}
  .seo-pie{margin-top:12px;}
  .seo-contador{float:right;font-weight:500;}
  .seo-modal{max-width:780px;}
  .seo-pag-gsc{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:var(--ink-700);background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px 12px;margin-top:10px;line-height:1.5;}
  .seo-pag-gsc i{color:#4285F4;margin-top:3px;}
  .seo-pag-gscmini{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--ink-500);}
  .seo-pag-gscmini i{color:#4285F4;font-size:10.5px;}
  .cont-col-idea .cont-dot{background:#B8BEC9;}
  .cont-avanzar{margin-top:8px;width:100%;border:1px dashed var(--line-strong);background:transparent;border-radius:8px;font:inherit;font-size:12px;font-weight:600;color:var(--ink-500);padding:6px 8px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;}
  .cont-avanzar:hover{border-color:var(--brand);color:var(--brand);border-style:solid;}
  .cont-avanzar i{font-size:10px;}
  .audit-item select.audit-periodo:hover{border-color:var(--line-strong);}
  @media (max-width:1100px){ .seo-txt{display:none;} }
  @media (max-width:760px){
    .seo-cab{gap:10px;border-bottom:0;}
    .seo-cab .tabbar{border-bottom:1px solid var(--line);}
    .seo-web-sel{margin:0;}
    .seo-web-sel select{height:42px;}
    .seo-kpis{margin:0 -12px 14px;padding:2px 12px 4px;gap:10px;scrollbar-width:none;}
    .seo-kpis::-webkit-scrollbar{display:none;}
    .seo-kpis .seo-kpi{flex:0 0 150px;padding:11px 12px;}
    .seo-kpi-icono{width:32px;height:32px;font-size:13px;}
    .seo-kpi-valor{font-size:19px;}
    .seo-barra .tk-buscar{flex:1 1 100%;max-width:none;}
    .seo-barra-der .btn{flex:1;justify-content:center;}
    .seo-barra-der select{flex:1 1 100%;min-width:0;}
    .seo-barra .tk-contador{order:3;}
    /* Tabla de keywords como tarjetas */
    .kw-wrap{overflow:visible;border:0;}
    .kw-tabla,.kw-tabla tbody{display:block;}
    .kw-tabla thead{display:none;}
    .kw-tabla tr{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:12px 2px;border-bottom:1px solid var(--line);}
    .kw-tabla td{display:block;padding:0 !important;border:0 !important;}
    .kw-tabla .kw-td-kw{flex:1 1 calc(100% - 130px);min-width:0;}
    .kw-td-kw .kw-url{max-width:100%;}
    .kw-tabla .kw-td-pos{order:-1;margin-left:auto;order:2;}
    .kw-tabla .kw-td-delta{order:3;}
    .kw-tabla .kw-td-spark{order:6;}
    .kw-tabla .kw-td-obj{order:5;flex-basis:100%;display:flex !important;}
    .kw-tabla .kw-td-obj{flex-basis:auto;}
    .kw-tabla .kw-td-gsc{order:6;font-size:12px;color:var(--ink-500);}
    .kw-tabla td.vacio{display:none;}
    .kw-tabla .kw-m{display:inline;}
    .kw-tabla .kw-fecha{order:7;margin-left:auto;}
    .kw-tabla .kw-td-mejor,.kw-tabla .kw-td-gsc2,.kw-tabla .kw-acc,.kw-tabla .kw-td-web{display:none;}
    .kw-pos{min-width:52px;padding:6px 10px;font-size:15px;}
    .kw-tabla .empty-row td{flex:1;}
    .seo-modal .seo-4{flex-wrap:wrap;}
    .seo-modal .seo-4 > .field{flex:1 1 calc(50% - 8px) !important;}
    .seo-modal-pag{width:100% !important;}
    .seo-pag-analisis{padding:12px;margin:0 -4px;}
    .serp-url{max-width:240px;}
    .audit-item{flex-wrap:wrap;gap:8px 12px;}
    .audit-item-cuerpo{flex:1 1 calc(100% - 40px);}
    .audit-item select.audit-periodo{margin-left:36px;}
    .audit-borrar{opacity:1;margin-left:auto;}
    .audit-webs{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:80%;overflow-x:auto;margin:0 -12px 14px;padding:2px 12px 4px;scrollbar-width:none;}
    .audit-webs::-webkit-scrollbar{display:none;}
    .cont-tablero{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:85%;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -12px;padding:0 12px 6px;scrollbar-width:none;}
    .cont-tablero::-webkit-scrollbar{display:none;}
    .cont-col{scroll-snap-align:start;}
    .gsc-pasos{font-size:12px;}
  }
  /* ===================== MÓDULOS v2 (listas, ventanas, tarjetas) ===================== */
  .fm-box .fm-panel > .panel-title{font-size:17px;font-weight:650;letter-spacing:-.015em;color:var(--ink-900);margin:0 40px 4px 0;}
  .fm-box .fm-panel > .panel-subtitle{margin-bottom:16px;}
  .fm-box .fm-panel .divider{margin:14px 0;}
  .fm-box .btn-row{margin-top:16px;}
  .m2-sub{font-size:12.5px;font-weight:650;color:var(--ink-700);margin:6px 0 8px;}
  .m2-sub .muted{font-weight:500;}
  .seo-barra select{height:38px;border:1px solid var(--line-strong);border-radius:10px;background-color:#fff;font:inherit;font-size:13px;padding:0 30px 0 10px;min-width:150px;box-shadow:var(--shadow-xs);}
  .m2-mes{height:38px;border:1px solid var(--line-strong);border-radius:10px;padding:0 10px;font:inherit;font-size:13px;background:#fff;box-shadow:var(--shadow-xs);}
  .m2-chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center;}
  .m2-chips .pr-chip b{font-weight:600;color:var(--ink-500);font-size:11px;}
  .m2-lista{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;}
  .m2-fila{display:flex;align-items:center;gap:14px;padding:11px 14px;border-top:1px solid var(--line);cursor:pointer;min-width:0;}
  .m2-fila:first-child{border-top:0;}
  .m2-fila:hover{background:#FAFBFC;}
  .m2-fila:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--brand-ring);}
  .m2-ico{width:36px;height:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-size:15px;flex:0 0 36px;}
  .m2-main{flex:1;min-width:0;}
  .m2-main strong{display:block;font-size:13.5px;font-weight:600;color:var(--ink-900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .m2-main span{display:block;font-size:12px;color:var(--ink-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1px;}
  .m2-main em{font-style:italic;color:var(--ink-300);}
  .m2-acc{display:flex;gap:2px;flex-shrink:0;}
  .m2-acc button,.m2-acc-a{width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:var(--ink-500);cursor:pointer;font-size:12px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;}
  .m2-acc button:hover,.m2-acc-a:hover{background:var(--brand-50);color:var(--brand-700);}
  .m2-acc button:disabled{opacity:.3;cursor:default;background:transparent;}
  .m2-grupo{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:12px;font-weight:650;color:var(--ink-500);text-transform:uppercase;letter-spacing:.05em;margin:18px 2px 8px;}
  .m2-grupo:first-child{margin-top:4px;}
  .m2-grupo b{font-size:13px;color:var(--ink-900);text-transform:none;letter-spacing:0;font-weight:650;font-variant-numeric:tabular-nums;}
  .m2-grupo b em{font-style:normal;font-weight:500;color:var(--ink-500);font-size:12px;margin-left:4px;}
  .m2-mas{margin:14px auto 0;display:flex;}
  .m2-pill-sel{appearance:none;-webkit-appearance:none;border:0;border-radius:999px;font:inherit;font-size:11.5px;font-weight:600;padding:4px 22px 4px 10px;cursor:pointer;background-color:#F1F3F5;color:var(--ink-700);background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 11px) 52%,calc(100% - 7px) 52%;background-size:4px 4px;background-repeat:no-repeat;flex-shrink:0;}
  .m2-est-activa{background-color:var(--ok-bg);color:var(--ok);}
  .m2-est-pausada{background-color:var(--warn-bg);color:#B35C00;}
  .m2-estado{border:0;border-radius:999px;font:inherit;font-size:11.5px;font-weight:600;padding:5px 10px;cursor:pointer;display:inline-flex;gap:5px;align-items:center;flex-shrink:0;white-space:nowrap;}
  .m2-estado i{font-size:10px;}
  .m2-estado.ok{background:var(--ok-bg);color:var(--ok);}
  .m2-estado.pend{background:var(--warn-bg);color:#B35C00;}
  .m2-estado:hover{box-shadow:0 0 0 2px var(--line-strong);}
  /* Ads */
  .ad-pres{width:190px;flex-shrink:0;}
  .ad-pres-txt{font-size:12px;color:var(--ink-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .ad-pres-txt b{color:var(--ink-900);font-weight:650;}
  .ad-pres-txt em{font-style:normal;color:var(--ink-300);}
  .ad-pres-barra{height:5px;background:#EEF0F3;border-radius:99px;overflow:hidden;margin-top:5px;}
  .ad-pres-barra span{display:block;height:100%;background:var(--brand);border-radius:99px;}
  .ad-met{display:grid;grid-template-columns:repeat(3,78px);gap:6px;flex-shrink:0;}
  .ad-met div{display:flex;flex-direction:column;}
  .ad-met b{font-size:14px;font-weight:650;color:var(--ink-900);font-variant-numeric:tabular-nums;}
  .ad-met span{font-size:11px;color:var(--ink-500);white-space:nowrap;}
  /* Email */
  .env-fecha{width:42px;flex:0 0 42px;text-align:center;border:1px solid var(--line);border-radius:9px;padding:4px 0;line-height:1.1;}
  .env-fecha b{display:block;font-size:15px;color:var(--ink-900);font-weight:650;}
  .env-fecha span{font-size:10.5px;color:var(--ink-500);text-transform:uppercase;font-weight:600;}
  .env-dato{width:92px;flex-shrink:0;display:flex;flex-direction:column;gap:2px;}
  .env-dato b{font-size:13.5px;font-weight:650;color:var(--ink-900);font-variant-numeric:tabular-nums;}
  .env-l{font-size:10.5px;color:var(--ink-500);text-transform:uppercase;letter-spacing:.04em;font-weight:600;}
  .env-barra{display:block;height:4px;background:#EEF0F3;border-radius:99px;overflow:hidden;width:70px;}
  .env-barra span{display:block;height:100%;background:var(--ok);}
  .env-mal{color:var(--danger) !important;}
  .utm-url{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .utm-url a{color:var(--brand-700);text-decoration:none;}
  /* Gastos e ingresos */
  .fin-imp{text-align:right;flex-shrink:0;min-width:110px;}
  .fin-imp b{display:block;font-size:14px;font-weight:650;color:var(--ink-900);font-variant-numeric:tabular-nums;}
  .fin-imp span{font-size:11.5px;color:var(--ink-500);font-variant-numeric:tabular-nums;}
  .fin-rec{font-size:10.5px;color:var(--brand);margin-left:4px;}
  .fin-tarde{box-shadow:inset 3px 0 0 var(--danger);}
  .gas-ico{background:var(--bad-bg);color:var(--danger);}
  /* Horas */
  .hr-crono{padding:14px 16px;margin-bottom:16px;}
  .hr-inactivo{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
  .hr-crono-ico{width:40px;height:40px;border-radius:12px;background:var(--brand-50);color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0;}
  .hr-inactivo input{flex:1 1 240px;min-width:0;height:42px;border:1px solid var(--line-strong);border-radius:10px;padding:0 12px;font:inherit;font-size:14px;}
  .hr-inactivo input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring);}
  .hr-inactivo select{height:42px;border:1px solid var(--line-strong);border-radius:10px;padding:0 28px 0 10px;font:inherit;font-size:13px;background-color:#fff;min-width:150px;}
  .hr-inactivo .btn{height:42px;}
  .hr-activo{display:flex !important;align-items:center;gap:14px;flex-wrap:wrap;}
  .hr-activo[style*="none"]{display:none !important;}
  .hr-reloj{font-size:30px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--ink-900);}
  .hr-info{flex:1;min-width:160px;display:flex;flex-direction:column;}
  .hr-info b{font-size:14px;color:var(--ink-900);font-weight:600;}
  .hr-info span{font-size:12.5px;color:var(--ink-500);}
  .hr-ico{background:#F1F3F5;color:var(--ink-500);font-size:13px;}
  .hr-dur{font-size:14px;font-weight:650;color:var(--ink-900);font-variant-numeric:tabular-nums;min-width:62px;text-align:right;flex-shrink:0;}
  /* Snippets */
  .sn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;}
  .sn-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-xs);}
  .sn-cab{padding:12px 14px 10px;cursor:pointer;}
  .sn-cab strong{display:block;font-size:14px;font-weight:600;color:var(--ink-900);}
  .sn-cab span{display:block;font-size:12px;color:var(--ink-500);margin-top:2px;}
  .sn-code{margin:0;background:#0F1420;color:#C9D4F1;font-family:var(--mono);font-size:11.5px;line-height:1.55;padding:12px 14px;height:160px;overflow:hidden;white-space:pre;cursor:pointer;-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent);}
  .sn-pie{display:flex;align-items:center;gap:8px;padding:10px 12px;border-top:1px solid var(--line);}
  .sn-pie .muted{margin-right:auto;}
  .sn-editor{min-height:200px;font-family:var(--mono) !important;font-size:12.5px !important;line-height:1.5;background:#0F1420;color:#E6ECFF;border-radius:10px;}
  .sn-previa{width:100%;height:200px;border:1px solid var(--line);border-radius:10px;background:#fff;}
  /* Estructura */
  .ap-lista{display:flex;flex-direction:column;gap:6px;}
  .ap-fila{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;margin-left:calc(var(--n,0) * 24px);cursor:pointer;background:#fff;}
  .ap-fila:hover{border-color:var(--line-strong);}
  .ap-ico{width:30px;height:30px;border-radius:8px;background:var(--brand-50);color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0;}
  .ap-fila .m2-main strong{font-family:var(--mono);font-size:13px;}
  .m2-slug{display:flex;align-items:center;border:1px solid var(--line-strong);border-radius:10px;overflow:hidden;}
  .m2-slug span{padding:0 4px 0 12px;color:var(--ink-500);font-family:var(--mono);font-size:12.5px;white-space:nowrap;max-width:50%;overflow:hidden;text-overflow:ellipsis;}
  .m2-slug input{border:0 !important;box-shadow:none !important;font-family:var(--mono);padding-left:0 !important;}
  /* Mantenimiento */
  .mant-sug{display:flex;flex-direction:column;gap:6px;margin-top:8px;}
  .mant-sug-btn{display:flex;align-items:flex-start;gap:8px;border:1px dashed var(--line-strong);background:#fff;border-radius:9px;padding:8px 10px;font:inherit;font-size:12.5px;color:var(--ink-700);cursor:pointer;text-align:left;}
  .mant-sug-btn:hover{border-color:var(--brand);border-style:solid;color:var(--brand-700);}
  .mant-sug-btn i{margin-top:3px;font-size:10px;color:var(--brand);}
  .mant-sug-btn span{flex:1;}
  .mant-sug-btn em{font-style:normal;font-size:11px;color:var(--ink-300);white-space:nowrap;}
  /* Ejemplos */
  .ej-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;}
  .ej-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-xs);transition:box-shadow .15s;}
  .ej-card:hover{box-shadow:var(--shadow-sm);}
  .ej-img{position:relative;aspect-ratio:16/10;background:#F3F4F7;cursor:pointer;overflow:hidden;}
  .ej-img img{width:100%;height:100%;object-fit:cover;object-position:top;display:block;}
  .ej-sin{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--ink-300);font-size:13px;}
  .ej-sin i{font-size:26px;}
  .ej-cat{position:absolute;left:10px;top:10px;background:rgba(255,255,255,.92);border-radius:999px;font-size:11px;font-weight:600;color:var(--ink-700);padding:3px 9px;box-shadow:var(--shadow-xs);}
  .ej-cuerpo{padding:12px 14px;flex:1;cursor:pointer;}
  .ej-cuerpo strong{display:block;font-size:14px;font-weight:600;color:var(--ink-900);}
  .ej-cuerpo span{font-size:12px;color:var(--ink-500);}
  .ej-cuerpo p{font-size:12.5px;color:var(--ink-700);margin:6px 0 0;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  .ej-pie{display:flex;gap:8px;padding:0 14px 14px;}
  .ej-pie .btn{flex:1;justify-content:center;text-decoration:none;}
  /* Notas */
  .nt-composer{margin-bottom:16px;padding:14px 16px;}
  .nt-composer.editando{box-shadow:0 0 0 2px var(--brand);}
  .nt-comp-cab{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:650;color:var(--ink-700);margin-bottom:8px;}
  .nt-composer textarea{width:100%;min-height:70px;border:0;resize:none;font:inherit;font-size:14.5px;line-height:1.5;color:var(--ink-900);outline:none;padding:0;background:transparent;}
  .nt-comp-pie{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:10px;margin-top:6px;}
  .nt-comp-pie > i{color:var(--ink-300);font-size:12px;}
  .nt-comp-pie input{flex:1;min-width:0;border:0;outline:none;font:inherit;font-size:13px;background:transparent;}
  .nt-grid{columns:3 280px;column-gap:14px;}
  .nt-card{break-inside:avoid;background:#fff;border:1px solid var(--line);border-top:3px solid var(--c);border-radius:12px;padding:12px 14px 8px;margin-bottom:14px;box-shadow:var(--shadow-xs);display:flex;flex-direction:column;gap:8px;}
  .nt-cab{display:flex;justify-content:space-between;align-items:center;gap:8px;}
  .nt-cat{font-size:11px;font-weight:650;color:var(--c);text-transform:uppercase;letter-spacing:.04em;}
  .nt-fecha{font-size:11px;color:var(--ink-300);}
  .nt-card p{font-size:13.5px !important;line-height:1.5;}
  .nt-acc{display:flex;gap:2px;justify-content:flex-end;border-top:1px solid #F1F2F4;padding-top:6px;}
  .nt-acc button{width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:var(--ink-300);cursor:pointer;font-size:12px;}
  .nt-acc button:hover{background:var(--brand-50);color:var(--brand-700);}
  @media (max-width:1100px){
    .ad-met{grid-template-columns:repeat(3,64px);}
    .ad-pres{width:150px;}
    .env-d-bajas{display:none;}
  }
  @media (max-width:760px){
    .seo-barra > select,.m2-mes{flex:1 1 calc(50% - 6px);min-width:0;width:auto !important;}
    .m2-fila{flex-wrap:wrap;gap:8px 12px;padding:12px;}
    .m2-fila .m2-main{flex:1 1 calc(100% - 60px);}
    .m2-fila .m2-acc{margin-left:auto;}
    .ad-fila .ad-pres{order:5;width:100%;}
    .ad-fila .ad-met{order:6;grid-template-columns:repeat(3,1fr);flex:1 1 100%;}
    .ad-fila .m2-pill-sel{order:7;}
    .ad-fila .m2-acc{order:8;}
    .env-fila .env-dato{width:auto;flex:1 1 28%;}
    .env-d-bajas{display:none;}
    .fin-fila .fin-imp{order:3;text-align:left;min-width:0;}
    .fin-fila .m2-estado{order:4;margin-left:auto;}
    .fin-fila .m2-acc{order:5;margin-left:0;}
    .hr-fila .hr-dur{order:2;}
    .hr-fila .m2-acc{order:3;}
    .hr-inactivo input{flex:1 1 calc(100% - 52px);}
    .hr-inactivo select{flex:1 1 calc(50% - 6px);min-width:0;}
    .hr-inactivo .btn{flex:1 1 100%;justify-content:center;}
    .hr-reloj{font-size:26px;}
    .hr-activo .btn{flex:1;justify-content:center;}
    .sn-grid,.ej-grid{grid-template-columns:minmax(0,1fr);}
    .ap-fila{margin-left:calc(var(--n,0) * 12px);flex-wrap:wrap;}
    .nt-grid{columns:1;}
  }
  /* Alta de cliente */
  .alta-box{max-width:760px;}
  .pr-txt-c{display:none;}
  @media (max-width:760px){ .pr-txt-l{display:none;} .pr-txt-c{display:inline;} #prPresupuestoTxt{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:bottom;} }
  .alta-intro{font-size:13px;color:var(--ink-500);margin:-10px 0 14px;}
  .alta-sec{border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:12px;}
  .alta-sec-tit{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:650;color:var(--ink-900);margin-bottom:10px;}
  .alta-sec-tit span{width:22px;height:22px;border-radius:50%;background:var(--brand);color:#fff;font-size:11.5px;display:inline-flex;align-items:center;justify-content:center;}
  .alta-sec-tit em{font-style:normal;font-weight:500;font-size:12px;color:var(--ink-500);margin-left:auto;}
  .alta-check{display:flex;align-items:flex-start;gap:9px;font-size:13px;color:var(--ink-700);cursor:pointer;padding:4px 0;line-height:1.4;}
  .alta-check input,.alta-tarea input{width:16px !important;height:16px;margin:1px 0 0 !important;accent-color:var(--brand);flex:0 0 16px;}
  .alta-tareas{display:flex;flex-direction:column;}
  .alta-tarea{display:flex;align-items:center;gap:10px;padding:7px 2px;border-top:1px solid #F1F2F4;font-size:13px;color:var(--ink-900);cursor:pointer;}
  .alta-tarea:first-child{border-top:0;}
  .alta-tarea span{flex:1;}
  .alta-tarea em{font-style:normal;font-size:11.5px;color:var(--ink-500);white-space:nowrap;}
  .alta-tarea em.alta{color:#B35C00;font-weight:600;}
  .apr-enlace{background:#fff;border:1px solid var(--brand-100);border-radius:10px;padding:12px;margin-bottom:10px;}
  .apr-enlace-t{font-size:13px;font-weight:650;color:var(--ink-900);display:flex;align-items:center;gap:7px;flex-wrap:wrap;}
  .apr-enlace-t > i{color:var(--brand);}
  .apr-badge{font-size:10.5px;font-weight:700;background:var(--brand-50);color:var(--brand-700);padding:2px 7px;border-radius:999px;}
  .apr-enlace-d{font-size:12px;color:var(--ink-500);margin:4px 0 10px;line-height:1.45;}
  .apr-enlace-pie{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin-top:10px;font-size:12px;color:var(--ink-500);}
  .apr-enlace-pie .link-btn{background:none;border:0;padding:0;color:var(--brand);font-weight:600;font-size:12px;cursor:pointer;}
  .apr-enlace-pie .link-btn:hover{text-decoration:underline;}
  .apr-o{font-size:11.5px;color:var(--ink-400);margin-top:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;}
  @media (max-width:760px){ .apr-enlace .pl-apr-acc .btn{flex:1 1 auto;justify-content:center;} }
  .app-actualizar{position:fixed;left:50%;top:calc(12px + env(safe-area-inset-top));transform:translate(-50%,-140%);z-index:9000;display:flex;align-items:center;gap:12px;background:#0B0D12;color:#fff;border-radius:14px;padding:10px 10px 10px 12px;box-shadow:0 12px 32px rgba(11,13,18,.28);width:min(460px,calc(100% - 24px));transition:transform .3s cubic-bezier(.2,.8,.2,1);}
  .app-actualizar.visible{transform:translate(-50%,0);}
  .app-act-ico{width:34px;height:34px;border-radius:10px;background:rgba(26,86,255,.22);color:#8FB0FF;display:grid;place-items:center;flex:none;}
  .app-act-txt{flex:1;min-width:0;line-height:1.3;}
  .app-act-txt strong{display:block;font-size:13.5px;font-weight:650;}
  .app-act-txt span{display:block;font-size:12px;color:#AEB4C0;}
  .app-actualizar .btn{flex:none;white-space:nowrap;}
  .app-act-x{background:none;border:0;color:#8A909C;width:32px;height:32px;border-radius:8px;cursor:pointer;flex:none;}
  .app-act-x:hover{background:rgba(255,255,255,.08);color:#fff;}
  @media (max-width:420px){ .app-act-txt span{display:none;} }
  @media (prefers-reduced-motion:reduce){
    *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important;}
  }

  /* ---------- Cobros ---------- */
  .cob-auto{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:0 0 14px;}
  .cob-auto.off{background:var(--bg-2, #F7F8FA);}
  .cob-auto-ico{width:36px;height:36px;border-radius:10px;background:#F1EBFD;color:#6C3FB5;display:grid;place-items:center;flex:none;}
  .cob-auto.off .cob-auto-ico{background:var(--line);color:var(--ink-500);}
  .cob-auto-txt{flex:1;min-width:0;line-height:1.35;}
  .cob-auto-txt strong{display:block;font-size:13.5px;color:var(--ink-900);}
  .cob-auto-txt span{display:block;font-size:12.5px;color:var(--ink-500);}
  .cob-auto-txt a{color:var(--brand);font-weight:600;text-decoration:none;}
  .cob-auto-acc{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
  .cob-pill{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;white-space:nowrap;}
  .cob-pill i{font-size:10px;}
  .cob-pill.ok{color:var(--ok);}
  .cob-pill.pend{color:#B35C00;}
  .cob-pill.mal{color:var(--danger);}
  .cob-fila .fin-imp span{display:block;}
  .cob-btn{padding:7px 12px !important;font-size:12.5px !important;flex:none;white-space:nowrap;}
  .cob-noenv{color:var(--brand);font-weight:600;}
  .m2-acc button.cob-on{color:var(--ok);}
  .cob-vacio{padding:18px 4px;color:var(--ink-500);font-size:13.5px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
  .cob-vacio > i{color:var(--ok);}
  .cob-box{max-width:520px;}
  .cob-resumen{display:flex;flex-direction:column;gap:4px;background:var(--bg-2, #F7F8FA);border-radius:10px;padding:10px 12px;margin:4px 0 14px;}
  .cob-resumen > div{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:baseline;}
  .cob-resumen strong{font-size:14px;}
  .cob-resumen span{font-size:13px;color:var(--ink-700);}
  .cob-resumen em{font-size:12px;color:var(--ink-500);font-style:normal;}
  .cob-pdf{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--ink-500);background:var(--brand-50);border-radius:10px;padding:8px 10px;margin-bottom:12px;}
  .cob-pdf > i{color:var(--brand);}
  .cob-pdf span{flex:1;}
  .cob-acc{display:flex;gap:8px;flex-wrap:wrap;}
  .cob-sub{font-size:13px;font-weight:650;color:var(--ink-900);margin:4px 0 8px;}
  .cob-sub em{font-weight:400;color:var(--ink-500);font-style:normal;font-size:12px;}
  .cob-cuotas{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow:auto;}
  .cob-cuota{display:grid;grid-template-columns:minmax(0,1fr) 110px auto;gap:10px;align-items:center;font-size:13.5px;}
  .cob-cuota span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .cob-cuota input[type=number]{padding:7px 9px;}
  .cob-mini{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--ink-500);white-space:nowrap;cursor:pointer;}
  .cob-mini input{width:15px;height:15px;margin:0;accent-color:var(--brand);}
  @media (max-width:760px){
    .cob-auto{flex-wrap:wrap;}
    .cob-auto-acc{width:100%;justify-content:stretch;}
    .cob-auto-acc .btn{flex:1 1 auto;justify-content:center;}
    .cob-fila .cob-btn{order:5;margin-left:auto;}
    .cob-acc .btn{flex:1 1 auto;justify-content:center;}
    #cobChips{order:3;width:100%;}
  }

  /* ---------- Copias de seguridad ---------- */
  #copiasEstado i{color:var(--ok);margin-right:4px;}
  .cop-lista{display:flex;flex-direction:column;max-height:320px;overflow:auto;border-top:1px solid var(--line);}
  .cop-fila{display:flex;align-items:center;gap:10px;padding:9px 2px;border-bottom:1px solid var(--line);}
  .cop-ico{width:30px;height:30px;border-radius:8px;background:var(--brand-50);color:var(--brand);display:grid;place-items:center;flex:none;font-size:12px;}
  .cop-fila.ult .cop-ico{background:var(--ok-bg);color:var(--ok);}
  .cop-txt{flex:1;min-width:0;line-height:1.3;}
  .cop-txt strong{display:block;font-size:13px;}
  .cop-txt span{display:block;font-size:12px;color:var(--ink-500);}
  .cop-fila .m2-acc{opacity:1;}
  .cop-aviso{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:var(--ink-700);background:var(--brand-50);border-radius:10px;padding:10px 12px;}
  .cop-aviso i{color:var(--brand);margin-top:2px;}

  /* ---------- Servicios y portal ---------- */
  .serv-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;}
  .serv-lista{display:flex;flex-direction:column;gap:10px;}
  .serv-card{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff;}
  .serv-cab{display:flex;align-items:center;gap:10px;}
  .serv-ico{width:38px;height:38px;border-radius:10px;border:0;background:var(--brand-50);color:var(--brand);display:grid;place-items:center;cursor:pointer;flex:none;font-size:15px;}
  .serv-ico:hover{box-shadow:0 0 0 2px var(--brand-100);}
  .serv-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
  .serv-txt input{border:1px solid transparent !important;background:transparent;padding:3px 6px !important;border-radius:6px;width:100%;}
  .serv-txt input:hover,.serv-txt input:focus{border-color:var(--line-strong) !important;background:#fff;}
  .serv-nombre{font-weight:650;font-size:14px !important;color:var(--ink-900);}
  .serv-desc{font-size:12.5px !important;color:var(--ink-500);}
  .serv-n{font-size:12px;color:var(--ink-500);white-space:nowrap;}
  .serv-x{flex:none;}
  .serv-secc{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line);}
  .serv-secc > span{font-size:12px;color:var(--ink-500);margin-right:2px;}
  .serv-secc .pr-chip{font-size:12px;padding:4px 9px;}
  .port-panel{border:1px solid var(--brand-100);background:linear-gradient(180deg,#F7F9FF 0%,#fff 60%);}
  .port-cab{display:flex;gap:12px;align-items:flex-start;margin-bottom:10px;}
  .port-ico{width:40px;height:40px;border-radius:11px;background:var(--brand);color:#fff;display:grid;place-items:center;flex:none;}
  .port-serv{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
  .port-chip{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:12.5px;font-weight:550;}
  .port-chip i{color:var(--brand);font-size:11px;}
  .port-pie{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:12px;font-size:12.5px;color:var(--ink-500);}
  @media (max-width:900px){ .serv-grid{grid-template-columns:1fr;} }
  @media (max-width:760px){
    .serv-cab{flex-wrap:wrap;}
    .serv-n{order:3;margin-left:48px;}
    .port-panel .pl-apr-acc .btn{flex:1 1 auto;justify-content:center;}
  }

  /* ---------- Mensajes (chat con clientes) ---------- */
  .nav-n{margin-left:auto;background:#E5484D;color:#fff;font-size:10.5px;font-weight:700;border-radius:999px;padding:1px 7px;line-height:1.5;}
  .chat-top .notif-bell i{font-size:15px;}
  .chat-app{display:grid;grid-template-columns:320px minmax(0,1fr);height:calc(100vh - 150px);min-height:460px;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 1px 2px rgba(11,13,18,.04);}
  .chat-lista{border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0;background:#FBFBFC;}
  .chat-lista-cab{padding:12px;border-bottom:1px solid var(--line);}
  .chat-lista-cab .tk-buscar{max-width:none;}
  .chat-convs{overflow:auto;flex:1;}
  .chat-conv{display:flex;align-items:center;gap:11px;width:100%;border:0;background:none;text-align:left;padding:12px 14px;cursor:pointer;border-bottom:1px solid var(--line);font:inherit;color:inherit;}
  .chat-conv:hover{background:#F3F5F9;}
  .chat-conv.on{background:var(--brand-50);}
  .chat-av{width:40px;height:40px;border-radius:12px;color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px;flex:none;overflow:hidden;}
  .chat-av img{width:100%;height:100%;object-fit:cover;background:#fff;}
  .chat-conv-tx{flex:1;min-width:0;line-height:1.3;}
  .chat-conv-tx strong{display:block;font-size:13.5px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .chat-conv-tx span{display:block;font-size:12.5px;color:var(--ink-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .chat-conv-tx span i{font-size:10px;}
  .chat-conv.nl .chat-conv-tx strong,.chat-conv.nl .chat-conv-tx span{color:var(--ink-900);font-weight:650;}
  .chat-conv-der{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none;}
  .chat-conv-der em{font-style:normal;font-size:11.5px;color:var(--ink-400);}
  .chat-conv.nl .chat-conv-der em{color:var(--brand);font-weight:600;}
  .chat-conv-der b{background:var(--brand);color:#fff;font-size:11px;border-radius:999px;min-width:19px;height:19px;display:grid;place-items:center;padding:0 5px;}
  .chat-hilo{display:flex;flex-direction:column;min-height:0;min-width:0;background:#F6F7F9;}
  .chat-nada{margin:auto;text-align:center;max-width:340px;padding:24px;color:var(--ink-500);}
  .chat-nada > span{width:64px;height:64px;border-radius:20px;background:var(--brand-50);color:var(--brand);display:grid;place-items:center;font-size:26px;margin:0 auto 14px;}
  .chat-nada strong{display:block;color:var(--ink-900);font-size:15px;margin-bottom:4px;}
  .chat-nada p{margin:0;font-size:13.5px;line-height:1.5;}
  .chat-nada.peq{margin:40px auto;}
  .chat-cab{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border-bottom:1px solid var(--line);}
  .chat-volver{display:none;border:0;background:none;width:36px;height:36px;border-radius:10px;cursor:pointer;color:var(--ink-700);}
  .chat-cab-tx{flex:1;min-width:0;line-height:1.3;}
  .chat-cab-tx strong{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .chat-cab-tx span{font-size:12.5px;color:var(--ink-500);}
  .chat-cab-acc{display:flex;gap:6px;}
  .chat-cab-acc button{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:#fff;cursor:pointer;color:var(--ink-700);font-size:15px;}
  .chat-cab-acc button:hover{border-color:var(--brand);color:var(--brand);}
  .chat-cab-acc .fa-whatsapp{color:#1FAF54;}
  .chat-msgs{flex:1;overflow:auto;padding:18px 18px 8px;display:flex;flex-direction:column;gap:4px;}
  .chat-dia{text-align:center;margin:12px 0 8px;}
  .chat-dia span{font-size:11.5px;font-weight:600;color:var(--ink-500);background:#fff;border:1px solid var(--line);border-radius:999px;padding:3px 10px;text-transform:capitalize;}
  .chat-msg{display:flex;align-items:flex-end;gap:6px;max-width:78%;}
  .chat-msg.mio{align-self:flex-end;flex-direction:row-reverse;}
  .chat-msg.suyo{align-self:flex-start;}
  .chat-burbuja{border-radius:16px;padding:8px 12px 6px;font-size:14px;line-height:1.45;box-shadow:0 1px 1px rgba(11,13,18,.05);min-width:72px;}
  .chat-msg.suyo .chat-burbuja{background:#fff;border:1px solid var(--line);border-bottom-left-radius:5px;}
  .chat-msg.mio .chat-burbuja{background:var(--brand);color:#fff;border-bottom-right-radius:5px;}
  .chat-autor{font-size:12px;font-weight:650;color:var(--brand);margin-bottom:2px;}
  .chat-txt{word-wrap:break-word;overflow-wrap:anywhere;}
  .chat-msg.mio .chat-txt a{color:#fff;}
  .chat-meta{font-size:10.5px;text-align:right;margin-top:2px;opacity:.7;display:flex;justify-content:flex-end;gap:4px;align-items:center;}
  .chat-meta .leido{color:#9FE3FF;opacity:1;}
  .chat-msg.suyo .chat-meta{color:var(--ink-500);}
  .chat-mas{border:0;background:none;color:var(--ink-400);width:28px;height:28px;border-radius:8px;cursor:pointer;opacity:0;transition:opacity .15s;font-size:12px;}
  .chat-msg:hover .chat-mas{opacity:1;}
  .chat-mas:hover{background:#fff;color:var(--brand);}
  .chat-img{display:block;max-width:260px;width:100%;border-radius:10px;margin:4px 0;cursor:zoom-in;}
  .chat-img.cargando{height:120px;background:rgba(0,0,0,.06);display:grid;place-items:center;color:var(--ink-400);}
  .chat-file{display:flex;align-items:center;gap:8px;border:0;border-radius:10px;padding:8px 10px;margin:4px 0;cursor:pointer;font:inherit;font-size:13px;background:rgba(0,0,0,.06);color:inherit;max-width:260px;}
  .chat-msg.mio .chat-file{background:rgba(255,255,255,.18);}
  .chat-file i{font-size:18px;color:#E5484D;}
  .chat-msg.mio .chat-file i{color:#fff;}
  .chat-file span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .chat-ref{display:flex;align-items:center;gap:8px;width:100%;border:0;border-radius:10px;padding:7px 10px;margin:3px 0 5px;cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;background:var(--brand-50);color:var(--brand-700);text-align:left;}
  .chat-msg.mio .chat-ref{background:rgba(255,255,255,.16);color:#fff;}
  .chat-ref span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .chat-ref i:last-child{font-size:10px;opacity:.6;}
  .chat-sis{align-self:center;display:flex;flex-direction:column;align-items:center;gap:4px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 12px;max-width:80%;font-size:13px;color:var(--ink-700);margin:6px 0;text-align:center;}
  .chat-sis .chat-ref{width:auto;}
  .chat-sis em{font-style:normal;font-size:10.5px;color:var(--ink-400);}
  .chat-comp{background:#fff;border-top:1px solid var(--line);padding:8px 12px 12px;}
  .chat-rapidas{display:flex;gap:6px;overflow-x:auto;padding:2px 0 8px;scrollbar-width:none;}
  .chat-rapidas::-webkit-scrollbar{display:none;}
  .chat-rapidas button{flex:none;border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 11px;font:inherit;font-size:12.5px;color:var(--ink-700);cursor:pointer;white-space:nowrap;}
  .chat-rapidas button:hover{border-color:var(--brand);color:var(--brand);}
  .chat-escribir{display:flex;align-items:flex-end;gap:8px;}
  .chat-escribir textarea{flex:1;resize:none;border:1px solid var(--line-strong);border-radius:20px;padding:10px 14px;font:inherit;font-size:14px;line-height:1.4;max-height:160px;min-height:42px;outline:none;background:#F6F7F9;}
  .chat-escribir textarea:focus{border-color:var(--brand);background:#fff;box-shadow:0 0 0 3px rgba(26,86,255,.12);}
  .chat-clip,.chat-enviar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;flex:none;cursor:pointer;border:0;font-size:16px;}
  .chat-clip{background:#F1F3F6;color:var(--ink-500);}
  .chat-clip:hover{color:var(--brand);}
  .chat-enviar{background:var(--brand);color:#fff;}
  .chat-enviar:hover{background:var(--brand-600);}
  .chat-adj-prev{display:flex;align-items:center;gap:10px;background:var(--brand-50);border-radius:10px;padding:6px 8px 6px 10px;margin-bottom:8px;font-size:12.5px;color:var(--brand-700);font-weight:600;}
  .chat-adj-prev img{height:44px;border-radius:6px;}
  .chat-adj-prev button{margin-left:auto;border:0;background:none;cursor:pointer;color:var(--ink-500);width:28px;height:28px;}
  .port-nl{background:#E5484D;color:#fff;border-radius:999px;font-size:10.5px;padding:0 6px;margin-left:2px;}
  @media (max-width:760px){
    .chat-app{grid-template-columns:1fr;height:calc(100dvh - 205px);border-radius:14px;}
    .chat-hilo{display:none;}
    .chat-app.con-hilo .chat-lista{display:none;}
    .chat-app.con-hilo .chat-hilo{display:flex;}
    .chat-app.con-hilo{position:fixed;inset:0;z-index:1200;height:100dvh;border-radius:0;border:0;}
    .chat-cab{padding:calc(8px + env(safe-area-inset-top)) 10px 8px;}
    .chat-volver{display:grid;place-items:center;}
    .chat-cab-acc button{width:36px;height:36px;}
    .chat-msg{max-width:88%;}
    .chat-mas{opacity:1;}
    .chat-comp{padding-bottom:calc(10px + env(safe-area-inset-bottom));}
    .chat-escribir textarea{font-size:16px;}
    .chat-top{display:block;}
  }
  @media (max-width:760px){
    .topbar{grid-template-columns:minmax(0,1fr) auto auto auto auto !important;grid-template-areas:"title sync crono chat bell" "search search search search search" !important;}
    .chat-top{grid-area:chat;}
    .chat-app{grid-template-columns:minmax(0,1fr);}
    .chat-lista,.chat-convs{min-width:0;}
  }
  @media (max-width:400px){ .topbar{column-gap:7px;} .chat-top .notif-bell,#notifWrap .notif-bell{width:34px;height:34px;} }
