body.delivery-planner{grid-template-columns:224px minmax(0,1fr)}
.planner-skip{position:absolute;left:12px;top:-80px;z-index:10;background:var(--accent);color:var(--on-accent);padding:12px;border-radius:4px}.planner-skip:focus{top:12px}
.delivery-planner main{max-width:1600px;width:100%;padding:30px 38px}
.delivery-planner header button{font-size:12px}
.delivery-planner section{min-width:0}
.delivery-planner h2{font-size:21px}
.delivery-planner label{display:grid;gap:8px;font-size:12px;min-width:0}
.delivery-planner button{font-size:12px}
.delivery-planner button .icon{width:17px;height:17px}
.delivery-planner summary{cursor:pointer;color:var(--accent);font-size:13px;line-height:1.5}
#planner-status{font-size:13px;min-height:22px;margin-bottom:28px}
#planner-status[data-error=true],#task-message,#import-message{color:#f27b7b}
.planner-fields{display:grid;grid-template-columns:2fr 110px repeat(3,minmax(120px,1fr));gap:16px}
.planner-import{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.planner-import label{max-width:230px}
.planner-import input{padding:8px!important;min-height:40px!important;font-size:11px}
.planner-calendar{margin-top:20px}
.planner-calendar fieldset{display:flex;flex-wrap:wrap;gap:16px;border:0;padding:16px 0 12px;margin:0}
.planner-calendar fieldset label{display:flex;gap:6px;align-items:center}
.planner-calendar legend{padding-top:16px;font-size:12px}
.planner-calendar input[type=checkbox]{accent-color:var(--accent);width:17px;height:17px}
.planner-calendar>label{max-width:500px}
.planner-calendar textarea{height:88px}
.tasks-heading{margin-top:32px}
.planner-task-controls{display:grid;grid-template-columns:minmax(160px,1fr) minmax(220px,1fr) auto;gap:14px;align-items:end;margin-bottom:18px}
.delivery-planner table{table-layout:auto;min-width:850px}
.delivery-planner th,.delivery-planner td{font-size:12px;padding:12px;vertical-align:top}
.delivery-planner th{white-space:normal}
.delivery-planner td:first-child{width:auto}
.planner-input-table td:nth-child(2){min-width:170px;max-width:280px}
.planner-input-table td:nth-child(3){min-width:100px;max-width:180px}
.planner-input-table td:nth-child(5){max-width:170px}
.planner-input-table td small{display:block;font-size:11px;margin-top:4px}
.planner-row-actions{display:flex;gap:6px;align-items:center}
.planner-row-actions button{border:1px solid var(--line);padding:8px;min-height:36px;color:var(--accent)}
.planner-run{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:20px}
#plan-output{margin-top:36px;padding-top:28px;border-top:1px solid var(--line);scroll-margin-top:24px}
.planner-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--line);margin:24px 0}
.planner-metrics>div{padding:18px 16px 18px 0;min-width:0}
.planner-metrics span{font-size:11px;color:var(--muted);display:block;margin-bottom:10px}
.planner-metrics strong{display:block;font-size:22px;line-height:1.3;overflow-wrap:anywhere;font-weight:600}
.planner-metrics small{display:block;font-size:11px;margin-top:10px;overflow-wrap:anywhere}
.planner-view-controls{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.planner-view-controls>label{flex:0 1 220px}
.planner-view-controls>span{font-size:12px;color:var(--muted);padding-bottom:12px}
.planner-timeline{min-width:740px;--label-width:240px}
.planner-timeline-head,.planner-timeline-row{display:grid;grid-template-columns:var(--label-width) minmax(0,1fr);gap:20px;padding:12px 16px;border-bottom:1px solid var(--line);align-items:center}
.planner-timeline-head{background:var(--surface);font-size:12px;color:var(--muted)}
.planner-timeline-head>div{display:flex;justify-content:space-between;gap:16px}
.planner-timeline-row>div:first-child{font-size:12px;overflow-wrap:anywhere}
.planner-timeline-row small{display:block;font-size:10px;line-height:1.4;margin-top:5px}
.planner-track{position:relative;height:28px;background:#211b2c;border-radius:2px}
.planner-bar{position:absolute;top:6px;height:16px;min-width:4px;background:var(--accent);border:1px solid var(--accent);border-radius:2px}
.planner-bar.critical{background:#e2bd78;border-color:#e2bd78}
.planner-bar.done{background:#515759;border-color:#cad1c7}
.planner-bar.milestone{width:12px!important;min-width:12px;height:12px;top:8px;transform:translateX(-50%) rotate(45deg);border-radius:0}
.planner-legend{display:flex;flex-wrap:wrap;gap:18px;font-size:11px;color:var(--muted);margin:14px 0 20px}
.planner-legend span{display:inline-flex;align-items:center;gap:7px}
.planner-legend i{width:12px;height:12px;background:var(--accent);border-radius:2px}
.planner-legend .critical{background:#e2bd78}.planner-legend .done{background:#515759;border:1px solid #cad1c7}
.planner-note{font-size:12px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere}
.planner-warning{border-left:2px solid #e2bd78;padding-left:12px;color:var(--ink)}
.planner-exports{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-top:28px}
.planner-exports>label{flex:0 1 260px}
#plan-methods,#export-preview{margin-top:24px}
#plan-methods p{font-size:12px;overflow-wrap:anywhere}
#export-preview textarea{margin:14px 0;height:200px;font:11px/1.5 ui-monospace,monospace}
.planner-support{margin-top:44px;padding-top:28px;border-top:1px solid var(--line)}
.planner-support h2{font-size:18px}
.planner-support-links{display:flex;gap:14px 28px;flex-wrap:wrap;font-size:13px}
.planner-support>p{font-size:11px;margin-top:24px}
.planner-task-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.planner-task-fields .full{grid-column:1/-1}
#task-dialog{width:min(640px,calc(100% - 32px));max-height:90vh;overflow:auto}
#task-deps{min-height:88px}
#schedule-content td button{display:flex;white-space:nowrap;padding:8px}
.planner-progress-heading{display:flex;align-items:start;gap:12px;justify-content:space-between;min-width:210px}
.planner-progress-heading button{flex:none}
#schedule-content td small{display:block;font-size:10px;line-height:1.5;margin-top:6px;color:var(--muted)}
#schedule-content td:last-child{min-width:190px;max-width:320px;overflow-wrap:anywhere}
#task-dialog h3{font-size:16px;border-top:1px solid var(--line);padding-top:20px;margin-top:24px}
#import-dialog{width:min(700px,calc(100% - 32px));max-height:90vh;overflow:auto}
#project-json{height:260px;margin-top:12px;font:12px/1.5 ui-monospace,monospace}
.print-only{display:none}
@media(max-width:1200px){body.delivery-planner{grid-template-columns:190px minmax(0,1fr)}.delivery-planner main{padding:28px}.planner-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.planner-fields>label:first-child{grid-column:span 2}.planner-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-metrics>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:700px){body.delivery-planner{display:block}.delivery-planner main{padding:24px 20px}.planner-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-fields>label:first-child{grid-column:1/-1}.planner-fields>label:last-child{grid-column:1/-1}.planner-import{margin-top:12px;width:100%}.delivery-planner .section-head{flex-wrap:wrap;gap:12px}.planner-task-controls{grid-template-columns:minmax(0,1fr)}.planner-task-controls button{justify-self:start}.planner-metrics strong{font-size:19px}.planner-view-controls>label{flex:1 1 150px}.planner-task-fields{grid-template-columns:minmax(0,1fr)}.planner-task-fields .full{grid-column:1}.planner-exports>label{flex-basis:100%}.delivery-planner dialog{padding:22px}.planner-support-links{display:grid;gap:18px}}
@media print{body.delivery-planner{display:block!important;background:#fff;color:#111;font:11px/1.45 sans-serif}.delivery-planner main{padding:0;max-width:none}.workspace-nav,header,#planner-status,#plan-input,.planner-support,#plan-output>*:not(.print-only),dialog{display:none!important}#plan-output{display:block!important;border:0;margin:0;padding:0}.print-only{display:block!important}.print-only table{min-width:0!important;width:100%;table-layout:fixed}.print-only th,.print-only td{color:#111;background:#fff;border:1px solid #ccc;font-size:9px;padding:6px;overflow-wrap:anywhere}.print-only h2{font-size:20px}.print-only p{color:#333;overflow-wrap:anywhere}.print-only tr{break-inside:avoid}.print-only thead{display:table-header-group}}
