.planning-project-bar{display:flex;align-items:center;flex-wrap:nowrap;gap:8px 10px;margin:4px 0 12px}.planning-project-label{flex:none;color:#5c6b64;font-size:.85rem;white-space:nowrap}.planning-project-picker{flex:0 1 340px;width:340px;min-width:180px;max-width:100%}.planning-sheet{display:grid;grid-gap:10px;gap:10px;min-width:0}.planning-tools{margin-bottom:0}.planning-tools .button.danger{color:#a33a3a}.planning-btn-text{margin-left:2px}.planning-heading{display:flex;flex-wrap:wrap;align-items:center;gap:8px 8px;min-width:0}.planning-heading>.planning-tools{flex:1 1 auto;margin:0}.planning-heading h2{margin:0;font-size:1.15rem}.planning-edit-toggle{display:inline-flex;align-items:center;gap:4px}.planning-edit-scope{font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.planning-branch{gap:8px;padding:6px 10px;margin-top:8px;border:1px solid var(--accent);border-radius:8px;background:color-mix(in srgb,var(--accent) 8%,var(--card));font-size:.9rem}.planning-branch,.planning-crumbs{display:flex;align-items:center;flex-wrap:wrap}.planning-crumbs{gap:2px 0;margin:0;padding:0;list-style:none}.planning-crumbs li+li:before{content:"\203A";margin:0 6px;color:var(--muted,#6b7280)}.planning-crumbs .linkish{padding:0}.planning-branch strong{min-width:0;overflow-wrap:anywhere}.planning-wrap{overflow:auto;max-height:calc(100vh - 300px);min-height:200px;border:1px solid #e4ebe7;border-radius:12px;background:white}.planning-grid{border:0;width:100%;table-layout:fixed}.planning-grid .col-num{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planning-grid .col-building,.planning-grid .col-entrance,.planning-grid .col-floor{white-space:nowrap}.planning-grid .planning-cell.is-missing .planning-cell-text:empty:before{content:"—";color:#b7c2bc}.planning-grid .planning-cell.is-missing{background-color:#fffaf0}.planning-grid .col-volume{text-align:right;white-space:nowrap}.planning-grid .col-unit{white-space:nowrap}.planning-grid .col-duration{text-align:right}.planning-grid .col-date{white-space:nowrap}.planning-grid .col-percent{text-align:right;color:#55635c}.planning-grid thead .planning-group-row th{top:0;height:24px;padding:2px 8px;border-bottom:0;font-size:.74rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#55635c}.planning-grid thead .planning-group-row th.planning-group-stats{text-align:center;border-bottom:2px solid #d7e3dc}.planning-grid thead tr:nth-child(2) th{top:24px}.planning-grid td.is-stat,.planning-grid th.is-stat{background-color:#f6f8f7;color:#3f4d46}.planning-grid td.is-stat.is-active{background-color:#f1faf5}.planning-grid tr.is-section td,.planning-grid tr.work-tree-task td{background:white}.planning-grid tr.is-section td{background:#f3faf6}.planning-grid tr.is-selected td{background-color:#f6fbf8}.planning-grid tr.is-archived td{color:#8a958f;background:#f6f6f5}.planning-grid tr.is-archived .estimate-name-text{text-decoration:line-through}.planning-grid thead th{position:-webkit-sticky;position:sticky}.planning-col-resize{position:absolute;top:0;right:0;z-index:5;width:7px;height:100%;cursor:col-resize;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.planning-col-resize:after{content:"";position:absolute;top:20%;bottom:20%;right:2px;width:2px;border-radius:2px;background:transparent}.planning-col-resize:active:after,.planning-col-resize:focus-visible:after,.planning-grid th:hover>.planning-col-resize:after{background:#1f6b4a}.planning-col-resize:focus-visible{outline:none}.planning-number{color:#7b8882;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.planning-cell{position:relative;outline:none}.planning-cell.is-editable{cursor:cell}.planning-cell.is-active{box-shadow:inset 0 0 0 2px #1f6b4a;background:#f1faf5}.planning-cell.has-error{box-shadow:inset 0 0 0 2px #c0504d}.planning-cell-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planning-cell .estimate-name{min-width:0}.planning-status{position:absolute;right:6px;top:50%;transform:translateY(-50%);color:#7b8882;font-size:.8rem}.planning-status.is-saved{color:#1f6b4a}.planning-input{min-height:30px;padding:3px 6px;font:inherit}.planning-input,.planning-picker{width:100%;min-width:0}.planning-cell-error{display:block;margin-top:2px;color:#a33a3a;font-size:.75rem;white-space:normal}.planning-conflict{display:grid;grid-gap:8px;gap:8px;padding:10px 12px;border:1px solid #e3b4b2;border-radius:10px;background:#fdf4f3}.planning-conflict p{margin:0}.planning-notice{margin:0;padding:8px 12px;border-radius:10px;background:#e7f6ee;color:#1f6b4a}.planning-badge{margin-left:6px;padding:1px 7px;border-radius:999px;background:#e9ecea;color:#5c6b64;font-size:.72rem;font-weight:500;white-space:nowrap}.planning-archive-toggle{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;color:#35453e}.planning-popover-anchor{position:relative}.planning-popover{position:absolute;right:0;top:calc(100% + 6px);z-index:20;display:grid;grid-gap:10px;gap:10px;width:min(380px,90vw);padding:12px;border:1px solid #d4dcd8;border-radius:12px;background:white;box-shadow:0 8px 24px rgba(20,40,30,.14)}.planning-popover p{margin:0}.estimate-icon.is-milestone{fill:#1f6b4a;stroke:#1f6b4a}.planning-wrap{position:relative}.planning-grid td.planning-number{display:table-cell}.planning-drag,.planning-number>span{vertical-align:middle}.planning-drag{display:inline-block;width:14px;margin-right:4px;color:#8a8f98;cursor:-webkit-grab;cursor:grab;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.planning-drag:before{content:"\283F"}.planning-drag:hover{color:#1f6b4a}.planning-grid tr.is-dragging>td{opacity:.45}.planning-grid tr.is-drop-before>td{box-shadow:inset 0 2px 0 #1f6b4a}.planning-grid tr.is-drop-after>td{box-shadow:inset 0 -2px 0 #1f6b4a}.planning-grid tr.is-drop-inside>td{background:rgba(31,107,74,.12);box-shadow:inset 0 0 0 1px #1f6b4a}.planning-pick{width:15px;min-width:0;height:15px;min-height:0;padding:0;margin:0 8px 0 0;vertical-align:middle;accent-color:#1f6b4a;cursor:pointer}.planning-grid tr.is-picked td{background-color:#eaf5ef}.planning-grid tr.is-picked.is-section td{background-color:#e1f0e8}.planning-grid tr.is-fresh td{animation:planning-fresh 2.4s ease-out}@keyframes planning-fresh{0%,40%{background-color:#fff4c7}to{background-color:inherit}}.planning-progress{position:-webkit-sticky;position:sticky;top:0;left:0;z-index:4;height:3px;margin-bottom:-3px;overflow:hidden;background:#e1efe7}.planning-progress:after{content:"";position:absolute;inset:0 auto 0 0;width:30%;background:#1f6b4a;animation:planning-progress 1.1s ease-in-out infinite}@keyframes planning-progress{0%{transform:translateX(-100%)}to{transform:translateX(340%)}}@media (prefers-reduced-motion:reduce){.planning-grid tr.is-fresh td,.planning-progress:after{animation:none}}.planning-bulk{display:grid;grid-gap:8px;gap:8px;padding:8px 12px;border:1px solid #bcdcca;border-radius:12px;background:#f1f9f4}.planning-bulk-main{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}.planning-bulk-actions{display:flex;flex-wrap:wrap;gap:6px}.planning-bulk-actions .button.danger{color:#a33a3a}.planning-bulk-clear{margin-left:auto}.planning-bulk-assign{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding-top:8px;border-top:1px solid #d3e8dc}.planning-bulk-picker{min-width:240px;flex:0 1 320px}.planning-row-menu{min-width:248px;gap:0;padding:6px;justify-items:stretch}.planning-row-menu.opens-up{top:auto;bottom:100%;margin:0 0 4px}.planning-menu-group{display:grid}.planning-menu-group hr{margin:4px 2px;border:0;border-top:1px solid #e8ece9}.planning-menu-item{box-sizing:border-box;text-decoration:none;display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:7px 10px;border:0;border-radius:7px;background:transparent;color:#1d2a24;font:inherit;font-size:.88rem;text-align:left;white-space:nowrap;cursor:pointer}.planning-menu-item:focus-visible,.planning-menu-item:hover:not(:disabled){background:#eef6f1;outline:none}.planning-menu-item:disabled{color:#a7b0ab;cursor:default}.planning-menu-item.danger{color:#a33a3a}.planning-menu-item kbd{color:#7b8882;font:inherit;font-size:.76rem}.planning-grid td.estimate-menu,.planning-grid th.col-menu{position:-webkit-sticky;position:sticky;right:0;z-index:2}.planning-grid thead th{z-index:3}.planning-grid th.col-menu{z-index:4;background:#f8faf9}.planning-grid td.estimate-menu{box-shadow:-1px 0 0 #edf1ef}.planning-grid td.estimate-menu.is-open{z-index:5}.planning-row-menu.at-pointer{position:fixed;right:auto;margin:0;z-index:30}.planning-add-address{margin:0;padding:0;border:0;display:grid;grid-gap:6px;gap:6px}.planning-add-address legend{margin-bottom:4px;color:#3d4a45;font-size:.78rem;font-weight:650}.planning-add-address p{margin:0;font-size:.82rem}.planning-add-address-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.planning-bulk-address .input{width:140px}.material-demand h2{margin:0 0 4px}.material-demand .muted{margin:0}.material-demand-groups{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px}.material-demand-table{width:100%}.material-demand-table .col-volume{text-align:right;white-space:nowrap}.material-demand-table .col-number{white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.material-demand-table tr.is-withdrawn td{color:#7b8a84;text-decoration:line-through}.material-demand-table tr.is-withdrawn td:last-child{text-decoration:none}.equipment-duplicates,.planning-notice.is-warning{background:#fdf0e0;color:#8a4b08}.equipment-duplicates{margin:4px 0 0;padding:6px 10px;border-radius:8px;font-size:.85rem}.equipment-duplicates ul{margin:2px 0 0;padding-left:18px}.equipment-demand-duplicates-filter{display:inline-flex;align-items:center;gap:6px;font-size:.9rem}.material-demand-table td.is-late{color:#a23b00}.material-demand-late{font-weight:700}.material-demand-address-filter{max-width:140px}.material-demand-window{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.material-demand-window-input{width:4.5em;text-align:right}.material-demand-stock{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin-top:4px}.material-demand-supply{min-width:220px}.material-demand-delivery{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 4px}.material-demand-delivery .col-number{font-weight:600}.material-demand-delivery-mark{font-size:.85em;padding:0 6px;border-radius:8px}.material-demand-delivery-mark.is-early{background:#fdf0e0;color:#8a4b08}.material-demand-delivery-mark.is-late{background:#fbe4e1;color:#a23b00}.material-demand-pager{display:flex;align-items:center;gap:10px;justify-content:flex-end}.material-demand-receiving{font-size:.9em}.material-demand-receiving.is-blocked{color:#a23b00;font-weight:600}.material-demand-receiving.is-complete{color:#1f6b3a}.delivery-status-chip,.planning-supply{display:inline-block;padding:1px 7px;border-radius:999px;font-size:.78rem;font-weight:500;white-space:nowrap;background:#e9ecea;color:#3f4d46}.delivery-status-chip.is-shipped,.planning-supply.is-shipped{background:#e4eefb;color:#1d4f8c}.delivery-status-chip.is-in_transit,.planning-supply.is-in_transit{background:#e0f2f1;color:#0f5f5a}.delivery-status-chip.is-received,.planning-supply.is-received{background:#e2f3e7;color:#1f6b3a}.delivery-status-overdue,.planning-supply.is-overdue{color:#a23b00}.delivery-status-urgent{color:#b3261e;text-transform:uppercase;font-size:.72rem;letter-spacing:.03em}.planning-supply.is-overdue{background:#fdeadb;font-weight:600}.planning-supply{margin-left:6px}.planning-supply.is-risk-late{background:#fbe0de;color:#9b1c1c;font-weight:600}.planning-supply.is-risk-dependent{background:#fff0cf;color:#7a5200;font-weight:600}.planning-supply.is-doc-standing{background:#fbe0de;color:#9b1c1c;font-weight:600}.planning-supply.is-doc-overdue{background:#fdeadb;color:#a23b00;font-weight:600}.planning-supply.is-doc-waiting{background:#fff0cf;color:#7a5200;font-weight:600}.documentation-blocks{margin:0 0 16px;padding:12px 16px;border-radius:12px;background:var(--surface-subtle,#f5f7f6)}.documentation-blocks h3{margin:0 0 4px}.documentation-blocks-counts{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.documentation-blocks-counts .planning-supply{margin-left:0}.planning-supply.is-late{background:#fbe0de;color:#9b1c1c;font-weight:600}.planning-supply.is-soon{background:#fff0cf;color:#7a5200;font-weight:600}.early-warnings-counts{display:flex;gap:8px;margin:8px 0}.early-warnings-counts .planning-supply{margin-left:0}.early-warnings-group{margin-top:20px}.early-warnings-group-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.early-warnings-group-head h3{margin:0}.early-warnings-head{display:flex;align-items:center;gap:8px}.early-warnings-edit{margin-left:auto;font-size:.88rem}.early-warnings-limits{display:flex;flex-wrap:wrap;gap:6px 8px;margin:0;padding:0;list-style:none}.early-warnings-limits li{padding:4px 11px;border-radius:999px;background:#eef3f0;color:#2b3833;font-size:.82rem}.early-warnings-table tr.is-late td:first-child{border-left:3px solid #c0392b}.task-deliveries{margin-top:12px}.task-deliveries h4{margin:0 0 6px}.material-receipt-dialog{width:min(760px,96vw);max-height:92vh;overflow-y:auto}.material-receipt-dialog h3{margin:12px 0 4px;font-size:1rem}.material-receipt-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.material-receipt{border:1px solid #d6ded9;border-radius:10px;padding:8px 10px;display:grid;grid-gap:4px;gap:4px}.material-receipt.is-blocked{border-color:#e2b07a;background:#fdf6ec}.material-receipt.is-rejected{color:#7b8a84}.material-receipt-status.is-blocked{color:#a23b00;font-weight:600}.material-receipt-status.is-accepted{color:#1f6b3a}.material-receipt-problem{color:#a23b00;font-size:.9em}.material-receipt-lot{border:1px solid #d6ded9;border-radius:10px;padding:8px 10px;margin:8px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:4px 10px;gap:4px 10px}.material-receipt-lot legend{font-weight:600;padding:0 4px}.material-receipt-lot-actions{grid-column:1/-1;display:flex;gap:14px}.material-receipt-decision{display:grid;grid-gap:6px;gap:6px;margin-top:4px}.material-receipt-decision textarea{width:100%}.material-receipt-choices{display:flex;flex-wrap:wrap;gap:6px 18px}.planning-add-place{margin:0;padding:8px 10px;border:1px solid #e4ebe7;border-radius:10px;background:#f1faf5;color:#1f6b4a}@media (max-width:760px){.planning-btn-text{display:none}.planning-wrap{max-height:calc(100dvh - 180px)}}.rs-kinds{display:flex;flex-wrap:wrap;gap:8px 18px}.rs-kind-option{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.schedule-sheet{--schedule-left:950px;--schedule-cols:78px minmax(150px,1fr) 52px 120px 120px 134px 124px 60px 44px;--row:34px;--head:48px}.schedule-sheet.has-approved{--schedule-left:1308px;--schedule-cols:78px minmax(150px,1fr) 52px 120px 120px 134px 124px 60px 44px 92px 92px 170px}.schedule-tools .button.is-active{background:#e7f6ee;border-color:#1f6b4a;color:#1f6b4a}.schedule-tools .button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px}.schedule-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 10px;border:1px solid #e4ebe7;border-radius:10px;background:#fafcfb}.schedule-filter-search{min-width:180px;flex:1 1 200px;max-width:320px}.schedule-summary{display:grid;grid-gap:6px;gap:6px;padding:10px 12px;border:1px solid #e4ebe7;border-radius:10px;background:#fafcfb}.schedule-summary h3{margin:0;font-size:.95rem}.schedule-summary p{margin:0;font-size:.82rem}.schedule-summary dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));grid-gap:8px 14px;gap:8px 14px;margin:0}.schedule-summary dl>div{display:grid;grid-gap:2px;gap:2px}.schedule-summary dt{color:#5d6b66;font-size:.76rem}.schedule-summary dd{margin:0;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.schedule-summary .is-critical dd{color:#a3321f}.schedule-summary .is-late dd{color:#a35a00}.schedule-warnings{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0;padding:8px 12px;border-radius:10px;background:#fff6e5;color:#7a5200}.schedule-scroller{position:relative;overflow:auto;max-height:calc(100vh - 300px);min-height:240px;border:1px solid #e4ebe7;border-radius:12px;background:white;outline:none;overscroll-behavior:contain}.schedule-scroller:focus-visible{box-shadow:0 0 0 2px #1f6b4a}.schedule-canvas{position:relative;min-width:100%}.schedule-head{top:0;z-index:6;display:flex;height:var(--head);border-bottom:1px solid #d4dcd8}.schedule-head,.schedule-head-left{position:-webkit-sticky;position:sticky;background:#f3faf6}.schedule-head-left{left:0;z-index:7;flex:none;width:var(--schedule-left);border-right:1px solid #d4dcd8;align-items:center;font-size:.78rem;font-weight:600;color:#35453e}.schedule-head-axis{position:relative;flex:none}.schedule-axis-row{position:relative;height:24px}.schedule-axis-cell{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;overflow:hidden;border-left:1px solid #dfe7e3;font-size:.72rem;color:#55635c;white-space:nowrap}.schedule-axis-row:first-child .schedule-axis-cell{justify-content:flex-start;padding-left:6px;font-weight:600;border-bottom:1px solid #e4ebe7}.schedule-axis-cell.is-weekend{background:#eef2f0;color:#8a958f}.schedule-cols{display:grid;grid-template-columns:var(--schedule-cols);align-items:center;grid-column-gap:6px;column-gap:6px;padding:0 8px}.schedule-cols .num{text-align:center}.schedule-body{position:relative;display:flex}.schedule-left{position:-webkit-sticky;position:sticky;left:0;z-index:4;flex:none;width:var(--schedule-left);background:white;border-right:1px solid #d4dcd8}.schedule-row{position:absolute;left:0;right:0;height:var(--row);border-bottom:1px solid #eef2f0;font-size:.86rem;cursor:default;background:white}.schedule-row.is-stage{background:#f3faf6;font-weight:600}.schedule-row.is-selected{background:#e8f4ee;box-shadow:inset 3px 0 0 #1f6b4a}.schedule-row.is-captured{outline:2px dashed #1f6b4a;outline-offset:-2px}.schedule-capture-badge{margin-left:.4rem;padding:0 .4rem;border-radius:999px;background:#1f6b4a;color:white;font-size:.72rem;font-weight:500;white-space:nowrap}.schedule-row.is-archived{color:#8a958f;background:#f6f6f5}.schedule-row .estimate-name{min-width:0;overflow:hidden}.schedule-row .estimate-name-text,.schedule-row [role=gridcell]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-number{color:#7b8882;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.schedule-number .planning-pick{margin-right:6px}.schedule-predecessors{display:flex;align-items:center;gap:4px;min-width:0}.schedule-predecessors-text{min-width:0;flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.schedule-add-predecessor{flex:none;width:20px;height:20px;min-height:0;padding:0;border:1px solid #c9d6cf;border-radius:5px;background:white;color:#1f6b4a;font-size:.95rem;line-height:1;cursor:pointer;opacity:0}.schedule-add-predecessor:focus-visible,.schedule-row.is-selected .schedule-add-predecessor,.schedule-row:hover .schedule-add-predecessor{opacity:1}.schedule-add-predecessor:hover{background:#e7f6ee;border-color:#1f6b4a}.schedule-add-link .picker-select-panel{position:static;margin-top:6px;box-shadow:none}.schedule-pick-hint{align-self:center;flex:1 1 12em;min-width:0;max-width:34em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;color:#55635c}.schedule-pick-hint.is-link,.schedule-pick-hint.is-pair{color:#1f6b4a;font-weight:600}.schedule-pick-hint.is-many{color:#b3403d}.schedule-warn-dot{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#e0a526;color:white}.schedule-doc-dot,.schedule-warn-dot{flex:none;margin-left:6px;font-size:.7rem;font-weight:700}.schedule-doc-dot{padding:0 4px;border-radius:4px;line-height:1.3;background:#fff0cf;color:#7a5200}.schedule-doc-dot.is-standing{background:#fbe0de;color:#9b1c1c}.schedule-doc-dot.is-overdue{background:#fdeadb;color:#a23b00}.schedule-risk-dot{flex:none;margin-left:6px;font-size:.85rem;line-height:1;color:#9b1c1c}.schedule-risk-note{margin:0;padding:8px 12px;border-radius:10px;background:#fdeceb;color:#7a1c1c}.schedule-risk-note p{margin:0 0 6px}.schedule-risk-actions,.schedule-risk-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.schedule-risk-confirm p{flex-basis:100%}.is-critical-text{color:#b3403d;font-weight:600}.schedule-variance.is-late{color:#b3403d}.schedule-variance.is-early{color:#1f6b4a}.schedule-empty{padding:12px}.planning-grid .col-cost{text-align:right;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.planning-draft{display:grid;grid-gap:8px;gap:8px;padding:8px 12px;border:1px solid #e3c98a;border-radius:12px;background:#fff8e6}.planning-draft-main{gap:8px 14px}.planning-draft-actions,.planning-draft-main{display:flex;flex-wrap:wrap;align-items:center}.planning-draft-actions{gap:6px 10px;margin-left:auto}.planning-draft-changed{display:grid;grid-gap:6px;gap:6px;padding:8px 10px;border-radius:8px;background:#fdeaea;color:#7a2b2b}.planning-draft-changed p{margin:0}.section-shell.is-top-nav{display:block;padding:4px 20px 28px}.section-topbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin:4px 0 12px}.section-topbar .planning-project-bar{margin:0}.section-topnav{display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-width:0}.section-topnav a{position:relative;display:inline-block;padding:7px 12px;font-size:.92rem;line-height:1.3;border-radius:8px;color:#24312c;text-decoration:none;white-space:nowrap}.section-topnav a:hover{background:#f3faf6}.section-topnav a.active{background:#e7f6ee;color:#1f6b4a;font-weight:650;box-shadow:inset 0 -2px 0 #1f6b4a}.schedule-chart{position:relative;z-index:1;isolation:isolate;flex:none;background-image:linear-gradient(to bottom,transparent calc(var(--row) - 1px),#eef2f0 calc(var(--row) - 1px));background-size:100% var(--row)}.schedule-off{position:absolute;inset:0;pointer-events:none}.schedule-off .is-weekend{fill:#f1f4f2}.schedule-off .is-holiday{fill:#f7ede0}.schedule-row-bg{left:0;right:0;background:rgba(31,107,74,.07)}.schedule-row-bg,.schedule-today{position:absolute;pointer-events:none}.schedule-today{top:0;bottom:0;width:0;border-left:2px solid #d9534f;z-index:2}.schedule-links{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:visible}.schedule-link-line{fill:none;stroke:#5b6b64;stroke-width:1.3}.schedule-link.is-critical .schedule-link-line{stroke:#c0504d}.schedule-link.is-selected .schedule-link-line{stroke:#1f6b4a;stroke-width:2.4}.schedule-link-hit{fill:none;stroke:transparent;stroke-width:10;pointer-events:stroke;cursor:pointer}.schedule-arrow{fill:#5b6b64}.schedule-arrow-critical{fill:#c0504d}.schedule-arrow-selected{fill:#1f6b4a}.schedule-link-draft{stroke:#1f6b4a;stroke-width:2;stroke-dasharray:4 3}.gantt-bar{position:absolute;z-index:4;height:20px;border-radius:4px;background:#3a6ea5;color:white;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.gantt-bar.is-draggable{cursor:-webkit-grab;cursor:grab}.gantt-bar.is-dragging{cursor:-webkit-grabbing;cursor:grabbing;opacity:.85;z-index:8}.gantt-bar.is-critical{background:#c0504d}.gantt-bar.is-stage{height:10px;margin-top:5px;border-radius:2px;background:#35453e}.gantt-bar.is-stage.is-critical{background:#35453e}.gantt-bar.is-stage:after,.gantt-bar.is-stage:before{content:"";position:absolute;top:8px;border:4px solid transparent;border-top-color:#35453e}.gantt-bar.is-stage:before{left:0}.gantt-bar.is-stage:after{right:0}.gantt-bar.is-milestone{width:14px;height:14px;margin-top:3px;border-radius:2px;background:#1f2d27;transform:rotate(45deg)}.gantt-bar.is-milestone.is-critical{background:#c0504d}.gantt-bar.is-manual:not(.is-milestone){background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.28) 0 4px,transparent 4px 8px)}.gantt-bar.is-open{opacity:.75}.gantt-bar.is-warned{box-shadow:0 0 0 2px #e0a526}.gantt-bar.is-selected{outline:2px solid #1f6b4a;outline-offset:1px}.gantt-bar.is-archived{opacity:.4}.gantt-progress{left:0;border-radius:4px 0 0 4px;background:rgba(0,0,0,.28);pointer-events:none}.gantt-progress,.gantt-resize{position:absolute;top:0;bottom:0}.gantt-resize{right:0;width:6px;cursor:ew-resize;border-radius:0 4px 4px 0}.gantt-resize:hover{background:rgba(255,255,255,.35)}.gantt-connector{position:absolute;top:5px;width:10px;height:10px;border:2px solid #1f6b4a;border-radius:50%;background:white;opacity:0;cursor:crosshair}.gantt-connector.is-start{left:-16px}.gantt-connector.is-end{right:-16px}.gantt-bar.is-selected .gantt-connector,.gantt-bar:hover .gantt-connector{opacity:1}.gantt-bar.is-milestone .gantt-connector{transform:rotate(-45deg)}.gantt-bar.is-milestone .gantt-connector.is-start{left:-18px;top:-2px}.gantt-bar.is-milestone .gantt-connector.is-end{right:-18px;top:14px}.gantt-baseline{height:5px;border-radius:2px;background-image:repeating-linear-gradient(135deg,#9aa7a0 0 3px,#cfd8d3 3px 6px)}.gantt-baseline,.gantt-label{position:absolute;z-index:3;pointer-events:none}.gantt-label{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;color:#35453e}.gantt-drag-label{position:absolute;z-index:9;padding:1px 6px;border-radius:6px;background:#1f2d27;color:white;font-size:.74rem;white-space:nowrap;pointer-events:none}.schedule-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;list-style:none;font-size:.78rem;color:#55635c}.schedule-legend li{display:inline-flex;align-items:center;gap:6px}.gantt-swatch{display:inline-block;width:18px;height:10px;border-radius:3px;background:#3a6ea5}.gantt-swatch.is-critical{background:#c0504d}.gantt-swatch.is-stage{background:#35453e;height:6px}.gantt-swatch.is-milestone{width:10px;background:#1f2d27;transform:rotate(45deg);border-radius:2px}.gantt-swatch.is-manual{background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.5) 0 3px,transparent 3px 6px);background-color:#3a6ea5}.gantt-swatch.is-baseline{height:5px;background-image:repeating-linear-gradient(135deg,#9aa7a0 0 3px,#cfd8d3 3px 6px)}.schedule-details.modal-dialog{width:min(620px,calc(100vw - 32px))}.schedule-details .modal-dialog-body{display:grid;grid-gap:12px;gap:12px}.schedule-details h3{margin:0;font-size:1rem;overflow-wrap:anywhere}.schedule-details-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px}.schedule-details-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:10px 14px;gap:10px 14px}.is-opener{cursor:pointer}.schedule-details .date-picker-popover{position:static;width:min(292px,100%);margin-top:6px;box-shadow:none}.schedule-constraint-row{display:flex;gap:6px;flex-wrap:wrap}.schedule-constraint-row>*{min-width:0;flex:1 1 130px}.schedule-pill{padding:1px 8px;border-radius:999px;background:#e9ecea;color:#5c6b64;font-size:.74rem}.schedule-pill.is-critical{background:#f8e1e0;color:#a33a3a}.date-picker{position:relative}.date-picker-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:40px;padding:0 12px;border:1px solid #cfd8d3;border-radius:10px;background:#fff;color:inherit;font:inherit;text-align:left;cursor:pointer}.date-picker-trigger:hover:not(:disabled){border-color:#0b7a72}.date-picker-trigger:disabled{background:#f3f5f4;color:#7c8883;cursor:not-allowed}.date-picker-glyph{color:#6b7a73;font-size:.8rem}.date-picker-popover{position:absolute;z-index:30;top:calc(100% + 6px);left:0;width:292px;max-width:calc(100vw - 32px);padding:10px;border:1px solid #d8dfdb;border-radius:14px;background:#fff;box-shadow:0 14px 34px rgba(24,40,34,.18)}.date-picker-nav{display:flex;align-items:center;gap:2px;margin-bottom:6px}.date-picker-month{flex:1 1;text-align:center;text-transform:capitalize;font-size:.92rem}.date-picker-step{width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:#3c4a44;font-size:1.05rem;line-height:1;cursor:pointer}.date-picker-step:hover{background:#eef3f0}.date-picker-grid{width:100%;border-collapse:separate;border-spacing:2px;table-layout:fixed}.date-picker-grid th{padding:2px 0 4px;font-size:.7rem;font-weight:600;color:#7c8883;text-transform:capitalize}.date-picker-grid td{padding:0;text-align:center}.date-picker-day{width:100%;aspect-ratio:1;min-height:34px;border:1px solid transparent;border-radius:9px;background:transparent;color:inherit;font:inherit;font-size:.86rem;cursor:pointer}.date-picker-day:hover{background:#e5f4f1}.date-picker-day.is-outside{color:#a3aea8}.date-picker-day.is-off{background:#eef0ef;color:#8a4a4a}.date-picker-day.is-off.is-outside{color:#b9a4a4}.date-picker-day.is-off:hover{background:#e3e6e4}.date-picker-day.is-today{border-color:#0b7a72;font-weight:700}.date-picker-day.is-selected{background:#0b7a72;border-color:#0b7a72;color:#fff}.date-picker-day:focus-visible,.date-picker-step:focus-visible,.date-picker-trigger:focus-visible{outline:2px solid #0b7a72;outline-offset:1px}.date-picker-note{margin:6px 2px 2px;min-height:2.6em;font-size:.78rem;line-height:1.3}.date-picker-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.78rem;color:#5c6b64}.date-picker-legend{display:inline-flex;align-items:center;gap:6px}.date-picker-swatch{width:12px;height:12px;border-radius:4px;background:#e3e6e4;border:1px solid #c9d0cc}.schedule-history{display:grid;grid-gap:8px;gap:8px;padding:10px 14px}.schedule-history-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:4px 0;border:0;background:transparent;color:inherit;font:inherit;font-weight:600;text-align:left;cursor:pointer}.schedule-history-body,.schedule-history-list{display:grid;grid-gap:10px;gap:10px}.schedule-history-list{margin:0;padding:0;list-style:none}.schedule-history-list>li{padding:8px 10px;border:1px solid #e1e7e3;border-radius:10px;background:#fafcfb}.schedule-history-list p{margin:2px 0}.schedule-history-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}.schedule-history-head time{color:#5c6b64;font-size:.82rem}.schedule-history-works{margin:4px 0 0;padding:0;list-style:none;display:grid;grid-gap:2px;gap:2px;font-size:.86rem}.schedule-history-works>li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 12px}.schedule-details-warnings{margin:0;padding:8px 12px 8px 28px;border-radius:10px;background:#fff6e5;color:#7a5200}.schedule-link-type{flex:none;min-width:42px;padding:1px 6px;border-radius:6px;background:#eef2f0;font-size:.74rem;font-weight:600;text-align:center}.schedule-dialog{width:min(520px,100%)}.schedule-link-form{display:grid;grid-gap:12px;gap:12px}.schedule-link-ends{display:grid;grid-gap:6px;gap:6px;margin:0}.schedule-link-ends div{display:grid;grid-template-columns:110px 1fr;grid-gap:8px;gap:8px}.schedule-link-ends dt{color:#55635c;font-size:.82rem}.schedule-link-ends dd{margin:0;font-weight:600;overflow-wrap:anywhere}.schedule-swap{justify-self:start}.schedule-impact{display:grid;grid-gap:6px;gap:6px;padding:10px 12px;border:1px solid #e4ebe7;border-radius:10px;background:#fafcfb}.schedule-impact p{margin:0}.schedule-impact-head{font-weight:600}.schedule-impact-end.is-later{color:#a33a3a}.schedule-impact-end.is-earlier{color:#1f6b4a}.schedule-impact-list{margin:0;padding:0;list-style:none;display:grid;grid-gap:2px;gap:2px;font-size:.84rem}.schedule-impact-list li{display:flex;flex-wrap:wrap;gap:2px 10px}.schedule-impact-name{font-weight:500}.schedule-impact-warnings{padding:6px 10px;border-radius:8px;background:#fff6e5;color:#7a5200;font-size:.84rem}.schedule-impact-warnings ul{margin:4px 0 0;padding-left:18px}.is-stale{opacity:.55}.schedule-baseline-pop{width:min(420px,92vw)}.schedule-baseline-list{margin:0;padding:0;list-style:none;display:grid;grid-gap:6px;gap:6px}.schedule-baseline-list li{display:flex;align-items:center;justify-content:space-between;gap:10px}.schedule-baseline-list label{display:flex;align-items:center;gap:8px;cursor:pointer}.schedule-sheet.is-chart-only{--schedule-left:420px;--schedule-cols:100px minmax(150px,1fr)}.schedule-sheet.is-chart-only .schedule-cols .col-extra,.schedule-sheet.is-chart-only .schedule-cols .col-extra.is-editable{display:none}.schedule-sheet.has-custom-cols{--schedule-left:var(--schedule-left-custom);--schedule-cols:var(--schedule-cols-custom)}.schedule-col-head{position:relative}.schedule-col-head:hover>.planning-col-resize:after,.schedule-col-head>.planning-col-resize:active:after,.schedule-col-head>.planning-col-resize:focus-visible:after{background:#1f6b4a}.schedule-chart-width{width:110px;accent-color:#1f6b4a}.schedule-chart-width-value{min-width:3.2ch;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:.82rem;color:#35453e}@media (max-width:760px){.schedule-chart-only,.schedule-chart-width,.schedule-chart-width-value{display:none}.schedule-sheet,.schedule-sheet.has-approved,.schedule-sheet.is-chart-only{--schedule-left:220px;--schedule-cols:62px minmax(120px,1fr)}.schedule-cols .col-extra,.schedule-cols .col-extra.is-editable{display:none}.schedule-scroller{max-height:none;height:70vh}.schedule-link-ends div{grid-template-columns:1fr}}@media (prefers-reduced-motion:no-preference){.gantt-bar:not(.is-dragging){transition:left .12s ease,width .12s ease}}.schedule-scroller{max-height:calc(100dvh - 300px);scrollbar-gutter:stable;scrollbar-width:auto;scrollbar-color:#9aa7a0 #eef2ef}.schedule-scroller::-webkit-scrollbar{width:12px;height:12px}.schedule-scroller::-webkit-scrollbar-track{background:#eef2ef;border-radius:6px}.schedule-scroller::-webkit-scrollbar-thumb{background:#9aa7a0;border-radius:6px;border:2px solid #eef2ef}.schedule-scroller::-webkit-scrollbar-thumb:hover{background:#6f7f77}@media (max-width:720px){.schedule-scroller{max-height:none;height:70vh}}.schedule-link-type{min-width:64px;width:auto}.schedule-cols .col-extra.is-editable{cursor:text;align-self:stretch;display:flex;align-items:center}.schedule-cols .col-extra.num.is-editable{justify-content:center}.schedule-head-left .col-extra{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-cols .col-extra.is-editable:hover{background:var(--hover,#f1f5f4);border-radius:4px}.schedule-cols .col-extra.is-editing{padding:0}.schedule-cell-input{width:100%;box-sizing:border-box;height:28px;padding:0 4px;font:inherit;border:1px solid #1f6b4a;border-radius:4px;background:#fff;color:inherit}.schedule-cell-input[aria-invalid=true]{border-color:#b3261e}.schedule-row:focus{outline:none}.ui-select-wrap:has(>select.schedule-link-type){display:inline-block;flex:none;width:88px}.ui-select-wrap>select.schedule-link-type{width:100%}.schedule-approved-tag{color:#1f6b4a;font-weight:600}.schedule-approval-history{margin-top:10px;border-top:1px solid var(--border,#d9d9d9);padding-top:8px}.schedule-approval-history h4{margin:0 0 6px;font-size:.9rem}.schedule-approval-history ul{margin:0;padding:0;list-style:none;display:grid;grid-gap:6px;gap:6px}.schedule-approval-history p{margin:2px 0 0}.schedule-approval-source{border:0;margin:0 0 10px;padding:0;display:grid;grid-gap:6px;gap:6px}.schedule-approval-source label{display:flex;align-items:center;gap:8px;cursor:pointer}.schedule-variance.is-out-of-plan{color:#8a5a00;font-style:italic}.schedule-approved-date{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.schedule-note{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#5b6b64;font-size:.84rem}.schedule-variance.has-note{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help}.schedule-deviation-note{display:grid;grid-gap:8px;gap:8px;margin-top:12px;justify-items:start}.schedule-deviation-note .field,.schedule-deviation-note input{width:100%}.daily-wrap{max-height:calc(100vh - 340px)}.daily-grid{--daily-cell:46px;border-collapse:separate;border-spacing:0;width:100%;min-width:calc(420px + 7 * var(--daily-span, 2) * var(--daily-cell));table-layout:fixed;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.daily-grid td,.daily-grid th{height:34px;padding:0;border-bottom:1px solid #edf1ef;border-right:1px solid #f1f4f2}.daily-grid thead th{position:-webkit-sticky;position:sticky;top:0;z-index:2;height:30px;background:#f7faf8;color:#55635c;font-size:.75rem;font-weight:600;text-align:center;white-space:nowrap}.daily-grid thead tr+tr th{top:30px;height:24px}.daily-grid .daily-col-name{position:-webkit-sticky;position:sticky;left:32px;z-index:1;width:260px;padding:3px 10px;background:white;text-align:left;font-weight:400}.daily-grid thead .daily-col-name{z-index:3;background:#f7faf8}.daily-grid tr.is-selected .daily-col-name{background:#f6fbf8}.daily-col-percent{width:68px;padding:0 6px!important;text-align:right}.daily-col-total{width:96px;padding:0 8px!important;text-align:right;font-size:.78rem;white-space:nowrap}.daily-name{font-weight:500}.daily-name,.daily-path{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.daily-path{font-size:.72rem}.daily-day.is-today,.daily-grid thead th.is-today{background:#fff3bf;color:#6b5800}.daily-day.is-off{color:#a3aaa6}.daily-sub{font-weight:500!important}.daily-cell{width:var(--daily-cell);text-align:center}.daily-cell.is-fact{border-right-color:#dfe7e3}.daily-cell.is-span{background-image:repeating-linear-gradient(135deg,rgba(31,107,74,.08) 0 4px,transparent 4px 8px)}.daily-cell.is-today{background-color:#fff8d6}.daily-cell.is-fact.is-missed{background-color:#fde2e1}.daily-cell.is-fact.is-missed.is-today{background-color:#fbd3cf}.daily-cell.is-missed .daily-cell-button{color:#b42318;font-weight:650}.daily-cell.is-set .daily-cell-button{font-weight:700}.daily-cell.is-selected{box-shadow:inset 0 0 0 2px #1f6b4a}.daily-cell-button{width:100%;height:100%;min-height:32px;padding:0 2px;border:0;background:transparent;color:inherit;font:inherit;font-size:.82rem;cursor:cell}.daily-cell-button[aria-disabled=true]{color:#7b8882;cursor:default}.daily-cell-button:focus-visible{outline:2px solid #1f6b4a;outline-offset:-2px}.daily-mark{margin-left:1px;color:#b7791f;font-size:.7rem;vertical-align:super}.daily-mark.is-note{color:#1f6b4a}.daily-input{width:100%;min-width:0;height:32px;border:0;box-shadow:inset 0 0 0 2px #1f6b4a;background:white;font:inherit;font-size:.82rem;text-align:center}.daily-input[aria-invalid=true]{box-shadow:inset 0 0 0 2px #c0504d}.daily-input.is-large{max-width:120px;height:44px;border:1px solid #cfd8d3;border-radius:10px;box-shadow:none;font-size:1.1rem}.daily-input.is-large[aria-invalid=true]{border-color:#c0504d}.daily-progress{display:inline-block;min-width:44px;padding:2px 5px;border-radius:6px;background:linear-gradient(90deg,#d4ecdf var(--p),#f1f4f2 var(--p));font-size:.8rem;text-align:right}.daily-period{align-self:center;padding:0 6px;font-size:.85rem;white-space:nowrap}.daily-figures{gap:8px}.daily-details{display:grid;grid-gap:10px;gap:10px;padding:12px 14px}.daily-details-figures{margin:0;font-size:.88rem}.daily-details-author{margin:0;font-size:.8rem}.daily-note{width:100%;min-height:56px;padding:6px 8px;border:1px solid #cfd8d3;border-radius:8px;font:inherit;resize:vertical}.daily-swatch{display:inline-block;width:14px;height:14px;border:1px solid #d9e1dd;border-radius:3px}.daily-swatch.is-span{background-image:repeating-linear-gradient(135deg,rgba(31,107,74,.2) 0 3px,transparent 3px 6px)}.daily-swatch.is-today{background:#fff3bf}.daily-swatch.is-missed{background:#fde2e1;border-color:#f2b8b5}.daily-today{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:10px;gap:10px;margin:0;padding:0;list-style:none}.daily-today-card{display:grid;grid-gap:8px;gap:8px;padding:12px 14px}.daily-today-head{display:grid;grid-gap:2px;gap:2px}.daily-today-figures{display:flex;flex-wrap:wrap;gap:14px;font-size:.88rem}.daily-today-entry{display:flex;flex-wrap:wrap;align-items:end;gap:10px}.daily-behind{margin:0;padding:4px 8px;border-radius:8px}.daily-behind,.daily-over-confirm{background:#fff4e5;color:#8a4b08;font-size:.85rem}.daily-over-confirm{display:grid;grid-gap:8px;gap:8px;padding:8px 10px;border:1px solid #e3a008;border-radius:8px}.daily-over-confirm p{margin:0}.daily-closed-short{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;font-size:.85rem}.tabs.daily-unit-switch{--tabs-h:44px;--tabs-tab-px:16px;--tabs-font:.9rem}.tabs.daily-unit-switch .tab{min-width:44px}.daily-today-reason{display:grid;grid-gap:4px;gap:4px;max-width:320px;font-size:.85rem}.daily-today-fact{display:grid;grid-gap:4px;gap:4px;color:#55635c;font-size:.8rem}.daily-quick{display:flex;flex-wrap:wrap;gap:6px}.daily-quick .button{min-height:44px}.daily-today-author,.daily-today-lock{margin:0;font-size:.8rem}.report-scroll{max-height:380px;overflow:auto}.report-scroll thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:#fff}.report-card{display:grid;align-content:start;grid-gap:8px;gap:8px;padding:12px 14px}.report-card h3{margin:0;font-size:1rem}.report-card p{margin:0}.report-card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.report-table{width:100%;border-collapse:collapse;font-size:.85rem}.report-table th{padding:4px 6px;border-bottom:1px solid #e4ebe7;color:#55635c;font-size:.75rem;font-weight:600;text-align:left}.report-table td{padding:6px;border-bottom:1px solid #f0f3f1;vertical-align:top}@media (max-width:760px){.daily-grid .daily-col-name{width:160px}.daily-wrap{max-height:calc(100dvh - 200px)}}.schedule-filters .ui-select-wrap{flex:0 1 230px;width:auto;min-width:160px}.schedule-filter-search,.schedule-filters .ui-select{min-height:36px;padding:6px 10px;border:1px solid #d4dcd8;border-radius:8px;background-color:white;font:inherit;font-size:.84rem}.schedule-filters .ui-select{padding-right:30px}.daily-grid td,.daily-grid th{vertical-align:middle;text-align:center}.daily-grid .daily-input{min-width:0;padding:0;border:0;border-radius:0}.report-card p.muted{font-size:.8rem}.daily-grid .daily-col-percent,.daily-grid .daily-col-total{text-align:right}.daily-photos{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.daily-photo-list{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.daily-photo-list img{display:block;width:64px;height:64px;object-fit:cover;border:1px solid #d9e1dd;border-radius:8px}.daily-photo-button{min-height:40px;cursor:pointer}.daily-photo-button.is-disabled{opacity:.55;pointer-events:none}.daily-mark.is-photo{margin-left:2px;font-size:.62rem}.daily-overdue{display:inline-block;width:-moz-fit-content;width:fit-content;padding:1px 8px;border:1px solid #f2b8b5;border-radius:999px;background:#fde2e1;color:#b42318;font-size:12px;font-weight:600;white-space:nowrap}.daily-col-name .daily-overdue{margin-top:2px}.daily-today-wrap{overflow:auto;max-height:calc(100dvh - 220px)}.daily-today-spacer{grid-column:1/-1;list-style:none;padding:0;margin:0;border:0}.daily-today.is-windowed{grid-template-columns:minmax(0,760px);gap:0}.daily-today.is-windowed>.daily-today-card{margin-bottom:10px}.material-demand-carry{font-size:.88em;display:grid;grid-gap:1px;gap:1px;margin-top:2px}.material-demand-leftover{min-width:130px}.corrections-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:8px 16px}.corrections-table .col-volume{text-align:right;white-space:nowrap}.corrections-table .col-number{white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.corrections-table tr.is-withdrawn td{color:#7b8a84}.correction-status{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;background:#eef1ef;color:#44524c;white-space:nowrap}.correction-status.is-applied{background:#e7f6ee;color:#1f6b4a}.correction-status.is-cancelled{background:#f3e9e9;color:#8a3a3a}.correction-editor{display:grid;grid-gap:12px;gap:12px;min-width:0}.correction-editor-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.correction-editor-head h3{margin:0;flex:1 1 auto}.correction-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:10px 16px;gap:10px 16px}.correction-form .form-field-span-2,.correction-form-section{grid-column:1/-1}.correction-form-section{margin:6px 0 0;font-size:14px;color:#44524c}.correction-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.correction-actions-hint{flex:1 1 220px}.correction-history,.correction-new-demand,.correction-preview{display:grid;grid-gap:8px;gap:8px;min-width:0}.correction-history h4,.correction-new-demand h4,.correction-preview h4{margin:0}.correction-addresses{margin:0;padding-left:18px;display:grid;grid-gap:2px;gap:2px}.correction-lines-table td{vertical-align:top}.supply-tasks-table .supply-tasks-late,.supply-tasks-table td.is-late time{color:#8a3a3a;font-weight:600}.supply-tasks-actions{text-align:right;white-space:nowrap}.contracts-head h2{margin:0 0 4px}.contracts-overdue{margin:0;padding:8px 12px;border-radius:8px;background:#fbeeee;color:#8a3a3a;font-size:14px}.contracts-table .contracts-due{white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.contracts-table .contracts-due.is-overdue time{color:#8a3a3a;font-weight:600}.contracts-table tr.is-withdrawn td{color:#7b8a84}.contracts-row-actions{text-align:right;white-space:nowrap}.contracts-form{display:grid;grid-gap:10px;gap:10px;max-width:520px;padding:12px 14px;border:1px solid var(--line,#d9e0dc);border-radius:10px;background:var(--surface,#fff)}.contracts-form h3{margin:0;font-size:1rem}.contracts-actions{display:flex;flex-wrap:wrap;gap:8px}.correction-status.is-open{background:#fff4de;color:#8a5a00}.correction-status.is-overdue{background:#fbeeee;color:#8a3a3a;font-weight:600}.documentation-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.documentation-search{flex:0 1 220px;min-width:140px}.documentation-number{white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.documentation-more{margin:8px 0 0}.my-tasks-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}.my-tasks-month{margin:0 4px;min-width:150px;text-align:center}.my-tasks-summary{flex:1 1 160px;text-align:right;font-size:.84rem}.my-tasks-views{margin-left:auto}.my-tasks-weekends{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;color:#41504b;white-space:nowrap}.my-tasks-calendar{--lane-height:22px;--cell-border:#dde4e0;border:1px solid var(--cell-border);border-radius:8px;overflow:hidden;background:#fff}.my-tasks-weekdays{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));border-bottom:1px solid var(--cell-border);background:#f6f8f7}.my-tasks-weekdays span{padding:5px 8px;font-size:.76rem;font-weight:600;color:#5d6b65}.my-tasks-row{position:relative;display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));grid-row-gap:2px;row-gap:2px;min-height:104px}.my-tasks-row+.my-tasks-row{border-top:1px solid var(--cell-border)}.my-tasks-calendar.is-week .my-tasks-row{min-height:280px}.my-tasks-cell{border-left:1px solid var(--cell-border);background:#fff;cursor:pointer}.my-tasks-cell:first-of-type{border-left:0}.my-tasks-cell.is-outside{background:#f6f8f7}.my-tasks-cell.is-weekend{background:#fafbfa}.my-tasks-cell.is-outside.is-weekend{background:#f3f5f4}.my-tasks-cell.is-today{background:#f1f8f5}.my-tasks-cell.is-selected{box-shadow:inset 0 0 0 2px #2f7d5b}.my-tasks-day-button{z-index:1;justify-self:start;align-self:start;min-width:26px;height:26px;margin:2px 4px 0;padding:0 7px;border:0;border-radius:13px;background:transparent;font:inherit;font-size:.8rem;font-weight:600;color:#2b3833;cursor:pointer}.my-tasks-day-button.is-outside{color:#8a9690}.my-tasks-day-button:hover{background:#e8efec}.my-tasks-day-button.is-today{background:#1f6b4a;color:#fff}.my-tasks-bar-seg{z-index:1;min-width:0;margin:0 3px;overflow:hidden;border-radius:5px;font-size:.76rem;line-height:var(--lane-height);background:#d9ebe3;border-left:3px solid #2f7d5b}.my-tasks-bar-seg .my-tasks-bar-open{display:block;width:100%;padding:0 6px;overflow:hidden;border:0;background:transparent;color:#17352a;font:inherit;line-height:inherit;text-align:left;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.my-tasks-bar-seg .my-tasks-bar-open:focus-visible{outline:2px solid #1c1917;outline-offset:-2px;border-radius:4px}.my-tasks-bar-seg .my-tasks-bar-open:hover{text-decoration:underline}.my-tasks-bar-seg.is-contract{background:#fbe7c4;border-left-color:#d4891a}.my-tasks-bar-seg.is-contract .my-tasks-bar-open{color:#4d3306}.my-tasks-bar-seg.is-supply{background:#dbe6f7;border-left-color:#3b6fc0}.my-tasks-bar-seg.is-supply .my-tasks-bar-open{color:#12294d}.my-tasks-bar-seg.is-overdue{background:#fbdede;border-left-color:#c0392b}.my-tasks-bar-seg.is-overdue .my-tasks-bar-open{color:#7a1f17}.my-tasks-bar-seg.is-from-prev{margin-left:0;border-left-width:0;border-top-left-radius:0;border-bottom-left-radius:0}.my-tasks-bar-seg.is-to-next{margin-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.my-tasks-more{z-index:1;justify-self:start;margin:0 6px;font-size:.74rem;color:#5d6b65}.my-tasks-list{display:grid;grid-gap:8px;gap:8px;margin:0;padding:0;list-style:none}.my-tasks-line{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;grid-gap:8px 12px;gap:8px 12px;padding:8px 10px;border:1px solid #dde4e0;border-radius:8px;background:#fff}.my-tasks-line.is-overdue{border-color:#f2b8b5;background:#fffafa}.my-tasks-line-main .muted{display:flex;flex-wrap:wrap;gap:2px 10px;font-size:.84rem}.my-tasks-line-when{display:grid;justify-items:end;font-size:.84rem;white-space:nowrap}.my-tasks-source{padding:2px 8px;border-radius:999px;background:#e8f1ed;font-size:12px;white-space:nowrap}.my-tasks-source.is-contract{background:#fdf0d9}.my-tasks-source.is-supply{background:#e6edf9}.my-tasks-overdue{color:#b42318;font-weight:600}.my-tasks-count{display:inline-block;min-width:22px;padding:0 6px;border-radius:999px;background:#fde2e1;color:#b42318;font-size:.8rem;text-align:center}.my-tasks-day-list{display:grid;grid-gap:8px;gap:8px}@media (max-width:720px){.my-tasks-calendar.is-month .my-tasks-row{min-height:52px}.my-tasks-calendar.is-month .my-tasks-bar-seg,.my-tasks-calendar.is-month .my-tasks-more{display:none}.my-tasks-calendar.is-month .my-tasks-day-button.is-busy:after{content:"\2022";margin-left:2px;color:#2f7d5b}.my-tasks-calendar.is-week{overflow-x:auto}.my-tasks-calendar.is-week .my-tasks-row{min-width:560px}.my-tasks-views{margin-left:0}.my-tasks-line{grid-template-columns:minmax(0,1fr) auto}.my-tasks-line>.my-tasks-source{grid-column:1/-1;justify-self:start}.my-tasks-line>.my-tasks-line-main{grid-column:1;grid-row:2}.my-tasks-line>.button{grid-column:2;grid-row:2;align-self:start}.my-tasks-line-when{justify-items:start;grid-column:1/-1;grid-row:3}}.reconciliation-table tr.is-different{background:#fff7ec}.reconciliation-table tr.is-different td:first-child{box-shadow:inset 3px 0 0 #d98324}.reconciliation-table td.is-short{color:#8a3a3a;font-weight:600}.reconciliation-difference{min-width:220px}.reconciliation-notes{margin:0 0 4px;padding-left:16px;font-size:.85rem;color:#6b3d06}.reconciliation-causes{display:flex;flex-wrap:wrap;gap:4px}.reconciliation-cause{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.78rem;font-weight:500;white-space:nowrap;cursor:help;background:#e9ecea;color:#3f4d46}.reconciliation-cause.is-receipt_blocked{background:#fdf0e0;color:#8a4b08}.reconciliation-cause.is-overspend,.reconciliation-cause.is-supply_failure{background:#fbeeee;color:#8a3a3a}.reconciliation-cause.is-not_issued{background:#fdf6dc;color:#7a5a06}.reconciliation-cause.is-date_error{background:#e4eefb;color:#1d4f8c}.reconciliation-cause.is-project_error{background:#efe8f8;color:#5a3a8a}.reconciliation-legend{font-size:.9rem}.reconciliation-legend summary{cursor:pointer}.reconciliation-legend dl{margin:8px 0 0;display:grid;grid-gap:6px;gap:6px}.reconciliation-legend dt{font-weight:600}.reconciliation-legend dd{margin:0;color:#5b6660}.material-returns-table tr.is-withdrawn{color:#7a847e}.material-returns-table tr.is-withdrawn .material-returns-comment{text-decoration:none}.material-returns-comment{margin-top:2px;font-size:.85rem;color:#5b6660;white-space:pre-line;max-width:420px}.material-returns-actions{text-align:right;white-space:nowrap}.material-return-kind-chip,.material-return-status{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.78rem;font-weight:500;white-space:nowrap;background:#e9ecea;color:#3f4d46}.material-return-kind-chip.is-return_to_supplier{background:#fdf0e0;color:#8a4b08}.material-return-kind-chip.is-move_to_warehouse{background:#e4eefb;color:#1d4f8c}.material-return-status.is-submitted{background:#fdf3d8;color:#8a6508}.material-return-status.is-approved{background:#e2f3e7;color:#1f6b3a}.material-return-status.is-rejected{background:#fbe4e1;color:#a02a1e}.material-returns-decision{min-width:150px}.material-return-due.is-overdue{color:#a02a1e;font-weight:600}.material-return-late{display:inline-block;margin-left:6px;padding:0 6px;border-radius:999px;font-size:.75rem;background:#fbe4e1;color:#a02a1e}.material-return-status.is-withdrawn{background:#eceeed;color:#6b746f}.material-shortages-table tr.is-withdrawn{color:#7a847e}.material-shortages-comment{margin-top:2px;font-size:.85rem;color:#5b6660;white-space:pre-line;max-width:420px}.material-shortages-actions{text-align:right;white-space:nowrap}.material-shortage-status{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.78rem;font-weight:500;white-space:nowrap;background:#e9ecea;color:#3f4d46}.material-shortage-status.is-open{background:#fdf3d8;color:#8a6508}.material-shortage-status.is-withdrawn{background:#eceeed;color:#6b746f}.material-shortage-status.is-ordered{background:#e4eefb;color:#1d4f8c}.material-shortage-verdict{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.78rem;font-weight:500;white-space:nowrap}.material-shortage-verdict.is-contractor_overrun{background:#fbe4e1;color:#a02a1e}.material-shortage-verdict.is-project_error{background:#e4eefb;color:#1d4f8c}.material-shortage-review-pending{color:#7a847e;font-size:.85rem}.material-shortage-review-text{margin-top:2px;font-size:.85rem;color:#5b6660;white-space:pre-line;max-width:340px}.material-shortage-memo{margin-top:6px;display:grid;grid-gap:2px;gap:2px;justify-items:start}.material-shortage-memo-state{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.78rem;font-weight:500;white-space:nowrap;background:#e9ecea;color:#3f4d46}.material-shortage-memo-state.is-waiting{background:#fdf3d8;color:#8a6508}.material-shortage-memo-state.is-overdue{background:#fbe4e1;color:#a02a1e}.material-shortage-memo-state.is-answered{background:#e1f3e6;color:#1e6a38}.material-shortage-memo-state.is-answered_late{background:#fdebd9;color:#944a0c}.material-shortage-memo-state.is-withdrawn{background:#eceeed;color:#6b746f}.shortage-memo-dialog{width:min(640px,calc(100vw - 32px))}.shortage-memo-text{margin:8px 0 0;padding:12px;max-height:50vh;overflow:auto;white-space:pre-wrap;word-break:break-word;font:inherit;font-size:.92rem;line-height:1.45;background:#f6f8f7;border:1px solid #dfe5e2;border-radius:6px}.shortage-review-commission{border:0;margin:0 0 12px;padding:0;display:grid;grid-gap:8px;gap:8px}.shortage-review-commission legend{font-weight:600;margin-bottom:4px;padding:0}.material-shortage-quantity{display:grid;grid-template-columns:2fr 1fr;grid-gap:12px;gap:12px}.material-shortage-address{border:0;margin:0 0 12px;padding:0;display:grid;grid-gap:8px;gap:8px}.material-shortage-address legend{font-weight:600;margin-bottom:4px;padding:0}.material-return-kinds{border:0;margin:0 0 12px;padding:0;display:grid;grid-gap:6px;gap:6px}.material-return-kinds legend{font-weight:600;margin-bottom:4px;padding:0}.material-return-kind{display:flex;gap:8px;align-items:flex-start;cursor:pointer}.material-return-kind input{margin-top:3px}.status-badge.journal-late{background:#fff4e5;color:#8a4b08}.daily-grid .daily-col-pick{position:-webkit-sticky;position:sticky;left:0;z-index:1;width:32px;padding:0!important;background:white;text-align:center}.daily-grid .daily-col-pick .planning-pick{margin:0}.daily-grid thead .daily-col-pick{z-index:3;background:#f7faf8}.daily-grid tr.is-picked .daily-col-name,.daily-grid tr.is-picked .daily-col-pick{background:#eef7f2}.daily-bulk{display:grid;grid-gap:8px;gap:8px;margin:0 0 8px;padding:8px 12px;border:1px solid #cfe3d8;border-radius:10px;background:#f3faf6}.daily-bulk-actions,.daily-bulk-main{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}.daily-bulk-hint{margin:0;font-size:.82rem}.daily-bulk-field{display:inline-flex;align-items:center;gap:6px}.daily-bulk-field input[type=text]{min-width:200px}.daily-bulk-field>span{white-space:nowrap}.daily-bulk-confirm{align-items:center;padding:6px 10px;border:1px solid #e6d9a6;border-radius:8px;background:#fff8dc}.daily-bulk-confirm,.provision-filters{display:flex;flex-wrap:wrap;gap:8px 12px}.provision-filters{align-items:flex-end}.provision-filter{display:grid;grid-gap:2px;gap:2px;font-size:.8rem;color:#5d6b65;min-width:130px}.provision-horizon{min-width:90px;max-width:110px}.provision-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:10px;gap:10px}.provision-card{display:grid;grid-gap:2px;gap:2px;padding:12px 14px;border:1px solid #d4dcd8;border-radius:10px;background:#fff;text-align:left;font:inherit;cursor:pointer}.provision-card strong{font-size:1.6rem;line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.provision-card.is-not_provided{border-left:5px solid #b94a48}.provision-card.is-risk{border-left:5px solid #d99a1c}.provision-card.is-provided{border-left:5px solid #2f7d5b}.provision-card.is-active{outline:2px solid #2f7d5b;outline-offset:-2px;background:#f3f8f5}.provision-caption{padding:6px 0;text-align:left;font-weight:600}.provision-buildings{max-width:560px}.provision-buildings tr.is-selected td{background:#f3f8f5}.provision-num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.provision-num.is-not_provided{color:#8a3a3a;font-weight:600}.provision-num.is-risk{color:#8a5a00;font-weight:600}.provision-mark{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;white-space:nowrap;background:#eef1ef;color:#44524c}.provision-mark.is-provided{background:#e7f6ee;color:#1f6b4a}.provision-mark.is-risk{background:#fff4de;color:#8a5a00}.provision-mark.is-not_provided{background:#fbeeee;color:#8a3a3a;font-weight:600}.provision-dates{white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.provision-progress{min-width:130px}.provision-count{display:block;font-size:.85rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.provision-bar{display:block;height:6px;margin-top:4px;border-radius:3px;background:#e6ebe8;overflow:hidden}.provision-bar span{display:block;height:100%;background:#2f7d5b}.provision-reasons{display:flex;flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none}.provision-reasons li{padding:1px 8px;border-radius:999px;font-size:12px;background:#fff4de;color:#8a5a00}.provision-reasons li.is-severe{background:#fbeeee;color:#8a3a3a}.provision-detail>td{background:#fafbfa;padding:8px 12px}.provision-positions{background:#fff}.tree-import-help{padding:8px 12px;border:1px solid #d4dcd8;border-radius:8px;background:#fafbfa;font-size:.9rem}.tree-import-help summary{cursor:pointer;font-weight:600}.tree-import-help ul{margin:8px 0 0;padding-left:20px}.tree-import-columns{list-style:none;padding-left:8px}.tree-import-field{display:grid;grid-gap:4px;gap:4px;font-size:.85rem;color:#5d6b65}.tree-import-text{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem;white-space:pre;overflow:auto}.tree-import-tools{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 14px}.tree-import-stage{display:grid;grid-gap:2px;gap:2px;font-size:.8rem;color:#5d6b65;min-width:200px}.tree-import-check{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.9rem}.tree-import-actions{display:flex;flex-wrap:wrap;gap:8px}.tree-import-result{padding:10px 14px;border-radius:8px;background:#e7f6ee;color:#1f6b4a}.tree-import-result p{margin:4px 0 0}.tree-import-ok{background:#e7f6ee;color:#1f6b4a}.tree-import-bad,.tree-import-ok{margin:0;padding:8px 12px;border-radius:8px}.tree-import-bad{background:#fbeeee;color:#8a3a3a}.tree-import-counts{display:flex;flex-wrap:wrap;gap:4px 18px;margin:6px 0;padding:0;list-style:none}.tree-import-preview{display:grid;grid-gap:10px;gap:10px}.role-catalog__texts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:12px;gap:12px}.role-catalog__permissions{border:1px solid var(--border,#d8dde6);border-radius:8px;padding:12px;display:grid;grid-gap:10px;gap:10px}.role-catalog__permissions.has-error{border-color:var(--danger,#c0392b)}.role-catalog__group{display:grid;grid-gap:4px;gap:4px}.role-catalog__rights{list-style:none;margin:0;padding:0 0 0 24px;display:grid;grid-gap:2px;gap:2px}.role-catalog__history,.role-catalog__history ul{list-style:none;margin:0;padding:0;display:grid;grid-gap:6px;gap:6px}.role-catalog__history ul{padding-left:16px;font-size:.9rem}.role-catalog tr.is-selected{background:var(--surface-hover,rgba(0,0,0,.04))}.country-confirm-card,.country-reminder{margin:0 0 14px;padding:10px 14px;border:1px solid #ecd9a6;border-radius:10px;background:#fff8e6;color:#6b4e00;font-size:.875rem;line-height:1.45}.country-reminder{margin:0;border-width:0 0 1px;border-radius:0;text-align:center}.country-reminder a{color:inherit;font-weight:600;text-decoration:underline}.country-confirm-card{display:grid;grid-gap:8px;gap:8px}.country-confirm-card h2{margin:0;font-size:1rem}.country-confirm-card p{margin:0}.timesheet-bar{justify-content:space-between;gap:10px 20px;padding:10px 12px;border:1px solid #dde4e0;border-radius:10px;background:#fff}.timesheet-bar,.timesheet-bar-group{display:flex;flex-wrap:wrap;align-items:center}.timesheet-bar-group{gap:8px 10px}.timesheet-bar .tabs{margin:0}.timesheet-employee{flex:0 1 300px;min-width:220px}.timesheet-period{min-width:170px;text-align:center;white-space:nowrap}.timesheet-person{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}.timesheet-person strong{font-size:1.05rem}.timesheet-empty{display:grid;grid-gap:4px;gap:4px;justify-items:center;padding:36px 16px;border:1px dashed #c9d6d1;border-radius:10px;background:#fafcfb;text-align:center}.timesheet-empty strong{font-size:1.02rem}.timesheet-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:8px 12px;gap:8px 12px;margin:0}.timesheet-totals>div{display:flex;flex-direction:column;gap:2px;padding:8px 12px;border:1px solid #dde4e0;border-radius:8px;background:#fff}.timesheet-totals>div.is-warning{border-color:#f0c78b;background:#fdf6e9}.timesheet-totals dt{font-size:.78rem;color:#5d6b65}.timesheet-totals dd{margin:0;font-size:1.2rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.timesheet-scroll{overflow-x:auto;border:1px solid #dde4e0;border-radius:8px;background:#fff}.timesheet-grid{--ts-first:240px;--ts-last:84px;--ts-day:84px;width:100%;min-width:calc(var(--ts-first) + var(--timesheet-days, 7) * var(--ts-day) + var(--ts-last));table-layout:fixed;border-collapse:collapse;font-size:.88rem}.timesheet-grid.is-compact{--ts-day:40px}.timesheet-grid.timesheet-team{--ts-first:220px;--ts-last:216px;min-width:calc(var(--ts-first) + var(--timesheet-days, 31) * var(--ts-day) + var(--ts-last))}.timesheet-col-work{width:240px}.timesheet-col-person{width:220px}.timesheet-col-total{width:84px}.timesheet-col-stat{width:72px}.timesheet-grid td,.timesheet-grid th{padding:0 6px;border-bottom:1px solid #e8eeea;border-right:1px solid #eef2ef;vertical-align:middle;overflow:hidden}.timesheet-work,.timesheet-work-head{position:-webkit-sticky;position:sticky;left:0;z-index:1;background:#fff;text-align:left;box-shadow:1px 0 0 #e1e8e4}.timesheet-work{display:table-cell;padding:6px 10px;font-weight:400}.timesheet-work span,.timesheet-work strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timesheet-work .muted{font-size:.76rem}.timesheet-work-head{padding:8px 10px}.timesheet-day-head{padding:6px 2px;font-size:.74rem;font-weight:600;text-align:center;background:#f6f8f7;line-height:1.25}.timesheet-day-head span{display:block;white-space:nowrap;overflow:hidden;text-overflow:clip}.timesheet-wd{color:#5d6b65;text-transform:capitalize;font-weight:500}.timesheet-dn{font-size:.95rem;color:#18211d;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.timesheet-nm{color:#7a8780;font-weight:400;font-size:.68rem}.timesheet-day-head.is-off{background:#eef1ef}.timesheet-day-head.is-off .timesheet-dn,.timesheet-day-head.is-off .timesheet-wd{color:#8a9690}.timesheet-day-head.is-today{box-shadow:inset 0 -3px 0 #1f6b4a;background:#eaf4ef}.timesheet-total,.timesheet-total-head{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;padding-right:10px;white-space:nowrap}.timesheet-total-head{font-size:.76rem;background:#f6f8f7;padding-top:6px;padding-bottom:6px}.timesheet-cell{padding:0;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.timesheet-cell.is-planned{background:#eaf4ef}.timesheet-cell.is-off{background:#f3f5f4}.timesheet-cell.is-backdated{box-shadow:inset 0 -2px 0 #d98324}.timesheet-cell.is-locked{color:#5d6b65;background-image:repeating-linear-gradient(135deg,transparent 0 6px,rgba(24,33,29,.035) 6px 12px)}.timesheet-cell input{width:100%;min-width:0;height:38px;padding:0 2px;border:0;background:transparent;font:inherit;font-size:.95rem;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.timesheet-cell input:focus{outline:2px solid #2f7d5b;outline-offset:-2px;background:#fff}.timesheet-cell>span{display:block;padding:9px 2px}.timesheet-grid tfoot th{padding:8px 10px;text-align:left;background:#f6f8f7}.timesheet-day-total{padding:8px 2px;text-align:center;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:#f6f8f7}.timesheet-day-total.is-ok{background:#e1f3e9;color:#1f6b4a}.timesheet-day-total.is-short{background:#fdf0e0;color:#8a4b08}.timesheet-day-total.is-over{background:#fbeeee;color:#8a3a3a}.timesheet-day-total.is-future,.timesheet-day-total.is-off{color:#8a9690}.timesheet-team-cell{padding:0;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.timesheet-team-cell button{display:block;width:100%;height:34px;padding:0 1px;border:0;background:transparent;color:inherit;font:inherit;font-size:.86rem;cursor:pointer}.timesheet-team-cell button:hover{background:rgba(31,107,74,.1)}.timesheet-team-cell.is-ok{background:#e1f3e9;color:#1f6b4a}.timesheet-team-cell.is-short{background:#fdf0e0;color:#8a4b08}.timesheet-team-cell.is-over{background:#fbeeee;color:#8a3a3a}.timesheet-team-cell.is-off{background:#f3f5f4;color:#8a9690}.timesheet-team-cell.is-suspended{background-image:repeating-linear-gradient(135deg,rgba(154,52,18,.16) 0 3px,transparent 3px 6px);box-shadow:inset 0 0 0 1px rgba(154,52,18,.45);color:#9a3412;font-weight:600;font-size:.78rem}.timesheet-swatch.is-suspended{background-image:repeating-linear-gradient(135deg,rgba(154,52,18,.3) 0 3px,#fff 3px 6px);border-color:rgba(154,52,18,.6)}.timesheet-team tr.is-inactive .timesheet-work{color:#7a8780}.timesheet-person-link{max-width:100%;padding:0;border:0;background:none;color:#1f6b4a;font:inherit;font-weight:600;text-align:left;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;cursor:pointer}.timesheet-person-link:hover{text-decoration:underline}.timesheet-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;list-style:none;font-size:.8rem;color:#4d5b55}.timesheet-legend li{display:inline-flex;align-items:center;gap:6px}.timesheet-swatch{display:inline-block;width:14px;height:14px;border:1px solid #cfd9d4;border-radius:3px;background:#fff}.timesheet-swatch.is-planned{background:#eaf4ef}.timesheet-swatch.is-off{background:#f3f5f4}.timesheet-swatch.is-backdated{box-shadow:inset 0 -3px 0 #d98324}.timesheet-swatch.is-locked{background-image:repeating-linear-gradient(135deg,#fff 0 3px,#dfe6e2 3px 6px)}.timesheet-swatch.is-ok{background:#e1f3e9}.timesheet-swatch.is-short{background:#fdf0e0}.timesheet-swatch.is-over{background:#fbeeee}.timesheet-help{margin:0;font-size:.84rem}.delivery-status-off-channel{color:#8a4b08;font-size:.72rem;letter-spacing:.03em;text-transform:uppercase}.off-channel-section{display:grid;grid-gap:8px;gap:8px;margin:12px 0;padding-top:12px;border-top:1px solid #dfe5e2}.off-channel-section p{margin:0}.off-channel-suppliers{list-style:none;margin:0;padding:0;display:grid;grid-gap:4px;gap:4px;font-size:.92rem}.form .off-channel-toggle,.off-channel-toggle{display:flex;gap:10px;align-items:center;cursor:pointer;color:var(--ink);font-size:.95rem;font-weight:600}.off-channel-toggle input{flex:none;width:18px;height:18px;margin:0;accent-color:var(--accent,#1f6b4a)}.early-warning-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px 20px;gap:12px 20px}.early-warning-fields .form-field{align-content:start}.early-warning-notify{display:grid;grid-gap:6px;gap:6px;padding:14px 16px;border:1px solid #dde4e0;border-radius:12px;background:#f6f9f7}.early-warning-notify p{margin:0;font-size:.88rem;line-height:1.45}@media (max-width:1000px){.early-warning-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.early-warning-fields{grid-template-columns:minmax(0,1fr)}}.off-channel-note{display:grid;grid-gap:2px;gap:2px;margin:6px 0;padding:8px 12px;border-radius:10px;background:#fdf0e0;color:#5c3a0b;font-size:.9rem;line-height:1.4}.delivery-status-purchase{color:#2a5d8f;font-size:.72rem;letter-spacing:.03em;text-transform:uppercase}.purchase-files{display:grid;grid-gap:6px;gap:6px;justify-items:start}.purchase-file-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:2px;gap:2px;font-size:.9rem}.purchase-file-list li{display:flex;gap:8px;align-items:baseline}.contractor-purchases{display:grid;grid-gap:12px;gap:12px}.contractor-purchase-floors caption{text-align:left;font-weight:600;padding-bottom:6px}.contractor-purchase-status{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.78rem;font-weight:500;white-space:nowrap;background:#e9ecea;color:#3f4d46}.contractor-purchase-status.is-to_pay{background:#fdf3d8;color:#8a6508}.contractor-purchase-status.is-paid{background:#e2f3e7;color:#1f6b3a}.contractor-purchase-status.is-cancelled{background:#eceeed;color:#6b7771}.incidents-table td{vertical-align:top}.incidents-comment{margin:2px 0 0;font-size:.9em;color:var(--muted);white-space:pre-wrap}.incidents-actions{display:flex;flex-wrap:wrap;gap:12px}.incident-status{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.85em;font-weight:600}.incident-status.is-open{background:#fff0cf;color:#7a5200}.incident-status.is-resolved{background:#dff1e4;color:#1f6b3a}.incident-analytics{margin:16px 0}.incident-analytics-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.incident-analytics-head h3{margin:0}.incident-analytics-tables{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));grid-gap:16px;gap:16px;margin-top:8px}.incident-bar{display:inline-block;width:90px;height:8px;border-radius:4px;background:#e7e5e4;vertical-align:middle;overflow:hidden}.incident-bar>span{display:block;height:100%;background:var(--accent)}.incident-recurring{margin-left:8px;padding:1px 6px;border-radius:6px;background:#fbe0de;color:#9b1c1c;font-size:.8em;font-weight:600}.busy-spinner{display:inline-block;width:.9em;height:.9em;margin-right:.35em;vertical-align:-.12em;border:2px solid #b9d4cf;border-top:2px solid var(--accent);border-radius:50%;animation:busy-spin .8s linear infinite}.busy-indicator{display:inline-flex;align-items:center;gap:2px;margin:6px 0;padding:4px 12px;border-radius:999px;background:#e5f4f1;color:#0b5f59;font-size:.875rem}@keyframes busy-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.busy-spinner{animation-duration:3s}}.planning-resume{display:flex;align-items:center;gap:16px;max-width:none;margin-top:8px;padding:16px 20px;border:1px solid #cfe3dd;border-left:4px solid #0b7a72;border-radius:12px;background:#fff;box-shadow:0 1px 2px rgba(20,60,50,.05)}.planning-resume-icon{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#e5f4f1;color:#0b7a72}.planning-resume-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.planning-resume-text{flex:1 1 auto;min-width:0;display:grid;grid-gap:2px;gap:2px}.planning-resume-eyebrow{font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#5d6b65}.planning-resume-name{font-size:1.1rem;overflow-wrap:anywhere}.planning-resume-status{font-size:.84rem}.planning-resume-action{flex:none;padding:10px 24px}.planning-resume.is-empty{border-left-color:#c9d6d1;border-style:dashed;background:#fafcfb;box-shadow:none}.planning-resume.is-empty .planning-resume-icon{background:#eef1ef;color:#8a9690}@media (max-width:640px){.planning-resume{flex-wrap:wrap}.planning-resume-action{width:100%;text-align:center}}.my-tasks-today{padding:1px 8px;border-radius:999px;background:#e1f3e9;color:#1f6b4a;font-size:.78rem;font-weight:600}.work-structure-lists{display:grid;grid-gap:10px 14px;gap:10px 14px;align-items:start;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.work-structure-field{display:grid;grid-gap:4px;gap:4px;align-content:start;min-width:0}.work-structure-defaults .input,.work-structure-field .input{width:100%;height:var(--field-h,30px);box-sizing:border-box}.work-structure-block{display:grid;grid-gap:10px;gap:10px;padding-top:14px;border-top:1px solid #e8ece9}.work-structure-block h3{margin:0;font-size:1rem}.work-structure-head{display:grid;grid-gap:2px;gap:2px}.work-structure-head p{margin:0;font-size:.85rem;max-width:70ch}.work-structure-table{overflow-x:auto;border:1px solid #e2e8e4;border-radius:8px}.work-structure-works{width:100%;min-width:780px;table-layout:fixed;border-collapse:collapse}.work-structure-works td,.work-structure-works th{vertical-align:top;padding:6px 8px}.work-structure-works .input{width:100%;min-width:0;height:var(--field-h,30px);box-sizing:border-box}.work-structure-works .ws-num{width:40px;text-align:center;color:#5d6b65}.work-structure-works td.ws-num{padding-top:12px}.work-structure-works .ws-col-n{width:40px}.work-structure-works .ws-col-name{width:27%}.work-structure-works .ws-col-contractor,.work-structure-works .ws-col-type{width:17%}.work-structure-works .ws-col-stage{width:15%}.work-structure-works .ws-col-days{width:84px}.work-structure-works .ws-col-act{width:96px}.work-structure-works .error-text{display:block;font-size:.72rem}.work-structure-defaults{display:grid;grid-gap:10px 14px;gap:10px 14px;align-items:end;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.work-structure-check{grid-column:1/-1}.work-structure-issues{margin:0;padding-left:20px;color:#8a3a3a}.work-matrix-scroll{max-height:70vh;overflow:auto}.work-matrix-table{border-collapse:separate;border-spacing:0;font-size:.8rem}.work-matrix-table td,.work-matrix-table th{padding:3px 6px;border-bottom:1px solid #e2e8e4;border-right:1px solid #eef2ef;white-space:nowrap}.work-matrix-table thead th{position:-webkit-sticky;position:sticky;top:0;background:#f4f7f5;z-index:2;text-align:center}.work-matrix-table thead tr:nth-child(2) th{top:28px}.work-matrix-first{position:-webkit-sticky;position:sticky;left:0;background:#fff;z-index:1;text-align:left;min-width:180px}.work-matrix-table thead .work-matrix-first{z-index:3;background:#f4f7f5}.work-matrix-kind th{background:#eef4f1;text-align:left;font-weight:700;position:-webkit-sticky;position:sticky;left:0}.work-matrix-cell{text-align:center;min-width:74px}.work-matrix-cell-body{display:grid;line-height:1.15}.work-matrix-cell-body small{color:#5d6b65;font-size:.7rem}.work-matrix-cell.done{background:#e7f6ee;color:#1f6b4a}.work-matrix-cell.progress{background:#e8f0fb;color:#274f8a}.work-matrix-cell.late{background:#fbeeee;color:#8a3a3a;font-weight:600}.work-matrix-cell.planned{background:#f6f7f6;color:#4a5650}.work-matrix-cell.critical{box-shadow:inset 0 -3px 0 #c0392b}.work-matrix-empty{background:repeating-linear-gradient(135deg,#fafbfa,#fafbfa 6px,#f3f5f4 0,#f3f5f4 12px)}.work-matrix-legend{display:flex;flex-wrap:wrap;gap:6px 10px;margin:0;padding:0;list-style:none;font-size:.8rem}.work-matrix-legend li{padding:2px 8px;border-radius:6px;min-width:0}.work-matrix-idle{color:#8a3a3a;font-weight:600}.timesheet-work .timesheet-suspended{font-size:.76rem;color:#9a3412;font-weight:600}:root{--control-h:30px;--control-radius:7px;--control-border:#cbd7d2}.button{padding:7px 14px}.app-shell .button{min-height:var(--control-h);padding:4px 11px;gap:5px;border-radius:var(--control-radius);font-size:.78rem;font-weight:600;line-height:1.2;box-shadow:none}.app-shell .button:hover:not(:disabled){transform:none}.app-shell .button.secondary{border-color:var(--control-border);background:#fff}.app-shell .button.secondary:hover:not(:disabled){border-color:#9fbdb5;background:#f0f6f4}.app-shell .button.compact-action,.button.compact-action{padding:4px 10px;font-size:.76rem}.app-shell .button.icon-button,.button.icon-button{min-width:var(--control-h);width:var(--control-h);padding:0}.app-shell .form-submit-row .button{min-width:104px;padding:5px 14px;border-radius:var(--control-radius)}.estimate-tool-actions .button,.estimate-tools-secondary .button{padding:4px 10px}.work-tree-inline .button,.work-tree-levels .button{min-height:26px;padding:2px 9px;font-size:.78rem}.resources-chip,.rs-chip{padding:0 11px;gap:8px}.resources-chip,.rs-chip,.rs-chip-picker .picker-select-trigger{min-height:32px;border-radius:var(--control-radius);font-size:.8rem}.rs-chip-picker .picker-select-trigger{padding:0 30px 0 11px}.estimate-tools .picker-select-trigger,.estimate-tools .ui-select,.estimate-tools input:not([type=checkbox]):not([type=radio]),.my-tasks-filters .picker-select-trigger,.my-tasks-filters .ui-select,.planning-tools .picker-select-trigger,.planning-tools .ui-select,.planning-tools input:not([type=checkbox]):not([type=radio]),.rs-toolbar .picker-select-trigger,.rs-toolbar .ui-select,.rs-toolbar input:not([type=checkbox]):not([type=radio]),.schedule-filters .picker-select-trigger,.schedule-filters .ui-select,.schedule-filters input:not([type=checkbox]):not([type=radio]),.team-users-toolbar .picker-select-trigger,.team-users-toolbar .ui-select,.team-users-toolbar input:not([type=checkbox]):not([type=radio]),.timesheet-bar .picker-select-trigger,.timesheet-bar .ui-select{min-height:32px;padding-top:4px;padding-bottom:4px;border-radius:var(--control-radius);font-size:.82rem}.schedule-tools{display:grid;grid-gap:6px;gap:6px;min-width:0}.schedule-tools-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;min-width:0}.schedule-tools-sep{align-self:stretch;width:1px;margin:3px 2px;background:#dbe3df}.schedule-tools-row .work-tree-levels .muted{margin-right:2px;font-size:.78rem}.schedule-scale-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.app-shell .asm-head-actions .button,.app-shell .pl-settings-actions .button,.app-shell .rs-toolbar-actions .button,.compact-form .form-actions .button,.finance-payment-controls .button,.resources-button,.resources-price-form .button,.team-action-button,.team-invite-fields .button{min-height:var(--control-h);padding-top:4px;padding-bottom:4px;border-radius:var(--control-radius);font-size:.78rem}.rs-toolbar-actions .icon-tool{min-height:var(--control-h);height:var(--control-h);border-radius:var(--control-radius)}.my-tasks-modes{margin-bottom:0}.my-tasks-groups{display:grid;grid-gap:18px;gap:18px}.my-tasks-group{display:grid;grid-gap:8px;gap:8px}.my-tasks-group h3{margin:0;font-size:1rem}.my-tasks-count.is-plain{background:#e8f1ed;color:#2b3833}.my-tasks-summary.is-list{margin:0;text-align:left}.my-tasks-overdue-chip{display:inline-flex;align-items:center;gap:8px;padding:3px 10px;border-radius:999px;background:#fdecea;color:#b42318;font-size:.82rem;font-weight:600}.my-tasks-overdue-chip .resources-text-button{color:#b42318;font-weight:600;text-decoration:underline}.my-tasks-back{font-size:.84rem;white-space:nowrap}.my-tasks-empty{margin:0;padding:18px 0}.my-tasks-day-list h3{margin:0}.schedule-tools{gap:4px;padding:6px 8px;border:1px solid #e4ebe7;border-radius:10px;background:#fafcfb}.schedule-tools-row{gap:4px 6px}.schedule-tools .button{padding:3px 8px;min-height:28px;font-size:.8rem;line-height:1.25}.schedule-tools .estimate-tool-actions{gap:4px}.schedule-tools .estimate-tool-actions .button,.schedule-tools .estimate-tools-secondary .button{padding:3px 8px}.schedule-tools .schedule-scale-bar{justify-content:flex-start;gap:4px 12px}.schedule-tools .schedule-tool-field{gap:4px}.daily-tools{gap:6px 8px}.daily-tools .tabs.daily-unit-switch{--tabs-h:28px;--tabs-tab-px:10px;--tabs-font:.8rem}.daily-tools .tabs.daily-unit-switch .tab{min-width:0}.daily-tools .estimate-tool-actions .button{padding:3px 8px;min-height:28px}.daily-tools .estimate-tool-actions,.daily-tools .estimate-tools-primary{gap:6px}.daily-pills{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto}