
    :root{
      --bg: #f2f4f7;
      --card: #ffffff;
      --text: #0f172a;
      --muted: #475569;
      --border: #e5e7eb;
      --shadow: 0 8px 30px rgba(15, 23, 42, 0.12);
      --shadow-soft: 0 6px 18px rgba(15, 23, 42, 0.10);
      --brand: #39A900;
      --sena: var(--brand);
      --radius: 14px;

      /* Print layout */
      --pm: 8mm;                 /* márgenes del PDF (printer margin) */
      --ph: 18mm;                /* alto del encabezado por página */
      --pgap: 4px;               /* gap entre tarjetas en PDF */

      /* Print typography base (se ajusta por densidad global pd-2/pd-3/pd-4) */
      --p-month-title: 0.64rem;
      --p-month-icon: 0.70rem;
      --p-count: 0.56rem;

      --p-badge: 0.58rem;
      --p-badge-w: 18px;
      --p-badge-h: 14px;

      --p-age: 0.56rem;
      --p-name: 0.62rem;
      --p-body-pad: 2mm;
      --p-body-gap: 1.5mm;
      --p-entry-pad-y: 1.2mm;
      --p-entry-pad-x: 1.5mm;
    }

    *{ box-sizing:border-box; }
    html, body{ height:100%; }
    body{
      margin:0;
      background: var(--bg);
      color: var(--text);
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      padding: 18px;
    }
    .page{ max-width: 1200px; margin: 0 auto; }

    /* Header (pantalla) */
    .top-header{
      background: var(--card);
      border: 1px solid var(--border);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      padding: 14px 18px;
      display:grid;
      grid-template-columns: 1.2fr 1fr;
      gap: 14px;
      align-items:center;
      margin: 0 0 16px 0;
    }
    .brand{ display:flex; align-items:center; gap: 12px; min-width: 280px; }
    .brand img{ width: 62px; height: auto; display:block; }
    .brand-lines{ display:flex; flex-direction:column; gap: 2px; line-height: 1.15; }
    .brand-lines .l1{
      font-weight: 900; letter-spacing: 0.01em; text-transform: uppercase;
      font-size: 0.86rem; color: var(--muted);
    }
    .brand-lines .l2{ font-weight: 950; font-size: 1.03rem; }
    .brand-lines .l3{ font-weight: 850; font-size: 0.92rem; color: var(--muted); }

    .header-center{
      display:flex; flex-direction:column; align-items:flex-end; justify-content:center;
      gap: 6px; text-align:right;
    }
    .header-center .title{
      font-size: 1.1rem; font-weight: 950; letter-spacing: 0.02em;
      text-transform: uppercase; line-height: 1.15;
      white-space: nowrap;
    }
    .header-center .subtitle{
      font-size: 0.92rem; color: var(--muted); font-weight: 700;
    }

    /* Report badges (HTML) */
    .report-badges{
      display:flex;
      flex-wrap:wrap;
      gap: 8px;
      justify-content:flex-end;
    }
    .report-badges.left{ justify-content:flex-start; }
    .stat-badge{
      display:inline-flex;
      align-items:center;
      gap: 6px;
      padding: 6px 10px;
      border-radius: 999px;
      background: rgba(57,169,0,0.10);
      border: 1px solid rgba(57,169,0,0.28);
      color: #14532d;
      font-weight: 900;
      font-size: 0.84rem;
      white-space: nowrap;
    }
    .stat-badge .k{ color: #166534; letter-spacing: 0.01em; }
    .stat-badge .v{ color: #0f172a; }

    /* Controls */
    .controls{
      background: var(--card);
      border: 1px solid var(--border);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      padding: 16px 18px;
      margin: 0 0 16px 0;
    }
    .controls h2{ margin: 0 0 8px 0; font-size: 1.05rem; font-weight: 950; }
    .controls p{ margin: 0 0 12px 0; color: var(--muted); font-weight: 650; line-height: 1.35; }
    .grid-controls{ display:grid; grid-template-columns: 1.2fr 0.8fr; gap: 14px; }

    @media (max-width: 980px){
      .top-header{ grid-template-columns: 1fr; }
      .header-center{ align-items:flex-start; text-align:left; }
      .report-badges{ justify-content:flex-start; }
      .grid-controls{ grid-template-columns: 1fr; }
      body{ padding: 12px; }
    }

    textarea{
      width:100%;
      min-height: 170px;
      resize: vertical;
      border: 1px solid #cbd5e1;
      border-radius: 12px;
      padding: 12px;
      font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
      font-size: 0.95rem;
      line-height: 1.35;
      outline: none;
      background: #fff;
    }
    textarea:focus{
      border-color: rgba(57,169,0,0.55);
      box-shadow: 0 0 0 4px rgba(57,169,0,0.15);
    }

    .row{ display:flex; flex-wrap:wrap; gap: 10px; align-items:center; margin-top: 10px; }

    button{
      appearance:none;
      border: 1px solid rgba(46,125,0,0.25);
      background: linear-gradient(180deg, rgba(57,169,0,1), rgba(46,125,0,1));
      color:#fff;
      font-weight: 950;
      padding: 10px 14px;
      border-radius: 12px;
      cursor:pointer;
      box-shadow: 0 10px 18px rgba(46,125,0,0.20);
      letter-spacing: 0.01em;
    }
    button:hover{ filter: brightness(1.02); }
    button:active{ transform: translateY(1px); }
    .secondary{
      background: #ffffff;
      color: var(--text);
      border: 1px solid var(--border);
      box-shadow: 0 8px 16px rgba(15, 23, 42, 0.06);
    }

    label{ font-weight: 850; font-size: 0.9rem; color: var(--text); }
    input[type="number"]{
      width: 180px;
      padding: 10px 12px;
      border-radius: 12px;
      border: 1px solid #cbd5e1;
      outline: none;
      font-size: 0.95rem;
      background:#fff;
      font-weight: 850;
      color: var(--text);
    }
    input[type="number"]:focus{
      border-color: rgba(57,169,0,0.55);
      box-shadow: 0 0 0 4px rgba(57,169,0,0.15);
    }

    .hint{
      margin-top: 10px;
      color: var(--muted);
      font-size: 0.9rem;
      font-weight: 650;
      line-height: 1.35;
      background: #f8fafc;
      border: 1px dashed #d1d5db;
      padding: 10px 12px;
      border-radius: 12px;
    }

    .errors{
      margin-top: 10px;
      display:none;
      background: #FEF2F2;
      border: 1px solid #FCA5A5;
      color: #991B1B;
      border-radius: 12px;
      padding: 10px 12px;
      font-weight: 750;
    }
    .errors ul{ margin: 8px 0 0 18px; }

    /* Screen vs Print sections */
    .print-only{ display:none; }
    .screen-only{ display:block; }

    /* Calendar (screen) */
    .calendar{
      background: var(--card);
      border: 1px solid var(--border);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      padding: 16px 18px 18px 18px;
    }
    .calendar-top{
      display:flex;
      justify-content:space-between;
      align-items:flex-end;
      gap: 10px;
      flex-wrap:wrap;
      margin-bottom: 12px;
    }
    .calendar-top h2{ margin:0; font-size: 1.1rem; font-weight: 950; letter-spacing: 0.01em; }
    .calendar-top .note{ color: var(--muted); font-weight: 750; font-size: 0.92rem; }

    .months-grid{
      display:grid;
      grid-template-columns: repeat(3, minmax(320px, 1fr));
      gap: 14px;
    }
    @media (max-width: 1060px){
      .months-grid{ grid-template-columns: repeat(2, minmax(300px, 1fr)); }
    }
    @media (max-width: 680px){
      .months-grid{ grid-template-columns: 1fr; }
    }

    /* Month card (shared) */
    .month-card{
      border: 1px solid var(--border);
      border-radius: 14px;
      overflow:hidden;
      box-shadow: var(--shadow-soft);
      background: #fff;
      min-height: 220px;
      display:flex;
      flex-direction:column;
    }
    .month-card__head{
      position: relative;
      padding: 10px 12px;
      color: #fff;
      background: linear-gradient(90deg, rgba(57,169,0,1), rgba(46,125,0,1));
      display:flex;
      align-items:center;
      justify-content:center;
      text-align:center;
    }
    .month-title{
      display:flex;
      align-items:center;
      justify-content:center;
      gap: 8px;
      font-weight: 950;
      text-transform: uppercase;
      letter-spacing: 0.03em;
      font-size: 0.98rem;
      padding: 0 52px;
      width: 100%;
      white-space: nowrap;
      overflow:hidden;
      text-overflow: ellipsis;
    }
    .month-title .icon{ font-size: 1.15rem; line-height: 1; filter: drop-shadow(0 2px 6px rgba(0,0,0,0.18)); }

    .month-card__head .count{
      position:absolute;
      right: 10px;
      top: 50%;
      transform: translateY(-50%);
      font-weight: 950;
      font-size: 0.88rem;
      background: rgba(255,255,255,0.18);
      border: 1px solid rgba(255,255,255,0.30);
      padding: 5px 10px;
      border-radius: 999px;
      white-space:nowrap;
    }
    .month-card.dense-15 .month-card__head .count{
      background: rgba(255,255,255,0.22);
      border-color: rgba(255,255,255,0.38);
    }
    .month-card.dense-25 .month-card__head .count{
      background: rgba(255,255,255,0.25);
      border-color: rgba(255,255,255,0.45);
    }

    .month-card__body{
      padding: 12px;
      display:flex;
      flex-direction:column;
      gap: 8px;
      flex: 1;
    }
    .month-card__body.cols-2,
    .month-card__body.cols-3{
      display:grid;
      align-content:start;
      grid-auto-rows: min-content;
      gap: 10px;
    }
    .month-card__body.cols-2{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .month-card__body.cols-3{ grid-template-columns: repeat(3, minmax(0, 1fr)); }

    .entry{
      display:flex;
      align-items:flex-start;
      gap: 10px;
      padding: 10px;
      border-radius: 12px;
      border: 1px solid #eef2ff;
      background: #f8fafc;
      min-width: 0;
    }
    .badge{
      min-width: 44px;
      height: 34px;
      border-radius: 10px;
      display:flex;
      align-items:center;
      justify-content:center;
      font-weight: 950;
      color: #fff;
      background: var(--sena);
      box-shadow: 0 10px 16px rgba(57,169,0,0.18);
      flex: 0 0 auto;
      font-size: 0.92rem;
    }
    .who{
      font-weight: 900;
      line-height: 1.2;
      word-break: break-word;
      display:flex;
      align-items:baseline;
      gap: 8px;
      min-width: 0;
    }
    .age-num{
      display:none; /* print only */
      align-items:center;
      justify-content:center;
      min-width: 28px;
      padding: 3px 7px;
      border-radius: 999px;
      background: rgba(57,169,0,0.12);
      border: 1px solid rgba(57,169,0,0.35);
      color: #14532d;
      font-weight: 950;
      font-size: 0.82rem;
      flex: 0 0 auto;
    }
    .name-text{ min-width: 0; overflow-wrap:anywhere; }
    .meta{
      color: var(--muted);
      font-weight: 750;
      font-size: 0.9rem;
      margin-top: 2px;
    }

    /* Density tweaks (screen) */
    .month-card.dense-15 .name-text{ font-size: 0.78rem; }
    .month-card.dense-15 .meta{ font-size: 0.76rem; }
    .month-card.dense-15 .badge{ font-size: 0.78rem; min-width: 40px; height: 30px; }

    .month-card__body.cols-3 .name-text{ font-size: 0.74rem; }
    .month-card__body.cols-3 .meta{ font-size: 0.72rem; }
    .month-card__body.cols-3 .badge{ font-size: 0.82rem; min-width: 40px; height: 30px; }

    .month-card.dense-15 .month-card__body.cols-3 .name-text{ font-size: 0.70rem; }
    .month-card.dense-15 .month-card__body.cols-3 .meta{ font-size: 0.68rem; }
    .month-card.dense-15 .month-card__body.cols-3 .badge{ font-size: 0.72rem; min-width: 36px; height: 28px; }

    .no-data{
      color: var(--muted);
      font-weight: 800;
      border: 1px dashed #d1d5db;
      background: #fff;
      border-radius: 12px;
      padding: 12px;
    }

    /* Footer (HTML only) */
    .sena-footer{
      margin-top: 16px;
      display:flex;
      flex-direction:column;
      align-items:center;
      gap: 10px;
    }
    .sena-footer .caption{
      font-size: 0.78rem;
      font-weight: 850;
      letter-spacing: 0.22em;
      color: #94a3b8;
      text-transform: uppercase;
      text-align:center;
    }
    .sena-footer .pill{
      width: min(720px, 100%);
      background: #eef2f7;
      border: 1px solid #e2e8f0;
      border-radius: 999px;
      padding: 12px 14px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap: 12px;
      box-shadow: 0 12px 26px rgba(15, 23, 42, 0.10);
    }
    .sena-footer .left-icon,
    .sena-footer .right-icon{
      width: 44px;
      height: 44px;
      border-radius: 999px;
      display:flex;
      align-items:center;
      justify-content:center;
      font-weight: 950;
      user-select:none;
    }
    .sena-footer .left-icon{
      background: #fb923c;
      color: #fff;
      box-shadow: 0 12px 18px rgba(251,146,60,0.25);
      font-size: 1.1rem;
    }
    .sena-footer .right-icon{
      background: #e0ecff;
      color: #1d4ed8;
      border: 1px solid #c7d2fe;
      font-size: 1.05rem;
    }
    .sena-footer .text{
      flex: 1;
      display:flex;
      flex-direction:column;
      gap: 2px;
      min-width: 180px;
    }
    .sena-footer .role{
      font-size: 0.78rem;
      font-weight: 900;
      color: #64748b;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      line-height: 1.15;
    }
    .sena-footer .name{
      font-size: 0.98rem;
      font-weight: 950;
      color: #0f172a;
      line-height: 1.15;
    }

    /* ==========================
       PDF PREVIEW MODE (screen)
       ========================== */
    .preview-wrap{ display:none; }
    html.preview-mode .calendar.screen-only{ display:none; }
    html.preview-mode .preview-wrap{ display:block; }

    .preview-wrap{
      background: var(--card);
      border: 1px solid var(--border);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      padding: 14px 14px 18px 14px;
      margin-bottom: 16px;
    }
    .preview-toolbar{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap: 12px;
      flex-wrap:wrap;
      margin-bottom: 12px;
    }
    .preview-toolbar .label{
      font-weight: 950;
      letter-spacing: 0.01em;
    }
    .preview-toolbar .meta{
      margin: 0;
      font-size: 0.88rem;
      color: var(--muted);
      font-weight: 750;
    }

    .preview-viewport{
      width: 100%;
      overflow: auto;
      background: #eef2f7;
      border: 1px solid #e2e8f0;
      border-radius: 12px;
      padding: 12px;
    }

    .sheet{
      width: 279.4mm;
      height: 215.9mm;
      background:#fff;
      margin: 0 auto 14px auto;
      border-radius: 10px;
      box-shadow: 0 10px 28px rgba(15, 23, 42, 0.18);
      overflow: hidden;
      transform-origin: top left;
    }
    .sheet-inner{
      width: 279.4mm;
      height: 215.9mm;
      padding: var(--pm);
    }
    /* In preview mode we want to apply the print page layout, but visible on screen */
    html.preview-mode .print-page{
      height: calc(215.9mm - (var(--pm) * 2) - 0.3mm);
      display:flex;
      flex-direction:column;
      overflow: hidden;
    }
html.preview-mode .page-header-print{
      height: var(--ph);
      display:grid;
      grid-template-columns: 1.25fr 0.75fr;
      gap: 6px;
      align-items:center;
      border-bottom: 1px solid var(--border);
      padding: 1.8mm 2.5mm;
    }
    html.preview-mode .page-header-print .brand img{ width: 28px; }
    html.preview-mode .page-header-print .brand{ gap: 7px; }
    html.preview-mode .page-header-print .brand-lines .l1{ font-size: 0.52rem; }
    html.preview-mode .page-header-print .brand-lines .l2{ font-size: 0.66rem; }
    html.preview-mode .page-header-print .brand-lines .l3{ font-size: 0.58rem; }
    html.preview-mode .page-header-print .header-center{ align-items:flex-end; gap: 2px; }
    html.preview-mode .page-header-print .header-center .title{ font-size: 0.70rem; font-weight: 950; text-transform: uppercase; white-space: nowrap; overflow:hidden; text-overflow: ellipsis; }
    html.preview-mode .page-header-print .header-center .subtitle{ display:none; }
    html.preview-mode .page-header-print .report-badges{
      display:flex;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: flex-end;
      gap: 3px;
      min-width: 0;
    }
    html.preview-mode .page-header-print .stat-badge{
      display:inline-flex;
      align-items:center;
      gap: 4px;
      padding: 1px 4px;
      font-size: 0.50rem;
      border-radius: 999px;
      flex: 0 0 auto;
      min-width: 0;
      max-width: 100%;
      white-space: nowrap;
      overflow: hidden;
    }
    html.preview-mode .page-header-print .stat-badge.long{
      flex: 1 1 auto;
    }
    html.preview-mode .page-header-print .stat-badge.long .v{
      overflow: hidden;
      text-overflow: ellipsis;
    }


    html.preview-mode .print-grid{
      flex: 1 1 auto;
      min-height: 0;
      display:grid;
      grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr));
      grid-template-rows: repeat(var(--rows, 3), minmax(0, 1fr));
      gap: var(--pgap);
      padding: 3mm 0 0 0;
      align-items: stretch;
      align-content: stretch;
    }
    html.preview-mode .print-grid .month-card{ height: 100%; min-height: 0; box-shadow: none; border-radius: 9px; }

    html.preview-mode .print-grid .month-card__head{ padding: 2.0mm 2mm; }
    html.preview-mode .print-grid .month-title{ font-size: var(--p-month-title); padding: 0 14px; gap: 3px; }
    html.preview-mode .print-grid .month-title .icon{ font-size: var(--p-month-icon); }
    html.preview-mode .print-grid .month-card__head .count{ right: 2mm; font-size: var(--p-count); padding: 1px 4px; }

    html.preview-mode .print-grid .month-card__body{ padding: var(--p-body-pad); gap: var(--p-body-gap); min-height: 0; }
    html.preview-mode .print-grid .entry{ padding: var(--p-entry-pad-y) var(--p-entry-pad-x); border-radius: 6px; gap: 2mm; }
    html.preview-mode .print-grid .badge{ min-width: var(--p-badge-w); height: var(--p-badge-h); border-radius: 5px; font-size: var(--p-badge); box-shadow: none; }

    html.preview-mode .age-num{ display:inline-flex; min-width: 14px; padding: 0.6mm 1.1mm; border-radius: 6px; font-size: var(--p-age); background: rgba(57,169,0,0.14); border: 1px solid rgba(57,169,0,0.30); }
    html.preview-mode .print-grid .who{ gap: 1.5mm; }
    html.preview-mode .print-grid .name-text{ font-size: var(--p-name); line-height: 1.1; }
    html.preview-mode .print-grid .meta{ display:none; }

    html.preview-mode .print-grid .month-card.tall-2{ grid-row: span 2; }
    html.preview-mode .print-grid .month-card.tall-3{ grid-row: span 3; }

    /* PDF preview: clamp 2 lines in narrow columns (cols-2/cols-3) */
    html.preview-mode .print-grid .name-text{
      display:-webkit-box;
      -webkit-line-clamp: 1;
      line-clamp: 1;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }
    html.preview-mode .print-grid .month-card__body.cols-2 .name-text,
    html.preview-mode .print-grid .month-card__body.cols-3 .name-text{
      -webkit-line-clamp: 2;
      line-clamp: 2;
    }

/* ==========================
       PRINT (PDF)
       ========================== */
    @media print{
      *{ -webkit-print-color-adjust: exact; print-color-adjust: exact; }

      @page{
        size: 279.4mm 215.9mm; /* Letter landscape */
        margin: var(--pm);
      }

      html, body{
        width: 279.4mm;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        background:#fff !important;
      }

      .controls{ display:none !important; }
      .sena-footer{ display:none !important; }
      .calendar-top{ display:none !important; }
      .preview-wrap{ display:none !important; }

      .screen-only{ display:none !important; }
      .print-only{ display:block !important; }
      .top-header{ display:none !important; }

      .print-pages{ margin: 0; }

      /* Evita hoja en blanco al final en exportación a PDF */
      /* Nota: en Chrome/Edge a veces se genera una hoja extra por redondeos de mm→px.
         Reducimos ligeramente la altura y ocultamos overflow. */
      .print-pages{ margin: 0 !important; padding: 0 !important; }
      .print-page{
        height: calc(215.9mm - (var(--pm) * 2) - 0.3mm); /* -epsilon */
        display:flex;
        flex-direction:column;
        overflow: hidden;
        break-after: auto;
        page-break-after: auto;
      }
      .print-page:not(:last-child){
        break-after: page;
        page-break-after: always;
      }
      .print-pages > .print-page:last-child{
        break-after: auto !important;
        page-break-after: auto !important;
      }
.page-header-print{
        height: var(--ph);
        display:grid;
        grid-template-columns: 1.25fr 0.75fr;
        gap: 6px;
        align-items:center;
        border-bottom: 1px solid var(--border);
        padding: 1.8mm 2.5mm;
      }
      .page-header-print .brand img{ width: 28px; }
      .page-header-print .brand{ gap: 7px; }
      .page-header-print .brand-lines .l1{ font-size: 0.52rem; }
      .page-header-print .brand-lines .l2{ font-size: 0.66rem; }
      .page-header-print .brand-lines .l3{ font-size: 0.58rem; }
      .page-header-print .header-center{ align-items:flex-end; gap: 2px; }
      .page-header-print .header-center .title{
        font-size: 0.70rem;
        font-weight: 950;
        text-transform: uppercase;
        white-space: nowrap;
        overflow:hidden;
        text-overflow: ellipsis;
      }
      .page-header-print .header-center .subtitle{ display:none; }
      .page-header-print .report-badges{ justify-content:flex-end; gap: 4px; }
      .page-header-print .stat-badge{ padding: 2px 5px; font-size: 0.56rem; }

      .print-grid{
        flex: 1 1 auto;
        min-height: 0;
        display:grid;
        grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr));
        grid-template-rows: repeat(var(--rows, 3), minmax(0, 1fr));
        gap: var(--pgap);
        padding: 3mm 0 0 0;
        align-items: stretch;
        align-content: stretch;
      }

      .print-grid .month-card{
        height: 100%;
        min-height: 0;
        box-shadow: none;
        border-radius: 9px;
        break-inside: avoid;
        page-break-inside: avoid;
      }

      /* Meses con muchos registros: ganar altura dentro de la grilla */
      .print-grid .month-card.tall-2{ grid-row: span 2; }
      .print-grid .month-card.tall-3{ grid-row: span 3; }

      .print-grid .month-card__head{ padding: 2.0mm 2mm; }
      .print-grid .month-title{
        font-size: var(--p-month-title);
        padding: 0 14px;
        gap: 3px;
      }
      .print-grid .month-title .icon{ font-size: var(--p-month-icon); }
      .print-grid .month-card__head .count{
        right: 2mm;
        font-size: var(--p-count);
        padding: 1px 4px;
      }

      .print-grid .month-card__body{
        padding: var(--p-body-pad);
        gap: var(--p-body-gap);
        min-height: 0;
      }

      .print-grid .entry{
        padding: var(--p-entry-pad-y) var(--p-entry-pad-x);
        border-radius: 6px;
        gap: 2mm;
      }

      .print-grid .badge{
        min-width: var(--p-badge-w);
        height: var(--p-badge-h);
        border-radius: 5px;
        font-size: var(--p-badge);
        box-shadow: none;
      }

      .print-grid .age-num{
        display:inline-flex;
        min-width: 14px;
        padding: 0.6mm 1.1mm;
        border-radius: 6px;
        font-size: var(--p-age);
        background: rgba(57,169,0,0.14);
        border: 1px solid rgba(57,169,0,0.30);
      }
      .print-grid .who{ gap: 1.5mm; }

      /* PDF: clamp 2 lines in narrow columns (cols-2/cols-3) */
      .print-grid .name-text{
        font-size: var(--p-name);
        line-height: 1.1;
        display:-webkit-box;
        -webkit-line-clamp: 1;
        line-clamp: 1;
        -webkit-box-orient: vertical;
        overflow: hidden;
      }
      .print-grid .month-card__body.cols-2 .name-text,
      .print-grid .month-card__body.cols-3 .name-text{
        -webkit-line-clamp: 2;
        line-clamp: 2;
      }

.print-grid .meta{ display:none; }

      /* 3 columnas internas (>10 registros): badge también se hace más pequeño */
      .print-grid .month-card__body.cols-3 .name-text{ font-size: calc(var(--p-name) - 0.08rem); }
      .print-grid .month-card__body.cols-3 .badge{
        font-size: calc(var(--p-badge) - 0.08rem);
        min-width: calc(var(--p-badge-w) - 2px);
        height: calc(var(--p-badge-h) - 2px);
      }

      /* >15 registros: badge pequeño (además de nombre) */
      .print-grid .month-card.dense-15 .name-text{ font-size: calc(var(--p-name) - 0.10rem); }
      .print-grid .month-card.dense-15 .badge{
        font-size: calc(var(--p-badge) - 0.12rem);
        min-width: calc(var(--p-badge-w) - 2px);
        height: calc(var(--p-badge-h) - 2px);
      }
      .print-grid .month-card.dense-15 .age-num{ font-size: calc(var(--p-age) - 0.10rem); }
      .print-grid .month-card.dense-15 .month-card__body{ gap: 1.2mm; }
      .print-grid .month-card.dense-15 .entry{ padding: 1.0mm 1.3mm; }

      /* >24 registros: badge lo más pequeño posible (legible) + compactación */
      .print-grid .month-card.dense-25 .month-card__body{ padding: 1.6mm; gap: 0.95mm; }
      .print-grid .month-card.dense-25 .entry{ padding: 0.85mm 1.05mm; gap: 1.5mm; }
      .print-grid .month-card.dense-25 .name-text{ font-size: calc(var(--p-name) - 0.18rem); }
      .print-grid .month-card.dense-25 .age-num{ font-size: calc(var(--p-age) - 0.18rem); }
      .print-grid .month-card.dense-25 .badge{
        font-size: 0.42rem;
        min-width: 14px;
        height: 11px;
        border-radius: 4px;
      }
      .print-grid .month-card.dense-25 .month-card__head .count{ font-size: calc(var(--p-count) - 0.06rem); }

      /* >=35 registros: aún más compacto */
      .print-grid .month-card.dense-35 .month-card__body{ padding: 1.4mm; gap: 0.85mm; }
      .print-grid .month-card.dense-35 .entry{ padding: 0.75mm 0.95mm; gap: 1.2mm; }
      .print-grid .month-card.dense-35 .name-text{ font-size: calc(var(--p-name) - 0.22rem); }
      .print-grid .month-card.dense-35 .age-num{ font-size: calc(var(--p-age) - 0.22rem); }
      .print-grid .month-card.dense-35 .badge{
        font-size: 0.40rem;
        min-width: 13px;
        height: 10px;
        border-radius: 4px;
      }
      .print-grid .month-card.dense-35 .month-card__head .count{ font-size: calc(var(--p-count) - 0.08rem); }

      /* Global density: si hay más hojas, la letra puede ser más grande (para aprovechar espacio) */
      html.pd-2{
        --p-month-title: 0.70rem;
        --p-month-icon: 0.76rem;
        --p-count: 0.60rem;
        --p-badge: 0.64rem;
        --p-age: 0.62rem;
        --p-name: 0.68rem;
        --pgap: 5px;
        --p-body-gap: 1.6mm;
      }
      html.pd-3{
        --p-month-title: 0.76rem;
        --p-month-icon: 0.84rem;
        --p-count: 0.64rem;
        --p-badge: 0.68rem;
        --p-age: 0.66rem;
        --p-name: 0.74rem;
        --pgap: 6px;
        --p-body-gap: 1.8mm;
      }
      html.pd-4{
        --p-month-title: 0.82rem;
        --p-month-icon: 0.90rem;
        --p-count: 0.68rem;
        --p-badge: 0.72rem;
        --p-age: 0.70rem;
        --p-name: 0.80rem;
        --pgap: 7px;
        --p-body-gap: 2.0mm;
      }
    }
  
    /* Modal (recomendaciones de impresión) */
    .modal{ position: fixed; inset: 0; display:none; z-index: 9999; }
    .modal[aria-hidden="false"]{ display:block; }
    .modal__backdrop{ position:absolute; inset:0; background: rgba(2,6,23,0.45); }
    .modal__panel{
      position: relative;
      width: min(760px, calc(100vw - 24px));
      max-height: calc(100vh - 24px);
      overflow: auto;
      margin: 12px auto;
      background: #fff;
      border-radius: 16px;
      border: 1px solid rgba(226,232,240,1);
      box-shadow: 0 24px 60px rgba(15, 23, 42, 0.35);
    }
    .modal__head{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap: 10px;
      padding: 14px 16px;
      border-bottom: 1px solid var(--border);
      position: sticky;
      top: 0;
      background: #fff;
      z-index: 1;
    }
    .modal__title{ font-weight: 950; font-size: 1.0rem; letter-spacing: 0.01em; }
    .modal__close{
      width: 38px; height: 38px;
      border-radius: 10px;
      border: 1px solid var(--border);
      background: #fff;
      color:#0f172a;
      cursor: pointer;
      font-weight: 950;
      font-size:20px;
      line-height:1;
      display:grid;
      place-items:center;
      padding:0;
      box-shadow: 0 8px 18px rgba(15,23,42,0.10);
    }
    .modal__close:hover{background:#f8fafc;color:#dc2626;border-color:#fecaca;}
    .modal__body{ padding: 14px 16px 10px 16px; }
    .modal__actions{
      display:flex;
      justify-content:flex-end;
      gap: 10px;
      padding: 12px 16px 16px 16px;
      border-top: 1px solid var(--border);
    }
    .modal__note{
      margin-top: 12px;
      font-size: 0.9rem;
      color: var(--muted);
      font-weight: 650;
      background: #f8fafc;
      border: 1px dashed #d1d5db;
      padding: 10px 12px;
      border-radius: 12px;
      line-height: 1.35;
    }
    .modal__dontshow{
      display:flex;
      align-items:center;
      gap: 10px;
      margin-top: 10px;
      font-weight: 800;
      color: var(--text);
    }

    /* Mock UI de impresión (similar a la vista del navegador) */
    .print-ui{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
    }
    @media (max-width: 720px){
      .print-ui{ grid-template-columns: 1fr; }
    }
    .print-ui__section{
      border: 1px solid #e2e8f0;
      border-radius: 14px;
      padding: 10px 12px;
      background: #fff;
    }
    .print-ui__label{
      font-size: 0.88rem;
      font-weight: 950;
      margin-bottom: 8px;
      color: #0f172a;
    }
    .print-ui__box{ display:flex; flex-direction:column; gap: 8px; }
    .print-ui__select{
      border: 1px solid #cbd5e1;
      border-radius: 10px;
      padding: 10px 10px;
      font-weight: 850;
      color: #0f172a;
      background: #fff;
    }
    .print-ui__radio{
      display:flex;
      align-items:center;
      gap: 10px;
      font-weight: 800;
      color: #0f172a;
    }
    .print-ui__radio .dot{
      width: 14px; height: 14px;
      border-radius: 999px;
      border: 2px solid #94a3b8;
      display:inline-block;
      position: relative;
      flex: 0 0 auto;
    }
    .print-ui__radio.selected .dot{
      border-color: #64748b;
    }
    .print-ui__radio.selected .dot::after{
      content:"";
      position:absolute;
      inset: 3px;
      border-radius: 999px;
      background: #64748b;
    }
    .print-ui__input{
      border: 1px solid #cbd5e1;
      border-radius: 10px;
      padding: 10px 10px;
      color: #64748b;
      font-weight: 750;
    }
    .print-ui__hint{
      font-size: 0.82rem;
      color: #64748b;
      font-weight: 750;
      margin-top: -2px;
    }
    .print-ui__check{
      display:flex;
      align-items:center;
      gap: 10px;
      font-weight: 800;
      color: #0f172a;
    }
    .print-ui__check .box{
      width: 16px; height: 16px;
      border-radius: 4px;
      border: 2px solid #94a3b8;
      background: #fff;
      flex: 0 0 auto;
      position: relative;
    }
    .print-ui__check.selected .box{
      border-color: #64748b;
      background: #e2e8f0;
    }
    .print-ui__check.selected .box::after{
      content:"✓";
      position:absolute;
      inset: -1px 0 0 0;
      font-size: 0.92rem;
      color: #0f172a;
      display:flex;
      align-items:center;
      justify-content:center;
      font-weight: 950;
    }

  

    /* ========================== LOKYFECHAS UI ========================== */
    body{padding:0;background:#f5f7fb;}
    .page{max-width:none;width:100%;margin:0;}
    .productTopbar{width:100%;background:#fff;border-bottom:1px solid #dbe3ec;box-shadow:0 2px 12px rgba(15,23,42,.03);}
    .productTopbarInner{width:min(1480px,96vw);margin:0 auto;min-height:82px;padding:12px 16px;display:flex;align-items:center;gap:18px;}
    .productMark{width:58px;height:58px;object-fit:contain;display:block;flex:0 0 auto;}
    .productCopy{display:flex;align-items:baseline;gap:18px;min-width:0;flex-wrap:wrap;flex:1 1 auto;}
    .productName{font-size:clamp(28px,3vw,42px);font-weight:1000;letter-spacing:-.055em;line-height:1;color:#0f172a;white-space:nowrap;}
    .productName span{color:var(--brand);}
    .productTagline{font-size:13px;font-weight:800;color:#64748b;white-space:nowrap;}
    .institutionMini{display:flex;align-items:center;gap:10px;padding:7px 12px;border:1px solid var(--border);border-radius:14px;background:#fff;min-width:190px;max-width:330px;}
    .institutionMini img{width:38px;height:38px;object-fit:contain;border-radius:9px;flex:0 0 auto;}
    .institutionMiniText{display:flex;flex-direction:column;min-width:0;line-height:1.1}.institutionMiniText small{font-size:9px;font-weight:950;letter-spacing:.16em;color:#94a3b8}.institutionMiniText strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

    .controls,.calendar,.overviewCards,.viewToolbar{width:min(1480px,96vw);margin-left:auto;margin-right:auto;}
    .controls{margin-top:16px;}
    .institutionConfig{background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 7%,white),#fff);border:1px solid color-mix(in srgb,var(--brand) 22%,#e2e8f0);border-radius:16px;padding:14px;margin-bottom:14px;}
    .institutionConfigTitle{font-weight:950;font-size:14px;margin-bottom:10px;}
    .institutionConfigGrid{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(220px,.7fr) minmax(320px,1fr);gap:12px;align-items:end;}
    .instField{display:flex;flex-direction:column;gap:6px}.instField span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#64748b}.instField input[type="text"]{width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:10px 11px;font-size:13px;font-weight:800;}
    .colorPair{display:grid;grid-template-columns:64px 1fr;gap:8px}.colorPair input[type="color"]{width:64px;height:42px;padding:4px;border:1px solid #cbd5e1;border-radius:12px;background:#fff}.colorPair input[type="text"]{min-width:0;}
    .instLogoControl{display:flex;align-items:center;gap:10px;min-width:0}.instLogoPreview{width:62px;height:62px;border:1px solid #dbe3ec;border-radius:14px;background:#fff;display:grid;place-items:center;flex:0 0 auto}.instLogoPreview img{width:52px;height:52px;object-fit:contain}.instLogoCopy{display:flex;flex-direction:column;gap:3px;min-width:0}.instLogoCopy span{font-size:11px;color:#64748b}.compactBtn{padding:7px 10px;font-size:11px;align-self:flex-start;margin-top:3px}.sectionDivider{height:1px;background:#e2e8f0;margin:6px 0 14px;}
    .headerActions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:0 0 auto;}
    .personalizeBtn{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;padding:9px 13px;border-radius:12px;background:#fff;color:#334155;border:1px solid #dbe3ec;box-shadow:0 6px 14px rgba(15,23,42,.06);font-size:11px;font-weight:950;}
    .personalizeBtn:hover{background:color-mix(in srgb,var(--brand) 7%,white);border-color:color-mix(in srgb,var(--brand) 35%,#dbe3ec);color:var(--brand);}
    .personalizeBtnIcon{font-size:15px;line-height:1;}
    .instLogoActions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:3px;}
    .instLogoActions .compactBtn{margin-top:0;}
    .resetBrandBtn{border-color:#dbe3ec!important;background:#fff!important;color:#475569!important;box-shadow:none!important;}
    .resetBrandBtn:hover{background:#fff7f7!important;color:#b42318!important;border-color:#fecaca!important;}
    .brandModalPanel{width:min(760px,calc(100vw - 24px));}
    .brandModalIntro{margin:0 0 14px;color:#64748b;font-size:12px;font-weight:700;line-height:1.45;}
    .brandModalConfig{margin:0;box-shadow:none;}
    .brandModalConfig .institutionConfigGrid{grid-template-columns:minmax(240px,1.2fr) minmax(220px,.8fr);}
    .brandModalConfig .instLogoControl{grid-column:1/-1;padding-top:4px;}
    .brandModalFooter{justify-content:space-between;}
    .brandModalFooterRight{display:flex;gap:10px;align-items:center;}

    .overviewCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px;margin-bottom:12px;}
    .overviewCard{border-radius:16px;padding:14px 16px;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow-soft);min-width:0;position:relative;overflow:hidden}.overviewCard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--brand)}.overviewCard.week::before{background:#2563eb}.overviewCard.next::before{background:#7c3aed}.overviewK{font-size:10px;font-weight:950;letter-spacing:.16em;color:#64748b}.overviewV{font-size:28px;font-weight:1000;line-height:1;margin-top:3px}.overviewText{font-size:12px;font-weight:750;color:#475569;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

    .viewToolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;background:#fff;border:1px solid var(--border);border-radius:16px;padding:9px 10px;box-shadow:var(--shadow-soft)}
    .viewTabs{display:flex;gap:5px;background:#f1f5f9;border-radius:12px;padding:4px;flex-wrap:wrap}.viewTab{background:transparent;color:#64748b;border:0;box-shadow:none;padding:8px 12px;border-radius:9px;font-size:12px}.viewTab.active{background:var(--brand);color:#fff;box-shadow:0 6px 16px color-mix(in srgb,var(--brand) 25%,transparent)}
    .periodNav{display:flex;align-items:center;gap:7px}.periodNav strong{min-width:150px;text-align:center;font-size:12px}.navBtn{width:36px;height:36px;padding:0;font-size:22px}.todayBtn{padding:8px 11px;font-size:11px}.periodNav.navDisabled .navBtn,.periodNav.navDisabled .todayBtn{visibility:hidden;}
    .viewHidden{display:none!important}.appView{margin-bottom:16px}.singleMonthView .month-card{min-height:0}.singleMonthView{max-width:1100px;margin:0 auto}.weekGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.weekDay{border:1px solid var(--border);border-radius:14px;background:#fff;min-height:180px;overflow:hidden}.weekDayHead{padding:9px 8px;background:#f8fafc;border-bottom:1px solid var(--border);text-align:center}.weekDayHead strong{display:block;font-size:12px}.weekDayHead span{font-size:10px;color:#64748b}.weekDay.todayDay .weekDayHead{background:color-mix(in srgb,var(--brand) 12%,white);color:#14532d}.weekDayBody{padding:7px;display:flex;flex-direction:column;gap:6px}.weekEmpty{color:#94a3b8;font-size:10px;text-align:center;padding-top:22px}.miniEvent{border:1px solid #e2e8f0;border-radius:10px;padding:7px;background:#fff;font-size:10px;line-height:1.25}.miniEvent strong{display:block;font-size:10.5px}.miniEvent .miniMeta{color:#64748b;margin-top:3px}.miniActions{display:flex;gap:4px;margin-top:5px}.miniActions button,.entryActions button,.agendaActions button{width:28px;height:28px;padding:0;border:1px solid #e2e8f0;background:#fff;color:#475569;border-radius:8px;box-shadow:none;font-size:12px}.miniActions button:hover,.entryActions button:hover,.agendaActions button:hover{background:#f8fafc;}
    .agendaList{display:flex;flex-direction:column;gap:8px}.agendaItem{display:grid;grid-template-columns:90px minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid var(--border);border-radius:14px;background:#fff;padding:10px 12px}.agendaDate{font-weight:1000;color:var(--brand);text-transform:uppercase}.agendaMain strong{display:block}.agendaMeta{font-size:11px;color:#64748b;margin-top:3px}.agendaCountdown{font-size:11px;font-weight:900;color:#475569;padding:5px 8px;border-radius:999px;background:#f1f5f9}.agendaActions{display:flex;gap:5px}.categoryTag{display:inline-flex;align-items:center;margin-left:6px;padding:2px 6px;border-radius:999px;background:color-mix(in srgb,var(--brand) 10%,white);border:1px solid color-mix(in srgb,var(--brand) 26%,#e2e8f0);font-size:9px;font-weight:900;color:#334155;vertical-align:middle}.entryActions{margin-left:auto;display:flex;gap:4px;flex:0 0 auto}.entry{align-items:center}.entry>div:nth-child(2){min-width:0;flex:1}.eventCountdown{font-size:10px;font-weight:850;color:#64748b;margin-left:5px;}
    .agendaPagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:14px;padding:10px 6px 2px}.agendaPageBtn{min-width:36px;height:36px;padding:0 10px;border-radius:10px;border:1px solid #dbe3ec;background:#fff;color:#334155;box-shadow:none;font-size:12px;font-weight:950;cursor:pointer}.agendaPageBtn:hover:not(:disabled){border-color:color-mix(in srgb,var(--brand) 48%,#dbe3ec);background:color-mix(in srgb,var(--brand) 7%,white)}.agendaPageBtn.active{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 7px 16px color-mix(in srgb,var(--brand) 22%,transparent)}.agendaPageBtn.nav{min-width:auto;padding:0 13px}.agendaPageBtn:disabled{opacity:.38;cursor:not-allowed}.agendaPageDots{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:36px;color:#64748b;font-weight:1000}.agendaPageInfo{width:100%;text-align:center;color:#64748b;font-size:10px;font-weight:800;margin-top:2px}

    .editPanel{width:min(520px,calc(100vw - 24px))}.editForm{display:grid;grid-template-columns:1fr;gap:12px}.editForm label{display:flex;flex-direction:column;gap:6px}.editForm input{width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:11px;font-size:15px;}

    .lokyFooter{display:block;width:100vw;margin:30px 0 0 calc(50% - 50vw);padding:0}.lokyFooterCard{width:100%;margin:0;background:#fff;border:0;border-top:1px solid rgba(37,99,235,.16);border-radius:0;box-shadow:0 -10px 28px rgba(15,23,42,.06);padding:20px max(24px,7.5vw);display:flex;align-items:center;justify-content:center;gap:18px}.lokyFooterLogo{width:170px;height:auto;max-height:96px;object-fit:contain;display:block;flex:0 0 auto}.lokyFooterCopy{min-width:0;text-align:left}.lokyFooterRole{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:#eff6ff;border:1px solid rgba(37,99,235,.16);font-size:10px;font-weight:1000;letter-spacing:.18em;text-transform:uppercase;color:#1d4ed8}.lokyFooterRole::before{content:"";width:7px;height:7px;border-radius:50%;background:#2563eb}.lokyFooterText{margin-top:8px;max-width:720px;font-size:12px;font-weight:750;color:#475569;line-height:1.5}

    .todayEventAlert{display:none;width:min(1280px,calc(100% - 28px));margin:0 auto 14px;padding:12px 14px;border-radius:16px;border:1px solid color-mix(in srgb,var(--brand) 32%,#dbe4ee);background:color-mix(in srgb,var(--brand) 9%,white);box-shadow:0 8px 24px rgba(15,23,42,.07);align-items:flex-start;gap:11px}.todayEventAlert.show{display:flex}.todayEventAlertIcon{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--brand);color:white;font-size:17px;flex:0 0 auto}.todayEventAlertBody{min-width:0;flex:1}.todayEventAlertTitle{font-size:12px;font-weight:1000;color:#162238}.todayEventAlertText{font-size:11px;color:#4e5d73;margin-top:3px;line-height:1.35}.todayEventAlertClose{width:30px;height:30px;border-radius:9px;border:1px solid #dfe6ee;background:#fff;color:#526176;box-shadow:none;padding:0;flex:0 0 auto}.todayEventAlertClose:hover{background:#f8fafc}
    @media(max-width:980px){.institutionConfigGrid{grid-template-columns:1fr 1fr}.headerActions{margin-left:auto}.brandModalConfig .institutionConfigGrid{grid-template-columns:1fr 1fr}.instLogoControl{grid-column:1/-1}.weekGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
    @media(max-width:680px){
      html{-webkit-text-size-adjust:100%}.productTopbarInner{width:100%;min-height:64px;padding:8px 12px;gap:10px;flex-wrap:nowrap}.productMark{width:45px;height:45px}.productCopy{gap:2px;align-items:flex-start;flex-direction:column}.productName{font-size:28px}.productTagline{font-size:9px;white-space:normal}.institutionMini{display:none}.headerActions{margin-left:auto}.personalizeBtn{padding:9px 10px;font-size:10px}.personalizeBtnIcon{font-size:14px}.brandModalConfig .institutionConfigGrid{grid-template-columns:1fr}.instLogoActions{width:100%}
      .controls,.calendar,.overviewCards,.viewToolbar{width:calc(100% - 20px)}.controls{padding:12px}.institutionConfigGrid{grid-template-columns:1fr}.instLogoControl{grid-column:auto}.grid-controls{grid-template-columns:1fr}.overviewCards{grid-template-columns:1fr;gap:7px}.overviewCard{padding:10px 12px;display:grid;grid-template-columns:90px 38px minmax(0,1fr);align-items:center;gap:6px}.overviewV{font-size:22px;margin:0}.overviewText{margin:0;font-size:11px}.viewToolbar{align-items:stretch;flex-direction:column}.viewTabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));}.viewTab{padding:9px 4px;font-size:10px}.periodNav{justify-content:center}.periodNav strong{min-width:120px}.months-grid{grid-template-columns:1fr!important}.month-card{min-height:0}.month-card__body.cols-2,.month-card__body.cols-3{grid-template-columns:1fr!important}.entry{min-height:54px;padding:9px}.badge{min-width:42px}.entryActions button{width:34px;height:34px}.weekGrid{grid-template-columns:1fr}.weekDay{min-height:0}.agendaItem{grid-template-columns:72px minmax(0,1fr);gap:8px}.agendaCountdown{grid-column:2}.agendaActions{grid-column:2}.agendaPagination{gap:5px;margin-top:10px}.agendaPageBtn{min-width:34px;height:34px;padding:0 8px;font-size:11px}.agendaPageBtn.nav{padding:0 10px}.lokyFooterCard{padding:16px 18px;gap:12px}.lokyFooterLogo{width:130px}.lokyFooterText{font-size:10px}
      input[type="text"],input[type="number"],input[type="date"],select,textarea{font-size:16px!important}
    }
    /* ========================== LOKYFECHAS v2 · limpieza visual ========================== */
    #viewCalendar .months-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start;}
    #viewCalendar .month-card{min-height:210px;border-radius:16px;box-shadow:0 5px 18px rgba(15,23,42,.055);}
    #viewCalendar .month-card__head{padding:9px 10px;background:linear-gradient(135deg,var(--brand),color-mix(in srgb,var(--brand) 72%,#0f172a));}
    #viewCalendar .month-title{font-size:12px;letter-spacing:.035em;padding:0 38px;}
    #viewCalendar .month-card__head .count{font-size:10px;right:8px;padding:3px 7px;}
    #viewCalendar .month-card__body{display:flex!important;flex-direction:column!important;padding:8px;gap:6px;}
    #viewCalendar .entry{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:7px;padding:7px 8px;min-height:44px;border-radius:10px;background:#fbfcfe;border-color:#e8edf3;}
    #viewCalendar .entry .badge{min-width:30px;width:30px;height:26px;padding:0;border-radius:8px;font-size:10px;box-shadow:none;}
    #viewCalendar .who{gap:5px;min-width:0;align-items:center;}
    #viewCalendar .name-text{display:block!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;font-weight:900;}
    #viewCalendar .meta{font-size:9px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
    #viewCalendar .age-num{display:inline-flex;min-width:24px;padding:2px 5px;font-size:9px;box-shadow:none;}
    #viewCalendar .categoryTag{display:none;}
    #viewCalendar .entryActions{opacity:.28;transition:.15s ease;}
    #viewCalendar .entry:hover .entryActions,#viewCalendar .entry:focus-within .entryActions{opacity:1;}
    #viewCalendar .entryActions button{width:25px;height:25px;font-size:10px;border-radius:7px;}
    html.preview-mode .print-grid .categoryTag{display:none!important;}
    html.preview-mode .print-grid .month-card{border-radius:7px!important;}
    html.preview-mode .print-grid .month-card__body{display:flex!important;flex-direction:column!important;gap:1mm!important;padding:1.4mm!important;}
    html.preview-mode .print-grid .entry{display:grid!important;grid-template-columns:15px minmax(0,1fr)!important;align-items:center!important;padding:.65mm .9mm!important;gap:1mm!important;}
    html.preview-mode .print-grid .badge{min-width:14px!important;width:14px!important;height:12px!important;font-size:.43rem!important;}
    html.preview-mode .print-grid .age-num{display:none!important;}
    html.preview-mode .print-grid .name-text{font-size:.49rem!important;line-height:1.05!important;-webkit-line-clamp:1!important;line-clamp:1!important;}
    @media(max-width:1250px){#viewCalendar .months-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
    @media(max-width:930px){#viewCalendar .months-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
    @media(max-width:680px){#viewCalendar .months-grid{grid-template-columns:1fr!important}#viewCalendar .entryActions{opacity:1!important}}
    @media print{
      .productTopbar,.overviewCards,.viewToolbar,.lokyFooter{display:none!important}.sena-footer{display:none!important}
      .print-grid .categoryTag{display:none!important;}
      .print-grid .month-card{border-radius:7px!important;}
      .print-grid .month-card__body{display:flex!important;flex-direction:column!important;gap:1mm!important;padding:1.4mm!important;}
      .print-grid .entry{display:grid!important;grid-template-columns:15px minmax(0,1fr)!important;align-items:center!important;padding:.65mm .9mm!important;gap:1mm!important;}
      .print-grid .badge{min-width:14px!important;width:14px!important;height:12px!important;font-size:.43rem!important;}
      .print-grid .age-num{display:none!important;}
      .print-grid .name-text{font-size:.49rem!important;line-height:1.05!important;-webkit-line-clamp:1!important;line-clamp:1!important;}
    }


    /* ===== LokyFechas v4: calendario anual completo ===== */
    .yearCalendarGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
    .yearMini{border:1px solid #e3e9f0;border-radius:15px;background:#fff;overflow:hidden;box-shadow:0 5px 16px rgba(15,23,42,.035);min-width:0}
    .yearMiniHead{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;background:linear-gradient(135deg,var(--brand),color-mix(in srgb,var(--brand) 80%,#0f172a));color:#fff}
    .yearMiniHead strong{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.yearMiniHead span{font-size:.58rem;font-weight:900;padding:2px 6px;border-radius:999px;background:rgba(255,255,255,.18)}
    .yearWeekdays,.yearDays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;padding:0 7px}.yearWeekdays{padding-top:6px;color:#8a96a7;font-size:.48rem;font-weight:950;text-align:center;text-transform:uppercase}.yearDays{padding-top:3px;padding-bottom:7px;grid-auto-rows:minmax(24px,1fr)}
    .yearDay{position:relative;display:grid;place-items:center;min-width:0;border-radius:7px;font-size:.59rem;font-weight:800;color:#3a4659;border:1px solid transparent;cursor:default}.yearDay.other{opacity:0;pointer-events:none}.yearDay.hasEvent{background:color-mix(in srgb,var(--brand) 11%,white);border-color:color-mix(in srgb,var(--brand) 28%,#e2e8f0);color:color-mix(in srgb,var(--brand) 82%,#0f172a);font-weight:1000;cursor:pointer}.yearDay.hasEvent::after{content:attr(data-count);position:absolute;right:2px;top:1px;min-width:10px;height:10px;padding:0 2px;border-radius:999px;display:grid;place-items:center;background:var(--brand);color:#fff;font-size:.38rem;font-weight:1000}.yearDay.today{box-shadow:inset 0 0 0 2px #f59e0b}
    @media(max-width:1050px){.yearCalendarGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
    @media(max-width:760px){.yearCalendarGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.yearMiniHead{padding:7px 8px}.yearDays{grid-auto-rows:minmax(28px,1fr)}}
    @media(max-width:460px){.yearCalendarGrid{grid-template-columns:1fr}.yearDays{grid-auto-rows:minmax(34px,1fr)}.yearDay{font-size:.68rem}}

    /* ===== LokyFechas v3: centro de control / resumen ===== */
    .controls{border-radius:24px;padding:20px;box-shadow:0 14px 40px rgba(15,23,42,.08);border:1px solid #e7edf4;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)}
    .controlHero{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid #edf1f6}
    .controlHeroIcon{width:42px;height:42px;border-radius:14px;background:color-mix(in srgb,var(--sena) 12%,white);border:1px solid color-mix(in srgb,var(--sena) 26%,white);display:grid;place-items:center;color:var(--sena);font-size:23px;font-weight:1000;flex:0 0 auto}
    .controlHero h2{margin:0 0 3px;font-size:1.15rem}.controlHero p{margin:0;color:var(--muted);font-size:.9rem}
    .grid-controls{grid-template-columns:minmax(0,1.65fr) minmax(300px,.7fr);gap:16px;align-items:stretch}
    .grid-controls>div{border:1px solid #e7edf4;border-radius:18px;padding:14px;background:#fff;box-shadow:0 6px 18px rgba(15,23,42,.035)}
    .panelTitle{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:950;margin:0 0 10px;color:#172033}.panelIcon{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:color-mix(in srgb,var(--sena) 12%,white);color:var(--sena);font-weight:1000}
    .srPanelLabel{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
    .grid-controls textarea{min-height:154px;border-radius:14px;background:#fbfdff;border-color:#dbe4ee;box-shadow:inset 0 1px 2px rgba(15,23,42,.02)}
    .actionGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
    .actionBtn{min-height:58px!important;padding:8px 10px!important;border-radius:14px!important;display:grid!important;grid-template-columns:26px 1fr!important;grid-template-rows:auto auto!important;column-gap:7px!important;text-align:left!important;align-items:center!important;box-shadow:none!important;letter-spacing:0!important}
    .actionBtn>span{grid-row:1/3;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:rgba(255,255,255,.22);font-size:15px}.actionBtn>b{font-size:.78rem;line-height:1.05}.actionBtn>small{font-size:.63rem;line-height:1;color:inherit;opacity:.68;font-weight:750}
    .actionBtn.secondary{background:#f8fafc!important;border-color:#e1e8f0!important;color:#243047!important}.actionBtn.secondary>span{background:#fff;border:1px solid #e5eaf0;color:var(--sena)}
    .primaryAction{background:linear-gradient(135deg,var(--sena),color-mix(in srgb,var(--sena) 76%,#0f172a))!important}
    .hint{font-size:.78rem;margin-top:10px;padding:9px 10px;background:#f8fafc}
    .exportPanel{display:flex!important;flex-direction:column!important}
    .yearAutoCard{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 14px;border-radius:15px;background:linear-gradient(135deg,color-mix(in srgb,var(--sena) 10%,white),#fff);border:1px solid color-mix(in srgb,var(--sena) 26%,#e2e8f0);margin-bottom:10px}
    .yearAutoCard small{display:block;color:#68758a;font-size:.61rem;font-weight:900;letter-spacing:.07em}.yearAutoCard strong{display:block;font-size:1.65rem;line-height:1;margin-top:4px;color:#14213a}.autoChip{font-size:.58rem;font-weight:1000;letter-spacing:.08em;padding:5px 7px;border-radius:999px;color:color-mix(in srgb,var(--sena) 78%,#0f172a);background:#fff;border:1px solid color-mix(in srgb,var(--sena) 28%,#dbe4ee)}
    .yearRefHidden{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;padding:0!important;border:0!important}
    .pdfActions{display:grid;grid-template-columns:1fr auto;gap:8px}.pdfMain{min-height:48px;border-radius:14px!important;font-size:.82rem}.pdfMain span{margin-right:6px}.pdfPreview{min-height:48px;border-radius:14px!important;padding-inline:14px!important}
    .pdfAutoNote{margin-top:9px;padding:10px 11px;border-radius:12px;background:#f7f9fc;border:1px dashed #d9e1eb;color:#66758a;font-size:.72rem;line-height:1.35}.pdfAutoNote strong{color:#253147}
    .pdfScopeChooser{margin-top:10px;padding:11px;border:1px solid #e3eaf2;border-radius:14px;background:#fbfcfe}
    .pdfScopeTitle{display:flex;align-items:center;gap:8px;margin-bottom:8px}.pdfScopeTitle>span{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;background:color-mix(in srgb,var(--sena) 12%,white);color:var(--sena);font-weight:1000}.pdfScopeTitle strong{display:block;font-size:.72rem;color:#1f2a40}.pdfScopeTitle small{display:block;font-size:.61rem;color:#7b8798;margin-top:1px}
    .pdfScopeGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.pdfScopeOpt{display:flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:6px 8px;border:1px solid #e0e7ef;border-radius:11px;background:#fff;color:#344055;font-size:.68rem;font-weight:900;cursor:pointer}.pdfScopeOpt:has(input:checked){border-color:color-mix(in srgb,var(--sena) 45%,#d7e0e9);background:color-mix(in srgb,var(--sena) 9%,white);color:color-mix(in srgb,var(--sena) 78%,#0f172a)}.pdfScopeOpt input{accent-color:var(--sena);width:15px;height:15px;margin:0}

    /* Estadísticas como tablero de indicadores, no pills */
    .calendar-top{align-items:center}.calendar-top h2{min-width:max-content}
    .report-badges.left{order:3;width:100%;display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:2px}
    .stat-badge{position:relative;display:grid!important;grid-template-columns:32px minmax(0,1fr)!important;grid-template-rows:auto auto!important;column-gap:8px!important;align-items:center!important;padding:10px 11px!important;border-radius:14px!important;background:#fff!important;border:1px solid #e5ebf2!important;color:#162033!important;box-shadow:0 5px 15px rgba(15,23,42,.04);min-width:0;white-space:normal!important}
    .stat-badge::before{content:attr(data-icon);grid-row:1/3;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--sena) 11%,white);color:var(--sena);font-size:15px;font-weight:1000}
    .stat-badge .k{color:#7a8799!important;font-size:.58rem;line-height:1;text-transform:uppercase;letter-spacing:.06em;font-weight:950}.stat-badge .v{color:#152036!important;font-size:.9rem;line-height:1.1;font-weight:1000;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-badge.long .v{font-size:.72rem}
    @media(max-width:1050px){.report-badges.left{grid-template-columns:repeat(3,minmax(0,1fr))}.actionGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
    @media(max-width:700px){.controls{padding:12px;border-radius:18px}.grid-controls{grid-template-columns:1fr}.grid-controls>div{padding:11px}.actionGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-badges.left{grid-template-columns:repeat(2,minmax(0,1fr))}.pdfActions{grid-template-columns:1fr}.pdfPreview{width:100%}.controlHeroIcon{width:38px;height:38px}.controlHero h2{font-size:1rem}.controlHero p{font-size:.78rem}}


    /* LokyFechas v7 · día actual, indicadores y salida */
    .pdfActions{grid-template-columns:1fr!important}
    .pdfMain{width:100%}
    .month-card.currentMonth{border-color:color-mix(in srgb,var(--brand) 45%,#dfe6ee);box-shadow:0 10px 28px color-mix(in srgb,var(--brand) 12%,transparent)}
    .month-card.currentMonth .month-card__head{box-shadow:inset 0 -3px 0 rgba(255,255,255,.25)}
    .todayMarker{display:flex;align-items:center;justify-content:center;gap:7px;margin:2px 0 7px;padding:6px 9px;border-radius:10px;background:color-mix(in srgb,var(--brand) 11%,white);border:1px solid color-mix(in srgb,var(--brand) 30%,#e2e8f0);color:color-mix(in srgb,var(--brand) 80%,#10213a);font-size:10px;font-weight:1000;letter-spacing:.04em}
    .todayMarker::before{content:"●";font-size:8px;color:var(--brand)}
    .entry.todayEntry{border-color:color-mix(in srgb,var(--brand) 48%,#dbe4ee)!important;background:color-mix(in srgb,var(--brand) 8%,white)!important;box-shadow:inset 3px 0 0 var(--brand)}
    .entry.todayEntry .badge{outline:2px solid color-mix(in srgb,var(--brand) 35%,white);outline-offset:1px}
    .agendaTodayMarker{display:flex;align-items:center;gap:8px;padding:9px 12px;margin:4px 0;border-radius:12px;background:color-mix(in srgb,var(--brand) 11%,white);border:1px solid color-mix(in srgb,var(--brand) 32%,#dfe6ee);color:color-mix(in srgb,var(--brand) 82%,#10213a);font-weight:1000;font-size:11px}
    .agendaTodayMarker::before{content:"HOY";display:inline-grid;place-items:center;min-width:42px;height:23px;padding:0 8px;border-radius:999px;background:var(--brand);color:#fff;font-size:9px;letter-spacing:.08em}
    .agendaItem.todayAgenda{border-color:color-mix(in srgb,var(--brand) 45%,#dfe6ee)!important;background:color-mix(in srgb,var(--brand) 7%,white)!important;box-shadow:inset 3px 0 0 var(--brand)}
    .weekDay.todayDay{outline:2px solid color-mix(in srgb,var(--brand) 38%,white);outline-offset:1px}
    .yearDay.today{background:var(--brand)!important;color:#fff!important;border-color:var(--brand)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 20%,transparent)!important}
    .report-badges.left{gap:8px}
    .stat-badge{min-height:34px;padding:7px 11px;background:color-mix(in srgb,var(--brand) 7%,white);border-color:color-mix(in srgb,var(--brand) 24%,#dbe4ee);box-shadow:0 4px 12px rgba(15,23,42,.035)}
    .stat-badge .k{color:#64748b;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em}
    .stat-badge .v{color:#17233a;font-size:.83rem}
    @media(max-width:700px){.todayMarker{font-size:9px}.agendaTodayMarker{font-size:10px}}

    /* LokyFechas v8 · categorías, filtros y próximo evento */
    .nextEventPanel{width:min(1480px,96vw);margin:0 auto 12px;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-soft);padding:13px 16px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;position:relative;overflow:hidden}
    .nextEventPanel::before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:var(--brand)}
    .nextEventIcon{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:color-mix(in srgb,var(--brand) 11%,white);font-size:23px}
    .nextEventEyebrow{font-size:9px;font-weight:1000;letter-spacing:.16em;color:#64748b}.nextEventName{font-size:17px;font-weight:1000;color:#14213a;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nextEventMeta{font-size:10px;color:#64748b;font-weight:750;margin-top:3px}
    .nextEventCountdown{min-width:145px;text-align:center;border-radius:15px;padding:10px 13px;background:var(--brand);color:#fff;font-size:19px;font-weight:1000;box-shadow:0 8px 20px color-mix(in srgb,var(--brand) 24%,transparent)}
    .categoryFilterBar{width:min(1480px,96vw);margin:0 auto 10px;background:#fff;border:1px solid var(--border);border-radius:15px;padding:9px 11px;box-shadow:var(--shadow-soft);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.categoryFilterTitle{font-size:10px;font-weight:1000;color:#64748b;letter-spacing:.08em;text-transform:uppercase}.categoryFilterOptions{display:flex;gap:6px;flex-wrap:wrap}.categoryFilterOpt{position:relative;cursor:pointer}.categoryFilterOpt input{position:absolute;opacity:0;pointer-events:none}.categoryFilterOpt span{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border:1px solid #dfe6ee;border-radius:999px;background:#fff;color:#475569;font-size:10px;font-weight:900;transition:.15s}.categoryFilterOpt input:checked+span{border-color:var(--brand);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 16%,transparent);background:color-mix(in srgb,var(--brand) 8%,white);color:#17233a}
    .categoryTag{gap:4px;background:var(--cat-bg, color-mix(in srgb,var(--brand) 10%,white))!important;border-color:var(--cat-border, color-mix(in srgb,var(--brand) 26%,#e2e8f0))!important;color:var(--cat-color,#334155)!important}.categoryTagIcon{font-size:10px}.categoryRadioGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.categoryRadio{position:relative;cursor:pointer}.categoryRadio input{position:absolute;opacity:0;pointer-events:none}.categoryRadioCard{min-height:52px;border:1px solid #dfe6ee;border-radius:13px;padding:9px 10px;display:flex;align-items:center;gap:9px;background:#fff;transition:.15s}.categoryRadioIcon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;font-size:17px;background:var(--cat-bg)}.categoryRadioText{font-size:11px;font-weight:950;color:#26354d}.categoryRadio input:checked+.categoryRadioCard{border-color:var(--cat-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--cat-color) 16%,transparent);background:color-mix(in srgb,var(--cat-color) 5%,white)}
    .pdfCategoryChooser{margin-top:10px;padding-top:10px;border-top:1px solid #e5eaf0}.pdfCategoryLabel{font-size:9px;font-weight:1000;color:#64748b;letter-spacing:.1em;text-transform:uppercase;margin-bottom:7px}.pdfCategoryGrid{display:flex;gap:6px;flex-wrap:wrap}.pdfCategoryOpt{position:relative;cursor:pointer}.pdfCategoryOpt input{position:absolute;opacity:0;pointer-events:none}.pdfCategoryOpt span{display:inline-flex;align-items:center;gap:4px;padding:6px 8px;border:1px solid #dde5ed;border-radius:999px;background:#fff;font-size:9px;font-weight:900;color:#526176}.pdfCategoryOpt input:checked+span{background:var(--brand);border-color:var(--brand);color:#fff}
    .miniCategory{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:999px;font-size:9px;font-weight:900;margin-right:4px}
    @media(max-width:700px){.nextEventPanel,.categoryFilterBar{width:calc(100% - 20px)}.nextEventPanel{grid-template-columns:auto 1fr;gap:10px}.nextEventCountdown{grid-column:1/-1;min-width:0;width:100%}.nextEventName{font-size:14px}.categoryRadioGrid{grid-template-columns:1fr}.categoryFilterOptions{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.categoryFilterOpt{flex:0 0 auto}}


    /* LokyFechas v10 · próximos eventos y búsqueda en Agenda */
    .nextWeekEvents{width:min(1280px,calc(100% - 28px));margin:-4px auto 14px;padding:12px 14px;border-radius:16px;border:1px solid #dce7f3;background:#f8fbff;box-shadow:0 7px 20px rgba(15,23,42,.05);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px}
    .nextWeekEventsIcon{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--brand) 11%,white);border:1px solid color-mix(in srgb,var(--brand) 28%,#dce7f3);font-size:17px}
    .nextWeekEventsBody{min-width:0}.nextWeekEventsTitle{font-size:12px;font-weight:1000;color:#162238}.nextWeekEventsText{font-size:11px;color:#4e5d73;margin-top:3px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .nextWeekEventsCount{min-width:36px;height:30px;padding:0 9px;border-radius:999px;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:1000;box-shadow:0 5px 14px color-mix(in srgb,var(--brand) 18%,transparent)}
    .agendaSearchBar{margin:0 0 12px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 10px;border:1px solid #dfe6ee;border-radius:14px;background:#f8fafc;transition:.15s}
    .agendaSearchBar:focus-within{background:#fff;border-color:color-mix(in srgb,var(--brand) 48%,#dfe6ee);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 12%,transparent)}
    .agendaSearchIcon{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:color-mix(in srgb,var(--brand) 11%,white);color:var(--brand);font-weight:1000;font-size:17px}
    #agendaSearch{width:100%;border:0!important;box-shadow:none!important;background:transparent!important;padding:7px 3px!important;font-size:14px;outline:none;color:#17233a}
    #agendaSearch::placeholder{color:#94a3b8}.agendaSearchClear{width:30px;height:30px;padding:0!important;border-radius:9px!important;border:1px solid #dfe6ee!important;background:#fff!important;color:#64748b!important;box-shadow:none!important;font-size:17px!important}
    .exportPanel{justify-content:flex-start}.pdfActions{margin-top:0}
    @media(max-width:700px){.nextWeekEvents{width:calc(100% - 20px);grid-template-columns:auto minmax(0,1fr) auto;margin-bottom:10px}.nextWeekEventsText{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.agendaSearchBar{padding:7px 8px}#agendaSearch{font-size:16px}}

  