.planner-toolbar,.planner-fields,.planner-summary,.planner-week-nav{display:flex;gap:12px;flex-wrap:wrap}.planner-toolbar{margin-bottom:12px}.planner-local{color:var(--muted);max-width:75ch}.planner-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px;margin:20px 0}.planner-summary article{flex:1;min-width:160px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--card)}.planner-summary strong{font-size:1.7rem;display:block}.planner-summary span{font-size:.85rem}.planner-session,.planner-assignment,.planner-busy{padding:14px 0;border-bottom:1px solid var(--line)}.planner-session{display:flex;align-items:center;justify-content:space-between;gap:16px}.planner-session strong,.planner-session small,.planner-session time{display:block}.planner-session time{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.85rem}.planner-session.busy{border-left:3px solid var(--line);padding-left:12px;opacity:.8}.planner-session.done{opacity:.7}.planner-day h3{margin:24px 0 6px}.planner-assignment h3{margin:0}.planner-assignment progress{width:100%;height:8px;accent-color:var(--green);display:block;margin:8px 0}.planner-warning{padding:18px;border:1px solid #bb8846;border-radius:16px;background:color-mix(in srgb,#bb8846 8%,transparent);margin-top:20px}.planner-fields>label{flex:1;min-width:180px}.planner-editor{margin:20px 0;scroll-margin-top:30px}.planner-editor label,.planner-settings label{display:flex;flex-direction:column;gap:6px;margin:10px 0}.planner-editor fieldset,.planner-settings fieldset{border:1px solid var(--line);border-radius:12px;padding:12px;margin:14px 0}.planner-check{display:inline-flex!important;align-items:center;flex-direction:row!important;gap:8px;margin:8px 14px 8px 0!important}.planner-check input{width:auto!important;flex:0 0 auto}.planner-settings,.planner-backups{margin-top:16px}.planner-settings summary,.planner-backups summary{cursor:pointer;font-weight:650}.planner-backups input[type=file]{max-width:240px}.planner-week-nav{margin-top:16px}.planner-agenda,.planner-assignment p{overflow-wrap:anywhere}.task-achievement-preview{text-align:center;padding:24px}.task-achievement-preview>span{display:block;font-size:4rem;color:var(--green)}.task-rewards button{font-size:.78rem;padding:8px 12px}.planner-layout .compact-heading{flex-wrap:wrap;gap:8px}@media(max-width:850px){.planner-layout{grid-template-columns:1fr}.planner-toolbar .button{flex:1 1 180px}}@media(prefers-reduced-motion:reduce){.planner-editor{scroll-behavior:auto}}
.planner-calendar-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;margin:24px 0}.planner-calendar-panel{padding:0!important;overflow:hidden;min-width:0}.planner-calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:20px}.planner-calendar-heading h2{margin:4px 0;font-size:1.25rem}.planner-calendar-actions{display:flex;align-items:center;gap:6px}.planner-calendar-actions .button{padding:8px 12px;min-height:36px}.planner-calendar-actions select{min-height:36px;max-width:110px}.planner-calendar-sidebar{padding:18px!important;align-self:start}.planner-calendar-sidebar h2{font-size:1rem}.planner-calendar-sidebar>label{display:grid;gap:6px}.planner-layers{border:0;padding:0;margin:18px 0}.planner-layers legend{font-size:.8rem;color:var(--muted);margin-bottom:8px}.planner-layers .planner-check{display:flex!important;margin:12px 0!important}.planner-layers input{accent-color:var(--green)}.layer-busy input{accent-color:#818ba2}.layer-finished input{accent-color:#788481}.layer-deadlines input{accent-color:#bf7250}.planner-layer-note,.planner-calendar-hint{font-size:.78rem;line-height:1.5}.planner-calendar-hint{padding:12px 20px;margin:0;background:color-mix(in srgb,var(--green) 4%,var(--card));border-top:1px solid var(--line)}.planner-mini-grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;margin:14px 0;font-size:.75rem}.planner-mini-grid .text-button{padding:5px 0;border-radius:50%;font-size:.75rem;min-width:0}.planner-mini-grid>span{color:var(--muted);padding:6px 0}.planner-mini-grid .is-today{box-shadow:inset 0 0 0 1px var(--green)}.planner-mini-grid .is-selected{background:var(--green);color:var(--card)}.planner-time-scroll{max-height:650px;overflow:auto;position:relative;overscroll-behavior:contain;border-top:1px solid var(--line)}.planner-time-grid{min-width:calc(58px + var(--calendar-days)*100px)}.planner-time-head,.planner-time-body{display:grid;grid-template-columns:58px repeat(var(--calendar-days),minmax(0,1fr))}.planner-time-head{position:sticky;top:0;z-index:3;background:var(--card);border-bottom:1px solid var(--line)}.planner-time-head>span{font-size:.6rem;align-self:center;text-align:center;color:var(--muted)}.planner-time-head>header{text-align:center;border-left:1px solid var(--line);padding:8px 2px;min-width:0}.planner-time-head .text-button{font-size:.73rem;padding:2px 8px}.planner-time-head strong{display:block;font-size:1.2rem}.planner-time-head .is-today strong{background:var(--green);color:var(--card);border-radius:50%;width:30px;height:30px;line-height:30px;margin:2px auto}.planner-time-body{height:1440px}.planner-time-day{position:relative;border-left:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent 59px,var(--line) 59px,var(--line) 60px)}.planner-hours{position:relative;background:var(--card)}.planner-hours time{position:absolute;right:6px;font-size:.62rem;color:var(--muted);line-height:1}.planner-slot{position:absolute;left:0;right:0;width:100%;height:60px;border:0;padding:0;background:transparent;cursor:crosshair;border-radius:0}.planner-slot:hover,.planner-slot:focus-visible{background:color-mix(in srgb,var(--green) 7%,transparent)}.planner-event{display:flex;flex-direction:column;text-align:left;border:1px solid color-mix(in srgb,var(--green) 35%,var(--line));border-left:3px solid var(--green);border-radius:5px;background:color-mix(in srgb,var(--green) 16%,var(--card));color:var(--text);cursor:pointer;padding:2px 4px;overflow:hidden;min-width:0;line-height:1.2;font-family:var(--sans);box-sizing:border-box}.planner-time-day>.planner-event{position:absolute;z-index:1;min-height:0}.planner-event time{font-size:.58rem;white-space:nowrap}.planner-event strong{display:block;font-size:.68rem;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.planner-time-day>.planner-event[style*="height:14px"] time{display:none}.planner-event.busy{border-color:var(--line);border-left-color:#7e879b;background:repeating-linear-gradient(135deg,color-mix(in srgb,#7e879b 10%,var(--card)) 0 4px,color-mix(in srgb,#7e879b 15%,var(--card)) 4px 5px)}.planner-event.done{border-left-color:#798c86;opacity:.65}.planner-event.done strong{text-decoration:line-through}.planner-event.deadline{border-left-color:#bf7250;background:color-mix(in srgb,#bf7250 12%,var(--card))}.planner-deadline-strip .planner-event{width:100%;margin-top:3px;padding:3px}.planner-deadline-strip time{display:none}.planner-now{position:absolute;z-index:2;left:0;right:0;height:1px;background:#ca614c;pointer-events:none}.planner-now:before{content:'';position:absolute;width:6px;height:6px;background:#ca614c;border-radius:50%;top:-2px;left:-3px}.planner-month{display:grid;grid-template-columns:repeat(var(--calendar-days),minmax(0,1fr));border-top:1px solid var(--line)}.planner-month-label{padding:10px 4px;font-size:.75rem;text-align:center;color:var(--muted)}.planner-month-day{min-height:118px;padding:6px;border-top:1px solid var(--line);border-left:1px solid var(--line);min-width:0}.planner-month-day>.text-button{padding:4px;font-size:.75rem}.planner-month-day>.planner-event{width:100%;margin:4px 0;display:block;white-space:nowrap}.planner-month-day .planner-event time{display:none}.planner-month-day.outside-month{background:color-mix(in srgb,var(--muted) 4%,var(--card))}.planner-month-day.outside-month>.text-button{opacity:.5}.planner-month-day.is-today>.text-button:first-child{background:var(--green);color:var(--card);border-radius:50%;width:28px}.planner-session>.planner-event{flex:1;padding:10px}.planner-session .planner-event strong{font-size:.9rem}.planner-day{padding:0 18px}.planner-inspector label{display:grid;gap:8px}.planner-notes{white-space:pre-wrap;overflow-wrap:anywhere}.planner-reminder-card{border-top:1px solid var(--line);padding-top:16px;font-size:.8rem}.planner-reminder-card h3{font-size:.9rem}.planner-reminder-card select{width:100%;margin:8px 0}.planner-reminder-card .button{width:100%;font-size:.75rem;padding:8px}.planner-reminder-card .planner-check{display:flex!important;font-size:.8rem}
@media(max-width:1100px){.planner-calendar-shell{grid-template-columns:minmax(0,1fr)}.planner-calendar-sidebar{display:grid;grid-template-columns:180px minmax(0,1fr);gap:8px 20px}.planner-calendar-sidebar>.compact-heading{grid-column:1/-1}.planner-calendar-sidebar>label{grid-column:1}.planner-mini-grid{grid-column:1}.planner-layers{grid-column:2;grid-row:2/4;margin:0}.planner-layer-note{grid-column:2}.planner-calendar-sidebar #planner-reminders{grid-column:1/-1}.planner-reminder-card{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.planner-reminder-card .button{width:auto}.planner-reminder-card select{max-width:180px}.planner-reminder-card p{flex-basis:100%}}
@media(max-width:600px){.planner-calendar-sidebar{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 12px}.planner-month-day{padding:3px;min-height:95px}.planner-month-day .planner-event strong{font-size:.55rem}.planner-month-day .planner-event{padding:2px}.planner-calendar-heading{padding:14px}.planner-calendar-hint{padding:12px}.planner-summary article{min-width:90px;padding:14px}.planner-summary strong{font-size:1.3rem}.planner-summary span{font-size:.7rem}.planner-calendar-actions{flex-wrap:wrap}.planner-time-scroll{max-height:560px}.planner-calendar-shell{gap:12px}.planner-calendar-sidebar .planner-check{font-size:.75rem}.planner-layer-note{font-size:.65rem}}
.planner-time-head>span{position:sticky;left:0;z-index:4;background:var(--card)}.planner-hours{position:sticky;left:0;z-index:2}
@media(max-width:600px){[data-calendar-mode=week] .planner-calendar-hint:after{content:' Swipe across the week to see other days.'}}
.planner-calendar-sidebar>summary{font-weight:700;font-size:.9rem;cursor:pointer;margin-bottom:16px;list-style-position:inside}.planner-calendar-sidebar:not([open])>*:not(summary){display:none!important}.planner-calendar-sidebar:not([open])>summary{margin:0}.planner-calendar-sidebar>summary{grid-column:1/-1}.planner-calendar-sidebar[open]>label{grid-row:2}.planner-calendar-sidebar[open] #planner-mini-month{grid-row:3}.planner-calendar-sidebar[open] .planner-layers{grid-row:2/4}
@media(min-width:1101px){.planner-calendar-sidebar[open] .planner-layers{grid-row:auto}.planner-calendar-sidebar[open] #planner-mini-month{grid-row:auto}.planner-calendar-sidebar[open]>label{grid-row:auto}}
