/* Month-first calendar; colors follow each person's existing theme. */
.calendar-redesign{--cal-blue:#568fff;--cal-pink:#ef7fa9;--cal-together:#a875e9;color:var(--privacy-text);padding-top:10px}
.cal-page-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:8px 0 25px;padding:0}.cal-page-heading h2{font-size:clamp(34px,7vw,46px);line-height:1.1;letter-spacing:-1.7px;margin:0 0 10px}.cal-page-heading p{font-size:15px;line-height:1.55;margin:0;color:var(--privacy-muted)}
.calendar-redesign .cal-add-button{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border:1px solid var(--privacy-border);border-radius:50%;padding:0;font-size:30px;line-height:1;background:color-mix(in srgb,var(--privacy-accent) 10%,var(--privacy-surface));color:var(--privacy-text);box-shadow:0 5px 14px var(--glass-shadow)}
.calendar-redesign .cal-month-card{padding:22px!important;border:1px solid color-mix(in srgb,var(--privacy-border) 45%,transparent);border-radius:27px;overflow:visible;margin:0 0 28px;box-shadow:0 12px 36px var(--glass-shadow)}
.cal-month-heading{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;margin:0 0 20px}.cal-month-heading #calMonth{text-align:center;font-size:22px;letter-spacing:-.6px;margin:0;font-weight:650}.cal-month-heading .calendar-controls{display:flex;gap:8px;align-items:center;flex-wrap:nowrap}.cal-month-heading button{border:1px solid color-mix(in srgb,var(--privacy-border) 45%,transparent);min-height:40px;min-width:40px;font-size:12px;border-radius:14px;padding:9px 12px}.cal-month-heading button.cal-arrow{font-size:25px;padding:0;width:40px}
.calendar-redesign .cal-week{margin:0 0 8px;padding:0 0 12px;border-bottom:1px solid color-mix(in srgb,var(--privacy-border) 20%,transparent);font-size:12px;font-weight:600;color:var(--privacy-muted)}
.calendar-redesign .cal-grid,.calendar-redesign .cal-week{gap:5px;grid-template-columns:repeat(7,minmax(0,1fr))}
.calendar-redesign .cal-cell .cal-day{align-items:center;justify-content:center;min-height:68px;padding:7px 3px;gap:6px;text-align:center;border:1px solid transparent;border-radius:18px;background:transparent;color:var(--privacy-text);box-shadow:none;transition:background .15s}.calendar-redesign .cal-day>strong{font-size:17px;font-weight:500;line-height:1.25}.calendar-redesign .cal-outside{opacity:.45}.calendar-redesign .cal-today>strong{text-decoration:none;font-weight:800}.calendar-redesign .cal-today:not(.cal-picked){border-color:var(--privacy-accent)}.calendar-redesign .cal-picked{outline:none;box-shadow:0 3px 12px var(--glass-shadow)}
.calendar-redesign .cal-day-lanes{display:flex;align-items:center;justify-content:center;width:auto;flex:none;gap:3px;min-height:8px}.calendar-redesign .cal-day-lane{display:flex;align-items:center;flex-direction:row;padding:0;gap:2px;border:0!important}.calendar-redesign .cal-day-lane:empty{display:none}.calendar-redesign .cal-event-chip{display:block;width:6px;height:6px;min-height:6px;padding:0;border-radius:50%;box-shadow:none;background:var(--cal-together);border:0}.calendar-redesign .cal-lane-blue .cal-event-chip{background:var(--cal-blue)}.calendar-redesign .cal-lane-pink .cal-event-chip{background:var(--cal-pink)}.calendar-redesign .cal-event-title,.calendar-redesign .cal-event-dot{display:none}.calendar-redesign .cal-event-more{font-size:8px;line-height:8px}.calendar-redesign #calGrid .cal-quick-trigger{width:20px;min-height:20px;height:20px;line-height:20px;right:0;top:0;padding:0;font-size:13px;border-radius:7px}
.cal-month-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;margin-top:18px;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--privacy-border) 20%,transparent)}.calendar-redesign .cal-legend{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;gap:8px 15px;margin:0;font-size:11px}.calendar-redesign .cal-legend>span{justify-content:flex-start;gap:6px}.calendar-redesign .cal-color{width:9px;height:9px;border-radius:50%;border:0}.calendar-redesign .cal-color-blue{background:var(--cal-blue)}.calendar-redesign .cal-color-pink{background:var(--cal-pink)}.calendar-redesign .cal-color-together{background:var(--cal-together)}
.cal-view-settings{margin-top:14px}.cal-view-settings>summary{cursor:pointer;min-height:36px;line-height:36px;color:var(--privacy-muted);font-size:11px}.cal-options-body{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:9px}.cal-options-body label{font-size:12px}.calendar-redesign .cal-side-setting{max-width:none}.cal-options-body select{font-size:13px;padding:9px;margin:6px 0}.cal-view-settings .hint{font-size:12px;line-height:1.6}
#calSyncDock:has(.google-calendar-panel[open]){grid-column:1/-1}.calendar-redesign .google-calendar-panel{margin:0;padding:0;border:0;background:transparent;color:var(--privacy-text);max-width:100%}.gcal-compact-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;min-height:42px;border:1px solid color-mix(in srgb,var(--privacy-border) 35%,transparent);border-radius:14px;padding:8px 11px;font-size:11px;list-style:none}.gcal-compact-summary::-webkit-details-marker{display:none}.gcal-compact-summary>span:first-child{display:flex;gap:7px;align-items:center;white-space:nowrap}.gcal-compact-summary>span:first-child>span{font-size:19px}.gcal-compact-summary #gcalCompactState{font-size:10px;color:var(--privacy-muted);display:flex;align-items:center;gap:5px}.gcal-compact-summary #gcalCompactState::before{content:'';height:6px;width:6px;background:var(--privacy-muted);border-radius:50%;flex-shrink:0}.gcal-compact-summary #gcalCompactState[data-connected=true]::before{background:#3b9c73}.gcal-details-content{padding-top:18px;font-size:13px;line-height:1.6}.gcal-details-content h3{font-size:18px}.gcal-details-content h4{font-size:15px}.gcal-details-content .row{align-items:start}.gcal-details-content .feature-actions{display:flex;gap:8px;flex-wrap:wrap}.gcal-details-content button{min-height:44px;font-size:12px}.gcal-details-content .cal-check{font-size:12px}
.cal-selected-heading{margin:0 0 18px}.cal-selected-heading h3{font-size:24px;letter-spacing:-.5px;line-height:1.3;margin:0 0 7px}.cal-selected-heading p{margin:0;color:var(--privacy-muted);font-size:14px}
.calendar-redesign .cal-agenda-event{display:grid;grid-template-columns:46px minmax(0,1fr);gap:14px;position:relative;overflow:hidden;padding:18px;margin:12px 0;border:1px solid color-mix(in srgb,var(--privacy-border) 25%,transparent);border-left:5px solid var(--cal-together);border-radius:19px;background:color-mix(in srgb,var(--privacy-surface) 94%,var(--privacy-accent));box-shadow:0 5px 18px var(--glass-shadow)}.calendar-redesign .cal-agenda-blue{border-left-color:var(--cal-blue)}.calendar-redesign .cal-agenda-pink{border-left-color:var(--cal-pink)}.cal-event-icon{display:grid;place-items:center;align-self:start;width:46px;height:46px;border-radius:14px;font-size:22px;background:color-mix(in srgb,var(--cal-together) 14%,var(--privacy-surface));color:var(--privacy-text)}.cal-agenda-blue .cal-event-icon{background:color-mix(in srgb,var(--cal-blue) 14%,var(--privacy-surface))}.cal-agenda-pink .cal-event-icon{background:color-mix(in srgb,var(--cal-pink) 14%,var(--privacy-surface))}.cal-event-content{min-width:0}.cal-event-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.cal-event-topline h3{font-size:17px;font-weight:650;letter-spacing:-.25px;line-height:1.35;overflow-wrap:anywhere;margin:0 0 7px}.cal-event-topline .tag{max-width:110px;flex-shrink:0;overflow-wrap:anywhere;font-size:10px;font-weight:600;border:1px solid color-mix(in srgb,var(--privacy-border) 25%,transparent);background:var(--privacy-surface);color:var(--privacy-text);padding:5px 8px}.cal-event-time{font-size:13px;margin:0;line-height:1.5;color:var(--privacy-muted)}.cal-event-location{font-size:11px;line-height:1.5;margin:7px 0 0}.cal-event-tools{display:flex;gap:4px 12px;flex-wrap:wrap;align-items:center;margin-top:8px}.cal-event-tools>button{padding:4px 0;min-height:36px;font-size:11px}.cal-event-tools>.hint{font-size:10px}.cal-empty-day{padding:24px;text-align:center;border:1px dashed color-mix(in srgb,var(--privacy-border) 55%,transparent);border-radius:19px;color:var(--privacy-text);font-size:14px;line-height:1.6}.cal-empty-day>span{display:block;font-size:28px;margin-bottom:7px;color:var(--privacy-accent)}.cal-empty-day>small{display:block;font-size:12px;margin-top:7px;color:var(--privacy-muted)}
.calendar-redesign .cal-editor{padding:18px 22px!important;border-radius:21px;margin:24px 0}.cal-editor>summary{font-size:15px;font-weight:650;cursor:pointer;line-height:28px}.cal-editor[open]>summary{margin-bottom:20px}.cal-editor form>label{font-size:13px}.cal-editor .form-grid label{font-size:13px}
@media(hover:hover){.calendar-redesign .cal-day:hover:not(.cal-picked){background:color-mix(in srgb,var(--privacy-accent) 9%,transparent)}}
@media(hover:none){.calendar-redesign #calGrid .cal-quick-trigger{opacity:0;pointer-events:none}.calendar-redesign #calGrid .cal-cell:focus-within .cal-quick-trigger{opacity:1;pointer-events:auto}}
@media(max-width:520px){.calendar-redesign .cal-month-card{padding:17px!important}.calendar-redesign .cal-cell .cal-day{min-height:57px;border-radius:16px}.calendar-redesign .cal-day>strong{font-size:16px}.calendar-redesign .cal-grid,.calendar-redesign .cal-week{gap:3px}.cal-month-heading{grid-template-columns:32px minmax(0,1fr) auto;gap:6px}.cal-month-heading #calMonth{font-size:18px}.cal-month-heading button{min-height:34px;min-width:32px;padding:7px 9px;border-radius:12px}.cal-month-heading button.cal-arrow{width:32px;font-size:22px}.cal-month-heading .calendar-controls{gap:5px}.cal-month-footer{grid-template-columns:1fr;gap:12px}.calendar-redesign .cal-legend{justify-content:center;gap:10px 20px}.cal-page-heading{margin-bottom:20px}.cal-page-heading p{font-size:13px}.cal-selected-heading h3{font-size:22px}.calendar-redesign .cal-agenda-event{padding:14px;gap:10px;grid-template-columns:40px minmax(0,1fr)}.cal-event-icon{width:40px;height:40px;font-size:20px}.cal-event-topline{gap:7px;flex-wrap:wrap}.cal-event-topline h3{font-size:16px;margin:0}.cal-event-topline .tag{font-size:9px;max-width:100%}.cal-event-time{margin-top:7px}.calendar-redesign .cal-editor{padding:16px!important}}
@media(max-width:350px){.cal-month-heading #calMonth{font-size:15px}.cal-month-heading button{font-size:11px}.cal-options-body{grid-template-columns:1fr}.calendar-redesign .cal-month-card{padding:12px!important}}
@media(prefers-reduced-motion:reduce){.calendar-redesign .cal-day{transition:none}}

.cal-header-actions{display:flex;align-items:center;gap:10px}.cal-header-actions #calRefresh{min-height:44px;border:1px solid var(--privacy-border);border-radius:14px;background:var(--privacy-surface);color:var(--privacy-text);font-size:13px;padding:10px 14px}.cal-refresh-status{margin:-10px 0 18px;min-height:18px}.cal-header-actions #calRefresh:disabled{opacity:.55;cursor:default}
