.cal-main{padding-top:clamp(1.3rem,3vw,3rem);padding-bottom:4rem;color:#102a3e}.cal-intro{max-width:850px}.cal-intro h1{font-size:clamp(1.65rem,3vw,2.6rem);line-height:1.45;margin:.4rem 0}.cal-intro p{font-size:1.05rem;line-height:1.9}.cal-info{background:#eaf6f1;border-right:4px solid #187a68;padding:1rem 1.2rem;border-radius:12px;margin:1.4rem 0 2rem;line-height:1.9}.cal-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;align-items:end;margin:0 0 1rem}.cal-controls label{font-size:.94rem;font-weight:700;display:grid;gap:.4rem}.cal-controls input,.cal-controls select,.cal-controls button{font:inherit;min-height:48px;border:1px solid #c4d3dc;background:#fff;color:#102a3e;padding:.55rem .75rem;border-radius:10px;width:100%}.cal-controls button{width:auto;cursor:pointer;background:#122e42;color:white;border-color:#122e42;white-space:nowrap}.cal-controls :is(input,select,button):focus-visible,.cal-source:focus-visible{outline:3px solid #43bba3;outline-offset:2px}#cal-count{font-size:.95rem;font-weight:700;margin:1rem 0}.cal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.cal-card{border:1px solid #d7e3e8;border-radius:17px;padding:1.25rem;background:#fff;box-shadow:0 8px 22px #0a2e4710;line-height:1.85}.cal-card[hidden],#cal-empty[hidden]{display:none!important}.cal-card-top{display:flex;justify-content:space-between;align-items:center;gap:.8rem}.cal-state{display:inline-block;padding:.18rem .65rem;border-radius:999px;font-size:.85rem;font-weight:800;background:#eff3f6}.cal-card[data-status="open"] .cal-state{background:#d5f5e7;color:#07583b}.cal-card[data-status="upcoming"] .cal-state{background:#dceefb;color:#154873}.cal-card[data-status="registration"] .cal-state{background:#fff0d0;color:#714406}.cal-card[data-status="closed"] .cal-state{background:#f0f0f0;color:#555}.cal-city,.cal-meta{color:#4b6071;font-size:.88rem}.cal-card h2{font-size:1.35rem;line-height:1.5;margin:.8rem 0 .1rem}.cal-process{font-weight:700;margin:.1rem 0 .8rem}.cal-dates{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:.8rem 0 1rem}.cal-dates div{background:#f3f8f9;border-radius:9px;padding:.55rem}.cal-dates dt{font-size:.84rem;color:#4b6071}.cal-dates dd{margin:0;font-size:.93rem;font-weight:700;direction:ltr;text-align:right}.cal-card p{margin:.4rem 0;font-size:.97rem}.cal-note{padding:.7rem .8rem;background:#f8fafb;border-radius:9px}.cal-source{display:inline-block;margin-top:.5rem;font-weight:700;color:#086c59;text-decoration:underline;text-underline-offset:3px}.cal-guide{max-width:920px;margin:2rem 0;line-height:2}.cal-guide h2{font-size:1.4rem}.cal-guide a{color:#086c59;text-decoration:underline}#cal-empty{padding:2rem;text-align:center;background:#f3f8f9;border-radius:12px}@media(max-width:1100px){.cal-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.cal-controls button{width:100%}}@media(max-width:720px){.cal-controls,.cal-grid{grid-template-columns:1fr}.cal-card{padding:1rem}.cal-dates{gap:.35rem}.cal-dates div{padding:.4rem}.cal-dates dd{font-size:.8rem}.cal-info{font-size:.95rem}}
.cal-table-wrap{overflow-x:auto;border:1px solid #d7e3e8;border-radius:14px;background:#fff}.cal-table{width:100%;border-collapse:collapse;min-width:780px;font-size:.92rem}.cal-table caption{font-size:.85rem;padding:.5rem;text-align:right;color:#526472}.cal-table thead{background:#122e42;color:#fff}.cal-table th,.cal-table td{padding:.8rem .65rem;border-bottom:1px solid #d7e3e8;text-align:right;vertical-align:middle}.cal-table tbody tr:nth-child(even){background:#f0f6fa}.cal-table tbody tr:hover{background:#e6f4f0}.cal-table th[scope=row]{font-weight:800;white-space:nowrap}.cal-table th small{display:block;color:#526472;font-size:.8rem;font-weight:400}.cal-table time{direction:ltr;display:inline-block;white-space:nowrap;font-variant-numeric:tabular-nums}.cal-table .cal-more{display:inline-block;color:#075e50;font-weight:700;white-space:nowrap;margin:.15rem;text-decoration:underline}.cal-entry[hidden]{display:none!important}.cal-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.25rem}.cal-card{scroll-margin-top:1.5rem}.cal-card:target{outline:3px solid #43bba3}@media(max-width:720px){.cal-table-wrap{display:none}.cal-grid{display:grid;grid-template-columns:1fr;margin-top:0}}

.cal-entry[data-status="review"] .cal-state{background:#fff0d0;color:#714406}.cal-card h2 a,.cal-table th a{color:inherit;text-decoration:underline;text-underline-offset:4px}
