.calendar-tools{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0;flex-wrap:wrap}.year-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px;background:#fff}.year-table{width:100%;border-collapse:collapse;min-width:900px}.year-table th,.year-table td{padding:.75rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.year-table thead th{position:sticky;top:74px;z-index:3;background:var(--wine);color:#fff}.year-table .month-row th{background:var(--soft);color:var(--wine);font-family:Georgia,serif;font-size:1.3rem}.year-table tr.has-conflict td:first-child{border-left:4px solid #c1272d}.calendar-event-name{display:flex!important;align-items:center!important;gap:.5rem!important;text-decoration:none;margin-bottom:.2rem}.calendar-event-name img{width:34px!important;height:34px!important;max-width:34px!important;max-height:34px!important;object-fit:contain!important;flex:0 0 34px!important;border-radius:6px;background:transparent}.calendar-event-name strong{min-width:0;line-height:1.25}.conflict-badge{display:block;width:max-content;margin-top:.35rem;padding:.15rem .4rem;border-radius:999px;background:#ffe0e0;color:#8b1111;font-size:.72rem}.attend-check{display:block;white-space:nowrap}.calendar-link{display:inline-block;margin-top:.4rem;color:var(--wine)}.taxi-event,.taxi-form-panel{margin:1rem 0;padding:1rem;border:1px solid var(--line);border-radius:18px;background:#fff}.taxi-event h2{margin:.1rem 0}.taxi-ad-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.7rem}.taxi-ad{padding:.8rem;border-radius:12px;background:var(--soft)}.taxi-ad>span{display:block;color:var(--muted);font-size:.8rem}.taxi-links{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.taxi-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.taxi-form label{display:grid;gap:.3rem}.taxi-form input,.taxi-form select{min-height:44px;border:1px solid var(--line);border-radius:10px;padding:.55rem}.taxi-trap{position:absolute!important;left:-9999px!important}.code-page{width:min(720px,calc(100% - 2rem));margin:3rem auto}.code-page code{display:block;padding:1rem;word-break:break-all;background:var(--soft);border-radius:10px}.code-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}@media(max-width:700px){.taxi-form{grid-template-columns:1fr}.year-table thead th{top:64px}.calendar-event-name img{width:30px!important;height:30px!important;max-width:30px!important;max-height:30px!important;flex-basis:30px!important}}
