:root{font-family:Inter,-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;color:#202c43;background:#f4f6fa;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #dce2ec;background:white;color:#45516a;border-radius:7px;padding:9px 13px}button:hover{background:#edf2ff;color:#2858db}button:focus-visible,input:focus,select:focus,textarea:focus{outline:2px solid #3967e8;outline-offset:2px}.primary{background:#305ce0;color:#fff;border-color:#305ce0}.primary:hover{background:#2549bc;color:white}aside{position:fixed;width:216px;inset:0 auto 0 0;background:#101d35;color:#bdc9dd;padding:30px 20px}.brand{font-size:23px;font-weight:650;color:white}.brand b{display:inline-grid;place-items:center;background:#3765e8;width:32px;height:32px;border-radius:8px}.brand small{display:block;font-size:10px;letter-spacing:2px;margin:9px 0 35px 42px;color:#7689ac}.product{padding:18px 12px;border:1px solid #2c3a53;border-radius:8px;color:#edf2ff;font-size:16px}.product span{display:block;color:#8497b7;font-size:12px;margin-top:8px}nav{margin-top:28px;display:grid;gap:8px}nav button{text-align:left;background:none;border:0;color:#a7b8d3;padding:14px}nav .active{background:#26395c;color:#fff}.aside-bottom{position:absolute;bottom:28px;font-size:12px;line-height:2;color:#7e91b1}main{margin-left:216px;padding:0 32px 32px}header{height:82px;border-bottom:1px solid #e1e6ef;display:flex;align-items:center;justify-content:space-between;color:#7e899c}header>div{display:flex;gap:9px}.heading{display:flex;justify-content:space-between;align-items:center;padding:32px 0 26px}.eyebrow{font-size:11px;letter-spacing:2px;color:#5874b5}h1{font-size:29px;font-weight:650;letter-spacing:-1px;margin:10px 0}p{color:#7a8699;margin:8px 0}.report{font-size:12px;color:#7a8699;display:grid;gap:8px}.report input{background:transparent;border:0;font-size:14px;color:#334565}.metrics{display:grid;grid-template-columns:1fr 1fr 1fr 1.6fr;background:white;border:1px solid #e2e7f0;border-radius:10px;margin-bottom:24px}.metrics>div{padding:20px 24px;border-right:1px solid #e8ecf4}.metrics>div:last-child{border:0}.metrics span,.metrics small{display:block;color:#7c889b;font-size:12px}.metrics strong{display:block;font-size:30px;margin:10px 0;font-weight:600}.metrics .range{font-size:23px;margin:15px 0}.workspace{border:1px solid #dfe5ef;border-radius:10px;overflow:hidden;background:white}.toolbar,.subtools{display:flex;justify-content:space-between;align-items:center;padding:15px 18px;gap:12px;border-bottom:1px solid #e5eaf1}.tabs button{border:0;background:transparent}.tabs .selected{color:#305ce0;background:#edf2ff}.controls{display:flex;gap:8px}input,select,textarea{border:1px solid #dce3ed;border-radius:6px;background:white;padding:9px;color:#384763}.controls input{width:190px}.subtools{padding:8px 18px;color:#8a95a5;font-size:12px}.subtools button{padding:5px 9px;font-size:12px;border:0}.plan-scroll{overflow:auto;max-height:580px}#plan{min-width:1080px}.plan-row{display:grid;grid-template-columns:450px 90px 120px minmax(420px,1fr);height:49px;border-bottom:1px solid #edf0f5}.plan-row:hover{background:#f7f9ff}.plan-row.head{position:sticky;top:0;z-index:3;background:#f6f8fc;height:53px;color:#71809a;font-size:12px}.cell{display:flex;align-items:center;padding:0 14px;border-right:1px solid #ecf0f6;min-width:0}.task-name{gap:8px}.task-name .name{border:0;background:transparent;padding:0;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#33425b}.task-name .toggle{padding:3px;width:22px;flex-shrink:0;border:0;background:transparent}.task-name .add{margin-left:auto;padding:2px 7px;opacity:0;flex-shrink:0}.plan-row:hover .add,.add:focus{opacity:1}.group{background:#f8faff;font-weight:600}.status{font-size:12px;padding:4px 7px;border-radius:5px;background:#f0f2f6;color:#77859a}.status.进行中{background:#eaf0ff;color:#345fe4}.status.已完成{background:#e4f3ec;color:#25805b}.status.阻塞{background:#fff0e9;color:#b66738}.timeline{position:relative;overflow:hidden;background-image:linear-gradient(to right,#edf0f5 1px,transparent 1px);background-size:25% 100%}.month-label{position:absolute;top:18px;font-size:12px;color:#7b88a0;padding-left:9px}.bar{position:absolute;top:15px;height:19px;min-width:4px;border-radius:4px;background:#5380ed}.group .bar{height:9px;top:21px;background:#8da7da;border-radius:2px}.bar.incomplete{background:repeating-linear-gradient(45deg,#e1e9fb,#e1e9fb 4px,#f4f7fd 4px,#f4f7fd 8px);border:1px dashed #8da7da}.node{position:absolute;top:20px;width:10px;height:10px;transform:rotate(45deg);background:#5479d6}.unplanned{font-size:12px;color:#adb7c7;position:absolute;top:17px;left:14px}.today-line{position:absolute;border-left:1px dashed #ee9979;top:0;bottom:0;pointer-events:none}.legend{display:flex;gap:22px;padding:15px 20px;font-size:12px;color:#8a96a8}.legend span{display:flex;align-items:center;gap:7px}.legend i{display:inline-block;width:12px;height:9px}.blue{background:#5380ed;border-radius:2px}.diamond{background:#5479d6;transform:rotate(45deg);width:8px!important;height:8px!important}dialog{border:0;border-radius:14px;width:650px;max-width:95vw;box-shadow:0 20px 80px #152b5550;padding:26px}dialog::backdrop{background:#10213e66;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dialog-head small{letter-spacing:2px;color:#7385a4}h2{font-size:22px;margin:8px 0}.dialog-head button{border:0}form label{display:grid;gap:7px;margin-bottom:15px;font-size:13px;color:#5e6d86}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}textarea{resize:vertical}.hint{font-size:12px;line-height:1.8}.form-actions{display:flex;justify-content:space-between;align-items:center;margin-top:20px}#save-error{color:#bd4e4e;font-size:12px}#notice{position:fixed;bottom:25px;right:30px;background:#172943;color:white;padding:12px 20px;border-radius:8px;display:none}.presentation aside,.presentation header,.presentation .report,.presentation .metrics,.presentation .controls,.presentation .task-name .add{display:none}.presentation main{margin-left:0}.presentation .heading{padding-top:20px}.presentation .task-name .name{pointer-events:none}.presentation #present-exit{display:block}#present-exit{display:none;position:fixed;top:15px;right:20px;z-index:8}.list-mode .plan-row{grid-template-columns:minmax(450px,1fr) 130px 130px}.list-mode .timeline{display:none}.empty{padding:60px;text-align:center;color:#8390a5}@media(max-width:1000px){aside{width:170px;padding:25px 12px}main{margin-left:170px;padding:0 18px}.metrics{grid-template-columns:1fr 1fr}.heading h1{font-size:24px}.toolbar{flex-wrap:wrap}.report{display:none}header>span{display:none}}@media(max-width:650px){aside{position:static;width:100%;padding:12px}.brand small,.product,.aside-bottom{display:none}nav{display:flex;margin-top:12px}nav button{padding:8px}main{margin:0;padding:0 12px}.heading{padding:20px 0}.metrics>div{padding:14px}.metrics .range{font-size:18px}header{height:65px}.controls{flex-wrap:wrap}.legend{flex-wrap:wrap}.fields{grid-template-columns:1fr}}@media print{@page{size:A3 landscape;margin:12mm}aside,header,.controls,.subtools button,.report,.add,#present-exit{display:none!important}main{margin:0;padding:0}.metrics{display:none}.heading{padding:0 0 12px}.plan-scroll{overflow:visible;max-height:none}#plan{min-width:0}.plan-row{grid-template-columns:38% 8% 10% 44%;break-inside:avoid}.workspace{overflow:visible}.head{position:static!important}*{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
:root{background:#fff}main{margin:0;padding:0;height:100dvh;display:flex;flex-direction:column}.topbar{height:54px;min-height:54px;padding:0 18px;gap:22px;background:#fff;justify-content:flex-start}.top-product{font-size:16px;color:#24344e;white-space:nowrap}.topbar nav{display:flex;gap:4px;margin:0;height:100%;align-items:center}.topbar nav button{background:transparent;color:#62708a;padding:9px 14px;border-radius:5px;font-size:14px}.topbar nav button.active{background:#edf2ff;color:#305ce0}.top-actions{margin-left:auto;white-space:nowrap}.workspace{border:0;border-radius:0;flex:1;display:flex;flex-direction:column;min-height:0}.toolbar{padding:8px 18px;min-height:51px}.controls{align-items:center}.controls input,.controls select{padding:6px 9px}.report-inline{display:flex;align-items:center;gap:6px;color:#7c899e;font-size:12px;white-space:nowrap}.report-inline input{width:135px}.subtools{padding:4px 18px;min-height:32px}.plan-scroll{flex:1;max-height:none;min-height:0}.plan-row{height:38px}.plan-row.head{height:40px}.month-label{top:12px}.bar{top:10px;height:17px}.group .bar{top:15px}.node{top:14px}.unplanned{top:11px}.legend{padding:7px 18px;min-height:29px;border-top:1px solid #e7ecf3}.task-name .add{opacity:1}.presentation .topbar{display:flex}.presentation .topbar nav,.presentation .top-actions{display:none}.presentation main{margin:0}.presentation .controls{display:flex}.presentation .report-inline{display:none}.presentation #present-exit{top:9px;right:18px}#present-exit{padding:7px 12px}@media(max-width:1000px){main{margin:0;padding:0}.toolbar{gap:6px}.topbar>span{display:none}.topbar{gap:12px}.top-actions{gap:4px}.topbar nav button{padding:8px}}@media(max-width:650px){.topbar{height:auto;min-height:50px;flex-wrap:wrap;padding:8px 12px;gap:8px}.topbar nav{height:auto}.top-actions{width:100%;justify-content:flex-end}.controls{gap:6px}.toolbar{padding:7px 12px}.report-inline{display:none}.controls input{width:150px}.subtools{padding:4px 12px}.legend{padding:7px 12px}}@media print{main{height:auto;display:block}.topbar{display:none!important}.workspace{display:block}.plan-scroll{overflow:visible}.report-inline{display:none}.plan-row{height:38px}}

.nav-dropdown{position:relative;color:#305ce0}.nav-dropdown summary{list-style:none;cursor:pointer;padding:9px 14px;border-radius:5px;background:#edf2ff}.nav-dropdown summary::-webkit-details-marker{display:none}.dropdown-menu{position:absolute;top:42px;left:0;z-index:10;min-width:150px;background:white;box-shadow:0 6px 24px #24344e22;border:1px solid #e0e6ef;border-radius:7px;padding:5px;display:grid;gap:3px}.dropdown-menu button{text-align:left}.toolbar{justify-content:flex-start}.controls{flex-wrap:wrap}.plan-row.head{z-index:3}
.req-row{display:grid;grid-template-columns:minmax(260px,1fr) 80px 150px 110px 115px 115px 220px;align-items:center;min-height:40px;border-bottom:1px solid #e8edf5;font-size:14px}.req-row>span,.req-name{padding:8px 12px}.req-row.head{position:sticky;top:0;background:#f6f8fc;color:#71809a}.req-name{border:0;background:none;text-align:left;color:#305ce0}.req-row button{padding:5px 8px}.requirements-mode #scale,.requirements-mode .legend,.requirements-mode #collapse,.requirements-mode #expand{display:none}

.presentation .req-row [data-arrange]{display:none}.presentation .req-name{pointer-events:none}

.plan-row{grid-template-columns:380px 85px 115px 125px 115px 115px minmax(445px,1fr)}.date-cell{font-size:13px;gap:4px;white-space:nowrap}.date-cell small{font-size:10px;color:#8a96a8}.deadline-cell{color:#355ac0;font-weight:550}.conflict{color:#c25132;background:#fff1eb}.deadline-label{position:absolute;top:11px;margin-left:9px;white-space:nowrap;font-size:12px;color:#294faa;z-index:2;background:#ffffffdc;padding:1px 3px;border-radius:3px}.deadline-label.label-left{transform:translateX(-100%);margin-left:-8px}.release{background:#d78535}.list-mode .plan-row{grid-template-columns:minmax(380px,1fr) 100px 120px 135px 125px 125px}.list-mode #plan{min-width:1050px!important}@media print{.plan-row{grid-template-columns:27% 6% 9% 9% 9% 9% 31%}.date-cell{font-size:11px}.deadline-label{font-size:10px}}

.plan-row{grid-template-columns:380px 85px 115px 115px 115px minmax(440px,1fr)}.list-mode .plan-row{grid-template-columns:minmax(380px,1fr) 100px 120px 125px 125px}.list-mode #plan{min-width:950px!important}@media print{.plan-row{grid-template-columns:28% 7% 10% 10% 10% 35%}}

.view-switch{display:flex;gap:2px;white-space:nowrap;background:#f1f4f9;border-radius:6px;padding:2px}.view-switch button{border:0;background:transparent;padding:6px 12px}.view-switch .selected{background:white;color:#305ce0;box-shadow:0 1px 3px #24344e18}.context-new{margin-left:auto;white-space:nowrap}.toolbar{gap:14px}.presentation .context-new{display:none}body[data-view=backlog] .view-switch,body[data-view=reference] .view-switch,body[data-view=reference] #scale{display:none}.list-mode #scale{display:none}@media print{.view-switch,.context-new{display:none!important}}

.weekly-mode .toolbar,.weekly-mode .subtools,.weekly-mode .legend,.weekly-mode .top-actions{display:none}.weekly-controls{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.weekly-controls label{display:flex;gap:7px;align-items:center}.weekly-section{margin-top:18px}.weekly-section h3{font-size:15px;margin:0 0 8px}.weekly-section textarea{width:100%;font-size:14px;line-height:1.6}.weekly-section details{margin-top:6px;color:#687991;font-size:13px}.weekly-section h3 button{font-size:12px;margin-left:12px}.weekly-history{margin-top:15px}.weekly-history button{margin:6px}#weekly-form{padding:18px;max-width:1400px}#weekly-message{margin-top:12px;color:#557099}@media print{.weekly-controls button,.weekly-section button,.weekly-history,.weekly-section details,#weekly-message{display:none!important}.weekly-section textarea{border:0;field-sizing:content;min-height:80px;resize:none}.weekly-section{break-inside:avoid}}

.settings-mode .toolbar,.settings-mode .subtools,.settings-mode .legend,.settings-mode .top-actions{display:none}.settings-panel{padding:18px;max-width:700px}.settings-panel h3{font-size:15px;margin:0 0 14px}.settings-panel form{display:flex;gap:10px;margin:10px 0}.settings-panel input{width:300px}.settings-panel h3:not(:first-child){margin-top:24px}.req-row{grid-template-columns:minmax(260px,1fr) 180px 115px 75px 150px 110px 115px 115px 220px}.requirements-mode #plan{min-width:1450px!important}

#editor{width:960px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto}#editor .fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}#editor input,#editor select,#editor textarea{width:100%;min-width:0}#editor .parent-field{grid-column:1/-1}#parent-path{white-space:normal;overflow-wrap:anywhere;font-size:13px;color:#61728c;line-height:1.6}.fixed-root{font-weight:600;white-space:normal!important;overflow-wrap:anywhere}.task-name .name{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.45}.plan-row{height:auto;min-height:42px}.task-name{padding-top:6px;padding-bottom:6px}.plan-row .timeline{min-height:42px}@media(max-width:650px){#editor .fields{grid-template-columns:minmax(0,1fr)}}

.plan-row{grid-template-columns:380px 85px 115px 115px 115px 110px minmax(440px,1fr)}.plan-actions{gap:6px;padding:0 7px}.plan-actions button{font-size:12px;padding:4px 6px}.delete-action{color:#b64c3d}.list-mode .plan-row{grid-template-columns:minmax(380px,1fr) 100px 120px 125px 125px 110px}.presentation .plan-actions,.presentation #trash{display:none}.presentation .plan-row{grid-template-columns:380px 85px 115px 115px 115px minmax(440px,1fr)}body:not([data-view=plan]) #trash{display:none}.trash-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #e6ebf2}.trash-row span{overflow-wrap:anywhere}.trash-dialog{width:760px;max-height:85vh;overflow:auto}@media print{.plan-actions,#trash{display:none!important}.plan-row{grid-template-columns:28% 7% 10% 10% 10% 35%}}

.plan-row,.presentation .plan-row{grid-template-columns:380px 85px 115px 115px 115px minmax(440px,1fr)}.list-mode .plan-row{grid-template-columns:minmax(380px,1fr) 100px 120px 125px 125px}.task-name .add{width:22px;height:22px;min-width:22px;padding:0;border:0;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#8794a8;opacity:0;transition:opacity .12s,background .12s}.plan-row:hover .add,.plan-row:focus-within .add{opacity:1}.task-name .add:hover{color:#305ce0;background:#e6edfc}.detail-delete{color:#b85043;border-color:transparent;background:transparent;margin-right:auto}.detail-delete:hover{color:#a43b30;background:#fff0ed}#detail-delete[hidden]{display:none}#save-error{margin-right:12px}.form-actions>.primary{margin-left:auto}@media(hover:none){.task-name .add{opacity:1}}@media print{.plan-row{grid-template-columns:28% 7% 10% 10% 10% 35%}}

body[data-view=plan] #new{display:none}

.req-station{display:block;font-size:12px;color:#8995a9;margin-top:3px}.requirement-work{margin:18px 0}.requirement-work h3{font-size:14px}.requirement-work-row{display:grid;grid-template-columns:minmax(160px,1fr) 75px 75px 185px;align-items:center;gap:8px;border-bottom:1px solid #e7edf5;padding-top:8px;padding-bottom:8px;font-size:12px}.requirement-work-row button{border:0;background:none;text-align:left;white-space:normal;color:#305ce0;line-height:1.5}.requirement-work-row span{overflow-wrap:anywhere}dialog:has(.requirement-work){width:960px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto}@media(max-width:650px){.requirement-work-row{grid-template-columns:minmax(0,1fr) 65px}.requirement-work-row span:last-child{grid-column:1/-1}}

.req-row{grid-template-columns:minmax(300px,1fr) 140px 160px 115px 70px 145px 100px 115px 115px 130px}.req-tree-name{display:flex;align-items:center;min-width:0}.req-tree-name .req-name{white-space:normal;line-height:1.5}.req-toggle,.req-toggle-space{width:24px;flex:0 0 24px}.req-toggle{border:0;background:transparent;color:#71809a}.req-child{background:#fafbfd}.req-child .req-tree-name{padding-left:28px}.req-child .req-name{color:#44546b}
.enum-panel{padding:16px 24px;max-width:1200px;margin:auto}.enum-tabs{display:flex;gap:6px;border-bottom:1px solid #e3e8ef;padding-bottom:10px}.enum-tabs button{border:0;background:transparent;padding:8px 18px}.enum-tabs button[aria-pressed=true]{background:#edf2ff;color:#305ce0}.enum-toolbar{display:flex;align-items:center;gap:16px;padding:16px 0}.enum-toolbar input{width:260px}.enum-toolbar>span{color:#71809a;font-size:13px}.enum-toolbar .primary,.enum-fixed{margin-left:auto}.enum-table{width:100%;border-collapse:collapse;font-size:14px}.enum-table th{text-align:left;background:#f6f8fc;color:#65748b;font-weight:500}.enum-table th,.enum-table td{padding:12px 16px;border-bottom:1px solid #e8edf5}.enum-table th:first-child{width:45%}.enum-table td button{border:0;background:transparent;color:#305ce0;padding:4px 10px}.enum-table td .enum-delete{color:#b44545}.enum-dialog{width:480px;max-width:calc(100vw - 32px)}.enum-dialog p{line-height:1.6}.enum-danger{background:#b44545;color:white;border-color:#b44545}.settings-mode #plan{min-width:0!important}

.req-row{grid-template-columns:140px minmax(300px,1fr) 160px 115px 70px 145px 100px 115px 115px 130px}.req-children[hidden]{display:none!important}.req-row .req-toggle{padding:0;width:26px;height:28px;flex:0 0 26px;display:inline-flex;align-items:center;justify-content:center;pointer-events:auto}.req-row .req-toggle:hover{background:#e8efff}

.link-field{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.link-field>span{flex:1;min-width:150px}.link-field button{padding:6px 10px}.link-picker{width:760px}.picker-filters{display:flex;gap:12px}.picker-filters input{flex:1}.picker-results{max-height:400px;overflow:auto;margin-top:14px}.picker-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 4px;border-bottom:1px solid #e8edf5}.picker-row small{display:block;margin-top:5px;color:#71809a}.picker-row button{flex-shrink:0}.picker-row button:disabled{opacity:.5;cursor:default}.requirement-overview{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px;background:#f6f8fc;font-size:13px}.requirement-overview>div{grid-column:1/-1}
.weekly-index{padding:16px 20px}.weekly-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.weekly-date-filter{display:flex;align-items:center;gap:12px}.weekly-date-filter label{display:flex;gap:8px;align-items:center;color:#65748b}.weekly-table{border-collapse:collapse;width:100%;font-size:14px}.weekly-table th,.weekly-table td{padding:12px 10px;border-bottom:1px solid #e8edf5;text-align:left}.weekly-table th{background:#f6f8fc;color:#65748b;font-weight:500}.weekly-table button{padding:7px 10px}.weekly-week-link{border:0;background:transparent;color:#305ce0;white-space:nowrap}.weekly-station-badges{display:flex;gap:8px;flex-wrap:wrap}.weekly-report-badge{display:inline-flex;flex-direction:column;gap:3px;padding:7px 10px;border-radius:6px;font-size:13px}.weekly-report-badge small{font-size:11px}.weekly-report-badge.missing{background:#f5f6f8;color:#929baa}.weekly-report-badge.saved{background:#edf3ff;color:#305ce0}.weekly-dialog{width:1000px;max-height:90vh;overflow:auto}.weekly-detail-tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid #e8edf5;padding-bottom:12px}.weekly-detail-tabs button{border:0}.weekly-detail-tabs button[aria-pressed=true]{background:#edf3ff;color:#305ce0}.weekly-detail-status{margin:16px 0;color:#65748b}.weekly-read-section h3{font-size:15px;margin:18px 0 8px}.weekly-read-section>div{white-space:pre-wrap;line-height:1.8;color:#33425b}.weekly-edit-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.weekly-range{color:#71809a;font-size:13px}.weekly-dialog #weekly-form{padding:0}.weekly-dialog [role=alert]{color:#b44545}.weekly-mode .plan-scroll{max-height:calc(100vh - 100px)}@media(max-width:800px){.weekly-list-toolbar,.weekly-date-filter{flex-wrap:wrap}.weekly-edit-fields{grid-template-columns:1fr}.weekly-table{min-width:900px}}@media print{body:has(.weekly-dialog[open]) main{display:none}.weekly-dialog[open]{position:static;max-height:none;width:100%;box-shadow:none}.weekly-dialog .dialog-head button,.weekly-detail-tabs,.weekly-dialog .form-actions{display:none}}

.plan-add-dialog{width:860px;max-width:calc(100vw - 24px);padding:24px;max-height:90vh;overflow:auto}.plan-add-dialog h2{font-size:20px;margin:0}.plan-add-dialog .dialog-head{margin-bottom:16px}.plan-add-target{display:flex;gap:12px;align-items:baseline;padding:12px 14px;background:#f6f8fc;border-radius:6px;line-height:1.5}.plan-add-target span{flex-shrink:0;color:#71809a;font-size:12px}.plan-add-target strong{font-size:13px;font-weight:500;overflow-wrap:anywhere}.plan-add-tabs{display:flex;gap:24px;margin-top:16px;border-bottom:1px solid #e3e8ef}.plan-add-tabs button{border:0;border-radius:0;background:none;padding:10px 0;color:#71809a}.plan-add-tabs button[aria-pressed=true]{color:#305ce0;border-bottom:2px solid #305ce0}.plan-add-search{display:flex;gap:16px;align-items:center;padding:16px 0}.plan-add-search>input{flex:1;min-width:0}.plan-add-search label{display:flex;gap:6px;align-items:center;font-size:12px;white-space:nowrap;color:#71809a}.plan-add-results{max-height:360px;overflow:auto}.plan-add-results table{width:100%;border-collapse:collapse;font-size:13px}.plan-add-results th{text-align:left;font-weight:500;color:#71809a;background:#f6f8fc}.plan-add-results th,.plan-add-results td{padding:12px 10px;border-bottom:1px solid #e8edf5}.plan-add-results td strong{font-weight:500}.plan-add-results td small{display:block;color:#71809a;line-height:1.5;margin-top:4px}.plan-add-results td:last-child{width:80px}.plan-add-results td:nth-child(2){width:60px}.plan-add-results button{padding:6px 12px}.plan-add-results button:disabled{color:#9ca6b5;background:#f7f8fa;cursor:default}.plan-add-empty{text-align:center;padding:42px 12px;color:#929baa}.plan-group-form{padding-top:18px}.plan-add-dialog [hidden]{display:none!important}.plan-add-error{font-size:13px;color:#b44545;margin-top:12px}@media(max-width:600px){.plan-add-dialog{padding:18px}.plan-add-search{gap:8px}.plan-add-target{display:block}.plan-add-target strong{display:block;margin-top:4px}}
.defects-mode .toolbar,.defects-mode .subtools,.defects-mode .legend,.defects-mode .top-actions{display:none}.defects-mode .plan-scroll{max-height:calc(100vh - 85px)}.defects-mode #plan{min-width:0!important}.defect-index{padding:16px 20px}.defect-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.defect-toolbar>input{width:240px}.defect-toolbar .primary{margin-left:auto}.defect-subfilter{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}.defect-subfilter>select{font-size:12px;padding:6px}.defect-scopes{display:flex;gap:4px;flex-wrap:wrap;margin-right:auto}.defect-scopes button{border:0;background:transparent;font-size:13px;padding:7px 10px}.defect-scopes button[aria-pressed=true]{background:#edf3ff;color:#305ce0}.defect-counts{font-size:12px;color:#71809a;margin:12px 0}.defect-table-scroll{overflow:auto}.defect-table{width:100%;min-width:1360px;border-collapse:collapse;font-size:13px}.defect-table th,.defect-table td{padding:10px 12px;border-bottom:1px solid #e8edf5;text-align:left;vertical-align:middle}.defect-table th{color:#65748b;background:#f6f8fc;font-weight:500;white-space:nowrap}.defect-table th:first-child{width:130px}.defect-table th:nth-child(3){width:34%}.defect-table td{white-space:nowrap}.defect-title{display:block;border:0;background:transparent;text-align:left;padding:0;color:#305ce0;white-space:normal;line-height:1.6;max-width:540px}.defect-table tbody tr:hover{background:#fafbfd}.defect-status{padding:4px 7px;border-radius:4px;background:#f1f3f6;color:#65748b}.defect-status.verify{background:#fff3df;color:#9c6b16}.defect-status.closed{background:#eaf5ed;color:#427858}.defect-overdue{color:#b44545}.defect-overdue small{display:block;font-size:11px}.defect-dialog{width:1040px;max-height:90vh;overflow:auto}.defect-dialog h2{font-size:20px}.defect-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:0 16px}.defect-dialog textarea{line-height:1.6}.defect-section{margin-top:18px;padding-top:14px;border-top:1px solid #e8edf5}.defect-section h3{font-size:15px;margin:0 0 12px}.defect-section summary{color:#65748b;cursor:pointer;margin-bottom:12px}.defect-dialog [hidden]{display:none!important}.defect-dialog [role=alert]{color:#b44545;font-size:13px}.muted{color:#929baa;font-size:13px}.defect-comment-fields{display:grid;grid-template-columns:130px 1fr auto;gap:10px;align-items:start}.defect-comment{padding:12px 0;border-bottom:1px solid #e8edf5}.defect-comment small,.defect-source,.defect-change small{font-size:12px;color:#71809a;line-height:1.8}.defect-comment p{white-space:pre-wrap;color:#33425b;line-height:1.6}.defect-change{font-size:12px;padding:8px 0;line-height:1.6;border-bottom:1px solid #edf0f5}.defect-change>div{white-space:pre-wrap}@media(max-width:800px){.defect-fields{grid-template-columns:1fr 1fr}.defect-comment-fields{grid-template-columns:1fr}.defect-toolbar .primary{margin-left:0}}@media(max-width:600px){.defect-fields{grid-template-columns:1fr}.defect-index{padding:12px}.defect-dialog{padding:18px}}
.defect-table{min-width:1180px;table-layout:fixed}.defect-table th,.defect-table td{padding:10px 9px}.defect-table th:first-child{width:118px}.defect-table th:nth-child(2){width:82px}.defect-table th:nth-child(3){width:auto}.defect-table th:nth-child(4){width:90px}.defect-table th:nth-child(5){width:70px}.defect-table th:nth-child(6){width:80px}.defect-table th:nth-child(7){width:80px}.defect-table th:nth-child(8){width:82px}.defect-table th:nth-child(9),.defect-table th:nth-child(10){width:110px}.defect-table td:not(:nth-child(3)){overflow-wrap:anywhere;white-space:normal}.defect-table th{position:sticky;top:0;z-index:1}
.defect-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

.defect-dialog{width:940px;padding:20px 24px}.defect-detail-tabs{display:flex;gap:20px;border-bottom:1px solid #e8edf5;margin-bottom:18px}.defect-detail-tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;padding:10px 0;color:#71809a}.defect-detail-tabs button[aria-pressed=true]{color:#305ce0;border-bottom-color:#305ce0}.defect-dialog .defect-fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 14px}.defect-dialog [data-detail-panel]{min-height:280px}.defect-footer{position:sticky;bottom:-20px;background:white;border-top:1px solid #e8edf5;padding:12px 0;margin-top:10px;z-index:1}.defect-footer [data-delete-defect]{margin-right:auto}.defect-dialog .defect-section:first-child{border-top:0;margin-top:0;padding-top:0}@media(max-width:800px){.defect-dialog .defect-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.defect-detail-tabs{gap:12px}.defect-dialog{padding:16px}}@media(max-width:500px){.defect-dialog .defect-fields{grid-template-columns:1fr}}

.today-line{border-left:1px dashed #a5b5cd;z-index:3}.gantt-today-label{position:absolute;top:0;z-index:5;font-size:11px;color:#657a97;background:#edf2f9;padding:2px 5px;border-radius:3px;white-space:nowrap;pointer-events:none}.gantt-cursor-line{display:none;position:absolute;top:0;bottom:0;left:var(--gantt-cursor-position);border-left:1px solid #6f88b8;opacity:.7;z-index:4;pointer-events:none}.gantt-hovering .gantt-cursor-line{display:block}.gantt-cursor-date{display:none;position:absolute;top:19px;z-index:6;font-size:11px;line-height:18px;background:#edf3ff;color:#365c98;padding:0 5px;border-radius:3px;white-space:nowrap;pointer-events:none}.gantt-hovering .gantt-cursor-date{display:block}.gantt-date-active .timeline{background-color:#f1f5fc}.gantt-hover-card{position:fixed;z-index:20;pointer-events:none;background:#fff;border:1px solid #dce5f2;box-shadow:0 5px 20px #20365620;border-radius:7px;padding:10px 12px;font-size:12px;line-height:1.8;color:#65748b;max-width:min(320px,calc(100vw - 16px))}.gantt-hover-card strong{color:#365c98;font-weight:600}.gantt-hover-title{color:#263a57;font-weight:500;overflow-wrap:anywhere}.list-mode .gantt-hover-card{display:none}@media print{.gantt-cursor-line,.gantt-cursor-date,.gantt-hover-card{display:none!important}.gantt-date-active .timeline{background-color:transparent}}
