*{box-sizing:border-box}body{margin:0;background:#f2f7fb;color:#17324f;font-family:system-ui,sans-serif}main{max-width:1100px;margin:auto;padding:28px 20px}.back{color:#247da4;text-decoration:none;font-weight:600}header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 0}h1{font-size:clamp(1.8rem,4vw,2.6rem);margin:5px 0}header p{color:#657887;margin-bottom:0}.eyebrow{font-size:.75rem;font-weight:750;letter-spacing:.12em;color:#247da4}.calendar-card{background:white;border:1px solid #dce8ef;border-radius:20px;padding:24px;box-shadow:0 10px 32px #17324f08}.toolbar,.month-controls,.view-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.toolbar{justify-content:space-between}button,input{font:inherit;border:1px solid #c8dbe5;border-radius:10px;padding:10px 13px;background:white;color:#17324f}button{cursor:pointer}button:hover{background:#edf6fa}button:focus-visible,input:focus-visible{outline:3px solid #247da4;outline-offset:2px}button[aria-pressed=true]{background:#247da4;color:white;border-color:#247da4}.month-controls label{display:flex;gap:8px;align-items:center;font-size:.9rem}h2{margin:24px 0 16px}.weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekdays div{padding:12px;text-align:center;font-size:.8rem;font-weight:700;color:#657887}.day{min-height:115px;border-top:1px solid #e4edf2;border-left:1px solid #e4edf2;padding:8px;min-width:0}.day:nth-child(7n){border-right:1px solid #e4edf2}.day.outside{background:#f8fafc;color:#9baab5}.day-number{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;font-size:.85rem;margin-bottom:5px}.day.is-today .day-number{background:#247da4;color:white;border-radius:50%}.day-event{display:block;width:100%;text-align:left;font-size:.75rem;padding:6px;margin:3px 0;background:#eaf5fa;border:0;border-left:3px solid #247da4;border-radius:5px;overflow-wrap:anywhere}.day-event span{display:block;font-weight:700}.agenda-item{display:grid;grid-template-columns:90px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid #e4edf2}.agenda-date{background:#eaf5fa;padding:12px;border-radius:12px;text-align:center;color:#247da4}.agenda-date b{display:block;font-size:1.5rem}.agenda-item h3{margin:0 0 8px}.agenda-item p{margin:6px 0;color:#657887}.event-open{padding:0;border:0;color:#17324f;text-align:left;font-weight:700}.empty{padding:30px;background:#f8fafc;border-radius:12px;color:#657887}dialog{max-width:520px;width:calc(100% - 28px);border:1px solid #dce8ef;border-radius:20px;padding:28px;color:#17324f}dialog::backdrop{background:#17324f66}.close{float:right}#eventDescription{white-space:pre-wrap;overflow-wrap:anywhere}[hidden]{display:none!important}@media(max-width:650px){main{padding:18px 12px}.calendar-card{padding:14px}.toolbar{gap:16px}.month-controls{gap:5px}.month-controls label{display:block}.month-controls input{display:block;padding:8px;max-width:165px}.month-controls button{padding:8px 11px}.day{min-height:84px;padding:3px}.day-number{width:23px;height:23px}.day-event{font-size:.65rem;padding:4px 3px;border-left-width:2px}.weekdays div{padding:9px 0}.agenda-item{grid-template-columns:70px 1fr;gap:12px}header img{width:44px;height:44px}}
