/* Unified sessions and non-destructive allocation. */
@supports (container-type:size){.unified .event-inner{container-type:size}@container (max-height:65px){.event-time{display:none}.session-topics{margin-top:3px}.session-topic{font-size:9px;padding:1px 3px}.session-topic small{font-size:9px}}}
[hidden]{display:none!important}.unified .event-inner{background:color-mix(in srgb,var(--topic) 12%,var(--surface));border-left:3px solid var(--topic);padding:5px 6px}.event-heading{display:flex;gap:6px;align-items:center;font-size:12px;font-weight:600;line-height:1.25;padding-right:6px}.event-heading>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.session-total{font-size:10px;white-space:nowrap;opacity:.85}.event-time{font-size:10px;color:var(--muted);margin:3px 0 5px;white-space:nowrap;overflow:hidden}.session-topics{display:flex;gap:4px;flex-wrap:wrap}.session-topic{font-size:10px;display:inline-flex;align-items:center;gap:4px;background:var(--surface);border-radius:4px;padding:2px 4px;max-width:100%}.session-topic i{width:5px;height:5px;background:var(--topic);border-radius:50%;flex-shrink:0}.session-topic small{font-size:9px;color:var(--muted)}.unified.compact-session .event-inner{padding:1px 4px}.compact-session .event-heading{font-size:10px}.compact-session .session-total{font-size:9px}.unified.completed .event-heading{text-decoration:line-through}.unified.life .event-inner{background:repeating-linear-gradient(135deg,var(--surface),var(--surface) 6px,var(--surface2) 6px,var(--surface2) 8px)}.session-handle{position:absolute;bottom:0;left:3px;right:3px;height:9px;display:flex;align-items:center;justify-content:center;cursor:ns-resize;z-index:7;touch-action:none}.session-handle span{width:25px;height:3px;border-radius:4px;background:var(--topic);box-shadow:0 0 0 1px var(--surface);opacity:.55}.event:hover .session-handle span,.session-handle:focus span{opacity:1}.previewing{z-index:9}.previewing .event-inner{outline:2px dashed var(--accent);outline-offset:-1px}.session-callout{position:fixed;z-index:40;width:min(390px,calc(100vw - 24px));max-height:calc(100dvh - 110px);overflow:auto;background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:12px;padding:16px;box-shadow:0 12px 50px #0003}.callout-heading{display:flex;align-items:center;justify-content:space-between;font-size:14px;gap:8px}.callout-heading .icon-button{width:28px;height:28px;flex-shrink:0}.session-callout p{font-size:12px;line-height:1.6;color:var(--muted);margin:6px 0 12px}.allocation-row{display:flex;gap:8px;margin-top:7px}.allocation-row .topic-choice{flex:1;min-width:0;font-size:12px}.allocation-row select{width:100px;font-size:12px}.allocation-remaining{margin:13px 0;font-size:12px;color:var(--accent);font-weight:600}.callout-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.remove-topic{display:flex;align-items:center;gap:3px;font-size:11px;padding:8px 3px}.remove-topic svg{width:16px;height:16px}.scope-field{margin-top:15px}.scope-field small{font-size:11px;line-height:1.5}.repeat-edit{margin-top:18px}.completion-label{margin-top:20px;font-size:14px}.repeat-section{border:1px solid var(--border);border-radius:9px;margin-top:16px;padding:12px}.repeat-section summary{display:flex;align-items:center;gap:7px;font-size:13px;cursor:pointer}.repeat-section summary span{margin-left:auto;color:var(--muted);font-size:11px}.repeat-section[open] summary{margin-bottom:15px}.recurrence-fields .form-row{margin-top:10px}.field-label{font-size:12px;color:var(--muted);font-weight:600}.weekday-picker{display:flex;gap:5px;margin:8px 0 15px}.weekday-picker label{flex:1;cursor:pointer;position:relative}.weekday-picker input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer}.weekday-picker span{display:block;text-align:center;padding:10px 2px;border:1px solid var(--border);border-radius:7px;font-size:12px}.weekday-picker input:checked+span{background:var(--accentsoft);color:var(--accent);border-color:var(--accent)}.weekday-picker input:focus-visible+span{outline:3px solid var(--accent)}.recurrence-note{line-height:1.6}.mobile-menu,.mobile-close{display:none}.placement-banner{background:var(--accentsoft);padding:12px 18px;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--accent)}.placement-banner button{margin-left:auto;text-decoration:underline}.touch-ghost{position:fixed;z-index:110;pointer-events:none;background:var(--accent);color:white;padding:10px 15px;border-radius:9px;box-shadow:0 8px 25px #0004}.library-backdrop{display:none}.account-button{position:relative}.account-button.synced:after,.account-button.pending:after{content:'';position:absolute;right:3px;bottom:3px;width:7px;height:7px;border-radius:50%;background:#229986}.account-button.pending:after{background:#d99724}.cloud-status{padding:12px;border-radius:9px;background:var(--surface2);font-size:13px;line-height:1.6;margin:12px 0}.cloud-actions{display:flex;gap:8px;flex-wrap:wrap}.sync-conflict{border:1px solid var(--border);padding:12px;border-radius:9px;margin:12px 0}.sync-conflict p{font-size:13px;line-height:1.6}.sync-conflict .secondary{margin:10px 5px 0 0}.account-email{overflow-wrap:anywhere}.shell{height:100dvh}button{-webkit-tap-highlight-color:transparent}
@media(pointer:coarse){.icon-button{min-width:40px;min-height:40px}.session-handle{height:13px}.session-handle span{height:4px;width:30px}.library-tile{touch-action:pan-y}.event{touch-action:pan-y}.session-handle{touch-action:none}.primary,.secondary{min-height:44px}.check{width:32px;height:32px;flex-basis:32px}}
@media(max-width:1100px){.topbar{gap:9px}.brand{width:auto;margin-right:12px}.topnav button{padding:0 10px}.theme-switch{display:none}.event-heading{flex-wrap:wrap;gap:1px}.event-heading>span:first-child{flex-basis:100%}.compact-session .event-heading{flex-wrap:nowrap}.compact-session .event-heading>span:first-child{flex-basis:auto}.session-topics{gap:2px}.session-topic{font-size:9px}.session-topic small{display:none}}
@media(max-width:700px){.shell{grid-template-columns:minmax(0,1fr);grid-template-rows:108px minmax(0,1fr)}.topbar{padding:8px 12px 0;gap:5px;flex-wrap:wrap;align-content:flex-start;position:relative}.brand{margin-right:0;flex:1;gap:7px}.brand img{width:28px;height:28px}.brand span{font-size:18px}.brand small{display:none}.topbar>.spacer{display:none}.topbar>.icon-button[data-action=help],.save-status{display:none}.mobile-menu{display:inline-flex}.topnav{order:10;width:100%;height:44px;justify-content:center;gap:12px}.topnav button{justify-content:center;flex:1;max-width:220px}.sidebar{display:none}.sidebar.mobile-open{display:flex;position:fixed;inset:0 auto 0 0;width:min(300px,86vw);z-index:61;box-shadow:10px 0 50px #0004;padding:15px 18px 30px;overscroll-behavior:contain}.mobile-close{display:flex}.sidebar .mini-calendar{display:none}.sidebar .library-tile{min-height:46px;font-size:14px}.library-backdrop{display:block;position:fixed;inset:0;background:#0005;z-index:60}.dashboard{padding:21px 15px 30px}.page-intro{display:block;margin-bottom:18px}.page-intro h1{font-size:25px}.page-intro .primary{margin-top:16px;font-size:14px}.stats{grid-template-columns:1fr;gap:10px}.stat{min-height:110px;padding:17px}.stat-top{font-size:13px;margin-bottom:10px}.stat-value{font-size:27px}.stat-bottom{line-height:1.5}.dashboard-columns{gap:15px}.panel-heading{padding:17px 15px 12px}.panel-heading h2{font-size:17px}.week-strip{padding:0 8px 12px;gap:2px}.week-strip button{font-size:10px}.day-minutes{font-size:9px}.today-sessions{padding:0 15px 15px}.toolbar{padding:12px 12px 8px;gap:3px}.toolbar h1{font-size:17px;flex:1;margin-left:4px}.toolbar .spacer{display:none}.toolbar>.icon-button{min-width:32px;width:32px}.toolbar .secondary{padding:8px 9px;font-size:12px}.navigation .icon-button{width:28px;min-width:28px}.view-switch{order:10;width:100%;margin-top:7px}.view-switch button{flex:1;padding:8px 2px}.calendar-subbar{padding:0 13px 10px;gap:8px}.calendar-subbar>.spacer,.calendar-subbar>span{display:none}.calendar-subbar .check-label{margin-left:auto;font-size:11px}.calendar-surface{margin:0 9px 10px;border-radius:9px}.calendar-days,.time-grid{grid-template-columns:46px repeat(var(--days),minmax(0,1fr))}.calendar-days{padding-right:0}.day-header{padding:7px 0}.day-header .weekday{letter-spacing:0;font-size:9px}.day-header .day-number{width:27px;height:27px;font-size:18px}.day-header .day-workload{font-size:8px}.time-scroll{scrollbar-gutter:auto}.calendar-bottom{display:none}.warning-banner{margin:0 10px 9px;padding:8px 9px;font-size:11px}.event-heading{font-size:12px}.event-time{font-size:11px}.session-topic{font-size:11px}.session-topic small{display:inline}.time-grid[style*="--days:7"] .session-total,.time-grid[style*="--days:7"] .event-time,.time-grid[style*="--days:7"] .session-topics{display:none}.time-grid[style*="--days:7"] .event-heading{font-size:8px;writing-mode:vertical-rl}.time-grid[style*="--days:5"] .session-topics{display:none}.time-grid[style*="--days:7"] .event-inner{padding:3px 1px}.month-grid{grid-template-rows:25px repeat(6,minmax(82px,1fr))}.month-date{padding:4px 1px}.month-date>span{display:none}.month-event{font-size:9px;padding:3px 1px}.month-event span{overflow:hidden;text-overflow:ellipsis}.month-cell{padding:1px}.more-events{font-size:9px}.agenda{padding:0 12px}.agenda-day{grid-template-columns:45px minmax(0,1fr);gap:8px}.session-row{gap:8px}.session-row .row-title{font-size:13px}.session-row .row-meta{line-height:1.5}dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 24px);border-radius:14px}.modal-head{padding:17px 16px 10px}.modal-head h2{font-size:20px}.modal-body{padding:5px 16px 20px}.topic-choice{font-size:12px;padding:10px 7px}.form-row{gap:8px}.edit-part{gap:5px}.edit-part .part-name{font-size:12px}.edit-part input{width:68px}.remove-topic span{display:none}.remove-topic{min-width:32px;min-height:40px;justify-content:center}.modal-actions{flex-wrap:wrap;gap:7px}.modal-actions .primary{min-width:120px}.conflict-actions{flex-wrap:wrap}.session-callout{max-height:calc(100dvh - 140px)}#toast{max-width:calc(100vw - 24px);width:max-content;font-size:12px;bottom:12px;padding:10px 13px}.recurrence-fields .form-row{flex-wrap:wrap}.weekday-picker{gap:3px}.weekday-picker span{font-size:10px}.settings-line{gap:9px}.settings-line select{width:110px}}
