:root{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Arial,sans-serif;color:#112b45;background:#f7fafb;font-synthesis:none;--navy:#112b45;--teal:#118a83;--teal-soft:#dff3ef;--blue:#2c7bbd;--amber:#e9a329;--amber-soft:#fff0cd;--red:#d9534f;--red-soft:#ffe4e0;--line:#dbe5ea;--muted:#718290;--surface:#fff}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#f7fafb}button,input,textarea,select{font:inherit}button{cursor:pointer}.engineer-only{min-height:100vh;padding:16px;background:#f7fafb}.app-shell{display:flex;min-height:100vh}.sidebar{width:228px;background:#102b46;color:#fff;padding:25px 16px 18px;display:flex;flex-direction:column;flex-shrink:0}.brand-mark{padding:4px 14px 28px;font-size:19px;font-weight:800}.brand-mark small{display:block;color:#a9c0d0;font-size:12px;font-weight:500;margin-top:5px}.sidebar nav{display:grid;gap:6px}.nav-item{border:0;background:transparent;color:#b9ccda;text-align:left;padding:13px 14px;border-radius:8px;font-weight:700}.nav-item:hover,.nav-item.active{background:#1d536b;color:#fff}.nav-item.active{box-shadow:inset 3px 0 #46c7c0}.sidebar-foot{margin-top:auto;color:#9bb3c4;font-size:11px;line-height:1.8;padding:14px}.sidebar-foot b{color:#fff;font-weight:600}.main-content{flex:1;min-width:0;padding:30px 38px 60px}.topbar{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:22px}.eyebrow{font-size:11px;color:var(--teal);font-weight:800;letter-spacing:.13em}.topbar h1{font-size:30px;line-height:1.2;margin:9px 0 5px;letter-spacing:-.03em}.topbar p,.page-title p{color:var(--muted);font-size:13px;margin:0}.top-actions{display:flex;align-items:center;gap:10px}.ghost,.primary,.text-button,.back-button,.close{border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:7px;padding:10px 14px;font-weight:700}.primary{background:var(--teal);border-color:var(--teal);color:#fff}.text-button,.back-button{border:0;background:transparent;color:var(--teal);padding:4px 0}.user-chip{font-size:13px;color:var(--muted);white-space:nowrap}.stage-rail{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 20px}.stage{border:1px solid var(--line);background:#fff;border-radius:12px;padding:14px 18px;display:flex;align-items:center;gap:12px;text-align:left;color:var(--navy)}.stage-clickable:hover{border-color:var(--teal);box-shadow:0 7px 18px #0f7f7715;transform:translateY(-1px)}.stage-num{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#e8eef1;font-weight:800}.stage b{display:block;font-size:14px}.stage small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.stage strong{margin-left:auto;font-size:20px}.stage-teal{border-top:3px solid var(--teal)}.stage-teal .stage-num{background:var(--teal);color:#fff}.stage-amber{border-top:3px solid var(--amber)}.stage-amber .stage-num{background:var(--amber);color:#fff}.stage-slate{border-top:3px solid #a8b7c1}.metric-grid,.delivery-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.metric{background:var(--surface);border:1px solid var(--line);border-top:3px solid #bac7cf;border-radius:10px;padding:13px 15px}.metric span,.metric small{display:block;color:var(--muted);font-size:12px}.metric strong{display:block;font-size:27px;line-height:1.12;margin:8px 0 3px}.metric.teal{border-top-color:var(--teal)}.metric.blue{border-top-color:var(--blue)}.metric.amber{border-top-color:var(--amber)}.metric.red{border-top-color:var(--red)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:18px;margin-bottom:18px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px}.panel-head h2,.page-title h2{font-size:18px;margin:0 0 4px}.panel-head span,.page-title p{font-size:12px;color:var(--muted)}.progress-rail{display:grid;gap:13px}.progress-stage-head{display:flex;justify-content:space-between;margin-bottom:5px}.progress-stage-head b,.progress-stage-head strong{font-size:13px}.track{height:9px;background:#edf2f4;border-radius:999px;overflow:hidden}.track i{display:block;height:100%;border-radius:999px;background:var(--teal)}.progress-stage.amber .track i{background:var(--amber)}.progress-stage.slate .track i{background:#9eacb6}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.campus-list{display:grid;gap:16px}.campus-row{display:grid;grid-template-columns:1.35fr 1.5fr 58px;align-items:center;gap:14px}.row-label b{display:block;font-size:13px}.row-label span,.campus-row small{font-size:11px;color:var(--muted)}.bar-with-value{display:flex;align-items:center;gap:8px}.bar-with-value .track{flex:1}.bar-with-value b{font-size:12px;min-width:34px}.mini-chart-panel{min-height:264px}.legend{font-size:11px;color:var(--muted);white-space:nowrap}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin:0 4px 0 9px;background:#aebcc5}.dot:first-child{margin-left:0}.dot.teal{background:var(--teal)}.dot.amber{background:var(--amber)}.dot.red{background:var(--red)}.dot.slate{background:#9eadb8}.burn-chart{height:160px;display:flex;gap:10px;padding-top:10px}.y-axis{display:flex;flex-direction:column;justify-content:space-between;color:#8a98a2;font-size:10px;padding-bottom:13px}.bars{flex:1;display:flex;align-items:flex-end;gap:7px;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent 51px,#edf2f4 52px)}.bar-column{height:100%;flex:1;position:relative;display:flex;align-items:flex-end;justify-content:center;gap:2px}.bar-column i,.bar-column em{display:block;width:9px;border-radius:4px 4px 0 0}.bar-column i{background:var(--teal);z-index:1}.bar-column em{background:#cbd6dc;position:absolute;bottom:0;opacity:.8}.chart-labels{display:flex;justify-content:space-between;color:#8a98a2;font-size:10px;margin:5px 0 0 34px}.page-title{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}.page-title.compact{margin-bottom:16px}.page-title h2{font-size:22px;margin-top:7px}.back-button{display:block;font-size:12px}.title-actions{display:flex;gap:9px}.gantt-panel{overflow:hidden}.gantt{display:grid;grid-template-columns:190px 1fr 56px;min-width:820px}.gantt-label-head,.gantt-days,.gantt-row{border-bottom:1px solid var(--line)}.gantt-label-head{font-size:12px;font-weight:700;padding:10px 0}.gantt-days{grid-column:2;display:grid;grid-template-columns:repeat(20,1fr);font-size:10px;color:var(--muted);text-align:center;padding:10px 0}.gantt-days span{border-left:1px solid #eef2f4}.gantt-days .baseline-day{color:var(--red);font-weight:800}.gantt-row{grid-column:1/-1;display:grid;grid-template-columns:190px 1fr 56px;align-items:center;min-height:47px;background:#fff;border:0;border-bottom:1px solid var(--line);text-align:left;padding:0;color:var(--navy)}.gantt-row:hover,.gantt-row.selected{background:#f1faf8}.gantt-label{padding-right:10px}.gantt-label b{display:block;font-size:12px}.gantt-label small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.gantt-track-wide{height:28px;position:relative;background:repeating-linear-gradient(90deg,#f4f7f8 0,#f4f7f8 calc(5% - 1px),#e8eef1 calc(5% - 1px),#e8eef1 5%);border-radius:4px}.bar{position:absolute;top:5px;height:18px;border-radius:5px;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;min-width:40px}.bar.risk{background:var(--amber)}.baseline-line{position:absolute;top:-7px;bottom:-7px;width:2px;background:var(--red);left:68.4%;opacity:.8}.gantt-value{font-size:11px;color:var(--muted);text-align:right}.baseline-key{display:inline-block;width:2px;height:13px;background:var(--red);vertical-align:middle;margin-left:5px}.compact-table{display:grid;gap:0}.table-row{display:grid;grid-template-columns:2fr 1.1fr .75fr .8fr .9fr;gap:10px;align-items:center;text-align:left;border:0;border-bottom:1px solid var(--line);background:#fff;padding:13px 8px;color:var(--navy)}.table-row:hover{background:#f5fbfa}.table-head{font-size:11px;color:var(--muted);font-weight:700;background:#f4f7f8}.table-row span{font-size:12px}.table-row small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.status{display:inline-block;padding:4px 7px;border-radius:999px;background:#edf2f4;color:#5b6c77;font-size:10px;font-weight:700}.status.progress{background:var(--teal-soft);color:#05746e}.status.done{background:#e4f4ec;color:#18774f}.status.risk{background:var(--amber-soft);color:#98650c}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0e263c55;z-index:10;display:flex;justify-content:flex-end}.drawer{width:min(570px,100vw);height:100%;overflow:auto;background:#fff;padding:26px;box-shadow:-16px 0 40px #0b20382c}.drawer-head{display:flex;justify-content:space-between;gap:14px}.drawer-head h2{margin:8px 0 4px;font-size:22px}.drawer-head p{font-size:12px;color:var(--muted);margin:0}.close{font-size:24px;border:0;padding:0;width:30px;height:30px}.drawer-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0}.drawer-summary .metric{padding:10px}.drawer-summary .metric strong{font-size:22px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.section-title h3{margin:0;font-size:15px}.section-title span{font-size:11px;color:var(--muted)}.model-row{display:grid;grid-template-columns:1.3fr repeat(3,.72fr);gap:6px;align-items:end;border-bottom:1px solid var(--line);padding:8px 0}.model-row input,.form-grid input,.form-grid select,.drawer textarea{width:100%;border:1px solid #ccd9df;border-radius:6px;padding:8px;background:#fff;color:var(--navy)}.model-row label,.form-grid label{font-size:10px;color:var(--muted)}.model-row label input{margin-top:4px}.add-row{border:0;background:transparent;color:var(--teal);font-weight:700;padding:10px 0}.reconcile-warning{background:var(--amber-soft);border-left:4px solid var(--amber);padding:12px;margin:16px 0;display:grid;gap:4px}.reconcile-warning b{font-size:13px;color:#8c5f0e}.reconcile-warning span,.reconcile-warning small{font-size:11px;color:#705723}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-grid label input,.form-grid label select{display:block;margin-top:4px}.drawer textarea{margin-top:12px;min-height:74px;resize:vertical}.drawer-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.view-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:8px}.view-tabs button{border:0;background:transparent;padding:10px 13px;color:var(--muted);font-weight:700}.view-tabs button.active{color:var(--teal);border-bottom:2px solid var(--teal)}.issue-grid{display:grid;gap:0}.issue-row{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:12px;padding:17px 4px;border-bottom:1px solid var(--line)}.issue-mark{width:10px;height:10px;border-radius:50%;background:var(--amber)}.issue-mark.red{background:var(--red)}.issue-row b{display:block;font-size:13px}.issue-row small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.audit-note{margin-top:16px;background:#eef7f7;color:#426b70;padding:11px;border-radius:7px;font-size:12px}.mobile-wrap{display:flex;justify-content:center}.mobile-card{width:min(100%,430px);background:#fff;border:1px solid var(--line);border-radius:18px;padding:23px 18px;box-shadow:0 10px 30px #12314a12}.mobile-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.mobile-top h2{font-size:27px;margin:8px 0 3px}.mobile-top p{font-size:12px;color:var(--muted);margin:0}.session-dot{color:#17806f;background:#e2f5ee;border-radius:999px;padding:6px 9px;font-size:11px}.mobile-filter{display:block;font-size:11px;color:var(--muted);margin:20px 0 13px}.mobile-filter select{display:block;width:100%;margin-top:5px;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fff;color:var(--navy)}.mobile-task{border:1px solid #b5dcd7;border-radius:13px;padding:17px;background:#fbfffe}.task-head{display:flex;justify-content:space-between;gap:8px}.task-head h3{font-size:17px;margin:7px 0 0}.task-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0 10px;background:#f2faf9;border-radius:9px;padding:12px}.task-stats small,.task-stats b,.task-stats span{display:block}.task-stats small{color:var(--muted);font-size:11px}.task-stats b{font-size:31px;margin:3px 0}.task-stats span{color:var(--muted);font-size:11px}.stepper{display:grid;grid-template-columns:52px 1fr 52px;align-items:center;border:1px solid var(--line);border-radius:8px;overflow:hidden}.stepper button{height:48px;border:0;background:#eef8f6;color:var(--teal);font-size:25px}.stepper strong{text-align:center;font-size:24px}.quick-actions,.mobile-status{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:10px 0}.quick-actions button,.mobile-status button{border:1px solid #bbd9d6;background:#fff;color:var(--teal);border-radius:7px;padding:10px 5px;font-weight:700;font-size:12px}.quick-actions .solid{background:var(--teal);color:#fff}.mobile-status{grid-template-columns:repeat(4,1fr)}.mobile-status button{border-color:var(--line);color:var(--muted)}.mobile-status button.selected{background:var(--teal-soft);border-color:var(--teal);color:#08736c}.mobile-status button.warn{background:var(--amber-soft);color:#8d620f}.mobile-status button.danger{background:var(--red-soft);color:#a73e3b}.mobile-task textarea{width:100%;min-height:74px;border:1px solid var(--line);border-radius:8px;padding:9px;resize:vertical}.mobile-save{width:100%;margin-top:10px;border:0;border-radius:8px;background:var(--teal);color:#fff;padding:13px;font-weight:800}.mobile-collapsed{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);padding:16px 4px;font-size:12px}.mobile-collapsed span{color:var(--muted)}.wizard-step{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:18px 0;color:#9aa8b2;font-size:10px;text-align:center}.wizard-step span{padding:6px 2px;border-bottom:2px solid #e7edf0}.wizard-step .current{color:var(--teal);border-color:var(--teal);font-weight:800}.wizard-step .done{color:#18774f;border-color:#8bd0b5}.entry-field{display:block;color:var(--muted);font-size:11px;margin:10px 0}.entry-field input,.entry-field select{display:block;width:100%;margin-top:5px;border:1px solid var(--line);border-radius:8px;padding:11px;background:#fff;color:var(--navy)}.mis-direct{margin:12px 0;padding:11px;border-radius:8px;background:var(--teal-soft);color:#08736c;font-size:12px;font-weight:700}.model-picker{margin-top:17px}.model-entry{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:10px 0}.model-entry span{min-width:0}.model-entry b,.model-entry small{display:block}.model-entry b{font-size:13px}.model-entry small{font-size:10px;color:var(--muted);margin-top:3px}.model-entry input{width:86px;border:1px solid #b5dcd7;border-radius:7px;padding:10px;text-align:center;color:var(--navy)}.entry-note{width:100%;min-height:84px;margin-top:15px;border:1px solid var(--line);border-radius:8px;padding:10px;resize:vertical}@media(max-width:900px){.sidebar{width:180px}.main-content{padding:22px}.two-col{grid-template-columns:1fr}.metric-grid,.delivery-metrics{grid-template-columns:repeat(2,1fr)}.topbar{display:block}.top-actions{margin-top:15px}}@media(max-width:640px){.app-shell{display:block}.sidebar{position:sticky;top:0;width:100%;height:auto;z-index:3;padding:10px 12px;display:block}.brand-mark{display:none}.sidebar nav{display:flex;overflow:auto;gap:4px}.nav-item{padding:9px 12px;white-space:nowrap;font-size:12px}.sidebar-foot{display:none}.main-content{padding:16px 12px 34px}.topbar h1{font-size:23px}.top-actions{justify-content:space-between}.stage-rail{grid-template-columns:1fr;gap:7px}.stage{padding:11px 13px}.metric-grid,.delivery-metrics{grid-template-columns:1fr 1fr;gap:8px}.metric{padding:10px}.metric strong{font-size:22px}.panel{padding:14px}.panel-head{display:block}.panel-head .text-button{display:block;margin-top:8px}.campus-row{grid-template-columns:1fr;gap:5px}.campus-row small{display:none}.gantt-panel{overflow-x:auto}.gantt{min-width:760px}.page-title{display:block}.title-actions{margin-top:12px}.table-row{grid-template-columns:1.55fr .9fr .75fr .8fr}.table-row span:nth-child(5){display:none}.drawer{padding:18px}.model-row{grid-template-columns:1.2fr repeat(3,.7fr)}.mobile-card{border-radius:12px;padding:18px 14px}.mobile-top h2{font-size:24px}}@media print{.sidebar,.top-actions,.text-button,.primary,.ghost,.back-button{display:none!important}.main-content{padding:0}.panel{break-inside:avoid;box-shadow:none}.app-shell{display:block}.topbar{border-bottom:2px solid #112b45}}.model-entry{flex-wrap:wrap}.model-entry select{flex-basis:100%;width:100%;padding:11px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--navy)}.product-selection,.model-selection{margin-top:17px}.product-options{display:flex;flex-wrap:wrap;gap:8px}.model-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.product-option,.model-option{display:flex;align-items:center;gap:9px;min-height:48px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--navy);cursor:pointer}.product-option{flex:1 1 28%}.product-option.selected,.model-option.selected{background:var(--teal-soft);border-color:#83c9c1}.product-option input,.model-option input{width:18px;height:18px;margin:0;accent-color:var(--teal);flex:none}.product-option span,.model-option span{font-size:12px;font-weight:700}.model-option small{display:block;font-size:10px;color:var(--muted);margin-top:2px;font-weight:400}.model-group{margin-top:10px}.model-group h4{margin:0 0 7px;font-size:12px;color:var(--muted)}.install-model-entry{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;justify-content:stretch;gap:8px}.install-model-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.install-model-heading span{min-width:0}.install-model-heading strong{flex:none;color:#08736c;font-size:12px}.department-picker{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff}.department-picker summary{display:flex;justify-content:space-between;gap:8px;list-style:none;cursor:pointer;padding:10px;font-size:12px;font-weight:700;color:var(--navy)}.department-picker summary::-webkit-details-marker{display:none}.department-picker summary span{color:var(--teal);font-weight:600}.department-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:0 8px 9px;max-height:220px;overflow:auto}.department-options label{display:flex;align-items:center;gap:6px;min-width:0;padding:7px 6px;border:1px solid var(--line);border-radius:6px;color:var(--navy);font-size:11px;cursor:pointer}.department-options label.selected{background:var(--teal-soft);border-color:#83c9c1}.department-options input{width:16px;height:16px;margin:0;accent-color:var(--teal);flex:none}.department-options label span{overflow-wrap:anywhere}.department-quantities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.department-quantity{display:grid;gap:4px;min-width:0;color:var(--muted);font-size:10px}.department-quantity input{width:100%;min-width:0;border:1px solid #b5dcd7;border-radius:7px;padding:9px;text-align:center;color:var(--navy)}.editable-row{display:flex;gap:8px;align-items:center;padding:8px 0;flex-wrap:wrap}.editable-row input{width:150px;min-width:0}.plan-model{border-bottom:1px solid var(--line);padding:14px 0}.delete-row{border:1px solid #e9bbbb;color:#a73e3b;background:#fff;border-radius:6px;padding:6px 10px}.panel+.panel{margin-top:16px}.submission-editor{margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#f8fbfc}.submission-editor textarea{width:100%;min-height:70px;border:1px solid var(--line);border-radius:6px;padding:8px;font-family:ui-monospace,monospace;font-size:12px}.submission-editor .entry-field{margin:7px 0}.submission-editor button{margin:5px 5px 0 0}.select-all{font-size:12px;color:var(--muted);margin-right:8px}.select-all input{accent-color:var(--teal)}.issue-row>input{width:18px;height:18px;accent-color:var(--teal)}.delete-row:disabled{opacity:.45;cursor:not-allowed}.app-shell .metric strong{font-size:40px;letter-spacing:-.04em}.app-shell .stage strong{font-size:28px}.app-shell .stage{min-height:82px;padding:18px 20px}.app-shell .stage b{font-size:16px}.app-shell .panel-head h2,.app-shell .panel>h2{font-size:22px}.app-shell .panel>h3{font-size:18px}.app-shell .panel:has(svg){padding-bottom:22px}.app-shell .panel svg{display:block;min-height:220px;margin-top:12px;padding:14px;border:1px solid #e2ebef;border-radius:12px;background:linear-gradient(180deg,#fbfefe,#f3f8f9)}.app-shell .gantt-value{font-size:14px;font-weight:800;color:var(--navy)}.app-shell .gantt-label b{font-size:14px}.app-shell .gantt-label small{font-size:11px}.app-shell .form-grid input,.app-shell .form-grid select{font-size:17px;padding:13px}.app-shell .editable-row input{font-size:16px;padding:11px}.app-shell .issue-row{grid-template-columns:20px 52px minmax(0,1fr);align-items:start;min-height:104px;padding:20px 10px;gap:14px}.app-shell .issue-row>input{margin-top:4px}.app-shell .issue-row>span{font-size:16px;font-weight:800;color:var(--navy);padding-top:2px}.app-shell .issue-row>div{min-width:0}.app-shell .issue-row b{font-size:17px;line-height:1.35}.app-shell .issue-row small{font-size:13px;line-height:1.45}.app-shell .issue-row p{font-size:15px;margin:10px 0;color:var(--navy)}.app-shell .issue-row .text-button{font-size:14px;font-weight:800}.app-shell .panel-head>div:last-child{display:flex;align-items:center;gap:10px}.app-shell .submission-editor{max-width:760px}.app-shell .submission-editor textarea{font-size:14px;min-height:92px}.app-shell .main-content{padding:24px 30px 48px}.app-shell .metric-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.app-shell .panel{padding:20px}.app-shell .topbar{margin-bottom:18px}.app-shell .table-row{padding:11px 8px}@media(max-width:1100px){.app-shell .sidebar{width:196px}.app-shell .main-content{padding:22px}.app-shell .metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.app-shell{display:block}.app-shell .sidebar{position:sticky;top:0;width:100%;height:auto;z-index:20;padding:9px 10px}.app-shell .brand-mark{display:none}.app-shell .sidebar nav{display:flex;gap:4px;overflow-x:auto}.app-shell .nav-item{padding:9px 11px;font-size:12px;white-space:nowrap}.app-shell .main-content{padding:14px 10px 28px}.app-shell .topbar{display:block;padding-bottom:14px;margin-bottom:14px}.app-shell .topbar h1{font-size:24px}.app-shell .top-actions{margin-top:12px;justify-content:space-between}.app-shell .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.app-shell .metric{padding:12px}.app-shell .metric strong{font-size:30px}.app-shell .stage-rail{grid-template-columns:1fr;gap:7px}.app-shell .stage{min-height:66px;padding:13px 14px}.app-shell .stage strong{font-size:24px}.app-shell .panel{padding:14px;margin-bottom:12px}.app-shell .panel-head{display:flex;align-items:center}.app-shell .panel-head h2,.app-shell .panel>h2{font-size:19px}.app-shell .form-grid{grid-template-columns:1fr}.app-shell .editable-row{display:grid;grid-template-columns:1fr 1fr;gap:7px}.app-shell .editable-row small,.app-shell .editable-row button{grid-column:1/-1}.app-shell .issue-row{grid-template-columns:20px 42px minmax(0,1fr);min-height:0;padding:15px 2px;gap:9px}.app-shell .issue-row b{font-size:14px}.app-shell .issue-row small{font-size:11px}.app-shell .issue-row p{font-size:13px;margin:7px 0}.app-shell .issue-row .text-button{font-size:13px}.app-shell .panel:has(svg){overflow:hidden}.app-shell .panel svg{min-height:170px;padding:8px}.app-shell .gantt-panel{overflow-x:auto}.app-shell .gantt{min-width:760px}.app-shell .drawer{width:100vw;padding:17px}.app-shell .drawer .form-grid,.app-shell .drawer .model-row{grid-template-columns:1fr 1fr}.app-shell .submission-editor{padding:9px}}
