/* Plan workspace: the page owns regions; shared controls own their geometry. */
.workspace-content.plan-author-page{padding:0;min-height:0;height:calc(100dvh - var(--plan-top,52px) - var(--plan-bottom,0px));display:flex;flex-direction:column;min-width:0;overflow:hidden}
.navigation-shell>.workspace-content.plan-author-page{padding-top:0;overflow-anchor:none}
.plan-author-header{width:100%;min-width:0;gap:12px;flex:1 1 auto}
.plan-author-identity{display:flex;align-items:center;gap:6px;min-width:0;flex:1;white-space:nowrap;overflow:hidden}
.plan-author-identity>span:not([aria-hidden]),.plan-author-identity>strong{min-width:0;overflow:hidden;text-overflow:ellipsis}
.plan-author-header>.ui-action-menu{flex:none}
.plan-author-region{flex:1;min-width:0;min-height:0;position:relative;overflow:hidden}
.plan-author-stage{--plan-source-min:320px;height:100%;min-height:0;display:grid;grid-template-columns:minmax(0,min(calc(100% * var(--plan-ratio,.72) - 4px),calc(100% - var(--plan-source-min) - 8px))) 8px minmax(var(--plan-source-min),1fr)}
.plan-author-plan,.plan-author-source{min-width:0;min-height:0;display:flex;flex-direction:column;position:relative}
.plan-author-plan{container-type:inline-size;container-name:plan-panel}
.plan-context-bar,.plan-source-toolbar{box-sizing:border-box;height:48px;min-height:48px;max-height:48px;flex:none;display:flex;align-items:center;gap:8px;padding:4px 8px;border-bottom:1px solid var(--line)}
.plan-context-summary{flex:1;min-width:0;display:grid;grid-template-rows:auto;align-content:center;gap:1px}
.plan-context-counts{min-width:0;font-size:13px;line-height:1.25;color:var(--muted);gap:0 8px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.plan-context-counts::-webkit-scrollbar{display:none}
.plan-context-counts:focus-visible{outline:none}
.plan-context-summary:has(.plan-context-counts:focus-visible){outline:3px solid var(--info-line);outline-offset:3px}
.plan-context-counts>span{white-space:nowrap}
.plan-context-selection{flex:1;min-width:0;font-size:14px;white-space:nowrap}
.plan-context-save-status{display:block;min-width:0;min-height:14px;font-size:11px;line-height:14px;white-space:nowrap;color:var(--danger-ink)}
.plan-context-save-status.is-saving{color:var(--muted)}
.plan-context-save-status:empty{display:none}
.plan-context-bar>.ui-action-menu,.plan-context-bar>.ui-action,.plan-context-primary,.plan-history-actions{flex:none}
.plan-context-primary{white-space:nowrap}
.plan-context-bar{position:relative}
/* The scroll viewport has room for the existing six-pixel focus outline without
   increasing the agreed row height or shifting the topics below it. */
.plan-context-scroll{position:absolute;inset:-6px 0 -5px;box-sizing:border-box;display:flex;align-items:center;gap:inherit;padding:10px 8px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;pointer-events:none}
.plan-context-scroll::-webkit-scrollbar{display:none}
.plan-context-scroll>*{pointer-events:auto}
.plan-context-scroll>.plan-context-summary{flex:1 0 auto}
.plan-context-scroll>.ui-action-menu,.plan-context-scroll>.ui-action{flex:none}
.plan-source-toolbar>input{min-width:0;flex:1}
.plan-source-toolbar{position:relative;z-index:1}
.plan-author-source-body{isolation:isolate}
.plan-source-toolbar>.plan-source-mode{position:relative;inset:auto;flex:none;z-index:5}
.plan-source-toolbar:has(input[hidden]){justify-content:flex-end}
.plan-author-list,.plan-author-source-body{min-width:0;min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:10px 12px 20px;box-sizing:border-box}
.plan-author-list{user-select:none;overflow-anchor:none}
.plan-graph-actions{--ui-toolbar-action-height:44px;flex:none}
.plan-graph-actions[hidden]{display:none}
.plan-author-stage[data-source-mode=graph] .plan-source-toolbar{position:absolute;inset:0 0 auto;height:52px;min-height:52px;max-height:52px;border:0;background:transparent;pointer-events:none}
.plan-author-stage[data-source-mode=graph] .plan-source-toolbar>*{pointer-events:auto}
.plan-author-stage[data-source-mode=graph] .plan-source-mode{margin-left:auto}
.plan-pane-divider{cursor:col-resize;touch-action:none;position:relative;outline-offset:-2px;background:linear-gradient(to right,transparent calc(50% - .5px),var(--line) calc(50% - .5px),var(--line) calc(50% + .5px),transparent calc(50% + .5px))}
.plan-pane-divider:hover,.plan-pane-divider:focus-visible{background:linear-gradient(to right,transparent 3px,var(--line-strong) 3px,var(--line-strong) 5px,transparent 5px)}
.plan-unit{position:relative;min-width:0;padding-inline:36px 2px;margin-block:2px}
.plan-unit-lesson{min-height:30px}
.plan-lesson-marker{position:absolute;inset:0 auto 0 0;width:30px}
.plan-lesson-marker::after{content:'';position:absolute;inset:1px auto 1px 23px;width:7px;border:solid var(--line-strong);border-width:1px 0 1px 1px;border-radius:4px 0 0 4px;pointer-events:none}
.plan-lesson-caption.ui-action{position:absolute;left:0;top:50%;transform:translateY(-50%) rotate(180deg);writing-mode:vertical-rl;white-space:nowrap;font-size:10px;line-height:1.1;min-height:0;height:auto;padding:3px 2px;border:1px solid var(--line);border-radius:4px;background:var(--surface-muted);color:var(--muted);cursor:grab;touch-action:none}
.plan-lesson-caption[aria-pressed=true]{background:var(--context-selected-soft);border-color:var(--context-selected-line);color:var(--ink)}
.plan-unit-topics{min-width:0}
.curriculum-list-window{position:relative;min-width:0}
.plan-topic-row,.plan-source-row{display:flex;align-items:center;gap:8px;min-width:0;min-height:28px;padding:2px 0;box-sizing:border-box}
.plan-topic-pick{min-width:0;flex:1;cursor:grab;touch-action:none}
.plan-topic-title{min-width:0;overflow-wrap:anywhere;line-height:1.3}
.plan-topic-time{flex:none;color:var(--muted);font-size:12px;white-space:nowrap}
.plan-topic-duration{white-space:nowrap}
.plan-repeat-icon{display:inline-flex;flex:none;color:var(--muted)}
.plan-repeat-icon>svg{width:14px;height:14px}
.plan-lesson-gap{position:relative;height:4px}
.plan-lesson-gap::before{content:'';position:absolute;inset:50% 0 auto;border-top:1px solid var(--line-strong);opacity:0;pointer-events:none}
.plan-split-action{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;opacity:0;pointer-events:none;white-space:nowrap}
.plan-lesson-gap:hover::before,.plan-lesson-gap:focus-within::before{opacity:1}
.plan-lesson-gap:hover>.plan-split-action,.plan-split-action:hover,.plan-split-action:focus-visible{opacity:1;pointer-events:auto;background:var(--surface)}
.plan-source-topic{display:flex;align-items:center;gap:6px;flex:1;min-width:0;cursor:grab;touch-action:none;outline-offset:2px}
.plan-source-folder-toggle{max-width:100%;margin-block:3px 1px}
.plan-source-marker{display:inline-grid;place-items:center;flex:0 0 17px;width:17px;height:17px}
.plan-source-marker>svg{width:17px;height:17px}
.plan-source-folder-toggle{margin-block:0;gap:6px}
.plan-source-folder-row{display:flex;min-height:28px;padding:2px 0;align-items:center}
.plan-source-folder-children{position:relative;padding-inline-start:7px;margin-inline-start:4px}
.plan-source-folder-children>.plan-source-row,.plan-source-folder-children>.plan-source-folder-row{position:relative}
.plan-source-folder-children>.plan-source-row::before,.plan-source-folder-children>.plan-source-folder-row::before{content:'';position:absolute;left:-7px;top:0;width:7px;height:50%;border:solid var(--line);border-width:0 0 1px 1px;border-bottom-left-radius:5px;pointer-events:none}
.plan-source-folder-children>.plan-source-row::after,.plan-source-folder-children>.plan-source-folder-row::after{content:'';position:absolute;left:-7px;top:50%;bottom:0;border-left:1px solid var(--line);pointer-events:none}
.plan-source-folder-children>:is(.plan-source-row,.plan-source-folder-row):last-child::after{display:none}
.plan-source-folder-children>.plan-source-folder-row:has(+.plan-source-folder-children:last-child)::after{display:none}
.plan-source-folder-children>.plan-source-folder-children::before{content:'';position:absolute;left:-11px;top:0;bottom:0;border-left:1px solid var(--line);pointer-events:none}
.plan-source-folder-children>.plan-source-folder-children:last-child::before{display:none}
.plan-source-graph{height:100%;min-height:0;position:relative;overflow:hidden}
.plan-source-graph>.cw-product{height:100%}
.plan-author-source-body:has(.plan-source-graph){padding:0;overflow:hidden}
.plan-graph-duration{position:absolute;z-index:2;font-size:12px;color:var(--muted);white-space:nowrap;pointer-events:auto}
.plan-author-page .sw-order-dragging{position:absolute;visibility:hidden;pointer-events:none}
.plan-author-page .sw-order-placeholder{pointer-events:none;opacity:.65;overflow-anchor:none}
.plan-author-page .sw-order-placeholder .plan-split-action,.plan-author-drag-ghost .plan-split-action{visibility:hidden}
.plan-author-page .sw-order-sorting{cursor:grabbing;user-select:none;overflow-anchor:none}
.plan-author-drag-ghost{position:fixed;z-index:1500;pointer-events:none;margin:0;max-width:min(360px,calc(100vw - 16px));padding:6px 10px;border:1px solid var(--line-strong);border-radius:5px;background:var(--surface);color:var(--ink);box-shadow:0 5px 16px #0002;opacity:.96}
.plan-author-drag-ghost .plan-topic-duration{color:var(--muted)}
.plan-author-drag-ghost{max-height:calc(100dvh - 16px);overflow:hidden}
.plan-source-window-row{box-sizing:border-box;position:absolute;left:0;right:0}
.plan-source-tree-line{position:absolute;top:0;bottom:0;border-left:1px solid var(--line);pointer-events:none}
.plan-source-tree-elbow{bottom:50%;width:7px;border-bottom:1px solid var(--line);border-bottom-left-radius:5px}
.plan-source-tree-tail{top:50%}
.plan-source-drag-preview{display:flex;align-items:center;gap:6px;min-width:0}
.plan-source-drag-preview>.plan-topic-title{flex:1}
.plan-source-drag-preview>small{flex:none;color:var(--muted)}
.plan-picker-body{display:flex;flex-direction:column;gap:8px;min-width:0}
.plan-picker-body>input{width:100%;min-width:0;box-sizing:border-box}
.plan-picker-list{min-height:0;max-height:min(60dvh,520px);overflow:auto;padding:3px}
.plan-picker-program{gap:6px;align-items:center;margin-block:6px 2px}
.plan-picker-program>strong{flex:1;min-width:0;overflow-wrap:anywhere}
.plan-picker-row{display:flex;align-items:center;gap:4px;padding-inline-start:12px;min-width:0}
.plan-picker-row>.ui-action:first-child{flex:1;min-width:0}
.plan-picker-row [aria-current=true]{font-weight:600;color:var(--ink);background:var(--context-selected-soft)}
@container plan-panel (max-width:600px){.plan-history-actions{display:none}}
@container plan-panel (max-width:380px){.plan-context-counts{font-size:12px}.plan-context-bar{gap:6px}}
@container plan-panel (max-width:850px){.plan-context-bar[data-selection=topics] .plan-history-actions{display:none}}
@media(max-width:750px){
 .plan-author-identity{font-size:13px}
 .plan-author-header{gap:6px;flex-wrap:wrap}
 .plan-author-stage{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) 1px minmax(0,1fr)}
 .plan-pane-divider{cursor:default;background:var(--line)}
 .plan-context-bar,.plan-source-toolbar{padding-inline:6px}
 .plan-context-scroll{padding-inline:6px}
 .plan-author-list,.plan-author-source-body{padding:8px 8px 16px}
 .plan-unit{padding-inline-start:33px}
}
