:root{--navy:#102b4e;--blue:#1f5a91;--gold:#d8a91e;--ink:#172233;--muted:#607080;--soft:#f3f7fa;--line:#dbe5ed}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--soft);font-family:Arial,sans-serif}header{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px max(4vw,20px);background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;color:inherit;text-decoration:none}.brand img{width:54px;height:54px;object-fit:contain}.brand span strong,.brand span small{display:block}.brand strong{color:var(--navy)}.brand small{margin-top:4px;color:var(--muted);font-size:11px}.back{color:var(--blue);font-size:13px;font-weight:700;text-decoration:none}main{max-width:1280px;margin:auto;padding:55px max(4vw,20px) 80px}.calendar-title{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:32px}.calendar-title p{margin:0;color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.15em}.calendar-title h1{margin:8px 0;color:var(--navy);font:clamp(42px,6vw,70px)/1 Georgia,serif}.calendar-title span{color:var(--muted);font-size:14px;text-transform:capitalize}.calendar-title nav{display:flex;gap:8px}.calendar-title button{height:43px;padding:0 16px;color:var(--navy);background:#fff;border:1px solid #bdccd8;border-radius:8px;font-weight:800;cursor:pointer}.calendar-title button:hover{border-color:var(--blue)}.week{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:stretch}.day{position:relative;min-height:330px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 22px #102b4e0a}.day.is-today{grid-column:span 2;transform:translateY(-8px);border:2px solid var(--gold);box-shadow:0 18px 40px #102b4e1c}.day-head span{display:block;color:var(--blue);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.day-head strong{display:block;margin:8px 0 0;color:var(--navy);font:46px/1 Georgia,serif}.day-head small{display:block;margin-top:4px;color:var(--muted);font-size:11px;text-transform:capitalize}.day-events{display:grid;gap:9px;margin-top:28px}.day-events>p{margin:0;color:#8a98a5;font-size:12px;line-height:1.5}.event{padding:12px;color:#fff;background:var(--blue);border-radius:9px}.event.bonus{color:var(--navy);background:#f4d66c}.event b,.event span{display:block}.event b{font-size:9px;letter-spacing:.1em}.event span{margin-top:5px;font-size:12px;font-weight:700;line-height:1.35}.day em{position:absolute;right:16px;top:16px;padding:6px 8px;color:var(--navy);background:var(--gold);border-radius:5px;font-size:9px;font-style:normal;font-weight:900;letter-spacing:.1em}.calendar-note{display:flex;align-items:center;gap:18px;margin-top:25px;padding:18px 20px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:12px;font-size:12px;line-height:1.5}.calendar-note strong{flex:none;color:var(--navy)}footer{display:flex;align-items:center;gap:15px;padding:30px max(4vw,20px);color:#dce9f3;background:#0a213d;font-size:12px}footer img{width:50px}footer small{margin-left:auto;color:#91abc1}@media(max-width:950px){.week{grid-template-columns:repeat(2,minmax(0,1fr))}.day.is-today{grid-column:span 2}}@media(max-width:620px){header{align-items:flex-start}.brand img{width:44px;height:44px}.brand strong{font-size:12px}.brand small{font-size:9px}.back{font-size:0}.back:after{content:"← Inicio";font-size:12px}.calendar-title{align-items:flex-start;flex-direction:column}.week{grid-template-columns:1fr}.day,.day.is-today{grid-column:auto;min-height:225px;transform:none}.calendar-note{align-items:flex-start;flex-direction:column}footer small{display:none}}
.day.is-today{grid-column:auto;min-height:370px;transform:translateY(-8px) scale(1.025);z-index:1}
.day.is-today{grid-column:auto;min-height:370px;transform:translateY(-8px) scale(1.025);z-index:1}@media(max-width:950px){.day.is-today{grid-column:span 2}}@media(max-width:620px){.day.is-today{grid-column:auto;min-height:245px;transform:none}}
.event.academic{background:#315f83}.event.assessment{background:#70579b}.event.holiday{background:#a64545}.event.math{color:#102b4e;background:#8bd1c5}.event.payment{background:#1f5a91}.event b{white-space:normal;line-height:1.25}
