.week-view{display:flex;flex-direction:column;gap:var(--page-gap)}.week-view__header{margin-bottom:0;padding:var(--range-toolbar-padding);border-radius:var(--card-radius);overflow:hidden}.week-quickstart{--quickstart-width: min(390px, calc(100vw - 2rem) );--quickstart-bottom: max(1rem, calc(var(--safe-area-bottom) + 1rem));position:fixed;left:calc(100vw - var(--quickstart-width) - max(1rem,var(--page-padding-right)));bottom:var(--quickstart-bottom);width:var(--quickstart-width);padding:1rem;border-radius:16px;border:3px solid rgba(var(--primary-tint),.42);background:radial-gradient(120% 140% at 100% 0%,rgba(var(--primary-tint),.2),transparent 58%),linear-gradient(160deg,rgba(var(--bg-tint),.98),rgba(var(--bg-deep-tint),.95));box-shadow:0 24px 44px rgba(var(--bg-deep-tint),.48),0 0 0 1px #94a3b81a;display:grid;gap:.75rem;z-index:170;backdrop-filter:blur(8px);transform:translate(0);transition:left .42s cubic-bezier(.2,.75,.2,1),bottom .42s cubic-bezier(.2,.75,.2,1),width .42s cubic-bezier(.2,.75,.2,1),transform .42s cubic-bezier(.2,.75,.2,1),box-shadow .32s ease}.week-quickstart-backdrop{position:fixed;inset:0;z-index:165;pointer-events:none;background:rgba(var(--bg-deep-tint),0);backdrop-filter:blur(0px);opacity:0;transition:backdrop-filter .42s ease,background .42s ease,opacity .42s ease}.week-quickstart-backdrop--active{background:rgba(var(--bg-deep-tint),.26);backdrop-filter:blur(5px);opacity:1}.week-quickstart-launcher{position:fixed;right:max(1rem,var(--page-padding-right));bottom:max(1rem,calc(var(--safe-area-bottom) + 1rem));min-height:56px;padding:.55rem 1rem .55rem .9rem;border-radius:999px;border:2px solid rgba(var(--primary-tint),.6);background:radial-gradient(130% 120% at 12% 0%,rgba(var(--primary-tint),.24),transparent 60%),linear-gradient(160deg,rgba(var(--bg-deep-tint),.97),rgba(var(--bg-deep-tint),.96));color:var(--text);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;z-index:172;box-shadow:0 0 0 1px rgba(var(--primary-tint),.25) inset,0 0 20px rgba(var(--primary-tint),.34),0 12px 28px rgba(var(--bg-deep-tint),.5);transition:transform .18s ease,box-shadow .22s ease,border-color .22s ease;animation:week-quickstart-launcher-pulse 2.1s ease-in-out infinite}.week-quickstart-launcher:hover,.week-quickstart-launcher:focus-visible{color:var(--text);transform:translateY(-1px);box-shadow:0 0 0 1px rgba(var(--primary-tint),.34) inset,0 0 24px rgba(var(--primary-tint),.46),0 16px 34px rgba(var(--bg-deep-tint),.54)}.theme-light .week-quickstart-launcher{border-color:rgba(var(--primary-700-tint),.42);background:radial-gradient(130% 110% at 12% 0%,rgba(var(--primary-tint),.44),transparent 58%),linear-gradient(150deg,rgba(var(--white-rgb, 255,255,255),.98),rgba(var(--white-rgb, 248,250,252),.96));color:#0f172a;box-shadow:0 0 0 1px rgba(var(--primary-700-tint),.16) inset,0 0 12px rgba(var(--primary-700-tint),.22),0 10px 22px rgba(var(--bg-tint),.2)}.theme-light .week-quickstart-launcher__icon{color:var(--primary-700)}.week-quickstart-launcher__icon{width:auto;height:auto;border:none;border-radius:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;color:var(--primary)}.week-quickstart-launcher__label{font-size:.88rem;font-weight:800;letter-spacing:.015em;white-space:nowrap}.week-quickstart-launcher__badge{position:absolute;top:-3px;right:0;min-width:18px;height:18px;border-radius:999px;padding:0 .25rem;display:inline-flex;align-items:center;justify-content:center;font-size:.67rem;font-weight:700;color:var(--bg);background:var(--primary);border:1px solid rgba(var(--bg-deep-tint),.6)}@keyframes week-quickstart-launcher-pulse{0%{transform:translateY(0);box-shadow:0 0 0 1px rgba(var(--primary-tint),.22) inset,0 0 14px rgba(var(--primary-tint),.32),0 12px 26px rgba(var(--bg-deep-tint),.45)}50%{transform:translateY(-1px);box-shadow:0 0 0 1px rgba(var(--primary-tint),.3) inset,0 0 20px rgba(var(--primary-tint),.44),0 14px 30px rgba(var(--bg-deep-tint),.48)}to{transform:translateY(0);box-shadow:0 0 0 1px rgba(var(--primary-tint),.22) inset,0 0 14px rgba(var(--primary-tint),.32),0 12px 26px rgba(var(--bg-deep-tint),.45)}}body[data-quickstart-target=week-timer] [data-quickstart-target=week-timer]{position:relative;z-index:175;box-shadow:inset 0 0 0 2px rgba(var(--primary-tint),.8),inset 0 0 0 3px rgba(var(--primary-tint),.22);animation:none}body[data-quickstart-target=import-add-year] [data-quickstart-target=import-add-year],body[data-quickstart-target=import-open-calendars] [data-quickstart-target=import-open-calendars],body[data-quickstart-target=import-add-calendar] [data-quickstart-target=import-add-calendar],body[data-quickstart-target=import-calendar-url] [data-quickstart-target=import-calendar-url],body[data-quickstart-target=import-save-year] [data-quickstart-target=import-save-year],body[data-quickstart-target=import-sync-calendar] [data-quickstart-target=import-sync-calendar],body[data-quickstart-target=classes-add-new] [data-quickstart-target=classes-add-new],body[data-quickstart-target=types-add-new] [data-quickstart-target=types-add-new]{position:relative;z-index:175;box-shadow:0 0 0 2px rgba(var(--primary-tint),.78),0 0 18px rgba(var(--primary-tint),.62),0 10px 26px rgba(var(--bg-deep-tint),.48);animation:week-quickstart-target-pulse 1.25s ease-in-out infinite}.week-quickstart-kickoff{position:fixed;right:max(1.5rem,env(safe-area-inset-right));bottom:max(1.5rem,env(safe-area-inset-bottom));z-index:170;width:min(420px,calc(100vw - 2rem));border-radius:18px;border:3px solid rgba(var(--primary-tint),.7);padding:1rem 1.1rem;background:radial-gradient(120% 160% at 100% 0%,rgba(var(--primary-tint),.2),transparent 60%),linear-gradient(170deg,rgba(var(--bg-deep-tint),.97),rgba(var(--bg-deep-tint),.95));box-shadow:0 0 0 1px rgba(var(--primary-tint),.2) inset,0 20px 42px rgba(var(--bg-deep-tint),.58),0 0 24px rgba(var(--primary-tint),.25);display:grid;gap:.6rem}.week-quickstart-kickoff__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.week-quickstart-kickoff__dismiss{border:none;background:transparent;color:#cbd5e1e6;cursor:pointer;padding:0;line-height:1}.week-quickstart-kickoff__dismiss:hover,.week-quickstart-kickoff__dismiss:focus-visible{color:#e2e8f0}.week-quickstart-kickoff__title{margin:0;color:#f8fbff;font-size:1.15rem;font-weight:800;line-height:1.2}.week-quickstart-kickoff__copy{margin:.55rem 0 0;color:#e2f0ffeb;font-size:.97rem;line-height:1.45}.week-quickstart-kickoff .btn{margin-top:.4rem}.week-quickstart-kickoff__hint{margin:.35rem 0 0;color:#bae6fdf2;font-size:.9rem;font-weight:700}.week-quickstart-kickoff__back{justify-self:end;border:none;background:transparent;color:#94a3b8e6;font-size:.84rem;font-weight:600;letter-spacing:.01em;text-transform:lowercase;cursor:pointer;padding:0}.week-quickstart-kickoff__back:hover,.week-quickstart-kickoff__back:focus-visible{color:#cbd5e1f2}@keyframes week-quickstart-target-pulse{0%{transform:translateY(0);box-shadow:0 0 0 2px rgba(var(--primary-tint),.72),0 0 12px rgba(var(--primary-tint),.52),0 8px 20px rgba(var(--bg-deep-tint),.42)}50%{transform:translateY(-1px);box-shadow:0 0 0 2px rgba(var(--primary-tint),.88),0 0 20px rgba(var(--primary-tint),.72),0 12px 30px rgba(var(--bg-deep-tint),.52)}to{transform:translateY(0);box-shadow:0 0 0 2px rgba(var(--primary-tint),.72),0 0 12px rgba(var(--primary-tint),.52),0 8px 20px rgba(var(--bg-deep-tint),.42)}}.week-quickstart--welcome{--quickstart-width: min(620px, calc(100vw - 2rem) );left:50%;bottom:50%;transform:translate(-50%,50%);z-index:171}.theme-light .week-quickstart{border-color:rgba(var(--primary-tint),.35);background:radial-gradient(120% 140% at 100% 0%,rgba(var(--primary-tint),.18),transparent 58%),linear-gradient(150deg,rgba(var(--white-rgb),.97),rgba(var(--white-rgb),.92));box-shadow:0 16px 36px rgba(var(--primary-tint),.12)}.week-quickstart__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.week-quickstart__eyebrow{margin:0;display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:#a5f3fc}.theme-light .week-quickstart__eyebrow{color:#0f172a}.week-quickstart__dismiss{width:28px;height:28px;border-radius:8px;border:1px solid var(--border);background:rgba(var(--bg-tint),.4);color:#e2e8f0e6;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.theme-light .week-quickstart__dismiss{background:rgba(var(--white-rgb, 255,255,255),.9);color:rgba(var(--bg-tint),.75)}.week-quickstart__dismiss:hover,.week-quickstart__dismiss:focus-visible{border-color:rgba(var(--primary-tint),.5)}.week-quickstart__progress{margin:0;font-size:.78rem;font-weight:600;color:#94a3b8eb}.week-quickstart__welcome{margin:0;font-size:1.72rem;line-height:1.1;font-weight:700;color:#f8fafc}.theme-light .week-quickstart__welcome{color:#0f172a}.week-quickstart__title{margin:0;color:#f8fafc;font-size:1.08rem;line-height:1.3}.theme-light .week-quickstart__title{color:#0f172a}.week-quickstart__copy{margin:0;color:#cbd5e1f2;font-size:.88rem;line-height:1.45}.theme-light .week-quickstart__copy{color:rgba(var(--bg-tint),.75)}.week-quickstart__steps{margin:0;padding:0;list-style:none;display:grid;gap:.35rem}.week-quickstart__plans-title{margin:0;font-size:.75rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#bae6fde0}.theme-light .week-quickstart__plans-title{color:rgba(var(--bg-tint),.7)}.week-quickstart__step{display:flex;align-items:center;gap:.5rem;font-size:.82rem;line-height:1.35;color:#94a3b8eb}.theme-light .week-quickstart__step{color:rgba(var(--bg-tint),.62)}.week-quickstart__step--active{color:#e0f2fefa}.theme-light .week-quickstart__step--active{color:rgba(var(--bg-tint),.9)}.week-quickstart__step--done{color:#4ade80f2}.theme-light .week-quickstart__step--done{color:#16a34ae6}.week-quickstart__step-icon{display:inline-flex;align-items:center;justify-content:center}.week-quickstart__step-label{flex:1;min-width:0}.week-quickstart__actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.week-quickstart__next-hint{margin:0;font-size:.8rem;color:#bfdbfef5;font-weight:650}.theme-light .week-quickstart__next-hint{color:#1e40afe6}.week-quickstart__next-hint--done{color:#4ade80f5}.theme-light .week-quickstart__next-hint--done{color:#16a34ae6}.week-quickstart__actions .btn{flex:1 1 auto;min-width:0;min-height:42px;justify-content:center;text-align:center;border-radius:12px;font-size:.88rem;font-weight:650;letter-spacing:.01em}.week-quickstart__actions .btn--primary{border:none;background:linear-gradient(145deg,var(--primary),var(--primary-700));color:#f8fafc}.week-quickstart__actions .btn--primary:hover,.week-quickstart__actions .btn--primary:focus-visible{background:linear-gradient(145deg,var(--primary),var(--primary-700));filter:brightness(1.1)}.week-quickstart__actions .btn--primary:disabled{background:linear-gradient(145deg,rgba(var(--bg-tint),.6),rgba(var(--bg-tint),.4));color:#94a3b8f2;cursor:not-allowed;opacity:.95}.week-quickstart__actions .btn--secondary{border:1px solid rgba(var(--primary-tint),.36);background:rgba(var(--bg-tint),.58);color:#e2e8f0}.week-quickstart__actions .btn--secondary:hover,.week-quickstart__actions .btn--secondary:focus-visible{background:rgba(var(--bg-tint),.7);border-color:rgba(var(--primary-tint),.52)}.week-quickstart__actions .btn--ghost{border:1px solid rgba(148,163,184,.3);background:rgba(var(--bg-tint),.24);color:#cbd5e1f5}.theme-light .week-quickstart__actions .btn--secondary{background:rgba(var(--white-rgb, 255,255,255),.92);color:#0f172a;border-color:#94a3b873}.theme-light .week-quickstart__actions .btn--ghost{background:rgba(var(--white-rgb, 248,250,252),.92);color:rgba(var(--bg-tint),.78);border-color:#94a3b859}@media(max-width:1030px){.week-quickstart{--quickstart-width: calc(100vw - var(--page-padding-left) - var(--page-padding-right));--quickstart-bottom: calc(var(--mobile-nav-height) + var(--safe-area-bottom) + var(--space-3));left:var(--page-padding-left)}.week-quickstart--welcome{left:50%;bottom:50%;--quickstart-width: min(620px, calc(100vw - 2rem) );transform:translate(-50%,50%)}.week-quickstart-launcher{right:var(--page-padding-right);bottom:var(--quickstart-bottom, calc(var(--mobile-nav-height) + var(--safe-area-bottom) + var(--space-3)))}}.week-calendar{--week-day-count: 7;--week-gutter-width: 60px;--week-slot-height: 60px;height:calc(100vh - 280px);height:calc(100dvh - 280px);min-height:500px;display:flex;flex-direction:column;position:relative;width:100%}.week-calendar__frame{background:var(--white);border-radius:var(--card-radius);overflow:hidden;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;flex:1;min-height:0;position:relative;isolation:isolate}.week-calendar--mobile{--week-day-count: 3;--week-gutter-width: 52px;height:auto;min-height:440px}.week-calendar--mobile .week-calendar__head,.week-calendar--mobile .week-calendar__body,.week-calendar--mobile .week-grid-background{min-width:0}.week-calendar--mobile .week-day-col{flex:1 1 0;min-width:0}.week-calendar--mobile .week-time-gutter,.week-calendar--mobile .week-time-gutter--lines{flex:0 0 var(--week-gutter-width);width:var(--week-gutter-width)}.week-calendar__head{display:flex;border-bottom:2px solid var(--border);flex-shrink:0;border-top-left-radius:var(--card-radius);border-top-right-radius:var(--card-radius);overflow:hidden}.week-time-gutter{width:var(--week-gutter-width);flex:0 0 var(--week-gutter-width);border-right:1px solid var(--border);position:sticky;left:0;z-index:3;background:var(--white);border-top-left-radius:var(--card-radius)}.week-day-head{flex:1;padding:.5rem;text-align:center;background:var(--white)}.week-calendar__head>.week-day-head:last-child{border-top-right-radius:var(--card-radius)}.week-day-head--border{border-left:1px solid var(--border)}.week-day-head--today{background:transparent}.theme-light .week-day-head--today{background:rgba(var(--primary-tint),.08)}.week-day-head__info{display:flex;align-items:center;justify-content:center;gap:.375rem;text-align:center}.week-day-head__weekday{font-size:.8rem;color:var(--muted);font-weight:500}.week-day-head__date{font-size:1.25rem;font-weight:600;color:var(--text)}.week-day-head--today .week-day-head__date{color:var(--primary-700)}.week-calendar__body{display:flex;position:relative;flex:1;overflow-y:auto;overflow-x:hidden;padding-top:0;scrollbar-width:none;-ms-overflow-style:none}.week-calendar--has-task-overlay .week-calendar__body,.week-calendar--has-task-overlay .week-time-gutter--lines{padding-bottom:44px}.week-calendar__body::-webkit-scrollbar{width:0;height:0}.week-tasks-overlay{position:absolute;left:var(--week-gutter-width);right:0;bottom:10px;display:grid;align-items:end;gap:0;padding:0 8px;z-index:5;pointer-events:none}.week-deadline-marker{position:relative;width:22px;height:22px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:#0b1220;box-shadow:none;z-index:6;border:none;cursor:pointer;background:transparent}.week-deadline-marker:hover,.week-deadline-marker:focus-visible{box-shadow:0 0 0 2px rgba(var(--primary-tint),.6),0 6px 14px rgba(var(--bg-deep-tint),.35)}.week-deadline-marker svg{color:#0b1220}.week-deadline-marker:focus-visible{outline:2px solid transparent}.week-deadline-marker-wrap{position:absolute;right:6px;z-index:7;pointer-events:auto;overflow:visible}.week-deadline-marker-wrap .week-task-tooltip{position:absolute;right:50%;left:auto;bottom:calc(100% + 12px);top:auto;transform:translate(50%) translateY(6px);z-index:260}.week-deadline-marker-wrap:hover .week-task-tooltip,.week-deadline-marker-wrap:focus-within .week-task-tooltip{opacity:1;pointer-events:auto;transform:translate(50%) translateY(0)}.week-deadline-marker--done{filter:none}.week-deadline-marker--done svg{color:inherit}.week-task-badge-wrap{position:relative;display:flex;justify-content:center;pointer-events:auto}.week-task-badge{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .65rem;min-height:32px;border-radius:999px;background:rgba(var(--bg-deep-tint),.55);color:var(--text);box-shadow:0 10px 24px rgba(var(--bg-deep-tint),.38);backdrop-filter:blur(10px);transform:translateY(0);animation:week-task-badge-in .16s ease-out;cursor:pointer;user-select:none;border:1px solid rgba(148,163,184,.22)}.week-task-badge:focus-visible{outline:2px solid rgba(var(--primary-tint),.8);outline-offset:2px}.week-task-badge__segment{display:inline-flex;align-items:center;gap:.3rem;font-size:.85rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.week-task-badge__divider{opacity:.6;font-weight:700}.week-task-badge--pending{border-color:#f59e0b6b}.week-task-badge--pending .week-task-badge__segment--remaining svg{color:#fbbf24}.week-task-badge--pending .week-task-badge__segment--remaining{color:#fbbf24}.week-task-badge--pending .week-task-badge__segment--done svg{color:#e2e8f0b3}.week-task-badge--pending .week-task-badge__segment--done{color:#e2e8f0e0}.week-task-badge--all-done{border-color:#22c55e66}.week-task-badge--all-done .week-task-badge__segment--done svg{color:#22c55e}.week-task-badge--all-done .week-task-badge__segment--done{color:#22c55e}.week-task-badge--today{box-shadow:0 0 0 1px rgba(var(--primary-tint),.35),0 12px 26px rgba(var(--bg-deep-tint),.45)}.theme-light .week-task-badge{background:rgba(var(--white-rgb, 255,255,255),.75);border-color:rgba(var(--bg-tint),.14);box-shadow:0 10px 22px rgba(var(--bg-tint),.18)}.theme-light .week-task-badge--pending{border-color:#f59e0b59}.theme-light .week-task-badge--pending .week-task-badge__segment--remaining{color:#b45309}.theme-light .week-task-badge--pending .week-task-badge__segment--remaining svg{color:#b45309}.theme-light .week-task-badge--pending .week-task-badge__segment--done{color:rgba(var(--bg-tint),.75)}.theme-light .week-task-badge--pending .week-task-badge__segment--done svg{color:rgba(var(--bg-tint),.45)}.theme-light .week-task-badge--all-done{border-color:#22c55e4d}.theme-light .week-task-badge--all-done .week-task-badge__segment--done{color:#16a34a}.theme-light .week-task-badge--all-done .week-task-badge__segment--done svg{color:#16a34a}.week-task-tooltip{position:absolute;bottom:calc(100% + 10px);left:50%;width:min(420px,calc(100vw - 2.5rem));border-radius:12px;background:var(--white);border:1px solid rgba(148,163,184,.22);box-shadow:var(--shadow-strong);overflow:hidden;opacity:0;pointer-events:none;transform:translate(-50%) translateY(6px);transition:opacity .12s ease,transform .12s ease}.week-task-badge-wrap:hover .week-task-tooltip,.week-task-badge-wrap:focus-within .week-task-tooltip,.week-task-tooltip--visible{opacity:1;pointer-events:auto;transform:translate(-50%) translateY(0)}.week-task-tooltip__list{margin:0;padding:.4rem;list-style:none;max-height:220px;overflow:auto}.week-task-tooltip__item{display:flex;align-items:center;gap:.75rem;padding:.65rem .5rem;border-radius:10px;border:1px solid transparent;background:rgba(var(--bg-tint),.45);flex-wrap:nowrap;cursor:pointer}.week-task-tooltip__item:hover{border-color:var(--border)}.week-task-tooltip__item:focus-visible{outline:2px solid rgba(var(--primary-tint),.85);outline-offset:1px}.week-task-tooltip__color{width:10px;height:10px;border-radius:50%;background:var(--primary)}.week-task-tooltip__toggle{border:none;background:transparent;padding:0;cursor:pointer}.week-task-tooltip__toggle:disabled{opacity:.5;cursor:not-allowed}.week-task-tooltip__toggle:focus-visible{outline:2px solid rgba(var(--primary-tint),.85);outline-offset:2px}.week-task-tooltip__item--done .week-task-tooltip__toggle{color:#22c55e}.week-task-tooltip__body{flex:1;min-width:0;overflow:hidden}.week-task-tooltip__title{margin:0;font-weight:500;font-size:1rem;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;max-width:100%}.week-task-tooltip__meta{display:block;align-items:center;gap:.35rem;font-size:.8rem;color:var(--muted);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.week-task-tooltip__overdue{color:#f87171;font-size:.85rem;font-weight:600;margin-top:.15rem}.week-task-tooltip__actions{display:inline-flex;align-items:center;gap:.5rem;margin-left:auto;flex-shrink:0}.week-task-tooltip__type-chip{border:1px solid var(--border);border-radius:999px;padding:.2rem .65rem;font-size:.75rem;color:var(--muted);text-transform:capitalize;max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-task-tooltip__item--done{background:rgba(var(--bg-tint),.6)}.week-task-tooltip__item--done .week-task-tooltip__title{opacity:.55;color:var(--muted)}.theme-light .week-task-tooltip{border-color:rgba(var(--primary-tint),.3)}.theme-light .week-task-tooltip__item{background:rgba(var(--bg-tint),.05)}.theme-light .week-task-tooltip__item--done{background:rgba(var(--bg-tint),.1)}.week-deadlines-overlay{position:absolute;left:var(--week-gutter-width);right:0;bottom:10px;display:grid;align-items:end;gap:0;padding:0 8px;z-index:5;pointer-events:none}.week-calendar--has-task-overlay .week-deadlines-overlay,.week-calendar--has-dual-overlay .week-deadlines-overlay{bottom:54px}.week-deadline-badge-wrap{position:relative;display:flex;justify-content:center;pointer-events:auto}.week-deadline-badge{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .65rem;min-height:32px;border-radius:999px;background:rgba(var(--bg-deep-tint),.55);color:var(--text);box-shadow:0 10px 24px rgba(var(--bg-deep-tint),.38);backdrop-filter:blur(10px);transform:translateY(0);animation:week-task-badge-in .16s ease-out;cursor:pointer;user-select:none;border:1px solid rgba(148,163,184,.22)}.week-deadline-badge:focus-visible{outline:2px solid rgba(251,113,133,.8);outline-offset:2px}.week-deadline-badge__segment{display:inline-flex;align-items:center;gap:.3rem;font-size:.85rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.week-deadline-badge__divider{opacity:.6;font-weight:700}.week-deadline-badge--pending{border-color:#f43f5e73}.week-deadline-badge--pending .week-deadline-badge__segment--remaining svg{color:#fb7185}.week-deadline-badge--pending .week-deadline-badge__segment--remaining{color:#fb7185}.week-deadline-badge--pending .week-deadline-badge__segment--done svg{color:#e2e8f0b3}.week-deadline-badge--pending .week-deadline-badge__segment--done{color:#e2e8f0e0}.week-deadline-badge--all-done{border-color:#22c55e66}.week-deadline-badge--all-done .week-deadline-badge__segment--done svg{color:#22c55e}.week-deadline-badge--all-done .week-deadline-badge__segment--done{color:#22c55e}.week-deadline-badge--today{box-shadow:0 0 0 1px #fb718559,0 12px 26px rgba(var(--bg-deep-tint),.45)}.theme-light .week-deadline-badge{background:rgba(var(--white-rgb, 255,255,255),.75);border-color:rgba(var(--bg-tint),.14)}.theme-light .week-deadline-badge--pending{border-color:#f43f5e59}.theme-light .week-deadline-badge--pending .week-deadline-badge__segment--remaining{color:#e11d48}.theme-light .week-deadline-badge--pending .week-deadline-badge__segment--remaining svg{color:#e11d48}.theme-light .week-deadline-badge--pending .week-deadline-badge__segment--done{color:rgba(var(--bg-tint),.75)}.theme-light .week-deadline-badge--pending .week-deadline-badge__segment--done svg{color:rgba(var(--bg-tint),.45)}.theme-light .week-deadline-badge--all-done{border-color:#22c55e4d}.theme-light .week-deadline-badge--all-done .week-deadline-badge__segment--done{color:#16a34a}.theme-light .week-deadline-badge--all-done .week-deadline-badge__segment--done svg{color:#16a34a}.week-deadline-tooltip{position:absolute;bottom:calc(100% + 10px);left:50%;width:min(440px,calc(100vw - 2.5rem));border-radius:12px;background:var(--white);border:1px solid rgba(148,163,184,.22);box-shadow:var(--shadow-strong);overflow:hidden;opacity:0;pointer-events:none;transform:translate(-50%) translateY(6px);transition:opacity .12s ease,transform .12s ease}.week-deadline-badge-wrap:hover .week-deadline-tooltip,.week-deadline-badge-wrap:focus-within .week-deadline-tooltip,.week-deadline-tooltip--visible{opacity:1;pointer-events:auto;transform:translate(-50%) translateY(0)}.week-deadline-tooltip__list{margin:0;padding:.4rem;list-style:none;max-height:240px;overflow:auto}.week-deadline-tooltip__item{display:flex;align-items:center;gap:.75rem;padding:.65rem .5rem;border-radius:10px;border:1px solid transparent;background:rgba(var(--bg-tint),.45);flex-wrap:nowrap;cursor:pointer}.week-deadline-tooltip__item:hover{border-color:var(--border)}.week-deadline-tooltip__item:focus-visible{outline:2px solid rgba(251,113,133,.85);outline-offset:1px}.week-deadline-tooltip__color{width:10px;height:10px;border-radius:50%;background:var(--primary)}.week-deadline-tooltip__toggle{border:none;background:transparent;padding:0;cursor:pointer}.week-deadline-tooltip__toggle:disabled{opacity:.5;cursor:not-allowed}.week-deadline-tooltip__toggle:focus-visible{outline:2px solid rgba(251,113,133,.85);outline-offset:2px}.week-deadline-tooltip__item--done .week-deadline-tooltip__toggle{color:#22c55e}.week-deadline-tooltip__body{flex:1;min-width:0;overflow:hidden}.week-deadline-tooltip__title{margin:0;font-weight:500;font-size:1rem;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;max-width:100%}.week-deadline-tooltip__meta{display:block;align-items:center;gap:.35rem;font-size:.8rem;color:var(--muted);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.week-deadline-tooltip__time{font-weight:600;color:var(--text)}.week-deadline-tooltip__overdue{color:#f87171;font-size:.85rem;font-weight:600;margin-top:.15rem}.week-deadline-tooltip__actions{display:inline-flex;align-items:center;gap:.5rem;margin-left:auto;flex-shrink:0}.week-deadline-tooltip__type-chip{border:1px solid var(--border);border-radius:999px;padding:.2rem .65rem;font-size:.75rem;color:var(--muted);text-transform:capitalize;max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-deadline-tooltip__item--done{background:rgba(var(--bg-tint),.6)}.week-deadline-tooltip__item--done .week-deadline-tooltip__title{opacity:.55;color:var(--muted)}.theme-light .week-deadline-tooltip{border-color:rgba(var(--primary-tint),.3)}.theme-light .week-deadline-tooltip__item{background:rgba(var(--bg-tint),.05)}.theme-light .week-deadline-tooltip__item--done{background:rgba(var(--bg-tint),.1)}@keyframes week-task-badge-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.week-task-badge{animation:none}.week-task-tooltip{transition:none}.week-deadline-badge{animation:none}.week-deadline-tooltip{transition:none}}.week-all-day{position:absolute;top:0;left:0;right:0;display:grid;grid-template-columns:var(--week-gutter-width) 1fr;padding:6px 0;background:var(--white);z-index:4;border-bottom:1px solid var(--border)}.week-all-day__gutter{display:flex;align-items:flex-start;justify-content:center;font-size:.8rem;color:var(--muted);padding-top:6px}.week-all-day__grid{position:relative;display:grid;grid-template-rows:1fr}.week-all-day__event{position:absolute;height:28px;border-radius:999px;border:none;padding:4px 10px;font-size:.78rem;font-weight:600;display:flex;align-items:center;gap:8px;cursor:pointer;box-shadow:0 1px 4px #0003;text-align:left}.week-all-day__event:focus-visible{outline:2px solid rgba(255,255,255,.9);outline-offset:1px}.week-all-day__title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-all-day__meta{font-weight:500;opacity:.85;font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-grid-background{position:absolute;top:0;left:0;right:0;min-height:100%;pointer-events:none;z-index:0;background:transparent}.week-time-gutter--lines{width:var(--week-gutter-width);flex:0 0 var(--week-gutter-width);position:sticky;left:0;z-index:2;background:var(--white);min-height:100%}.week-time-slot-label{height:var(--week-slot-height);display:flex;align-items:flex-start;justify-content:center;padding-top:.25rem;font-size:.75rem;color:var(--muted);font-weight:500;border-bottom:1px solid rgba(148,163,184,.2)}.week-time-slot-label:last-child{border-bottom:none}.week-day-col{flex:1;position:relative;min-height:100%}.week-day-col__selection{position:absolute;left:2px;right:2px;background:rgba(var(--primary-700-tint),.18);border:1px solid rgba(var(--primary-700-tint),.6);border-radius:4px;pointer-events:none;z-index:2}.week-day-col__overflow-indicator{position:absolute;left:8px;right:8px;padding:4px 8px;font-size:.65rem;font-weight:600;border-radius:999px;background:rgba(var(--bg-tint),.85);color:#f8fafc;border:1px solid rgba(248,250,252,.35);text-align:center;pointer-events:auto;cursor:help;z-index:4;box-shadow:0 2px 10px rgba(var(--bg-tint),.25);outline:none}.theme-light .week-day-col__overflow-indicator{background:rgba(var(--white-rgb, 248,250,252),.95);color:var(--text);border-color:rgba(var(--bg-tint),.12);box-shadow:0 2px 6px rgba(var(--bg-tint),.15)}.week-day-col__overflow-indicator--top{top:6px}.week-day-col__overflow-indicator--bottom{bottom:6px}.week-day-col__overflow-indicator:focus-visible{outline:2px solid rgba(var(--primary-tint),.85);outline-offset:2px}.week-day-col__overflow-tooltip{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(-4px);display:flex;flex-direction:column;gap:.15rem;width:max-content;max-width:min(240px,calc(100vw - 2rem));padding:.45rem .6rem;border-radius:10px;background:rgba(var(--bg-tint),.96);color:#e2e8f0;font-size:.72rem;font-weight:500;line-height:1.35;white-space:normal;text-align:center;border:1px solid rgba(148,163,184,.3);box-shadow:var(--shadow-tooltip);opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease;z-index:6}.week-day-col__overflow-tooltip-label,.week-day-col__overflow-tooltip-value{display:block}.week-day-col__overflow-tooltip:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border-width:6px;border-style:solid;border-color:transparent transparent rgba(var(--bg-tint),.96) transparent}.week-day-col__overflow-tooltip--top{top:auto;bottom:calc(100% + 8px);transform:translate(-50%) translateY(4px)}.week-day-col__overflow-tooltip--top:before{top:100%;bottom:auto;border-color:rgba(var(--bg-tint),.96) transparent transparent transparent}.week-day-col__overflow-indicator:hover .week-day-col__overflow-tooltip,.week-day-col__overflow-indicator:focus-visible .week-day-col__overflow-tooltip{opacity:1;transform:translate(-50%) translateY(0)}.theme-light .week-day-col__overflow-tooltip{background:var(--white);color:#1e293b;border-color:#94a3b859}.theme-light .week-day-col__overflow-tooltip:before{border-color:transparent transparent var(--white) transparent}.theme-light .week-day-col__overflow-tooltip--top:before{border-color:var(--white) transparent transparent transparent}.week-day-col--border{border-left:1px solid var(--border)}.week-day-col--today{background-color:var(--white);box-shadow:inset 0 0 0 1px #ffffff0f}.week-day-col--today:after{content:"";position:absolute;inset:0;background:rgba(var(--primary-700-tint),.08);pointer-events:none}.theme-light .week-calendar__frame,.theme-light .week-day-head,.theme-light .week-time-gutter,.theme-light .week-time-gutter--lines{background:var(--bg-tertiary)}.theme-light .week-day-col--today{background-color:var(--bg-tertiary);box-shadow:none}.theme-light .week-day-col--today:after{background:rgba(var(--primary-tint),.1)}.week-time-slot{height:var(--week-slot-height);border-bottom:1px solid rgba(148,163,184,.2)}.week-event{position:absolute;left:2px;right:auto;width:calc(100% - 4px);border-radius:4px;padding:4px 6px;color:#fff;font-size:.7rem;font-weight:500;overflow:hidden;cursor:pointer;box-shadow:0 1px 3px #0003;display:flex;flex-direction:column;border:none;text-align:left}.week-event:focus-visible{outline:2px solid rgba(255,255,255,.9);outline-offset:2px}.week-event__resize-handle{position:absolute;left:0;right:0;height:8px;opacity:0;transition:opacity .12s ease,background-color .12s ease;z-index:2;pointer-events:auto}.week-event__resize-handle:after{content:"";position:absolute;left:6px;right:6px;top:3px;height:2px;border-radius:999px;background:rgba(var(--white-rgb, 255,255,255),.85);box-shadow:0 0 0 1px rgba(var(--bg-tint),.12)}.week-event__resize-handle--start{top:0;cursor:n-resize}.week-event__resize-handle--end{bottom:0;cursor:s-resize}.week-event--resizing .week-event__resize-handle,.week-event__resize-handle:hover,.week-event__resize-handle:focus-visible{opacity:1;background:rgba(var(--bg-tint),.18)}.theme-light .week-event__resize-handle:hover{background:rgba(var(--bg-tint),.12)}.week-event--hidden{opacity:.35;border:1px dashed rgba(255,255,255,.4)}.week-event--exam{border-left:3px solid rgba(255,255,255,.85)!important;border-top:1px solid rgba(255,255,255,.3);border-right:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2);box-shadow:0 2px 8px #00000059,inset 0 1px #ffffff2e;background-image:repeating-linear-gradient(135deg,transparent,transparent 6px,rgba(255,255,255,.04) 6px,rgba(255,255,255,.04) 12px)}.week-event__exam-flag{position:absolute;top:3px;right:4px;display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#ffffff40;backdrop-filter:blur(2px);z-index:1;pointer-events:none}.dropdown__item--exam{color:#f87171}.theme-light .dropdown__item--exam{color:#dc2626}.week-event--session-group{overflow:hidden}.week-event__break-stripe{position:absolute;left:0;right:0;pointer-events:none;z-index:1;background:repeating-linear-gradient(-45deg,#ffffff61 0px 4px,#ffffff1a 4px 10px)}.week-now-line{position:absolute;left:2px;right:2px;height:2px;background:#ef4444;z-index:3;pointer-events:none}.week-now-line:after{content:"";position:absolute;right:-2px;top:-3px;width:8px;height:8px;border-radius:50%;background:#ef4444}.week-event__content{flex:1;min-height:0;display:flex;flex-direction:column;gap:2px;position:relative;z-index:2}.week-event__time{font-size:.65rem;font-weight:600;line-height:1.2;opacity:.95}.week-event__title{font-weight:600;line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.week-event__meta{opacity:.85;font-size:.65rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-event--title-time .week-event__meta,.week-event--title-only .week-event__time,.week-event--title-only .week-event__meta{display:none}.week-event--title-only .week-event__title{-webkit-line-clamp:1}.week-event--text-hidden{padding:2px 4px}.week-event--text-hidden .week-event__time,.week-event--text-hidden .week-event__meta,.week-event--text-hidden .week-event__title,.week-event--text-hidden .week-event__content{display:none}.week-hidden-toggle{display:flex;justify-content:flex-end;margin-top:.35rem;gap:.75rem;align-items:center;flex-wrap:wrap}.week-hidden-toggle .btn{display:inline-flex;align-items:center;gap:.4rem}.week-hidden-toggle .week-footer-action{width:184px;min-height:40px;padding:.52rem .75rem;justify-content:center}.week-sync-summary{position:relative;display:inline-flex;align-items:center;gap:.35rem;padding:.35rem 0;color:var(--text-muted, #64748b);font-size:.78rem;font-weight:400;cursor:default}.week-sync-summary__text{white-space:nowrap}.week-sync-summary__tooltip{display:none;position:absolute;bottom:calc(100% + .5rem);right:0;z-index:100;min-width:220px;max-width:320px;padding:.6rem .7rem;border-radius:10px;background:var(--card-bg, var(--white));border:1px solid rgba(255,255,255,.08);box-shadow:0 8px 24px #00000059;color:var(--text-secondary, #94a3b8);font-size:.75rem;text-align:left}.week-sync-summary:hover .week-sync-summary__tooltip{display:block}.week-sync-summary__tooltip-header{font-size:.7rem;color:var(--text-muted, #64748b);margin-bottom:.35rem;padding-bottom:.25rem;border-bottom:1px solid rgba(255,255,255,.06)}.week-sync-summary__tooltip-list{list-style:none;margin:0;padding:0;max-height:240px;overflow-y:auto}.week-sync-summary__tooltip-item{padding:.15rem 0;display:flex;align-items:baseline;gap:.4rem;color:var(--text-primary, #e2e8f0);font-size:.73rem;line-height:1.35}.week-sync-summary__tooltip-badge{display:inline-block;padding:.08rem .3rem;border-radius:3px;font-size:.58rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;flex-shrink:0;color:var(--text-muted, #64748b);background:#ffffff0f}.week-sync-summary__tooltip-item--new .week-sync-summary__tooltip-badge{color:#4ade80d9;background:#4ade801a}.week-sync-summary__tooltip-item--hidden .week-sync-summary__tooltip-badge{color:#f87171cc;background:#f871711a}.week-overdue-indicator{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .7rem;border-radius:999px;border:1px solid rgba(248,113,113,.6);background:#f871711f;color:#fecaca;font-size:.85rem;font-weight:600;text-transform:none}.week-overdue-indicator__count{font-weight:800;color:#f87171;text-shadow:0 0 8px rgba(248,113,113,.55)}.event-list{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto}.event-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem;border-radius:.5rem;border:1px solid var(--border);background:var(--white);transition:background .2s;cursor:pointer}.event-row:hover{background:#ffffff0d}.event-row--hidden{opacity:.5}.event-row__left{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.event-row__title{font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-row__title--muted{color:var(--muted)}.event-row__sub{font-size:.875rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:1200px){.week-calendar{height:calc(100vh - 300px)}}@media(max-width:900px){.week-calendar{height:auto;min-height:440px}.week-calendar__body{overflow-y:visible;overflow-x:visible}}@media(max-width:768px){.week-view{gap:var(--page-gap)}.week-view__header{padding:var(--range-toolbar-padding)}.week-calendar{--week-gutter-width: 44px;--week-slot-height: 60px;min-height:400px}.week-calendar__frame{border-radius:10px}.week-time-gutter,.week-time-gutter--lines{width:var(--week-gutter-width);flex:0 0 var(--week-gutter-width)}.week-time-slot-label{font-size:.65rem;padding-top:.2rem}.week-day-head{padding:.4rem .3rem}.week-day-head__info{flex-direction:column;gap:.1rem;align-items:center}.week-day-head__weekday{font-size:.65rem;text-transform:uppercase;letter-spacing:.02em}.week-day-head__date{font-size:1.1rem}.week-event{font-size:.7rem;padding:3px 5px;border-radius:3px}.week-event__time{font-size:.6rem}.week-event__title{font-size:.7rem;-webkit-line-clamp:2}.week-event__meta{font-size:.6rem}.week-all-day__event{height:26px;padding:4px 8px;font-size:.72rem}.week-task-badge,.week-deadline-badge{padding:.3rem .55rem;min-height:30px;font-size:.8rem}.week-task-badge__segment,.week-deadline-badge__segment{font-size:.8rem;gap:.25rem}.week-task-tooltip,.week-deadline-tooltip{width:min(340px,calc(100vw - 1.5rem))}.week-task-tooltip__list,.week-deadline-tooltip__list{max-height:200px;padding:.35rem}.week-task-tooltip__item,.week-deadline-tooltip__item{padding:.55rem .45rem;gap:.55rem}.week-task-tooltip__title,.week-deadline-tooltip__title{font-size:.95rem}.week-hidden-toggle{margin-top:.5rem;gap:.5rem}.week-hidden-toggle .btn{padding:.4rem .75rem;font-size:.85rem}.week-now-line:after{width:6px;height:6px;top:-2px;right:-1px}}@media(max-width:640px){.week-view{gap:var(--page-gap)}.range-toolbar__label{white-space:normal;text-align:center;font-size:.95rem}.week-calendar{--week-gutter-width: 40px;--week-slot-height: 60px;min-height:380px}.week-day-head{padding:.35rem .25rem}.week-day-head__weekday{font-size:.6rem}.week-day-head__date{font-size:1rem}.week-time-slot-label{font-size:.6rem}.week-event{padding:2px 4px;font-size:.65rem;left:1px;width:calc(100% - 2px)}.week-event__time{font-size:.625rem}.week-event__title{font-size:.65rem;-webkit-line-clamp:2}.week-event__meta{font-size:.625rem}.week-event__resize-handle{height:8px}.week-day-col__selection{left:1px;right:1px;border-radius:3px}.week-day-col__overflow-indicator{left:4px;right:4px;padding:3px 6px;font-size:.6rem}.week-all-day__event{height:24px;padding:3px 6px;font-size:.68rem;border-radius:12px}.week-all-day__gutter{font-size:.7rem;padding-top:5px}.week-task-badge,.week-deadline-badge{padding:.25rem .5rem;min-height:28px}.week-deadline-marker{width:20px;height:20px;border-radius:5px}}@media(max-width:480px){.week-calendar{--week-gutter-width: 32px;--week-slot-height: 60px;min-height:360px}.week-calendar__head,.week-calendar__body,.week-grid-background{min-width:0}.week-day-head{padding:.3rem .2rem}.week-day-head__info{gap:0}.week-day-head__weekday{font-size:.6rem}.week-day-head__date{font-size:.95rem}.week-time-slot-label{font-size:.6rem}.week-event{padding:2px 3px;font-size:.625rem;border-radius:2px}.week-event__time{font-size:.625rem}.week-event__title{font-size:.625rem;line-height:1.15;-webkit-line-clamp:2}.week-event__meta{font-size:.625rem}.week-event--title-time .week-event__meta{display:none}.week-all-day{padding:4px 0}.week-all-day__event{height:22px;padding:2px 5px;font-size:.62rem;gap:4px}.week-task-tooltip,.week-deadline-tooltip{width:min(300px,calc(100vw - 1rem));border-radius:10px}.week-task-tooltip__type-chip,.week-deadline-tooltip__type-chip{max-width:100px}.week-hidden-toggle{flex-direction:column;align-items:stretch}.week-overdue-indicator{padding:.3rem .6rem;font-size:.8rem}}.week-quick-add-choice{position:fixed;z-index:220;width:196px;min-width:196px;max-width:calc(100vw - 1rem);padding:.28rem}.week-quick-add-choice__item{font-size:.82rem;font-weight:600;min-height:34px;padding:.45rem .5rem;border-radius:8px}.week-quick-add-choice__item+.week-quick-add-choice__item{margin-top:.1rem;position:relative}.week-quick-add-choice__item+.week-quick-add-choice__item:before{content:"";position:absolute;left:.42rem;right:.42rem;top:-.08rem;height:1px;background:#94a3b833}.week-quick-add-choice__item svg{color:var(--muted)}.week-quick-add-choice .dropdown__item:hover:not([disabled]):not([aria-disabled=true]),.week-quick-add-choice .dropdown__item:focus-visible{background:#94a3b829}.theme-light .week-quick-add-choice{border-color:rgba(var(--primary-tint),.28)}.theme-light .week-quick-add-choice .dropdown__item:hover:not([disabled]):not([aria-disabled=true]),.theme-light .week-quick-add-choice .dropdown__item:focus-visible{background:var(--bg-tertiary)}.theme-light .week-quick-add-choice__item+.week-quick-add-choice__item:before{background:rgba(var(--primary-tint),.2)}.theme-light .week-quick-add-choice__item svg{color:#475569f2}.week-event-context-menu{position:fixed;z-index:9000;min-width:210px}@media(hover:none)and (pointer:coarse){.week-event{min-height:24px}.week-event__resize-handle{height:12px;opacity:.4}.week-day-head,.week-task-badge,.week-deadline-badge{-webkit-tap-highlight-color:transparent}.week-task-tooltip__item,.week-deadline-tooltip__item{min-height:44px}}.theme-light .week-task-tooltip__item--done .week-task-tooltip__toggle,.theme-light .week-deadline-tooltip__item--done .week-deadline-tooltip__toggle{color:#16a34a}.week-study-plan-cta{gap:.55rem;border:1px solid rgba(148,163,184,.2);background:#94a3b81c;color:var(--text);font-size:.8rem;font-weight:600;transition:border-color .16s ease,background-color .16s ease,color .16s ease}.week-study-plan-cta:hover{border-color:#94a3b857;background:#94a3b82e;color:var(--text)}.week-study-plan-cta:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.week-study-plan-cta>svg{color:var(--primary);opacity:.9}.week-study-plan-cta__beta{margin-left:.08rem;padding-left:.55rem;border-left:1px solid rgba(148,163,184,.24);color:var(--muted);font-size:.57rem;font-weight:700;letter-spacing:.09em;line-height:1;text-transform:uppercase}.theme-light .week-study-plan-cta{border-color:#64748b33;background:#64748b17;color:var(--text)}.theme-light .week-study-plan-cta:hover{border-color:#64748b52;background:#64748b24}.week-plan-preview{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem .9rem;border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:var(--card-radius);background:var(--bg-tertiary)}.week-plan-preview__copy{display:flex;align-items:flex-start;gap:.65rem;min-width:0}.week-plan-preview__copy>svg{flex:0 0 auto;margin-top:.1rem;color:var(--primary)}.week-plan-preview__copy>div{display:flex;flex-direction:column;gap:.15rem;min-width:0}.week-plan-preview__copy strong{color:var(--text);font-size:.84rem;font-weight:650}.week-plan-preview__copy span,.week-plan-preview__copy small{color:var(--muted);font-size:.72rem;line-height:1.4}.week-plan-preview__copy small{color:var(--color-danger, #f87171)}.week-plan-preview__actions{display:flex;align-items:center;gap:.55rem;flex:0 0 auto}.week-event--planned{border:1px dashed rgba(255,255,255,.56);opacity:.82;box-shadow:inset 2px 0 #ffffff52}.week-event--planned:hover,.week-event--planned:focus-visible{opacity:.96}.week-event--planned:after{content:"Planned";position:absolute;top:4px;right:5px;padding:1px 4px;border-radius:4px;border:1px solid rgba(255,255,255,.2);background:rgba(var(--bg-deep-tint),.3);font-size:.52rem;font-weight:650;letter-spacing:.02em;opacity:.78}.week-event--planner-draft{opacity:.88;cursor:pointer;box-shadow:inset 2px 0 #ffffff6b,0 0 0 1px rgba(var(--primary-tint),.65),0 2px 7px rgba(var(--bg-deep-tint),.14)}.week-event--planner-draft:after{content:"Preview";background:rgba(var(--bg-deep-tint),.34);opacity:1}.week-event--ai{outline:2px dashed rgba(var(--primary-tint),.85);outline-offset:-2px}.week-event--planner-draft.week-event--ai{box-shadow:inset 2px 0 #ffffff6b,0 2px 7px rgba(var(--bg-deep-tint),.14)}.week-event--planner-draft.week-event--ai:after{content:"Planned"}.week-event--ai:after{top:auto;bottom:4px}.week-event--planned .week-event__content,.week-event--planner-draft .week-event__content{padding-right:3.5rem}.week-event--text-hidden.week-event--planned:after,.week-event--text-hidden.week-event--planner-draft:after{display:none}.week-all-day__event--planned{border:1px dashed rgba(255,255,255,.5);border-radius:7px;opacity:.84;box-shadow:inset 2px 0 #ffffff57}.week-all-day__event--planned:before{content:"Planned";flex:0 0 auto;padding:1px 4px;border-radius:4px;background:#00000029;font-size:.52rem;font-weight:650}.week-all-day__event--planner-draft{opacity:.94;box-shadow:inset 3px 0 #ffffffad,0 0 0 1px rgba(var(--primary-tint),.65)}.week-all-day__event--planner-draft:before{content:"Preview"}.week-all-day__event--hidden{opacity:.42}@media(max-width:700px){.week-plan-preview{align-items:stretch;flex-direction:column}.week-plan-preview__actions .btn{flex:1}.week-footer-action{width:100%;justify-content:flex-start}}.week-empty{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;padding:1.5rem;pointer-events:none}.week-empty__card{pointer-events:auto;max-width:30rem;padding:1.6rem;border:1px solid var(--border);border-radius:16px;background:var(--bg-card);box-shadow:0 14px 32px #00000059;text-align:center}.theme-light .week-empty__card{box-shadow:0 14px 32px #00000014}.week-empty__title{margin:0;color:var(--text);font-size:1.35rem;font-weight:600;letter-spacing:-.02em}.week-empty__copy{margin:.5rem 0 0;color:var(--muted);line-height:1.55}.week-empty__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1.25rem}.week-empty__action-btn{flex-direction:column!important;align-items:center;gap:.75rem;min-width:160px;padding:1.4rem 1.2rem 1.2rem;border-radius:14px;font-size:.85rem;font-weight:600;background:#ffffff0d;color:var(--text);border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 14px #0003;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease}.week-empty__action-btn:hover{transform:translateY(-2px);background:#ffffff17;border-color:#fff3;box-shadow:0 8px 20px #00000047}.theme-light .week-empty__action-btn{background:#fff;color:var(--text);border:1px solid rgba(0,0,0,.1);box-shadow:0 4px 12px #0000000f}.theme-light .week-empty__action-btn:hover{background:#f8fafc;border-color:#0000002e;box-shadow:0 8px 20px #0000001f}.week-empty__action-btn svg{flex-shrink:0}.week-empty__action-label{text-align:center;line-height:1.35}@media(max-width:760px){.week-empty__actions .btn{flex:1 1 100%;justify-content:center}}@media(max-width:560px){.week-empty{padding:1rem}.week-empty__card{padding:1.15rem 1.1rem;border-radius:14px}.week-empty__title{font-size:1.1rem}.week-empty__copy{font-size:.875rem}.week-empty__actions{gap:.5rem;margin-top:1rem}.week-empty__action-btn{flex-direction:row!important;justify-content:center;gap:.5rem;min-width:0;padding:.75rem 1rem}.week-empty__action-btn svg{width:20px;height:20px}}
