/* A quiet, shared drawer for private plans; all selectors stay local. */
.saved-nav-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:8px 12px;border:1px solid currentColor;border-radius:9px;background:transparent;color:inherit;font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}
.saved-nav-button::before{content:'';flex:none;width:12px;height:15px;background:currentColor;clip-path:polygon(0 0,100% 0,100% 100%,50% 72%,0 100%,0 0,15% 14%,15% 76%,50% 53%,85% 76%,85% 14%,15% 14%)}
.saved-nav-button:hover{background:#78925a15}.saved-nav-button:focus-visible{outline:2px solid currentColor;outline-offset:3px}
#events .event-preview.has-save{position:relative}
#events .event-preview.has-save>.plan-save-button{position:absolute;right:10px;top:12px;z-index:2;background:var(--saved-paper)}
#events .event-preview.has-save>.plan-save-button.is-saved{background:var(--saved-hover)}
#events .event-preview.has-save .event-preview-arrow{visibility:hidden}
@media(max-width:759px){#events .event-preview.has-save .event-preview-open{padding-right:61px}#events .event-preview.has-save .event-preview-arrow{display:none}#events .event-preview.has-save>.plan-save-button{top:50%;transform:translateY(-50%);right:8px}.top nav{gap:10px}.top nav .saved-nav-button{font-size:11px;min-height:36px;padding:7px 9px}}
@media(min-width:760px){#events .event-preview.has-save .event-preview-kind{padding-right:18px}#events .event-preview.has-save:is([data-media=image],[data-media=fallback])>.plan-save-button{top:20px;right:20px;box-shadow:0 2px 8px #0002}}
.saved-dialog,.plan-save-button{--saved-bg:#f4f2eb;--saved-paper:#fcfdf8;--saved-ink:#263b27;--saved-muted:#607057;--saved-line:#d3dcc8;--saved-hover:#e9efdf;--saved-accent:#3d5735;--saved-accent-ink:#fff;--saved-error:#873e2a;--saved-error-bg:#f4e5da}
.plan-save-button{display:inline-flex;flex:none;align-items:center;justify-content:center;gap:7px;min-width:44px;min-height:44px;padding:9px 12px;color:var(--saved-muted);background:transparent;border:1px solid var(--saved-line);border-radius:9px;font-family:inherit;font-size:12px;font-weight:500;line-height:1.4;cursor:pointer}
.plan-save-button svg,.saved-close svg,.saved-item-remove svg,.saved-auth-mark svg,.saved-empty>svg{display:block;flex:none;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.plan-save-button.is-compact{width:44px;padding:10px}.plan-save-button.is-compact .plan-save-label,.saved-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}
.plan-save-button:hover{background:var(--saved-hover);color:var(--saved-ink)}.plan-save-button.is-saved{color:var(--saved-accent);background:var(--saved-hover);border-color:var(--saved-accent)}.plan-save-button.is-saved svg{fill:currentColor;stroke:var(--saved-accent)}
.plan-save-button:disabled{cursor:wait;opacity:.6}.plan-save-button:focus-visible{outline:3px solid var(--saved-accent);outline-offset:3px}
.saved-dialog{position:fixed;inset:0 0 0 auto;width:min(480px,100%);max-width:100%;height:100vh;height:100dvh;max-height:none;margin:0;padding:0;color:var(--saved-ink);background:var(--saved-bg);border:0;border-left:1px solid var(--saved-line);border-radius:0;overflow:hidden;overscroll-behavior:none;box-shadow:-14px 0 70px #172a2326;transform:translateX(100%);transition:transform 180ms cubic-bezier(.2,.7,.2,1);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.saved-dialog.is-visible{transform:translateX(0)}
.saved-dialog::backdrop{background:#17251ce0;background:color-mix(in srgb,#17251c 65%,transparent);backdrop-filter:blur(3px);opacity:0;transition:opacity 180ms ease}
.saved-dialog.is-visible::backdrop{opacity:1}
.saved-dialog *{box-sizing:border-box}.saved-dialog button{font:inherit;cursor:pointer}.saved-dialog button:disabled{cursor:wait;opacity:.55}.saved-dialog :focus-visible{outline:3px solid var(--saved-accent);outline-offset:3px}.saved-dialog [hidden]{display:none!important}
.saved-shell{height:100%;max-height:none;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scroll-padding-top:120px;scroll-padding-bottom:20px}
.saved-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 30px 20px;padding-top:max(24px,env(safe-area-inset-top));padding-right:max(30px,env(safe-area-inset-right));padding-left:max(30px,env(safe-area-inset-left));border-bottom:1px solid var(--saved-line);background:var(--saved-bg)}
.saved-eyebrow{margin:0 0 7px;color:var(--saved-muted);font-size:10px;letter-spacing:.1em}.saved-header h2{margin:0;font-size:30px;font-weight:550;line-height:1.15;letter-spacing:-1px}.saved-header h2:focus{outline:0}
.saved-close,.saved-item-remove{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:44px;min-height:44px;padding:11px;background:transparent;border:0;border-radius:8px;color:var(--saved-muted)}.saved-close:hover,.saved-item-remove:hover{color:var(--saved-ink);background:var(--saved-hover)}
.saved-body{padding:0 max(30px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(30px,env(safe-area-inset-left))}.saved-notice{margin:18px max(30px,env(safe-area-inset-right)) 0 max(30px,env(safe-area-inset-left));padding:12px 14px;border-radius:9px;color:var(--saved-ink);background:var(--saved-hover);font-size:12px;line-height:1.6;overflow-wrap:anywhere}.saved-notice.is-error{color:var(--saved-error);background:var(--saved-error-bg)}
.saved-muted{color:var(--saved-muted);font-size:12px;line-height:1.6}.saved-fine{color:var(--saved-muted);font-size:11px;line-height:1.7}.saved-text-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 2px;color:var(--saved-accent);background:transparent;border:0;border-radius:5px;font-size:12px!important;text-underline-offset:4px}.saved-text-button:hover{text-decoration:underline}
.saved-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:12px 17px;border:1px solid var(--saved-line);border-radius:9px;background:transparent;color:var(--saved-ink);font-size:12px!important;font-weight:550!important;line-height:1.4!important;text-align:center}.saved-button:hover{background:var(--saved-hover)}.saved-button-primary{background:var(--saved-accent);border-color:var(--saved-accent);color:var(--saved-accent-ink)}.saved-button-primary:hover{background:var(--saved-accent);filter:brightness(1.08)}
.saved-auth{max-width:380px;margin:auto;padding:37px 0 20px;text-align:center}.saved-auth-mark{display:flex;align-items:center;justify-content:center;width:52px;height:52px;margin:0 auto 20px;border:1px solid var(--saved-line);border-radius:15px;background:var(--saved-paper);color:var(--saved-accent)}.saved-auth-mark svg{width:24px;height:24px}.saved-auth h3,.saved-empty h3{font-size:21px;line-height:1.3;font-weight:550;letter-spacing:-.5px;margin:0 0 11px}.saved-auth>.saved-muted{margin:0 auto 22px;max-width:315px}.saved-auth>.saved-button{width:100%;margin:4px 0 5px}.saved-auth>.saved-fine{max-width:300px;margin:13px auto 0}
.saved-pending{display:flex;flex-direction:column;gap:6px;padding:15px;margin:0 0 17px;background:var(--saved-paper);border:1px solid var(--saved-line);border-radius:10px;text-align:left;overflow-wrap:anywhere}.saved-pending strong{font-size:13px;font-weight:550;line-height:1.5}.saved-pending>span{font-size:11px;color:var(--saved-muted)}.saved-pending-action{margin:0 0 20px}.saved-pending-action .saved-button{align-self:flex-start;margin-top:6px}
.saved-account{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;padding:8px 0 12px}.saved-account p{min-width:0;margin:0;overflow-wrap:anywhere}.saved-account .saved-text-button{flex:none;font-size:11px!important;color:var(--saved-muted)}
.saved-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 0 22px}.saved-count{margin:0;font-size:12px;color:var(--saved-muted)}.saved-view-switch{display:flex;flex:none;gap:3px;padding:3px;background:var(--saved-paper);border:1px solid var(--saved-line);border-radius:10px}.saved-view-switch button{min-height:38px;padding:8px 13px;border:0;border-radius:6px;color:var(--saved-muted);background:transparent;font-size:12px}.saved-view-switch button[aria-pressed=true]{background:var(--saved-hover);color:var(--saved-ink);font-weight:600}.saved-view-switch button:hover{color:var(--saved-ink)}
.saved-content{min-height:170px}.saved-day-group+.saved-day-group{margin-top:23px}.saved-date-heading{margin:0 0 10px;color:var(--saved-muted);font-size:11px;font-weight:550;line-height:1.6;letter-spacing:.01em}.saved-date-heading::first-letter{text-transform:uppercase}.saved-items{margin:0;padding:0;list-style:none}.saved-item{display:flex;align-items:center;gap:5px;min-width:0;padding:3px 4px 3px 0;border-bottom:1px solid var(--saved-line)}.saved-item:first-child{border-top:1px solid var(--saved-line)}
.saved-item-open{display:flex;flex:1;align-items:center;gap:12px;min-width:0;min-height:76px;padding:11px 5px;border:0;border-radius:8px;background:transparent;color:var(--saved-ink);text-align:left}.saved-item-open:hover{background:var(--saved-hover)}.saved-item-open .event-category-icon{width:32px;height:32px;border-radius:9px}.saved-item-open .event-category-icon svg{width:20px;height:20px}.saved-item-copy{display:flex;flex:1;flex-direction:column;gap:5px;min-width:0}.saved-item-copy strong{font-size:14px;font-weight:550;line-height:1.5;overflow-wrap:anywhere}.saved-item-meta{font-size:11px;line-height:1.5;color:var(--saved-muted);overflow-wrap:anywhere}.saved-item-arrow{font-size:18px;line-height:1;color:var(--saved-muted)}.saved-item-remove svg{width:15px;height:15px}.saved-item-remove{min-width:44px;min-height:44px}
.saved-empty{padding:32px 15px 27px;text-align:center}.saved-empty>svg{width:27px;height:27px;margin:0 auto 19px;color:var(--saved-muted)}.saved-empty h3{font-size:19px}.saved-empty p{margin:0 auto 8px;max-width:290px}
.saved-calendar{padding:16px 18px 8px;border:1px solid var(--saved-line);border-radius:13px;background:var(--saved-paper)}.saved-month-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px}.saved-month-bar h3{font-size:15px;line-height:1.4;font-weight:550;text-transform:capitalize;margin:0;text-align:center}.saved-month-arrow{width:44px;min-height:44px;border:0;border-radius:8px;background:transparent;color:var(--saved-accent);font-size:20px!important}.saved-month-arrow:hover{background:var(--saved-hover)}
.saved-weekdays,.saved-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.saved-weekdays{color:var(--saved-muted);font-size:10px;text-align:center;margin-bottom:8px}.saved-weekdays span{padding:4px}.saved-calendar-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:54px;padding:5px 2px;background:transparent;color:var(--saved-ink);border:1px solid transparent;border-radius:8px;font-size:13px!important;font-variant-numeric:tabular-nums}.saved-calendar-day:hover{background:var(--saved-hover)}.saved-calendar-day[aria-current=date]>span:first-child{font-weight:700;text-decoration:underline;text-underline-offset:4px}.saved-calendar-day[aria-pressed=true]{border-color:var(--saved-accent);background:var(--saved-hover)}.saved-day-dots{display:flex;justify-content:center;gap:3px;height:6px;min-width:3px}.saved-day-dots i{display:block;width:5px;height:5px;border-radius:50%;background:var(--saved-category)}
.saved-calendar-caption{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;border-top:1px solid var(--saved-line)}.saved-calendar-caption p{font-size:10px;margin:8px 0}.saved-calendar-caption .saved-text-button{font-size:11px!important;padding-right:5px;padding-left:5px}.saved-selected-day{margin-top:22px}.saved-day-empty{padding:16px 0;margin:0;color:var(--saved-muted);font-size:12px;line-height:1.6}
.saved-sync{margin-top:29px;padding-top:21px;border-top:1px solid var(--saved-line)}.saved-sync-button{width:100%;background:var(--saved-paper)}.saved-sync-help{margin-top:5px;color:var(--saved-muted);font-size:11px;line-height:1.7}.saved-sync-help summary{display:list-item;width:fit-content;min-height:44px;padding:13px 0;cursor:pointer}.saved-sync-help p{margin:0 0 10px}
html[data-theme=dark] .saved-dialog,html[data-theme=dark] .plan-save-button{--saved-bg:var(--plans-dark-bg,#141a17);--saved-paper:var(--plans-dark-surface,#1e2721);--saved-ink:var(--plans-dark-text,#edf2e8);--saved-muted:var(--plans-dark-muted,#b1bdac);--saved-line:var(--plans-dark-border,#435047);--saved-hover:var(--plans-dark-raised,#27322a);--saved-accent:var(--plans-dark-accent,#d3e798);--saved-accent-ink:var(--plans-dark-accent-ink,#26351b);--saved-error:#ffb9a3;--saved-error-bg:#432a29;color-scheme:dark}
html[data-theme=dark] .saved-dialog::backdrop{background:#070d0ac9}html[data-theme=dark] .saved-day-dots i{box-shadow:0 0 0 1px #c6d1bd}
@media(max-width:600px){.saved-dialog{width:100%;border:0}.saved-header{padding:20px 20px 17px;padding-top:max(20px,env(safe-area-inset-top));padding-right:max(20px,env(safe-area-inset-right));padding-left:max(20px,env(safe-area-inset-left))}.saved-header h2{font-size:28px}.saved-body{padding:0 max(20px,env(safe-area-inset-right)) max(26px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}.saved-notice{margin:14px max(20px,env(safe-area-inset-right)) 0 max(20px,env(safe-area-inset-left))}.saved-toolbar{gap:10px;padding-bottom:20px}.saved-view-switch button{min-height:40px;padding:8px 11px}.saved-count{font-size:11px}.saved-calendar{padding:12px 9px 5px}.saved-calendar-day{min-height:48px}.saved-month-grid,.saved-weekdays{gap:3px}.saved-item-open{gap:10px}.saved-item-copy strong{font-size:13px}.saved-item-open .event-category-icon{width:29px;height:29px}.saved-item-open .event-category-icon svg{width:18px;height:18px}.saved-item-arrow{display:none}.saved-auth{padding-top:34px}}
@media(max-width:350px){.saved-header{padding-right:max(15px,env(safe-area-inset-right));padding-left:max(15px,env(safe-area-inset-left))}.saved-body{padding-right:max(15px,env(safe-area-inset-right));padding-left:max(15px,env(safe-area-inset-left))}.saved-notice{margin-right:max(15px,env(safe-area-inset-right));margin-left:max(15px,env(safe-area-inset-left))}.saved-view-switch button{padding-right:9px;padding-left:9px}.saved-calendar{padding-right:6px;padding-left:6px}.saved-month-grid,.saved-weekdays{gap:2px}.saved-calendar-day{min-height:44px}.saved-day-dots{gap:2px}.saved-day-dots i{width:4px;height:4px}.saved-item-open .event-category-icon{display:none}.saved-account{gap:8px}}
@media(prefers-reduced-motion:reduce){.saved-dialog,.saved-dialog::backdrop,.saved-dialog *,.plan-save-button{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.saved-downloads{padding:0 0 16px;margin-bottom:14px;border-bottom:1px solid var(--saved-line)}
.saved-past-filter{padding:0 0 17px}.saved-past-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:44px;padding:8px 0;border:0;border-radius:6px;color:var(--saved-ink);background:transparent;font-size:12px!important;text-align:left}.saved-past-toggle:hover{color:var(--saved-accent)}.saved-past-track{display:flex;align-items:center;flex:none;width:36px;height:22px;padding:3px;border:1px solid var(--saved-line);border-radius:20px;background:var(--saved-paper)}.saved-past-track>span{width:14px;height:14px;border-radius:50%;background:var(--saved-muted);transition:transform 120ms ease}.saved-past-toggle[aria-checked=true] .saved-past-track{background:var(--saved-accent);border-color:var(--saved-accent)}.saved-past-toggle[aria-checked=true] .saved-past-track>span{background:var(--saved-accent-ink);transform:translateX(14px)}.saved-past-filter>.saved-fine{margin:3px 0 0}
.saved-downloads .plans-download{font-size:12px}.saved-downloads .plans-download>summary{justify-content:space-between}
.saved-downloads .plans-download-content{position:static;margin-top:8px;width:100%;box-shadow:none;background:var(--saved-paper);border-color:var(--saved-line)}
.saved-downloads .plans-download-content button{border-color:var(--saved-line)}.saved-downloads .plans-download-content button:hover{background:var(--saved-hover)}
.saved-date-change{margin:0 0 22px;padding:16px;border:1px solid var(--saved-line);border-left:3px solid var(--saved-accent);border-radius:8px;background:var(--saved-paper);font-size:12px;line-height:1.6;overflow-wrap:anywhere}.saved-date-change>p{margin:8px 0 12px}.saved-date-change>.saved-button{width:100%;white-space:normal}.saved-date-change>.saved-text-button{display:block;margin-top:5px;white-space:normal}.saved-date-change-dates{margin:0 0 10px}.saved-date-change-dates summary{min-height:44px;padding:10px 0;cursor:pointer}.saved-date-change-dates ul{max-height:180px;overflow:auto;padding-left:18px;margin:0 0 12px}.saved-date-change-label{display:grid;gap:6px;margin-bottom:12px}.saved-date-change-input{min-width:0;max-width:100%;min-height:44px;padding:8px;border:1px solid var(--saved-line);border-radius:6px;background:var(--saved-bg);color:var(--saved-ink);font:inherit}
