.cal-page{--surface:#fff;--wash:#f2f7fc;--border:#dce7f1;background:var(--wash);padding-bottom:42px}.cal-hero{background:linear-gradient(112deg,#082d4e,#104d7a);color:white;position:relative;overflow:hidden;padding:32px max(30px,calc((100% - 1320px)/2))}.cal-hero:after{content:'';position:absolute;right:8%;top:-180px;width:230px;height:460px;border:44px solid #5fc1ed30;border-radius:50%;transform:rotate(36deg);pointer-events:none}.cal-kicker{font-size:14px;font-weight:700;letter-spacing:3px;color:#b9e3ff}.cal-hero h1{font-size:clamp(28px,3vw,44px);margin:7px 0 10px}.cal-hero p{margin:0;color:#d2e9f8}.cal-wrap{max-width:1440px;margin:auto;padding:0 30px}.breadcrumb{font-size:14px;color:var(--muted);padding:20px 0;margin:0}.breadcrumb a{color:var(--ink);margin-right:10px}.cal-panel{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:24px;box-shadow:0 12px 35px #153b6310}.cal-filters{display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1fr;gap:14px;margin-bottom:26px}.cal-filters label{display:grid;gap:7px;font-size:14px;font-weight:700;min-width:0}.cal-filters input,.cal-filters select,.jump-label select{font:inherit;background:var(--surface);color:var(--ink);border:1px solid var(--border);border-radius:8px;min-height:44px;padding:10px;width:100%;min-width:0}.cal-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:26px}.cal-main{min-width:0}.cal-toolbar,.month-controls,.view-switch{display:flex;align-items:center;gap:8px}.cal-toolbar{justify-content:space-between;flex-wrap:wrap;margin-bottom:12px}.month-controls{flex-wrap:wrap}.cal-toolbar button{min-width:40px;min-height:42px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--ink);padding:6px 12px}.cal-toolbar h2{margin:0 5px;font-size:24px;text-transform:capitalize;white-space:nowrap}.jump-label{font-size:14px;display:flex;align-items:center;gap:5px}.jump-label select{width:180px;font-size:14px;min-height:42px}.view-switch{background:var(--wash);border-radius:9px;padding:3px;gap:0}.view-switch button{border:0;background:transparent;font-size:14px}.view-switch [aria-pressed=true]{background:#087dc4;color:white}.cal-muted{font-size:14px;color:var(--muted)}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-left:1px solid var(--border);border-top:1px solid var(--border)}.month-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.day-heading{padding:10px 3px;text-align:center;background:var(--wash);font-size:14px;font-weight:700;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.day{min-height:113px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:5px;overflow:hidden}.day.outside{background:var(--wash)}.day-number{display:inline-flex;align-items:center;justify-content:center;min-width:27px;height:27px;font-size:14px;margin-bottom:4px}.day.outside .day-number{color:var(--muted)}.day.is-today .day-number{border-radius:50%;background:#087dc4;color:white;font-weight:bold}.day-event{display:block;width:100%;padding:5px 6px;border:0;border-left:3px solid var(--event-color);background:var(--event-bg);color:var(--event-ink);border-radius:4px;text-align:left;font-size:12px;line-height:1.35;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.competencia{--event-color:#1673c9;--event-bg:#dceeff;--event-ink:#12457b}.concentracion{--event-color:#06899c;--event-bg:#d8f4f8;--event-ink:#135661}.apertura{--event-color:#16834e;--event-bg:#e1f3e7;--event-ink:#1c6039}.cierre{--event-color:#bc4535;--event-bg:#ffe7e2;--event-ink:#92372c}.festivo{--event-color:#8058b6;--event-bg:#efe7fb;--event-ink:#62408f}.cal-legend{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:20px;font-size:14px;color:var(--muted)}.cal-legend span:before{content:'';display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--event-color);margin-right:7px}.cal-side{border-left:1px solid var(--border);padding-left:24px}.cal-side h2{font-size:20px}.feature-card{margin-bottom:20px}.feature-band{height:90px;background:linear-gradient(120deg,#cbeafd,#91ccec);border-radius:12px;display:flex;align-items:center;padding:18px;font-size:17px;color:#0b4165;font-weight:700;margin-bottom:18px}.event-badge{display:inline-block;background:var(--event-bg);color:var(--event-ink);padding:4px 8px;border-radius:6px;font-size:14px}.feature-card h3{font-size:21px;overflow-wrap:anywhere}.feature-card p{font-size:14px}.feature-card button{width:100%;justify-content:center}.cal-source{border-top:1px solid var(--border);padding-top:15px}.cal-source h3{font-size:17px}.agenda-list{display:grid;gap:10px}.agenda-item{display:grid;grid-template-columns:90px minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;border:1px solid var(--border);border-left:4px solid var(--event-color);border-radius:10px;background:var(--surface);color:var(--ink);padding:16px;text-align:left}.agenda-item strong{display:block;font-size:16px;line-height:1.4}.agenda-item small{display:block;color:var(--muted);font-size:14px;margin-top:5px}.agenda-date{font-size:15px;font-weight:700}.cal-empty{padding:45px 20px;background:var(--wash);text-align:center;border-radius:10px}.cal-empty button{margin-top:8px}.cal-footer{display:flex;justify-content:space-between;padding:24px max(30px,calc((100% - 1320px)/2));font-size:14px;gap:20px;flex-wrap:wrap}.cal-footer a{font-size:22px;font-weight:800}#cal-detail{border:1px solid var(--line);border-radius:18px;padding:32px;max-width:580px;width:calc(100% - 32px);color:var(--ink)}#cal-detail::backdrop{background:#001b35aa}#close-detail{float:right;background:none;color:var(--ink);border:0;font-size:28px;min-width:44px;min-height:44px}#detail-content h2{clear:both;padding-top:15px;overflow-wrap:anywhere}nav [aria-current=page]{color:var(--blue);border-bottom:3px solid var(--blue)}[data-theme=dark] .cal-page{--surface:#132b40;--wash:#0c1b28;--border:#30495f}[data-theme=dark] .cal-panel{box-shadow:none}[data-theme=dark] .competencia{--event-bg:#183e60;--event-ink:#cce7ff}[data-theme=dark] .concentracion{--event-bg:#12434b;--event-ink:#b9eef6}[data-theme=dark] .apertura{--event-bg:#1c4434;--event-ink:#c2f0d0}[data-theme=dark] .cierre{--event-bg:#542e2e;--event-ink:#ffd6cd}[data-theme=dark] .festivo{--event-bg:#3b2d55;--event-ink:#e4d3ff}
@media(max-width:1150px){.cal-layout{grid-template-columns:minmax(0,1fr)}.cal-side{border-left:0;border-top:1px solid var(--border);padding:24px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:20px}.cal-side>h2{grid-column:1/-1;margin:0}.cal-source{border:0}.cal-filters{grid-template-columns:1fr 1fr}}@media(max-width:650px){.cal-wrap{padding:0 12px}.cal-hero{padding:26px 18px}.cal-panel{padding:14px;border-radius:14px}.cal-filters{gap:12px}.cal-toolbar h2{font-size:20px}.cal-side{display:block}.cal-toolbar{gap:12px}.day{min-height:87px;padding:2px}.day-event{font-size:12px;padding:4px 2px}.day-heading{font-size:12px}.agenda-item{grid-template-columns:65px minmax(0,1fr);padding:12px;gap:10px}.agenda-item>.event-badge{grid-column:2;justify-self:start}.agenda-date{font-size:14px}.cal-source{border-top:1px solid var(--border)}.jump-label{width:100%;margin-top:5px}.day-number{font-size:13px}.cal-legend{gap:10px;font-size:13px}.cal-footer{padding:24px 18px}.cal-hero:after{right:-100px}.cal-filters select{font-size:14px}}
