.calendar-connect{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;background:linear-gradient(120deg,#edf4ee,#fff9ef);padding:22px!important}.calendar-connect h2{font-size:1.3rem;margin:6px 0}.calendar-connect p{margin:4px 0}.google-settings{flex:0 1 320px;position:relative}.google-settings>summary{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer}.calendar-pill{font-size:.7rem;padding:5px 8px;border-radius:20px;background:#fff}.google-settings-body{padding:16px;background:#fff;border:1px solid #d5dfdc;border-radius:14px;margin-top:8px}.google-settings-body p{margin:8px 0}.google-connect-button{display:inline-flex;gap:8px;align-items:center}.calendar-sync-line{width:100%;display:flex;gap:8px;align-items:center;flex-wrap:wrap;border-top:1px solid #d5dfdc;padding-top:10px;font-size:.8rem}.calendar-sync-line>span{flex:1 1 220px}.calendar-sync-line form{display:none}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:18px;align-items:start;margin:18px 0}.month-panel,.calendar-day-panel{min-width:0;padding:22px!important}.month-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:18px}.month-heading h2{font-size:1.4rem;margin:0}.month-heading h2 span{font-weight:400;color:#5f7280}.month-heading nav{display:flex;gap:4px}.month-heading .quiet{display:inline-flex;align-items:center;justify-content:center;min-width:44px;padding:6px 10px}.month-grid{table-layout:fixed;width:100%;border-collapse:separate;border-spacing:3px}.month-grid th{font-weight:500;color:#526b77;font-size:.7rem;text-align:center;padding:6px 0}.month-grid td{padding:0;text-align:center}.calendar-day{position:relative;min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;color:#123345;border-radius:12px;font-size:.95rem}.calendar-day:hover{background:#f4efe5}.calendar-day:focus-visible{outline:3px solid #bc4d13;outline-offset:1px}.calendar-day.selected{background:#123345;color:white;box-shadow:0 4px 10px #12334520}.calendar-day.is-today:not(.selected){background:#f7e6d2;font-weight:700}.calendar-day.outside{color:#5d727b;background:#f4f5f3}.calendar-dots{height:5px;display:flex;gap:3px}.calendar-dots i,.calendar-key i{width:5px;height:5px;display:inline-block;border-radius:50%}.dot-event{background:#c55724}.dot-class{background:#39857d}.dot-task{background:#8665ad}.selected .calendar-dots i{background:#fff}.calendar-key{display:flex;gap:16px;justify-content:center;font-size:.72rem;margin:14px 0 0;color:#536b78}.calendar-key span{display:flex;gap:5px;align-items:center}.calendar-day-panel>h2{margin:6px 0 18px}.add-calendar-event>summary{display:flex;align-items:center;justify-content:center;min-height:44px;background:#c04d15;color:white;border-radius:12px;cursor:pointer;font-weight:600}.calendar-form{margin-top:18px}.calendar-form .field{min-width:0}.calendar-form input{max-width:100%;box-sizing:border-box;min-width:0}.calendar-empty{text-align:center;padding:34px 0}.calendar-empty>span{display:block;color:#c47229;font-size:2.5rem}.calendar-empty h3{font-size:1rem}.calendar-empty p{font-size:.85rem;color:#526b77}.calendar-agenda-item{display:flex;justify-content:space-between;align-items:start;gap:12px;padding:18px 0;border-top:1px solid #e3e9e5}.calendar-agenda-item:first-of-type{margin-top:20px}.calendar-agenda-item h3{margin:6px 0;font-size:1rem;overflow-wrap:anywhere}.calendar-agenda-item p{margin:4px 0;font-size:.8rem;overflow-wrap:anywhere}.calendar-agenda-item>div{min-width:0;flex:1}.calendar-agenda-item summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:.8rem}.calendar-agenda-item details{max-width:48%}.calendar-conflicts article{border-top:1px solid #ddd;padding:16px 0}.calendar-conflicts p{overflow-wrap:anywhere}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}@media(max-width:760px){.calendar-layout{grid-template-columns:1fr;gap:12px}.google-settings{flex-basis:100%}.calendar-connect{padding:18px!important}.month-panel,.calendar-day-panel{padding:14px!important}.month-grid{border-spacing:1px}.calendar-day{min-height:46px}.month-heading{margin-bottom:8px}.calendar-day-panel .form-pair{grid-template-columns:1fr 1fr;gap:8px}.calendar-day-panel input{font-size:16px}.month-heading h2{font-size:1.25rem}}
