/* Monitoreo only: compact calendar cards and neutral controls. */
.monitoreo-public { color:#333; }
.monitoreo-public [hidden] { display:none!important; }
.monitoreo-intro { display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:24px; align-items:start; padding:0 0 26px; }
.monitoreo-intro.monitoreo-intro-only { grid-template-columns:minmax(0,1fr); }
.monitoreo-intro-copy { min-width:0; }
.monitoreo-description { width:100%; max-width:none; margin:0; font-size:.96rem; line-height:1.7; text-align:justify; text-align-last:left; }
.monitoreo-intro-toggle { min-height:36px; padding:4px 0; margin-top:4px; border:0; border-radius:3px; background:transparent; color:#444; font-size:.85rem; font-weight:600; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.monitoreo-hero { min-width:0; width:100%; max-width:380px; justify-self:end; }
.monitoreo-latest-link,.monitoreo-card a { display:flex; align-items:center; gap:14px; padding:16px; border:1px solid #dedede; border-radius:11px; background:#fff; color:#333; text-decoration:none!important; transition:border-color 180ms ease,box-shadow 180ms ease,background-color 180ms ease; }
.monitoreo-latest-link { min-height:176px; gap:18px; background:#353535; border-color:#353535; padding:22px; color:#fff; box-shadow:0 4px 12px #0000000d; }
.monitoreo-card a:hover { border-color:#555; background:#fafafa; color:#222; box-shadow:inset 0 0 0 1px #777,0 4px 12px #0000000d; }
.monitoreo-latest-link:hover { background:#292929; border-color:#222; color:#fff; box-shadow:0 6px 16px #00000020; }
.monitoreo-calendar { flex:none; display:flex; flex-direction:column; width:52px; border:1px solid #ccc; border-radius:7px; overflow:hidden; background:#fff; text-align:center; font-variant-numeric:tabular-nums; }
.monitoreo-calendar-month { display:block; padding:3px 4px; background:#ececec; color:#444; font-size:.65rem; font-weight:700; line-height:1.35; letter-spacing:.04em; }
.monitoreo-calendar-day { display:block; padding:4px; color:#333; font-size:1.6rem; font-weight:600; line-height:1.25; }
.monitoreo-card-copy { display:block; flex:1 1 auto; min-width:0; overflow-wrap:anywhere; }
.monitoreo-hero-date,.monitoreo-card time { display:block; color:#333; font-size:.9rem; font-weight:600; line-height:1.45; }
.monitoreo-latest-kicker { display:block; color:#ddd; font-size:.66rem; font-weight:600; line-height:1.4; letter-spacing:.07em; text-transform:uppercase; }
.monitoreo-latest-title { display:block; margin-top:7px; color:#fff; font-size:1.22rem; font-weight:700; line-height:1.25; }
.monitoreo-hero-date { margin-top:8px; color:#e5e5e5; font-size:.88rem; font-weight:400; }
.monitoreo-latest-action { display:flex; align-items:center; gap:12px; margin-top:13px; color:#fff; font-size:.88rem; font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.monitoreo-latest-link .monitoreo-calendar { width:68px; border-color:#bbb; }
.monitoreo-latest-link .monitoreo-calendar-month { padding:5px; font-size:.7rem; }
.monitoreo-latest-link .monitoreo-calendar-day { padding:8px 5px; font-size:2.5rem; line-height:1.1; }
.monitoreo-card-name { display:block; margin-top:4px; color:#666; font-size:.8rem; line-height:1.45; }
.monitoreo-card-arrow { flex:none; color:#777; font-size:1.2rem; }
.monitoreo-card a:hover .monitoreo-card-arrow { color:#222; }
.monitoreo-explorer { border-top:1px solid #dedede; padding:20px 0 0; }
.monitoreo-toolbar { display:grid; grid-template-columns:320px minmax(0,1fr); align-items:end; gap:24px; margin-bottom:16px; }
.monitoreo-control-label { display:block; margin:0 0 6px; color:#555; font-size:.82rem; font-weight:600; line-height:1.4; }
.monitoreo-years-control,.monitoreo-years-window { min-width:0; }
.monitoreo-years { display:flex; align-items:center; flex-wrap:wrap; gap:6px; min-width:0; }
.monitoreo-years-list { display:flex; flex-wrap:wrap; gap:6px; min-width:0; }
.monitoreo-years.is-enhanced { display:grid; grid-template-columns:30px minmax(0,1fr) 30px auto; gap:6px; }
.monitoreo-years.is-enhanced .monitoreo-years-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.monitoreo-pill { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:8px 13px; border:1px solid #d7d7d7; border-radius:22px; background:#fff; color:#444; font-size:.85rem; line-height:1.25; white-space:nowrap; text-decoration:none!important; transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease; }
a.monitoreo-pill:hover { background:#f3f3f3; border-color:#777; color:#222; }
.monitoreo-pill.is-selected,.monitoreo-pill.is-selected:hover { background:#353535; border-color:#353535; color:#fff; font-weight:600; }
.monitoreo-year-pill,.monitoreo-year-all { min-height:44px; padding:9px 8px; font-size:.85rem; }
.monitoreo-year-arrow { display:inline-flex; align-items:center; justify-content:center; width:30px; min-height:44px; padding:0; border:1px solid #dedede; border-radius:7px; background:#fff; color:#444; font-size:1.45rem; line-height:1; cursor:pointer; }
.monitoreo-year-arrow:hover:not(:disabled) { border-color:#888; background:#f3f3f3; }
.monitoreo-year-arrow:disabled { color:#aaa; background:#fafafa; cursor:default; }
.monitoreo-search { min-width:0; margin:0; }
.monitoreo-search-row { display:flex; align-items:center; gap:8px; min-width:0; }
.monitoreo-search .form-control { flex:1 1 auto; width:0; min-width:0; height:44px; min-height:44px; border-color:#d5d5d5; border-radius:7px; background:#fafafa; font-size:.9rem; }
.monitoreo-public .monitoreo-search .form-control:focus { border-color:#777; background:#fff; box-shadow:0 0 0 3px #5555551a; }
.monitoreo-public .monitoreo-button,.monitoreo-public .monitoreo-button-secondary { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 16px; border:1px solid #353535; border-radius:7px; background:#353535; color:#fff; font-size:.9rem; font-weight:500; text-decoration:none; white-space:nowrap; transition:background-color 180ms ease,border-color 180ms ease; }
.monitoreo-public .monitoreo-button:hover { background:#222; border-color:#222; color:#fff; }
.monitoreo-public .monitoreo-button-secondary { background:#fff; border-color:#ccc; color:#555; padding:10px 12px; }
.monitoreo-public .monitoreo-button-secondary:hover { background:#f3f3f3; border-color:#777; color:#222; }
.monitoreo-months-nav { padding-bottom:16px; border-bottom:1px solid #e3e3e3; }
.monitoreo-months { display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:0; padding:0; }
.monitoreo-search-note { margin:0 0 14px; color:#666; font-size:.83rem; line-height:1.5; }
.monitoreo-results { margin:18px 0 20px; color:#666; font-size:.87rem; }
.monitoreo-results strong { color:#444; font-weight:600; }
.monitoreo-public .alert-info,.monitoreo-public .alert-warning,.monitoreo-empty { background:#f5f5f5; border:1px solid #dedede; color:#555; }
.monitoreo-empty { padding:18px; margin-top:18px; border-radius:8px; font-size:.9rem; line-height:1.6; }
.monitoreo-empty p { margin:0; }
.monitoreo-empty a { display:inline-block; margin-top:10px; color:#333; text-decoration:underline; text-underline-offset:3px; }
.monitoreo-empty a:hover { color:#111; }
.monitoreo-month-group { margin-bottom:28px; }
.monitoreo-month-group:last-child { margin-bottom:0; }
.monitoreo-month-title { margin:0 0 14px; padding-bottom:10px; border-bottom:1px solid #e0e0e0; color:#333; font-size:1.15rem; font-weight:600; }
.monitoreo-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.monitoreo-card { min-width:0; margin:0; }
.monitoreo-card a { min-height:100px; height:100%; }
.monitoreo-card.is-latest a { background:#f6f6f6; border-color:#bbb; }
.monitoreo-card.is-latest a:hover { border-color:#555; background:#fafafa; }
.monitoreo-public .monitoreo-button:focus-visible,.monitoreo-public .monitoreo-button-secondary:focus-visible,.monitoreo-pill:focus-visible,.monitoreo-year-arrow:focus-visible,.monitoreo-card a:focus-visible,.monitoreo-latest-link:focus-visible,.monitoreo-intro-toggle:focus-visible,.monitoreo-empty a:focus-visible { outline:2px solid #444; outline-offset:3px; box-shadow:0 0 0 4px #55555512; }
@media(min-width:768px) {
  .monitoreo-hero { margin-top:34px; }
}
@media(min-width:1200px) {
  .monitoreo-card a { gap:10px; padding:12px; }
}
@media(min-width:1400px) {
  .monitoreo-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
}
@media(min-width:768px) and (max-width:1199.98px) {
  .monitoreo-intro { grid-template-columns:minmax(0,1fr) 340px; gap:24px; }
  .monitoreo-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(min-width:768px) and (max-width:991.98px) {
  .monitoreo-toolbar { grid-template-columns:300px minmax(0,1fr); gap:18px; }
  .monitoreo-description { font-size:.9rem; line-height:1.65; }
  .monitoreo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:767.98px) {
  .monitoreo-intro { grid-template-columns:minmax(0,1fr); gap:16px; padding:0 0 20px; }
  .monitoreo-description { font-size:.9rem; line-height:1.7; text-align:left; }
  .monitoreo-description-wrap.is-collapsed .monitoreo-description { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
  .monitoreo-hero { max-width:none; justify-self:stretch; }
  .monitoreo-latest-link { min-height:160px; padding:20px; }
  .monitoreo-explorer { padding-top:18px; }
  .monitoreo-toolbar { grid-template-columns:minmax(0,1fr); gap:14px; }
  .monitoreo-years { width:100%; }
  .monitoreo-search-row { flex-wrap:wrap; }
  .monitoreo-search .form-control { flex:1 1 120px; }
  .monitoreo-pill { min-height:44px; }
  .monitoreo-months { gap:7px; }
  .monitoreo-results { margin:16px 0 18px; }
  .monitoreo-grid { grid-template-columns:minmax(0,1fr); gap:10px; }
  .monitoreo-card a { min-height:94px; }
}
@media(max-width:359.98px) {
  .monitoreo-latest-link { gap:14px; padding:16px; }
  .monitoreo-latest-title { font-size:1.08rem; }
  .monitoreo-latest-link .monitoreo-calendar { width:58px; }
  .monitoreo-years.is-enhanced { grid-template-columns:28px minmax(0,1fr) 28px auto; gap:4px; }
  .monitoreo-year-arrow { width:28px; }
  .monitoreo-years.is-enhanced .monitoreo-years-list { gap:4px; }
  .monitoreo-year-pill,.monitoreo-year-all { padding:9px 5px; font-size:.8rem; }
}
@media(prefers-reduced-motion:reduce) {
  .monitoreo-pill,.monitoreo-card a,.monitoreo-latest-link,.monitoreo-public .monitoreo-button,.monitoreo-public .monitoreo-button-secondary { transition:none; }
}
