/* The calendar is the workspace; task settings stay alongside it. */
#plan-panel{min-width:0;--plan-border:#e4ebf5;--plan-soft:#f5f8fd}
#plan-panel [hidden]{display:none!important}
#plan-panel :focus-visible{outline:2px solid #93b6ea;outline-offset:2px}
#plan-panel .plan-heading{gap:20px;align-items:center}
#plan-panel .plan-heading h1{font-size:38px;line-height:1.15}
#plan-panel .plan-intro{margin:8px 0 24px;color:var(--muted);font-size:13px;line-height:1.6}
#plan-panel .plan-views{display:flex;flex-wrap:wrap;gap:3px;padding:4px;border:1px solid var(--plan-border);border-radius:12px;background:#f1f5fa}
#plan-panel .plan-views button{min-height:34px;padding:6px 14px;border-radius:8px;color:#70839d;font-size:12px}
#plan-panel .plan-views button[aria-pressed=true]{background:#fff;color:var(--blue);box-shadow:0 2px 5px #213c6210}
#plan-panel .plan-toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px;padding:12px 0;border-top:1px solid var(--plan-border);border-bottom:1px solid var(--plan-border)}
#plan-panel .plan-navigation{margin:0;gap:4px;display:flex;align-items:center}
#plan-panel .plan-navigation button{min-width:32px;min-height:36px;padding:4px 9px;border-radius:8px;font-size:20px;line-height:1;color:#5e7596}
#plan-panel .plan-navigation #plan-today{font-size:12px;padding:8px 12px;background:var(--plan-soft);margin-left:4px}
#plan-panel .plan-navigation input{width:134px;height:36px;font-size:13px;padding:6px 8px;box-sizing:border-box;border:1px solid var(--plan-border);border-radius:8px;background:#fff}
#plan-period{font-size:15px;font-weight:600;margin-left:auto;color:var(--ink)}
#plan-calendar-zone{font-size:11px;color:var(--muted)}
#plan-panel .plan-workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start}
#plan-panel .plan-main,#plan-panel .plan-sidebar{min-width:0}
#plan-panel .plan-sidebar{display:flex;flex-direction:column;gap:16px}
#plan-panel .plan-content{display:block;margin:0;min-width:0}
#plan-panel .plan-inspector,#plan-panel .plan-library{padding:18px;border:1px solid var(--plan-border);border-radius:16px;background:#fff;box-shadow:0 4px 16px #27426c03;min-width:0}
#plan-panel :is(.plan-inspector,.plan-library)>header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
#plan-panel :is(.plan-inspector,.plan-library) h2{font:600 14px/1.4 var(--font);margin:0}
#plan-panel :is(#plan-editor-hint,.plan-library .field-help){font-size:12px;line-height:1.55;color:var(--muted);margin:0 0 14px}
#plan-dirty{font-size:10px;color:#98662b;line-height:1.4}
#plan-library-count{font-size:11px;color:var(--blue);padding:3px 7px;border-radius:6px;background:#eff5ff}
#plan-panel #plan-edit{border:0;padding:0;max-width:none;display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
#plan-panel #plan-edit label,#plan-panel #repeat-form label,#plan-panel #capacity-form label{min-width:0;display:flex;flex-direction:column;gap:6px;font-size:11px;line-height:1.5;color:var(--muted)}
#plan-panel :is(#plan-edit,#repeat-form,#capacity-form) :is(input:not([type=checkbox]),select,textarea),#plan-search,#plan-filter{box-sizing:border-box;display:block;min-width:0;max-width:100%;width:100%;height:38px;padding:8px 10px;border:1px solid #e1e8f1;border-radius:8px;font:13px/1.4 var(--font);background:#f9fbfd;color:var(--ink)}
#plan-panel input:is([type=date],[type=time]){appearance:none;-webkit-appearance:none;overflow:hidden}
#plan-panel input::-webkit-date-and-time-value{min-width:0;text-align:left}
#plan-panel :is(#plan-edit,#repeat-form,#capacity-form) textarea{height:70px;resize:vertical}
#plan-panel .plan-field-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 10px}
#plan-panel .plan-quick-dates{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 14px}
#plan-panel .plan-quick-dates button{padding:5px 8px;min-height:30px;border:1px solid var(--plan-border);border-radius:7px;font-size:10px;background:#fff;color:#5876a1}
#plan-panel #plan-edit .plan-pin{flex-direction:row;justify-content:flex-start;align-items:center;gap:8px;min-height:38px;margin:10px 0;color:#637b97}
#plan-panel #plan-edit .plan-pin input{width:16px!important;height:16px;flex:0 0 16px}
#plan-panel .plan-editor-actions{display:flex;gap:8px}
#plan-panel .plan-editor-actions button{min-height:36px;padding:8px 12px;border-radius:8px;font-size:12px}
#plan-panel #plan-save{background:var(--blue);color:white;flex:1}
#plan-panel #plan-clear{background:var(--plan-soft);color:#647f9f}
#plan-panel #plan-unschedule{font-size:11px;min-height:32px;padding:8px 0;color:#758599}
#plan-panel button:disabled{opacity:.45;cursor:default}
#plan-panel #plan-status{font-size:11px;line-height:1.6;margin:8px 0 0}
#plan-panel #plan-status:empty{display:none}
#plan-panel .plan-draft-link{display:block;font-size:11px;text-align:left;padding:7px 0;overflow-wrap:anywhere}
#plan-panel .repeat-settings{max-width:none;margin:14px 0 0;padding:0;border:0;border-top:1px solid var(--plan-border)}
#plan-panel #repeat-options>summary{padding:12px 0;font-size:12px;color:#5f7594;cursor:pointer}
#plan-panel #repeat-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 10px;margin:0;padding:0}
#plan-panel #repeat-form :is(.field-wide,p){grid-column:1/-1}
#plan-panel #repeat-form .field-help,#repeat-status,#repeat-instance{font-size:11px;line-height:1.6;margin:0;color:var(--muted)}
#plan-panel #repeat-save{grid-column:1/-1;min-height:36px;background:#eef4ff;border-radius:8px;font-size:12px}
#plan-panel #repeat-instance:empty{display:none}
#plan-search{margin-bottom:8px;background:#fff}
#plan-filter{height:32px;font-size:11px;margin-bottom:8px;background:#f4f7fb;border:0}
#plan-backlog{max-height:440px;overflow:auto;overscroll-behavior:contain;padding:2px}
#plan-panel .plan-task{position:relative;min-width:0;padding:10px 58px 10px 12px!important;border:1px solid #e3eaf4;border-radius:9px;background:#fff;margin:6px 0;transition:background .12s,border-color .12s;box-shadow:0 1px 2px #263c5d04;overflow-wrap:anywhere}
#plan-panel .plan-task:hover{border-color:#b9cee9;background:#fcfdff}
#plan-panel .plan-task.is-selected{border-color:#9bbbe7;background:#f3f7ff}
#plan-panel .plan-task-heading{display:flex;align-items:baseline;gap:5px;min-width:0}
#plan-panel .plan-task .plan-task-title{display:block;min-width:0;max-width:100%;padding:0;min-height:22px;text-align:left;font-size:12px;line-height:1.5;color:#334963;font-weight:500;overflow-wrap:anywhere}
#plan-panel .plan-task-meta{display:flex;flex-wrap:wrap;gap:3px 6px;margin-top:3px;font-size:10px;line-height:1.5;color:#8290a2}
#plan-panel .plan-clock{font-variant-numeric:tabular-nums;font-weight:600;color:#5a78a0}
#plan-panel .plan-task small{font-size:10px;line-height:1.5;margin-top:4px;color:#8694a6}
#plan-panel .plan-task .plan-deadline{color:#7991af}
#plan-panel .plan-task .plan-deadline.is-overdue{color:#b5695b}
#plan-panel .plan-project-tag{color:#5e7fa5}
#plan-panel .plan-priority{font-size:13px;font-weight:800;color:#c09413;flex:none}
#plan-panel .plan-priority[data-priority="2"]{color:#d44b4b}
#plan-panel .plan-task .plan-repeat-label{display:block;padding:0;min-height:20px;margin-top:4px;font-size:10px;line-height:1.5;text-align:left;color:#6483b0;overflow-wrap:anywhere}
#plan-panel .plan-task-actions{position:absolute;top:5px;right:5px;display:flex;gap:1px}
#plan-panel .plan-task-actions :is(.plan-task-options,.plan-task-delete){position:static;display:grid;place-items:center;padding:0;width:22px;min-height:25px;height:25px;font-size:15px;color:#8b9ab0;border-radius:5px}
#plan-panel .plan-task-actions button:hover{background:#eaf0fa;color:#3e6599}
#plan-panel .plan-task .plan-quick-schedule{position:absolute;right:8px;bottom:6px;display:grid;place-items:center;width:28px;min-height:28px;padding:0;font-size:18px;border-radius:7px;background:#eef4ff;color:#4e7cb8}
#plan-panel .plan-task.is-dragging{opacity:.45}
#plan-panel .is-drop-target{background:#edf5ff!important;box-shadow:inset 0 0 0 2px #80abe7!important}
#plan-panel .plan-empty{font-size:11px;line-height:1.6;color:#8c9baf;margin:12px 0;padding:8px 0}
#plan-panel .plan-day{padding:12px;min-height:100px;border:1px solid var(--plan-border);border-radius:12px;background:#fff}
#plan-panel .plan-day-heading{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-bottom:10px}
#plan-panel .plan-day-heading :is(button,h2){font:600 12px/1.5 var(--font);margin:0;padding:0;min-height:28px;text-align:left;color:#4d6686}
#plan-panel .plan-day-count{font-size:10px;color:#91a2b8}
#plan-panel .plan-day.is-today .plan-day-heading button{color:var(--blue)}
#plan-panel .plan-day.is-current{border-color:#b7ceec;background:#f8fbff}
#plan-panel .plan-agenda{display:grid;gap:12px}
#plan-panel .plan-week-scroll,#plan-panel .plan-month-scroll{overflow:auto;overscroll-behavior-x:contain;border:1px solid var(--plan-border);border-radius:14px;background:white}
#plan-panel .plan-week-grid{display:grid;grid-template-columns:repeat(7,minmax(132px,1fr));min-height:460px}
#plan-panel .plan-week-grid .plan-day{border:0;border-right:1px solid var(--plan-border);border-radius:0;padding:10px 7px}
#plan-panel .plan-week-grid .plan-day:last-child{border-right:0}
#plan-panel .plan-week-grid .plan-task{padding:8px 8px 29px!important;font-size:11px}
#plan-panel .plan-week-grid .plan-task-actions{top:auto;bottom:3px}
#plan-panel .plan-week-grid .plan-task .plan-task-title{font-size:11px}
#plan-panel .plan-month-grid{display:grid;grid-template-columns:repeat(7,minmax(100px,1fr))}
#plan-panel .plan-month-weekday{padding:10px 7px;text-align:center;font-size:10px;color:#7e92ad;background:#f8fafd;border-bottom:1px solid var(--plan-border)}
#plan-panel .plan-month-day{min-height:105px;border-right:1px solid #edf1f7;border-bottom:1px solid #edf1f7;padding:5px;min-width:0}
#plan-panel .plan-month-day.is-outside{background:#f7f9fc}
#plan-panel .plan-month-number{min-height:25px;min-width:25px;padding:3px;border-radius:7px;font-size:11px;color:#6a809c;display:block;margin-bottom:4px}
#plan-panel .is-today>.plan-month-number{color:#fff;background:var(--blue)}
#plan-panel .plan-month-day.is-current{background:#f1f6ff}
#plan-panel .plan-month-day .plan-task{padding:3px 5px!important;margin:3px 0;border-radius:5px;box-shadow:none;background:#eef4ff;border-color:transparent}
#plan-panel .plan-month-day .plan-task :is(.plan-task-meta,.plan-task-actions,.plan-repeat-label,small){display:none}
#plan-panel .plan-month-day .plan-task .plan-task-title{font-size:10px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:18px}
#plan-panel .plan-month-more{font-size:10px;min-height:22px;padding:2px 4px}
#plan-panel .plan-daily{border:1px solid var(--plan-border);border-radius:14px;background:#fff;overflow:hidden}
#plan-panel .plan-daily-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--plan-border)}
#plan-panel .plan-daily-heading h2{font:600 15px/1.5 var(--font);margin:0;color:#415b7a}
#plan-panel .plan-daily-heading>span{font-size:11px;color:#8b9db5;white-space:nowrap}
#plan-panel .plan-flexible{padding:14px 18px;border-bottom:1px solid var(--plan-border);background:#fbfcfe}
#plan-panel :is(.plan-flexible,.plan-timeline-heading) h3{font:500 11px/1.5 var(--font);color:#7890ad;margin:0}
#plan-panel .plan-flexible .plan-empty{margin:0;padding:6px 0}
#plan-panel .plan-timeline-heading{display:flex;justify-content:space-between;gap:10px;padding:12px 18px}
#plan-panel .plan-timeline-heading>span{font-size:10px;color:#8b9db5}
#plan-panel .plan-time-scroll{max-height:650px;overflow:auto;overscroll-behavior:contain;margin:0 12px 0 8px;padding-top:9px}
#plan-panel .plan-time-grid{position:relative;margin:0 6px 0 0;min-width:0}
#plan-panel .plan-time-slot{position:absolute;left:48px;right:0;height:36px;min-height:0;width:auto;border:0;border-top:1px dashed #eff2f8;border-radius:0;background:transparent;padding:0}
#plan-panel .plan-time-slot:has(.plan-hour){border-top:1px solid #e7edf6}
#plan-panel .plan-time-slot:hover{background:#f5f9ff}
#plan-panel .plan-hour{position:absolute;right:calc(100% + 7px);top:-8px;font:10px/1.5 var(--font);color:#93a2b6;white-space:nowrap}
#plan-panel .plan-time-block{position:absolute;box-sizing:border-box;min-height:0;margin:0;padding:3px 35px 3px 8px!important;border:1px solid #bed3ef;border-left:3px solid #699cdd;border-radius:6px;background:#edf4ff;overflow:hidden;box-shadow:none}
#plan-panel .plan-time-block .plan-task-title{font-size:11px;min-height:17px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#plan-panel .plan-time-block .plan-task-meta{font-size:10px;margin:1px 0;white-space:nowrap;overflow:hidden;display:block}
#plan-panel .plan-time-block :is(small,.plan-repeat-label,.plan-task-delete){display:none}
#plan-panel .plan-time-block.is-marker{border-style:dashed;background:#f9fbff;border-left-style:solid}
#plan-panel .plan-time-block.is-marker .plan-task-meta{display:none}
#plan-panel .plan-time-help,#plan-panel .plan-calendar-help{font-size:10px;color:#8a9bb1;line-height:1.7;padding:10px 18px;margin:0}
#plan-panel .plan-calendar-help{padding:10px 0}
#plan-panel .plan-mixed{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:14px}
/* Availability is a concise budget with optional, inline adjustments. */
#plan-panel .capacity{border:1px solid var(--plan-border);border-radius:14px;padding:16px 18px;margin:0 0 18px;max-width:none;background:linear-gradient(110deg,#f5f8fe,#fff)}
#plan-panel .capacity-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
#plan-panel .capacity-heading h2{font:600 13px/1.4 var(--font);margin:0}
#capacity-dirty{font-size:10px;color:#98662b}
#plan-panel .capacity-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}
#plan-panel .capacity-metrics>div{min-width:0}
#plan-panel .capacity-metrics span{font-size:10px;line-height:1.5;color:#8395ad;margin-bottom:4px}
#plan-panel .capacity-metrics strong{font-size:20px;font-weight:600;color:#41699e;margin:0;line-height:1.3;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
#capacity-meter{height:4px;border-radius:3px;background:#e8eff9;overflow:hidden;margin:14px 0 8px}
#capacity-meter-fill{display:block;height:100%;background:#79a1dc;border-radius:3px;max-width:100%}
.is-over-capacity #capacity-meter-fill{background:#cb9271}
#plan-panel #capacity-line{font-size:10px;color:#8697ad;margin:0 0 4px;line-height:1.6}
#plan-panel .capacity-warning{font-size:11px;line-height:1.6;color:#aa7959}
#plan-panel #capacity-settings{padding:0;margin:0;border:0}
#plan-panel #capacity-settings summary{display:inline-flex;align-items:center;min-height:30px;font-size:11px;color:#6785ac;cursor:pointer;padding:5px 0}
#plan-panel #capacity-settings summary:before{content:'＋';margin-right:5px}
#plan-panel #capacity-settings[open] summary:before{content:'−'}
#plan-panel #capacity-mode{font-size:10px;line-height:1.5;color:#8e9bad;margin:0 0 12px}
#plan-panel #capacity-form{max-width:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0;margin:0}
#plan-panel #capacity-form button{min-height:36px;border-radius:8px;font-size:11px;background:#ecf3ff}
#plan-panel .capacity-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:2px}
#plan-panel .capacity-actions button{font-size:11px;padding:4px 0;min-height:28px;color:#6686ae}
#plan-panel #capacity-status:empty,#plan-panel #capacity-warning:empty{display:none}
#plan-panel #capacity-status{font-size:11px;margin:5px 0 0;line-height:1.6;color:#7389a6}
#plan-panel #capacity-dialog{position:static;width:auto;max-width:none;max-height:none;padding:14px;margin:12px 0 0;border:1px solid #dce7f6;border-radius:10px;background:#fff;color:var(--ink);box-shadow:none}
#plan-panel #capacity-dialog h3{font:600 13px/1.5 var(--font);margin:0 0 8px}
#plan-panel #capacity-dialog :is(p,li){font-size:11px;line-height:1.6;overflow-wrap:anywhere}
#plan-panel .capacity-review-actions{display:flex;gap:8px}
#plan-panel .capacity-review-actions button{min-height:34px;padding:7px 12px;font-size:11px;border-radius:7px;background:#eef4ff}
#plan-panel #capacity-apply{background:var(--blue);color:#fff}
@media(min-width:1650px){#plan-panel .plan-workspace{grid-template-columns:minmax(0,1fr) 370px;gap:28px}}
@media(max-width:1100px){#plan-panel .plan-workspace{grid-template-columns:minmax(0,1fr)}#plan-panel .plan-sidebar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}#plan-panel .plan-time-scroll{max-height:500px}#plan-panel .plan-week-grid{min-height:340px}}
@media(max-width:650px){#plan-panel .plan-heading{display:flex;align-items:center;gap:12px}#plan-panel .plan-heading h1{font-size:30px}#plan-panel .plan-views{margin:0;width:100%;justify-content:space-between;gap:0}#plan-panel .plan-views button{font-size:11px;padding:6px 9px;min-height:38px}#plan-panel .plan-intro{font-size:12px;margin:10px 0 16px}#plan-panel .plan-toolbar{gap:8px;padding:9px 0;margin-bottom:14px}#plan-period{order:3;margin:0;font-size:13px}#plan-calendar-zone{margin-left:auto;font-size:9px;max-width:50%;overflow-wrap:anywhere}#plan-panel .plan-navigation{width:100%;justify-content:space-between}#plan-panel .plan-navigation input{width:140px}#plan-panel .plan-sidebar{display:flex}#plan-panel .plan-workspace{gap:14px}#plan-panel .plan-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#plan-panel :is(#plan-edit,#repeat-form,#capacity-form) :is(input:not([type=checkbox]),select,textarea),#plan-search{font-size:16px;height:42px;padding:8px}#plan-panel .plan-inspector,#plan-panel .plan-library{padding:14px}#plan-panel .plan-daily-heading{padding:12px}#plan-panel .plan-daily-heading h2{font-size:13px}#plan-panel .plan-flexible{padding:12px}#plan-panel .plan-timeline-heading{padding:10px 12px}#plan-panel .capacity{padding:14px;margin-bottom:14px}#plan-panel .capacity-metrics strong{font-size:18px}#plan-panel .plan-mixed{grid-template-columns:minmax(0,1fr)}#plan-panel .plan-time-scroll{max-height:400px}#plan-panel .plan-month-grid{grid-template-columns:repeat(7,minmax(76px,1fr))}#plan-panel .plan-week-grid{grid-template-columns:repeat(7,minmax(135px,1fr))}#plan-panel .plan-task .plan-task-title{font-size:13px}#plan-panel .plan-time-block .plan-task-title{font-size:11px}#plan-panel .plan-month-day .plan-task .plan-task-title{font-size:10px}}
@media(prefers-reduced-motion:reduce){#plan-panel *{scroll-behavior:auto;transition:none}}

#plan-panel .capacity-metrics :is(span,strong){display:block}
#plan-panel .plan-task[draggable=true]{cursor:grab;-webkit-user-select:none;user-select:none;-webkit-user-drag:element}
#plan-panel .plan-task[draggable=true]:active{cursor:grabbing}
#plan-panel .plan-task :is(.plan-task-meta,small,.plan-priority){pointer-events:none}
#plan-panel .plan-time-block .plan-task-meta span+span::before{content:' · ';white-space:pre}
#plan-panel .capacity #capacity-settings:not([open]){display:inline-block;vertical-align:middle;margin-right:14px}
#plan-panel .capacity .capacity-actions{display:inline-flex;vertical-align:middle;margin:0}
#plan-panel .capacity-heading{margin-bottom:8px}
#plan-panel .capacity-metrics{margin-bottom:8px}
#plan-panel .capacity-warning{margin:5px 0}
#plan-panel .plan-flexible{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px}
#plan-panel .plan-flexible>h3,#plan-panel .plan-flexible>.plan-empty{grid-column:1/-1}
@media(max-width:650px){#plan-panel .plan-flexible{grid-template-columns:minmax(0,1fr)}#plan-panel .capacity-metrics strong{font-size:17px}}
@media(max-width:380px){#plan-panel .plan-field-grid{grid-template-columns:minmax(0,1fr)}}
