  :root{
    /* Paleta Connecta: degradé verde menta -> azul cielo del logo */
    --brand-green:#00D98C; --brand-teal:#00BFC5; --brand-blue:#1E96E8;
    --grad:linear-gradient(90deg,#00D98C 0%,#00BFC5 45%,#1E96E8 100%);
    --sidebar-bg:#ffffff; --sidebar-hover:#eef6f9; --sidebar-active:#1E96E8;
    --accent:#1E96E8; --accent-soft:#e8f4fd; --bg:#f6f9fa; --card:#ffffff;
    --border:#e4e9ec; --text:#16232e; --muted:#66757f;
    --green:#0ba57a; --amber:#d97706; --red:#dc2626;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:var(--bg);color:var(--text);height:100vh;overflow:hidden}
  #app{display:flex;height:100vh}
  /* login */
  #login{display:flex;align-items:center;justify-content:center;height:100vh;background:linear-gradient(135deg,#05303c 0%,#075263 45%,#0b3a6e 100%)}
  #login .box img.lg{height:36px;margin-bottom:12px;display:block}
  #login .box{background:#fff;border-radius:14px;padding:34px;width:360px;max-width:92vw}
  #login h1{font-size:20px;margin-bottom:4px}
  #login p{font-size:13px;color:var(--muted);margin-bottom:18px}
  #login input{width:100%;margin-bottom:10px}
  #login .btn{width:100%;padding:11px}
  .err{background:#fee4e2;color:var(--red);border-radius:8px;padding:9px 12px;font-size:12.5px;margin-bottom:10px;display:none}
  /* sidebar */
  #sidebar{width:280px;min-width:280px;background:var(--sidebar-bg);color:#475467;display:flex;flex-direction:column;border-right:1px solid var(--border)}
  .logo{padding:16px;font-size:19px;font-weight:800;color:#101828;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px}
  .logo img{height:24px;max-width:190px;object-fit:contain}
  #nav{flex:1;overflow-y:auto;padding:10px 8px}
  .nav-item{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:6px;cursor:pointer;font-size:14px;margin-bottom:2px}
  .nav-item:hover{background:var(--sidebar-hover)}
  .nav-item.active{background:var(--grad);color:#fff}
  .nav-section{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:#98a2b3;padding:14px 10px 6px}
  .ev-item{padding:6px 10px;border-radius:6px;cursor:pointer;font-size:13.5px;display:flex;align-items:center;gap:7px}
  .ev-item:hover{background:var(--sidebar-hover)}
  .ev-item.open{color:#101828;font-weight:700}
  .ev-item .chev{margin-left:auto;font-size:10px;color:#8b93a7;transition:transform .15s}
  .ev-item.open .chev{transform:rotate(90deg)}
  .channels{margin:2px 0 6px 14px;border-left:1px solid var(--border);padding-left:8px}
  .ch-item{padding:5px 8px;border-radius:5px;cursor:pointer;font-size:13px;color:#667085;display:flex;gap:6px;align-items:center}
  .ch-item:hover{background:var(--sidebar-hover)}
  .ch-item.active{background:var(--grad);color:#fff}
  .me-box{padding:12px 14px;border-top:1px solid var(--border);display:flex;align-items:center;gap:9px;font-size:13px}
  .me-box .lnk{margin-left:auto;font-size:11px;color:#98a2b3;cursor:pointer}
  .me-box .lnk:hover{color:var(--accent)}
  /* main */
  #main{flex:1;display:flex;flex-direction:column;min-width:0}
  #topbar{background:var(--card);border-bottom:1px solid var(--border);padding:12px 22px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
  #topbar h1{font-size:17px;font-weight:700}
  #topbar .meta{font-size:12.5px;color:var(--muted)}
  .tabs{display:flex;gap:4px;margin-left:auto}
  .tab{padding:7px 14px;border-radius:6px;font-size:13px;cursor:pointer;color:var(--muted);font-weight:500}
  .tab:hover{background:var(--accent-soft);color:var(--accent)}
  .tab.active{background:var(--grad);color:#fff}
  #content{flex:1;overflow-y:auto;padding:22px}
  .chip{display:inline-block;padding:2px 9px;border-radius:10px;font-size:11px;font-weight:600}
  .chip.proximo{background:#eff4ff;color:var(--accent)}
  .chip.encurso{background:#ecfdf3;color:var(--green)}
  .chip.finalizado{background:#f2f4f7;color:var(--muted)}
  .chip.pendiente{background:#fef3e2;color:var(--amber)}
  .chip.curso{background:#eff4ff;color:var(--accent)}
  .chip.hecho{background:#ecfdf3;color:var(--green)}
  .chip.riesgo{background:#fee4e2;color:var(--red)}
  .card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:16px;margin-bottom:14px}
  .btn{background:var(--grad);color:#fff;border:none;border-radius:7px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer}
  .btn:hover{filter:brightness(1.1)}
  .btn.ghost{background:transparent;color:var(--accent);border:1px solid var(--accent)}
  .btn.sm{padding:4px 10px;font-size:12px}
  .btn:disabled{opacity:.5;cursor:wait}
  input,select,textarea{border:1px solid var(--border);border-radius:7px;padding:8px 10px;font-size:13px;font-family:inherit;background:#fff;color:var(--text)}
  table{width:100%;border-collapse:collapse;font-size:13.5px}
  th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--border)}
  td{padding:9px 10px;border-bottom:1px solid #f0f2f5;vertical-align:middle}
  tr:hover td{background:#fafbfc}
  #chatwrap{display:flex;flex-direction:column;height:100%}
  #msgs{flex:1;overflow-y:auto;padding-bottom:12px}
  .msg{display:flex;gap:10px;padding:8px 4px;border-radius:8px}
  .msg:hover{background:#f2f4f8}
  .avatar{width:34px;height:34px;min-width:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff}
  .msg .who{font-weight:700;font-size:13.5px}
  .msg .when{font-size:11px;color:var(--muted);margin-left:7px}
  .msg .txt{font-size:14px;margin-top:2px;line-height:1.45;white-space:pre-wrap;word-break:break-word}
  #composer{position:relative;display:flex;gap:8px;border-top:1px solid var(--border);padding-top:12px}
  #composer input{flex:1}
  .mention-box{position:absolute;bottom:calc(100% + 6px);left:0;min-width:230px;max-height:230px;overflow-y:auto;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 24px rgba(16,24,40,.14);padding:4px;display:none;z-index:30}
  .mention-opt{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;font-size:13px}
  .mention-opt:hover{background:#f2f4f8}
  .mention{color:var(--accent);font-weight:600;background:#eef4ff;border-radius:4px;padding:0 3px}
  .msg.mentioned{background:#fff7e6}
  .msg.mentioned:hover{background:#fdf0d5}
  .task-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
  .task-col h3{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:10px}
  .task-card{background:var(--card);border:1px solid var(--border);border-radius:9px;padding:12px;margin-bottom:10px;cursor:pointer}
  .task-card:hover{border-color:var(--accent)}
  .task-card .t{font-size:13.5px;font-weight:600;margin-bottom:6px}
  .task-card .m{font-size:12px;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap;align-items:center}
  .area-tag{font-size:10.5px;background:#f2f4f7;border-radius:6px;padding:2px 7px;color:#475467;font-weight:600}
  .sp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
  .prog{height:6px;background:#eef0f4;border-radius:4px;overflow:hidden;margin:8px 0}
  .prog>div{height:100%;background:var(--grad);border-radius:4px}
  .deliv{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px dashed #eef0f4;font-size:13px}
  .deliv:last-child{border-bottom:none}
  .deliv select{font-size:11px;padding:2px 4px;margin-left:auto}
  .cal-month{margin-bottom:20px}
  .cal-month h3{font-size:14px;margin-bottom:8px;color:#344054}
  .cal-ev{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--border);border-radius:8px;padding:9px 13px;margin-bottom:6px;cursor:pointer;font-size:13.5px}
  .cal-ev:hover{border-color:var(--accent)}
  .cal-ev .d{font-weight:700;min-width:52px;color:var(--accent)}
  .filters{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
  /* v1.45: buscadores de texto de las pestañas que leen Sheets */
  .filters input.search{font-size:13px}
  /* v1.47: chips de país y departamento en la tabla de usuarios.
     Se tocan para asignar y quitar, así que tienen que verse clicables y
     distinguirse claramente entre puestos y no puestos. */
  .perm-chips{display:flex;flex-wrap:wrap;gap:4px;max-width:340px}
  .perm-chip{font-size:10.5px;padding:2px 8px;border-radius:11px;cursor:pointer;user-select:none;
             border:1px solid var(--border);color:var(--muted);background:#fff;white-space:nowrap;
             transition:background .12s,color .12s,border-color .12s}
  .perm-chip:hover{border-color:var(--accent);color:var(--accent)}
  .perm-chip.on{background:var(--c,#1E96E8);border-color:var(--c,#1E96E8);color:#fff;font-weight:600}
  .perm-chip.on:hover{opacity:.85;color:#fff}
  /* v1.45: celdas editables de Patrocinadores (se escriben en el Google Sheet) */
  .sp-edit{font-size:12.5px;padding:4px 7px;width:100%;background:#fff}
  .sp-edit:focus{border-color:var(--accent);outline:none}
  .sp-edit:disabled{opacity:.6}
  .msf{position:relative;display:inline-block}
  .msf-panel{position:absolute;top:calc(100% + 4px);left:0;z-index:40;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 24px rgba(16,24,40,.14);padding:8px;min-width:230px;max-height:300px;overflow:auto}
  .msf-opt{display:flex;align-items:center;gap:7px;padding:4px 6px;border-radius:5px;font-size:12.5px;cursor:pointer}
  .msf-opt:hover{background:#f2f4f8}
  .msf-opt input{margin:0}
  .agcell{width:100%;min-width:80px;border:1px solid var(--border);border-radius:5px;padding:4px 6px;font-size:12.5px;background:#fff;transition:background .5s}
  .agcell:focus{border-color:var(--accent);outline:none}
  .grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
  .stat{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:14px 16px}
  .stat .n{font-size:24px;font-weight:800}
  .stat .l{font-size:12px;color:var(--muted)}
  .role-pill{font-size:10.5px;font-weight:700;border-radius:6px;padding:2px 8px}
  .role-admin{background:#fee4e2;color:var(--red)}
  .role-coordinador{background:#eff4ff;color:var(--accent)}
  .role-miembro{background:#f2f4f7;color:#475467}
  .form-row{display:flex;gap:10px;margin-bottom:10px;flex-wrap:wrap;align-items:center}
  .empty{color:var(--muted);font-size:13.5px;text-align:center;padding:40px 0}
  .note{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:10px 14px;font-size:12.5px;color:#92400e;margin-bottom:16px}
  #toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:#1c2130;color:#fff;padding:10px 18px;border-radius:8px;font-size:13px;display:none;z-index:99}
  .spinner{text-align:center;padding:60px 0;color:var(--muted);font-size:14px}
  @media(max-width:900px){
    #sidebar{position:fixed;z-index:50;height:100vh;left:-290px;transition:left .2s}
    #sidebar.show{left:0}
    #menuBtn{display:inline-block!important}
    .task-cols{grid-template-columns:1fr}.grid2{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}
  }
  #menuBtn{display:none;background:none;border:none;font-size:20px;cursor:pointer}

  /* ===== Módulo Tareas (v1.31) ===== */
  .tz-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
  .tz-tabs{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}
  .tz-vt{background:#fff;border:none;padding:7px 12px;font-size:13px;cursor:pointer;color:var(--muted)}
  .tz-vt.on{background:var(--grad);color:#fff;font-weight:600}
  .tz-ro{font-size:12px;color:var(--muted)}
  .tz-toolbar .btn{margin-left:auto}
  .tz-board{display:flex;gap:12px;align-items:flex-start;overflow-x:auto;padding-bottom:6px}
  /* v1.45: la columna entera es zona de soltado, así que necesita alto propio
     y no solo el que le dan las tarjetas. min-height deja espacio libre abajo. */
  .tz-col{background:#f1f5f7;border:1px solid var(--border);border-radius:10px;padding:10px;min-width:250px;width:250px;flex:0 0 auto;
          display:flex;flex-direction:column;min-height:220px;transition:background .12s,border-color .12s}
  .tz-col>h4{font-size:12.5px;color:#475467;display:flex;align-items:center;gap:6px;margin-bottom:8px}
  .tz-cnt{background:#e4e9ec;color:#667085;border-radius:9px;font-size:11px;padding:1px 7px;font-weight:600}
  .tz-col-body{display:flex;flex-direction:column;gap:8px;min-height:24px;flex:1}
  .tz-empty{color:#c4c9cf;font-size:12px;text-align:center;padding:6px 0}
  /* Columna resaltada mientras se arrastra una tarjeta sobre ella */
  .tz-col.tz-over{background:#e6f4fb;border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
  .tz-col.tz-over .tz-empty{color:var(--accent);font-weight:600}
  .tz-card{background:#fff;border:1px solid var(--border);border-left:4px solid var(--pc,#98a2b3);border-radius:8px;padding:9px 10px;cursor:pointer;box-shadow:0 1px 2px rgba(16,35,46,.04)}
  .tz-card:hover{border-color:var(--accent);border-left-color:var(--pc,#98a2b3)}
  .tz-card.tz-mov{cursor:grab}
  .tz-card.tz-dragging{opacity:.35}
  /* Clon que sigue al puntero. Sin pointer-events para no tapar elementFromPoint. */
  .tz-ghost{position:fixed;z-index:2000;pointer-events:none;opacity:.95;transform:rotate(1.5deg);
            box-shadow:0 10px 24px rgba(16,35,46,.22);cursor:grabbing}
  body.tz-dragging-on{cursor:grabbing;user-select:none;-webkit-user-select:none}
  .tz-card .tz-t{font-size:13px;font-weight:600;color:var(--text);margin-bottom:6px}
  .tz-card .tz-m{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);flex-wrap:wrap}
  .tz-who{color:var(--muted)}
  .tz-prog{background:#eef6f9;color:#0b7285;border-radius:6px;padding:1px 6px;font-weight:600}
  .tz-due{margin-left:auto;background:#eef0f4;border-radius:6px;padding:1px 6px}
  .tz-due.late{background:#fee4e2;color:var(--red);font-weight:600}
  .tz-deliv{text-decoration:none}
  .tz-latecell{color:var(--red);font-weight:600}
  /* Modal de tarea */
  .tz-modal{position:fixed;inset:0;background:rgba(5,25,35,.45);display:none;align-items:center;justify-content:center;z-index:1000;padding:16px}
  .tz-box{background:#fff;border-radius:14px;padding:20px;width:560px;max-width:96vw;max-height:90vh;overflow-y:auto}
  .tz-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
  .tz-head h3{font-size:17px}
  .tz-x{cursor:pointer;color:var(--muted);font-size:16px;padding:2px 6px;border-radius:6px}
  .tz-x:hover{background:#f2f4f7;color:var(--red)}
  .tz-box label{display:block;font-size:11.5px;color:var(--muted);margin:10px 0 3px}
  .tz-box input,.tz-box textarea,.tz-box select{width:100%}
  .tz-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .tz-subs{margin-top:14px;border-top:1px solid var(--border);padding-top:10px}
  .tz-subs h4{font-size:13px;display:flex;align-items:center;gap:6px;margin-bottom:8px}
  .tz-sub{display:flex;gap:6px;align-items:center;margin-bottom:6px}
  .tz-sub select{width:auto;flex:0 0 auto;font-size:12px;padding:4px 6px}
  .tz-sub .tz-sub-t{flex:1;min-width:80px}
  .tz-sub input[type=date]{width:auto;flex:0 0 auto}
  .tz-sub.late .tz-sub-t{border-color:var(--red)}
  .tz-subadd{display:flex;gap:6px;margin-top:8px}
  .tz-subadd input{flex:1}
  .tz-foot{display:flex;gap:10px;align-items:center;margin-top:16px}

  /* ===== Tareas · Etapa 3 (v1.32): prioridad, etiquetas, comentarios, filtros ===== */
  .tz-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:-4px 0 14px}
  .tz-filters select{font-size:12.5px;padding:5px 8px;width:auto}
  .tz-chk{font-size:12.5px;color:var(--muted);display:inline-flex;align-items:center;gap:5px}
  .tz-chk input{width:auto}
  .tz-prio{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:middle;flex:0 0 auto}
  /* v1.45: código de color de prioridad con texto, no solo el punto. */
  .tz-priochip{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;line-height:1.5;
               padding:1px 8px 1px 6px;border-radius:10px;white-space:nowrap;
               color:var(--pc,#667085);background:#fff;border:1px solid var(--pc,#98a2b3)}
  /* Relleno suave donde color-mix está disponible; si no, queda el borde sólido de arriba. */
  @supports (background:color-mix(in srgb,red 10%,#fff)){
    .tz-priochip{background:color-mix(in srgb,var(--pc,#98a2b3) 12%,#fff);
                 border-color:color-mix(in srgb,var(--pc,#98a2b3) 45%,#fff)}
  }
  .tz-priochip::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--pc,#98a2b3);flex:0 0 auto}
  .tz-badges{display:flex;gap:4px;flex-wrap:wrap;align-items:center;margin:0 0 2px}
  .tz-legend{display:inline-flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);margin-left:auto}
  .tz-legend-i{display:inline-flex;align-items:center;gap:4px}
  .tz-legend-i i{width:8px;height:8px;border-radius:50%;display:inline-block}
  .tz-head .tz-priochip{margin-left:8px}
  .tz-head .tz-x{margin-left:auto}
  .tz-tags{display:flex;gap:4px;flex-wrap:wrap;margin:4px 0 2px}
  .tz-tag{font-size:10.5px;padding:1px 7px;border-radius:10px;border:1px solid transparent;font-weight:600;white-space:nowrap}
  .tz-tagpick{display:flex;gap:6px;flex-wrap:wrap;margin-top:3px}
  .tz-tagopt{font-size:12px;padding:3px 10px;border-radius:12px;border:1px solid var(--c,#ccc);color:var(--c,#475467);cursor:pointer;user-select:none}
  .tz-tagopt.on{background:var(--c,#eee);color:#fff;border-color:var(--c,#ccc)}
  .tz-muted{color:var(--muted);font-size:12px}
  /* v1.45: panel de historial / deshacer */
  .tz-hist{display:flex;flex-direction:column;gap:2px;max-height:52vh;overflow-y:auto}
  .tz-histrow{display:flex;align-items:center;gap:10px;padding:8px 4px;border-bottom:1px solid #f2f4f7;font-size:12.5px}
  .tz-histrow:last-child{border-bottom:none}
  .tz-histmain{flex:1;min-width:0}
  .tz-histrow.undone{opacity:.5}
  .tz-histrow .tz-cwhen{font-size:11px}
  .tz-histrow button{flex:0 0 auto}
  /* comentarios */
  .tz-comments{margin-top:14px;border-top:1px solid var(--border);padding-top:10px}
  .tz-comments h4{font-size:13px;margin-bottom:8px}
  .tz-comment{margin-bottom:10px}
  .tz-chead{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
  .tz-chead b{color:var(--text)}
  .tz-cwhen{font-size:11px}
  .tz-chead .tz-x{margin-left:auto}
  .tz-cbody{font-size:13px;margin:2px 0 0 26px;white-space:pre-wrap;word-break:break-word}
  .tz-cadd{margin-top:8px}
  .tz-crow{display:flex;gap:8px;align-items:center;margin-top:6px}
  .tz-crow select{width:auto;font-size:12px}
  .tz-crow .btn{margin-left:auto}
  /* administrador de etiquetas */
  .tz-lbllist{display:flex;flex-direction:column;gap:6px;margin-top:6px}
  .tz-lblrow{display:flex;gap:8px;align-items:center}
  .tz-lblrow input[type=color]{width:34px;height:30px;padding:0;flex:0 0 auto}
  .tz-lblrow input:not([type=color]){flex:1}
  .tz-lblrow .tz-x{flex:0 0 auto}
  .tz-lbladd{display:flex;gap:8px;align-items:center;margin-top:10px;border-top:1px solid var(--border);padding-top:10px}
  .tz-lbladd input[type=color]{width:34px;height:30px;padding:0;flex:0 0 auto}
  .tz-lbladd input:not([type=color]){flex:1}

  /* ===== Módulo Aprobaciones (v1.34) ===== */
  .ap-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
  .ap-toolbar select{width:auto;font-size:12.5px;padding:5px 8px}
  .ap-list{display:flex;flex-direction:column;gap:8px}
  .ap-card{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--border);border-radius:9px;padding:11px 13px;cursor:pointer}
  .ap-card:hover{border-color:var(--accent)}
  .ap-card.mine{border-left:3px solid var(--accent);background:#f6fbff}
  .ap-c-main{flex:1;min-width:0}
  .ap-c-title{font-size:13.5px;font-weight:600;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
  .ap-c-meta{font-size:11.5px;color:var(--muted);margin-top:3px}
  .ap-c-side{display:flex;gap:6px;align-items:center;flex:0 0 auto}
  .ap-badge{font-size:10.5px;padding:1px 8px;border-radius:10px;font-weight:700;white-space:nowrap}
  .ap-asg{display:flex;align-items:center;gap:6px;font-size:12.5px;padding:5px 0;border-bottom:1px dashed #eef0f4;flex-wrap:wrap}
  .ap-when{color:var(--muted);font-size:11px}
  .ap-corr{flex-basis:100%;font-size:12px;color:#b54708;background:#fff7e6;border-radius:6px;padding:5px 8px;margin-top:3px}
  .ap-act{margin-top:12px;background:#f6f9fa;border-radius:9px;padding:10px}
  .ap-act textarea,.ap-act input{width:100%;margin-bottom:6px}
  .ap-act-btns{display:flex;gap:8px;flex-wrap:wrap}
  .ap-history{margin-top:12px;border-top:1px solid var(--border);padding-top:8px}
  .ap-hist{font-size:12.5px;font-weight:600;margin-top:8px}
  .ap-hist-d{font-size:12px;color:var(--muted);margin-left:12px;padding:2px 0}
  .ap-pick{display:flex;flex-direction:column;gap:4px;max-height:180px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;padding:8px}
  .ap-pick-o{display:flex;align-items:center;gap:7px;font-size:13px;cursor:pointer}
  .ap-pick-o input{width:auto}

  /* ===== Aprobaciones · selector @ (v1.35) ===== */
  .ap-picker{position:relative}
  .ap-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px;min-height:22px}
  .ap-chip{display:inline-flex;align-items:center;gap:5px;background:var(--accent-soft);color:var(--accent);border:1px solid #bfe0fa;border-radius:14px;padding:2px 8px 2px 3px;font-size:12px;font-weight:600}
  .ap-chip-x{cursor:pointer;color:var(--muted);font-size:11px;padding:0 2px}
  .ap-chip-x:hover{color:var(--red)}
  .ap-sug{position:absolute;left:0;right:0;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 20px rgba(16,35,46,.12);z-index:5;max-height:220px;overflow-y:auto;margin-top:2px}
  .ap-sug-o{display:flex;align-items:center;gap:8px;padding:7px 10px;font-size:13px;cursor:pointer}
  .ap-sug-o:hover{background:var(--sidebar-hover)}

/* ===== Galería de Inicio (v1.39) ===== */
.home-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px}
.home-bar input.search{flex:1;min-width:220px;max-width:420px}
.home-chips{display:flex;gap:6px;flex-wrap:wrap}
.home-chip{padding:6px 13px;border-radius:20px;border:1px solid var(--border);background:var(--card);
  color:var(--muted);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}
.home-chip:hover{border-color:var(--accent);color:var(--accent)}
.home-chip.active{background:var(--grad);color:#fff;border-color:transparent}

.ev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.ev-card{background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden;
  cursor:pointer;transition:box-shadow .15s,transform .15s,border-color .15s;display:flex;flex-direction:column}
.ev-card:hover{box-shadow:0 8px 24px rgba(16,35,46,.12);transform:translateY(-2px);border-color:var(--accent)}
.ev-cover{position:relative;width:100%;aspect-ratio:16/10;background:#eef1f4;overflow:hidden}
.ev-cover img{width:100%;height:100%;object-fit:contain;display:block}
.ev-cover .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:46px;color:#fff;opacity:.9;background:var(--grad)}
.ev-cover .badge{position:absolute;top:10px;right:10px}
.ev-cover .badge .chip{box-shadow:0 1px 4px rgba(0,0,0,.18)}
.ev-body{padding:13px 15px 15px}
.ev-body h4{font-size:15px;font-weight:700;line-height:1.3;margin:0 0 6px;
  display:flex;align-items:flex-start;gap:6px}
.ev-body .date{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted)}

@media(max-width:640px){ .ev-grid{grid-template-columns:1fr} }
