.planner-page{color:var(--ui-ink);min-width:0}
.planner-page svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
.planner-datebar{display:flex;align-items:center;gap:24px;min-height:82px;background:#fff;border:1px solid var(--ui-border);border-radius:12px;padding:16px 22px}
.planner-date-context{display:flex;align-items:center;gap:13px;min-width:169px}
.planner-day-number{font-size:38px;font-weight:650;line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-1.5px;color:var(--ui-ink)}
.planner-datebar h1{margin:0!important;font-size:16px!important;font-weight:650!important;line-height:1.45!important;letter-spacing:.2px}
.planner-date-context>div>span,.planner-month-title>div>span{font-size:12px;color:var(--ui-body)}
.planner-date-controls{display:flex;align-items:center;gap:6px}
.planner-arrow{display:grid;place-items:center;width:30px;height:30px;color:var(--ui-action);border:1px solid transparent;border-radius:6px;transition:background .16s,border-color .16s}
.planner-arrow:hover{background:var(--ui-action-soft);border-color:var(--ui-action-line)}
.planner-date-picker input,.planner-month-picker input{height:30px!important;max-width:148px;min-height:0!important;font-size:12px;border:1px solid var(--ui-border);border-radius:6px;background:#fff;color:var(--ui-body);padding:3px 8px!important;font-variant-numeric:tabular-nums}
.planner-today{height:30px;display:inline-flex;align-items:center;padding:0 10px;color:var(--ui-action);font-size:12px;border:1px solid var(--ui-action-line);border-radius:6px;white-space:nowrap}
.planner-today:hover{background:var(--ui-action-soft)}
.planner-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto;flex:none}
.planner-header-actions>a{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none}
.planner-header-actions>button,.planner-header-actions>a{white-space:nowrap}
.planner-filterbar{display:flex;align-items:center;gap:10px;padding:14px 0}
.planner-search{height:38px;display:flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--ui-border);border-radius:7px;padding:0 10px;width:255px;max-width:50%;box-sizing:border-box;color:var(--ui-muted)}
.planner-search:focus-within{border-color:var(--brand-primary);box-shadow:0 0 0 2px var(--brand-soft)}
.planner-search svg{width:15px;height:15px}
.planner-search input{width:100%;border:0!important;box-shadow:none!important;background:none;height:34px;min-height:0!important;padding:0!important;font-size:13px;color:var(--ui-ink);outline:none}
.planner-filterbar>select{height:38px;min-height:38px;max-width:330px;min-width:140px;border:1px solid var(--ui-border);border-radius:7px;background:#fff;color:var(--ui-body);font-size:13px;padding:4px 30px 4px 10px}
.planner-filterbar>.text-button{font-size:12px;white-space:nowrap}
.planner-layout{display:grid;grid-template-columns:minmax(0,1fr) 308px;grid-template-areas:"day pending" "tracking pending";align-items:start;gap:16px}
.planner-layout>.panel{min-width:0;margin:0;overflow:hidden}
.planner-day-panel{grid-area:day}
.planner-pending-panel{grid-area:pending}
.planner-tracking-panel{grid-area:tracking}
.planner-section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 20px 13px;border-bottom:1px solid var(--ui-border)}
.planner-section-heading h2{display:flex;align-items:center;gap:9px;font-size:14px;margin:0;font-weight:650}
.planner-section-heading h2>span{font-size:12px;font-weight:500;color:var(--ui-muted);font-variant-numeric:tabular-nums}
.planner-section-heading>time,.planner-section-heading>small{font-size:11px;color:var(--ui-muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.planner-table-scroll{overflow:auto;scrollbar-width:thin;scrollbar-color:#e0dbe9 transparent}
.planner-page table{width:100%;table-layout:fixed;border-collapse:collapse;margin:0}
.planner-page th{font-size:11px;font-weight:500;color:var(--ui-muted);background:#fcfbfd;padding:9px 12px;text-align:left;white-space:nowrap;border-bottom:1px solid #efecf4}
.planner-page td{padding:15px 12px;border-bottom:1px solid #efecf4;vertical-align:middle;overflow-wrap:anywhere}
.planner-page th:first-child,.planner-page td:first-child{padding-left:20px}
.planner-page th:last-child,.planner-page td:last-child{padding-right:20px}
.planner-page tr:last-child td{border-bottom:0}
.planner-page tbody tr:hover{background:#fdfcfe}
.planner-day-table{min-width:800px}
.planner-col-time{width:154px}.planner-col-person{width:auto}.planner-col-node{width:137px}.planner-col-executor{width:124px}.planner-col-actions{width:201px}
.planner-time{display:flex;flex-direction:column;align-items:flex-start;gap:2px;font-variant-numeric:tabular-nums}
.planner-time>strong{font-size:20px;font-weight:650;letter-spacing:-.5px;line-height:1.3}
.planner-time>span{font-size:11px;color:var(--ui-body)}
.planner-time>small{font-size:11px;color:var(--ui-action);white-space:nowrap;line-height:1.6}
.planner-person{font-size:14px;color:var(--ui-ink);font-weight:650;display:inline-block;max-width:100%;overflow-wrap:anywhere;line-height:1.5}
.planner-person:hover{color:var(--brand-primary);text-decoration:underline;text-underline-offset:3px}
.planner-project{display:block;color:var(--ui-body);font-size:11px;line-height:1.6;margin-top:3px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.planner-project>span{color:var(--ui-muted)}
.planner-node{display:flex;align-items:center;flex-wrap:wrap;gap:5px 7px}
.planner-node>strong{font-size:12px;font-weight:550;white-space:nowrap}
.planner-node .chip{white-space:normal;max-width:100%}
.planner-executor{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--ui-ink)}
.planner-executor small{font-size:10px;color:var(--ui-body)}
.planner-executor strong{font-size:12px;font-weight:550;overflow-wrap:anywhere}
.planner-actions{justify-content:flex-start!important;align-items:center!important;gap:6px!important;flex-wrap:wrap}
.planner-actions .directory-command,.planner-actions .directory-execute{max-width:100%}
.planner-actions .directory-execute svg{width:12px;height:12px;stroke-width:1.75}
.planner-tracking-table{min-width:760px}
.planner-track-person{width:auto}.planner-track-node{width:137px}.planner-track-executor{width:147px}.planner-track-date{width:119px}.planner-track-action{width:116px}
.planner-tracking-date{display:flex;flex-direction:column;font-size:11px;line-height:1.6;color:var(--ui-body);font-variant-numeric:tabular-nums}
.planner-tracking-date strong{font-size:12px;color:var(--ui-ink);font-weight:550}
.planner-pending-list{max-height:665px;overflow:auto;scrollbar-width:thin;scrollbar-color:#e0dbe9 transparent;overscroll-behavior:contain}
.planner-pending-item{padding:15px 18px;border-bottom:1px solid #efecf4}
.planner-pending-item:last-child{border:0}
.planner-pending-identity{min-width:0}
.planner-pending-item .planner-node{margin:8px 0 10px}
.planner-pending-item .planner-person{font-size:13px}
.planner-pending-item .planner-actions{gap:6px!important}
.planner-pagination{padding:12px 18px;border-top:1px solid var(--ui-border);display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--ui-muted);font-size:11px}
.planner-pagination>div{display:flex;align-items:center;gap:9px}
.planner-pagination button{height:30px;font-size:12px;padding:0 7px;border:1px solid var(--ui-border);border-radius:5px;background:#fff;color:var(--ui-action)}
.planner-pagination button:disabled{opacity:.4;cursor:default}
.planner-empty{min-height:134px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:var(--ui-muted)}
.planner-empty>strong{font-size:12px;font-weight:400}
.planner-empty-mark{color:#bdb4cd}
.planner-empty-mark svg{width:26px;height:26px;stroke-width:1.1}
.planner-pending-list>.planner-empty{min-height:180px}
/* Month, event content and secondary labels have separate reading levels. */
.calendar-period{display:flex;align-items:center;gap:24px;flex:none}
.calendar-period:before{content:"";width:3px;height:34px;flex:none;border-radius:2px;background:linear-gradient(180deg,var(--brand-primary) 0 64%,var(--brand-accent) 64%);margin-right:-11px}
.planner-calendar-page .calendar-month-title{display:flex;align-items:baseline;gap:10px;line-height:1.1!important}
.calendar-month-title .calendar-year{font-size:15px;font-weight:500;color:var(--ui-body);letter-spacing:0}
.calendar-month-title>strong{display:inline-flex;align-items:baseline;gap:6px;color:var(--ui-ink);font-size:34px;font-weight:650;letter-spacing:-1.3px;font-variant-numeric:tabular-nums}
.calendar-month-title>strong>span{font-size:20px;font-weight:550;letter-spacing:0}
.calendar-month-total{padding-left:22px;border-left:1px solid var(--ui-border);display:flex;flex-direction:column;gap:2px;line-height:1.25}
.calendar-month-total>span{font-size:13px;color:var(--ui-body)}
.calendar-month-total>strong{display:flex;align-items:baseline;gap:6px;color:var(--ui-action-hover);font-size:25px;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-.6px}
.calendar-month-total small{font-size:12px;font-weight:400;color:var(--ui-body);letter-spacing:0}
.planner-calendar-page .planner-month-picker input{font-size:13px}
.planner-calendar-panel{overflow:hidden}
.planner-calendar-scroll{overflow:auto;scrollbar-width:thin;scrollbar-color:#e0dbe9 transparent}
.planner-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:700px;background:#fcfbfd;border-bottom:1px solid var(--ui-border)}
.planner-weekdays>span{padding:11px 14px;font-size:13px;font-weight:550;color:var(--ui-body)}
.planner-weekdays>span:nth-child(n+6){color:var(--ui-body)}
.planner-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(132px,1fr);min-width:700px}
.planner-calendar-day{position:relative;min-width:0;min-height:132px;padding:8px 12px;box-sizing:border-box;border-right:1px solid #eae5f0;border-bottom:1px solid #eae5f0;color:var(--ui-ink);background:#fff;transition:background .18s,box-shadow .18s;text-decoration:none!important}
.planner-calendar-day:nth-child(7n){border-right:0}
.planner-calendar-day:nth-last-child(-n+7){border-bottom:0}
.planner-calendar-day:hover{background:#faf9fe;box-shadow:inset 0 0 0 1px var(--brand-line);z-index:1}
.planner-calendar-day.selected-day{background:#f7f5ff;box-shadow:inset 0 2px 0 var(--brand-primary)}
.planner-calendar-day:focus-visible{outline-offset:-2px!important}
.planner-calendar-day.outside-month{background:#fcfbfd;color:var(--ui-body)}
.planner-cell-date{display:flex;align-items:center;justify-content:space-between;gap:5px;min-height:28px;margin-bottom:4px}
.planner-cell-date>time{font-size:18px;font-weight:550;display:grid;place-items:center;width:28px;height:28px;font-variant-numeric:tabular-nums;line-height:1}
.planner-cell-date>span{font-size:12px;font-weight:500;color:var(--ui-body);white-space:nowrap}
.planner-calendar-day.is-today .planner-cell-date>time{background:var(--brand-primary);color:#fff;border-radius:50%;font-weight:650;font-size:17px}
.planner-cell-events{display:flex;flex-direction:column;gap:2px}
.planner-calendar-event{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:baseline;gap:6px;font-size:14px;line-height:20px;padding-left:8px;position:relative;color:var(--ui-ink);min-width:0}
.planner-calendar-event:before{content:"";width:3px;position:absolute;left:0;top:4px;bottom:4px;border-radius:3px;background:var(--brand-primary)}
.planner-calendar-event.is-delegated:before{background:var(--ui-action)}
.planner-calendar-event.is-complete:before{background:var(--green)}
.planner-calendar-event.is-complete{color:var(--ui-body)}
.planner-calendar-event>time{font-size:14px;font-weight:500;color:var(--ui-body);font-variant-numeric:tabular-nums;white-space:nowrap}
.planner-calendar-event>strong{font-size:15px;font-weight:600;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.planner-calendar-event>small{font-size:12px;color:var(--ui-body);white-space:nowrap;text-align:right}
.planner-more-events{font-size:12px;color:var(--ui-action-hover);padding-left:8px;line-height:18px;text-decoration:underline;text-decoration-color:var(--ui-action-line);text-underline-offset:3px}
.planner-calendar-legend{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:24px;padding:12px 18px;border-top:1px solid var(--ui-border);font-size:12px;color:var(--ui-body)}
.planner-calendar-legend>span{display:flex;align-items:center;gap:8px}
.planner-calendar-legend i{width:3px;height:12px;border-radius:3px;background:var(--brand-primary)}
.planner-calendar-legend .legend-delegated{background:var(--ui-action)}
.planner-calendar-legend .legend-complete{background:var(--green)}
.planner-page :is(a,button,input,select):focus-visible{outline:2px solid var(--brand-primary);outline-offset:3px}
@media(min-width:1500px){.planner-layout{grid-template-columns:minmax(0,1fr) 330px}.planner-col-person{width:auto}.planner-col-actions{width:215px}}
@media(max-width:1200px){.planner-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"day" "pending" "tracking"}.planner-pending-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-height:400px}.planner-pending-item{border-right:1px solid #efecf4}.planner-pending-item:last-child{border-bottom:1px solid #efecf4}.planner-pending-item:nth-child(3n){border-right:0}.planner-datebar{gap:14px;padding:15px 18px}.planner-header-actions{gap:6px}.planner-date-context{min-width:150px}.planner-date-controls{gap:3px}}
@media(max-width:1000px){.planner-datebar{flex-wrap:wrap}.planner-header-actions{margin-left:auto}.planner-date-controls{margin-left:auto}.planner-header-actions{flex-basis:100%;justify-content:flex-end;border-top:1px solid #efecf4;padding-top:12px}.planner-pending-list{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-pending-item:nth-child(3n){border-right:1px solid #efecf4}.planner-pending-item:nth-child(2n){border-right:0}}
@media(max-width:600px){.planner-datebar{gap:10px;padding:14px}.planner-date-context{min-width:0}.planner-day-number{font-size:33px}.planner-date-controls{flex-basis:100%;justify-content:flex-start;margin:0}.planner-header-actions{justify-content:flex-start;flex-wrap:wrap}.planner-filterbar{flex-wrap:wrap;gap:8px}.planner-search{max-width:none;width:100%}.planner-filterbar>select{width:100%;max-width:100%}.planner-pending-list{display:block;max-height:460px}.planner-pending-item{border-right:0!important}.planner-section-heading{padding:13px 16px}.planner-calendar-page .planner-date-controls{justify-content:flex-start}.planner-calendar-legend{gap:14px;padding:12px}.planner-pagination{padding:12px}.planner-month-picker input{max-width:156px}}
@media(prefers-reduced-motion:reduce){.planner-page *{transition:none!important}}

@media(max-width:1150px){
 .planner-month-grid{grid-auto-rows:minmax(132px,auto)}
 .planner-calendar-day{padding:8px 9px;min-height:132px}
 .planner-calendar-event{grid-template-columns:minmax(0,1fr) auto;gap:0 5px;line-height:20px}
 .planner-calendar-event>time{grid-column:1;grid-row:2}
 .planner-calendar-event>small{grid-column:2;grid-row:2}
 .planner-calendar-event>strong{grid-column:1 / 3;grid-row:1}
 .planner-cell-events{gap:4px}
}
@media(max-width:600px){
 .calendar-period{gap:20px}
 .calendar-month-title .calendar-year{font-size:14px}
 .calendar-month-title>strong{font-size:32px}
 .calendar-month-total{padding-left:18px}
}
