:root{--brand-blue-light:#778dd4;--brand-blue:#334da1;--brand-red-light:#e5778d;--brand-red:#ca2647;--brand-yellow-light:#ffd55b;--brand-yellow:#ecaf00;--brand-azure:#2388ff;--brand-navy:#002046;--brand-gray-light:#b0afb0;--brand-gray:#7c7a7b;--brand-rose:#dd4763;--brand-burgundy:#7b172a;--brand-surface:#fff;--brand-background:color-mix(in srgb, var(--brand-blue-light) 7%, white);--brand-surface-subtle:color-mix(in srgb, var(--brand-blue-light) 4%, white);--brand-border:color-mix(in srgb, var(--brand-blue-light) 25%, white);--brand-muted:color-mix(in srgb, var(--brand-navy) 68%, white);--brand-blue-tint:color-mix(in srgb, var(--brand-blue-light) 18%, white);--brand-progress:color-mix(in srgb, var(--brand-blue-light) 58%, white);--brand-red-tint:color-mix(in srgb, var(--brand-red-light) 14%, white);--brand-red-fill:color-mix(in srgb, var(--brand-red-light) 45%, white);--brand-yellow-tint:color-mix(in srgb, var(--brand-yellow-light) 25%, white);--brand-yellow-fill:color-mix(in srgb, var(--brand-yellow-light) 65%, white);--brand-focus:var(--brand-azure);--brand-shadow:color-mix(in srgb, var(--brand-navy) 13%, transparent);color:var(--brand-navy);background:var(--brand-surface);font-synthesis:none;--indigo:var(--brand-blue);--muted:var(--brand-muted);--line:var(--brand-blue-tint);--sidebar:210px;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:13px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button,input,select,textarea{outline:none}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--brand-progress);outline-offset:3px}a{color:inherit}button svg{flex-shrink:0}button{transition:background .16s,color .16s,box-shadow .16s}button:hover:not(:disabled){filter:brightness(.985)}.app-shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar);background:var(--brand-surface);border-right:1px solid var(--line);z-index:30;flex-direction:column;padding:28px 15px 16px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:-.7px;align-items:center;gap:9px;margin:0 1px 28px;font-size:17px;font-weight:750;display:flex}.brand>span>span{color:var(--indigo)}.brand-mark{background:var(--indigo);width:32px;height:32px;color:var(--brand-surface);border-radius:9px;place-items:center;display:grid}.workspace-switch{border:1px solid var(--line);border-radius:9px;align-items:center;gap:9px;margin-bottom:29px;padding:11px 8px;display:flex}.workspace-icon{background:var(--brand-surface-subtle);border:1px solid var(--brand-blue-tint);color:var(--brand-blue);border-radius:7px;place-items:center;width:30px;height:30px;font-size:13px;font-weight:600;display:grid}.workspace-switch strong{font-size:12px;font-weight:600;display:block}.workspace-switch small{color:var(--muted);margin-top:4px;font-size:10px;display:block}.workspace-switch>svg{color:var(--muted);margin-left:auto}.nav-label{color:var(--brand-muted);letter-spacing:1px;justify-content:space-between;margin:0 10px 11px;font-size:10px;font-weight:600;display:flex}.sidebar nav{flex-direction:column;gap:5px;margin-bottom:29px;display:flex}.sidebar nav button{text-align:left;color:var(--brand-muted);background:0 0;border:0;border-radius:7px;align-items:center;gap:11px;padding:11px 12px;font-size:12px;display:flex}.sidebar nav button.active{background:var(--brand-surface-subtle);color:var(--indigo);font-weight:600}.nav-count{background:var(--brand-surface-subtle);border-radius:4px;margin-left:auto;padding:2px 5px;font-size:10px}.program-nav{margin-bottom:16px}.program-name{color:var(--brand-muted);align-items:center;gap:7px;padding:7px 8px 10px;font-size:11px;font-weight:600;display:flex}.program-name svg:first-child{color:var(--brand-muted)}.program-nav button{text-align:left;width:100%;color:var(--brand-muted);background:0 0;border:0;border-radius:7px;align-items:center;gap:8px;margin-bottom:3px;padding:11px 8px 11px 24px;font-size:11px;display:flex;position:relative}.program-nav button.active{color:var(--indigo);background:var(--brand-surface-subtle);font-weight:600}.program-nav button.active:before{content:"";background:var(--indigo);border-radius:0 3px 3px 0;width:3px;position:absolute;top:9px;bottom:9px;left:-15px}.project-dot{border:1px solid var(--brand-muted);border-radius:50%;flex-shrink:0;width:5px;height:5px}.active .project-dot{background:var(--indigo);border-color:var(--indigo)}.sidebar-bottom{margin-top:auto;padding:22px 6px 0}.demo-label{color:var(--brand-muted);align-items:center;gap:7px;font-size:10px;display:flex}.demo-label>span,.saved-status>span{background:var(--brand-blue);border-radius:50%;width:5px;height:5px}.sidebar-bottom>p{color:var(--brand-muted);margin:10px 0 21px;font-size:10px}.profile{border-top:1px solid var(--line);align-items:center;gap:10px;padding-top:16px;display:flex}.profile strong{font-size:12px;display:block}.profile small{color:var(--muted);margin-top:4px;font-size:10px;display:block}.profile>svg{color:var(--brand-muted);margin-left:auto}.avatar{width:30px;height:30px;color:var(--brand-surface);border-radius:50%;flex-shrink:0;place-items:center;font-size:11px;font-weight:600;display:inline-grid}.main-shell{margin-left:var(--sidebar);width:calc(100% - var(--sidebar));min-width:0}.topbar{background:var(--brand-surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;height:64px;padding:0 30px;display:flex}.breadcrumbs{color:var(--brand-muted);align-items:center;gap:13px;font-size:11px;display:flex}.breadcrumbs strong{color:var(--brand-muted);font-weight:500}.breadcrumb-slash{color:var(--brand-border)}.topbar-actions{align-items:center;gap:19px;display:flex}.saved-status{color:var(--brand-muted);align-items:center;gap:6px;font-size:10px;display:flex}.role-switch{color:var(--brand-muted);background:var(--brand-surface);border:1px solid var(--line);border-radius:6px;align-items:center;gap:5px;padding:6px 8px;display:flex}.role-switch select{color:var(--brand-muted);background:0 0;border:0;max-width:150px;font-size:11px}.icon-button{color:var(--brand-muted);background:0 0;border:0;border-radius:5px;place-items:center;padding:5px;display:grid}.mobile-menu{display:none}main{max-width:1920px;margin:auto;padding:28px 30px 0}.project-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.project-eyebrow{align-items:center;gap:10px;font-size:10px;display:flex}.project-eyebrow>span:first-child{letter-spacing:.6px;color:var(--brand-muted);font-family:SFMono-Regular,Consolas,monospace;font-size:10px}h1{letter-spacing:-.8px;margin:10px 0 8px;font-size:26px;font-weight:650;line-height:1.3}.project-heading p{color:var(--brand-muted);margin:0;font-size:11px}.muted{color:var(--muted)}.heading-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.team-avatars{align-items:center;margin-right:8px;display:flex}.team-avatars .avatar{border:2px solid var(--brand-surface);width:27px;height:27px;margin-left:-7px;font-size:9px}.team-avatars .extra{background:var(--brand-blue-tint);color:var(--brand-muted)}.button{border:1px solid var(--brand-blue-tint);background:var(--brand-surface);color:var(--brand-muted);white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:34px;padding:9px 12px;font-size:11px;font-weight:500;display:inline-flex}.button:hover{background:var(--brand-surface)}.button.primary{color:var(--brand-surface);background:var(--indigo);border-color:var(--indigo);box-shadow:0 2px 4px var(--brand-shadow)}.button.compact{min-height:29px;padding:7px 9px;font-size:10px}.button.active-filter{color:var(--indigo);border-color:var(--brand-progress);background:var(--brand-surface-subtle)}.metrics{background:var(--brand-surface);border:1px solid var(--line);box-shadow:0 3px 9px var(--brand-shadow);border-radius:10px;grid-template-columns:1fr 1fr 1fr 1fr;margin-bottom:24px;padding:20px 0;display:grid}.metric{border-right:1px solid var(--brand-surface-subtle);align-items:flex-start;gap:12px;padding:0 19px;display:flex;position:relative}.metric:last-child{border-right:0}.metric-icon{border-radius:9px;place-items:center;width:36px;height:36px;display:grid}.metric-icon.violet,.metric-icon.blue{background:var(--brand-surface-subtle);color:var(--brand-blue-light)}.metric-icon.amber{background:var(--brand-surface-subtle);color:var(--brand-yellow)}.metric-icon.teal{background:var(--brand-surface-subtle);color:var(--brand-blue)}.metric>div>span{color:var(--brand-muted);font-size:10px}.metric>div>div{flex-wrap:wrap;align-items:baseline;gap:9px;margin-top:7px;display:flex}.metric strong{color:var(--brand-navy);font-variant-numeric:tabular-nums;font-size:25px;font-weight:650;line-height:1.1}.metric strong small{color:var(--brand-muted);margin-left:2px;font-size:13px;font-weight:400}.metric-note{color:var(--brand-muted);font-size:9px}.metric .metric-date{letter-spacing:-1px;font-family:SFMono-Regular,Consolas,monospace;font-size:23px}.metric-spark{background:var(--brand-surface-subtle);border-radius:3px;width:48px;height:3px;position:absolute;top:5px;right:19px;overflow:hidden}.metric-spark i{background:var(--brand-blue-light);height:100%;display:block}.plan-panel{background:var(--brand-surface);border:1px solid var(--brand-blue-tint);box-shadow:0 4px 18px var(--brand-shadow);border-radius:10px;overflow:hidden}.plan-tabs{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:53px;padding:0 21px;display:flex}.view-tabs{gap:24px;height:100%;display:flex}.view-tabs button{color:var(--brand-muted);background:0 0;border:0;align-items:center;gap:7px;padding:0 1px;font-size:12px;display:flex;position:relative}.view-tabs button.selected{color:var(--indigo);font-weight:600}.view-tabs button.selected:after{content:"";background:var(--indigo);height:2px;position:absolute;bottom:0;left:0;right:0}.plan-period{color:var(--brand-muted);align-items:center;gap:10px;font-size:10px;display:flex}.tag{background:var(--brand-surface-subtle);color:var(--brand-muted);white-space:nowrap;border-radius:4px;align-items:center;gap:4px;padding:3px 6px;font-size:9px;display:inline-flex}.tag.red{color:var(--brand-red);background:var(--brand-surface-subtle)}.plan-toolbar{justify-content:space-between;align-items:center;gap:10px;padding:16px 19px 11px;display:flex}.group-controls,.toolbar-right{align-items:center;gap:10px;display:flex}.toolbar-label{color:var(--brand-muted);font-size:10px}.segmented{border:1px solid var(--brand-blue-tint);background:var(--brand-surface);border-radius:6px;align-items:center;padding:2px;display:flex}.segmented button{color:var(--brand-muted);background:0 0;border:0;border-radius:4px;padding:5px 10px;font-size:10px}.segmented button.selected{background:var(--brand-surface);box-shadow:0 1px 4px var(--brand-shadow);color:var(--indigo);font-weight:600}.toolbar-divider{background:var(--brand-blue-tint);width:1px;height:16px;margin:0 2px}.search-field{color:var(--brand-muted);align-items:center;gap:6px;display:flex}.search-field input{width:105px;color:var(--brand-muted);background:0 0;border:0;font-size:10px}.search-field input::placeholder{color:var(--brand-muted)}.toolbar-right select{border:1px solid var(--brand-blue-tint);background:var(--brand-surface);color:var(--brand-muted);border-radius:5px;min-height:29px;padding:7px;font-size:10px}.toolbar-right select:last-child{min-width:48px}.layer-toolbar{color:var(--brand-muted);justify-content:space-between;align-items:center;padding:0 20px 13px;font-size:9px;display:flex}.layer-toolbar>div{gap:17px;display:flex}.layer-toolbar label{cursor:pointer;align-items:center;gap:4px;display:flex}input[type=checkbox]{accent-color:var(--brand-blue-light);width:11px;height:11px;margin:0}.timeline-scroll{border-top:1px solid var(--brand-blue-tint);scrollbar-width:thin;scrollbar-color:var(--brand-progress) var(--brand-surface);max-height:680px;position:relative;overflow:auto}.timeline-inner{position:relative}.time-header{z-index:15;background:var(--brand-surface);height:64px;display:flex;position:sticky;top:0}.lane-head{z-index:17;background:var(--brand-surface);border-right:1px solid var(--brand-blue-tint);border-bottom:1px solid var(--brand-blue-tint);flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;padding:18px 20px;display:flex;position:sticky;left:0}.lane-head span{color:var(--brand-muted);font-size:10px;font-weight:600}.lane-head small{color:var(--brand-muted);font-size:9px}.date-head{flex-shrink:0}.week-head{border-bottom:1px solid var(--brand-surface-subtle);height:27px;display:flex}.week-head>div{letter-spacing:.2px;color:var(--brand-muted);border-right:1px solid var(--brand-blue-tint);background:var(--brand-surface);flex-shrink:0;padding:7px 9px;font-family:SFMono-Regular,Consolas,monospace;font-size:9px}.day-head{border-bottom:1px solid var(--brand-blue-tint);height:37px;display:flex}.day-head>div{color:var(--brand-muted);border-right:1px solid var(--brand-surface-subtle);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:1px;font-family:SFMono-Regular,Consolas,monospace;display:flex}.day-head span{font-size:10px}.day-head small{color:var(--brand-muted);font-size:8px}.day-head .weekend{background:var(--brand-surface);color:var(--brand-muted)}.day-head .today-date{color:var(--brand-surface);background:var(--brand-blue-light)}.time-body{position:relative}.calendar-background{pointer-events:none;display:flex;position:absolute}.calendar-background>div{border-right:1px solid var(--brand-surface-subtle);flex-shrink:0;height:100%}.calendar-background .nonworking{background:var(--brand-surface)}.lane-section{border-bottom:1px solid var(--brand-blue-tint);position:absolute}.lane-label{z-index:10;border:0;border-right:1px solid var(--brand-blue-tint);background:var(--brand-surface);text-align:left;padding:20px 15px;display:block;position:sticky;left:0}.lane-label:hover{background:var(--brand-surface)}.lane-title{align-items:center;gap:6px;display:flex}.lane-title>svg{color:var(--brand-muted)}.lane-title strong{color:var(--brand-navy);font-size:11px;font-weight:600}.lane-color{border-radius:3px;width:4px;height:13px;margin-right:3px}.color-0{background:var(--brand-blue-light)}.color-1,.color-2{background:var(--brand-blue)}.color-3{background:var(--brand-yellow)}.color-4{background:var(--brand-blue-light)}.lane-meta{color:var(--brand-muted);margin:9px 0 11px 23px;font-size:9px}.lane-mini-progress{background:var(--brand-blue-tint);border-radius:3px;width:96px;height:3px;margin-left:23px}.lane-mini-progress span{background:var(--brand-progress);border-radius:3px;height:100%;display:block}.task-bar{border:1px solid var(--brand-progress);background:var(--brand-surface-subtle);height:27px;color:var(--brand-blue);z-index:5;touch-action:pan-y;white-space:nowrap;border-radius:5px;align-items:center;gap:3px;padding:0 7px;font-size:9px;display:flex;position:absolute}.task-bar:hover{box-shadow:0 3px 10px var(--brand-shadow);border-color:var(--brand-blue-light);z-index:12}.task-bar.draggable{cursor:grab;touch-action:none}.task-bar.draggable:active{cursor:grabbing}.task-fill{background:var(--brand-progress);pointer-events:none;border-radius:4px;max-width:100%;position:absolute;inset:0 auto 0 0}.task-text{text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:4px;min-width:0;display:flex;position:relative;overflow:hidden}.task-text span{text-overflow:ellipsis;overflow:hidden}.task-progress{opacity:.7;flex-shrink:0;font-family:SFMono-Regular,Consolas,monospace;font-size:8px;position:relative}.task-bar.complete{border-color:var(--brand-progress);background:var(--brand-blue-tint);color:var(--brand-blue)}.task-bar.blocked{background:var(--brand-yellow-tint);border:1px solid var(--brand-yellow-fill);color:var(--brand-yellow)}.baseline-bar{background:var(--brand-progress);opacity:.7;z-index:2;border-radius:3px;height:4px;position:absolute}.prediction-bar{border-bottom:2px dashed var(--brand-red-fill);z-index:3;height:2px;position:absolute}.prediction-bar:after{border:1px solid var(--brand-red);background:var(--brand-surface);content:"";border-radius:50%;width:6px;height:6px;position:absolute;top:-3px;right:-1px}.prediction-label{color:var(--brand-red);white-space:nowrap;background:var(--brand-surface);border-radius:3px;padding:2px 4px;font-size:8px;position:absolute;top:4px;right:-6px;transform:translate(100%)}.actual-bar{background:var(--brand-blue);z-index:3;height:2px;position:absolute}.task-bar.milestone{color:var(--brand-muted);background:0 0;border:0;padding:0}.task-bar.milestone:hover{box-shadow:none}.diamond{background:var(--brand-blue-light);border:2px solid var(--brand-surface);width:12px;height:12px;box-shadow:0 0 0 1px var(--brand-blue-light);flex-shrink:0;margin-left:5px;transform:rotate(45deg)}.milestone-name{color:var(--brand-muted);font-size:9px;position:absolute;left:25px}.dependency-layer{pointer-events:none;z-index:4;position:absolute;top:0;overflow:visible}.today-line{border-left:1px dashed var(--brand-blue-light);z-index:8;pointer-events:none;width:1px;position:absolute;top:0}.today-line>span{color:var(--brand-blue-light);background:var(--brand-surface-subtle);white-space:nowrap;border-radius:0 0 3px 3px;padding:2px 4px;font-size:8px;position:absolute;top:-1px;left:4px}.collapsed-summary{color:var(--brand-muted);font-size:10px;position:absolute;top:20px}.chart-footer{background:var(--brand-surface);border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:12px 19px;display:flex}.legend{color:var(--brand-muted);flex-wrap:wrap;align-items:center;gap:15px;font-size:8px;display:flex}.legend>span{align-items:center;gap:5px;display:flex}.legend svg{color:var(--brand-muted)}.legend-square{border:1px solid var(--brand-progress);background:var(--brand-surface-subtle);border-radius:2px;width:10px;height:7px}.legend-square.complete{background:var(--brand-progress);border-color:var(--brand-progress)}.legend-square.critical{background:var(--brand-red-fill);border-color:var(--brand-red-fill)}.ghost-key{background:var(--brand-progress);width:13px;height:3px}.predict-key{border-bottom:2px dashed var(--brand-red-fill);width:13px}.actual-key{background:var(--brand-blue);width:13px;height:2px}.chart-footer>button{color:var(--brand-blue-light);white-space:nowrap;background:0 0;border:0;align-items:center;gap:5px;font-size:9px;display:flex}.bottom-grid{grid-template-columns:1fr 1fr;gap:16px;margin-top:20px;display:grid}.risk-card,.milestone-card{background:var(--brand-surface);border:1px solid var(--line);border-radius:9px;padding:16px 18px}.section-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.section-header h3{color:var(--brand-muted);align-items:center;gap:7px;margin:0;font-size:11px;font-weight:600;display:flex}.section-header>span{color:var(--brand-muted);font-size:9px}.attention-dot{background:var(--brand-yellow);border-radius:50%;width:6px;height:6px}.risk-row{text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:13px 0 0;display:flex}.risk-row strong{color:var(--brand-muted);font-size:11px;font-weight:500}.risk-row p{color:var(--brand-yellow);margin:5px 0 0;font-size:9px}.risk-owner{color:var(--brand-muted);align-items:center;gap:10px;font-size:9px;display:flex}.milestone-steps{justify-content:space-between;margin-top:18px;display:flex;position:relative}.milestone-steps:before{content:"";background:var(--brand-surface-subtle);height:1px;position:absolute;top:8px;left:7px;right:18px}.milestone-steps button{text-align:left;background:0 0;border:0;flex-direction:column;gap:5px;min-width:50px;padding:0 7px 0 0;display:flex;position:relative}.step-dot{background:var(--brand-surface);border:1px solid var(--brand-progress);width:17px;height:17px;color:var(--brand-muted);border-radius:50%;place-items:center;display:grid}.step-dot>span{background:var(--brand-progress);border-radius:50%;width:4px;height:4px}.step-dot.done{border-color:var(--brand-progress);background:var(--brand-blue-tint)}.milestone-steps strong{color:var(--brand-muted);font-size:9px;font-weight:500}.milestone-steps small{color:var(--brand-muted);font-family:monospace;font-size:9px}.no-risks{color:var(--brand-blue);align-items:center;gap:7px;margin-top:20px;font-size:11px;display:flex}.demo-footnote{color:var(--brand-muted);margin:15px 0 14px;font-size:9px;line-height:1.8}.app-footer{color:var(--brand-muted);justify-content:space-between;align-items:center;gap:10px;padding:14px 30px 20px;font-size:9px;display:flex}.app-footer>span>span{margin-left:5px}.task-table-wrap{overflow:auto}.task-table{border-collapse:collapse;white-space:nowrap;width:100%}.task-table th{background:var(--brand-surface);color:var(--brand-muted);text-align:left;border-bottom:1px solid var(--line);padding:15px;font-size:10px;font-weight:500}.task-table td{color:var(--brand-muted);border-bottom:1px solid var(--brand-surface-subtle);padding:14px 15px;font-size:11px}.task-table tr:last-child td{border-bottom:0}.table-task{color:var(--brand-muted);text-align:left;background:0 0;border:0;align-items:center;gap:7px;padding:0;display:flex}.table-task:hover{color:var(--indigo)}.table-dot{background:var(--brand-blue-light);border-radius:50%;width:5px;height:5px}.table-dot.red{background:var(--brand-red)}.small-avatar{vertical-align:middle;color:var(--brand-surface);border-radius:50%;place-items:center;width:20px;height:20px;margin-right:6px;font-size:8px;display:inline-grid}.mono{font-variant-numeric:tabular-nums;font-family:SFMono-Regular,Consolas,monospace}.table-progress{vertical-align:middle;background:var(--brand-surface-subtle);border-radius:3px;width:40px;height:3px;margin-right:7px;display:inline-block}.table-progress i{background:var(--brand-blue-light);border-radius:3px;height:100%;display:block}.status-pill{background:var(--brand-surface-subtle);color:var(--brand-muted);border-radius:4px;padding:3px 7px;font-size:9px;display:inline-block}.status-pill.green{background:var(--brand-surface-subtle);color:var(--brand-muted)}.status-pill.amber{background:var(--brand-yellow-tint);color:var(--brand-yellow)}.status-pill.violet{background:var(--brand-surface-subtle);color:var(--brand-blue-light)}.empty-state{text-align:center;color:var(--brand-muted);padding:65px 20px;font-size:12px}.drawer-overlay{background:var(--brand-shadow);z-index:60;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);position:fixed;inset:0}.drawer{background:var(--brand-surface);width:440px;box-shadow:-12px 0 40px var(--brand-shadow);flex-direction:column;animation:.2s slide-in;display:flex;position:absolute;inset:0 0 0 auto}.drawer>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:23px 25px 17px;display:flex}.eyebrow{letter-spacing:1px;color:var(--brand-muted);font-family:SFMono-Regular,Consolas,monospace;font-size:9px}.drawer-content{flex:1;padding:24px;overflow:auto}.drawer-tags{gap:6px;margin-bottom:10px;display:flex}.drawer h2{letter-spacing:-.6px;margin:10px 0 20px;font-size:22px;font-weight:600}.drawer-owner{align-items:center;gap:10px;margin-bottom:28px;display:flex}.drawer-owner strong{color:var(--brand-muted);font-size:12px;display:block}.drawer-owner small{color:var(--brand-muted);margin-top:3px;font-size:10px;display:block}.section-title{color:var(--brand-muted);align-items:center;gap:6px;margin:25px 0 13px;font-size:11px;font-weight:600;display:flex}.date-comparison{background:var(--brand-surface);border:1px solid var(--line);border-radius:8px;padding:8px 13px}.date-comparison>div{justify-content:space-between;align-items:center;padding:8px 0;font-size:10px;display:flex}.date-comparison span{color:var(--brand-muted)}.date-comparison strong{color:var(--brand-muted);align-items:center;gap:6px;font-size:10px;font-weight:500;display:flex}.shift-actions{color:var(--brand-muted);align-items:center;gap:7px;margin-top:12px;font-size:10px;display:flex}.shift-actions>span{margin-right:auto}.shift-actions button{background:var(--brand-surface);border:1px solid var(--line);color:var(--brand-blue);border-radius:5px;padding:6px 9px;font-size:10px}.dependency-chips{flex-wrap:wrap;gap:5px;display:flex}.dependency-chips>span{border:1px solid var(--line);color:var(--brand-muted);border-radius:5px;align-items:center;gap:9px;padding:7px 8px;font-size:9px;display:flex}.dependency-chips small{color:var(--brand-blue-light);font-family:monospace}.dependency-chips p{font-size:10px}.field-label{color:var(--brand-muted);justify-content:space-between;margin:17px 0 7px;font-size:10px;display:flex}.field-label b{color:var(--brand-blue-light);font-weight:500}.drawer input[type=range]{accent-color:var(--indigo);width:100%;margin:6px 0 16px}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-grid label,.form-field{color:var(--brand-muted);font-size:10px;display:block}.form-field{margin-top:15px}.drawer input[type=date],.drawer textarea,.drawer select{border:1px solid var(--brand-blue-tint);width:100%;color:var(--brand-muted);background:var(--brand-surface);border-radius:6px;min-height:35px;margin-top:7px;padding:9px 10px;font-size:11px}.drawer input:disabled,.drawer textarea:disabled,.drawer select:disabled{background:var(--brand-surface);color:var(--brand-muted)}.drawer textarea{resize:vertical;line-height:1.7}.check-field{color:var(--brand-muted);align-items:center;gap:7px;margin-top:18px;font-size:10px;display:flex}.drawer-footnote{color:var(--brand-muted);margin-top:15px;font-size:9px;line-height:1.8}.drawer>footer{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;padding:17px 24px;display:flex}.form-error{color:var(--brand-red);background:var(--brand-surface-subtle);border-radius:5px;margin-top:10px;padding:9px 10px;font-size:10px}.inline-note{color:var(--brand-blue-light);background:var(--brand-surface-subtle);border-radius:6px;align-items:flex-start;gap:7px;margin:10px 0;padding:11px 12px;font-size:10px;line-height:1.8;display:flex}.inline-note svg{flex-shrink:0;margin-top:2px}.modal-overlay{background:var(--brand-shadow);z-index:70;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--brand-surface);width:640px;max-width:100%;max-height:90vh;box-shadow:0 20px 70px var(--brand-shadow);border-radius:13px;padding:25px 27px;animation:.18s modal-in;overflow:auto}.modal>header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.modal-icon{background:var(--brand-surface-subtle);width:42px;height:42px;color:var(--brand-blue-light);border-radius:11px;place-items:center;display:grid}.modal h2{letter-spacing:-.5px;margin:9px 0;font-size:23px;font-weight:600}.modal>p{font-size:11px}.impact-summary{border:1px solid var(--line);background:var(--brand-surface);border-radius:8px;grid-template-columns:1fr 1.5fr 1fr;gap:10px;margin-top:22px;display:grid}.impact-summary>div{padding:15px}.impact-summary span{color:var(--brand-muted);margin-bottom:9px;font-size:10px;display:block}.impact-summary strong{color:var(--brand-muted);align-items:center;gap:6px;font-size:18px;font-weight:600;display:flex}.impact-summary small{color:var(--brand-muted);font-size:11px;font-weight:400}.impact-table{max-height:290px;margin:18px 0;font-size:10px;overflow:auto}.impact-table>div{border-bottom:1px solid var(--line);color:var(--brand-muted);grid-template-columns:2fr .6fr .6fr .6fr;gap:7px;padding:11px 4px;display:grid}.impact-table strong{color:var(--brand-muted);font-weight:500}.impact-table-head{font-size:9px;color:var(--brand-muted)!important}.modal>footer{justify-content:flex-end;align-items:center;gap:9px;margin-top:21px;display:flex}.guide-modal{width:480px}.guide-list{counter-reset:step;margin:24px 0;padding:0;list-style:none}.guide-list li{counter-increment:step;margin-bottom:21px;padding:0 0 0 36px;position:relative}.guide-list li:before{content:counter(step);background:var(--brand-surface-subtle);width:24px;height:24px;color:var(--brand-blue-light);border-radius:7px;place-items:center;font-family:monospace;font-size:11px;display:grid;position:absolute;top:0;left:0}.guide-list strong{color:var(--brand-muted);margin-bottom:5px;font-size:12px;font-weight:500;display:block}.guide-list span{color:var(--brand-muted);font-size:10px;line-height:1.7}.toast{z-index:90;background:var(--brand-navy);color:var(--brand-surface);box-shadow:0 8px 25px var(--brand-shadow);border-radius:8px;align-items:center;gap:9px;max-width:90vw;padding:12px 18px;font-size:11px;display:flex;position:fixed;bottom:26px;left:50%;transform:translate(-50%)}.toast svg{color:var(--brand-blue-light);flex-shrink:0}.portfolio-section{background:var(--brand-surface);border:1px solid var(--line);border-radius:10px;margin-bottom:20px;overflow:hidden}.portfolio-section h2{color:var(--brand-muted);border-bottom:1px solid var(--line);align-items:center;gap:9px;margin:0;padding:19px 22px;font-size:14px;font-weight:600;display:flex}.portfolio-section h2 span{color:var(--brand-muted);margin-left:auto;font-size:10px;font-weight:400}.portfolio-row{background:var(--brand-surface);border:0;border-bottom:1px solid var(--line);text-align:left;align-items:center;gap:28px;width:100%;padding:25px 22px;display:flex}.portfolio-row:last-child{border-bottom:0}.portfolio-row:hover{background:var(--brand-surface)}.portfolio-project{flex-shrink:0;width:210px}.portfolio-project small{color:var(--brand-muted);margin-bottom:5px;font-family:monospace;font-size:9px;display:block}.portfolio-project strong{color:var(--brand-muted);font-size:13px;font-weight:500;display:block}.portfolio-project span{color:var(--brand-muted);margin-top:8px;font-size:9px;display:block}.portfolio-track{flex:1}.portfolio-months{color:var(--brand-muted);justify-content:space-between;margin-bottom:13px;font-size:9px;display:flex}.portfolio-bar{background:var(--brand-surface-subtle);border:1px solid var(--brand-progress);border-radius:5px;min-width:100px;height:28px;position:relative}.portfolio-bar>i:first-child{background:var(--brand-progress);border-radius:4px;position:absolute;inset:0 auto 0 0}.portfolio-bar>span{color:var(--brand-blue-light);padding:7px 9px;font-size:9px;display:block;position:relative}.portfolio-diamond{background:var(--brand-blue-light);border:2px solid var(--brand-surface-subtle);width:10px;height:10px;top:8px;transform:rotate(45deg);position:absolute!important}.portfolio-target{min-width:80px;position:relative}.portfolio-target small{color:var(--brand-muted);font-size:9px;display:block}.portfolio-target strong{color:var(--brand-muted);margin-top:4px;font-family:monospace;font-size:17px;display:block}.portfolio-target svg{color:var(--brand-muted);position:absolute;top:20px;right:0}@keyframes slide-in{0%{opacity:.5;transform:translate(25px)}to{opacity:1;transform:translate(0)}}@keyframes modal-in{0%{opacity:.6;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width>=1600px){:root{--sidebar:225px}.brand{font-size:18px}main{padding:33px 38px 0}.topbar{padding:0 38px}.metric-note{font-size:10px}.timeline-scroll{max-height:730px}}@media (width<=1200px){:root{--sidebar:185px}.brand{font-size:15px}.brand-mark{width:28px;height:28px}.sidebar{padding-left:11px;padding-right:11px}.program-nav button{font-size:10px}.topbar{padding:0 22px}.saved-status{display:none}main{padding:23px 22px 0}.heading-actions .team-avatars{display:none}.metric{gap:9px;padding:0 13px}.metric-note{display:block}.metric-spark{display:none}.toolbar-right{gap:6px}.plan-toolbar{padding:13px}.group-controls{gap:6px}.segmented button{padding:5px 8px}.search-field input{width:80px}.legend{gap:10px}.plan-period .tag{display:none}}@media (width<=900px){.metrics{grid-template-columns:1fr 1fr;padding:0}.metric{border-bottom:1px solid var(--line);padding:17px}.metric:nth-child(2){border-right:0}.metric:nth-child(n+3){border-bottom:0}.project-heading{align-items:flex-start}.heading-actions{flex-direction:column;align-items:flex-end}.project-heading h1{font-size:23px}.plan-toolbar{flex-wrap:wrap}.toolbar-right{margin-top:3px}.layer-toolbar>span{display:none}.bottom-grid{grid-template-columns:1fr}.portfolio-row{gap:12px}.portfolio-project{width:170px}.portfolio-months span:nth-child(2),.portfolio-months span:nth-child(3){display:none}.breadcrumbs{gap:7px}.topbar-actions{gap:8px}.topbar{padding:0 18px}.app-footer>span:last-child{display:none}}@media (width<=700px){:root{--sidebar:210px}.sidebar{box-shadow:10px 0 35px var(--brand-shadow);transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0)}.main-shell{width:100%;margin-left:0}.mobile-menu{display:grid}.topbar{height:57px;padding:0 15px}.breadcrumbs>span:first-of-type,.breadcrumb-slash{display:none}.topbar-actions{gap:5px}.role-switch{padding:5px}.role-switch select{width:115px;font-size:10px}.topbar-actions>.icon-button{display:none}main{padding:23px 14px 0}.project-heading{gap:10px;margin-bottom:19px}.project-eyebrow{gap:6px;font-size:8px}.project-heading h1{margin-top:10px;font-size:21px}.project-heading p{max-width:240px;font-size:10px;line-height:1.7}.heading-actions .button:not(.primary){display:none}.heading-actions .button.primary{margin-top:22px;padding:7px 8px;font-size:9px}.metrics{margin-bottom:18px}.metric{gap:8px;padding:15px 12px}.metric-icon{border-radius:7px;width:29px;height:29px}.metric-icon svg{width:16px}.metric strong{font-size:23px}.metric>div>span{font-size:9px}.metric-note{font-size:8px}.metric>div>div{gap:6px}.metric .metric-date{font-size:21px}.plan-tabs{height:47px;padding:0 13px}.plan-period{font-size:8px}.view-tabs{gap:17px}.view-tabs button{font-size:11px}.plan-toolbar{padding:12px}.toolbar-divider{display:none}.group-controls{justify-content:space-between;width:100%}.segmented{margin-right:auto}.toolbar-label{display:none}.search-field input{width:80px}.toolbar-right{justify-content:flex-start;width:100%}.layer-toolbar{padding:0 13px 11px;font-size:9px}.layer-toolbar>div{gap:15px}.timeline-scroll{max-height:570px}.chart-footer{align-items:flex-start;padding:11px}.legend{gap:8px;max-width:250px;font-size:7px}.chart-footer>button{font-size:8px}.bottom-grid{gap:12px;margin-top:15px}.drawer{width:100%}.drawer-content{padding:21px}.modal{padding:20px}.modal h2{font-size:21px}.impact-summary{grid-template-columns:.9fr 1.6fr .9fr;gap:0}.impact-summary>div{padding:12px 8px}.impact-summary strong{font-size:14px}.impact-summary small{font-size:9px}.impact-summary span{font-size:8px}.impact-table>div{grid-template-columns:1.5fr .65fr .65fr .65fr;font-size:9px}.app-footer{padding:10px 16px 20px;font-size:8px}.portfolio-row{flex-wrap:wrap;padding:19px 16px;position:relative}.portfolio-project{width:100%}.portfolio-track{width:100%;min-width:100%}.portfolio-target{position:absolute;top:25px;right:18px}.portfolio-section h2{padding:17px}.demo-footnote{font-size:8px;line-height:1.9}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root{--indigo:var(--brand-blue);--muted:var(--brand-muted);--line:var(--brand-border);color:var(--brand-navy);background:var(--brand-background)}h1,h2,.brand{color:var(--brand-blue)}.button.primary,.brand-mark{background:var(--brand-blue);border-color:var(--brand-blue);color:var(--brand-surface)}.button.primary:hover{background:var(--brand-navy)}.task-bar{background:var(--brand-blue-tint);border-color:var(--brand-blue-light);color:var(--brand-navy)}.task-fill{background:var(--brand-progress)}.task-bar.complete{background:var(--brand-blue-tint);border-color:var(--brand-blue);color:var(--brand-blue)}.complete .task-fill{background:var(--brand-progress)}.task-bar.critical{background:var(--brand-red-tint);border-color:var(--brand-red-light);color:var(--brand-burgundy)}.critical .task-fill{background:var(--brand-red-fill)}.task-bar.blocked{background:var(--brand-yellow-tint);border-color:var(--brand-yellow);color:var(--brand-navy)}.blocked .task-fill{background:var(--brand-yellow-fill)}.task-bar.milestone{background:0 0;border:0}.diamond{background:var(--brand-red);box-shadow:0 0 0 1px var(--brand-red)}.milestone.complete .diamond{background:var(--brand-blue);box-shadow:0 0 0 1px var(--brand-blue)}.milestone.critical .diamond{background:var(--brand-red);box-shadow:0 0 0 1px var(--brand-red)}.status-pill.amber,.tag.amber{background:var(--brand-yellow-tint);color:var(--brand-navy)}.status-pill.green,.status-pill.violet{background:var(--brand-blue-tint);color:var(--brand-blue)}.text-red{color:var(--brand-red)!important}.text-amber{color:var(--brand-navy)!important}.day-head .today-date{background:var(--brand-blue);color:var(--brand-surface)}.day-head .today-date small{color:var(--brand-surface)}.today-line{border-color:var(--brand-red)}.today-line span{background:var(--brand-red-tint);color:var(--brand-burgundy)}.prediction-bar{border-color:var(--brand-yellow)}.prediction-label{background:var(--brand-yellow-tint);color:var(--brand-navy)}.task-progress,.task-text,.portfolio-bar>span{color:inherit}.task-bar.complete{color:var(--brand-navy)}
