@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Roboto+Mono:wght@400;500;600&display=swap";.exact-embedded-sales{flex:1 1 auto;min-height:0;width:100%;display:flex;flex-direction:column;padding:0!important;overflow:visible!important;background:#f5f6f8}.eng-exact-app .center:has(.exact-embedded-sales),.eng-exact-app.decision-dock-off .center:has(.exact-embedded-sales){overflow:hidden!important;display:flex!important;flex-direction:column!important;min-height:0!important;height:100%!important;background:#f5f6f8}.eng-exact-app .center>.project-area:has(.exact-embedded-sales){flex:1 1 auto!important;min-height:0!important;max-height:100%!important;height:auto!important;padding:0!important;gap:0!important;background:#f5f6f8;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;display:flex!important;flex-direction:column!important}.exact-embedded-sales .sales-dept-page{flex:0 0 auto;width:100%;min-height:100%;height:auto!important;overflow:visible!important;background:#f5f6f8;padding:14px 16px 64px}.sales-dept-page{--sales-app: #9a7420;height:100%;min-height:0;display:flex;flex-direction:column;background:#f5f7fa;color:#17202a;overflow:auto;padding:14px 14px 48px;box-sizing:border-box;font-family:var(--font-sans)}.sales-dept-page *,.sales-dept-page *:before,.sales-dept-page *:after{box-sizing:border-box}.sales-dept-page .sales-dept-titlebar{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px;flex-wrap:wrap}.sales-dept-page .sales-dept-titlebar h1{margin:0;font-size:20px;line-height:1.2}.sales-dept-page .sales-dept-titlebar p{margin:4px 0 0;color:#6b7280;font-size:12px}.sales-dept-page .sales-dept-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.sales-workspace-date{position:relative;display:inline-flex;align-items:center}.sales-workspace-date-btn{height:34px;padding:0 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;display:inline-flex;align-items:center;gap:8px;font-size:11px;color:#6b7280;white-space:nowrap;cursor:pointer;font-family:inherit;font-weight:600}.sales-workspace-date-btn:hover{border-color:#d4b36a;color:#17202a}.sales-workspace-date-icon{flex:0 0 auto;color:#9a7420}.sales-workspace-date-label{color:#17202a;font-weight:700}.sales-workspace-date-input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:100%;pointer-events:none;border:0;padding:0}.sales-dept-page .sales-dept-btn{border:1px solid #e5e7eb;background:#fff;border-radius:8px;padding:8px 11px;font-size:11px;font-weight:700;cursor:pointer;color:#17202a}.sales-dept-page .sales-dept-btn.primary{background:#9a7420;color:#fff!important;border-color:#9a7420}.sales-dept-page .sales-dept-btn:disabled{opacity:.55;cursor:not-allowed}.sales-dept-page .sales-dept-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-bottom:12px}.sales-dept-page .sales-dept-kpi{background:#fff;border:1px solid #e5e7eb;border-radius:11px;padding:12px;min-width:0}.sales-dept-page .sales-dept-kpi small{display:block;color:#6b7280;font-size:9px;text-transform:uppercase;letter-spacing:.04em}.sales-dept-page .sales-dept-kpi b{display:block;font-size:18px;margin-top:5px}.sales-dept-page .sales-dept-kpi.danger b{color:#dc4b45}.sales-dept-page .sales-dept-kpi.attention{background:#fffaf2}.sales-dept-page .sales-dept-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-bottom:12px;align-items:center}.sales-dept-page .sales-dept-control{border:1px solid #e5e7eb;border-radius:8px;padding:8px 10px;background:#fff;font-size:12px;width:100%;min-width:0}.sales-dept-page .sales-dept-panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.sales-dept-page .sales-dept-panel-head{padding:10px 12px;border-bottom:1px solid #e5e7eb;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#6b7280}.sales-dept-page .sales-dept-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.sales-dept-page table{width:100%;border-collapse:collapse;font-size:12px}.sales-dept-page th,.sales-dept-page td{padding:10px 12px;border-bottom:1px solid #eef0f3;text-align:left;white-space:nowrap}.sales-dept-page th{color:#6b7280;font-size:10px;text-transform:uppercase;letter-spacing:.04em;background:#fafbfc}.sales-dept-page .sales-dept-link{border:0;background:transparent;color:#8c6209;font-weight:700;cursor:pointer;padding:0;font-size:12px}.sales-dept-page .sales-dept-empty{padding:48px 20px;text-align:center}.sales-dept-page .sales-dept-empty h2{margin:0 0 8px;font-size:18px}.sales-dept-page .sales-dept-empty p{margin:0;color:#6b7280;font-size:13px;max-width:420px;margin-inline:auto;line-height:1.5}.sales-dept-page .sales-dept-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.sales-dept-page .sales-dept-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:14px}.sales-dept-page .sales-dept-card h3{margin:0 0 6px;font-size:14px}.sales-dept-page .sales-dept-card p{margin:0;color:#6b7280;font-size:12px;line-height:1.45}.sales-dept-page .sales-dept-card .sales-dept-card-meta{margin-top:10px;font-size:12px;font-weight:700;color:#17202a}.sales-dept-page .sales-dept-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:700;background:#eaf2ff;color:#367bd8}.sales-dept-page .sales-dept-badge.amber{background:#fff2dc;color:#d98c18}.sales-dept-page .sales-dept-badge.green{background:#e9f7ef;color:#1c9c59}.sales-dept-page .sales-dept-badge.blue{background:#eff6ff;color:#1d4ed8}.sales-dept-page .sales-dept-badge.red{background:#fdecea;color:#dc4b45}.sales-dept-page .sales-dept-status{padding:24px;text-align:center;color:#6b7280;font-size:13px}.sales-leads-page{--sales-app: #9a7420;background:#f6f7f9;padding:10px 12px 36px}.sales-leads-page .sales-leads-breadcrumb{font-size:10px;color:#8f98a3;margin-bottom:8px;letter-spacing:.01em}.sales-leads-page .sales-leads-breadcrumb b{color:#2a3440;font-weight:700}.sales-leads-page .sales-leads-titlebar h1{font-size:34px;font-weight:700;letter-spacing:-.015em;color:#1f2933}.sales-leads-page .sales-leads-titlebar p{font-size:10px;color:#98a1aa;letter-spacing:.02em;text-transform:lowercase}.sales-leads-page .sales-leads-actions .sales-dept-btn{border-radius:10px;padding:9px 12px;font-size:10px;font-weight:700}.sales-leads-page .sales-dept-btn.primary,.sales-leads-modal-actions .sales-dept-btn.primary,.sales-leads-modal-foot .sales-dept-btn.primary{background:var(--sales-app, #9a7420);border:1px solid var(--sales-app, #9a7420);color:#fff!important;box-shadow:none}.sales-leads-page .sales-dept-btn.primary:hover:not(:disabled),.sales-leads-modal-actions .sales-dept-btn.primary:hover:not(:disabled),.sales-leads-modal-foot .sales-dept-btn.primary:hover:not(:disabled){background:#86621c;border-color:#86621c;color:#fff!important}.sales-leads-page .sales-leads-kpis{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.sales-leads-page .sales-leads-kpi-sub{display:block;margin-top:4px;color:#9aa3ad;font-size:9px;letter-spacing:.01em}.sales-leads-page .sales-dept-kpi small{font-size:8px;letter-spacing:.08em;color:#8f98a3}.sales-leads-page .sales-dept-kpi b{font-size:16px;line-height:1.1;font-weight:700;letter-spacing:-.01em;color:#202a34;margin-top:3px}.sales-leads-page .sales-dept-kpi{border-radius:10px;padding:10px 10px 9px;border-color:#e7eaee;box-shadow:0 1px 1px #0f172a05}.sales-leads-page .sales-leads-filters{grid-template-columns:1fr 1fr 1fr 2.6fr auto;gap:6px;margin-bottom:8px}.sales-leads-page .sales-dept-control,.sales-leads-page .sales-dept-btn{height:32px;font-size:10px;border-radius:9px}.sales-leads-page .sales-dept-control{padding:6px 10px}.sales-leads-page .sales-leads-panel .sales-dept-panel-head{font-size:13px;font-weight:700;letter-spacing:0;text-transform:none;color:#1d2430;padding:10px 12px 8px}.sales-leads-page .sales-leads-panel{border-radius:11px;border-color:#e7eaee;overflow-x:hidden}.sales-leads-page table{font-size:10px}.sales-leads-page th{font-size:8px;color:#8f98a3;letter-spacing:.08em;background:#fff;border-bottom:1px solid #eef1f4;padding-top:8px;padding-bottom:8px}.sales-leads-page td:first-child{font-weight:600}.sales-leads-page td{color:#2a3440;padding-top:9px;padding-bottom:9px}.sales-leads-page .sales-dept-link{border:1px solid #e5e7eb;border-radius:9px;padding:5px 12px;color:#111827;background:#fff;font-size:10px}.sales-leads-page .sales-leads-table-wrap{overflow-x:hidden;width:100%;padding:0 4px 8px}.sales-leads-page .sales-leads-table{width:100%;min-width:0;table-layout:fixed;border-collapse:separate;border-spacing:0}.sales-leads-page .sales-leads-table th,.sales-leads-page .sales-leads-table td{padding:10px;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sales-leads-page .sales-leads-table th{font-size:10px;font-weight:800;letter-spacing:.06em;color:#5b6570}.sales-leads-page .sales-leads-row-focus td{background:color-mix(in srgb,var(--sales-app, #9a7420) 10%,#fff)}.sales-leads-page .sales-leads-status-cell{width:18%;padding-left:8px;padding-right:8px}.sales-leads-page .sales-leads-status-select{min-width:0;width:100%;max-width:100%;height:28px;padding:0 22px 0 8px;border-radius:8px;font-size:11px;font-weight:700;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237a5a18' stroke-width='2.4'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;background-color:#fff;color:#7a5a18;border:1px solid #e5e7eb}.sales-leads-page .sales-leads-status-select:disabled{opacity:.65;cursor:wait}.sales-leads-page .sales-leads-status-badge,.sales-leads-page .sales-leads-status-badge.blue,.sales-leads-page .sales-leads-status-badge.amber,.sales-leads-page .sales-leads-status-badge.green,.sales-leads-page .sales-leads-status-badge.red{max-width:148px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;background:#fff;color:#7a5a18;border:1px solid #e5e7eb}.sales-leads-page .sales-leads-ellipsis{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;cursor:default}.sales-leads-page .sales-leads-ellipsis--lead,.sales-leads-page .sales-leads-ellipsis--rep{max-width:100%;font-weight:700;color:#111827}.sales-leads-page .sales-leads-actions-cell,.sales-leads-page .sales-leads-comments-cell{text-align:center;width:88px;min-width:88px;overflow:visible}.sales-leads-page .sales-leads-actions-cell{width:108px;min-width:108px}.sales-leads-page .sales-leads-table th.sales-leads-comments-cell{white-space:normal;line-height:1.2}.sales-leads-page .sales-leads-comment-wrap{position:relative;display:inline-flex;justify-content:center}.sales-leads-page .sales-leads-comment-btn{position:relative;width:36px;height:32px;padding:0;border:0;border-radius:8px;background:transparent;color:#6b7280;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.sales-leads-page .sales-leads-comment-count{position:absolute;top:0;right:0;min-width:14px;height:14px;padding:0 3px;border-radius:999px;background:#9a7420;color:#fff;font-size:9px;font-weight:700;line-height:14px;text-align:center}.sales-leads-page .sales-leads-comment-btn:hover,.sales-leads-page .sales-leads-comment-btn.is-open{background:color-mix(in srgb,#9a7420 12%,#fff);color:#9a7420}.sales-lead-comments-body{display:flex;flex-direction:column;min-height:0}.sales-lead-comments-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:48px 16px;text-align:center;color:#6b7280}.sales-lead-comments-empty p{margin:0;font-size:14px;font-weight:700;color:#1f2937}.sales-lead-comments-empty small{color:#6b7280}.sales-lead-comments-sheet .admin-sheet-footer{display:block;padding:12px 20px 16px}.sales-lead-comment-composer{display:flex;flex-direction:column;align-items:stretch;gap:8px;width:100%}.sales-lead-comment-composer .sales-dept-btn{align-self:flex-end}.sales-lead-comments-sheet .sales-dept-btn.primary,.sales-lead-comment-composer .sales-dept-btn.primary{min-height:38px;padding:0 16px;border-radius:10px;background:#9a7420;border:1px solid #9a7420;color:#fff!important;font-size:13px;font-weight:700;cursor:pointer}.sales-lead-comments-sheet .sales-dept-btn.primary:hover:not(:disabled),.sales-lead-comment-composer .sales-dept-btn.primary:hover:not(:disabled){background:#86621c;border-color:#86621c}.sales-lead-comments-sheet .sales-dept-btn.primary:disabled{opacity:.7;cursor:wait}.sales-lead-comments-timeline{list-style:none;margin:0;padding:4px 0 8px 10px;display:flex;flex-direction:column;gap:0;position:relative}.sales-lead-comments-timeline:before{content:"";position:absolute;top:10px;bottom:10px;left:3px;width:1px;background:#d7dce3}.sales-lead-comment-item{position:relative;display:grid;grid-template-columns:16px 1fr;gap:12px;padding:0 0 22px}.sales-lead-comment-item:last-child{padding-bottom:0}.sales-lead-comment-dot{width:8px;height:8px;margin-top:6px;border-radius:50%;background:#9a7420;box-shadow:0 0 0 3px #fff;z-index:1}.sales-lead-comment-content{min-width:0}.sales-lead-comment-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.sales-lead-comment-meta strong{display:block;font-size:13px;font-weight:700;color:#1f2937}.sales-lead-comment-meta time{font-size:11px;color:#8b919a;white-space:nowrap}.sales-lead-comment-status{margin:4px 0 0;font-size:12px;font-weight:700;color:#9a7420}.sales-lead-comment-text{margin:6px 0 0;font-size:13px;line-height:1.5;color:#374151;white-space:pre-wrap}.sales-lead-status-comment{margin-top:14px}.sales-leads-page .sales-leads-actions-cell{white-space:nowrap}.sales-leads-page .sales-leads-action-btns{display:inline-flex;align-items:center;justify-content:center;gap:2px}.sales-leads-page .sales-leads-edit-btn{width:32px;height:32px;padding:0;border:0;border-radius:8px;background:transparent;color:#6b7280;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.sales-leads-page .sales-leads-edit-btn:hover{background:color-mix(in srgb,#9a7420 12%,#fff);color:#9a7420}.sales-leads-page .tile-list-footer{padding:10px 16px 14px;border-top:1px solid #eef1f4}.sales-leads-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#11182759;display:grid;place-items:center;z-index:1200}.sales-leads-modal{width:min(560px,calc(100vw - 32px));max-height:min(88vh,720px);overflow:auto;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 12px 36px #0f172a2e}.sales-leads-modal-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #edf0f3}.sales-leads-modal-head h3{margin:0;font-size:18px;line-height:1.2;font-weight:700;color:#1f2933}.sales-leads-modal-close{border:1px solid #e5e7eb;background:#fff;border-radius:8px;width:26px;height:26px;cursor:pointer;font-size:14px;line-height:1}.sales-leads-modal-body{padding:12px 14px}.sales-leads-modal-row{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}.sales-leads-modal-row label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#8f98a3}.sales-leads-modal-row textarea{border:1px solid #e5e7eb;border-radius:8px;min-height:64px;resize:vertical;padding:10px 12px;font-size:12px;font-family:inherit}.sales-leads-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.sales-leads-modal-grid .sales-leads-modal-row{margin-bottom:0}.sales-leads-modal-actions,.sales-leads-modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:0 14px 14px}.sales-quotations-page{background:#f6f7f9;padding:10px 12px 36px}.sales-quotations-page .sales-quotations-breadcrumb{font-size:10px;color:#8f98a3;margin-bottom:8px;letter-spacing:.01em}.sales-quotations-page .sales-quotations-breadcrumb b{color:#2a3440;font-weight:700}.sales-quotations-page .sales-quotations-titlebar h1{font-size:34px;font-weight:700;letter-spacing:-.015em;color:#1f2933}.sales-quotations-page .sales-quotations-titlebar p{font-size:10px;color:#98a1aa;letter-spacing:.02em;text-transform:lowercase}.sales-quotations-page .sales-quotations-actions .sales-dept-btn{border-radius:10px;padding:9px 12px;font-size:10px;font-weight:700;height:32px}.sales-quotations-page .sales-dept-btn.primary,.sales-quotations-page .sales-leads-modal-actions .sales-dept-btn.primary{background:var(--sales-app, #9a7420);border:1px solid var(--sales-app, #9a7420);color:#fff!important;box-shadow:none}.sales-quotations-page .sales-dept-btn.primary:hover:not(:disabled),.sales-quotations-page .sales-leads-modal-actions .sales-dept-btn.primary:hover:not(:disabled){background:#86621c;border-color:#86621c;color:#fff!important}.sales-quotations-page .sales-quotations-kpis{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.sales-quotations-page .sales-quotations-kpi-sub{display:block;margin-top:4px;color:#9aa3ad;font-size:9px;letter-spacing:.01em}.sales-quotations-page .sales-dept-kpi{border-radius:10px;padding:10px 10px 9px;border-color:#e7eaee;box-shadow:0 1px 1px #0f172a05}.sales-quotations-page .sales-dept-kpi small{font-size:8px;letter-spacing:.08em;color:#8f98a3}.sales-quotations-page .sales-dept-kpi b{font-size:16px;line-height:1.1;font-weight:700;letter-spacing:-.01em;color:#202a34;margin-top:3px}.sales-quotations-page .sales-dept-filters{grid-template-columns:2.2fr 1fr auto;gap:6px;margin-bottom:8px}.sales-quotations-page .sales-dept-control,.sales-quotations-page .sales-dept-btn{height:32px;font-size:10px;border-radius:9px}.sales-quotations-page .sales-dept-control{padding:6px 10px}.sales-quotations-page .sales-quotations-panel{border-radius:11px;border-color:#e7eaee}.sales-quotations-page .sales-quotations-panel .sales-dept-panel-head{font-size:13px;font-weight:700;letter-spacing:0;text-transform:none;color:#1d2430;padding:10px 12px 8px;display:flex;align-items:center;justify-content:space-between}.sales-quotations-page .sales-quotations-panel-note{font-size:9px;letter-spacing:.03em;color:#98a1aa;text-transform:none}.sales-quotations-page .sales-quotes-table-wrap{overflow-x:auto}.sales-quotations-page .sales-quotes-table{width:100%;table-layout:auto}.sales-quotations-page .sales-quotes-table th{font-size:10px;font-weight:800;letter-spacing:.06em;color:#5b6570;white-space:nowrap}.sales-quotations-page .sales-quotes-row-focus td{background:color-mix(in srgb,var(--sales-app, #9a7420) 10%,#fff)}.sales-quotations-page .sales-quotes-status-cell{width:1%;padding-left:10px;padding-right:10px}.sales-quotations-page .sales-quotes-status-select{min-width:0;width:max-content;max-width:148px;height:28px;padding:0 22px 0 8px;border-radius:8px;font-size:11px;font-weight:700;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237a5a18' stroke-width='2.4'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;background-color:#fff;color:#7a5a18;border:1px solid #e5e7eb}.sales-quotations-page .sales-quotes-status-select:disabled{opacity:.65;cursor:wait}.sales-quotations-page .sales-quotes-status-badge{max-width:148px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;background:#fff;color:#7a5a18;border:1px solid #e5e7eb}.sales-quotations-page .sales-quotes-ellipsis{display:inline-block;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;cursor:default}.sales-quotations-page .sales-quotes-ellipsis--lead{max-width:120px;font-weight:700;color:#111827}.sales-quotations-page .sales-quotes-ellipsis--wide{max-width:180px}.sales-quotations-page .sales-quotes-ellipsis--rep{max-width:140px;font-weight:700;color:#111827}.sales-quotations-page .sales-quotes-actions-cell,.sales-quotations-page .sales-quotes-comments-cell{text-align:center;width:56px}.sales-quotations-page .sales-quotes-comment-wrap{position:relative;display:inline-flex;justify-content:center}.sales-quotations-page .sales-quotes-comment-btn{position:relative;width:36px;height:32px;padding:0;border:0;border-radius:8px;background:transparent;color:#6b7280;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.sales-quotations-page .sales-quotes-comment-count{position:absolute;top:0;right:0;min-width:14px;height:14px;padding:0 3px;border-radius:999px;background:#9a7420;color:#fff;font-size:9px;font-weight:700;line-height:14px;text-align:center}.sales-quotations-page .sales-quotes-comment-btn:hover,.sales-quotations-page .sales-quotes-comment-btn.is-open{background:color-mix(in srgb,#9a7420 12%,#fff);color:#9a7420}.sales-quotations-page .sales-quotes-edit-btn{width:32px;height:32px;padding:0;border:0;border-radius:8px;background:transparent;color:#6b7280;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.sales-quotations-page .sales-quotes-edit-btn:hover{background:#f3f4f6;color:#111827}.sales-quotations-page table{font-size:10px}.sales-quotations-page th{font-size:8px;color:#8f98a3;letter-spacing:.08em;background:#fff;border-bottom:1px solid #eef1f4;padding-top:8px;padding-bottom:8px}.sales-quotations-page td{color:#2a3440;padding-top:9px;padding-bottom:9px}.sales-quotations-page .sales-dept-link{border:1px solid #e5e7eb;border-radius:9px;padding:5px 12px;color:#111827;background:#fff;font-size:10px}.sales-inline-toast{position:fixed;right:20px;bottom:20px;z-index:1300;border-radius:10px;padding:10px 14px;font-size:12px;font-weight:700;border:1px solid #d1fae5;background:#ecfdf5;color:#065f46;box-shadow:0 10px 26px #0f172a2e}.sales-inline-toast.error{border-color:#fecaca;background:#fef2f2;color:#991b1b}.sales-inline-toast.warning{border-color:#fde68a;background:#fffbeb;color:#92400e}.sales-meetings-page{--sales-app: #9a7420;--sales-ink: #2a2f36;--sales-muted: #6b7280;background:#f5f6f8;padding:12px 14px 28px;min-width:0}.sales-meetings-page .sales-dept-titlebar{margin-bottom:8px;gap:8px}.sales-meetings-page .sales-meetings-titlebar h1{font-size:20px;line-height:1.15;letter-spacing:-.02em;color:#2c3036;font-weight:800}.sales-meetings-page .sales-meetings-titlebar p{margin-top:2px;font-size:12px;color:var(--sales-muted);text-transform:none;letter-spacing:0}.sales-meetings-page .sales-meetings-kpis{grid-template-columns:repeat(2,minmax(0,220px));gap:8px;margin-bottom:10px}.sales-meetings-page .sales-dept-kpi{border-radius:10px;border-color:#e6e9ed;padding:10px 12px}.sales-meetings-page .sales-dept-kpi small{font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:#6b7280;font-weight:700}.sales-meetings-page .sales-dept-kpi b{display:block;margin-top:2px;font-size:18px;line-height:1.15;color:#222830;font-weight:800}.sales-meetings-page .sales-meetings-kpi-sub{display:block;margin-top:2px;color:#6b7280;font-size:11px;line-height:1.3}.sales-meetings-grid{display:grid;grid-template-columns:minmax(240px,.85fr) minmax(0,1.15fr);gap:10px;min-width:0;align-items:start}.sales-meetings-agenda,.sales-meetings-detail{border-radius:12px;border-color:#e6e9ed;overflow:hidden;min-width:0;background:#fff}.sales-meetings-tabs{display:flex;gap:0;padding:8px 8px 0;border-bottom:1px solid #eceff3}.sales-meetings-tabs button{border:0;background:transparent;color:#6b7280;font-size:12px;font-weight:700;padding:7px 12px 9px;border-radius:0;cursor:pointer;position:relative}.sales-meetings-tabs button.is-active{background:transparent;color:#7a5c18}.sales-meetings-tabs button.is-active:after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:2px;background:#9a7420;border-radius:2px}.sales-meetings-list{display:flex;flex-direction:column;max-height:calc(100vh - 260px);overflow-y:auto}.sales-meetings-item{display:block;width:100%;text-align:left;background:#fff;border:0;border-top:1px solid #eceff3;padding:10px 12px 10px 14px;cursor:pointer}.sales-meetings-item:first-child{border-top:0}.sales-meetings-item:hover{background:#fafbfc}.sales-meetings-item.is-selected{background:#f7f4ec;box-shadow:inset 3px 0 #9a7420}.sales-meetings-item-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.sales-meetings-item-time{font-size:11px;font-weight:700;color:#9a7420}.sales-meetings-item h3{margin:4px 0 0;font-size:13px;font-weight:700;color:#222830;line-height:1.3;word-break:break-word;min-width:0;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.sales-meetings-item-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:6px}.sales-meetings-item-meta>span{font-size:11px;color:#6b7280}.sales-meetings-item-type{display:inline-flex;align-items:center;padding:1px 7px;border-radius:999px;background:#eef1f4;color:#4b5563!important;font-weight:600}.sales-meetings-page .sales-dept-btn{height:28px;padding:0 10px;border-radius:7px;font-size:11px;font-weight:700;line-height:1;white-space:nowrap}.sales-meetings-page .sales-dept-badge{padding:2px 7px;font-size:10px;flex:0 0 auto}.sales-meetings-page .sales-dept-btn.secondary{background:#fff;border:1px solid #d5dbe2;color:#1f2937!important}.sales-meetings-page .sales-dept-btn.primary{background:var(--sales-app);border:1px solid var(--sales-app);color:#fff!important;box-shadow:none}.sales-meetings-page .sales-dept-btn.danger{background:#dc4b45;border:1px solid #dc4b45;color:#fff!important;box-shadow:none}.sales-meetings-page .sales-leads-modal-foot .sales-dept-btn.primary{color:#fff!important}.sales-meetings-page .sales-leads-modal-foot .sales-dept-btn.secondary{background:#fff;border:1px solid #d5dbe2;color:#1f2937!important}.sales-meetings-item.is-closed h3{color:#6b7280}.sales-meetings-empty{padding:18px 14px;font-size:13px;color:#6b7280;line-height:1.45}.sales-meetings-detail-empty{min-height:180px;display:flex;align-items:center;justify-content:center;text-align:center}.sales-meetings-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:12px 14px 10px;border-bottom:1px solid #eceff3}.sales-meetings-detail-title{min-width:0}.sales-meetings-detail-title h2{margin:6px 0 0;font-size:16px;line-height:1.3;color:#222830;word-break:break-word}.sales-meetings-detail-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}.sales-meetings-overflow{position:relative}.sales-meetings-overflow-btn{min-width:28px;padding:0;font-size:16px;line-height:1}.sales-meetings-overflow-menu{position:absolute;right:0;top:calc(100% + 4px);background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 8px 24px #0f172a1f;min-width:148px;z-index:4;overflow:hidden}.sales-meetings-overflow-menu button{display:block;width:100%;text-align:left;border:0;background:#fff;padding:8px 10px;font-size:12px;color:#b91c1c;cursor:pointer}.sales-meetings-overflow-menu button:hover{background:#fef2f2}.sales-meetings-detail-body{padding:12px 14px 14px;max-height:calc(100vh - 280px);overflow-y:auto}.sales-meetings-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.sales-meetings-facts>div{background:#f7f8fa;border:1px solid #eef1f4;border-radius:8px;padding:8px 10px;min-width:0}.sales-meetings-facts span{display:block;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#8a939c}.sales-meetings-facts b{display:block;margin-top:4px;font-size:12px;font-weight:700;color:#222830;line-height:1.35;word-break:break-word}.sales-meetings-agenda-block,.sales-meetings-followups{margin-bottom:12px}.sales-meetings-agenda-block h3,.sales-meetings-followups-head h3{margin:0 0 6px;font-size:11px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}.sales-meetings-followups-head h3 em{margin-left:6px;font-style:normal;font-weight:700;color:#9a7420}.sales-meetings-agenda-box{margin:0;font-size:13px;color:#374151;line-height:1.45;background:#fafbfc;border:1px solid #eef1f4;border-radius:8px;padding:10px 12px;max-height:120px;overflow-y:auto;word-break:break-word;white-space:pre-wrap}.sales-meetings-followups-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.sales-meetings-followups-head h3{margin:0}.sales-meetings-followups-empty{border:1px dashed #d5dbe2;border-radius:8px;padding:14px 12px;text-align:center;background:#fcfcfd}.sales-meetings-followups-empty p{margin:0 0 8px;font-size:12px;color:#6b7280}.sales-meetings-action-list{display:flex;flex-direction:column;gap:8px}.sales-meetings-action-card{border:1px solid #eceff3;border-radius:8px;padding:10px;background:#fafbfc}.sales-meetings-action-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.sales-meetings-action-text{margin:0;font-size:13px;color:#222830;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.sales-meetings-action-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:6px;font-size:11px;color:#6b7280}.sales-meetings-action-buttons{display:flex;gap:8px;margin-top:8px}.sales-meetings-action-buttons .sales-dept-btn{height:28px;min-width:76px;padding:0 12px;border-radius:8px;font-size:11px;font-weight:700}.sales-meetings-action-buttons .sales-dept-btn.primary{background:var(--sales-app);border:1px solid var(--sales-app);color:#fff!important}.sales-meetings-action-buttons .sales-dept-btn.secondary{background:#fff;border:1px solid #d5dbe2;color:#1f2937!important}.sales-meetings-confirm{max-width:480px}.sales-meetings-confirm-text{margin:0;font-size:13px;color:#374151;line-height:1.45}.sales-meetings-field-error{display:block;margin-top:4px;font-size:12px;font-weight:600;color:#b45309}.sales-meetings-page .sales-dept-control.is-invalid,.sales-meetings-page textarea.is-invalid{border-color:#dc2626!important;box-shadow:0 0 0 2px #dc262626}.sales-meetings-required{color:#dc2626;margin-left:3px;font-weight:800}.sales-meetings-sheet .entry-field>span{color:#8a8478}.sales-meetings-sheet .entry-input,.sales-meetings-sheet .entry-select,.sales-meetings-sheet .entry-textarea{color:#1f1c17}.sales-meetings-sheet .entry-input::placeholder,.sales-meetings-sheet .entry-textarea::placeholder{color:#9a948a;opacity:1}.sales-meetings-sheet .entry-select.is-placeholder{color:#9a948a}.sales-meetings-sheet .entry-select option{color:#1f1c17}.sales-meetings-sheet .entry-input:focus,.sales-meetings-sheet .entry-select:focus,.sales-meetings-sheet .entry-textarea:focus{outline:none;border-color:color-mix(in srgb,var(--accent-base, #9a7420) 55%,#e0dbd1);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-base, #9a7420) 16%,transparent)}.sales-meetings-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10080;background:#11182747;display:flex;justify-content:flex-end;align-items:stretch;padding:0}.sales-meetings-drawer{width:min(420px,100vw);height:100%;height:100dvh;max-height:100dvh;background:#fff;box-shadow:-12px 0 28px #0f172a29;display:flex;flex-direction:column;min-width:0;min-height:0;border-radius:0;border:0;border-left:1px solid #e6e9ed}.sales-meetings-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:16px 18px 12px;border-bottom:1px solid #eceff3;flex:0 0 auto}.sales-meetings-drawer-head h3{margin:0;font-size:18px;line-height:1.2;color:#222830;font-weight:800}.sales-meetings-drawer-head p{margin:4px 0 0;font-size:12px;color:#6b7280}.sales-meetings-drawer-close{flex:0 0 28px;width:28px;height:28px;margin:0;border-radius:6px;border:1px solid #e5e7eb;background:#fff;cursor:pointer;font-size:18px;line-height:1;color:#111827}.sales-meetings-drawer-body{flex:1 1 auto;overflow-y:auto;min-height:0;padding:16px 18px 12px}.sales-meetings-drawer .sales-leads-modal-row{margin-bottom:12px;gap:5px}.sales-meetings-drawer .sales-leads-modal-grid{gap:10px;margin-bottom:12px}.sales-meetings-drawer .sales-leads-modal-row label{font-size:12px;font-weight:700;text-transform:none;letter-spacing:0;color:#374151}.sales-meetings-drawer .sales-dept-control{display:block;width:100%;min-width:0;border:1px solid #e5e7eb;background:#fff;padding:8px 10px;font-size:13px;border-radius:8px;font-family:inherit;color:#17202a;accent-color:#9a7420}.sales-meetings-drawer .sales-leads-modal-row textarea{display:block;width:100%;min-height:120px;max-height:none;font-size:13px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#17202a;font-family:inherit;box-sizing:border-box;accent-color:#9a7420}.sales-meetings-drawer .sales-dept-control:focus,.sales-meetings-drawer .sales-dept-control:focus-visible,.sales-meetings-drawer textarea:focus,.sales-meetings-drawer textarea:focus-visible{outline:none;border-color:#9a7420!important;box-shadow:0 0 0 3px #9a742038!important}.sales-meetings-drawer-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px 16px;border-top:1px solid #eceff3;background:#fff;flex:0 0 auto}.sales-meetings-drawer .sales-dept-btn{height:32px;padding:0 12px;border-radius:8px;font-size:12px;font-weight:700;line-height:1;white-space:nowrap;cursor:pointer;border:1px solid #e5e7eb;background:#fff;color:#1f2937}.sales-meetings-drawer .sales-dept-btn.primary{background:#9a7420;border-color:#9a7420;color:#fff!important}.sales-meetings-drawer .sales-dept-btn.secondary{background:#fff;border:1px solid #d5dbe2;color:#1f2937!important}.sales-reports-page{--sales-app: #9a7420;background:#f5f6f8;padding:10px 12px 36px}.sales-reports-page .sales-reports-titlebar h1{font-size:30px;line-height:1.05;letter-spacing:-.02em;color:#2c3036;font-weight:800}.sales-reports-page .sales-reports-titlebar p{margin-top:4px;font-size:11px;color:#8a939c;text-transform:none;letter-spacing:.01em}.sales-reports-scope-help{margin:4px 0 0;padding:0;font-size:12px;color:#6b7280}.sales-reports-period-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px}.sales-reports-period-row .sales-reports-scope-title{padding:0;font-size:15px}.sales-reports-period-select{min-width:148px;height:32px;padding:0 28px 0 10px;border-radius:8px;border:1px solid #e5e7eb;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237a5a18' stroke-width='2.4'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;color:#1f2937;font-size:12px;font-weight:700;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.sales-reports-page .sales-dept-btn{height:28px;padding:0 12px;border-radius:999px;font-size:10px;font-weight:700}.sales-reports-page .sales-dept-btn.secondary{background:#fff;border:1px solid #d5dbe2;color:#1f2937!important}.sales-reports-page .sales-dept-btn.primary{background:var(--sales-app);border:1px solid var(--sales-app);color:#fff!important}.sales-reports-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sales-reports-card{text-align:left;background:#fff;border:1px solid #e6e9ed;border-radius:12px;padding:14px 14px 16px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.sales-reports-card:hover,.sales-reports-card.is-active{border-color:#c9b07a;box-shadow:0 8px 18px #1c232d0f}.sales-reports-card h3{margin:0 0 6px;font-size:14px;font-weight:700;color:#222830}.sales-reports-card p{margin:0;font-size:11px;line-height:1.4;color:#7d8791}.sales-reports-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#11182738;display:flex;justify-content:flex-end}.sales-reports-drawer{position:relative;width:min(520px,100%);height:100%;background:#fff;box-shadow:-10px 0 28px #0f172a24;display:flex;flex-direction:column;padding:16px 22px 24px;overflow:auto}.sales-reports-drawer-head{position:relative;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;padding-right:8px}.sales-reports-drawer-head h2{margin:0;font-size:28px;line-height:1.1;letter-spacing:-.02em;color:#2a2f36;font-weight:800}.sales-reports-drawer-head p{margin:4px 0 0;font-size:12px;color:#9aa3ad}.sales-reports-drawer-close{flex:0 0 32px;width:32px;height:32px;margin:0;border-radius:8px;border:1px solid #e5e7eb;background:#fff;cursor:pointer;font-size:22px;line-height:1;color:#111827}.sales-reports-scope{border:1px solid #e8ecf0;border-radius:14px;overflow:hidden;background:#fff}.sales-reports-scope-title{padding:14px 16px 10px;font-size:15px;font-weight:700;color:#222830}.sales-reports-scope-row{display:grid;grid-template-columns:92px 1fr;gap:12px;align-items:center;padding:12px 16px;border-top:1px solid #eef1f4}.sales-reports-scope-row>span{font-size:12px;font-weight:500;color:#8a939c}.sales-reports-options{display:flex;flex-wrap:wrap;align-items:center;gap:0}.sales-reports-option-wrap{display:inline-flex;align-items:center}.sales-reports-option-sep{margin:0 7px;color:#c0c6cd;font-size:12px}.sales-reports-option{border:0;background:transparent;padding:0;margin:0;font-size:12px;font-weight:600;color:#2a2f36;cursor:pointer}.sales-reports-option.is-active{color:var(--sales-app);text-decoration:underline;text-underline-offset:3px}.sales-reports-export-note{font-size:12px;font-weight:600;color:#2a2f36}.sales-reports-drawer-actions{margin-top:16px;display:flex;gap:8px;flex-wrap:wrap}.sales-reports-page .sales-reports-drawer .sales-dept-btn,.sales-reports-page .sales-reports-drawer .sales-dept-btn.primary,.sales-reports-page .sales-reports-drawer .sales-dept-btn.secondary{height:28px;padding:0 12px;border-radius:999px;font-size:10px;background:var(--sales-app);border:1px solid var(--sales-app);color:#fff!important}body.role-sales-rep .sales-lead-rep-field,body.role-sales-rep .admin-sheet [data-field=representative],.sales-lead-sheet--self-assign .sales-lead-rep-field,.sales-lead-sheet--self-assign [data-field=representative]{display:none!important}.sales-reports-sheet .admin-sheet-close{border:1px solid #e5e7eb;background:#fff;color:#111827!important}.sales-reports-sheet-body{display:flex;flex-direction:column;gap:14px}.sales-reports-table-scroll{max-height:min(52vh,520px);overflow:auto;border:1px solid #e8ecf0;border-radius:10px;background:#fff}.sales-reports-sheet .sales-reports-table{width:100%;margin:0;border-collapse:collapse;font-size:12px}.sales-reports-sheet .sales-reports-table th,.sales-reports-sheet .sales-reports-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #eef0f3;vertical-align:middle}.sales-reports-sheet .sales-reports-table th{position:sticky;top:0;z-index:1;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#5b6570;background:#fafbfc}.sales-reports-sheet .sales-reports-table td{color:#2a3440;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sales-reports-sheet .sales-reports-table tbody tr:hover td{background:#fafbfc}.sales-reports-detail-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}.sales-reports-detail-kpi{border:1px solid #e8ecf0;border-radius:10px;background:#fff;padding:10px 12px}.sales-reports-detail-kpi small{display:block;font-size:9px;letter-spacing:.07em;text-transform:uppercase;color:#9aa3ad;font-weight:700}.sales-reports-detail-kpi b{display:block;margin-top:4px;font-size:15px;color:#222830}.sales-reports-page table{font-size:10px}.sales-reports-page th{font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:#9aa3ad}.sales-workspace-page{--sales-app: #9a7420;background:#f5f6f8;padding:14px 16px 56px}.sales-workspace-page .sales-workspace-titlebar h1{font-size:30px;line-height:1.05;letter-spacing:-.02em;color:#2c3036;font-weight:800}.sales-workspace-page .sales-workspace-titlebar p{margin-top:4px;font-size:9px;color:#8a939c;text-transform:lowercase;letter-spacing:.01em}.sales-workspace-page .sales-dept-btn{height:28px;padding:0 12px;border-radius:999px;font-size:10px;font-weight:700}.sales-workspace-page .sales-dept-btn.secondary{background:#fff;border:1px solid #d5dbe2;color:#1f2937!important}.sales-workspace-page .sales-dept-btn.primary{background:var(--sales-app);border:1px solid var(--sales-app);color:#fff!important}.sales-workspace-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:10px}.sales-workspace-kpi{background:#fff;border:1px solid #e6e9ed;border-radius:12px;padding:12px;min-width:0}.sales-workspace-kpi.is-risk{background:#fff7f7;border-color:#f3dede}.sales-workspace-kpi.is-gap{background:#fffdf5;border-color:#efe4c8}.sales-workspace-kpi small{display:block;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#9aa3ad;font-weight:700}.sales-workspace-kpi b{display:block;margin-top:6px;font-size:18px;line-height:1.1;color:#222830;font-weight:800}.sales-workspace-kpi span{display:block;margin-top:4px;font-size:9px;color:#8a939c}.sales-workspace-mid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:8px;margin-bottom:8px;align-items:stretch}.sales-workspace-section-head{padding:12px 12px 8px}.sales-workspace-section-head h2{margin:0;font-size:15px;font-weight:700;color:#222830}.sales-workspace-section-head p{margin:3px 0 0;font-size:9px;color:#8a939c}.sales-workspace-perf,.sales-workspace-manager,.sales-workspace-status{border-radius:12px;border-color:#e6e9ed;overflow:hidden;background:#fff}.sales-workspace-status{margin-bottom:24px}.sales-workspace-page table{font-size:10px}.sales-workspace-page th{font-size:8px;letter-spacing:.07em;text-transform:uppercase;color:#9aa3ad;background:#fff}.sales-workspace-page td{color:#2a3440;padding-top:9px;padding-bottom:9px}.sales-workspace-perf table th,.sales-workspace-perf table td,.sales-manager-team-panel table th,.sales-manager-team-panel table td,.sales-workspace-status table th,.sales-workspace-status table td{text-align:center}.sales-workspace-perf table th:first-child,.sales-workspace-perf table td:first-child,.sales-manager-team-panel table th:first-child,.sales-manager-team-panel table td:first-child{text-align:left}.sales-workspace-rep-pill{border:1px solid #e5e7eb;background:#fff;border-radius:999px;padding:5px 12px;font-size:11px;font-weight:700;color:#111827;cursor:pointer;display:inline-block;line-height:1.2;font-family:inherit}.eng-exact-app .sales-workspace-rep-pill,.eng-exact-app .sales-workspace-rep-pill strong{font-weight:700}.sales-workspace-rep-pill:hover{border-color:#d4b36a;background:#fffdf8}.sales-workspace-manager-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:14px 14px 8px}.sales-workspace-manager-head h2{margin:0;font-size:15px;font-weight:700;color:#222830}.sales-workspace-manager-head span{font-size:9px;color:#98a1aa;white-space:nowrap}.sales-workspace-manager-list{padding:0 14px 8px}.sales-workspace-manager-block{padding:12px 0;border-top:1px solid #eef1f4}.sales-workspace-manager-block:first-child{border-top:0;padding-top:4px}.sales-workspace-manager-block b{display:block;margin:0 0 3px;font-size:10px;font-weight:700;color:#222830;line-height:1.25}.sales-workspace-manager-block p{margin:0;font-size:9px;line-height:1.35;color:#8a939c}.sales-manager-page{--sales-app: #9a7420;min-width:0}.sales-manager-page .sales-workspace-titlebar h1{font-size:28px;font-weight:800;color:#1f2430}.sales-manager-page .sales-workspace-titlebar p{font-size:9px;color:#8a939c;text-transform:lowercase}.sales-manager-kpis{margin-bottom:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.sales-manager-tabs{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:10px;padding:6px 8px;background:#fff;border:1px solid #e6e9ed;border-radius:12px;box-shadow:none}.sales-manager-tab{border:0;background:transparent;color:#1f2937;font-size:12px;font-weight:700;padding:8px 14px;border-radius:8px;cursor:pointer}.sales-manager-tab.is-active{background:#f3e7cc;color:#7a5a12;font-weight:700}.sales-manager-filters{display:grid;grid-template-columns:repeat(3,minmax(120px,160px)) minmax(180px,1fr);gap:8px;margin-bottom:10px}.sales-manager-page .sales-dept-control{height:32px;font-size:11px;border-radius:9px}.sales-manager-kanban{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;overflow-x:hidden;padding-bottom:18px;align-items:start;width:100%;min-width:0}.sales-manager-column{background:#fff;border:1px solid #e6e9ed;border-radius:10px;min-height:280px;min-width:0;display:flex;flex-direction:column;overflow:hidden}.sales-manager-column-head{display:flex;align-items:flex-start;justify-content:space-between;gap:4px;padding:8px;border-bottom:1px solid #eef1f4}.sales-manager-column-head b{font-size:10px;font-weight:700;color:#222830;line-height:1.25;word-break:break-word;min-width:0;flex:1 1 auto}.sales-manager-column-head span{font-size:10px;font-weight:700;color:#8a939c;flex:0 0 auto}.sales-manager-column-body{padding:6px;display:flex;flex-direction:column;gap:6px;max-height:520px;overflow-y:auto;min-width:0}.sales-manager-card{text-align:left;width:100%;min-width:0;border:1px solid #e8ecf0;background:#fafbfc;border-radius:8px;padding:8px;cursor:pointer}.sales-manager-card:hover{border-color:#d2b36a;background:#fff}.sales-manager-card strong{display:block;font-size:11px;font-weight:700;color:#1f2937;word-break:break-word}.sales-manager-card em{display:block;margin-top:3px;font-style:normal;font-size:9px;color:#8a939c;word-break:break-word}.sales-manager-card-meta{margin-top:6px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px;font-size:9px;font-weight:700;color:#4b5563}.sales-manager-card-meta span{min-width:0;word-break:break-word}.sales-manager-empty-col{padding:16px 8px;text-align:center;font-size:11px;color:#9aa3ad}.sales-manager-followups-panel{margin-bottom:20px}.sales-manager-followups-panel .sales-manager-panel-head h2{font-size:15px}.sales-manager-followups-panel td{font-size:11px;color:#2a3440}.sales-manager-team-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:start;margin-bottom:8px}.sales-manager-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:12px 12px 8px}.sales-manager-panel-head h2{margin:0;font-size:14px;font-weight:700;color:#222830}.sales-manager-panel-head span{font-size:10px;color:#9aa3ad}.sales-manager-rep-link{border:1px solid #e5e7eb;background:#fff;border-radius:999px;padding:5px 12px;font-size:11px;font-weight:800;color:#111827;cursor:pointer;display:inline-block;line-height:1.2;font-family:inherit}.sales-manager-rep-link:hover{border-color:#d4b36a;background:#fffdf8}.sales-manager-team-panel td.is-overdue{color:#9a7420;font-weight:700}.sales-manager-coaching-panel{min-height:220px}.sales-manager-coaching-list{padding:0 12px 10px}.sales-manager-coaching-item{padding:11px 0;border-top:1px solid #eef1f4}.sales-manager-coaching-item:first-child{border-top:0;padding-top:2px}.sales-manager-coaching-item b{display:block;font-size:13px;font-weight:700;color:#222830}.sales-manager-coaching-item p{margin:3px 0 0;font-size:11px;color:#8a939c;line-height:1.35}.sales-manager-coaching-empty{padding:8px 0 12px;font-size:11px;color:#9aa3ad}.sales-manager-actions-link{display:flex;justify-content:center;padding:6px 0 18px}.sales-manager-actions-link button{border:0;background:transparent;color:#9a7420;font-size:12px;font-weight:700;cursor:pointer}.sales-rep-page{--sales-app: #9a7420}.sales-rep-page .sales-workspace-titlebar h1{font-size:28px;font-weight:800;color:#1f2430}.sales-rep-page .sales-workspace-titlebar p{font-size:9px;color:#8a939c;text-transform:lowercase}.sales-rep-page .sales-dept-btn{border-radius:8px}.sales-rep-kpi-rows{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.sales-rep-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:0}.sales-rep-kpis-bottom{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:0;margin-bottom:0}.sales-rep-kpi{background:#fff;border:1px solid #e6e9ed;border-bottom:2px solid #c5d4ea;border-radius:8px;padding:11px 12px;min-width:0}.sales-rep-kpi small{display:block;font-size:8px;letter-spacing:.07em;text-transform:uppercase;color:#9aa3ad;font-weight:700}.sales-rep-kpi b{display:block;margin-top:5px;font-size:16px;line-height:1.1;color:#222830;font-weight:800}.sales-rep-kpi span{display:block;margin-top:4px;font-size:9px;color:#8a939c}.sales-rep-leads-panel{margin-bottom:10px}.sales-rep-finalized-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:0 12px 12px}.sales-rep-finalized-card{display:block;width:100%;text-align:left;background:#fff;border:1px solid #e6e9ed;border-bottom:2px solid #9a7420;border-radius:8px;padding:11px 12px;min-width:0;cursor:pointer;font:inherit}.sales-rep-finalized-card:hover{background:#fcfaf6}.sales-rep-finalized-card small{display:block;font-size:8px;letter-spacing:.07em;text-transform:uppercase;color:#9a7420;font-weight:700}.sales-rep-finalized-card b{display:block;margin-top:5px;font-size:14px;line-height:1.2;color:#222830;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sales-rep-finalized-card span,.sales-rep-finalized-card em{display:block;margin-top:4px;font-size:11px;font-style:normal;color:#5f6870;font-weight:600}.sales-rep-finalized-empty{margin:0;padding:8px 12px 14px;font-size:12px;color:#8a939c}.sales-rep-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:12px 12px 8px}.sales-rep-panel-head h2{margin:0;font-size:14px;font-weight:700;color:#222830}.sales-rep-panel-head span{font-size:10px;color:#9aa3ad}.sales-rep-show-more,.sales-rep-page .sales-rep-panel-head .sales-rep-show-more{border:0;background:transparent;padding:0;font-size:11px;font-weight:700;color:var(--accent-base, #9a7420);cursor:pointer;text-decoration:none}.sales-rep-show-more:hover,.sales-rep-page .sales-rep-panel-head .sales-rep-show-more:hover{color:#7a5c12;text-decoration:underline}.sales-rep-update-btn{height:26px;padding:0 10px;font-size:10px;border-radius:7px}.sales-rep-mid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:8px;margin-bottom:4px}.sales-rep-meetings-list{padding:0 12px 12px}.sales-rep-meeting-item{padding:10px 0;border-top:1px solid #eef1f4}.sales-rep-meeting-item:first-child{border-top:0;padding-top:2px}.sales-rep-meeting-item b{display:block;font-size:12px;font-weight:700;color:#222830}.sales-rep-meeting-item p{margin:3px 0 0;font-size:10px;color:#8a939c}@media(max-width:980px){.sales-dept-page{padding:12px 10px 40px}.sales-dept-page .sales-dept-actions{margin-left:0;width:100%}.sales-leads-page .sales-leads-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.sales-leads-page .sales-leads-filters{grid-template-columns:1fr}.sales-quotations-page .sales-quotations-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.sales-quotations-page .sales-dept-filters,.sales-meetings-page .sales-meetings-kpis,.sales-meetings-grid,.sales-reports-grid,.sales-meetings-facts{grid-template-columns:1fr}.sales-meetings-drawer-backdrop{padding:0;align-items:stretch}.sales-reports-drawer{width:100%;max-height:none;height:100%;border-radius:12px}.sales-meetings-drawer{width:100%;max-height:100%;height:100%;border-radius:0}.sales-workspace-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.sales-workspace-mid,.sales-manager-filters{grid-template-columns:1fr}.sales-manager-kanban{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.sales-manager-team-grid{grid-template-columns:1fr}.sales-rep-kpis,.sales-rep-kpis-bottom,.sales-rep-finalized-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sales-rep-mid{grid-template-columns:1fr}.sales-leads-modal-head h3{font-size:16px}.sales-leads-modal-grid{grid-template-columns:1fr}}.sales-leads-row-clickable{cursor:pointer}.sales-leads-row-clickable:hover{background:#fbf8f0}.sales-lead360-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:14000;display:flex;align-items:center;justify-content:center;padding:18px;background:#0f14126b}.sales-lead360-modal{width:min(1050px,96vw);max-height:92vh;overflow:auto;background:#fff;border:1px solid var(--line, #e5e7eb);border-radius:16px;box-shadow:0 24px 70px #00000038}.sales-lead360-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:10px;padding:14px 16px;background:#fff;border-bottom:1px solid var(--line, #e5e7eb)}.sales-lead360-head-copy{flex:1;min-width:0}.sales-lead360-head h2{margin:0;font-size:18px;line-height:1.25}.sales-lead360-head p{margin:4px 0 0;font-size:12px;color:var(--muted, #6b7280)}.sales-lead360-status{flex-shrink:0;padding:5px 10px;border-radius:999px;background:var(--gold-soft, #f3ead4);color:#755719;font-size:11px;font-weight:800}.sales-lead360-close{flex-shrink:0;width:32px;height:32px;border:1px solid var(--line, #e5e7eb);border-radius:8px;background:#fff;font-size:18px;line-height:1;cursor:pointer}.sales-lead360-body{padding:14px 16px 18px}.sales-lead360-top{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:12px}.sales-lead360-stat{border:1px solid var(--line, #e5e7eb);border-radius:9px;padding:8px 10px}.sales-lead360-stat small{display:block;font-size:10px;font-weight:800;text-transform:uppercase;color:var(--muted, #6b7280)}.sales-lead360-stat b{display:block;margin-top:4px;font-size:12px;line-height:1.35}.sales-lead360-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:12px}.sales-lead360-card{margin-bottom:10px;overflow:hidden;border:1px solid var(--line, #e5e7eb);border-radius:11px}.sales-lead360-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line, #e5e7eb)}.sales-lead360-card-head b{font-size:13px}.sales-lead360-card-head span{font-size:11px;color:var(--muted, #6b7280)}.sales-lead360-card-body{padding:10px 12px}.sales-lead360-timeline{margin:0;padding:0 0 0 16px;list-style:none}.sales-lead360-event{position:relative;padding:0 0 12px 12px;border-left:1px solid #dfe5e1}.sales-lead360-event:last-child{border-left-color:transparent}.sales-lead360-event:before{content:"";position:absolute;left:-4px;top:3px;width:7px;height:7px;border-radius:50%;background:#b89547}.sales-lead360-event.is-current:before{background:var(--gold, #b89547);box-shadow:0 0 0 3px #b895472e}.sales-lead360-event small{display:block;font-size:10px;font-weight:800;color:var(--muted, #6b7280)}.sales-lead360-event h4{margin:3px 0;font-size:13px}.sales-lead360-event p{margin:0;font-size:12px;line-height:1.5;color:#59635e}.sales-lead360-meeting{margin-bottom:8px;padding:10px;border:1px solid #edf0ee;border-radius:8px;background:#f8f9f8}.sales-lead360-meeting-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.sales-lead360-meeting h4{margin:0;font-size:12px}.sales-lead360-meeting small{font-size:10px;color:var(--muted, #6b7280);white-space:nowrap}.sales-lead360-meeting p{margin:6px 0 0;font-size:12px;line-height:1.5;color:#59635e}.sales-lead360-info{width:100%;border-collapse:collapse}.sales-lead360-info td{padding:8px 4px;border-bottom:1px solid #edf0ee;font-size:12px}.sales-lead360-info td:first-child{width:42%;color:var(--muted, #6b7280)}.sales-lead360-quote-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sales-lead360-quote-grid>div{padding:8px;border-radius:8px;background:#f8f9f8}.sales-lead360-quote-grid small{display:block;font-size:10px;text-transform:uppercase;color:var(--muted, #6b7280)}.sales-lead360-quote-grid b{display:block;margin-top:3px;font-size:12px}.sales-lead360-quote-wide{grid-column:1 / -1}.sales-lead360-notes{font-size:12px;line-height:1.6;white-space:pre-wrap;color:#374151}.sales-lead360-note-block+.sales-lead360-note-block{margin-top:10px;padding-top:10px;border-top:1px solid #edf0ee}.sales-lead360-note-block small{display:block;margin-bottom:6px;font-size:10px;text-transform:uppercase;color:var(--muted, #6b7280)}.sales-lead360-note-block p{margin:0}.sales-lead360-note-list{margin:0;padding:0;list-style:none}.sales-lead360-note-list li+li{margin-top:10px;padding-top:10px;border-top:1px dashed #e5e7eb}.sales-lead360-note-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.sales-lead360-note-meta strong{font-size:12px}.sales-lead360-note-meta span{font-size:10px;color:var(--muted, #6b7280)}.sales-lead360-empty{margin:0;font-size:12px;color:var(--muted, #6b7280)}@media(max-width:950px){.sales-lead360-grid{grid-template-columns:1fr}.sales-lead360-top{grid-template-columns:repeat(3,minmax(0,1fr))}}:root{--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "Roboto Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--fs-2xs: 10px;--fs-xs: 11px;--fs-sm: 12px;--fs-base: 13px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 18px;--fs-2xl: 22px;--fs-page-title: 19px;--fs-section-title: 18px;--fs-stat: 16px;--fs-label: 11px;--fs-caption: 10px;--fs-button: 13px;--fs-input: 13px;--fs-table: 12px;--fs-table-head: 10px;--fs-nav: 13px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-extrabold: 800;--lh-tight: 1.2;--lh-snug: 1.35;--lh-normal: 1.45;--lh-relaxed: 1.55;--ls-tight: -.02em;--ls-normal: 0;--ls-wide: .04em;--ls-caps: .08em}html{font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body,#root,.app,button,input,select,textarea,option,optgroup,table,th,td,label,legend,summary,h1,h2,h3,h4,h5,h6,p,a,li,small,strong,b,em,span{font-family:inherit}button,input,select,textarea{font-size:inherit;line-height:inherit}h1,h2,h3,h4,h5,h6{font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:var(--ls-tight)}.mono,code,pre,kbd,samp{font-family:var(--font-mono)}.eng-exact-app,.fm-exact,#inventory,#inventory .procurement-shell,.material-request-overlay,.material-request-card,.view-material-request-overlay,.view-material-request-card,.module-shell,.admin-sheet,body.shell-field-ops .content{font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-normal)}.eng-exact-app button,.eng-exact-app input,.eng-exact-app select,.eng-exact-app textarea,.fm-exact button,.fm-exact input,.fm-exact select,.fm-exact textarea,.material-request-card button,.material-request-card input,.material-request-card select,.material-request-card textarea,.view-material-request-card button,.view-material-request-card input,.view-material-request-card select,.view-material-request-card textarea,#inventory button,#inventory input,#inventory select,#inventory textarea,body.shell-field-ops button,body.shell-field-ops input,body.shell-field-ops select,body.shell-field-ops textarea{font-family:inherit}:root{--bg: #ffffff;--card: #fff;--line: #cbd5e1;--line-strong: #94a3b8;--hairline: #cbd5e1;--text: #102033;--muted: #64748b;--accent-base: #8c6a24;--accent-glow: color-mix(in srgb, var(--accent-base) 55%, white 45%);--header-bg: var(--accent-base);--header-fg: #fff;--header-muted: rgba(255, 255, 255, .72);--brand: var(--accent-base);--brand-soft: color-mix(in srgb, var(--accent-base) 12%, white 88%);--brand-border: color-mix(in srgb, var(--accent-base) 55%, white 45%);--brand-ink: color-mix(in srgb, var(--accent-base) 78%, black 22%);--green: var(--accent-base);--header-gradient: linear-gradient( 180deg, color-mix(in srgb, var(--accent-base) 45%, white 55%) 0%, color-mix(in srgb, var(--accent-base) 74%, white 26%) 38%, var(--accent-base) 72%, color-mix(in srgb, var(--accent-base) 78%, black 22%) 100% );--surface-muted: #ffffff;--blue: #0ea5e9;--orange: #f59e0b;--red: #ef4444;--soft: #ffffff;--shadow: 0 12px 28px rgba(15, 23, 42, .08);--r: 16px;--bp-tablet: 960px;--bp-mobile: 720px;--bp-sm: 520px;--ok-soft: color-mix(in srgb, var(--accent-base) 12%, white 88%);--ok-border: color-mix(in srgb, var(--accent-base) 55%, white 45%);--ok-ink: color-mix(in srgb, var(--accent-base) 78%, black 22%);--btn-hover-surface: color-mix(in srgb, var(--card) 72%, white 28%);--btn-hover-tinted: color-mix(in srgb, var(--brand-soft) 52%, white 48%);--btn-hover-solid: color-mix(in srgb, var(--brand) 78%, white 22%)}html.theme-dark,body.theme-dark{--bg: #12151a;--card: #1c2129;--line: #2c3440;--text: #f0f3f8;--muted: #a8b4c4;--brand: #c49a45;--brand-soft: #2a2418;--brand-border: #a8822f;--brand-ink: #e8d4a0;--green: #c49a45;--header-bg: #8c6a24;--header-fg: #fff;--header-muted: rgba(255, 255, 255, .72);--header-gradient: linear-gradient( 180deg, #c49a45 0%, #a8822f 38%, #8c6a24 72%, #6a5019 100% );--surface-muted: #12151a;--soft: #181c23;--shadow: 0 12px 28px rgba(0, 0, 0, .4);--ok-soft: #2a2418;--ok-border: #a8822f;--ok-ink: #e8d4a0;--btn-hover-surface: color-mix(in srgb, var(--card) 86%, white 14%);--btn-hover-tinted: color-mix(in srgb, var(--brand-soft) 72%, white 28%);--btn-hover-solid: color-mix(in srgb, var(--brand) 84%, white 16%)}html,body{-webkit-tap-highlight-color:transparent}button,a,[role=button],input,select,textarea,summary,label{-webkit-tap-highlight-color:transparent}button:focus:not(:focus-visible),a:focus:not(:focus-visible),[role=button]:focus:not(:focus-visible){outline:none}body{font-family:var(--font-sans);font-size:var(--fs-base);font-weight:var(--fw-regular);line-height:var(--lh-normal);background:#fff;color:var(--text);min-height:100vh}html.theme-dark body,body.theme-dark{background:linear-gradient(180deg,#10141a,#0b0e13);color:var(--text)}#root{min-height:100vh}.sidebar{width:258px;background:var(--card);border-right:1px solid var(--line);padding:16px;display:flex;flex-direction:column;gap:14px;position:sticky;top:0;height:100vh;box-shadow:var(--shadow);z-index:40}.menu-btn{display:none;width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:var(--card);font-size:18px;color:var(--text);cursor:pointer}.menu-item{border:1px solid var(--line);background:var(--card);color:var(--muted);padding:11px 12px;border-radius:14px;display:flex;align-items:center;gap:10px;cursor:pointer;font-size:13px;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s}.menu-item:hover:not(.active){background:var(--soft);border-color:var(--line)}.dot{width:10px;height:10px;border-radius:999px;background:#cbd5e1;flex-shrink:0}.sitebox{margin-top:auto;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--soft)}.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:10px 12px;box-shadow:var(--shadow);min-width:0;flex-wrap:nowrap}.burger{display:none;width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--text);font-size:18px;cursor:pointer;flex-shrink:0}.top-right{display:flex;gap:8px;flex-wrap:nowrap;justify-content:flex-end;align-items:center;flex:0 0 auto;min-width:0}.pill{padding:7px 11px;border-radius:999px;border:1px solid var(--line);background:var(--soft);color:var(--muted);font-size:12px;white-space:nowrap;flex-shrink:0}.content{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:var(--shadow);flex:1}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:14px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.tab{border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--muted);padding:8px 14px;font-size:13px;cursor:pointer}.tab.active{background:var(--brand-soft);border-color:var(--brand-border);color:var(--text);font-weight:600}.card{border:1px solid var(--line);border-radius:18px;background:var(--card);padding:12px;box-shadow:0 6px 16px #0f172a0a}.red{color:var(--red)}.ok{background:var(--ok-soft);border-color:var(--ok-border);color:var(--ok-ink)}.wait{background:#ffedd5;border-color:#fdba74;color:#9a3412}.action{border:1px solid var(--line);border-radius:999px;background:#fff;padding:8px 12px;font-size:12px;cursor:pointer;color:var(--text);transition:background .15s,border-color .15s}.action:hover:not(:disabled){background:var(--btn-hover-surface);border-color:var(--brand-border)}.action.primary{background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-ink)}.action.primary:hover:not(:disabled){background:var(--btn-hover-tinted);border-color:var(--brand-border)}.action:disabled{opacity:.5;cursor:not-allowed}.empty-state-sub{font-size:12px;color:var(--muted);max-width:320px;line-height:1.5}.skeleton{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;animation:shimmer 1.2s infinite;border-radius:8px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.error-banner{padding:12px 16px;border-radius:14px;background:#fee2e2;border:1px solid #fca5a5;color:#991b1b;font-size:13px;margin-bottom:12px}html.theme-dark .error-banner,body.theme-dark .error-banner{background:#ef444424;border-color:#f8717173;color:#fecaca}.auth-page{flex:1;min-height:0;width:100%;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;display:grid;place-items:center;align-content:safe center;padding:20px;padding-top:max(20px,env(safe-area-inset-top,0px));padding-bottom:max(20px,env(safe-area-inset-bottom,0px));color:var(--text)}.auth-card{width:min(420px,100%);background:var(--card);border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow);color:var(--text)}.auth-logo{width:64px;height:64px;border-radius:16px;object-fit:cover;object-position:center;display:block;margin-bottom:14px}.auth-card h1{font-size:22px;margin-bottom:6px;color:var(--text)}.auth-card p{font-size:13px;color:var(--muted);margin-bottom:20px}.form-field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.form-field label{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.form-input{border:1px solid var(--line);border-radius:12px;background:var(--soft);color:var(--text);padding:10px 11px;font-size:13px;outline:none;width:100%}.form-input::placeholder{color:var(--muted);opacity:.8}.form-input:focus{background:var(--card);border-color:var(--brand-border);box-shadow:0 0 0 3px #16a34a1f}.password-field-wrap{position:relative;width:100%}.password-field-wrap .form-input,.password-field-wrap .entry-input{width:100%;padding-right:44px;box-sizing:border-box}.password-toggle-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);z-index:2;width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center;padding:0}.password-toggle-btn:hover{background:var(--soft);color:var(--text)}.password-toggle-btn:focus-visible{outline:2px solid var(--brand-border);outline-offset:1px}.auth-submit{width:100%;margin-top:8px;padding:11px;min-height:48px;border-radius:12px;background:var(--brand-soft);border:1px solid var(--brand-border);color:var(--brand-ink);font-weight:600;font-size:14px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:rgba(15,23,42,.12);position:relative;z-index:1}.auth-submit:disabled{opacity:.65;cursor:not-allowed}.auth-submit:hover:not(:disabled){background:var(--btn-hover-tinted);border-color:var(--brand-border)}html.theme-dark .auth-submit,body.theme-dark .auth-submit{background:var(--header-bg, #8c6a24);border-color:var(--header-bg, #8c6a24);color:#fff}html.theme-dark .auth-submit:hover:not(:disabled),body.theme-dark .auth-submit:hover:not(:disabled){background:var(--btn-hover-solid);border-color:var(--btn-hover-solid)}.auth-link{font-size:12px;color:var(--muted);margin-top:16px;text-align:center}.auth-link a{color:var(--header-bg, #8c6a24);font-weight:600;text-decoration:none}.auth-link a:hover{text-decoration:underline;color:#a37c2e}html.theme-dark .auth-link a,body.theme-dark .auth-link a{color:#d4b36a}html.theme-dark .auth-link a:hover,body.theme-dark .auth-link a:hover{color:#e8c878}.legal-page{flex:1;min-height:0;width:100%;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;display:flex;justify-content:center;align-items:flex-start;padding:24px 16px 40px;padding-top:max(24px,env(safe-area-inset-top,0px));padding-bottom:max(40px,env(safe-area-inset-bottom,0px));color:var(--text)}.legal-card{width:min(720px,100%);background:var(--card);border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow);color:var(--text)}.legal-header{margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid var(--line)}.legal-brand-row{display:flex;align-items:center;gap:10px;margin-bottom:18px}.legal-brand-name{font-size:15px;font-weight:700;line-height:1.2;color:var(--text)}.legal-brand-tag{font-size:12px;color:var(--muted);margin-top:2px}.legal-title{font-size:22px;font-weight:800;letter-spacing:-.01em;margin-bottom:10px;color:var(--text)}.legal-pill{display:inline-block;padding:7px 11px;border-radius:999px;border:1px solid var(--line);background:var(--soft);color:var(--muted);font-size:12px;margin-bottom:12px}.legal-intro{font-size:13px;color:var(--muted);line-height:1.55;max-width:52ch}.legal-sections{display:grid;gap:10px}.legal-section{border:1px solid var(--line);border-radius:18px;background:var(--card);padding:14px 14px 12px;box-shadow:0 6px 16px #0f172a0a}html.theme-dark .legal-section,body.theme-dark .legal-section{background:var(--soft);box-shadow:none}.legal-section>h2{font-size:14px;font-weight:700;margin-bottom:8px;color:var(--text)}.legal-body{font-size:13px;line-height:1.55;color:var(--text)}.legal-body p{margin-bottom:8px;color:var(--muted)}.legal-body p:last-child{margin-bottom:0}.legal-body h3{font-size:12px;font-weight:700;margin:12px 0 6px;color:var(--text);text-transform:uppercase;letter-spacing:.04em}.legal-body h3:first-child{margin-top:0}.legal-body ul{margin:0 0 10px 1.1rem;padding:0;color:var(--muted)}.legal-body ul:last-child{margin-bottom:0}.legal-body li{margin-bottom:5px}.legal-body li:last-child{margin-bottom:0}.legal-body strong{color:var(--text);font-weight:600}.legal-footer{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.legal-back{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:12px;background:var(--brand-soft);border:1px solid var(--brand-border);color:var(--brand-ink);font-weight:600;font-size:13px;text-decoration:none;transition:background .15s,border-color .15s,color .15s}.legal-back:hover{background:var(--btn-hover-tinted);border-color:var(--brand-border)}html.theme-dark .legal-back,body.theme-dark .legal-back{background:var(--header-bg, #8c6a24);border-color:var(--header-bg, #8c6a24);color:#fff}html.theme-dark .legal-back:hover,body.theme-dark .legal-back:hover{background:var(--btn-hover-solid);border-color:var(--btn-hover-solid)}@media(max-width:520px){.legal-page{padding-left:12px;padding-right:12px}.legal-card{padding:18px 14px;border-radius:20px}.legal-title{font-size:20px}.legal-section{border-radius:14px;padding:12px}}#admin.view,.admin-tab-body{min-height:0}#admin-roles.card{overflow:visible;min-width:0}#admin-roles{padding-bottom:72px}.rbac-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.rbac-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.rbac-toolbar--roles{align-items:center;margin-bottom:18px;padding:16px 18px;border:1px solid #e8eef5;border-radius:16px;background:linear-gradient(165deg,#fff,#f7fafc);box-shadow:0 1px 2px #0f172a0a}.rbac-toolbar-copy{min-width:0;flex:1}.rbac-toolbar-title{margin:0 0 4px;font-size:16px;font-weight:800;letter-spacing:-.01em;color:var(--text)}.rbac-toolbar-sub{margin:0;font-size:12.5px;line-height:1.5;color:var(--muted)}.rbac-role-list{display:flex;flex-direction:column;gap:12px;padding-bottom:24px}.rbac-role-card{border-radius:16px;border-color:#e8eef5;box-shadow:0 1px 3px #0f172a0a}.rbac-role-card.open{box-shadow:0 4px 16px #0f172a0f}.rbac-role-card .rbac-accordion-trigger{padding:16px 18px}.rbac-role-desc--muted{color:#94a3b8;font-style:italic}.rbac-role-tag--custom{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.field-hint{margin:6px 0 0;font-size:11px;line-height:1.4;color:var(--muted)}.rbac-sync-btn{display:inline-flex;align-items:center;gap:8px}.rbac-sync-spinner{width:14px;height:14px;border:2px solid #cbd5e1;border-top-color:var(--brand);border-radius:50%;animation:rbac-spin .7s linear infinite;flex-shrink:0}@keyframes rbac-spin{to{transform:rotate(360deg)}}.rbac-info-details{flex:1;min-width:220px;font-size:12px;color:var(--muted)}.rbac-info-details summary{cursor:pointer;font-weight:600;color:var(--text);list-style:none}.rbac-info-details summary::-webkit-details-marker{display:none}.rbac-info-details[open] summary{margin-bottom:6px}.rbac-info-details p{margin:0;line-height:1.45}.rbac-manager-banner{margin-bottom:12px;padding:10px 12px;background:var(--brand-soft);border:1px solid #bbf7d0;border-radius:10px;font-size:12px;color:var(--brand-ink)}.rbac-manager-banner-inline{margin-bottom:10px}.rbac-create-card{margin-bottom:12px;padding:18px 20px;overflow:visible;border-radius:18px;background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid #e2e8f0;box-shadow:0 1px 3px #0f172a0a}.rbac-create-card .error-banner{margin-bottom:12px}.rbac-create-card .entry-form-grid{gap:14px 16px;margin:0}.rbac-create-card .entry-field{min-width:0}.rbac-create-card .entry-field label{font-size:11px;font-weight:700;letter-spacing:.04em;color:#64748b}.rbac-create-card .entry-input{width:100%;box-sizing:border-box;border:1px solid #e2e8f0;border-radius:12px;background:#fff;padding:11px 12px;font-size:13px}.rbac-create-card .entry-input:focus{border-color:var(--brand-border);background:#fff;box-shadow:0 0 0 3px #86efac38;outline:none}.rbac-create-card .entry-actions{grid-column:1 / -1;margin-top:4px;padding-top:14px;border-top:1px solid #e8eef5;justify-content:flex-end}.rbac-role-actions{display:flex;gap:4px;align-items:center;flex-shrink:0;margin-right:10px}.rbac-role-action{display:inline-grid;place-items:center;width:30px;height:30px;border:1px solid var(--line);border-radius:8px;background:var(--card, #fff);color:var(--muted);padding:0;cursor:pointer;flex-shrink:0}.rbac-role-action:hover{background:var(--soft, #f8fafc);border-color:var(--line);color:var(--text)}.rbac-role-action.is-danger{color:#b91c1c;border-color:#fecaca;background:#fff1f2}.rbac-role-action.is-danger:hover{background:#fee2e2}.rbac-role-action:disabled{opacity:.5;cursor:not-allowed}.rbac-role-edit{padding:14px 16px 16px;border-top:1px solid #e8eef5;background:linear-gradient(180deg,#fff,#f8fbff)}.rbac-role-edit-form{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}.rbac-role-edit-form .entry-field{min-width:0}.rbac-role-edit-form .entry-field label{font-size:11px;font-weight:700;letter-spacing:.04em;color:#64748b}.rbac-role-edit-form .entry-input{width:100%;box-sizing:border-box;border:1px solid #e2e8f0;border-radius:12px;background:#fff;padding:11px 12px;font-size:13px}.rbac-role-edit-form .entry-input:disabled{background:#f1f5f9;color:#64748b;cursor:not-allowed}.rbac-role-edit-form .entry-input:focus{border-color:var(--brand-border);box-shadow:0 0 0 3px #86efac38;outline:none}.rbac-role-edit-form .entry-actions{grid-column:1 / -1;margin-top:0;padding-top:14px;border-top:1px solid #e8eef5;justify-content:flex-end}@media(max-width:560px){.rbac-role-edit-form{grid-template-columns:1fr}}.rbac-accordion{display:flex;flex-direction:column;gap:6px}.rbac-accordion-item{border:1px solid var(--line, #e2e8f0);border-radius:12px;background:var(--card, #fff);overflow:hidden;transition:border-color .15s,background .15s}.rbac-accordion-item:hover{border-color:var(--line-strong, #cbd5e1)}.rbac-accordion-item.open{border-color:var(--brand-border, var(--brand-border));box-shadow:0 2px 8px #16a34a14;overflow:visible}.rbac-accordion-header{display:flex;align-items:stretch;gap:0;background:var(--card, #fff)}.rbac-accordion-item.open .rbac-accordion-header{background:var(--soft, #f8fafc);border-bottom:1px solid var(--line, #e2e8f0)}.rbac-accordion-header .rbac-accordion-trigger{flex:1;width:auto;min-width:0}.rbac-accordion-item.open .rbac-accordion-header .rbac-accordion-trigger{border-bottom:none;background:transparent}.rbac-accordion-trigger{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border:none;background:var(--card, #fff);cursor:pointer;text-align:left}.rbac-accordion-item.open .rbac-accordion-trigger{background:var(--soft, #f8fafc);border-bottom:1px solid var(--line, #e2e8f0)}.rbac-role-main{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:start;min-width:0}.rbac-role-avatar{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--brand-soft, var(--brand-soft));border:1px solid var(--brand-border, var(--brand-border));color:var(--brand-ink, var(--brand-ink));font-size:11px;font-weight:800;letter-spacing:.02em;flex-shrink:0;margin-top:1px}.rbac-role-avatar.is-system{background:var(--soft, #f1f5f9);border-color:var(--line, #e2e8f0);color:var(--muted, #475569)}.rbac-role-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.rbac-role-name{font-weight:800;font-size:13px;color:var(--text);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rbac-role-desc{margin:0;font-size:11px;color:var(--muted);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rbac-role-key{display:inline-flex;align-self:flex-start;max-width:100%;margin-top:1px;font-size:10px;font-weight:700;color:var(--text, #334155);background:var(--soft, #f1f5f9);border:1px solid var(--line, #e2e8f0);border-radius:999px;padding:2px 8px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rbac-role-side{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0;min-width:0}.rbac-chevron{flex-shrink:0;color:var(--muted);transition:transform .2s ease}.rbac-chevron.open{transform:rotate(90deg);color:var(--brand-ink)}.rbac-role-summary{font-size:9px;font-weight:700;color:var(--brand-ink);background:var(--brand-soft);border:1px solid #bbf7d0;border-radius:999px;padding:3px 8px;white-space:nowrap;text-transform:uppercase;letter-spacing:.03em;line-height:1.3}.rbac-role-tag{font-size:9px;font-weight:700;color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:3px 8px;white-space:nowrap;text-transform:uppercase;letter-spacing:.03em;line-height:1.3}.rbac-accordion-body{padding:14px 16px 16px;background:#fbfcfd;border-radius:0 0 16px 16px}@media(max-width:720px){.rbac-accordion-trigger{gap:10px;padding:10px}.rbac-role-side{gap:6px;flex-wrap:nowrap}}.rbac-role-inner{display:flex;flex-direction:column;gap:14px;align-items:stretch;min-height:0}.rbac-module-rail,.rbac-section-rail{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.rbac-module-rail{padding:2px 0 4px}.rbac-section-rail{margin-bottom:4px}.rbac-module-chip,.rbac-section-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;cursor:pointer;text-align:left;font-size:12.5px;font-weight:600;color:#64748b;transition:background .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.rbac-module-chip:hover,.rbac-section-chip:hover{background:#f8fafc;border-color:#cbd5e1;color:#334155}.rbac-module-chip.active,.rbac-section-chip.active{background:#f0fdf4;border-color:var(--brand-border, #86efac);color:#166534;font-weight:700;box-shadow:0 0 0 3px #86efac2e}.rbac-module-chip-label{line-height:1.25}.rbac-module-chip-count{font-size:10px;font-weight:700;color:inherit;background:#0f172a0f;border-radius:999px;padding:2px 7px;line-height:1.2}.rbac-module-chip--more{border-style:dashed;color:#64748b;background:#f8fafc}.rbac-module-chip--more.active{background:#f1f5f9;border-color:#cbd5e1;color:#334155;box-shadow:none}.rbac-module-nav{display:flex;flex-direction:row;flex-wrap:nowrap;gap:6px;position:static;align-self:stretch;max-height:none;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;border-right:none;border-bottom:1px solid #e2e8f0;padding:0 0 10px;scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.35) transparent}.rbac-module-nav::-webkit-scrollbar{height:4px;width:auto}.rbac-module-nav::-webkit-scrollbar-thumb{background:#94a3b859;border-radius:999px}.rbac-module-nav-btn{display:inline-flex;flex-direction:row;align-items:center;gap:6px;flex:0 0 auto;width:auto;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:var(--card);cursor:pointer;text-align:left;font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap}.rbac-module-nav-btn:hover{background:var(--soft);border-color:var(--line);color:var(--text)}.rbac-module-nav-btn.active{background:var(--brand-soft);border-color:var(--brand-border);color:var(--text);font-weight:700}.rbac-module-nav-label{line-height:1.3}.rbac-module-count{font-size:10px;font-weight:700;color:inherit;background:#0f172a0f;border-radius:999px;padding:2px 6px;line-height:1.2}.rbac-module-nav-btn.active .rbac-module-count{background:#16a34a24}.rbac-subtab-nav{margin-bottom:14px;padding-bottom:2px}.rbac-subtab-nav-btn{font-size:12px;padding:8px 12px}.rbac-section-single{margin-top:4px}.rbac-module-content{min-width:0;min-height:0;max-height:none;overflow:visible;padding-right:0;padding-bottom:8px}.rbac-module-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #eef2f6}.rbac-module-head-copy{min-width:0}.rbac-module-title{margin:0;font-size:15px;font-weight:800;letter-spacing:-.01em;color:#0f172a}.rbac-module-hint{margin:4px 0 0;font-size:12px;line-height:1.4;color:#94a3b8}.rbac-panel-stat{font-size:11px;font-weight:700;color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:999px;padding:5px 10px;white-space:nowrap;flex-shrink:0}.rbac-perm-card{border:1px solid #e6ebf1;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 1px 3px #0f172a0d}.rbac-perm-card-head{padding:9px 14px;background:#f8fafc;border-bottom:1px solid #eef2f6;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#94a3b8}.rbac-perm-list{display:flex;flex-direction:column}.rbac-perm-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-top:1px solid #f1f5f9;background:#fff;transition:background .12s ease}.rbac-perm-card-head+.rbac-perm-list .rbac-perm-row:first-child,.rbac-perm-list>.rbac-perm-row:first-child{border-top:none}.rbac-perm-row.is-on{background:#f6fef9}.rbac-perm-row.is-locked{opacity:.55}.rbac-perm-row-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.rbac-perm-row-label{font-size:13px;font-weight:650;color:#1e293b;line-height:1.35}.rbac-perm-row-hint{font-size:11px;color:#94a3b8;line-height:1.3}.rbac-module-enable{display:flex;align-items:center;gap:8px;flex-shrink:0}.rbac-module-enable-label{font-size:11px;font-weight:600;color:var(--muted);white-space:nowrap}.rbac-sections-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;align-items:start}.rbac-section{border:1px solid var(--line);border-radius:10px;padding:10px 11px;background:#fafbfc}.rbac-section-title{font-size:11px;font-weight:700;margin-bottom:6px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.rbac-toggle-list{display:flex;flex-direction:column;gap:2px}.rbac-toggle-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:5px 6px;font-size:12px;border-radius:8px}.rbac-toggle-row.is-on{background:#86efac26}.rbac-toggle-row-locked{opacity:.45}.rbac-toggle-label{flex:1;min-width:0;line-height:1.35}.toggle{width:38px;height:22px;border-radius:999px;border:1px solid var(--line);background:#e2e8f0;cursor:pointer;position:relative;transition:background .15s;flex-shrink:0}.toggle.on{background:var(--brand-border);border-color:var(--brand)}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:999px;background:#fff;transition:transform .15s;box-shadow:0 1px 3px #00000026}.toggle.on:after{transform:translate(16px)}.toggle.saving{opacity:.72}.toggle:disabled{cursor:not-allowed;opacity:.5}.toggle--lg{width:44px;height:24px}.toggle--lg:after{width:18px;height:18px}.toggle--lg.on:after{transform:translate(20px)}.rbac-crew-matrix{display:flex;flex-direction:column;gap:12px}.rbac-crew-sections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}.rbac-crew-section{border:1px solid #e6ebf1;border-radius:14px;background:#fff;overflow:hidden;display:flex;flex-direction:column;min-height:0;box-shadow:0 1px 3px #0f172a0d}.rbac-crew-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 14px;background:#f8fafc;border-bottom:1px solid #eef2f6}.rbac-crew-section:not(.rbac-crew-section--on) .rbac-crew-section-head{border-bottom-color:transparent}.rbac-crew-section-text{min-width:0;flex:1}.rbac-crew-section-title{margin:0;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8;line-height:1.3}.rbac-crew-groups-flat{padding:2px 0 6px;display:flex;flex-direction:column;gap:0;flex:1}.rbac-crew-block{border-top:1px solid #f1f5f9;padding-top:8px;margin-top:6px}.rbac-crew-block:first-child{border-top:none;margin-top:0;padding-top:4px}.rbac-crew-block-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 14px;margin-bottom:2px;min-height:22px}.rbac-crew-block-label{font-size:10px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;line-height:1.3}.rbac-crew-block-items{padding:0}.rbac-crew-block-items .rbac-toggle-row{padding:7px 14px;font-size:12.5px;border-radius:0;gap:8px}.rbac-crew-block-items .rbac-toggle-row.is-on{background:#f6fef9}.rbac-crew-block-items .rbac-toggle-label{font-weight:600;color:#1e293b}.rbac-crew-block-items .toggle{width:32px;height:18px}.rbac-crew-block-items .toggle:after{width:14px;height:14px}.rbac-crew-block-items .toggle.on:after{transform:translate(14px)}.rbac-fm-wrap{max-width:660px}.rbac-fm-wrap.is-locked .rbac-fm-card{opacity:.7}.rbac-fm-note{margin:0 0 12px;padding:9px 12px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:10px;font-size:12px}.rbac-fm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.rbac-fm-col{display:flex;flex-direction:column;gap:12px}.rbac-fm-card{border:1px solid #e6ebf1;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 1px 3px #0f172a0d}.rbac-fm-chead{padding:8px 14px;background:#f8fafc;border-bottom:1px solid #eef2f6;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#94a3b8}.rbac-fm-row{width:100%;display:flex;align-items:center;gap:11px;padding:10px 14px;border:none;border-top:1px solid #f1f5f9;background:#fff;cursor:pointer;text-align:left;transition:background .12s ease}.rbac-fm-chead+.rbac-fm-row{border-top:none}.rbac-fm-row:not(:disabled):hover{background:#f8fafc}.rbac-fm-row.is-on{background:#f6fef9}.rbac-fm-row.is-on:not(:disabled):hover{background:#eefdf3}.rbac-fm-row:disabled{cursor:not-allowed;opacity:.55}.rbac-fm-row-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.rbac-fm-row-label{font-size:13px;font-weight:700;color:#1e293b;line-height:1.25}.rbac-fm-row-desc{font-size:11px;color:#94a3b8;line-height:1.2}.rbac-fm-switch{display:inline-block;flex:none;pointer-events:none}.rbac-fm-row--plain{justify-content:space-between}.rbac-fm-row--plain .rbac-fm-row-label{flex:1;min-width:0}.rbac-proc-sections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:start}.rbac-proc-scroll-matrix .rbac-crew-section{max-height:min(440px,58vh)}.rbac-proc-scroll-matrix .rbac-crew-section .rbac-crew-groups-flat{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.3) transparent}.rbac-proc-scroll-matrix .rbac-crew-section .rbac-crew-groups-flat::-webkit-scrollbar{width:5px}.rbac-proc-scroll-matrix .rbac-crew-section .rbac-crew-groups-flat::-webkit-scrollbar-thumb{background:#94a3b84d;border-radius:999px}.rbac-projects-matrix .rbac-crew-section{max-height:min(440px,58vh)}.rbac-projects-matrix .rbac-crew-section .rbac-crew-groups-flat{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.3) transparent}.rbac-projects-matrix .rbac-crew-section .rbac-crew-groups-flat::-webkit-scrollbar{width:5px}.rbac-projects-matrix .rbac-crew-section .rbac-crew-groups-flat::-webkit-scrollbar-thumb{background:#94a3b84d;border-radius:999px}.rbac-section-dev-badge{display:inline-block;margin-top:4px;padding:2px 7px;border-radius:999px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:10px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}button[data-proc-tab].proc-tab-disabled,button[data-proc-tab]:disabled{opacity:.42;cursor:not-allowed;filter:grayscale(.15)}@media(max-width:1200px){.rbac-crew-sections,.rbac-proc-sections{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:960px){.sidebar{position:fixed;left:0;top:0;bottom:0;transform:translate(-103%);transition:.22s ease;width:258px}.sidebar.open{transform:translate(0)}.burger,.menu-btn{display:grid;place-items:center}.grid-3,.grid-4,.bw-two-col{grid-template-columns:1fr}.rbac-module-nav{margin-bottom:2px}.rbac-module-nav-btn{flex:0 0 auto}.rbac-sections-grid,.rbac-crew-sections,.rbac-proc-sections{grid-template-columns:1fr}}@media(max-width:720px){.main{padding:10px}.content{padding:12px;border-radius:18px}.grid-3,.grid-4{grid-template-columns:1fr 1fr}}@media(max-width:520px){.grid-3,.grid-4{grid-template-columns:1fr}.title span{display:none}}.project-selector-wrap.active{border-color:var(--brand-border);background:var(--brand-soft)}.time-date-picker-wrap{position:relative;display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.time-date-picker-wrap.active .time-date-picker-btn{border-color:#93c5fd;background:var(--brand-soft)}.time-date-picker-nav{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--text);font-size:16px;font-weight:700;line-height:1;cursor:pointer;flex-shrink:0;transition:border-color .15s,background .15s,color .15s}.time-date-picker-nav:hover:not(:disabled){border-color:#93c5fd;background:var(--brand-soft);color:var(--brand)}.time-date-picker-nav:disabled{opacity:.35;cursor:not-allowed}.time-date-picker-btn{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:6px 12px;background:#f8fbff;cursor:pointer;font-size:12px;color:var(--text);transition:border-color .15s,background .15s;min-width:168px;justify-content:center;box-sizing:border-box}.time-date-picker-btn:hover{border-color:#93c5fd;background:var(--brand-soft)}.time-date-picker-icon{font-size:13px;flex-shrink:0;line-height:1}.time-date-picker-label{font-weight:600;white-space:nowrap;min-width:9.6rem;text-align:left}.time-date-picker-panel{display:none;position:absolute;top:calc(100% + 8px);right:0;width:272px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px #0f172a1f;z-index:80;overflow:hidden}.time-date-picker-panel.open{display:block}.time-date-picker-panel--floating{position:fixed;z-index:320;display:block}.fm-attendance-date-picker{flex-shrink:0}.fm-exact-panel-head .fm-attendance-date-picker .time-date-picker-wrap{margin-right:4px}.time-cal-embedded{padding:10px}.notif-btn{position:relative;width:38px;height:38px;border:1px solid var(--line);border-radius:12px;background:var(--card);font-size:16px;cursor:pointer;display:grid;place-items:center;flex-shrink:0;color:var(--text);transition:background-color .18s ease,border-color .18s ease,transform .18s ease}.notif-btn:hover,.notif-btn:focus-visible{background:color-mix(in srgb,var(--brand, #8b6f2c) 10%,var(--card));border-color:color-mix(in srgb,var(--brand, #8b6f2c) 42%,var(--line));transform:translateY(-1px)}.notif-badge{position:absolute;top:-4px;right:-4px;background:var(--red);color:#fff;border-radius:999px;font-size:9px;font-weight:700;min-width:16px;height:16px;display:grid;place-items:center;border:2px solid var(--card);padding:0 2px}.notif-panel{display:none;position:fixed;top:54px;right:0;bottom:0;width:320px;background:var(--card);border:1px solid var(--line);border-right:none;border-radius:0;box-shadow:0 16px 40px #0f172a24;z-index:10000;overflow:hidden;color:var(--text);flex-direction:column}.notif-header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--soft);flex-shrink:0}.notif-clear-btn{border:0;background:transparent;color:var(--muted, #64748b);font-size:11px;font-weight:600;cursor:pointer;padding:0;white-space:nowrap;line-height:1.2}.notif-item{display:flex;gap:10px;align-items:flex-start;padding:11px 16px;border-bottom:1px solid var(--hairline, #f1f5f9);cursor:pointer;transition:background .12s}.notif-item:hover{background:var(--soft, #f8fbff)}.notif-time{font-size:11px;color:#94a3b8;margin-top:2px}.profile-menu-wrap{position:relative;flex-shrink:0}.profile-btn{position:relative;width:38px;height:38px;border:none;border-radius:50%;background:transparent;cursor:pointer;display:grid;place-items:center;flex-shrink:0;padding:0;box-shadow:none;transition:transform .15s}.profile-btn:hover,.profile-btn[aria-expanded=true]{border:none;box-shadow:none;transform:translateY(-1px)}.profile-avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--brand));color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;letter-spacing:.02em;overflow:hidden;flex-shrink:0}.profile-avatar-lg{width:40px;height:40px;border-radius:12px;font-size:14px;flex-shrink:0}.profile-panel{display:none;position:absolute;top:calc(100% + 10px);right:0;width:min(320px,calc(100vw - 24px));background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:0 16px 40px #0f172a24;z-index:400;overflow:hidden}.profile-panel.open{display:block}.profile-header{display:flex;gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line);background:var(--soft)}.profile-meta{min-width:0}.profile-name{font-size:14px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-email{font-size:12px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-empid{font-size:12px;color:var(--muted);margin-top:2px;font-weight:600;letter-spacing:.02em}.profile-tenant,.profile-role{font-size:11px;color:var(--brand-ink);margin-top:4px;font-weight:600}.profile-actions{padding:8px;display:grid;gap:8px}.profile-modal-overlay{z-index:10100}body.mobile-tab-shell .profile-modal-overlay,body.native-app .profile-modal-overlay{inset:var(--app-modal-top) 0 0 0;align-items:start;padding-top:16px}.profile-modal-dialog{width:min(420px,calc(100vw - 32px))}.profile-modal-body{display:flex;flex-direction:column;gap:16px}.profile-modal-identity{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.profile-modal-actions{padding:0}.profile-theme-btn{width:100%;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--text);font-size:13px;font-weight:600;padding:10px 12px;cursor:pointer;transition:background .15s,border-color .15s}.profile-theme-btn:hover{background:var(--soft);border-color:#c8d8e8}.profile-theme-icon{display:grid;place-items:center;color:var(--muted)}.profile-logout-btn{width:100%;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:#b91c1c;font-size:13px;font-weight:600;padding:10px 12px;cursor:pointer;transition:background .15s,border-color .15s}.profile-logout-btn:hover{background:#fef2f2;border-color:#fca5a5}.profile-logout-icon{display:grid;place-items:center;color:#dc2626}.gsr-item{display:flex;align-items:center;gap:10px;padding:10px 16px;cursor:pointer;transition:background .1s;border:none;background:none;width:100%;text-align:left}.roster-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.roster-summary-card{border:1px solid var(--line);border-radius:14px;background:#fff;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.roster-summary-val{font-size:16px;font-weight:800;color:var(--text);line-height:1.1}.roster-summary-val.green,.roster-summary-val.blue{color:var(--brand)}.roster-summary-label{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.roster-panel{padding:16px}.roster-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px}.roster-filter-select{min-width:130px}.roster-view-toggle{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:#f8fbff}.roster-view-btn{border:none;background:transparent;padding:8px 14px;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;transition:background .12s,color .12s}.roster-view-btn.active{background:var(--card);color:var(--text);box-shadow:inset 0 0 0 1px var(--line)}.member-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.member-tiles-nested{padding:12px}.member-tile{border:1px solid var(--line);border-radius:14px;background:#fff;padding:14px;display:flex;flex-direction:column;gap:8px;box-shadow:0 2px 8px #0f172a0a;transition:box-shadow .15s,border-color .15s}.member-tile:hover{box-shadow:0 6px 16px #0f172a14}.member-tile-onsite{border-color:var(--brand-border);background:linear-gradient(180deg,#fafffe,#fff)}.member-tile-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.member-tile-avatar{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:18px;flex-shrink:0}.member-tile-name{font-size:13px;font-weight:700;color:var(--text);line-height:1.25}.member-tile-meta{display:flex;flex-wrap:wrap;gap:6px}.member-tile-pill{font-size:11px;font-weight:600;color:var(--muted);background:#f8fbff;border:1px solid var(--line);border-radius:999px;padding:3px 9px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-tile-site{flex:1;min-width:0}.member-tile-hours{font-size:14px;font-weight:800;color:var(--text);margin-top:2px;padding-top:10px;border-top:1px solid #f1f5f9;font-variant-numeric:tabular-nums}.roster-hours-onsite{color:var(--brand)}.roster-site-list{display:flex;flex-direction:column;gap:14px}.roster-site-block{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fafcff}.roster-site-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;background:#f8fbff;border-bottom:1px solid var(--line);flex-wrap:wrap}.roster-site-title{font-size:15px;font-weight:700;color:var(--text)}.roster-site-sub{font-size:12px;color:var(--muted);margin-top:2px}.roster-site-stats{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.roster-stat-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:12px}.roster-stat-label{color:var(--muted);font-weight:500}.roster-stat-pill strong{font-weight:700;color:var(--text)}.roster-site-empty{padding:16px;font-size:13px;color:var(--muted);text-align:center}@media(max-width:900px){.roster-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.roster-summary{grid-template-columns:1fr 1fr}.roster-toolbar .action.primary{width:100%}}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);z-index:1;display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;font-size:13px;line-height:0;color:var(--muted, #94a3b8);pointer-events:none}.members-search-wrap .members-search,.fm-worker-search-wrap .fm-worker-search,.crew-directory__search input[type=search],.eng-crew-requests-search .members-search,.project-allocation-search-wrap .members-search,.assign-list-toolbar .members-search{-webkit-appearance:none;-moz-appearance:none;appearance:none}.members-search-wrap .members-search::-webkit-search-decoration,.members-search-wrap .members-search::-webkit-search-results-button,.members-search-wrap .members-search::-webkit-search-results-decoration,.fm-worker-search-wrap .fm-worker-search::-webkit-search-decoration,.fm-worker-search-wrap .fm-worker-search::-webkit-search-results-button,.fm-worker-search-wrap .fm-worker-search::-webkit-search-results-decoration,.crew-directory__search input[type=search]::-webkit-search-decoration,.crew-directory__search input[type=search]::-webkit-search-results-button,.crew-directory__search input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:none}.att-overtime{background:#ede9fe;border-color:#c4b5fd;color:#5b21b6}.att-short,.att-late{background:#ffedd5;border-color:#fdba74;color:#9a3412}.att-pending{background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-ink)}.row-present{background:#fafffe}.row-overtime{background:#faf5ff}.row-overtime .tracker-acc-head{background:#f5f3ff}.row-short{background:#fffdf8}.row-short .tracker-acc-head{background:#fff7ed}.tracker-acc-empty{font-size:12px;color:var(--muted);padding:8px 4px;text-align:center}.tracker-acc-list{display:flex;flex-direction:column;gap:8px}.tracker-acc{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}.tracker-acc.open{border-color:var(--brand-border);box-shadow:0 2px 8px #16a34a0f}.tracker-acc-head{width:100%;display:flex;align-items:center;gap:10px;padding:12px 14px;border:none;background:#f8fbff;cursor:pointer;text-align:left;transition:background .12s}.tracker-acc-head:hover{background:var(--brand-soft)}.tracker-acc.open .tracker-acc-head{background:var(--brand-soft);border-bottom:1px solid var(--line)}.tracker-acc-chevron{width:14px;height:14px;flex-shrink:0;display:inline-block;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(-45deg);margin-top:-2px;transition:transform .15s ease}.tracker-acc-chevron.open{transform:rotate(45deg);margin-top:2px}.tracker-acc-avatar{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-size:16px;flex-shrink:0}.tracker-acc-main{flex:1;min-width:0}.tracker-acc-name{display:block;font-size:14px;font-weight:700;color:var(--text)}.tracker-acc-meta{display:block;font-size:12px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tracker-acc-hours{font-size:13px;font-weight:700;color:var(--text);min-width:44px;text-align:right}.tracker-acc-body{padding:10px 14px 12px;display:flex;flex-direction:column;gap:10px}.tracker-site-block{border:1px solid #e2e8f0;border-radius:12px;padding:10px 12px;background:#fafcff}.tracker-site-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;flex-wrap:wrap}.tracker-site-name{font-size:13px;font-weight:700;color:var(--text)}.tracker-site-trade{font-size:11px;color:var(--muted);margin-top:2px}.tracker-site-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.tracker-site-cell{display:flex;flex-direction:column;gap:3px}.tracker-site-label{font-size:10px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.03em}.tracker-site-val{font-size:13px;font-weight:600;color:var(--text)}.crew-improvement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.crew-improve-card{border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#f8fbff,#fff);padding:14px 16px;box-shadow:0 2px 8px #0f172a0a}.crew-improve-title{font-size:13px;font-weight:700;color:var(--text);margin-bottom:6px}.crew-improve-sub{font-size:12px;line-height:1.45;color:var(--muted)}.crew-clock-info-banner{margin:-16px -16px 14px;padding:12px 16px;background:var(--brand-soft);border-bottom:1px solid var(--ok-soft);color:var(--brand-ink);font-size:12px;line-height:1.5}@media(max-width:900px){.crew-improvement-grid{grid-template-columns:1fr}}.entry-input--locked,.entry-input--locked:focus{cursor:default;pointer-events:none;-webkit-user-select:none;user-select:none;caret-color:transparent;background:#f1f5f9;box-shadow:none;border-color:var(--line);outline:none}.entry-full{grid-column:1 / -1}.entry-mini .m-val{font-size:16px;font-weight:800;margin-top:3px}.time-chip-edit-pending{background:#fef3c7;border-color:#fcd34d;color:#92400e}.time-status-stack{display:flex;flex-wrap:wrap;gap:4px}.time-correction-cell{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.time-correction-old{color:#94a3b8;text-decoration:line-through}.time-correction-arrow{color:#64748b;font-size:11px}.time-correction-new{color:inherit;font-weight:600}.time-review-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px;width:100%}.time-review-actions-row{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:8px}.time-correction-reason{font-size:11px;color:#64748b;max-width:100%;line-height:1.35;text-align:right}.time-entry-chips{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding-bottom:2px}.time-entry-chips .proc-chip{flex-shrink:0;white-space:nowrap}.app-tile-head .eng-req-status{justify-self:end;flex-shrink:0}.time-cal-card{padding:10px}.time-cal-compact-head{display:flex;align-items:center;gap:6px;margin-bottom:8px}.time-cal-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--text);font-size:14px;font-weight:700;line-height:1;cursor:pointer;flex-shrink:0}.time-cal-nav-btn:hover:not(:disabled){border-color:#93c5fd;background:var(--brand-soft);color:var(--brand)}.time-cal-nav-btn:disabled{opacity:.35;cursor:not-allowed}.time-cal-head-month,.time-cal-head-year{border:1px solid var(--line);border-radius:6px;background:#fff;font-size:13px;color:var(--text);cursor:pointer;padding:6px 10px;transition:border-color .15s,color .15s,background .15s}.time-cal-head-month{flex:1;text-align:left;font-weight:500}.time-cal-head-year{min-width:72px;font-weight:600;color:var(--brand)}.time-cal-head-month.active,.time-cal-head-year.active{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 0 0 1px var(--brand)}.time-cal-month-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px 0 2px}.time-cal-month-cell{border:none;background:transparent;border-radius:6px;font-size:13px;padding:10px 4px;cursor:pointer;color:var(--text);transition:background .12s,color .12s}.time-cal-month-cell:hover:not(:disabled){background:#f1f5f9}.time-cal-month-cell.selected{background:var(--brand);color:#fff;font-weight:600}.time-cal-month-cell.disabled{color:#cbd5e1;cursor:not-allowed}.time-cal-year-scroll{max-height:200px;overflow-y:auto;padding:2px 0}.time-cal-year-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.time-cal-year-cell{border:none;background:transparent;border-radius:6px;font-size:13px;padding:10px 4px;cursor:pointer;color:var(--text)}.time-cal-year-cell:hover:not(:disabled){background:#f1f5f9}.time-cal-year-cell.selected{background:var(--brand);color:#fff;font-weight:600}.time-cal-year-cell.disabled{color:#cbd5e1;cursor:not-allowed}.time-cal-days-head{display:grid;grid-template-columns:repeat(7,1fr);gap:0;margin-bottom:4px}.time-cal-days-wd{text-align:center;font-size:11px;font-weight:600;color:#94a3b8;padding:4px 0;letter-spacing:.02em}.time-cal-days-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.time-cal-day-cell{border:none;background:transparent;border-radius:4px;font-size:12px;padding:6px 0;cursor:pointer;color:#334155;line-height:1.2;min-height:28px}.time-cal-day-cell.empty{cursor:default}.time-cal-day-cell:hover:not(:disabled):not(.empty){background:#f1f5f9}.time-cal-day-cell.selected{background:var(--brand);color:#fff;font-weight:700}.time-cal-day-cell.today:not(.selected){color:var(--brand);font-weight:700}.time-cal-day-cell.has-open:not(.selected){box-shadow:inset 0 -2px #f59e0b}.time-cal-day-cell.disabled{color:#e2e8f0;cursor:not-allowed}.project-meta-open .project-meta-val{font-size:13px}button.mem-group-card{width:100%;text-align:left;font:inherit;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;-webkit-tap-highlight-color:transparent;background:var(--card, #fff);color:inherit}button.mem-group-card:focus,button.mem-group-card:focus-visible,button.mem-group-card:active{outline:none;background:var(--card, #fff);box-shadow:0 4px 12px #0f172a0d;transform:none}.mem-grid{gap:8px}.mem-group-card{padding:10px 12px;gap:0;border-radius:14px;border:1px solid var(--line);background:#fff}.mem-gc-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:100%;min-width:0}.mem-gc-left{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.mem-gc-right{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:10px;align-self:stretch}.mem-gc-name{font-size:13px;font-weight:800;line-height:1.25;color:var(--accent-base, var(--brand, #18765f));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mem-gc-loc{font-size:11px;line-height:1.3;margin:0;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mem-gc-meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;min-width:0}.mem-gc-count{font-size:12px;line-height:1.3;color:var(--text);white-space:nowrap}.mem-gc-count strong{font-size:14px;font-weight:800;margin-right:2px}.mem-gc-trades{display:flex;flex-wrap:wrap;gap:4px;min-width:0}.mem-gc-pill{font-size:10px;padding:1px 7px;background:var(--soft, #f1f5f9);border:1px solid var(--line);border-radius:999px;color:var(--muted);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mem-gc-badge{font-size:10px;font-weight:700;padding:3px 8px;border-radius:999px;border:1px solid transparent;white-space:nowrap}.mem-gc-cta{margin-top:auto;font-size:11px;font-weight:700;color:var(--brand);white-space:nowrap}.mem-group-card--expanded{gap:8px;cursor:default}.mem-group-card--expanded .mem-gc-main{padding-bottom:8px;border-bottom:1px solid var(--line)}.mem-gc-empty{margin:0;padding:6px 0 2px;font-size:12px;color:var(--muted)}.mem-gc-workers{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.mem-gc-worker{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:6px 8px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}.mem-gc-worker-main{min-width:0;flex:1 1 auto}.mem-gc-worker-name-line{display:flex;align-items:center;gap:6px;min-width:0}.mem-gc-worker-name{font-size:13px;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mem-gc-worker-meta{margin-top:1px;font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mem-gc-worker-aside{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0}.mem-gc-worker-hours{font-size:11px;font-weight:600;color:var(--muted);white-space:nowrap}.mem-gc-top{margin-bottom:0}.site-worker-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:12px 14px}.site-worker-grid--compact{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px;padding:8px 12px 12px}.site-worker-grid--allocation{display:grid;grid-template-columns:repeat(auto-fill,minmax(272px,1fr));gap:14px;padding:16px 18px 20px}.project-worker-card{--swc-accent: var(--brand);--swc-accent-bg: var(--brand-soft);position:relative;display:flex;flex-direction:column;min-height:0;padding:0;border:1px solid #e2e8f0;border-radius:14px;background:#fff;box-shadow:0 2px 10px #0f172a0d;overflow:hidden;transition:border-color .15s,box-shadow .15s,transform .15s}.project-worker-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--swc-accent)}.project-worker-card:hover{border-color:#cbd5e1;box-shadow:0 8px 24px #0f172a17;transform:translateY(-1px)}.project-worker-card__body{padding:16px 14px 12px}.project-worker-card__top{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:10px}.project-worker-card__top-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}.project-worker-card__avatar{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;font-size:19px;flex-shrink:0;background:var(--swc-accent-bg);color:var(--swc-accent);box-shadow:inset 0 0 0 1px #0f172a0f}.project-worker-card__identity{min-width:0;display:flex;flex-direction:column;gap:5px;padding-top:1px}.project-worker-card__name-row{display:flex;align-items:center;gap:4px;min-width:0}.project-worker-card__name{margin:0;font-size:14px;font-weight:700;line-height:1.25;color:#0f172a;word-break:break-word;min-width:0}.project-worker-card__trade{display:inline-flex;align-self:flex-start;font-size:10px;font-weight:600;line-height:1.2;color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:3px 8px}.project-worker-card__status{font-size:10px!important;padding:3px 8px!important;flex-shrink:0;white-space:nowrap}.project-worker-card__bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding:10px 12px;border-top:1px solid #eef2f7;background:#f8fafc}.project-worker-card__bar--warn{background:#fffbfb;border-top-color:#fee2e2}.project-worker-card__stat{display:flex;align-items:baseline;gap:5px;min-width:0}.project-worker-card__stat-val{font-size:16px;font-weight:800;line-height:1;color:#0f172a;letter-spacing:-.02em}.project-worker-card__stat-val--warn{color:#dc2626}.project-worker-card__stat-label{font-size:11px;font-weight:500;color:#94a3b8;white-space:nowrap}.project-worker-card__remove{flex-shrink:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1px solid #fecaca;border-radius:8px;background:#fff;color:#b91c1c;font-size:11px;font-weight:600;line-height:1.2;padding:7px 11px;white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}.project-worker-card__remove:hover:not(:disabled){background:#fef2f2;border-color:#fca5a5;color:#991b1b}.project-worker-card__remove:disabled{opacity:.55;cursor:not-allowed}.project-allocation-pane .wc--compact{padding:6px 7px;gap:3px;border-radius:8px}.project-allocation-pane .wc--compact .wc-name{font-size:10px}.project-allocation-pane .wc--compact .wc-trade{font-size:8px;padding:1px 5px}.project-allocation-pane .wc--compact .wc-hours{font-size:8px}.project-allocation-pane .wc--compact .wc-footer{padding-top:3px;gap:2px}.project-allocation-pane .wc--compact .wc-return-btn{font-size:8px;padding:1px 5px}.project-allocation-pane .att-status--sm{font-size:7px!important;padding:1px 4px!important}.project-allocation-toolbar{padding:0 12px;margin-bottom:8px!important}.project-allocation-search-wrap{flex:0 1 auto;width:min(260px,100%);max-width:260px;min-width:140px}.project-allocation-search-wrap .members-search{padding:6px 10px 6px 36px;font-size:12px}.eng-crew-requests-panel{padding:16px 18px 18px;border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:0 1px 2px #0f172a0a;color:var(--text)}.eng-crew-requests-toolbar{display:flex;align-items:stretch;gap:10px;margin-bottom:12px;flex-wrap:nowrap}.eng-crew-req-tabs-scroll-wrap{flex:1 1 0;min-width:0;width:50%;max-width:50%;display:flex}.eng-crew-req-tabs{display:flex;align-items:center;flex-wrap:nowrap;gap:4px;margin:0;flex:1 1 auto;width:100%;max-width:100%;min-width:0;height:42px;padding:0;box-sizing:border-box;border:none;border-radius:0;background:transparent;box-shadow:none}.eng-crew-req-tabs .mem-subtab,.eng-crew-req-tabs .mem-subtab.mem-subtab-with-icon{display:inline-flex!important;flex:1 1 0;align-items:center;justify-content:center;gap:6px;min-width:0;height:42px;margin:0;padding:0 12px;border:none;border-radius:12px;background:transparent;color:var(--muted);font-size:12px;font-weight:700;line-height:1;box-shadow:none;white-space:nowrap}.eng-crew-req-tabs .mem-subtab .app-icon,.eng-crew-req-tabs .mem-subtab svg{display:block;flex-shrink:0}.eng-crew-req-tabs .mem-subtab:hover{color:var(--text);background:var(--soft, #f8fafc)}.eng-crew-req-tabs .mem-subtab:not(.active){border:1px solid var(--line, #e2e8f0);background:#fff}.eng-crew-req-tabs .mem-subtab.active{background:var(--brand, #18765f);color:#fff;border:none;outline:none;box-shadow:none}.eng-crew-req-tabs .mem-subtab.active span,.eng-crew-req-tabs .mem-subtab.active .app-icon,.eng-crew-req-tabs .mem-subtab.active svg{color:#fff}.eng-crew-req-tabs .mem-subtab .project-allocation-subtab-count{display:inline-flex;align-items:center;justify-content:center;margin-left:0;min-width:18px;height:18px;padding:0 6px;line-height:1;background:var(--line);color:var(--muted);border:none;font-size:10px;font-weight:750}.eng-crew-req-tabs .mem-subtab.active .project-allocation-subtab-count{background:#ffffff38;color:#fff}.eng-crew-req-tabs .mem-subtab .project-allocation-subtab-count--warn{background:var(--brand-soft);color:var(--brand-ink);border:1px solid var(--brand-border)}.eng-crew-req-tabs .mem-subtab.active .project-allocation-subtab-count--warn{background:#ffffff38;color:#fff;border-color:transparent}.eng-crew-requests-search{display:inline-flex;align-items:center;gap:8px;flex:1 1 0;width:50%;max-width:50%;min-width:0;height:42px;margin:0;padding:0 12px;box-sizing:border-box;border:1px solid var(--line, #e2e8f0);border-radius:12px;background:#f8fbff;color:var(--muted, #64748b)}.eng-crew-requests-search .app-icon,.eng-crew-requests-search svg{display:block;flex-shrink:0}.eng-crew-requests-search input{flex:1;min-width:0;height:100%;border:0;background:transparent;outline:none;font-size:12px;font-weight:600;line-height:1;color:var(--text, #102033)}.eng-crew-requests-search:focus-within{border-color:var(--brand-border);background:#fff;box-shadow:none}.eng-crew-requests-search input::placeholder{color:var(--muted, #94a3b8);font-weight:500}@media(max-width:720px){.eng-crew-requests-toolbar{flex-wrap:wrap;align-items:stretch}.eng-crew-req-tabs-scroll-wrap,.eng-crew-req-tabs,.eng-crew-requests-search{flex:1 1 100%;width:100%;max-width:100%}}.eng-crew-requests-panel .eng-req-card-list{margin:0}.eng-req-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}.eng-req-card{display:flex;flex-direction:column;gap:10px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.eng-req-card:hover{border-color:#cbd5e1}.eng-req-card.is-settled{background:#f8fafc}.eng-req-card__top{display:flex;align-items:flex-start;gap:10px;min-width:0}.eng-req-card__icon{display:inline-grid;place-items:center;flex-shrink:0;margin-top:1px}.eng-req-card__copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.eng-req-card__title-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.eng-req-card__title{margin:0;font-size:13px;font-weight:750;color:#102033;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eng-req-card__status{flex-shrink:0;font-size:9px;font-weight:750;padding:2px 7px;border-radius:999px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.eng-req-card__project{margin:0;font-size:12px;font-weight:650;color:#334155;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eng-req-card__meta,.eng-req-card__notes{margin:0;font-size:11px;line-height:1.35;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eng-req-card__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.eng-req-card__actions:has(>:only-child){grid-template-columns:1fr}.eng-req-card__btn{height:30px;width:100%;padding:0 10px;border-radius:8px;font-size:11px;font-weight:700;cursor:pointer;border:1px solid transparent}.eng-req-card__btn:disabled{opacity:.55;cursor:not-allowed}.eng-req-card__btn--ghost{background:#fff;border-color:#e2e8f0;color:#475569}.eng-req-card__btn--ghost:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.eng-req-card__btn--primary{background:var(--brand, var(--accent-base, #18765f));border-color:var(--brand, var(--accent-base, #18765f));color:#fff}.eng-req-card__btn--primary:hover:not(:disabled){filter:brightness(.96);color:#fff}@media(max-width:720px){.eng-req-card-grid{grid-template-columns:1fr}}.eng-crew-requests-panel .empty-state-title{color:var(--text)}.eng-crew-requests-panel .empty-state-sub{color:var(--muted)}.wc{border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px;display:flex;flex-direction:column;gap:7px;transition:box-shadow .15s;box-shadow:0 2px 6px #0f172a0a}.wc--compact{padding:8px 9px;gap:4px;border-radius:10px}.wc--site{padding:0;gap:0;overflow:hidden}.wc-site-main{display:flex;align-items:flex-start;gap:12px;padding:14px}.wc-site-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.wc-site-name-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.wc-site-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.wc-loan-chip{display:inline-flex;align-items:center;font-size:10px;font-weight:600;color:#0369a1;background:#e0f2fe;border:1px solid #bae6fd;border-radius:999px;padding:3px 8px}.wc-site-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-top:1px solid #eef2f7}.wc-remove-btn{font-size:11px;font-weight:600;color:#b91c1c;background:#fff;border:1px solid #fecaca;border-radius:999px;padding:5px 10px;cursor:pointer;white-space:nowrap}.wc-remove-btn:hover:not(:disabled){background:#fef2f2;border-color:#fca5a5}.wc-remove-btn:disabled{opacity:.55;cursor:not-allowed}.att-status--card{font-size:10px;padding:3px 8px}.wc-hours--warn strong{color:var(--red)}.wc--compact .wc-avatar{width:24px;height:24px;border-radius:7px;font-size:12px}.wc--compact .wc-name{font-size:11px;line-height:1.2}.wc--compact .wc-trade{font-size:9px;padding:1px 6px}.wc-loan{font-size:9px;color:#0369a1;font-weight:600}.project-block-foreman{font-size:12px;color:#0369a1;font-weight:600;margin-top:4px}.wc-foreman-badge{font-size:9px;font-weight:700;color:#0369a1;background:#e0f2fe;border:1px solid #7dd3fc;border-radius:999px;padding:2px 7px}.wc-footer{border-top:1px solid #f1f5f9;padding-top:7px;margin-top:2px;display:flex;flex-direction:column;gap:4px;align-items:flex-start}.wc--compact .wc-footer{padding-top:4px;margin-top:0;border-top:none}.wc--compact .wc-hours{font-size:9px}.wc-return-btn{font-size:9px;font-weight:600;color:#0369a1;background:#e0f2fe;border:1px solid #bae6fd;border-radius:999px;padding:2px 7px;cursor:pointer}.wc-return-btn:hover{background:#bae6fd}.att-status--sm{font-size:8px!important;padding:2px 5px!important}.project-block-add-btn{padding:6px 12px!important;font-size:12px!important;white-space:nowrap}.project-manpower-requests{padding:10px 14px 0;display:flex;flex-direction:column;gap:10px}.project-manpower-requests--pane{padding:0 12px 12px}.project-manpower-request{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--text)}.project-manpower-request--settled{background:var(--soft);border-color:var(--line)}.project-manpower-request-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.project-manpower-request-title--with-icon{display:inline-flex;align-items:center;gap:8px}.project-manpower-request-title{font-size:13px;font-weight:700;color:var(--text);line-height:1.35}.project-manpower-request--settled .project-manpower-request-title{color:var(--text)}.project-manpower-request-meta{font-size:12px;color:var(--muted);margin-top:4px;font-weight:500;line-height:1.4}.project-manpower-request--settled .project-manpower-request-meta{color:var(--muted)}.project-manpower-request-meta strong{color:var(--text);font-weight:650}.project-manpower-request-notes{font-size:12px;color:var(--muted);margin-top:6px;font-weight:500;line-height:1.45}.project-manpower-request-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:flex-end}.project-manpower-request-actions .action{padding:6px 12px;font-size:12px}.project-manpower-request-body{flex:1;min-width:0}.project-req-status{font-size:10px;font-weight:700;padding:3px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}.project-req-pending{background:var(--brand-soft);color:var(--brand-ink);border:1px solid var(--brand-border)}.project-req-approved{background:var(--ok-soft);color:var(--brand-ink);border:1px solid var(--brand-border)}.project-req-rejected{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}.project-allocation-shell{display:flex;flex-direction:column;gap:12px}.project-allocation-site-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:4px;border-bottom:1px solid var(--line)}.project-allocation-site-tab{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px 10px 0 0;background:#f8fafc;color:var(--muted);padding:10px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;border-bottom:none;margin-bottom:-1px}.project-allocation-site-tab:hover{background:#fff;color:var(--text)}.project-allocation-site-tab.active{background:#fff;color:var(--text);border-color:var(--line);box-shadow:0 -2px 0 var(--brand) inset}.project-allocation-site-tab-name{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-allocation-site-tab-badge{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--brand);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center}.project-allocation-panel{padding:0;overflow:hidden}.project-allocation-panel-head{margin:0;border-radius:0}.project-allocation-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0;flex:1}.project-allocation-title-text{min-width:0;flex:1}.project-allocation-title-row .project-block-add-btn{flex-shrink:0;align-self:center}.project-allocation-subtabs{display:flex;gap:8px;padding:12px 16px 0;border-bottom:1px solid var(--line);background:#fafcff;margin-bottom:0}.project-allocation-subtab-count{margin-left:6px;font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px;background:#e2e8f0;color:var(--muted)}.mem-subtab.active .project-allocation-subtab-count{background:var(--brand-border);color:var(--brand-ink)}.project-allocation-subtab-count--warn{background:var(--brand-soft)!important;color:var(--brand-ink)!important;border:1px solid var(--brand-border)}.project-allocation-pane{padding-top:4px;min-height:120px}.project-allocation-pane[data-subview=requests] .project-manpower-requests--pane{padding-top:12px}@media(max-width:720px){.project-manpower-request{flex-direction:column;align-items:stretch}.project-manpower-request-actions{width:100%;padding-top:10px;border-top:1px solid #eef2f7;justify-content:flex-end}}.project-allocation-request-detail{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;font-size:12px;padding:10px 12px;border-radius:10px;background:var(--soft);border:1px solid var(--line);margin-bottom:12px;color:var(--text)}.assign-worker-list{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow:auto;padding:2px;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--muted) 35%,transparent) transparent}.assign-worker-list-wrap{display:flex;flex-direction:column;gap:8px;min-width:0}.assign-worker-list-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted)}.assign-worker-list-head strong{font-size:12px;font-weight:700;color:var(--text)}.assign-worker-badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;border:1px solid color-mix(in srgb,var(--brand) 28%,var(--line));background:var(--brand-soft);color:var(--brand-ink, var(--brand));font-size:10px;font-weight:700;line-height:1.2;flex-shrink:0}.assign-worker-badge--helper{border-color:color-mix(in srgb,#c2410c 30%,var(--line));background:#fff7ed;color:#9a3412}.assign-worker-section{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.assign-worker-section:last-child{margin-bottom:0}.assign-worker-section-empty{padding:12px 14px;border:1px dashed #cbd5e1;border-radius:10px;font-size:13px;color:var(--muted);background:#f8fafc}.assign-worker-details{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:2px}.assign-worker-detail{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--text);min-width:0}.assign-worker-detail-label{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.assign-worker-list::-webkit-scrollbar{width:4px}.assign-worker-list::-webkit-scrollbar-track{background:transparent}.assign-worker-list::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--muted) 35%,transparent);border-radius:999px}.assign-worker-list::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--muted) 55%,transparent)}.assign-worker-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;cursor:pointer;background:var(--card);color:var(--text);transition:border-color .15s,background .15s,box-shadow .15s}.assign-worker-row:hover{border-color:var(--brand-border);background:var(--soft)}.assign-worker-row.selected{border-color:var(--brand-border);background:var(--brand-soft);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent)}.assign-worker-row-wrap{display:flex;flex-direction:column;gap:8px}.assign-worker-row-wrap .assign-worker-row{width:100%}.assign-worker-reports-row{display:flex;flex-direction:column;gap:4px;padding:0 4px 4px 40px}.assign-worker-reports-row label{font-size:11px;font-weight:600;color:var(--muted)}.assign-worker-reports-row select{width:100%;max-width:320px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px;background:var(--card)}.assign-worker-check{width:16px;height:16px;flex-shrink:0;accent-color:var(--brand);cursor:pointer}.assign-worker-avatar{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-size:17px;flex-shrink:0}.assign-worker-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto;font-size:12px}.assign-worker-info strong{font-size:13px;font-weight:700;color:var(--text);line-height:1.3}.assign-worker-name-row{display:flex;align-items:center;gap:4px;min-width:0}.assign-worker-name-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crew-member-info-btn{width:24px;height:24px;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--muted);display:inline-grid;place-items:center;flex-shrink:0;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.crew-member-info-btn:hover:not(:disabled){background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-ink)}.crew-member-info-btn:disabled{opacity:.45;cursor:not-allowed}.mem-worker-name-row{display:flex;align-items:center;gap:4px;min-width:0}.mem-worker-row--profile{align-items:center;gap:10px}.members-modal-overlay{z-index:390}.members-modal-overlay--dimmed{background:#0f172a7a}.members-modal{z-index:391;width:min(520px,94vw)}.members-modal-body{gap:8px;padding:14px 16px 16px}.members-modal-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;box-shadow:0 1px 4px #0f172a0a}.members-modal-row__avatar{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#f8fbff;border:1px solid #e2e8f0;flex-shrink:0;overflow:hidden}.members-modal-row__profile{flex:1 1 auto;min-width:0;align-items:center}.members-modal-row__main{min-width:0}.members-modal-row__name-line{display:flex;align-items:center;gap:4px;min-width:0}.members-modal-row__name{font-size:14px;font-weight:700;color:#0f172a;line-height:1.25;word-break:break-word}.members-modal-row__meta{margin-top:3px;font-size:11px;font-weight:600;color:#64748b}.members-modal-row__aside{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.members-modal-row__status{font-size:10px!important;padding:3px 8px!important;white-space:nowrap}.members-modal-row__hours{font-size:11px;font-weight:600;color:#64748b;white-space:nowrap}.crew-directory{display:flex;flex-direction:column;gap:12px;min-width:0}.crew-directory__nav{display:flex;align-items:center;gap:8px;padding:0;border:none;border-radius:0;background:transparent;width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;flex:0 0 auto;box-shadow:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none}.crew-directory__nav::-webkit-scrollbar{display:none}.crew-directory__tab{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line, #e2e8f0);background:#fff;color:var(--muted, #66716b);height:34px;padding:0 14px;border-radius:999px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;flex:0 0 auto;scroll-snap-align:start;touch-action:manipulation;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}.crew-directory__tab:hover{color:var(--text, #17201c);background:var(--soft, #f8fafc);border-color:#cbd5e1}.crew-directory__tab.is-active{background:var(--accent-base, var(--brand, #18765f));border-color:var(--accent-base, var(--brand, #18765f));color:#fff;font-weight:750;box-shadow:0 2px 8px color-mix(in srgb,var(--accent-base, var(--brand, #18765f)) 28%,transparent)}.crew-directory__tab.is-active span,.crew-directory__tab.is-active .app-icon,.crew-directory__tab.is-active svg{color:#fff}.crew-directory__view{min-width:0;display:flex;flex-direction:column}.crew-directory__panel{border:1px solid var(--line, #e2e8f0);border-radius:14px;background:var(--card, #fff);overflow:hidden;min-width:0}.crew-directory__toolbar{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-bottom:1px solid var(--hairline, #eef2f7);background:var(--card, #fff)}.accounts-directory-toolbar--with-aside{flex-direction:row;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.accounts-directory-toolbar__main{min-width:0;flex:1 1 200px;display:flex;flex-direction:column;gap:6px}.accounts-directory-toolbar__aside{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:flex-end;margin-left:auto}.accounts-directory-toolbar--with-aside .accounts-directory-summary{margin:0}.accounts-directory-toolbar--with-aside .payroll-month-nav .rpt-export-btn{width:34px;height:34px;border-radius:999px;padding:0;display:inline-grid;place-items:center}.emp-dir-toolbar{gap:10px}.emp-dir-toolbar__head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:nowrap;min-width:0}.emp-dir-toolbar__sort{margin-left:auto;flex-shrink:0}.emp-dir-toolbar__sort .list-sort-trigger{height:34px;border-radius:8px;background:#fff;border-color:var(--line, #e2e8f0);white-space:nowrap}.emp-dir-filter-bar{display:grid;gap:8px;align-items:center;width:100%;grid-template-columns:minmax(200px,1.5fr) repeat(4,minmax(0,.72fr)) auto}.emp-dir-filter-bar--selects-4{grid-template-columns:minmax(200px,1.5fr) repeat(4,minmax(0,.72fr)) auto}.emp-dir-filter-bar--selects-3{grid-template-columns:minmax(200px,1.5fr) repeat(3,minmax(0,.72fr)) auto}.emp-dir-filter-bar--selects-2{grid-template-columns:minmax(200px,1.5fr) repeat(2,minmax(0,.72fr)) auto}.emp-dir-filter-bar--project{grid-template-columns:minmax(140px,1.15fr) minmax(140px,1fr) repeat(2,minmax(0,.72fr)) auto}.emp-dir-filter-bar__search{display:inline-flex;align-items:center;gap:8px;min-width:0;height:34px;padding:0 10px;border:1px solid var(--line, #e2e8f0);border-radius:8px;background:#fff;color:var(--muted, #64748b)}.emp-dir-filter-bar__search--secondary{grid-column:span 1}.emp-dir-filter-bar__search input{flex:1;min-width:0;width:100%;border:0;background:transparent;outline:none;font-size:12px;font-weight:600;color:var(--text, #102033)}.emp-dir-filter-bar__search input::placeholder{color:var(--muted, #94a3b8);font-weight:500}.emp-dir-filter-bar__search:focus-within{border-color:var(--brand-border, #93c5fd);box-shadow:0 0 0 1px color-mix(in srgb,var(--brand-border, #93c5fd) 35%,transparent)}.emp-dir-filter-bar__select,.emp-dir-filter-bar .crew-directory__select{width:100%;min-width:0;height:34px;padding:0 10px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:12px;font-weight:600;color:var(--text, #334155)}.emp-dir-filter-bar__btn{display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 12px;border:1px solid var(--line, #e2e8f0);border-radius:8px;background:#fff;font-size:12px;font-weight:700;color:var(--text, #334155);cursor:pointer;white-space:nowrap}.emp-dir-filter-bar__btn:hover{border-color:#cbd5e1;background:#f8fafc}.crew-directory__toolbar:not(.crew-directory__toolbar--simple){flex-direction:column;align-items:stretch}.crew-directory__toolbar:not(.crew-directory__toolbar--simple) .crew-directory__toolbar-top{display:flex}.crew-directory__toolbar:not(.crew-directory__toolbar--simple) .crew-directory__heading{flex:0 0 auto}.crew-directory__toolbar:not(.crew-directory__toolbar--simple) .crew-directory__search{flex:1 1 220px;min-width:140px;max-width:none}.crew-directory__toolbar:not(.crew-directory__toolbar--simple) .crew-directory__filters{flex:0 0 auto;flex-wrap:nowrap}.crew-directory__toolbar:not(.crew-directory__toolbar--simple) .crew-directory__sort{margin-left:0}.crew-directory__toolbar--simple{flex-direction:row;align-items:center;flex-wrap:nowrap;gap:10px}.crew-directory__toolbar--simple .crew-directory__search{flex:1 1 220px;min-width:140px;max-width:none}.crew-directory__toolbar-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.crew-directory__heading{display:inline-flex;align-items:center;gap:8px;min-width:0}.crew-directory__title{margin:0;font-size:14px;font-weight:800;color:var(--text, #17201c)}.crew-directory__count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:22px;padding:0 8px;border-radius:999px;background:#f1f5f9;color:var(--muted, #66716b);font-size:11px;font-weight:750}.crew-directory__search{display:inline-flex;align-items:center;gap:8px;flex:1 1 220px;max-width:360px;min-width:0;height:36px;padding:0 12px;border:1px solid var(--line, #e2e8f0);border-radius:12px;background:#f8fbff;color:var(--muted, #64748b)}.crew-directory__search input{flex:1;min-width:0;border:0;background:transparent;outline:none;font-size:13px;font-weight:600;color:var(--text, #102033)}.crew-directory__search input::placeholder{color:var(--muted, #94a3b8);font-weight:500}.crew-directory__search:focus-within{border-color:var(--brand-border);background:#fff;box-shadow:none}.crew-directory__filters{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.crew-directory__select{height:36px;min-width:120px;padding:0 10px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;color:#102033;font-size:12px;font-weight:650;cursor:pointer}.crew-directory__select:focus{outline:none;border-color:#93c5fd;background:#fff}.crew-directory__sort{margin-left:auto;min-width:0}.crew-directory__sort .list-sort-trigger{height:36px;border-radius:10px;background:#f8fafc;border-color:#e2e8f0}.crew-directory__body{padding:12px 16px 16px}.crew-directory__body.emp-dir-panel__body--roster-table{padding:0}.crew-directory__body .tile-list-footer{margin-top:12px}.all-people-roster{background:#fff;border:0;border-top:1px solid var(--line, #e5e7eb);border-radius:0;overflow:hidden}.crew-directory__panel .all-people-roster{border-top:1px solid var(--line, #e5e7eb)}.all-people-roster__head{padding:10px 12px;border-bottom:1px solid var(--line, #e5e7eb);font-size:10px;font-weight:800;color:#17202a}.all-people-roster__scroll{overflow:auto}.all-people-roster__table{width:100%;border-collapse:collapse;min-width:1100px}.all-people-roster--fit .all-people-roster__scroll{overflow-x:hidden;overflow-y:visible}.all-people-roster--fit .all-people-roster__table{min-width:0;width:100%;table-layout:fixed}.all-people-roster--fit .all-people-roster__table th,.all-people-roster--fit .all-people-roster__table td{white-space:normal;overflow-wrap:anywhere;word-break:break-word}.all-people-roster--fit .all-people-roster__table th:last-child,.all-people-roster--fit .all-people-roster__table td:last-child{width:56px;white-space:nowrap}.all-people-roster--fit .all-people-roster__person{min-width:0}.all-people-roster--fit .all-people-roster__person>div{min-width:0}.all-people-roster--fit .all-people-roster__person b,.all-people-roster--fit .all-people-roster__person small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.all-people-roster--admin{background:#fff}.all-people-roster--admin .all-people-roster__head{padding:14px 16px;font-size:11px;font-weight:800;letter-spacing:.04em;color:#17202a;border-bottom:1px solid #e8e4dc;background:#fff}.all-people-roster--admin .all-people-roster__table th,.all-people-roster--admin .all-people-roster__table td{padding:12px 14px;font-size:12px;border-bottom:1px solid #ece8e1}.all-people-roster--admin .all-people-roster__table th{background:#faf9f6;color:#8a8478;font-size:10px;letter-spacing:.06em}.all-people-roster--admin .all-people-roster__table th:nth-child(1),.all-people-roster--admin .all-people-roster__table td:nth-child(1){width:20%}.all-people-roster--admin .all-people-roster__table th:nth-child(2),.all-people-roster--admin .all-people-roster__table td:nth-child(2){width:18%}.all-people-roster--admin .all-people-roster__table th:nth-child(3),.all-people-roster--admin .all-people-roster__table td:nth-child(3){width:16%}.all-people-roster--admin .all-people-roster__table th:nth-child(4),.all-people-roster--admin .all-people-roster__table td:nth-child(4){width:14%}.all-people-roster--admin .all-people-roster__table th:nth-child(5),.all-people-roster--admin .all-people-roster__table td:nth-child(5){width:18%}.all-people-roster--admin .all-people-roster__phone,.all-people-roster--admin .all-people-roster__email{display:block;font-size:12px;color:#5c574f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.all-people-roster__table tbody tr.is-clickable{cursor:pointer}.all-people-roster__table tbody tr.is-clickable:hover{background:#faf8f4}.all-people-roster--admin .all-people-roster__avatar{width:34px;height:34px;font-size:11px;background:linear-gradient(135deg,#a67c2d,#7a5a1c)}.all-people-roster--admin .all-people-roster__person{gap:10px}.all-people-roster--admin .all-people-roster__person b{font-size:13px;font-weight:700;color:#1f1c17}.all-people-roster--admin .all-people-roster__person small{font-size:11px;color:#8a8478}.all-people-roster--admin .all-people-roster__skill{padding:4px 10px;border-radius:999px;font-size:11px;font-weight:600;background:#e8f5ee;color:#1f7a4d;max-width:100%;overflow:hidden;text-overflow:ellipsis}.all-people-roster--admin .all-people-roster__actions{justify-content:center}.all-people-roster--admin .all-people-roster__table th:last-child,.all-people-roster--admin .all-people-roster__table td:last-child{width:64px;text-align:center}.all-people-roster--admin .all-people-roster__icon-btn{width:32px;height:32px;border-radius:8px;border-color:#e0dbd2;color:#6b6570}.all-people-roster__table th,.all-people-roster__table td{padding:9px 10px;border-bottom:1px solid var(--line, #e5e7eb);text-align:left;font-size:9px;vertical-align:middle}.all-people-roster__table th{background:#fafbfc;color:var(--muted, #6b7280);text-transform:uppercase;font-weight:700}.all-people-roster__table td.mono{font-variant-numeric:tabular-nums;white-space:nowrap}.all-people-roster__table th:last-child,.all-people-roster__table td:last-child{width:84px;min-width:84px;text-align:right}.all-people-roster__person{display:flex;align-items:center;gap:8px;min-width:0}.all-people-roster__avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#b57c16,#805408);color:#fff;display:grid;place-items:center;font-size:9px;font-weight:800;flex-shrink:0}.all-people-roster__person b{display:block;font-size:10px}.all-people-roster__person small{display:block;font-size:8px;color:var(--muted, #6b7280)}.all-people-roster__email{display:block;font-size:12px;color:var(--text, #374151);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px}.all-people-roster__skill,.all-people-roster__status{padding:3px 7px;border-radius:11px;font-size:8px;display:inline-block;white-space:nowrap}.all-people-roster__skill,.all-people-roster__status,.all-people-roster__status.is-assigned{background:var(--green-soft, #e9f7ef);color:var(--green, #1d9a5a)}.all-people-roster__status.is-available{background:var(--blue-soft, #eaf2ff);color:var(--blue, #3979d9)}.all-people-roster__status.is-leave{background:var(--amber-soft, #fff2dc);color:var(--amber, #d88c18)}.all-people-roster__status.is-edit-pending{background:var(--purple-soft, #f1ebff);color:var(--purple, #8b5bd6)}.all-people-roster__time-correction{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.all-people-roster__time-correction .old{color:#6b7280;text-decoration:line-through}.all-people-roster__time-correction .arrow{color:#6b7280}.all-people-roster__time-correction .new{color:#17202a;font-weight:700}.all-people-roster__actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;white-space:nowrap}.all-people-roster__more-wrap{position:relative;display:inline-flex}.all-people-roster__icon-btn{width:28px;height:28px;border:1px solid var(--line, #e5e7eb);background:#fff;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:#64748b;padding:0}.all-people-roster__icon-btn svg{display:block;pointer-events:none}.all-people-roster__icon-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:#334155}.all-people-roster__table tbody tr.is-pending{background:#faf5ff}.crew-directory__panel--specialization-split{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);min-height:min(62vh,560px);overflow:hidden}.crew-specialization-nav{display:flex;flex-direction:column;min-width:0;min-height:0;border-right:1px solid #eef2f7;background:#fbfcfd}.crew-specialization-nav__toolbar{display:flex;flex-direction:column;gap:8px;padding:12px;border-bottom:1px solid #eef2f7;flex:0 0 auto}.crew-specialization-nav__search{max-width:none;flex:1 1 auto;width:100%}.crew-specialization-nav__toolbar .crew-directory__sort{margin-left:0;width:100%}.crew-specialization-nav__toolbar .crew-directory__sort .list-sort,.crew-specialization-nav__toolbar .crew-directory__sort .list-sort-trigger{width:100%}.crew-specialization-nav__list{display:flex;flex-direction:column;gap:4px;padding:8px;overflow:auto;-webkit-overflow-scrolling:touch;flex:1 1 auto;min-height:0}.crew-specialization-nav__empty{margin:0;padding:16px 12px;font-size:12px;color:var(--muted, #66716b)}.crew-specialization-nav__item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;padding:8px 10px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text, #17201c);text-align:left;cursor:pointer}.crew-specialization-nav__item:hover{background:#fff;border-color:#e2e8f0}.crew-specialization-nav__item.is-active{background:#fff;border-color:color-mix(in srgb,var(--brand, #18765f) 35%,#e2e8f0);box-shadow:0 1px 3px #0f172a0f}.crew-specialization-nav__icon{display:inline-grid;place-items:center}.crew-specialization-nav__icon>span{width:28px!important;height:28px!important;border-radius:8px!important}.crew-specialization-nav__copy{display:flex;flex-direction:column;gap:1px;min-width:0}.crew-specialization-nav__copy strong{font-size:12px;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crew-specialization-nav__copy small{font-size:10px;color:var(--muted, #66716b)}.crew-specialization-nav__count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 6px;border-radius:999px;background:#f1f5f9;color:var(--muted, #66716b);font-size:10px;font-weight:750}.crew-specialization-nav__item.is-active .crew-specialization-nav__count{background:color-mix(in srgb,var(--brand, #18765f) 12%,#fff);color:var(--brand, #18765f)}.crew-specialization-detail{display:flex;flex-direction:column;min-width:0;min-height:0;background:#fff}.crew-specialization-detail__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #eef2f7;flex:0 0 auto}.crew-specialization-detail__body{flex:1 1 auto;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;padding:12px 16px 16px}@media(max-width:720px){.crew-directory__panel--specialization-split{grid-template-columns:1fr;min-height:0}.crew-specialization-nav{border-right:0;border-bottom:1px solid #eef2f7;max-height:240px}}.crew-dir-list{display:flex;flex-direction:column;gap:8px}.crew-dir-list--tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.crew-dir-list--tiles .crew-dir-card{height:100%;flex-direction:column;align-items:stretch;gap:10px;padding:14px;border-radius:12px;background:#fff;box-shadow:0 1px 2px #0f172a0a}.crew-dir-list--tiles .crew-dir-card__main{width:100%}.crew-dir-list--tiles .crew-dir-card__side{width:100%;justify-content:flex-end;align-items:center;padding-top:8px;border-top:1px solid #eef2f7}.crew-dir-list--tiles .crew-dir-card__sites{flex-wrap:wrap;align-items:flex-start;max-width:none}.crew-dir-list--tiles .crew-dir-card__sites>span{max-width:none;white-space:normal;overflow:visible;text-overflow:unset}@media(max-width:1100px){.crew-dir-list--tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.crew-dir-list--tiles{grid-template-columns:1fr}}.crew-dir-card{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--card, #fff);transition:border-color .15s,box-shadow .15s}.crew-dir-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #0f172a0d}.crew-dir-card.is-onsite{border-color:color-mix(in srgb,var(--brand, #16a34a) 35%,#e8eef5);background:linear-gradient(180deg,#f7fdf9,#fff 70%)}.crew-dir-card__main{display:flex;align-items:flex-start;gap:10px;min-width:0;flex:1}.crew-dir-card__avatar{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#f1f5f9;flex-shrink:0;overflow:hidden}.crew-dir-card__identity{min-width:0;display:flex;flex-direction:column;gap:4px}.crew-dir-card__title-row{display:flex;align-items:center;gap:6px;min-width:0}.crew-dir-card__name{margin:0;font-size:14px;font-weight:750;color:var(--accent-base, var(--brand, #18765f));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crew-dir-card__meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.crew-dir-card__meta-item{font-size:12px;font-weight:600;color:#64748b}.crew-dir-card__meta-item.is-live{color:var(--brand, #16a34a)}.crew-dir-card__sites{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0;font-size:12px;font-weight:600;color:#475569}.crew-dir-card__site-chip{display:inline-flex;align-items:center;max-width:100%;padding:2px 8px;border-radius:999px;background:#f1f5f9;color:#334155;border:1px solid #e2e8f0;line-height:1.35;white-space:normal;overflow-wrap:anywhere}.crew-dir-card__sites .is-logged-in{color:var(--brand-ink, #166534)}.crew-dir-card__sites-more,.crew-dir-card__sites-empty{color:#94a3b8;flex-shrink:0}.crew-dir-card__side{display:flex;align-items:center;gap:8px;flex-shrink:0}.crew-dir-card__edit{width:30px;height:30px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#64748b;display:inline-grid;place-items:center;cursor:pointer}.crew-dir-card__edit:hover{background:var(--brand-soft, #ecfdf5);border-color:var(--brand-border, #bbf7d0);color:var(--brand-ink, #166534)}.emp-dir-intro{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line, #e2e8f0);background:linear-gradient(180deg,#f8fafc,#fff)}.emp-dir-intro__icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--brand-soft, #ecfdf5);color:var(--brand, #18765f);flex-shrink:0}.emp-dir-intro__title{margin:0 0 4px;font-size:15px;font-weight:750;color:var(--text, #17201c)}.emp-dir-intro__text{margin:0;font-size:13px;line-height:1.5;color:var(--muted, #66716b);max-width:72ch}.emp-dir-status-filters{display:flex;flex-wrap:wrap;gap:8px}.emp-dir-status-filter{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border:1px solid var(--line, #e2e8f0);border-radius:999px;background:#fff;color:var(--muted, #66716b);font-size:12px;font-weight:700;cursor:pointer}.emp-dir-status-filter:hover{border-color:#cbd5e1;color:var(--text, #17201c)}.emp-dir-status-filter.is-active{background:var(--brand-soft, #ecfdf5);border-color:var(--brand-border, #bbf7d0);color:var(--brand-ink, #166534)}.emp-dir-status-filter__count{min-width:18px;height:18px;padding:0 6px;border-radius:999px;background:#0f172a0f;display:inline-grid;place-items:center;font-size:11px}.emp-dir-status-filter.is-active .emp-dir-status-filter__count{background:#18765f1f}.emp-dir-card__button{width:100%;border:none;background:transparent;padding:0;text-align:left;cursor:pointer}.emp-dir-card__empid{font-size:11px;font-weight:700;color:#64748b;padding:2px 7px;border-radius:999px;background:#f1f5f9}.emp-dir-card__roles{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.emp-dir-role,.emp-detail-role{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;font-size:11px;font-weight:700;background:#f1f5f9;color:#475569}.emp-dir-role--engineer,.emp-detail-role--engineer{background:#dbeafe;color:#1d4ed8}.emp-dir-role--foreman,.emp-detail-role--foreman{background:#ffedd5;color:#c2410c}.emp-dir-role--crew,.emp-detail-role--crew{background:#dcfce7;color:#166534}.emp-dir-role--admin,.emp-detail-role--admin{background:#ede9fe;color:#6d28d9}.emp-dir-role--accounting,.emp-detail-role--accounting{background:#fef3c7;color:#b45309}.emp-dir-card__summary{margin:6px 0 0;font-size:12px;line-height:1.4;color:#64748b}.emp-detail-card{max-width:640px}.emp-detail-head-row{align-items:center;gap:12px}.emp-detail-avatar{width:44px;height:44px;border-radius:12px;flex-shrink:0}.emp-detail-head-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.emp-detail-empid{font-size:12px;font-weight:700;color:#64748b}.emp-detail-section{margin-bottom:18px}.emp-detail-section__title{margin:0 0 8px;font-size:13px;font-weight:750;color:var(--text, #17201c)}.emp-detail-section__hint,.emp-detail-muted,.emp-detail-empty{margin:0 0 10px;font-size:12px;line-height:1.5;color:var(--muted, #66716b)}.emp-detail-roles,.emp-detail-value{display:flex;flex-wrap:wrap;gap:8px}.emp-detail-value{font-size:14px;font-weight:600;color:var(--text, #17201c)}.emp-detail-projects{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.emp-detail-project{border:1px solid var(--line, #e2e8f0);border-radius:12px;padding:10px 12px;background:#fff}.emp-detail-project.is-live{border-color:color-mix(in srgb,var(--brand, #16a34a) 35%,#e8eef5);background:linear-gradient(180deg,#f7fdf9,#fff)}.emp-detail-project__main{display:flex;align-items:flex-start;gap:10px}.emp-detail-project__copy{display:flex;flex-direction:column;gap:2px;min-width:0}.emp-detail-project__copy strong{font-size:13px;color:var(--text, #17201c)}.emp-detail-project__status{font-size:12px;color:#64748b}.emp-detail-project__status.is-live{color:var(--brand-ink, #166534);font-weight:700}.emp-detail-status{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700;background:#fee2e2;color:#991b1b}.emp-detail-status.is-active{background:#dcfce7;color:#166534}.emp-dir-panel{display:flex;flex-direction:column;min-height:0}.emp-dir-panel__body{padding:12px 14px 14px}.emp-dir-panel__body--groups{padding-top:10px}.emp-dir-toolbar .crew-directory__filters{flex:1 1 auto;justify-content:flex-end}.emp-dir-toolbar__row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:space-between}@media(max-width:1100px){.emp-dir-filter-bar--selects-4,.emp-dir-filter-bar--selects-3,.emp-dir-filter-bar--project{grid-template-columns:1.4fr repeat(2,minmax(0,1fr)) auto auto}.emp-dir-filter-bar--selects-2{grid-template-columns:1.4fr minmax(0,1fr) auto auto}.emp-tile-grid--project{grid-template-columns:repeat(3,minmax(0,1fr))}.emp-tile-grid--all{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.emp-dir-filter-bar--selects-4,.emp-dir-filter-bar--selects-3,.emp-dir-filter-bar--selects-2,.emp-dir-filter-bar--project{grid-template-columns:1fr 1fr}.emp-dir-filter-bar__search{grid-column:1 / -1}.emp-dir-filter-bar__btn{grid-column:span 1}.emp-dir-toolbar__head{flex-wrap:wrap}.emp-dir-toolbar__sort{margin-left:auto}}.crew-directory__search--inline{min-width:160px;max-width:220px;flex:1 1 160px}.emp-tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;width:100%}.emp-tile{display:flex;align-items:flex-start;gap:10px;width:100%;min-height:96px;padding:11px 12px;border:1px solid var(--line, #e2e8f0);border-radius:12px;background:#fff;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s}.emp-tile:hover{border-color:#cbd5e1;box-shadow:0 4px 14px #0f172a0f}.emp-tile.is-onsite{border-color:color-mix(in srgb,var(--brand, #16a34a) 35%,#e8eef5);background:linear-gradient(180deg,#f7fdf9,#fff 72%)}.emp-tile.is-inactive{opacity:.82}.emp-tile__avatar{width:44px;height:44px;border-radius:10px;flex-shrink:0}.emp-tile__body{min-width:0;flex:1;display:flex;flex-direction:column;gap:6px}.emp-tile__head{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px}.emp-tile__name{font-size:13px;font-weight:750;color:var(--text, #17201c);line-height:1.25}.emp-tile__emp-id-row,.emp-tile__id-line{display:inline-flex;align-items:baseline;gap:4px;min-width:0;line-height:1.2}.emp-tile__emp-id-label{font-size:10px;font-weight:700;color:#94a3b8;white-space:nowrap}.emp-tile__emp-id-value{font-size:11px;font-weight:700;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.emp-tile__id{font-size:11px;font-weight:700;color:#64748b;padding:1px 7px;border-radius:999px;background:#f1f5f9}.emp-tile__roles{display:flex;flex-wrap:wrap;gap:4px}.emp-tile__projects{display:flex;flex-wrap:wrap;gap:5px;max-height:52px;overflow:hidden}.emp-tile__project{display:inline-flex;max-width:calc(50% - 3px);padding:2px 7px;border-radius:999px;font-size:10px;font-weight:700;line-height:1.35;background:#f1f5f9;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.emp-tile__project--more{background:#e2e8f0;color:#475569;max-width:none}.emp-tile__project.is-live{background:#dcfce7;color:#166534}.emp-tile__project--empty{background:transparent;color:#94a3b8;font-weight:600;padding-left:0}.emp-tile__live{font-size:10px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:var(--brand-ink, #166534)}.emp-dir-groups{display:flex;flex-direction:column;gap:12px}.emp-dir-group{border:1px solid var(--line, #e2e8f0);border-radius:12px;overflow:hidden;background:#fff}.emp-dir-group__head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:#f8fafc;border-bottom:1px solid var(--line, #e2e8f0)}.emp-dir-group__titles{min-width:0}.emp-dir-group__title{margin:0;font-size:14px;font-weight:750;color:var(--text, #17201c)}.emp-dir-group__subtitle{margin:2px 0 0;font-size:11px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.emp-dir-group__count{flex-shrink:0;min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:#fff;border:1px solid var(--line, #e2e8f0);display:inline-grid;place-items:center;font-size:12px;font-weight:800;color:var(--brand, #18765f)}.emp-dir-group .emp-tile-grid{padding:10px}.emp-tile-grid--project{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.emp-tile-grid--all{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.emp-dir-group--hierarchy .emp-dir-group__head{background:linear-gradient(90deg,#f8fafc,#fff)}.emp-dir-group--hierarchy .emp-dir-group__title{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:#475569}.emp-tile--project{align-items:center;min-height:0;padding:8px 10px;gap:8px}.emp-tile--project .emp-tile__avatar{width:40px;height:40px;border-radius:9px}.emp-tile__body--stack{gap:2px;justify-content:center}.emp-tile__body--stack .emp-tile__name{font-size:12px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.emp-tile__role-line{font-size:11px;font-weight:600;color:#64748b;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.emp-tile__id-line{font-size:10px;font-weight:700;color:#94a3b8;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.emp-tile__id-line .emp-tile__emp-id-value{font-size:10px}.emp-dir-group-empty{margin:0;padding:8px 10px;font-size:12px;color:#94a3b8}@media(max-width:900px){.emp-tile-grid--project{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.emp-tile-grid{grid-template-columns:1fr}.emp-tile-grid--project{grid-template-columns:repeat(2,minmax(0,1fr))}.emp-dir-toolbar__row{flex-direction:column;align-items:stretch}.crew-directory__search--inline{max-width:none}.crew-directory__nav{width:100%}.crew-directory__toolbar:not(.crew-directory__toolbar--simple){flex-direction:column;align-items:stretch}.crew-directory__toolbar:not(.crew-directory__toolbar--simple) .crew-directory__toolbar-top{display:flex;flex-wrap:wrap;width:100%}.crew-directory__toolbar--simple{flex-wrap:wrap}.crew-directory__search{max-width:none;flex:1 1 100%}.crew-directory__sort:not(.emp-dir-toolbar__sort){margin-left:0;width:100%}.crew-directory__sort:not(.emp-dir-toolbar__sort) .list-sort,.crew-directory__sort:not(.emp-dir-toolbar__sort) .list-sort-trigger{width:100%}.emp-dir-toolbar__sort .list-sort,.emp-dir-toolbar__sort .list-sort-trigger{width:auto}.crew-directory__select{flex:1 1 calc(50% - 4px);min-width:0}}.crew-roster-panel{padding:0;overflow:hidden;border-radius:16px;border:1px solid #e2e8f0;background:#fff}.crew-roster-panel__head{padding:14px 16px;border-bottom:1px solid #eef2f7;background:#fff;display:flex;flex-direction:column;gap:10px}.crew-roster-panel__row{display:flex;align-items:flex-end;gap:10px;min-width:0;width:100%}.crew-roster-panel__row--title{justify-content:flex-start;align-items:center;gap:8px}.crew-roster-panel__row--search{align-items:stretch}.crew-roster-panel__row--search .crew-roster-filter--search{width:100%;flex:1 1 auto}.crew-roster-panel__row--filters{display:flex;flex-wrap:nowrap;gap:8px;align-items:end}.crew-roster-panel__row--filters .crew-roster-filter{flex:1 1 0;min-width:0;width:auto}@media(max-width:720px){.crew-roster-panel__row--filters{flex-wrap:wrap}.crew-roster-panel__row--filters .crew-roster-filter{flex:1 1 calc(50% - 4px)}}.crew-roster-panel__title{margin:0;display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:800;color:#102033;flex-shrink:0}.crew-roster-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;min-width:0;flex:1 1 280px;justify-content:flex-end}.crew-roster-filter{display:flex;flex-direction:column;gap:4px;min-width:0}.crew-roster-filter--search{flex:1 1 auto;max-width:none;min-width:0}.crew-roster-filter__label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b;white-space:nowrap}.crew-roster-filter__input,.crew-roster-filter__select{border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;color:#102033;font-size:12px;font-weight:600;padding:7px 10px;outline:none;min-width:0;width:100%}.crew-roster-filter__select{cursor:pointer;max-width:none}.crew-roster-filter__input:focus,.crew-roster-filter__select:focus{border-color:#93c5fd;background:#fff}body.theme-dark .crew-roster-panel__head{background:var(--card);border-bottom-color:var(--line)}body.theme-dark .crew-roster-panel__title{color:var(--text)}body.theme-dark .crew-roster-filter__input,body.theme-dark .crew-roster-filter__select{background:var(--soft);border-color:var(--line);color:var(--text)}.roster-group-label{grid-column:1 / -1;margin:4px 0 2px;padding:6px 2px;font-size:12px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:#64748b;border-bottom:1px solid #eef2f7}.crew-roster-panel__badge{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:22px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:700;color:#102033;background:#f1f5f9;border:1px solid #e2e8f0}.crew-roster-panel__body{padding:14px}.crew-roster-panel__body .tile-list-footer{margin-top:12px;padding-top:10px;width:100%;min-width:0;box-sizing:border-box}.roster-worker-list{display:block;min-width:0}.roster-worker-list__items{width:100%}.roster-worker-row{background:#fff}.roster-worker-row .mem-gc-worker-meta{max-width:100%}.roster-worker-row--detail{align-items:flex-start;padding:12px;gap:12px}.roster-worker-row--detail .mem-gc-worker-aside{align-items:flex-end;gap:6px}.roster-worker-label{display:block;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}.roster-worker-specialization{margin-top:6px}.roster-worker-specialization-value{font-size:12px;font-weight:650;color:var(--text)}.roster-worker-projects{margin-top:8px;min-width:0}.roster-worker-unassigned{font-size:12px;color:var(--muted)}.roster-project-status-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.roster-project-status{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;min-width:0;padding:7px 9px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}.roster-project-status.is-in{border-color:color-mix(in srgb,var(--brand) 35%,var(--line));background:color-mix(in srgb,var(--ok-soft, #dcfce7) 70%,white)}.roster-project-status-name{font-size:12px;font-weight:700;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(280px,100%)}.roster-project-status-badge{font-size:10px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;padding:2px 7px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--muted);flex-shrink:0}.roster-project-status.is-in .roster-project-status-badge{color:var(--brand-ink, #166534);background:var(--ok-soft, #dcfce7);border-color:color-mix(in srgb,var(--brand) 30%,var(--line))}.roster-project-status-time{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.roster-worker-edit-btn{border:1px solid var(--line);background:var(--card, #fff);color:var(--brand-ink, var(--text));border-radius:8px;padding:4px 10px;font-size:11px;font-weight:700;cursor:pointer}.roster-worker-edit-btn:hover{background:var(--brand-soft, var(--soft));border-color:var(--brand-border, var(--line))}.crew-profile-assignment{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:12px}.crew-profile-assignment-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.crew-profile-login{display:inline-flex;align-items:center;width:fit-content;margin-top:4px;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;border:1px solid var(--line)}.crew-profile-login--in{color:#166534;background:#dcfce7;border-color:#86efac}.crew-profile-login--out{color:#9a3412;background:#ffedd5;border-color:#fdba74}.crew-profile-login--off{color:var(--muted);background:var(--soft)}.crew-profile-remove-btn{flex-shrink:0;border:1px solid #fecaca;background:#fff;color:#b91c1c;border-radius:8px;padding:6px 10px;font-size:11px;font-weight:700;cursor:pointer}.crew-profile-remove-btn:hover:not(:disabled){background:#fef2f2}.crew-profile-remove-btn:disabled{opacity:.55;cursor:not-allowed}.crew-profile-assign{margin:0 16px 14px;padding-top:12px;border-top:1px solid var(--line)}.crew-profile-assign-label{display:block;font-size:11px;font-weight:700;color:var(--muted);margin-bottom:6px}.crew-profile-assign-row{display:flex;gap:8px;align-items:center}.crew-profile-assign-select{flex:1;min-width:0;height:36px;border:1px solid var(--line);border-radius:9px;padding:0 10px;background:#fff;color:var(--text);font-size:13px}.crew-profile-assign-btn{flex-shrink:0;height:36px;padding:0 14px!important}.roster-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.roster-card-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.roster-dir-card{min-width:0}.roster-dir-card__identity{display:flex;align-items:flex-start;gap:10px;min-width:0;flex:1}.roster-dir-card__title{min-width:0;display:flex;flex-direction:column;gap:6px}.roster-dir-card__name-row{display:flex;align-items:center;gap:6px;min-width:0}.roster-dir-card__name-row .member-tile-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roster-dir-card__actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.roster-dir-edit-btn{width:30px;height:30px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);display:inline-grid;place-items:center;cursor:pointer;flex-shrink:0}.roster-dir-edit-btn:hover{background:var(--brand-soft, #ecfdf5);border-color:var(--brand-border, var(--line));color:var(--brand-ink, var(--text))}.member-tile-pill.is-logged-in{color:var(--brand-ink, #166534);background:var(--ok-soft, #dcfce7);border-color:color-mix(in srgb,var(--brand) 30%,var(--line))}.crew-profile-section-hint{margin:0 16px 10px;font-size:12px;color:var(--muted)}.crew-profile-logged-in-list{list-style:none;margin:0;padding:0 16px 12px;display:flex;flex-direction:column;gap:8px}.crew-profile-projects-split{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0 0 12px;align-items:start}.crew-profile-projects-col{min-width:0;display:flex;flex-direction:column;gap:8px}.crew-profile-projects-col+.crew-profile-projects-col{border-left:1px solid var(--line)}.crew-profile-projects-col-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 14px;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.crew-profile-projects-col-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;border-radius:999px;background:var(--soft, #f8fafc);border:1px solid var(--line);font-size:10px;font-weight:700;color:var(--text)}.crew-profile-check-list{list-style:none;margin:0;padding:0 12px;display:flex;flex-direction:column;gap:8px}.crew-profile-logged-in-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #86efac;border-radius:12px;background:#f0fdf4}.crew-profile-logged-in-item strong{font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crew-profile-check-item{border:1px solid var(--line);border-radius:10px;background:var(--soft, #f8fafc);min-width:0;height:100%}.crew-profile-check-item.is-assigned{background:#fff;border-color:color-mix(in srgb,var(--brand) 28%,var(--line))}.crew-profile-check-item.is-logged-in{border-color:#86efac;background:#f0fdf4}.crew-profile-check-label{display:flex;align-items:flex-start;gap:8px;padding:10px;cursor:pointer;height:100%;box-sizing:border-box}.crew-profile-check{margin-top:2px;width:15px;height:15px;flex-shrink:0;accent-color:var(--brand, #18765f)}.crew-profile-check-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.crew-profile-check-copy strong{font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crew-profile-check-meta{font-size:10px;color:var(--muted);line-height:1.3}.crew-profile-empty--compact{padding:10px 14px;font-size:12px}@media(max-width:640px){.crew-profile-projects-split{grid-template-columns:1fr;gap:12px}.crew-profile-projects-col+.crew-profile-projects-col{border-left:none;border-top:1px solid var(--line);padding-top:12px}}.roster-card{display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;box-shadow:none;overflow:hidden}.roster-card:before{display:none}.roster-card:hover{border-color:#cbd5e1;background:#fff;box-shadow:none;transform:none}.roster-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.roster-card__title-row{display:flex;align-items:center;gap:6px;min-width:0}.roster-card__name{margin:0;font-size:15px;font-weight:800;line-height:1.3;color:#102033;word-break:break-word}.roster-card__status{flex-shrink:0;font-size:11px!important;font-weight:700!important;padding:4px 10px!important;border-radius:999px!important;white-space:nowrap}.roster-card__facts{margin:0;display:grid;gap:8px}.roster-card__fact{display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px;align-items:start}.roster-card__fact dt{margin:0;font-size:12px;font-weight:600;color:#64748b}.roster-card__fact dd{margin:0;font-size:13px;font-weight:700;color:#102033;word-break:break-word}.roster-card__fact dd.is-warn{color:#dc2626}@media(max-width:720px){.crew-roster-panel__body{padding:10px}.roster-card-grid,.roster-card-grid--two{grid-template-columns:1fr;gap:10px}.roster-card{padding:12px;gap:10px}.roster-card__name{font-size:14px}.roster-card__fact{grid-template-columns:88px minmax(0,1fr)}}.assign-modal-icon--mui{display:grid;place-items:center;color:var(--brand-ink)}.crew-profile-screen{display:flex;flex-direction:column;min-height:0;background:var(--soft);color:var(--text)}.crew-profile-screen--inline{width:100%;min-height:min(70vh,720px);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}.crew-profile-screen--overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12000;border-radius:0;background:var(--bg)}.crew-profile-screen--overlay.stacked{z-index:13000}.crew-profile-screen-bar{display:flex;flex-direction:column;gap:12px;padding:14px 16px 16px;border-bottom:1px solid var(--line);background:var(--card);flex-shrink:0}.crew-profile-back{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--text);padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.crew-profile-back:hover{background:var(--brand-soft);border-color:var(--brand-border)}.crew-profile-screen-identity{display:flex;align-items:flex-start;gap:12px}.crew-profile-screen-titles{flex:1;min-width:0}.crew-profile-screen-title{margin:0;font-size:18px;font-weight:700;color:var(--text);line-height:1.25}.crew-profile-screen-sub{margin:4px 0 0;font-size:12px;font-weight:600;color:var(--muted)}.crew-profile-modal-icon{overflow:hidden;flex-shrink:0}.crew-profile-screen-body{flex:1;min-height:0;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:14px}.crew-profile-flat{display:flex;flex-direction:column;gap:18px}.crew-profile-meta-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;margin:0;padding:0 0 14px;border-bottom:1px solid #e8edf2}.crew-profile-meta-item{display:flex;flex-direction:column;gap:2px;min-width:0}.crew-profile-meta-item dt{margin:0;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8}.crew-profile-meta-item dd{margin:0;font-size:14px;font-weight:700;color:#0f172a}.crew-profile-block{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;border:0;background:transparent}.crew-profile-block-title{margin:0;font-size:13px;font-weight:700;color:#0f172a}.crew-profile-overview{display:flex;flex-direction:column;gap:8px}.crew-profile-overview-title{margin:0;font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.02em}.crew-profile-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.crew-profile-overview-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.crew-profile-overview-card{display:flex;flex-direction:column;gap:2px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;min-width:0}.crew-profile-overview-label{font-size:10px;font-weight:600;color:var(--muted);line-height:1.3;text-transform:uppercase;letter-spacing:.03em}.crew-profile-overview-value{font-size:13px;font-weight:700;color:var(--text);line-height:1.3;word-break:break-word}.crew-profile-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:0;padding-right:4px}.crew-profile-section-head .crew-profile-block-title{margin:0;flex:0 0 auto}.crew-profile-section-meta{margin:0 8px 0 auto;font-size:12px;font-weight:600;color:#64748b;white-space:nowrap;text-align:right}.crew-profile-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;width:100%;max-width:none;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;background:#fff}.crew-profile-week-day{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;padding:10px 6px 9px;border:0;border-right:1px solid #eef2f6;border-radius:0;background:#fafbfc;min-width:0;min-height:72px}.crew-profile-week-day:last-child{border-right:0}.crew-profile-week-day.att-day--p{background:#f0fdf4}.crew-profile-week-day.att-day--a{background:#fafbfc}.crew-profile-week-day-label{font-size:10px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em}.crew-profile-week-day-project{font-size:10px;font-weight:600;color:#475569;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;line-height:1.2;padding:0 2px}.crew-profile-week-day-project.is-empty{color:#cbd5e1}.crew-profile-week-day .att-mark{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:10px;font-weight:800}.crew-profile-week-day .att-mark--p{background:#dcfce7;color:#166534}.crew-profile-week-day .att-mark--a{background:#fee2e2;color:#b91c1c}.crew-profile-table-wrap--flat{border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;background:#fff}@media(max-width:720px){.crew-profile-section-head{flex-direction:column;align-items:flex-start;gap:4px;padding-right:0}.crew-profile-section-meta{margin-left:0;margin-right:0;white-space:normal;text-align:left}.crew-profile-week-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-width:none}.crew-profile-week-day{min-height:68px}.crew-profile-week-day:nth-child(4n){border-right:0}.crew-profile-week-day:nth-child(n+5){border-top:1px solid #eef2f6}}.crew-profile-list{list-style:none;margin:0;padding:0 16px;display:flex;flex-direction:column}.crew-profile-list-item{display:flex;flex-direction:column;gap:2px;padding:12px 0;border-bottom:1px solid var(--line)}.crew-profile-list-item:last-child{border-bottom:none}.crew-profile-list-item strong{font-size:14px;font-weight:700;color:var(--text)}.crew-profile-list-item span{font-size:12px;color:var(--muted)}.crew-profile-table-wrap{overflow:auto}.crew-profile-table{width:100%;border-collapse:collapse;font-size:12px}.crew-profile-table th,.crew-profile-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);color:var(--text)}.crew-profile-table th{font-size:11px;font-weight:700;color:var(--muted);background:var(--soft)}.crew-profile-table tr:last-child td{border-bottom:none}.crew-profile-activity{list-style:none;margin:0;padding:0 16px;display:flex;flex-direction:column}.crew-profile-activity-item{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.crew-profile-activity-item:last-child{border-bottom:none}.crew-profile-activity-item strong{display:block;font-size:13px;color:var(--text)}.crew-profile-activity-item span{font-size:12px;color:var(--muted)}.crew-profile-activity-meta{flex-shrink:0;font-size:12px;font-weight:600;color:var(--text);text-align:right}.crew-profile-empty{margin:0;padding:14px 16px;font-size:13px;color:var(--muted)}.crew-profile-updated{margin:0;font-size:11px;color:var(--muted);text-align:center}body.mobile-tab-shell .crew-profile-screen--overlay,body.native-app .crew-profile-screen--overlay{top:var(--app-status-chrome, 0px);bottom:calc(76px + env(safe-area-inset-bottom,0px))}.assign-worker-info span{color:var(--muted);font-size:11px;line-height:1.4}.admin-modal-card--wide{max-width:520px}.admin-modal-card--payroll{max-width:520px;border-radius:22px;box-shadow:0 28px 64px #0f172a38}.admin-payroll-head{padding:18px 20px}.admin-payroll-head-main{display:flex;align-items:center;gap:12px;min-width:0}.admin-payroll-avatar{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--ok-soft) 0%,var(--ok-soft) 100%);border:1px solid var(--brand-border);color:var(--brand-ink);font-size:13px;font-weight:800;display:grid;place-items:center;flex-shrink:0;overflow:hidden}.admin-payroll-form{padding:0;display:flex;flex-direction:column}.admin-payroll-section{padding:18px 20px;border-bottom:1px solid #e8eef5}.admin-payroll-section:last-of-type{border-bottom:none}.admin-payroll-section-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.admin-payroll-section-label{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--text);letter-spacing:.01em}.admin-payroll-section-label svg{color:var(--brand)}.admin-payroll-section-dot{width:8px;height:8px;border-radius:999px;background:var(--brand)}.admin-payroll-field{gap:7px}.admin-payroll-field label{font-size:12px;font-weight:600;color:#475569;text-transform:none;letter-spacing:0}.admin-payroll-field .field-hint{margin-top:0;font-size:11px}.admin-payroll-money-input{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:12px;background:#f8fbff;overflow:hidden;transition:border-color .15s,box-shadow .15s,background .15s}.admin-payroll-money-input:focus-within{background:#fff;border-color:var(--brand-border);box-shadow:0 0 0 3px #16a34a1a}.admin-payroll-money-prefix{display:flex;align-items:center;padding:0 14px;font-size:12px;font-weight:700;color:#64748b;background:#eef4fb;border-right:1px solid var(--line);flex-shrink:0}.admin-payroll-money-field{flex:1;min-width:0;border:none;background:transparent;color:var(--text);padding:12px 14px;font-size:15px;font-weight:600;outline:none}.admin-payroll-money-field::placeholder{color:#94a3b8;font-weight:400}.admin-payroll-money-field:disabled{opacity:.7;cursor:not-allowed}.admin-payroll-ot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.admin-payroll-input{padding:11px 12px;font-size:14px;font-weight:600;text-align:center}.admin-payroll-quick-fill{border:1px dashed var(--brand-border);border-radius:999px;background:var(--brand-soft);color:var(--brand-ink);font-size:11px;font-weight:600;padding:6px 12px;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.admin-payroll-quick-fill:hover{background:var(--ok-soft);border-color:var(--brand-border)}.admin-payroll-preview{margin:0 20px 16px;background:linear-gradient(180deg,var(--brand-soft) 0%,var(--brand-soft) 100%);border:1px solid var(--brand-border);border-radius:14px;padding:14px 16px}.admin-payroll-preview-title{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-ink);margin-bottom:8px}.admin-payroll-preview-body{font-size:12px;line-height:1.65;color:#14532d}.admin-payroll-error{margin:0 20px 12px}.admin-payroll-footer{margin:0;padding:14px 20px 18px;background:#f8fbff;border-top:1px solid var(--line);border-radius:0 0 22px 22px}.admin-payroll-footer .admin-payroll-cancel{padding:10px 16px;font-weight:600;background:#fff}.admin-payroll-footer .admin-payroll-save{min-width:132px;padding:10px 18px;background:var(--brand);border-color:#15803d;color:#fff;font-weight:700;box-shadow:0 4px 12px #16a34a38}.admin-payroll-footer .admin-payroll-save:hover:not(:disabled){background:#15803d;border-color:var(--brand-ink)}.admin-payroll-footer .admin-payroll-save:disabled{background:var(--brand-border);border-color:var(--brand-border);color:#fff;opacity:.65;box-shadow:none;cursor:not-allowed}.ops-d-impact-link{border:none;cursor:pointer;transition:opacity .15s,transform .15s}.ops-d-impact-link:hover{opacity:.88;transform:translateY(-1px)}.ops-mini-btn:disabled{opacity:.55;cursor:not-allowed}.admin-modal-card--assign{display:flex;flex-direction:column;overflow:hidden;max-width:480px;border-radius:22px;box-shadow:0 28px 64px #0f172a38;scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.22) transparent}.assign-modal-head{padding:18px 20px;background:linear-gradient(180deg,#f8fbff,#fff)}.assign-modal-head-main{display:flex;align-items:center;gap:12px;min-width:0}.assign-modal-icon{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--ok-soft) 0%,var(--ok-soft) 100%);border:1px solid var(--brand-border);display:grid;place-items:center;font-size:18px;flex-shrink:0}.assign-modal-site{display:inline-flex;align-items:center;font-weight:600;color:var(--brand-ink)}.assign-modal-instruction{margin:0 0 12px;padding:10px 12px;font-size:12px;line-height:1.5;color:var(--muted);background:var(--soft);border:1px solid var(--line);border-radius:10px}.assign-modal-error{margin-bottom:12px}.assign-notify-demo-banner{margin-bottom:12px;padding:10px 12px;border-radius:10px;border:1px solid var(--brand-border);background:var(--brand-soft);color:var(--brand-ink);font-size:12px;font-weight:600;line-height:1.4}.assign-empty-notify{display:flex;flex-direction:column;align-items:center;gap:8px}.assign-notify-hint{margin:4px 0 0;max-width:320px;font-size:12px;color:var(--muted);line-height:1.45;text-align:center}.assign-shortage-comment{display:flex;flex-direction:column;gap:6px;margin:12px 0 0;font-size:12px;font-weight:650;color:#334155}.assign-shortage-comment textarea{width:100%;min-height:72px;border:1px solid #e2e8f0;border-radius:10px;padding:8px 10px;font:inherit;resize:vertical}.assign-notify-manager-btn{margin-top:8px;min-width:160px}.assign-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px!important;padding-top:14px;flex-wrap:wrap}.assign-modal-register{margin-right:auto;font-size:12px!important;color:#0369a1!important;border:none!important;background:transparent!important;padding-left:0!important}.assign-modal-register:hover{text-decoration:underline}.assign-modal-footer--end{justify-content:flex-end}.assign-modal-footer-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.assign-modal-submit{min-width:148px;font-weight:700;border-color:var(--brand)!important;color:#fff!important;background:var(--brand)!important;box-shadow:0 4px 12px #16a34a38}.assign-modal-submit:hover:not(:disabled){background:var(--btn-hover-solid)!important;border-color:var(--btn-hover-solid)!important}.assign-modal-submit:disabled{opacity:.55;box-shadow:none;cursor:not-allowed}.admin-modal-card--assign::-webkit-scrollbar{width:4px}.admin-modal-card--assign::-webkit-scrollbar-track{background:transparent}.admin-modal-card--assign::-webkit-scrollbar-thumb{background:#94a3b838;border-radius:999px}.admin-modal-card--assign .admin-form-body--assign{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;padding:16px 20px 18px}.admin-modal-card--assign .assign-worker-list{flex:1;min-height:140px;max-height:min(42vh,320px)}.admin-modal-card--assign .project-allocation-request-detail{padding:8px 10px;font-size:11px;margin-bottom:10px}.admin-modal-card--assign .admin-form-footer{margin-top:12px!important;flex-shrink:0}.visual-doc{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:visible;box-shadow:0 6px 16px #0f172a0d}.visual-doc-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;align-items:center;flex-shrink:0}.checklist-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:14px;box-shadow:0 6px 16px #0f172a0d;overflow:visible}.checklist-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.checklist-count{font-weight:700;font-size:12px;flex-shrink:0}.checklist-items{display:flex;flex-direction:column}.check-row{display:flex;align-items:center;gap:9px;padding:8px 0;border-bottom:1px solid #f1f5f9;font-size:12px;position:relative}.check-row-text{flex:1;line-height:1.35}.issue-tag,.issue-tag-pending,.issue-tag-critical{font-size:10px;border-radius:999px;padding:3px 10px;margin-left:auto;white-space:nowrap;font-weight:600;line-height:1.4}.issue-tag{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.issue-tag-pending{background:#fff7ed;color:#9a3412;border:1px solid #fdba74}.issue-tag-critical{background:#fee2e2;color:#7f1d1d;border:1px solid #f87171;font-weight:700}.issue-tag-closed{background:var(--ok-soft);color:var(--brand-ink);border:1px solid var(--brand-border);font-weight:600}.checklist-flag-btn{font:inherit;display:inline-flex;align-items:center;gap:5px;cursor:pointer;transition:box-shadow .15s ease,border-color .15s ease}.checklist-flag-btn:hover:not(:disabled){filter:brightness(.98)}.checklist-flag-btn.is-open{box-shadow:0 0 0 3px #16a34a26}.checklist-flag-btn:disabled{opacity:.55;cursor:not-allowed}.checklist-status-caret{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;opacity:.65;transition:transform .15s ease}.checklist-flag-btn.is-open .checklist-status-caret{transform:rotate(180deg)}.checklist-status-dd{position:relative;margin-left:auto;flex-shrink:0;z-index:1}.checklist-status-dd.is-open{z-index:30}.checklist-status-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:148px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 12px 32px #0f172a24,0 2px 6px #0f172a0f;padding:6px;display:flex;flex-direction:column;gap:2px;animation:checklist-menu-in .14s ease-out}@keyframes checklist-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.checklist-status-option{font:inherit;font-size:12px;font-weight:500;border-radius:8px;padding:8px 10px;text-align:left;cursor:pointer;border:1px solid transparent;background:transparent;color:#334155;display:flex;align-items:center;gap:8px;width:100%;transition:background .12s ease,border-color .12s ease}.checklist-status-dot{width:8px;height:8px;border-radius:999px;flex-shrink:0}.checklist-status-label{flex:1}.checklist-status-check{font-size:11px;font-weight:700;color:#64748b;flex-shrink:0}.checklist-status-option[data-status=PENDING] .checklist-status-dot{background:#fb923c}.checklist-status-option[data-status=ISSUE] .checklist-status-dot{background:#f87171}.checklist-status-option[data-status=CLOSED] .checklist-status-dot{background:var(--brand-border)}.checklist-status-option[data-status=CRITICAL] .checklist-status-dot{background:#dc2626}.checklist-status-option[data-status=PENDING]:hover,.checklist-status-option[data-status=PENDING].active{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.checklist-status-option[data-status=ISSUE]:hover,.checklist-status-option[data-status=ISSUE].active{background:#fef2f2;border-color:#fecaca;color:#991b1b}.checklist-status-option[data-status=CLOSED]:hover,.checklist-status-option[data-status=CLOSED].active{background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-ink)}.checklist-status-option[data-status=CRITICAL]:hover,.checklist-status-option[data-status=CRITICAL].active{background:#fef2f2;border-color:#fca5a5;color:#7f1d1d}.checklist-status-option.active{font-weight:600}.checklist-status-option.active .checklist-status-check{color:inherit}.doc-status-approved{font-size:10px;border-radius:999px;padding:3px 10px;white-space:nowrap;background:var(--ok-soft);color:var(--brand-ink);border:1px solid var(--brand-border);font-weight:600}.doc-status-review{font-size:10px;border-radius:999px;padding:3px 10px;white-space:nowrap;background:#fff7ed;color:#9a3412;border:1px solid #fdba74;font-weight:600}.doc-status-open{font-size:10px;border-radius:999px;padding:3px 10px;white-space:nowrap;background:var(--brand-soft);color:var(--brand-ink);border:1px solid #93c5fd;font-weight:600}.doc-status-rework{font-size:10px;border-radius:999px;padding:3px 10px;white-space:nowrap;background:#fee2e2;color:#991b1b;border:1px solid #fca5a5;font-weight:600}.doc-status-option[data-status=APPROVED] .checklist-status-dot{background:var(--brand-border)}.doc-status-option[data-status=PENDING_REVIEW] .checklist-status-dot{background:#fb923c}.doc-status-option[data-status=OPEN] .checklist-status-dot{background:var(--blue)}.doc-status-option[data-status=APPROVED]:hover,.doc-status-option[data-status=APPROVED].active{background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-ink)}.doc-status-option[data-status=PENDING_REVIEW]:hover,.doc-status-option[data-status=PENDING_REVIEW].active{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.doc-status-option[data-status=OPEN]:hover,.doc-status-option[data-status=OPEN].active{background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-ink)}.doc-status-option[data-status=REWORK] .checklist-status-dot{background:#ef4444}.doc-status-option[data-status=REWORK]:hover,.doc-status-option[data-status=REWORK].active{background:#fef2f2;border-color:#fecaca;color:#991b1b}.drawing-approval-card{margin-top:14px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 6px 16px #0f172a0d;overflow:hidden}.drawing-approval-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:14px 16px;border-bottom:1px solid var(--line);background:#f8fbff}.drawing-approval-table td{vertical-align:middle}.drawing-inline-input{width:100%;min-width:90px;font:inherit;font-size:12px;border:1px solid #e2e8f0;border-radius:8px;padding:6px 8px;background:#fff}.drawing-inline-input:focus{outline:none;border-color:#93c5fd;box-shadow:0 0 0 3px #16a34a1f}.drawing-issue-input{min-width:160px}.drawing-file-link{display:inline-block;margin-left:8px;font-size:11px;color:var(--muted);text-decoration:none}.drawing-file-link:hover{color:var(--text);text-decoration:underline}.checklist-items-editor{display:flex;flex-direction:column;gap:8px;margin-top:8px}.checklist-items-editor-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.checklist-item-row{display:grid;grid-template-columns:1fr 120px auto;gap:8px;align-items:center}.admin-modal-wide{max-width:560px}.entry-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rpt-export-btn{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--text);padding:8px 14px;font-size:12px;cursor:pointer;transition:background .15s}.rpt-export-btn:hover{background:#f1f5f9}.rpt-export-primary{background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-ink);font-weight:600}.admin-form-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:0;margin-bottom:16px;overflow:hidden;box-shadow:0 1px 3px #0f172a0a}.admin-form-card.rbac-create-card{padding:18px 20px;overflow:visible}.admin-form-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--soft, #f8fbff) 0%,var(--card, #fff) 100%)}.admin-form-head strong{display:block;font-size:15px;font-weight:700;color:var(--text)}.admin-form-sub{margin-top:4px;font-size:12px;color:var(--muted);line-height:1.45}.admin-form-body{padding:18px}.admin-users-panel{display:flex;flex-direction:column;gap:8px;min-width:0}.admin-users-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.list-toolbar{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.list-toolbar.list-toolbar-row{flex-direction:row;align-items:center;flex-wrap:nowrap;gap:10px;width:100%}.list-toolbar.list-toolbar-row .list-toolbar-filters,.list-toolbar.list-toolbar-row .proc-subnav{flex:0 1 auto;min-width:0;margin-bottom:0}.list-toolbar.list-toolbar-row .list-toolbar-search{flex:1 1 220px;min-width:160px;max-width:none;width:auto}.list-toolbar.list-toolbar-row .list-toolbar-search.members-search-wrap,.list-toolbar.list-toolbar-row .members-search-wrap.list-toolbar-search{width:100%;max-width:none}.list-toolbar.list-toolbar-row .list-toolbar-search .members-search{width:100%}.list-toolbar.list-toolbar-row .list-toolbar-row__sort{flex:0 0 auto;margin-left:0}.list-toolbar.list-toolbar-row .list-toolbar-row__actions{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-left:0;min-width:0}.list-toolbar.list-toolbar-row .list-toolbar-row__actions.proc-panel-actions{margin-bottom:0}.list-toolbar-search{width:100%;max-width:420px}.list-toolbar .proc-subnav{padding:0;margin-bottom:0;gap:6px}.list-toolbar-filters{display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding-bottom:1px}.list-toolbar-filter{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--muted);font-size:11px;font-weight:650;padding:5px 11px;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}.list-toolbar-filter:hover{background:var(--soft);color:var(--text);border-color:var(--line-strong, var(--line))}.list-toolbar-filter.active{background:var(--accent-base, var(--brand));border-color:var(--accent-base, var(--brand));color:#fff;font-weight:750}.list-toolbar-filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--soft);border:1px solid var(--line);font-size:10px;font-weight:800;color:var(--muted)}.list-toolbar-filter.active .list-toolbar-filter-count{background:#ffffff38;border-color:transparent;color:#fff}.eng-req-search-wrap{margin-bottom:10px;max-width:420px}@media(max-width:900px){.list-toolbar.list-toolbar-row{flex-wrap:wrap}.list-toolbar.list-toolbar-row .list-toolbar-filters,.list-toolbar.list-toolbar-row .proc-subnav{flex:1 1 100%;order:1}.list-toolbar.list-toolbar-row .list-toolbar-search{flex:1 1 100%;order:2}.list-toolbar.list-toolbar-row .list-toolbar-row__sort{order:3;margin-left:auto}.list-toolbar.list-toolbar-row .list-toolbar-row__actions{order:4}}@media(max-width:720px){.list-toolbar-search{max-width:none}}.admin-users-search{flex:1;min-width:160px}.admin-users-add{margin-left:auto;flex-shrink:0}.admin-users-filters{display:flex;gap:5px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding-bottom:1px}.admin-users-filter{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--muted);font-size:11px;font-weight:600;padding:5px 10px;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.admin-users-filter:hover{background:var(--soft);border-color:var(--line);color:var(--text)}.admin-users-filter.active{background:var(--brand-soft);border-color:var(--brand-border);color:var(--text);font-weight:700}.admin-users-filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:999px;font-size:9px;font-weight:800;background:#0f172a0f;color:inherit}.admin-users-filter.active .admin-users-filter-count{background:#16a34a24}.admin-users-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;min-width:0}.admin-user-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card);min-width:0;transition:border-color .15s,background .15s,box-shadow .15s;color:var(--text)}.admin-user-tile{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:12px 14px;min-height:0}.admin-user-tile-layout{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:10px 12px;align-items:start;min-width:0}.admin-user-tile-photo-col{display:flex;flex-direction:column;gap:6px;min-width:0;width:56px}.admin-user-tile-id-below{display:flex;flex-direction:column;gap:2px;min-width:0;width:100%}.admin-user-meta-row{display:block;font-size:10px;line-height:1.3;min-width:0}.admin-user-meta-label{display:none}.admin-user-meta-value{display:block;color:var(--muted);font-size:10px;font-weight:600;line-height:1.3;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-tile-top{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center;min-width:0}.admin-user-tile-foot{display:flex;align-items:center;gap:8px;min-width:0;padding-left:50px}.admin-user-tile-body{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:start;min-width:0}.admin-user-tile-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}.admin-user-tile .admin-user-avatar{width:56px;height:56px;border-radius:12px;font-size:14px;margin-top:0;overflow:hidden;flex-shrink:0}.admin-user-tile .admin-user-copy{min-width:0;min-height:0;gap:3px;padding-top:2px;overflow:hidden}.admin-user-tile .admin-user-name{white-space:normal;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;text-overflow:ellipsis;word-break:break-word;line-height:1.25;font-size:14px}.admin-user-tile .admin-user-email{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-user-tile .admin-user-role{margin-top:4px;flex-shrink:0;width:fit-content;max-width:100%}.admin-user-tile-foot .admin-user-identity{flex:1 1 auto;min-width:0;display:flex;flex-wrap:nowrap;align-items:center;gap:6px 12px;margin-top:0;overflow:hidden}.admin-user-tile-foot .admin-user-identity--empty{flex:1 1 auto;min-width:0}.admin-user-identity-item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex-shrink:1}.admin-user-tile .admin-user-actions{margin-top:0;padding-top:0;border-top:none;flex-shrink:0;display:flex;flex-direction:column;gap:6px}.admin-user-tile-foot .admin-user-actions{margin-top:0;padding-top:0;border-top:none;flex-shrink:0;margin-left:auto}.admin-user-row:hover{border-color:var(--line);background:var(--soft)}.admin-user-tile:hover{border-color:color-mix(in srgb,var(--accent-base, var(--brand)) 24%,var(--line));box-shadow:0 4px 14px #0f172a0f}.admin-user-row.is-inactive,.admin-user-row.is-inactive:hover{background:var(--soft)}.admin-user-main{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:start;min-width:0}.admin-user-avatar{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--brand-soft, var(--brand-soft));border:1px solid var(--brand-border, var(--brand-border));color:var(--brand-ink, var(--brand-ink));font-size:11px;font-weight:800;letter-spacing:.02em;flex-shrink:0;margin-top:1px;overflow:hidden}.admin-user-avatar.is-inactive{background:#f1f5f9;border-color:#e2e8f0;color:#64748b}.admin-user-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.admin-user-name{margin:0;font-size:13px;font-weight:800;color:var(--text);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-email{font-size:11px;color:var(--muted);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-empid{font-size:11px;font-weight:700;letter-spacing:.03em;color:var(--brand-ink, var(--brand));line-height:1.3}.admin-user-role{display:inline-flex;align-self:flex-start;max-width:100%;margin-top:1px;font-size:10px;font-weight:700;color:var(--muted);background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:2px 8px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-side{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0;min-width:0}.admin-user-status{font-size:9px;font-weight:700;border-radius:999px;padding:3px 8px;border:1px solid transparent;white-space:nowrap;line-height:1.3;text-transform:uppercase;letter-spacing:.03em}.admin-user-status.is-active{background:var(--ok-soft);border-color:var(--brand-border);color:var(--brand-ink)}.admin-user-status.is-inactive{background:#fff7ed;border-color:#fdba74;color:#9a3412}.admin-user-actions{display:flex;gap:4px;flex-wrap:nowrap;justify-content:flex-end;align-items:center}.admin-user-action{display:inline-grid;place-items:center;width:30px;height:30px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--muted);padding:0;cursor:pointer;flex-shrink:0}.admin-user-action:hover{background:var(--soft);border-color:var(--line);color:var(--text)}.admin-user-action.is-danger{color:#b91c1c;border-color:#fecaca;background:#fff1f2}.admin-user-action.is-danger:hover{background:#fee2e2}.admin-user-action.is-success{color:var(--brand-ink, var(--brand-ink));border-color:var(--brand-border, var(--brand-border));background:var(--brand-soft, var(--brand-soft))}.admin-user-action.is-success:hover{background:var(--btn-hover-tinted)}.admin-user-action:disabled{opacity:.55;cursor:not-allowed}@media(max-width:1200px){.admin-users-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media(max-width:900px){.admin-users-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}@media(max-width:720px){.admin-users-toolbar{flex-direction:row;align-items:stretch;flex-wrap:wrap;gap:8px}.admin-users-search{flex:1 1 100%;min-width:0;width:100%;max-width:none}.admin-users-toolbar .list-sort{flex:1 1 auto;min-width:0}.admin-users-toolbar .list-sort .list-sort-trigger{width:100%;min-height:40px}.admin-users-add{margin-left:0;flex:0 0 auto;width:auto;min-height:40px;padding:9px 14px;font-size:13px;font-weight:700;white-space:nowrap;overflow:visible;text-overflow:clip}.admin-users-list{grid-template-columns:1fr}.admin-user-tile{min-height:0}.admin-user-tile-layout{grid-template-columns:56px minmax(0,1fr) auto;gap:10px}.admin-user-tile .admin-user-avatar{width:56px;height:56px}.admin-user-tile-foot{padding-left:0;flex-wrap:wrap;row-gap:6px}.admin-user-tile-foot .admin-user-actions{margin-left:0}.admin-user-action{width:28px;height:28px}}.admin-user-form{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}.admin-user-form .entry-field label .req,.project-modal-card .entry-field label .req,.entry-field label .req,label .req,.req,.field-required-mark,.fm-required-star,.pc-enq-label>span,.pc-upload-label>span,.pc-boq-label>span,.pc-labour-label>span,.pc-mat-label>span,.margin-label .req,.clock-label .req,.eng-req-reject-field>span .req,.mp-specialization-grid-head .req{color:#dc2626!important;font-weight:800}.id-ocr-status{margin-top:4px;padding:8px 10px;border-radius:8px;font-size:11px;line-height:1.4;color:var(--muted);background:#f8fafc;border:1px solid #e2e8f0}.id-ocr-status--loading{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.id-ocr-status--done{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.id-ocr-status--error{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.id-ocr-preview{display:flex;align-items:flex-start;gap:14px;margin-top:12px;padding:12px;border-radius:12px;border:1px solid #e2e8f0;background:#f8fafc}.id-ocr-preview__photo{width:72px;height:88px;object-fit:cover;border-radius:8px;border:1px solid #dbe4ee;flex-shrink:0;background:#fff}.id-ocr-preview__photo--empty{display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--muted)}.id-ocr-preview__fields{margin:0;display:grid;gap:8px;min-width:0;flex:1}.id-ocr-preview__fields dt{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:2px}.id-ocr-preview__fields dd{margin:0;font-size:12px;font-weight:600;color:var(--text);word-break:break-word}.user-id-upload-step{gap:4px;padding-bottom:0;margin-bottom:0;border-bottom:none}.user-id-upload-step+.user-id-profile-block{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.user-id-upload-selected{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin-top:2px;margin-bottom:0;flex-wrap:wrap}.user-id-upload-selected__name{margin:0;flex:1;min-width:0}.user-id-upload-remove{align-self:flex-start;margin:0;padding:0;border:none;background:none;font-size:11px;font-weight:600;line-height:1.3;color:#b91c1c;cursor:pointer;text-transform:none;letter-spacing:normal}.user-id-upload-remove:hover:not(:disabled){text-decoration:underline;background:none;border-color:transparent}.user-id-upload-remove:disabled{opacity:.5;cursor:not-allowed}.user-id-profile-block{display:flex;flex-direction:column;gap:8px}.user-id-profile-block__head{display:flex;align-items:center;justify-content:space-between;gap:10px}.user-id-profile-block__remove{border:none;background:none;padding:0;font-size:12px;font-weight:600;color:#b91c1c;cursor:pointer;text-transform:none;letter-spacing:normal}.user-id-profile-block__remove:hover:not(:disabled){text-decoration:underline}.user-id-profile-block__remove:disabled{opacity:.5;cursor:not-allowed}.user-id-profile-block__label{font-size:12px;font-weight:600;color:var(--text);text-transform:none;letter-spacing:normal}.user-id-profile-block__row{display:flex;align-items:flex-start;gap:12px}.user-id-profile-block__photo{width:84px;height:102px;object-fit:cover;border-radius:12px;border:1px solid #dbe4ee;background:#fff;flex-shrink:0}.user-id-profile-block__photo--empty{display:flex;align-items:center;justify-content:center;padding:10px;font-size:11px;line-height:1.4;text-align:center;color:var(--muted);background:#f8fafc}.user-id-profile-block__actions{display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:0;padding-top:2px}.user-id-profile-block__file{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.user-id-profile-block__upload{align-self:flex-start;border:none;background:none;padding:0;font-size:12px;font-weight:600;line-height:1.3;color:var(--brand-ink, #166534);cursor:pointer;text-decoration:underline;text-underline-offset:2px;text-transform:none;letter-spacing:normal}.user-id-profile-block__upload:hover:not(:disabled){color:var(--brand, #16a34a)}.user-id-profile-block__upload:disabled{opacity:.5;cursor:not-allowed}.profile-photo-avatar__img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:cover;object-position:center center;display:block;padding:0;border-radius:inherit}.worker-profile-trigger{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;padding:0;margin:0;font:inherit;color:inherit;text-align:inherit;cursor:pointer}.worker-profile-trigger--cell{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;width:100%;min-width:0;padding-right:0;border-radius:8px;text-align:left}.worker-profile-trigger--cell:hover .fm-worker-name{color:var(--brand, #18765f);text-decoration:underline;text-underline-offset:2px}.worker-profile-trigger--mobile,.worker-profile-trigger--card{display:flex;align-items:flex-start;gap:10px;min-width:0;flex:1;text-align:left;border-radius:10px}.worker-profile-trigger--card:hover .crew-dir-card__name{text-decoration:underline;text-underline-offset:2px}.worker-profile-trigger--inline{display:inline-flex;align-items:center;gap:8px;vertical-align:middle}.fm-worker-cell__text{min-width:0}.admin-user-tile .admin-user-avatar .profile-photo-avatar__img{border-radius:11px}.fm-worker-avatar .profile-photo-avatar__img{border-radius:50%}.mem-gc-worker-avatar{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:#f1f5f9;border:1px solid #e2e8f0;flex-shrink:0;font-size:11px;font-weight:800;color:#475569;overflow:hidden}.mem-gc-worker-body{display:flex;align-items:center;gap:8px;min-width:0;flex:1 1 auto}.mem-gc-worker .worker-profile-trigger--inline{flex:1 1 auto;min-width:0}.admin-user-identity{display:flex;flex-wrap:nowrap;gap:6px 12px;margin-top:0;font-size:11px;color:var(--muted);line-height:1.3;min-width:0}.entry-input.invalid,.entry-select.invalid{border-color:#fca5a5;background:#fffafb;box-shadow:0 0 0 3px #ef444414}.entry-input.invalid:focus,.entry-select.invalid:focus{border-color:#f87171;box-shadow:0 0 0 3px #ef44441f}.rfi-raised-modal.admin-modal-card{border:1px solid color-mix(in srgb,var(--brand) 28%,var(--line));box-shadow:0 24px 60px #0f172a2e;overflow:hidden}.rfi-raised-overlay.admin-modal-overlay,.upload-drawing-overlay.rfi-raised-overlay.admin-modal-overlay{display:grid!important;place-items:center!important;justify-content:center!important;align-items:center!important;padding:24px!important}.rfi-raised-overlay .rfi-raised-modal,.upload-drawing-overlay .rfi-raised-modal{width:min(420px,calc(100vw - 40px))!important;height:auto!important;max-height:none!important;margin:auto!important;align-self:center!important;justify-self:center!important}.rfi-raised-modal .admin-form-head{align-items:flex-start;padding-bottom:14px;border-bottom:1px solid var(--hairline,#eef2f6)}.rfi-raised-modal__head{display:flex;align-items:flex-start;gap:12px}.rfi-raised-modal__icon{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:14px;background:color-mix(in srgb,var(--brand) 14%,#fff);color:var(--brand);border:1px solid color-mix(in srgb,var(--brand) 28%,var(--line));flex-shrink:0}.rfi-raised-modal .admin-form-head strong{font-size:16px;letter-spacing:-.01em}.rfi-raised-modal__lead{margin:0 0 14px;font-size:13px;line-height:1.5;color:var(--muted)}.rfi-raised-modal__summary{margin:0 0 18px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.9fr);gap:14px 20px;align-items:start;padding:16px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--brand) 5%,#fff),#f8fafc)}.rfi-raised-modal__summary>div{display:flex;flex-direction:column;gap:4px;min-width:0}.rfi-raised-modal__summary dt{margin:0;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.rfi-raised-modal__summary dd{margin:0;font-size:13px;font-weight:700;color:var(--text);line-height:1.35;word-break:break-word}.rfi-raised-modal .project-modal-footer{margin-top:4px;padding-top:14px;border-top:1px solid var(--hairline,#eef2f6);display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.rfi-raised-modal .project-modal-submit{min-width:132px}@media(max-width:480px){.rfi-raised-modal__summary{grid-template-columns:1fr;gap:12px}}.field-error{font-size:11px;color:#b91c1c;line-height:1.35;margin-top:2px}.field-hint{font-size:11px;color:var(--muted);line-height:1.35;margin-top:2px}.admin-form-footer{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding-top:6px;margin-top:4px;grid-column:1 / -1;border-top:1px solid var(--line)}.admin-form-footer .action.primary{min-width:120px}.confirm-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:14500;display:grid;place-items:center;padding:20px;background:#0f172a7a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.confirm-dialog{position:relative;width:min(400px,calc(100vw - 32px));display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--card);color:var(--text);box-shadow:0 24px 64px #0f172a3d;animation:confirm-dialog-in .2s ease-out}@keyframes confirm-dialog-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.confirm-dialog--danger{border-color:color-mix(in srgb,#ef4444 40%,var(--line))}.confirm-dialog--primary{border-color:var(--brand-border)}.confirm-dialog--primary .confirm-dialog-icon{background:var(--brand-soft);color:var(--brand);border:1px solid var(--brand-border)}.confirm-dialog--warning{border-color:color-mix(in srgb,#f59e0b 40%,var(--line))}.confirm-dialog--warning .confirm-dialog-icon{background:#fff7ed;color:#c2410c;border:1px solid #fdba74}.confirm-dialog--warning .confirm-dialog-title{font-size:20px;font-weight:800;letter-spacing:-.02em;color:var(--text, #0f172a);max-width:18em}.confirm-dialog-submit--primary{background:var(--brand);border-color:var(--brand-border);color:#fff;box-shadow:0 4px 14px color-mix(in srgb,var(--brand) 28%,transparent)}.confirm-dialog-submit--primary:hover:not(:disabled){background:var(--btn-hover-solid);border-color:var(--btn-hover-solid)}.confirm-dialog-submit--warning{background:var(--brand);border-color:var(--brand-border);color:#fff!important;box-shadow:0 4px 14px color-mix(in srgb,var(--brand) 28%,transparent)}.confirm-dialog-submit--warning:hover:not(:disabled){background:var(--btn-hover-solid, var(--brand));border-color:var(--btn-hover-solid, var(--brand));color:#fff!important}.confirm-dialog-close{position:absolute;top:12px;right:12px;z-index:1;width:32px;height:32px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--muted);cursor:pointer;display:grid;place-items:center;transition:background .15s,color .15s,border-color .15s}.confirm-dialog-close:hover:not(:disabled){background:var(--soft);border-color:var(--line);color:var(--text)}.confirm-dialog-close:disabled{opacity:.5;cursor:not-allowed}.confirm-dialog-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:28px 24px 8px}.confirm-dialog-icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;font-size:20px;flex-shrink:0;background:var(--soft);border:1px solid var(--line);color:var(--muted)}.confirm-dialog--danger .confirm-dialog-icon{background:color-mix(in srgb,#ef4444 12%,var(--card));border-color:color-mix(in srgb,#ef4444 35%,var(--line));color:#dc2626}.confirm-dialog-title{margin:0;font-size:18px;font-weight:800;color:var(--text);line-height:1.3}.confirm-dialog-body{padding:8px 24px 4px;text-align:center}.confirm-dialog-message{margin:0;font-size:13px;line-height:1.6;color:var(--muted)}.confirm-dialog-detail{margin:10px 0 0;font-size:12px;color:var(--muted);line-height:1.45}.confirm-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:18px 20px 20px}.confirm-dialog-cancel{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--text);font-size:13px;font-weight:600;padding:10px 14px;cursor:pointer;transition:background .15s,border-color .15s}.confirm-dialog-cancel:hover:not(:disabled){background:var(--soft);border-color:var(--line)}.confirm-dialog-cancel:disabled{opacity:.55;cursor:not-allowed}.confirm-dialog-submit{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1px solid transparent;border-radius:10px;font-size:13px;font-weight:700;padding:10px 14px;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s}.confirm-dialog-submit--danger{background:#dc2626;border-color:#b91c1c;color:#fff;box-shadow:0 4px 14px #dc262638}.confirm-dialog-submit--danger:hover:not(:disabled){background:#b91c1c;border-color:#991b1b}.confirm-dialog-submit:disabled{opacity:.65;cursor:not-allowed;box-shadow:none}.card.kpi.kpi-clickable{cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.card.kpi.kpi-clickable:hover{border-color:#cbd5e1;box-shadow:0 8px 24px #0f172a14;transform:translateY(-1px)}.card.kpi.kpi-clickable:focus-visible{outline:2px solid var(--brand-border);outline-offset:2px}.request-success-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:14600;display:grid;place-items:center;padding:20px;background:#0f172a7a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.request-success-card{width:min(380px,calc(100vw - 32px));border-radius:18px;background:#fff;border:1px solid #dbe4f0;box-shadow:0 24px 60px #0f172a3d;padding:28px 24px 22px;text-align:center}.request-success-icon{width:56px;height:56px;margin:0 auto 14px;border-radius:999px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand);border:1px solid var(--brand-border)}.request-success-title{margin:0;font-size:18px;font-weight:800;color:#0f172a}.request-success-message{margin:8px 0 0;font-size:14px;line-height:1.45;color:#475569}.request-success-detail{margin:10px 0 0;font-size:13px;font-weight:700;color:#15803d}.request-success-btn{margin-top:18px;min-width:120px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--brand-border);border-radius:999px;background:var(--brand-soft);color:var(--brand-ink);font-size:13px;font-weight:700;padding:10px 18px;cursor:pointer}.request-success-btn:hover{background:var(--ok-soft);border-color:var(--brand-border)}.request-followup-card{width:min(420px,calc(100vw - 32px))}.request-followup-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:18px}.request-followup-action{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #dbe4f0;border-radius:12px;background:#f8fafc;color:#0f172a;font-size:12px;font-weight:700;padding:12px 8px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:76px;transition:background .15s ease,border-color .15s ease,transform .15s ease}.request-followup-action:hover{background:var(--brand-soft);border-color:var(--brand-border);transform:translateY(-1px)}.request-followup-action:focus-visible{outline:2px solid var(--brand-border);outline-offset:2px}.request-followup-done{margin-top:14px}@media(max-width:480px){.request-followup-actions{grid-template-columns:1fr}}.admin-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10050;display:flex;justify-content:flex-end;align-items:stretch;padding:0;background:#0f172a47;overflow:hidden;overscroll-behavior:none;animation:admin-sheet-fade .16s ease-out}.admin-modal-overlay--center{display:grid;place-items:center;align-content:center;padding:20px;background:#0f172a6b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:none;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.admin-modal-overlay--center .admin-modal-card,.admin-modal-overlay--center .project-modal-card{width:min(520px,calc(100vw - 32px));height:auto;max-height:min(92dvh,calc(100dvh - 32px));margin:auto;border-radius:20px;border:1px solid var(--line, #e8e4dc);box-shadow:0 24px 60px #0f172a33;animation:none;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.upload-drawing-overlay.admin-modal-overlay{display:grid!important;place-items:center!important;justify-content:center!important;align-items:center!important;padding:24px!important;background:#0f172a6b!important}.upload-drawing-overlay .admin-modal-card,.upload-drawing-overlay .project-modal-card{width:min(520px,calc(100vw - 40px))!important;height:auto!important;max-height:min(88dvh,calc(100dvh - 48px))!important;margin:auto!important;border-radius:20px!important;border:1px solid var(--line, #e8e4dc)!important;box-shadow:0 24px 60px #0f172a38!important;animation:none!important}.upload-drawing-overlay .project-modal-card.project-modal-card--issue,.admin-modal-overlay--center .project-modal-card.project-modal-card--issue{width:min(460px,calc(100vw - 40px))!important;height:auto!important;min-height:0!important;max-height:min(82dvh,calc(100dvh - 24px))!important;overflow:hidden!important}.add-bill-overlay.admin-modal-overlay{overflow:hidden!important}.add-bill-overlay .project-modal-card--bill{display:flex!important;flex-direction:column!important;max-height:min(88dvh,calc(100dvh - 48px))!important;height:auto!important;min-height:0!important;overflow:hidden!important}.add-bill-overlay .project-modal-card--bill .admin-form-head{flex-shrink:0}.add-bill-overlay .project-modal-card--bill .add-bill-form{flex:1;min-height:0;display:flex;flex-direction:column;gap:0}.add-bill-overlay .project-modal-card--bill .project-modal-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:16px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:12px 20px 8px}.add-bill-overlay .project-modal-card--bill .project-modal-footer{flex-shrink:0;margin:0;padding:12px 20px 16px;background:var(--card, #fff);border-top:1px solid var(--line, #e2e8f0)}.add-bill-overlay .project-modal-card--bill .media-upload-preview img{max-height:88px}.upload-drawing-overlay .project-modal-card.view-bill-modal,.view-bill-modal{display:flex!important;flex-direction:column!important;width:min(480px,calc(100vw - 40px))!important;max-height:min(90dvh,calc(100dvh - 32px))!important;min-height:0!important;overflow:hidden!important}.view-bill-modal .admin-form-head{flex-shrink:0;align-items:center;padding:16px 18px 14px!important}.view-bill-modal .admin-form-head strong{font-size:16px;line-height:1.2}.view-bill-modal .admin-form-sub{margin:2px 0 0}.view-bill-modal-body{flex:1;min-height:0;display:flex;flex-direction:column}.view-bill-modal .project-modal-body{display:flex;flex-direction:column;gap:22px;padding:0}.view-bill-modal-scroll{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:18px 20px 24px;scrollbar-width:none;-ms-overflow-style:none}.view-bill-modal-scroll::-webkit-scrollbar{display:none}.view-bill-facts{display:grid;grid-template-columns:92px minmax(0,1fr);column-gap:16px;row-gap:16px;align-items:center;width:100%}.view-bill-fact-label{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted, #64748b);line-height:1.2;text-align:left}.view-bill-fact-value{min-width:0;font-size:13px;font-weight:700;color:var(--text, #0f172a);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.view-bill-fact-value .eng-proj-pill{vertical-align:middle}.view-bill-fact-value:has(.eng-proj-pill){overflow:visible;white-space:normal}.view-bill-file-link{display:block;min-width:0;margin:0;padding:0;border:0;background:none;font:inherit;font-size:13px;font-weight:700;line-height:1.35;color:var(--accent-base, #9a6700)!important;text-align:left;text-decoration:underline;text-underline-offset:2px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.view-bill-file-link:hover{color:var(--accent-ink, #7a5200)}.view-bill-file-name{display:block;min-width:0;font-size:13px;line-height:1.35;color:var(--muted, #64748b);font-weight:500;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.view-bill-comments{margin:0;border:1px solid var(--line, #e8e2d6);border-radius:10px;background:#fff;overflow:hidden}.view-bill-comments-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px;padding:0 14px;border-bottom:1px solid var(--line, #e8e2d6)}.view-bill-comments-head b{font-size:12px;font-weight:800;line-height:20px}.view-bill-comments-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;font-size:11px;font-weight:800;line-height:1;color:var(--muted, #64748b);background:#f1f5f9}.view-bill-comments-list{list-style:none;margin:0;padding:14px 14px 16px;display:flex;flex-direction:column;gap:10px;max-height:220px;overflow-y:auto}.view-bill-comment{min-width:0}.view-bill-comment-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.view-bill-comment-who{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0;min-width:0}.view-bill-comment-who strong{font-size:12px;font-weight:800;line-height:1.3}.view-bill-comment-who span{font-size:12px;color:var(--muted, #64748b);font-weight:500;line-height:1.3}.view-bill-comment-who em{font-style:normal;font-size:11px;font-weight:700;color:var(--accent-base, #9a6700);line-height:1.3}.view-bill-comment-time{flex-shrink:0;font-size:11px;color:var(--muted, #64748b);line-height:1.3;text-align:right}.view-bill-comment-text{margin:6px 0 0;font-size:13px;line-height:1.45;color:var(--text, #0f172a)}.view-bill-modal-foot{flex-shrink:0;display:flex;flex-direction:column;gap:10px;padding:14px 18px 16px;border-top:1px solid var(--line, #e2e8f0);background:var(--card, #fff)}.view-bill-modal-foot .eng-req-reject-field{gap:4px;font-size:12px}.view-bill-modal-foot .eng-req-reject-field textarea{min-height:40px!important;height:40px;max-height:40px;padding:8px 10px!important;border-radius:8px;resize:none;border-color:var(--line, #e2e8f0);line-height:1.35}.view-bill-modal-foot .eng-req-reject-field textarea:hover,.view-bill-modal-foot .eng-req-reject-field textarea:focus{border-color:color-mix(in srgb,var(--accent-base, #b8860b) 45%,var(--line, #e2e8f0));box-shadow:none}.view-bill-modal-actions,.view-bill-modal-actions.eng-req-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:0!important;margin:0;border:none;background:transparent}.view-bill-comment-hint{margin:0;font-size:11px;color:var(--muted, #64748b);font-weight:500}.view-bill-modal-foot .eng-req-reject-field.is-invalid textarea{border-color:#c44b43}.admin-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10050;display:flex;justify-content:flex-end;align-items:stretch;background:#0f172a47;overflow:hidden;overscroll-behavior:none;animation:admin-sheet-fade .16s ease-out}.admin-sheet-overlay.stacked{z-index:14000}.admin-sheet-overlay--center{display:grid;place-items:center;justify-content:center;align-items:center;padding:24px;background:#0f172a6b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.admin-sheet-overlay--center .admin-sheet,.admin-sheet--center{width:min(520px,calc(100vw - 40px));height:auto;max-height:min(88dvh,calc(100dvh - 48px));margin:auto;border-radius:20px;border:1px solid var(--line, #e8e4dc);box-shadow:0 24px 60px #0f172a38;animation:none}.admin-sheet{width:min(440px,100vw);height:100%;max-height:100dvh;display:flex;flex-direction:column;background:#fff;border-left:1px solid #e8e4dc;box-shadow:-18px 0 48px #0f172a24;animation:admin-sheet-slide .22s cubic-bezier(.22,1,.36,1)}.admin-sheet-head{flex-shrink:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid #ece8e1;background:#fff}.admin-sheet-head-copy{min-width:0;flex:1}.admin-sheet-subtitle{margin:4px 0 0;font-size:12px;line-height:1.45;font-weight:500;color:#8a8478}.admin-sheet--wide{width:min(560px,100vw)}.admin-sheet--xl{width:min(680px,100vw)}.admin-sheet--user{width:min(920px,100vw)}.admin-sheet .project-modal-section{margin-bottom:18px}.admin-sheet .project-modal-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.admin-sheet .project-modal-section-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-sheet .project-modal-section-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8a8478}.admin-sheet .project-modal-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}@media(max-width:640px){.admin-sheet .project-modal-row{grid-template-columns:1fr}}.admin-sheet-title,.admin-sheet-head strong{margin:0;font-size:16px;font-weight:700;line-height:1.3;color:#1f1c17!important;letter-spacing:-.01em}.admin-sheet-close{width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:#8a8478!important;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.admin-sheet-close svg{display:block;stroke:currentColor}.admin-sheet-close:hover{background:#f4f1ea;color:#1f1c17!important}.admin-sheet-form{display:flex;flex-direction:column;flex:1;min-height:0}.admin-sheet-body{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:18px 20px 24px;overscroll-behavior:contain}.admin-sheet-footer{flex-shrink:0;display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid #ece8e1;background:#fff}.admin-sheet-btn{min-height:38px;padding:0 16px;border:1px solid #d8d2c6;border-radius:10px;background:#fff;color:#1f1c17;font-size:13px;font-weight:600;cursor:pointer}.admin-sheet-btn:hover:not(:disabled){background:#faf8f4}.admin-sheet-btn:disabled{opacity:.6;cursor:not-allowed}.admin-sheet-btn--primary{border-color:transparent;background:var(--accent-base, #8a6d2e);color:#fff}.admin-sheet-btn--primary:hover:not(:disabled){filter:brightness(.96);background:var(--accent-base, #8a6d2e)}.milestone-import-preview{margin-bottom:14px;padding:12px 14px;border:1px solid #ece8e1;border-radius:10px;background:#faf8f4}.milestone-import-preview-list{margin:8px 0 0;padding-left:18px;color:#4b5563;font-size:12px}.milestone-import-preview-list li+li{margin-top:4px}.admin-sheet .admin-user-form{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px}.admin-user-form-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 24px;align-items:start}.admin-user-form-section{display:flex;flex-direction:column;gap:12px;min-width:0}.admin-user-project-note{margin:0 0 14px;padding:10px 12px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0;font-size:13px;color:#334155}.admin-user-form-section-title{margin:0;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8a8478;padding-bottom:8px;border-bottom:1px solid #ece8e1}.admin-user-form-section .admin-user-form{display:flex;flex-direction:column;gap:14px;grid-template-columns:unset}.admin-user-form-section .admin-user-form .entry-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-emp-detail-body{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:16px 20px 24px}.admin-sheet--emp-detail{width:min(760px,100vw)}.admin-emp-detail-loading{margin:0 0 12px}.admin-emp-detail-head{display:flex;align-items:center;gap:14px;margin-bottom:16px;padding:14px 16px;border:1px solid #ece8e1;border-radius:14px;background:linear-gradient(180deg,#fff,#faf8f4)}.admin-emp-detail-head__photo{width:64px;height:64px;border-radius:14px;flex-shrink:0;border:1px solid #e8e4dc;overflow:hidden}.admin-emp-detail-head__photo .profile-photo-avatar__img{width:100%;height:100%;object-fit:cover}.admin-emp-detail-head__copy{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1}.admin-emp-detail-head__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.admin-emp-detail-status{display:inline-flex;align-items:center;width:fit-content;min-height:24px;padding:0 10px;border-radius:999px;font-size:11px;font-weight:700;background:#f1f5f9;color:#64748b}.admin-emp-detail-status.is-active{background:#dcfce7;color:#166534}.admin-emp-detail-roles{display:flex;flex-wrap:wrap;gap:6px}.admin-emp-detail-role{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:999px;font-size:11px;font-weight:700;background:#dbeafe;color:#1d4ed8}.admin-emp-detail-sections{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start;margin-bottom:14px}.admin-emp-detail-panel{display:flex;flex-direction:column;gap:12px;min-width:0;padding:14px 16px;border:1px solid #ece8e1;border-radius:14px;background:#fff}.admin-emp-detail-panel--full{margin-bottom:0}.admin-emp-detail-panel__title{margin:0;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8a8478;padding-bottom:10px;border-bottom:1px solid #ece8e1}.admin-emp-detail-grid{display:grid;grid-template-columns:1fr;gap:12px}.admin-emp-detail-grid-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-emp-detail-field{display:flex;flex-direction:column;gap:4px;min-width:0}.admin-emp-detail-field__label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8a8478}.admin-emp-detail-field__value{font-size:13px;line-height:1.45;color:#1f1c17;word-break:break-word}.admin-emp-detail-field__value.is-mono{font-family:var(--font-mono)}.admin-emp-detail-project-list{margin:0;padding-left:18px;color:#1f1c17;font-size:13px;line-height:1.6}@media(max-width:820px){.admin-emp-detail-sections{grid-template-columns:1fr}.admin-sheet--emp-detail{width:min(560px,100vw)}}@media(max-width:820px){.admin-user-form-layout{grid-template-columns:1fr}.admin-sheet--user{width:min(560px,100vw)}}@media(max-width:520px){.admin-user-form-section .admin-user-form .entry-field-row,.admin-emp-detail-grid-row{grid-template-columns:1fr}}.all-people-roster__project{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.admin-sheet .entry-field{display:flex;flex-direction:column;gap:6px;min-width:0}.admin-sheet .entry-field.entry-full{grid-column:1 / -1}.admin-sheet .org-skills-form{display:flex;flex-direction:column;gap:14px}.admin-sheet .org-skills-form-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}@media(max-width:640px){.admin-sheet .org-skills-form-row{grid-template-columns:1fr}}.admin-sheet .entry-field>label,.admin-sheet .entry-field>span,.admin-sheet .user-id-profile-block__label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8a8478}.admin-sheet .entry-input,.admin-sheet .entry-select{width:100%;min-height:40px;padding:8px 12px;border:1px solid #e0dbd1;border-radius:10px;background:#fff;color:#1f1c17;font-size:13px;box-sizing:border-box}.admin-sheet .entry-textarea{min-height:88px;resize:vertical;font-family:inherit}.admin-sheet .entry-input:focus,.admin-sheet .entry-select:focus{outline:none;border-color:color-mix(in srgb,var(--accent-base, #8a6d2e) 55%,#e0dbd1);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-base, #8a6d2e) 16%,transparent)}.admin-sheet .entry-input.entry-input--locked,.admin-sheet .entry-select.entry-input--locked,.admin-sheet .entry-input.entry-input--locked:focus,.admin-sheet .entry-select.entry-input--locked:focus{cursor:default;pointer-events:none;-webkit-user-select:none;user-select:none;caret-color:transparent;background:#f3f0ea;color:#6b6560;box-shadow:none;border-color:#e0dbd1;outline:none}.admin-sheet .entry-select.entry-input--locked:disabled{opacity:1}.admin-sheet .entry-input.invalid,.admin-sheet .entry-select.invalid{border-color:#dc2626}.admin-sheet .field-hint,.admin-sheet .field-error{margin:0;font-size:11px}.admin-sheet .field-error{color:#dc2626}@keyframes admin-sheet-fade{0%{opacity:0}to{opacity:1}}@keyframes admin-sheet-slide{0%{transform:translate(100%)}to{transform:translate(0)}}@media(max-width:640px){.admin-sheet,.admin-sheet--wide,.admin-sheet--xl,.admin-sheet--user{width:100vw}}.tenant-image-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50000;display:grid;place-items:center;padding:24px}.tenant-image-lightbox-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172ab8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.tenant-image-lightbox-dialog{position:relative;z-index:1;width:min(920px,calc(100vw - 32px));max-height:calc(100vh - 48px);display:flex;flex-direction:column;background:#fff;border-radius:18px;border:1px solid #dbe4f0;box-shadow:0 24px 60px #0f172a47;overflow:hidden}.tenant-image-lightbox-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.tenant-image-lightbox-title{font-size:14px;font-weight:700;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.tenant-image-lightbox-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.tenant-image-lightbox-download{width:34px;height:34px;display:grid;place-items:center;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#0f172a;text-decoration:none;cursor:pointer;flex-shrink:0}.tenant-image-lightbox-download:hover{background:#f1f5f9}.tenant-image-lightbox-close{width:34px;height:34px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#334155;font-size:22px;line-height:1;cursor:pointer;flex-shrink:0}.tenant-image-lightbox-close:hover{background:#f1f5f9}.tenant-image-lightbox-body{padding:16px;background:#0f172a;display:grid;place-items:center;overflow:auto;min-height:240px}.tenant-image-lightbox--pdf .tenant-image-lightbox-dialog,.tenant-image-lightbox--other .tenant-image-lightbox-dialog{width:min(1100px,calc(100vw - 32px))}.tenant-image-lightbox--pdf .tenant-image-lightbox-body{padding:0;background:#fff}.tenant-image-lightbox-frame{width:100%;height:calc(100vh - 160px);min-height:420px;border:0;background:#fff}.tenant-image-lightbox-fallback{color:#e2e8f0;text-align:center;padding:48px 24px;font-size:14px;line-height:1.5;max-width:360px}.tenant-image-lightbox-img{max-width:100%;max-height:calc(100vh - 180px);object-fit:contain;border-radius:10px;background:#0f172a}.admin-modal-card{width:min(440px,100vw);height:100%;max-height:100dvh;display:flex;flex-direction:column;overflow:hidden;margin:0;border:0;border-left:1px solid #e8e4dc;border-radius:0;background:var(--card, #fff);box-shadow:-18px 0 48px #0f172a24;animation:admin-sheet-slide .22s cubic-bezier(.22,1,.36,1)}.admin-modal-card.project-modal-card{width:min(560px,100vw)}.admin-modal-card.project-modal-card--manpower,.admin-modal-card.admin-modal-card--wide{width:min(680px,100vw)}.admin-modal-overlay.admin-modal-overlay--manpower-full{justify-content:stretch;align-items:stretch;padding:0;background:#0f172a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.admin-modal-overlay.admin-modal-overlay--manpower-full .admin-modal-card.project-modal-card--manpower,.admin-modal-overlay.admin-modal-overlay--manpower-full .admin-modal-card.project-modal-card--manpower.project-modal-card--manpower-picker{width:100vw;max-width:none;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0;box-shadow:none;animation:none}.admin-modal-card.admin-modal-card--payroll{width:min(480px,100vw)}.admin-modal-card .admin-form-head{position:sticky;top:0;z-index:1;flex-shrink:0;padding:18px 20px;border-bottom:1px solid #ece8e1;background:#fff}.admin-modal-card .admin-form-head strong{font-size:16px;font-weight:700;color:#1f1c17}.admin-modal-card .admin-form-sub{margin:4px 0 0;font-size:12px;color:#8a8478}.material-request-card .material-request-footer{flex-shrink:0;margin-top:auto}.material-request-card .material-request-form{display:flex;flex-direction:column;flex:1;min-height:0}.material-request-card .material-request-form-scroll{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto}.admin-modal-card .admin-form-body{overflow-x:hidden;overflow-y:auto;flex:1;min-height:0;overscroll-behavior:contain}.admin-modal-card--user{max-height:min(92dvh,calc(100dvh - 32px));width:min(520px,calc(100vw - 32px));display:flex;flex-direction:column;border:1px solid rgba(134,239,172,.35);border-radius:22px;box-shadow:0 1px 2px #0f172a0a,0 18px 48px #0f172a29;overflow:hidden;position:relative}.admin-modal-card--user:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--brand),var(--brand),var(--brand-border),var(--brand-border));pointer-events:none}.admin-modal-card--user .admin-user-modal-head{align-items:flex-start;gap:14px;padding:20px 20px 16px;background:linear-gradient(180deg,var(--brand-soft) 0%,#ffffff 70%);border-bottom:1px solid #e8eef5}.admin-user-modal-head-main{display:flex;align-items:flex-start;gap:12px;min-width:0;flex:1}.admin-user-modal-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;flex-shrink:0;color:var(--brand-ink);background:linear-gradient(145deg,var(--brand-soft),var(--brand-border));border:1px solid var(--brand-border);box-shadow:0 6px 14px #22c55e29}.admin-user-modal-head-text{min-width:0}.admin-modal-card--user .admin-form-head strong{font-size:17px;font-weight:800;letter-spacing:-.02em;color:#0f172a}.admin-modal-card--user .admin-form-sub{margin-top:5px;font-size:12px;color:#64748b;line-height:1.45;max-width:360px}.admin-modal-card--user .admin-user-form-shell{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.admin-modal-card--user .admin-form-body{overflow-x:hidden;overflow-y:auto;flex:1;min-height:0;max-height:none;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:18px 20px 20px;background:linear-gradient(180deg,#fff,#f8fbff)}.admin-modal-card--user .admin-user-form{gap:14px 14px}.admin-modal-card--user .entry-field label{font-size:11px;font-weight:700;letter-spacing:.04em;color:#64748b}.admin-modal-card--user .entry-input,.admin-modal-card--user .entry-select{border:1px solid #e2e8f0;border-radius:12px;background:#fff;padding:11px 12px;font-size:13px;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.admin-modal-card--user .entry-input:hover,.admin-modal-card--user .entry-select:hover{border-color:#cbd5e1}.admin-modal-card--user .entry-input:focus,.admin-modal-card--user .entry-select:focus{border-color:var(--brand-border);background:#fff;box-shadow:0 0 0 3px #86efac38;outline:none}.admin-modal-card--user .password-field-wrap .entry-input{padding-right:44px}.admin-modal-card--user .password-toggle-btn{color:#64748b}.admin-modal-card--user .password-toggle-btn:hover{background:var(--brand-soft);color:var(--brand-ink)}.admin-modal-card--user .admin-form-footer{display:flex;justify-content:flex-end;align-items:center;flex-shrink:0;margin-top:0;padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));gap:10px;border-top:1px solid #e8eef5;background:#fff;box-shadow:0 -8px 16px #0f172a0a;z-index:2}.admin-modal-card--user .admin-form-footer .action{border-radius:12px;padding:10px 16px;font-weight:700;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.admin-modal-card--user .admin-form-footer .action.primary{min-width:132px;background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-ink);box-shadow:0 4px 12px color-mix(in srgb,var(--brand) 18%,transparent)}.admin-modal-card--user .admin-form-footer .action.primary:disabled{opacity:.55;box-shadow:none;transform:none}.admin-modal-card--user .admin-form-footer .action.primary:hover:not(:disabled){background:var(--btn-hover-tinted);border-color:var(--brand-border);transform:translateY(-1px);box-shadow:0 8px 18px color-mix(in srgb,var(--brand) 22%,transparent)}.admin-modal-card--user .admin-modal-close{border-radius:12px;border-color:#dbe4f0;background:#fff;transition:background .15s ease,border-color .15s ease}.admin-modal-card--user .admin-modal-close:hover{background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-ink)}@media(max-width:560px){.admin-modal-card--user{width:min(100%,calc(100vw - 24px));border-radius:18px;max-height:min(92dvh,calc(100dvh - 24px))}.admin-modal-card--user .admin-user-modal-head,.admin-modal-card--user .admin-form-body,.admin-modal-card--user .admin-form-footer{padding-left:16px;padding-right:16px}.admin-modal-card--user .admin-user-form{grid-template-columns:1fr}}.admin-modal-close{width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--muted);cursor:pointer;display:grid;place-items:center;flex-shrink:0;transition:background .15s,color .15s;font-size:18px;line-height:1;font-weight:600}.admin-modal-close svg,.material-request-close svg,.clock-modal-close svg,.eng-req-modal-close svg{display:block;width:16px;height:16px;stroke:currentColor;flex-shrink:0}.admin-modal-overlay.stacked{z-index:14000}.project-modal-card{width:min(720px,calc(100vw - 32px));max-height:min(92dvh,calc(100dvh - 40px));display:flex;flex-direction:column;overflow:hidden;border-radius:22px}.project-modal-card--issue .admin-form-head{padding:12px 18px 8px}.project-modal-card--issue .admin-form-head strong{font-size:16px}.project-modal-card--issue .admin-form-head .admin-form-sub{margin-top:2px;font-size:12px}.project-modal-card--issue .project-modal-form{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:0;overflow:hidden}.project-modal-card--issue .project-modal-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:8px;padding:4px 18px 6px;overflow-x:hidden;overflow-y:auto}.project-modal-card--issue .project-modal-form .entry-field{gap:3px}.project-modal-card--issue .project-modal-row{gap:8px}.project-modal-card--issue .project-modal-body>.entry-field:nth-child(2){flex:0 0 auto;min-height:0}.project-modal-card--issue .project-modal-form .entry-input,.project-modal-card--issue .project-modal-form .entry-select,.project-modal-card--issue .project-modal-form .entry-textarea{min-height:36px;font-size:13px;padding:7px 12px}.project-modal-card--issue .project-modal-form textarea.entry-input{min-height:48px;max-height:72px;flex:none;resize:vertical;line-height:1.4;padding:6px 10px}.project-modal-card--issue .project-modal-form textarea.entry-input--compact{min-height:40px;max-height:56px}.project-modal-card--issue .project-modal-footer{flex-shrink:0;padding:8px 20px 12px}.project-modal-card--issue .project-modal-footer .admin-sheet-btn,.project-modal-card--issue .project-modal-footer .action{min-height:36px;padding:8px 16px;font-size:13px}.issue-assignee-field{display:flex;flex-direction:column;gap:4px}.issue-assignee-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none}.issue-assignee-trigger:after{content:"";width:8px;height:8px;margin-left:8px;flex-shrink:0;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.55}.issue-assignee-field.is-open .issue-assignee-trigger:after{transform:rotate(-135deg) translateY(-1px)}.issue-assignee-menu{margin:0;padding:4px 0;list-style:none;border:1px solid var(--line, #e8e4dc);border-radius:10px;background:#fff;box-shadow:0 8px 18px #0f172a1a}.issue-assignee-menu li{margin:0}.issue-assignee-menu button{display:block;width:100%;text-align:left;border:0;background:none;padding:8px 12px;font:inherit;font-size:13px;color:inherit;cursor:pointer}.issue-assignee-menu button:hover,.issue-assignee-menu button.is-selected{background:#2563eb;color:#fff}.project-modal-card .admin-form-head{padding:18px 20px;flex-shrink:0}.project-modal-body{padding:18px 20px 20px;overflow-x:hidden;overflow-y:auto;flex:1;min-height:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.project-modal-card .manpower-assign-form.project-modal-form--fill{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;gap:0}.project-modal-card .manpower-assign-form.project-modal-form--fill>.project-modal-body{flex:1;min-height:0;display:flex;flex-direction:column;padding:0}.project-modal-card .manpower-assign-form.project-modal-form--fill>.project-modal-footer{flex-shrink:0;margin:0;padding:8px 22px 14px;background:var(--card, #fff);border-top:1px solid var(--line, #e2e8f0)}.project-modal-card--manpower .manpower-assign-form.project-modal-form--fill>.project-modal-footer{padding-top:8px;margin-top:0}.project-modal-card--manpower .manpower-assign-tree-panel{flex:1 1 auto;min-height:240px;max-height:calc(96dvh - 168px)}.manpower-assign-form .project-team-list{max-height:none;overflow:visible}.project-modal-form{display:flex;flex-direction:column;gap:16px;min-width:0}.project-modal-form .entry-field{min-width:0;display:flex;flex-direction:column;gap:6px}.project-modal-form .entry-field label{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.project-modal-form .entry-input,.project-modal-form .entry-select,.project-modal-form .entry-textarea{width:100%;min-width:0;box-sizing:border-box}.project-modal-form .entry-time-input.fm-time-12h,.admin-user-form .entry-time-input.fm-time-12h,.eng-req-modal-body .entry-time-input.fm-time-12h{width:100%;min-width:0;box-sizing:border-box;border-radius:12px;background:var(--soft, #f8fbff);border:1px solid var(--line);padding:6px 11px;gap:6px}.eng-req-modal-body .entry-time-input.fm-time-12h:focus-within{background:var(--card, #fff);border-color:var(--brand-border);box-shadow:0 0 0 3px #16a34a14}.project-modal-form .entry-time-input.fm-time-12h:focus-within,.admin-user-form .entry-time-input.fm-time-12h:focus-within{background:var(--card, #fff);border-color:var(--brand-border);box-shadow:0 0 0 3px #16a34a14}.project-modal-form .entry-time-input.fm-time-12h.invalid,.admin-user-form .entry-time-input.fm-time-12h.invalid{border-color:#fca5a5;background:color-mix(in srgb,#ef4444 8%,var(--card, #fff));box-shadow:0 0 0 3px #ef444414}.project-modal-form .field-hint{margin:0;font-size:12px;line-height:1.45}.project-modal-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}.project-modal-section{display:flex;flex-direction:column;gap:12px;min-width:0;padding:12px 14px 14px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--soft) 55%,transparent)}.project-modal-form .entry-textarea{min-height:78px;resize:vertical;line-height:1.45;padding:10px 12px}.project-modal-card--manpower-picker{width:min(760px,calc(100vw - 24px));height:auto;max-height:min(78dvh,calc(100dvh - 24px))}.project-modal-card--manpower{width:min(1080px,calc(100vw - 20px));max-height:min(96dvh,calc(100dvh - 12px));height:min(96dvh,calc(100dvh - 12px));border-radius:16px}.admin-modal-overlay--manpower-full .project-modal-card--manpower{width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.project-modal-card--manpower.project-modal-card--manpower-picker{height:auto;max-height:min(78dvh,calc(100dvh - 24px))}.manpower-modal-edit{margin-right:4px;align-self:center}.manpower-team-email{display:block;width:100%;font-size:11px;font-weight:500;color:var(--muted, #64748b);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.manpower-assign-tabs{display:flex;gap:4px;margin:0;padding:0 20px;flex-shrink:0;background:var(--card, #fff);border-bottom:1px solid var(--line, #e2e8f0)}.manpower-assign-tab{position:relative;border:none;background:transparent;padding:6px 14px 10px;font-size:13px;font-weight:650;color:var(--muted, #64748b);cursor:pointer}.manpower-assign-tab:hover,.manpower-assign-tab.is-active{color:var(--text, #0f172a)}.manpower-assign-tab.is-active:after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;border-radius:2px;background:var(--brand, #a8822f)}.manpower-view-shell{display:flex;flex-direction:column;flex:1;min-height:0}.manpower-view-body{padding-top:0!important;overflow-x:auto!important;overflow-y:auto!important}.project-modal-card--manpower .manpower-assign-form.project-modal-form--fill>.project-modal-body{overflow:hidden}.project-modal-card--manpower .manpower-assign-form .error-banner{margin:10px 20px 0}.project-modal-card--manpower .manpower-save-notice{display:flex;align-items:center;gap:8px;margin:10px 20px 0;padding:10px 12px;border-radius:10px;border:1px solid color-mix(in srgb,#16a34a 35%,var(--line, #e2e8f0) 65%);background:color-mix(in srgb,#dcfce7 72%,#fff 28%);color:#166534;font-size:13px;font-weight:600}.manpower-view-body .manpower-save-notice{margin:0 0 12px}.project-modal-card--manpower .manpower-assign-mindmap-panel,.manpower-assign-tree-panel{flex:1;min-height:0;display:flex;flex-direction:column}.proj-team-tree{display:flex;flex:1;min-height:0;gap:0;background:var(--soft, #f8fafc);border:1px solid var(--line, #e2e8f0);border-radius:12px;overflow:hidden}.proj-team-tree.has-picker{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr)}.proj-team-tree-picker{border-right:1px solid var(--line, #e2e8f0);background:#fff;overflow:auto;min-height:0}.proj-team-tree-picker .mp-canvas-picker{position:static;width:100%;max-width:none;height:100%;border:0;border-radius:0;box-shadow:none}.proj-team-tree-main{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0;padding:12px 14px 16px}.proj-team-tree-hint{margin:0 0 10px;font-size:12px;color:var(--muted, #64748b);line-height:1.45}.proj-team-tree-scroll{flex:1;min-height:0;overflow:auto;border:1px solid var(--line, #e2e8f0);border-radius:12px;background:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--line, #e2e8f0) 70%,transparent) 1px,transparent 0) 0 0 / 18px 18px,linear-gradient(180deg,#fff,color-mix(in srgb,var(--soft, #f8fafc) 80%,#fff 20%))}.proj-team-tree-canvas{min-width:max-content;padding:24px 28px 32px}.proj-team-tree-canvas .mp-vmap-owner-block{margin-inline:auto}.proj-team-tree-root-fork{padding-top:0}.proj-team-tree-root-fork>.mp-vmap-fork-inner{align-items:flex-start;gap:12px}.proj-team-tree-root-fork>.mp-vmap-fork-inner>.mp-vmap-col{min-width:148px;max-width:none;padding-top:10px}.proj-team-tree-root-fork>.mp-vmap-fork-inner>.mp-vmap-col:before,.proj-team-tree-root-fork>.mp-vmap-fork-inner>.mp-vmap-col:after{display:block}.proj-team-tree-canvas .mp-vmap-branch{width:max-content;max-width:none;margin-inline:auto}.proj-team-tree-canvas .mp-amap-card.is-selectable{cursor:pointer}.proj-team-tree-canvas .mp-amap-card.is-selectable:hover{border-color:color-mix(in srgb,var(--brand, #a8822f) 45%,var(--line, #e2e8f0) 55%);box-shadow:0 4px 14px #0f172a14}.proj-team-tree-canvas .mp-amap-card.is-selected{border-color:color-mix(in srgb,var(--brand, #a8822f) 58%,var(--line, #e2e8f0) 42%);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand, #a8822f) 22%,transparent)}.proj-team-tree-branch-label{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;width:100%;max-width:148px;margin:0 auto 8px;padding:8px 10px;border-radius:10px;border:1px solid color-mix(in srgb,var(--brand, #a8822f) 28%,var(--line, #e2e8f0) 72%);background:color-mix(in srgb,var(--brand, #a8822f) 7%,#fff 93%)}.proj-team-tree-branch-label-copy{min-width:0}.proj-team-tree-branch-label strong{display:block;font-size:12px;color:var(--text, #0f172a)}.proj-team-tree-branch-label span{display:block;margin-top:2px;font-size:10px;color:var(--muted, #64748b);line-height:1.35}.proj-team-tree-node-slot{display:flex;align-items:center;gap:6px;width:max-content;max-width:100%}.proj-team-tree-node-slot .mp-amap-card{flex:0 0 auto}.proj-team-tree-tier-label{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-width:114px;margin-bottom:6px;padding:5px 8px;border-radius:8px;font-size:10px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:var(--muted, #64748b);background:color-mix(in srgb,var(--soft, #f8fafc) 82%,#fff 18%);border:1px solid var(--line, #e2e8f0)}.proj-team-tree-tier.is-helpers .proj-team-tree-tier-label{color:#9a3412;background:#fff7ed;border-color:color-mix(in srgb,#c2410c 22%,var(--line, #e2e8f0) 78%)}.proj-team-tree-tier{width:max-content;min-width:118px;max-width:none;align-items:stretch;padding-inline:8px}.proj-team-tree-tier-members{display:flex;flex-direction:column;align-items:center;width:100%;gap:0}.proj-team-tree-member-slot{display:flex;flex-direction:column;align-items:center;width:100%}.proj-team-tree-member-vline{height:10px;flex-shrink:0}.proj-team-tree-tier-empty{width:100%;max-width:132px;margin-top:2px;text-align:center;font-size:11px}.proj-team-tree-canvas .proj-team-tree-tier .mp-amap-card--helper{border-color:color-mix(in srgb,#c2410c 32%,var(--line, #e2e8f0) 68%);background:linear-gradient(180deg,color-mix(in srgb,#fff7ed 88%,#fff 12%),color-mix(in srgb,#fff 92%,#fff7ed 8%))}.proj-team-tree-canvas .proj-team-tree-tier .mp-amap-card--helper .mp-amap-card-role{color:#9a3412;border-color:color-mix(in srgb,#c2410c 28%,var(--line, #e2e8f0) 72%);background:#fff7ed}.proj-team-tree-canvas .mp-vmap-crew-fork>.mp-vmap-crew-fork-inner>.proj-team-tree-tier{align-items:center}.proj-team-tree-orphan-label{margin:0 auto 8px;font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--muted, #64748b)}.proj-team-tree-empty-block{display:flex;flex-direction:column;align-items:center;gap:8px}.proj-team-tree-add{flex-shrink:0;width:26px;height:26px;border-radius:999px;border:1px dashed color-mix(in srgb,var(--brand, #a8822f) 45%,var(--line, #e2e8f0) 55%);background:color-mix(in srgb,var(--brand, #a8822f) 6%,#fff 94%);color:var(--brand, #a8822f);display:grid;place-items:center;cursor:pointer}.proj-team-tree-add:hover{border-color:var(--brand, #a8822f);background:color-mix(in srgb,var(--brand, #a8822f) 12%,#fff 88%)}.proj-team-tree-inline-add{align-self:center;margin-top:4px}.proj-team-tree-canvas .mp-vmap-vline{height:14px}.proj-team-tree-canvas .mp-vmap-branch-empty{max-width:220px;text-align:center}@media(max-width:1100px){.proj-team-tree.has-picker{grid-template-columns:1fr;grid-template-rows:auto 1fr}.proj-team-tree-picker{border-right:0;border-bottom:1px solid var(--line, #e2e8f0);max-height:280px}}.project-modal-card--manpower .manpower-assign-mindmap-panel{min-height:0}.project-modal-card--manpower .mp-amap.mp-canvas-workspace{min-height:0;height:100%;border:0;border-radius:0}.mp-vmap{display:flex;flex-direction:column;min-width:0}.mp-vmap-strip{display:flex;flex-wrap:wrap;gap:8px 18px;padding:12px 0;font-size:12px;color:var(--muted);border-bottom:1px solid var(--line)}.mp-vmap-strip strong{color:var(--text);font-weight:650}.mp-vmap-edit-link{border:none;background:transparent;color:var(--brand, #a8822f);font:inherit;font-size:13px;font-weight:650;cursor:pointer;padding:6px 8px}.mp-vmap-edit-link:hover{text-decoration:underline}.mp-vmap-canvas{overflow:visible;padding:16px 12px 28px;margin:0;display:flex;flex-direction:column;align-items:center;width:100%;background-color:color-mix(in srgb,var(--brand-soft, #f0e6d0) 42%,var(--soft, #f8fafc));background-image:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--brand, #a8822f) 22%,var(--line)) 1px,transparent 0);background-size:18px 18px;border-radius:0 0 12px 12px}.mp-vmap-hint{margin:0 0 12px;text-align:center;font-size:11px;color:var(--muted);flex:0 0 auto}.mp-vmap-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 16px;color:var(--muted);font-size:13px}.mp-vmap-empty p{margin:0}.mp-vmap-tree{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:flex-start;justify-content:center;gap:40px;width:max-content;max-width:none;min-width:min(100%,280px);margin-inline:auto;padding:8px 24px 24px;box-sizing:border-box}.mp-vmap-mgr-block{width:max-content;max-width:none;margin-inline:auto;display:flex;flex-direction:column;align-items:center}.mp-vmap-mgr{position:static;z-index:auto;width:min(100%,240px);text-align:left;border:1px solid color-mix(in srgb,var(--brand, #a8822f) 45%,var(--line));border-radius:10px;padding:8px 10px;cursor:pointer;background:linear-gradient(180deg,color-mix(in srgb,var(--brand-soft, #f0e6d0) 95%,#fff),var(--card, #fff) 62%);font:inherit;color:inherit;transition:box-shadow .15s,border-color .15s;box-shadow:none}.mp-vmap-mgr:hover,.mp-vmap-mgr:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--brand, #a8822f) 22%,transparent)}.mp-vmap-mgr-top{display:flex;align-items:flex-start;gap:6px}.mp-vmap-mgr-copy{min-width:0;flex:1}.mp-vmap-chev{display:grid;place-items:center;width:20px;height:20px;color:var(--brand, #a8822f);transition:transform .15s ease;flex:0 0 auto}.mp-vmap-mgr.is-open .mp-vmap-chev{transform:rotate(180deg)}.mp-vmap-mgr-meta{display:block;margin-top:4px;font-size:10px;color:var(--muted)}.mp-vmap-node{width:132px;max-width:132px;padding:6px 8px;background:var(--card, #fff);border:1px solid var(--line);border-radius:8px;box-shadow:none}.mp-vmap-mgr .mp-vmap-node-name,.mp-vmap-node-name{display:block;font-size:12px;font-weight:700;color:var(--text);line-height:1.2;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mp-vmap-node-role{display:inline-block;font-size:9px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--brand, #a8822f);background:var(--brand-soft, #f0e6d0);padding:1px 5px;border-radius:999px;margin-bottom:2px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mp-vmap-node-email{display:block;font-size:10px;color:var(--muted);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mp-vmap-branch{width:max-content;max-width:none;margin-inline:auto;display:flex;flex-direction:column;align-items:center}.mp-vmap-vline{width:2px;height:12px;background:color-mix(in srgb,var(--brand, #a8822f) 35%,var(--line));flex:0 0 auto}.mp-vmap-branch-empty{margin:4px 0 0;padding:8px 12px;font-size:12px;color:var(--muted);border:1px dashed var(--line);border-radius:10px;background:var(--soft, #f8fafc)}.mp-vmap-fork{display:flex;justify-content:center;width:max-content;max-width:none;overflow:visible;padding:10px 8px 4px;box-sizing:border-box}.mp-vmap-fork-inner{position:relative;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:center;align-items:flex-start;gap:0;width:max-content;padding-top:0}.mp-vmap-fork:not(.is-one) .mp-vmap-fork-inner:before{display:none}.mp-vmap-col{display:flex;flex-direction:column;align-items:center;position:relative;width:max-content;min-width:132px;max-width:none;padding:10px 9px 0;overflow:visible}.mp-vmap-col:before{content:"";position:absolute;top:0;left:50%;width:2px;height:10px;background:color-mix(in srgb,var(--brand, #a8822f) 35%,var(--line));transform:translate(-50%)}.mp-vmap-fork:not(.is-one)>.mp-vmap-fork-inner>.mp-vmap-col:after{content:"";position:absolute;top:0;height:2px;background:color-mix(in srgb,var(--brand, #a8822f) 35%,var(--line))}.mp-vmap-fork:not(.is-one)>.mp-vmap-fork-inner>.mp-vmap-col:first-child:after{left:50%;right:0}.mp-vmap-fork:not(.is-one)>.mp-vmap-fork-inner>.mp-vmap-col:last-child:after{left:0;right:50%}.mp-vmap-fork:not(.is-one)>.mp-vmap-fork-inner>.mp-vmap-col:not(:first-child):not(:last-child):after{left:0;right:0}.mp-vmap-fork.is-one{padding-top:0}.mp-vmap-fork.is-one>.mp-vmap-fork-inner>.mp-vmap-col{padding-top:0}.mp-vmap-fork.is-one>.mp-vmap-fork-inner>.mp-vmap-col:before,.mp-vmap-fork.is-one>.mp-vmap-fork-inner>.mp-vmap-col:after{content:none;display:none}.mp-vmap-col>.mp-amap-node-wrap{display:flex;flex-direction:column;align-items:center;width:max-content;min-width:132px}.mp-vmap-col>.mp-amap-node-wrap>.mp-amap-card,.mp-vmap-col>.mp-amap-card{position:relative;z-index:1;width:132px;max-width:132px}.mp-vmap-fm-fork{display:flex;justify-content:center;width:max-content;max-width:none;padding-top:0;overflow:visible}.mp-vmap-fm-fork-inner{position:relative;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:flex-start;justify-content:center;gap:0;width:max-content;max-width:none}.mp-vmap-fm-fork:not(.is-one) .mp-vmap-fm-fork-inner:before{display:none}.mp-vmap-fm-col{display:flex;flex-direction:column;align-items:center;position:relative;flex:0 0 auto;box-sizing:content-box;width:max-content;min-width:132px;max-width:none;padding:10px 18px 0}.mp-vmap-fm-col:before{content:"";position:absolute;top:0;left:50%;width:2px;height:10px;background:color-mix(in srgb,var(--brand, #a8822f) 35%,var(--line));transform:translate(-50%)}.mp-vmap-fm-fork:not(.is-one)>.mp-vmap-fm-fork-inner>.mp-vmap-fm-col:after{content:"";position:absolute;top:0;height:2px;background:color-mix(in srgb,var(--brand, #a8822f) 35%,var(--line))}.mp-vmap-fm-fork:not(.is-one)>.mp-vmap-fm-fork-inner>.mp-vmap-fm-col:first-child:after{left:50%;right:0}.mp-vmap-fm-fork:not(.is-one)>.mp-vmap-fm-fork-inner>.mp-vmap-fm-col:last-child:after{left:0;right:50%}.mp-vmap-fm-fork:not(.is-one)>.mp-vmap-fm-fork-inner>.mp-vmap-fm-col:not(:first-child):not(:last-child):after{left:0;right:0}.mp-vmap-fm-fork.is-one>.mp-vmap-fm-fork-inner>.mp-vmap-fm-col{padding-top:0}.mp-vmap-fm-fork.is-one>.mp-vmap-fm-fork-inner>.mp-vmap-fm-col:before,.mp-vmap-fm-fork.is-one>.mp-vmap-fm-fork-inner>.mp-vmap-fm-col:after{content:none;display:none}.mp-vmap-fm-col .mp-vmap-node{width:132px;max-width:132px}.mp-vmap-chain{display:flex;flex-direction:column;align-items:center;width:100%}.mp-vmap-chain .mp-vmap-node{width:132px;max-width:132px}@media(prefers-reduced-motion:reduce){.mp-vmap-chev{transition:none}}.manpower-view-body,.manpower-assign-form.project-modal-form--fill>.project-modal-body{scroll-behavior:smooth}.manpower-assign-mindmap-panel{display:flex;flex-direction:column;align-items:stretch;min-width:0;flex:1;min-height:0}.mp-amap{width:100%;display:flex;flex-direction:column;align-items:stretch}.mp-amap.mp-canvas-workspace{flex-direction:row;align-items:stretch;flex:1;min-height:min(52vh,520px);border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--card, #fff)}@media(max-width:900px){.mp-amap.mp-canvas-workspace{flex-direction:column;min-height:0}.mp-canvas-stage{min-height:280px;max-height:none}.mp-canvas-scroll{max-height:48vh}.mp-canvas-side{border-right:none;border-top:1px solid var(--line);flex-direction:column}.mp-canvas-side.mp-canvas-side--picker-only{width:100%;min-width:0;order:1}.mp-canvas-picker-slot{width:100%;min-width:0;max-height:40vh;border-left:none;border-top:1px solid var(--line)}.mp-canvas-rail{width:100%;flex-direction:row;flex-wrap:wrap;align-items:stretch}.mp-canvas-rail-btn{flex:1 1 140px}.mp-canvas-rail-hint{flex:1 1 100%}.mp-canvas-forest{gap:28px}}.mp-canvas-stage{position:relative;flex:1;min-width:0;min-height:0;overflow:hidden;display:flex;flex-direction:column;align-items:stretch;padding:0;background-color:color-mix(in srgb,var(--brand-soft, #f0e6d0) 42%,var(--soft, #f8fafc));background-image:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--brand, #a8822f) 22%,var(--line)) 1px,transparent 0);background-size:18px 18px}.mp-canvas-toolbar{position:absolute;top:10px;right:12px;z-index:6;flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:0;border:none;background:transparent}.mp-canvas-zoom{display:inline-flex;align-items:center;gap:2px;flex:0 0 auto;border:1px solid var(--line);border-radius:8px;background:var(--card, #fff);overflow:hidden}.mp-canvas-zoom-btn,.mp-canvas-zoom-label{border:none;background:transparent;color:var(--text);cursor:pointer;font:inherit;font-weight:650;line-height:1}.mp-canvas-zoom-btn{width:28px;height:28px;font-size:16px}.mp-canvas-zoom-btn:hover,.mp-canvas-zoom-label:hover{background:color-mix(in srgb,var(--brand-soft, #f0e6d0) 55%,#fff)}.mp-canvas-zoom-label{min-width:48px;height:28px;padding:0 6px;font-size:11px;border-left:1px solid var(--line);border-right:1px solid var(--line)}.mp-canvas-scroll{flex:1;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.mp-canvas-zoom-layer{display:block;width:max-content;min-width:100%;padding:12px 32px 40px;box-sizing:border-box}.mp-canvas-fullview-btn{position:absolute;right:12px;bottom:12px;z-index:6;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--card, #fff) 92%,transparent);color:var(--text);box-shadow:0 4px 12px #0f172a1f;cursor:pointer}.mp-canvas-fullview-btn:hover,.mp-canvas-fullview-btn.is-on{background:var(--brand-soft, #f0e6d0);border-color:color-mix(in srgb,var(--brand, #a8822f) 40%,var(--line));color:var(--brand, #a8822f)}.mp-canvas-stage.is-fullview{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;border-radius:0;min-height:100vh;height:100vh;width:100vw}.mp-canvas-forest{flex-direction:row;flex-wrap:nowrap;align-items:flex-start;justify-content:flex-start;gap:28px;width:max-content;max-width:none;margin-inline:auto;padding-top:4px}.mp-canvas-forest .mp-vmap-mgr-block{flex:0 0 auto}.mp-vmap-orphan-label{margin:0 0 8px;text-align:center;font-size:11px;font-weight:650;color:var(--muted)}.mp-vmap-orphan-eng .mp-vmap-col{padding-top:0}.mp-vmap-orphan-eng .mp-vmap-col:before{display:none}.mp-canvas-workspace .mp-amap-card{width:114px;max-width:114px;border-radius:9px;background:color-mix(in srgb,var(--card, #fff) 92%,var(--brand-soft, #f0e6d0))}.mp-canvas-workspace .mp-amap-card--mgr,.mp-canvas-workspace .mp-amap-card--root,.mp-canvas-workspace .mp-amap-card--owner{width:120px;max-width:120px;background:linear-gradient(180deg,color-mix(in srgb,var(--brand-soft, #f0e6d0) 78%,#fff),color-mix(in srgb,var(--card, #fff) 94%,var(--brand-soft, #f0e6d0)) 72%)}.mp-canvas-workspace .mp-amap-card-body{padding:5px 6px 6px;min-width:0}.mp-canvas-workspace .mp-amap-card-role{font-size:8px;padding:1px 4px;max-width:calc(100% - 46px)}.mp-canvas-workspace .mp-amap-card-name,.mp-canvas-workspace .mp-amap-card-email{font-size:11px;margin-bottom:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:normal}.mp-canvas-workspace .mp-amap-card-email{font-size:9px;margin-bottom:0}.mp-canvas-workspace .mp-amap-card-meta{margin-top:3px;font-size:9px}.mp-canvas-workspace .mp-amap-remove,.mp-canvas-workspace .mp-amap-view{width:20px;height:20px}.mp-canvas-workspace .mp-vmap-col{width:max-content;min-width:114px;max-width:none}.mp-canvas-workspace .mp-vmap-col>.mp-amap-node-wrap{width:max-content;min-width:114px}.mp-canvas-workspace .mp-vmap-col>.mp-amap-node-wrap>.mp-amap-card,.mp-canvas-workspace .mp-vmap-col>.mp-amap-card{width:114px;max-width:114px}.mp-canvas-workspace .mp-vmap-fm-fork,.mp-canvas-workspace .mp-vmap-crew-fork{width:max-content;max-width:none}.mp-canvas-workspace .mp-vmap-fm-col{box-sizing:content-box;width:max-content;min-width:114px;max-width:none;padding:10px 14px 0}.mp-canvas-workspace .mp-vmap-fm-col>.mp-amap-node-wrap{display:flex;flex-direction:column;align-items:center;width:max-content;min-width:114px}.mp-canvas-workspace .mp-vmap-fm-col>.mp-amap-node-wrap>.mp-amap-card,.mp-canvas-workspace .mp-vmap-crew-col .mp-amap-card,.mp-canvas-workspace .mp-vmap-chain .mp-amap-card{width:114px;max-width:114px}.mp-canvas-workspace .mp-vmap-fork-inner{gap:0}.mp-canvas-side{display:flex;flex-direction:row;flex:0 0 auto;align-items:stretch;border-right:1px solid var(--line);background:color-mix(in srgb,var(--soft, #f8fafc) 88%,#fff);z-index:2}.mp-canvas-side.mp-canvas-side--picker-only{width:min(236px,30vw);min-width:210px}.mp-canvas-side.mp-canvas-side--picker-only .mp-canvas-picker-slot{width:100%;min-width:0;border-left:none;max-height:none;height:100%}.mp-vmap-owner-block{width:max-content;margin-inline:auto;display:flex;flex-direction:column;align-items:center}.mp-amap-card--owner,.mp-canvas-workspace .mp-amap-card--owner{width:120px;max-width:120px;background:linear-gradient(180deg,color-mix(in srgb,var(--brand, #a8822f) 22%,#fff),color-mix(in srgb,var(--brand-soft, #f0e6d0) 70%,#fff) 78%);border-color:color-mix(in srgb,var(--brand, #a8822f) 45%,var(--line))}.mp-vmap-pm-col{min-width:120px;padding-top:10px}.mp-canvas-picker-slot{width:min(236px,32vw);min-width:210px;border-left:1px solid var(--line);background:var(--card, #fff);display:flex;flex-direction:column;min-height:0}.mp-canvas-picker{display:flex;flex-direction:column;gap:8px;height:100%;min-height:0;padding:12px;box-sizing:border-box}.mp-canvas-picker .mp-amap-picker-search.members-search-wrap{position:relative;flex:0 0 auto;width:100%;min-width:0;margin:0}.mp-canvas-picker .mp-amap-picker-search .search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);z-index:1;pointer-events:none;width:14px;height:14px}.mp-canvas-picker .mp-amap-picker-search .members-search{display:block;width:100%;padding:7px 10px 7px 30px;font-size:12px}.mp-canvas-picker .mp-amap-text-btn{flex:0 0 auto;align-self:flex-start;margin:0;padding:2px 4px;font-size:11px}.mp-canvas-picker .mp-amap-picker-list{flex:1;min-height:120px;max-height:none;margin-top:0}.mp-amap-pick .mp-amap-also-on{margin-top:3px;font-size:9px;padding:1px 6px;max-width:100%}.mp-amap-taken{display:block;margin-top:2px;font-size:8px;font-weight:600;line-height:1.25;color:#b45309;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mp-owner-add-tabs{display:flex;gap:4px;padding:0 2px 2px}.mp-owner-add-tab{flex:1;border:1px solid var(--line);background:var(--card, #fff);color:var(--muted);border-radius:8px;padding:6px 8px;font:inherit;font-size:11px;font-weight:650;cursor:pointer}.mp-owner-add-tab:hover{color:var(--text);border-color:color-mix(in srgb,var(--brand, #a8822f) 35%,var(--line))}.mp-owner-add-tab.is-active{color:var(--text);background:color-mix(in srgb,var(--brand-soft, #f0e6d0) 70%,#fff);border-color:color-mix(in srgb,var(--brand, #a8822f) 45%,var(--line))}.mp-canvas-rail{width:168px;flex:0 0 auto;display:flex;flex-direction:column;gap:8px;padding:14px 12px;box-sizing:border-box}.mp-canvas-rail-title{margin:0 0 4px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.mp-canvas-rail-btn{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;width:100%;border:1px solid var(--line);border-radius:10px;background:var(--card, #fff);padding:10px 12px;font-size:12px;font-weight:650;color:var(--text);cursor:pointer;text-align:left;transition:border-color .15s,background .15s,box-shadow .15s}.mp-canvas-rail-btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--brand, #a8822f) 45%,var(--line));background:color-mix(in srgb,var(--brand-soft, #f0e6d0) 55%,#fff)}.mp-canvas-rail-btn.is-active{border-color:color-mix(in srgb,var(--brand, #a8822f) 55%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--brand, #a8822f) 18%,transparent);background:color-mix(in srgb,var(--brand-soft, #f0e6d0) 70%,#fff)}.mp-canvas-rail-btn:disabled{opacity:.42;cursor:not-allowed}.mp-canvas-rail-hint{margin:8px 0 0;font-size:11px;line-height:1.4;color:var(--muted)}.mp-amap-card.is-selectable{cursor:pointer}.mp-amap-card.is-selectable:hover{border-color:color-mix(in srgb,#0f766e 45%,var(--line))}.mp-amap-card.is-selected{border:2.5px solid #0f766e;box-shadow:0 0 0 3px color-mix(in srgb,#0f766e 28%,transparent),0 1px 2px #0f172a0f}.mp-amap-card--mgr.is-selected,.mp-amap-card--root.is-selected{border-color:#0f766e}.mp-amap-lead{margin:0 0 14px;font-size:13px;color:var(--muted);line-height:1.45}.mp-amap-lead strong{color:var(--text)}.mp-amap-empty{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:28px 8px 12px}.mp-amap-empty-title{margin:0;font-size:16px;font-weight:700;color:var(--text)}.mp-amap-hint{margin:0;font-size:12px;color:var(--muted)}.mp-amap-canvas{padding:12px 8px 32px;align-items:center}.mp-amap-mgr-row{display:flex;justify-content:center;width:max-content;margin-inline:auto}.mp-amap-card{width:114px;max-width:114px;text-align:left;border:1px solid var(--line);border-radius:10px;background:var(--card, #fff);box-shadow:0 1px 2px #0f172a0a;overflow:hidden}.mp-amap-card--mgr,.mp-amap-card--root{width:120px;max-width:120px;margin-inline:auto;border-color:color-mix(in srgb,var(--brand, #a8822f) 40%,var(--line));background:linear-gradient(180deg,color-mix(in srgb,var(--brand-soft, #f0e6d0) 88%,#fff),var(--card, #fff) 70%)}.mp-amap-card--eng{border-color:color-mix(in srgb,var(--brand, #a8822f) 22%,var(--line))}.mp-amap-mgr-toggle{display:block;width:100%;border:none;background:transparent;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left}.mp-amap-card-body{padding:7px 8px 8px;min-width:0}.mp-amap-card-top{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-bottom:4px}.mp-amap-card-actions{display:inline-flex;align-items:center;gap:2px;flex:0 0 auto}.mp-amap-card-role{display:inline-block;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--brand, #a8822f);background:var(--brand-soft, #f0e6d0);padding:1px 5px;border-radius:999px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mp-amap-card-name{display:block;margin:0 0 2px;font-size:12px;font-weight:700;color:var(--text);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mp-amap-card-email{display:block;font-size:10px;font-weight:500;color:var(--muted);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mp-amap-card-email.is-missing{font-style:italic;opacity:.75}.mp-amap-card-meta{display:block;margin-top:6px;font-size:11px;color:var(--muted)}.mp-amap-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--soft, #f8fafc) 70%,transparent)}.mp-amap-card--readonly .mp-amap-card-body{padding-bottom:12px}.mp-amap-node-wrap{display:flex;flex-direction:column;align-items:center;width:100%}.mp-amap-add{display:inline-flex;align-items:center;gap:4px;border:none;background:transparent;padding:4px 6px;border-radius:6px;font-size:11px;font-weight:650;color:var(--brand, #a8822f);cursor:pointer;white-space:nowrap}.mp-amap-add:hover{background:color-mix(in srgb,var(--brand, #a8822f) 12%,transparent)}.mp-amap-remove,.mp-amap-view{display:grid;place-items:center;width:24px;height:24px;border:1px solid color-mix(in srgb,var(--line) 80%,#cbd5e1);border-radius:6px;background:var(--card, #fff);color:var(--muted);cursor:pointer;flex:0 0 auto;padding:0;box-shadow:0 1px 2px #0f172a0f}.mp-amap-remove:hover{background:color-mix(in srgb,#ef4444 12%,transparent);color:#b91c1c;border-color:color-mix(in srgb,#ef4444 35%,var(--line))}.mp-amap-view:hover{color:var(--text);border-color:color-mix(in srgb,var(--brand, #a8822f) 40%,var(--line));background:color-mix(in srgb,var(--brand-soft, #f0e6d0) 55%,#fff)}.mp-amap-peek-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12000;display:grid;place-items:center;padding:24px;background:#0f172a47;cursor:default}.mp-amap-peek-card{position:relative;width:min(360px,calc(100vw - 48px));border:1px solid var(--line, #e2e8f0);border-radius:14px;background:var(--card, #fff);box-shadow:0 18px 40px #0f172a2e;padding:18px 18px 16px}.mp-amap-peek-close{position:absolute;top:10px;right:10px;width:28px;height:28px;border:1px solid var(--line, #e2e8f0);border-radius:8px;background:var(--card, #fff);color:var(--muted, #64748b);display:grid;place-items:center;padding:0;cursor:pointer}.mp-amap-peek-close:hover{color:var(--text, #0f172a);background:var(--soft, #f8fafc)}.mp-amap-peek-head{display:flex;align-items:center;gap:12px;padding-right:32px;margin-bottom:14px}.mp-amap-peek-avatar{width:40px;height:40px;border-radius:12px;background:var(--brand-soft, #f4ead6);color:var(--brand, #8a6a1f);display:grid;place-items:center;font-size:12px;font-weight:800;flex-shrink:0}.mp-amap-peek-copy{min-width:0}.mp-amap-peek-copy strong{display:block;font-size:15px;font-weight:800;color:var(--text, #0f172a);line-height:1.3}.mp-amap-peek-copy small{display:block;margin-top:2px;font-size:12px;color:var(--muted, #64748b)}.mp-amap-peek-list{margin:0;display:flex;flex-direction:column;gap:8px}.mp-amap-peek-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;align-items:start;padding:8px 10px;border-radius:8px;background:var(--soft, #f8fafc)}.mp-amap-peek-row dt{font-size:11px;font-weight:700;color:var(--muted, #64748b)}.mp-amap-peek-row dd{margin:0;font-size:12px;font-weight:650;color:var(--text, #0f172a);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mp-amap-link{display:inline-flex;align-items:center;gap:4px;border:none;background:none;padding:0;font:inherit;font-size:12px;font-weight:650;color:var(--brand, #a8822f);cursor:pointer}.mp-amap-link:hover{text-decoration:underline}.mp-amap-link-root{margin:16px auto 0;display:flex;justify-content:center;padding:6px 0}.mp-amap-inline-empty{margin:6px 0 0;font-size:11px;color:var(--muted);text-align:center}.mp-amap-text-btn{display:inline-flex;align-items:center;gap:4px;border:none;background:transparent;padding:4px 6px;border-radius:6px;font-size:12px;font-weight:650;color:var(--brand, #a8822f);cursor:pointer;margin-bottom:4px}.mp-amap-picker{position:sticky;top:0;z-index:6;display:flex;flex-direction:column;gap:8px;padding:14px;margin-bottom:14px;border:1px solid var(--line);border-radius:12px;background:var(--card, #fff);box-shadow:0 10px 28px #0f172a1a}.mp-amap-picker-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.mp-amap-picker-head strong{display:block;font-size:14px;color:var(--text)}.mp-amap-picker-head p{margin:2px 0 0;font-size:12px;color:var(--muted)}.mp-amap-picker-search{margin:0}.mp-amap-picker-list{display:flex;flex-direction:column;gap:2px;max-height:min(42vh,320px);overflow:auto;padding:2px}.mp-amap-pick{display:flex;align-items:flex-start;gap:8px;padding:7px 8px;border-radius:8px;cursor:pointer;color:var(--text)}.mp-amap-pick:hover{background:var(--soft, #f8fafc)}.mp-amap-pick.is-on{background:color-mix(in srgb,var(--brand, #a8822f) 10%,transparent)}.mp-amap-pick.is-disabled{opacity:.55;cursor:not-allowed}.mp-amap-pick span{display:flex;flex-direction:column;gap:2px;min-width:0}.mp-amap-pick-name-row{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.mp-amap-pick small{font-size:10px;font-weight:500;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mp-vmap-col{width:max-content;min-width:132px;max-width:none}.mp-vmap-col>.mp-amap-node-wrap>.mp-amap-card,.mp-vmap-col>.mp-amap-card{width:132px;max-width:132px}.mp-vmap-fm-col{box-sizing:content-box;width:max-content;min-width:132px;max-width:none;padding:10px 14px 0}.mp-vmap-fm-col>.mp-amap-node-wrap{display:flex;flex-direction:column;align-items:center;width:max-content;min-width:132px}.mp-vmap-fm-col>.mp-amap-node-wrap>.mp-amap-card{width:132px;max-width:132px}.mp-vmap-crew-fork{display:flex;justify-content:center;width:max-content;max-width:none;overflow:visible}.mp-vmap-crew-fork-inner{position:relative;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:flex-start;justify-content:center;gap:0;width:max-content;max-width:none}.mp-vmap-crew-col{position:relative;display:flex;flex-direction:column;align-items:center;flex:0 0 auto;box-sizing:content-box;width:132px;min-width:132px;padding:10px 12px 0}.mp-vmap-crew-col:before{content:"";position:absolute;top:0;left:50%;width:2px;height:10px;background:color-mix(in srgb,var(--brand, #a8822f) 35%,var(--line));transform:translate(-50%)}.mp-vmap-crew-fork:not(.is-one)>.mp-vmap-crew-fork-inner>.mp-vmap-crew-col:after{content:"";position:absolute;top:0;height:2px;background:color-mix(in srgb,var(--brand, #a8822f) 35%,var(--line))}.mp-vmap-crew-fork:not(.is-one)>.mp-vmap-crew-fork-inner>.mp-vmap-crew-col:first-child:after{left:50%;right:0}.mp-vmap-crew-fork:not(.is-one)>.mp-vmap-crew-fork-inner>.mp-vmap-crew-col:last-child:after{left:0;right:50%}.mp-vmap-crew-fork.is-one>.mp-vmap-crew-fork-inner>.mp-vmap-crew-col{padding-top:0}.mp-vmap-crew-fork.is-one>.mp-vmap-crew-fork-inner>.mp-vmap-crew-col:before,.mp-vmap-crew-fork.is-one>.mp-vmap-crew-fork-inner>.mp-vmap-crew-col:after{content:none;display:none}.mp-vmap-crew-fork:not(.is-one)>.mp-vmap-crew-fork-inner>.mp-vmap-crew-col:not(:first-child):not(:last-child):after{left:0;right:0}.mp-vmap-crew-col .mp-amap-card{width:132px;max-width:132px}.mp-amap-mgr-toggle.is-open .mp-vmap-chev,.mp-amap-card--root.is-open .mp-vmap-chev{transform:rotate(180deg)}.mp-vmap-chev{transition:transform .15s ease;color:var(--brand, #a8822f)}.manpower-selected-banner--compact{display:inline-flex;align-items:center;gap:8px;width:fit-content;max-width:100%;padding:5px 10px;margin-bottom:2px;border-radius:10px}.manpower-selected-banner--compact .manpower-selected-banner-avatar{width:28px;height:28px;border-radius:8px;font-size:12px;box-shadow:none}.manpower-selected-banner--compact .manpower-selected-banner-copy{flex:0 1 auto;gap:0}.manpower-selected-banner--compact .manpower-selected-banner-copy strong{font-size:13px;font-weight:700}.manpower-selected-banner--compact .manpower-selected-banner-meta{display:block;margin-top:0;font-size:11px}.manpower-modal-head{align-items:flex-start}.manpower-modal-head-main{display:flex;align-items:flex-start;gap:12px;min-width:0}.manpower-modal-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--brand-soft);color:var(--brand);border:1px solid var(--brand-border);flex:0 0 auto}.manpower-modal-head-copy{min-width:0;flex:1}.manpower-modal-head-copy strong{display:block}.manpower-modal-head-copy .admin-form-sub{margin:4px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.manpower-project-search{margin-bottom:12px;width:100%;max-width:none}.manpower-empty{margin:28px 0;color:var(--muted);font-size:13px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.manpower-empty p{margin:0}.manpower-project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,420px));justify-content:flex-start;gap:8px}.manpower-project-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--text);cursor:pointer;min-width:0;max-width:420px;overflow:hidden;transition:border-color .15s,background .15s,box-shadow .15s,transform .15s}.manpower-project-card:hover{border-color:var(--brand-border);background:color-mix(in srgb,var(--brand-soft) 55%,var(--card, #fff));box-shadow:0 4px 12px #0f172a0f;transform:none}.manpower-project-card-top{display:flex;align-items:center;gap:7px;width:100%;min-width:0}.manpower-project-card-icon{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:var(--soft);color:var(--brand);border:1px solid var(--line);flex:0 0 auto}.manpower-project-card-name{font-size:13px;font-weight:700;line-height:1.25;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.manpower-project-card-meta{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--muted);line-height:1.3;min-width:0;max-width:100%;width:100%}.manpower-project-card-meta .app-icon{flex:0 0 auto;opacity:.8}.manpower-project-card-meta-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.manpower-project-card-team,.manpower-project-card-chips{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:1px;font-size:10px;font-weight:650;color:var(--text)}.manpower-project-card-team.is-empty{color:var(--muted);font-weight:600;gap:5px}.manpower-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border-radius:999px;background:var(--soft);border:1px solid var(--line);color:var(--text);font-size:10px;font-weight:700}.manpower-selected-banner{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--brand-border) 70%,var(--line));border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--brand-soft) 55%,var(--card, #fff)),var(--card, #fff) 55%,var(--soft));box-shadow:0 1px color-mix(in srgb,var(--card, #fff) 70%,transparent) inset;margin-bottom:4px}.manpower-selected-banner-avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--brand);color:#fff;font-size:18px;font-weight:800;letter-spacing:.02em;flex:0 0 auto;box-shadow:0 6px 14px color-mix(in srgb,var(--brand) 28%,transparent)}.manpower-selected-banner-copy{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}.manpower-selected-banner-copy strong{font-size:15px;font-weight:800;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.manpower-selected-banner-meta{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);min-width:0;max-width:100%}.manpower-selected-banner-meta .app-icon{flex:0 0 auto;opacity:.85}.manpower-assign-form .project-modal-row--team{gap:16px}.manpower-assign-steps{display:flex;flex-direction:column;gap:14px}.manpower-assign-guide{margin-bottom:14px;padding:10px 12px;border:1px solid var(--line, #e2e8f0);border-radius:10px;background:var(--soft, #f8fafc)}.manpower-assign-guide-title{margin:0 0 6px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted, #64748b)}.manpower-assign-guide-steps{margin:0;padding-left:18px;font-size:12px;font-weight:600;color:var(--text, #334155);line-height:1.5}.manpower-team-section{border:1px solid var(--line);border-radius:12px;background:var(--card, #fff);padding:12px}.manpower-team-section-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}.manpower-team-step{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-size:12px;font-weight:800;flex-shrink:0}.manpower-team-section-copy strong{display:block;font-size:14px;color:var(--text)}.manpower-team-section-copy p{margin:3px 0 0;font-size:12px;color:var(--muted);line-height:1.4}.manpower-team-section .manpower-team-field{margin:0}.manpower-team-section .project-team-field-head{justify-content:flex-end;margin-bottom:8px}.manpower-team-meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.manpower-team-inline-reports{display:flex;align-items:center;gap:8px;padding:6px 10px 8px 42px;border-top:1px dashed var(--line, #e2e8f0);background:var(--soft, #fafafa)}.manpower-team-inline-reports-label{font-size:11px;font-weight:600;color:var(--muted);white-space:nowrap}.manpower-team-inline-reports .checkbox-dropdown-trigger{flex:1;min-width:0;min-height:30px;font-size:12px}.checkbox-dropdown-menu{z-index:10080}.checkbox-dropdown-option{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border-radius:8px;font-size:13px;font-weight:600;color:var(--text);cursor:pointer;line-height:1.25}.checkbox-dropdown-option:hover{background:var(--soft, #f1f5f9)}.checkbox-dropdown-option.is-selected{background:var(--brand-soft, #dbeafe);color:var(--brand-ink)}.checkbox-dropdown-option input{flex-shrink:0;width:14px;height:14px;margin:0;accent-color:var(--brand);cursor:pointer}.checkbox-dropdown-option span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.manpower-team-label{display:inline-flex!important;align-items:center;gap:6px;text-transform:uppercase}.manpower-team-field .project-team-add-btn{display:inline-flex;align-items:center;gap:4px}.manpower-team-avatar{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:999px;background:var(--soft);border:1px solid var(--line);font-size:10px;font-weight:800;color:var(--muted);flex:0 0 auto}.manpower-team-name{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.manpower-team-name-wrap{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.manpower-team-type-badge{display:inline-flex;align-items:center;width:fit-content;max-width:100%;padding:1px 7px;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:11px;font-weight:600;line-height:1.35}.manpower-team-type-badge.is-missing{background:#fef2f2;color:#b91c1c}.manpower-team-reports-badge{display:inline-flex;align-items:center;width:fit-content;max-width:100%;padding:1px 7px;border-radius:999px;background:#ecfeff;color:#0e7490;font-size:10px;font-weight:600;line-height:1.35}.manpower-team-reports-row{display:flex;flex-direction:column;gap:4px;padding:0 10px 8px 42px}.manpower-team-reports-row label{font-size:11px;font-weight:600;color:var(--muted)}.manpower-team-reports-row select{width:100%;min-height:32px;border:1px solid var(--line, var(--border));border-radius:8px;padding:4px 8px;font-size:12px;background:var(--card, #fff);color:var(--text)}.manpower-team-projects-badge{display:inline-flex;align-items:center;gap:4px;width:fit-content;max-width:100%;padding:1px 7px;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:10px;font-weight:600;line-height:1.35}.manpower-team-projects-badge span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.manpower-team-projects-badge .app-icon{flex-shrink:0}.manpower-team-field .project-team-row.is-disabled{opacity:.72}.manpower-team-field .project-team-row.is-disabled input[type=checkbox]{cursor:not-allowed}.manpower-team-field .project-team-row{display:flex;align-items:center;gap:8px;min-width:0}.manpower-team-field .project-team-row.selected .manpower-team-avatar{background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand)}.manpower-team-check{margin-left:auto;color:var(--brand);flex:0 0 auto}.manpower-team-field .project-team-row-wrap{display:flex;flex-direction:column;gap:6px;padding:6px 8px;border:1px solid var(--line);border-radius:10px;background:var(--card, #fff)}.manpower-team-field .project-team-row-wrap.selected{border-color:var(--brand-border);background:color-mix(in srgb,var(--brand-soft) 35%,var(--card, #fff))}.manpower-crew-search{margin-bottom:10px}.manpower-crew-flow-hint{margin:0 0 10px}.manpower-crew-foreman-warn{margin:0 0 10px;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--warn-soft, #fef3c7) 55%,var(--card, #fff));border:1px solid color-mix(in srgb,var(--warn, #d97706) 25%,transparent)}.manpower-team-type-row{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;padding:0 4px 2px 34px}.manpower-team-type-row label{font-size:11px;font-weight:600;color:var(--muted);white-space:nowrap}.manpower-team-type-row select{width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;padding:6px 8px;font-size:12px;background:var(--card, #fff);color:var(--text)}@media(max-width:640px){.manpower-project-grid{grid-template-columns:1fr}}.project-modal-section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.project-modal-section-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.project-modal-section-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.project-modal-section-head .action{font-size:12px;padding:6px 12px;white-space:nowrap;flex-shrink:0;background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-ink)}.project-modal-section-head .action:hover:not(:disabled){background:var(--btn-hover-tinted);border-color:var(--brand-border)}.project-milestone-list{display:flex;flex-direction:column;gap:10px;min-width:0}.project-milestone-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,180px) 36px;gap:10px;align-items:start;min-width:0}.project-milestone-row:first-child .project-milestone-remove{margin-top:22px}.project-milestone-row .entry-field{margin:0}.project-milestone-remove{width:36px;height:40px;padding:0;display:grid;place-items:center;flex-shrink:0;font-size:13px;border-radius:10px}.project-modal-row--team{align-items:stretch;grid-template-columns:1fr;gap:16px}.project-team-field{min-width:0}.project-team-field-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;min-width:0}.project-team-field-head label{margin:0;flex:1;min-width:0}.project-team-add-btn{font-size:12px;padding:5px 12px;white-space:nowrap;flex-shrink:0}.project-team-empty{margin:0;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--soft, #f8fafc);font-size:12px;color:var(--muted);line-height:1.45}.project-team-list{display:flex;flex-direction:column;gap:6px;max-height:180px;overflow-y:auto;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--soft, #f8fafc)}.project-team-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;border:1px solid transparent;cursor:pointer;font-size:13px}.project-team-row.selected{background:var(--brand-soft);border-color:var(--brand-border)}.project-team-row input{margin:0;flex-shrink:0}.project-team-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding-top:16px;margin-top:4px;border-top:1px solid var(--line)}.project-modal-footer--center{justify-content:center}.project-modal-footer .action{padding:9px 16px;font-size:13px;background:var(--card, #fff);border:1px solid var(--line);border-radius:999px;color:var(--text, var(--ink));font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.project-modal-footer .action:hover:not(:disabled){background:var(--btn-hover-surface)}.project-modal-footer .action:disabled{opacity:.65;cursor:not-allowed}.project-modal-submit{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--brand);border:1px solid var(--brand);border-radius:999px;color:#fff;font-size:14px;font-weight:700;padding:10px 20px;cursor:pointer;transition:background .15s,border-color .15s;box-shadow:0 4px 12px #16a34a38}.project-modal-submit:hover:not(:disabled){background:var(--btn-hover-solid);border-color:var(--btn-hover-solid)}.project-modal-submit:disabled{opacity:.65;cursor:not-allowed}@media(max-width:640px){.project-modal-row,.project-milestone-row{grid-template-columns:1fr}.project-milestone-row:first-child .project-milestone-remove{margin-top:0}.project-milestone-remove{width:100%;height:36px}}.proj-milestones-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.proj-ms-actions{flex-shrink:0;display:flex;justify-content:flex-end;align-items:center}.proj-ms-status-control{position:relative;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;min-height:28px;border-radius:999px;overflow:hidden;border:1px solid var(--line);background:var(--card)}.proj-ms-status-control .proj-ms-badge{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:0;padding:0 10px;min-height:28px;line-height:1.2;font-size:11px;font-weight:600;white-space:nowrap;background:transparent;color:inherit}.proj-ms-status-control .proj-ms-dropdown-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;min-height:28px;flex-shrink:0;border-left:1px solid color-mix(in srgb,currentColor 12%,var(--line));background:color-mix(in srgb,currentColor 6%,#fff);color:inherit;pointer-events:none}.proj-ms-status-select-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;cursor:pointer;z-index:1;-moz-appearance:none;appearance:none;-webkit-appearance:none}.proj-ms-status-control.ms-done{background:var(--ok-soft);border-color:var(--brand-border);color:var(--brand-ink)}.proj-ms-status-control.ms-progress{background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-ink)}.proj-ms-status-control.ms-delayed{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.proj-ms-status-control.ms-upcoming{background:#f1f5f9;border-color:#cbd5e1;color:#475569}.proj-ms-status-control:hover .proj-ms-dropdown-icon{background:color-mix(in srgb,currentColor 10%,#fff)}.proj-ms-dropdown-wrap{position:relative;display:flex;align-items:center;border-left:1px solid var(--line);background:#f8fafc}.proj-ms-dropdown-select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:1}.proj-ms-dropdown-icon{display:flex;align-items:center;justify-content:center;width:28px;height:100%;min-height:26px;color:var(--muted);pointer-events:none}.proj-ms-dropdown-wrap:hover{background:#f1f5f9}.proj-ms-dropdown-wrap:hover .proj-ms-dropdown-icon{color:var(--text)}.proj-ms-badge-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;min-width:118px;max-width:140px;font-size:11px;font-weight:600;border-radius:999px;padding:5px 24px 5px 12px;border:1px solid transparent;white-space:nowrap;line-height:1.2;text-align:center;cursor:pointer;background-repeat:no-repeat;background-position:right 8px center;background-size:10px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}.proj-ms-badge-select.ms-done{background-color:var(--ok-soft);border-color:var(--brand-border);color:var(--brand-ink)}.proj-ms-badge-select.ms-progress{background-color:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-ink)}.proj-ms-badge-select.ms-delayed{background-color:#fee2e2;border-color:#fca5a5;color:#991b1b}.proj-ms-badge-select.ms-upcoming{background-color:#f1f5f9;border-color:#cbd5e1;color:#475569}.proj-ms-add-btn{font-size:12px;font-weight:600;color:var(--green);background:var(--brand-soft);border:1px solid var(--brand-border);cursor:pointer;padding:5px 12px;border-radius:999px;white-space:nowrap;line-height:1.2;transition:background .15s,box-shadow .15s}.proj-ms-add-btn:hover{background:var(--btn-hover-tinted);box-shadow:0 2px 8px color-mix(in srgb,var(--brand) 12%,transparent)}.proj-ms-status-select{min-width:118px;max-width:140px;font-size:12px;padding:6px 8px;border-radius:10px}.proj-ms-empty{font-size:12px;color:var(--muted);padding:12px;border:1px dashed var(--line);border-radius:12px;background:#f8fbff;text-align:center}.ec-draw-head{margin-bottom:10px}.ec-draw-row:not(.proj-draw-card){justify-content:space-between;align-items:center;gap:12px}.ec-draw-right{display:flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.proj-draw-status-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;font-size:11px;font-weight:700;border-radius:999px;padding:5px 24px 5px 10px;border:1px solid transparent;white-space:nowrap;cursor:pointer;background-repeat:no-repeat;background-position:right 8px center;background-size:10px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}.proj-draw-status,.proj-draw-status-select{background-color:var(--soft);border:1px solid var(--line);color:var(--muted)}.proj-draw-status--current{background-color:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-ink)}.proj-draw-status--review{background-color:#eff6ff;border-color:#bfdbfe;color:#1e40af}.proj-draw-status--superseded{background-color:var(--soft);border-color:var(--line);color:var(--muted)}.media-upload-preview{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#f8fbff;margin-bottom:4px}.media-upload-preview img{display:block;width:100%;max-height:200px;object-fit:contain}.media-upload-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;padding:8px}.media-upload-preview-grid img{max-height:96px;aspect-ratio:4 / 3;object-fit:cover;border-radius:8px}.proj-media-thumb-img{width:100%;height:100%;object-fit:cover;border-radius:10px;flex:1;min-height:0}.proj-media-thumb[data-open-media]{cursor:pointer}.proj-media-thumb[data-open-media]:hover{box-shadow:0 6px 18px #0f172a1f}@media(max-width:720px){.ec-draw-row:not(.proj-draw-card){flex-direction:column;align-items:stretch}.ec-draw-right{justify-content:flex-start}}.admin-modal-close:hover{background:#f8fafc;color:var(--text)}.site-access-options{display:flex;flex-wrap:wrap;gap:14px 20px;margin-bottom:10px}.site-access-option{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.site-checkbox-list{display:flex;flex-direction:column;gap:8px;max-height:160px;overflow:auto;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.site-checkbox-item{display:flex;align-items:flex-start;gap:8px;font-size:14px;cursor:pointer}.password-field-wrap{position:relative}.password-field-wrap .entry-input,.password-field-wrap .form-input{width:100%;padding-right:42px;box-sizing:border-box}.password-toggle-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:30px;height:30px;border:none;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center}.password-toggle-btn:hover{background:#f1f5f9;color:var(--text)}.rpt-workers-btn{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:none;background:var(--brand-soft);color:#0369a1;font-size:13px;font-weight:800;line-height:1;min-width:28px;padding:5px 10px;border-radius:999px;cursor:pointer;transition:background .15s,color .15s}.rpt-workers-btn:hover{background:var(--ok-soft);color:#0c4a6e}.rpt-workers-empty{color:#94a3b8;font-weight:600}.rpt-progress-cell{display:flex;align-items:center;gap:10px;min-width:120px}.rpt-progress-track{flex:1;min-width:72px;height:6px;background:#e2e8f0;border-radius:999px;overflow:hidden}.rpt-progress-fill{height:100%;border-radius:999px;transition:width .2s ease}.rpt-progress-pct{font-size:12px;font-weight:800;color:#0f172a;min-width:34px;text-align:right}.table-actions{display:flex;align-items:center;gap:6px}.table-icon-btn{width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#475569;cursor:pointer;display:grid;place-items:center;transition:background .15s,border-color .15s,color .15s}.table-icon-btn:hover{background:#f8fbff;border-color:#cbd5e1;color:var(--text)}.table-icon-btn.danger:hover{background:#fef2f2;border-color:#fca5a5;color:#b91c1c}.table-icon-btn.success:hover{background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-ink)}.table-icon-btn:disabled{opacity:.45;cursor:not-allowed}.col-actions{width:96px;text-align:center}.table-actions{justify-content:center}.module-feature-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.module-feature-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px 16px}.module-feature-title{font-size:14px;font-weight:700;margin-bottom:6px}.module-feature-desc{font-size:12px;color:var(--muted);line-height:1.5;margin:0}.admin-payroll-panel{display:flex;flex-direction:column;gap:8px;min-width:0}.admin-payroll-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.admin-payroll-search{flex:1;min-width:160px}.admin-payroll-filters{display:flex;gap:5px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding-bottom:1px}.admin-payroll-filter{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;border:1px solid var(--line);border-radius:999px;background:var(--card, #fff);color:var(--muted);font-size:11px;font-weight:600;padding:5px 10px;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.admin-payroll-filter:hover{background:var(--soft, #f8fafc);border-color:var(--line-strong, #cbd5e1);color:var(--text)}.admin-payroll-filter.active{background:var(--brand-soft, var(--brand-soft));border-color:var(--brand-border, var(--brand-border));color:var(--brand-ink, var(--brand-ink));font-weight:700}.admin-payroll-filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:999px;font-size:9px;font-weight:800;background:#0f172a0f;color:inherit}.admin-payroll-filter.active .admin-payroll-filter-count{background:#16a34a24}.admin-payroll-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-width:0}.admin-payroll-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card);min-width:0;transition:border-color .15s,background .15s,box-shadow .15s}.admin-payroll-tile{display:block;padding:12px}.admin-payroll-tile-body{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:start;min-width:0}.admin-payroll-tile-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.admin-payroll-tile .admin-payroll-avatar{width:40px;height:40px;border-radius:11px;font-size:12px;margin-top:0}.admin-payroll-tile .admin-payroll-name,.admin-payroll-tile .admin-payroll-settings{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.admin-payroll-tile .admin-payroll-actions{flex-direction:column;align-items:stretch;margin-top:0;gap:4px}.admin-payroll-tile:hover{border-color:color-mix(in srgb,var(--accent-base, var(--brand)) 24%,var(--line));box-shadow:0 4px 14px #0f172a0f}.admin-payroll-item.is-clickable{cursor:pointer}.admin-payroll-item:hover{border-color:var(--line-strong, #cbd5e1);background:color-mix(in srgb,var(--brand-soft, #f0fdf4) 35%,var(--card, #fff))}.admin-payroll-item.is-pending{background:color-mix(in srgb,var(--soft, #f8fafc) 70%,var(--card, #fff))}.admin-payroll-main{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:start;min-width:0}.admin-payroll-avatar{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--brand-soft, var(--brand-soft));border:1px solid var(--brand-border, var(--brand-border));color:var(--brand-ink, var(--brand-ink));font-size:11px;font-weight:800;letter-spacing:.02em;flex-shrink:0;margin-top:1px}.admin-payroll-avatar.is-pending{background:var(--soft, #f1f5f9);border-color:var(--line, #e2e8f0);color:var(--muted, #64748b)}.admin-payroll-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.admin-payroll-name{margin:0;font-size:13px;font-weight:800;color:var(--text);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-payroll-empid{font-size:11px;font-weight:700;letter-spacing:.03em;color:var(--brand-ink, var(--brand));line-height:1.3}.admin-payroll-trade,.admin-payroll-salary,.admin-payroll-settings{font-size:11px;color:var(--muted);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-payroll-salary{font-weight:700;color:var(--text, #334155)}.admin-payroll-settings{display:inline-flex;align-self:flex-start;max-width:100%;margin-top:1px;font-size:10px;font-weight:700;color:#334155;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:2px 8px}.admin-payroll-side{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0;min-width:0}.admin-payroll-status{font-size:9px;font-weight:700;border-radius:999px;padding:3px 8px;border:1px solid transparent;white-space:nowrap;line-height:1.3;text-transform:uppercase;letter-spacing:.03em}.admin-payroll-status.is-ready{background:var(--ok-soft);border-color:var(--brand-border);color:var(--brand-ink)}.admin-payroll-status.is-pending{background:#fff7ed;border-color:#fdba74;color:#9a3412}.admin-payroll-actions{display:flex;gap:4px;flex-wrap:nowrap;justify-content:flex-end;align-items:center}.admin-payroll-action{display:inline-grid;place-items:center;width:30px;height:30px;border:1px solid var(--line, #e2e8f0);border-radius:8px;background:var(--card, #fff);color:var(--muted, #475569);padding:0;cursor:pointer;flex-shrink:0}.admin-payroll-action:hover{background:var(--soft, #f8fafc);border-color:var(--line-strong, #cbd5e1);color:var(--text, #0f172a)}@media(max-width:1200px){.admin-payroll-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.admin-payroll-list{grid-template-columns:1fr}.admin-payroll-item{gap:10px;padding:10px}.admin-payroll-tile{min-height:0}.admin-payroll-side{gap:6px;flex-wrap:nowrap}.admin-payroll-action{width:28px;height:28px}}@media(max-width:960px){.site-time-grid,.crew-cards{grid-template-columns:1fr 1fr}.alloc-row{grid-template-columns:1fr auto}.clock-entry-layout{grid-template-columns:1fr}.site-worker-grid:not(.site-worker-grid--compact):not(.site-worker-grid--allocation){grid-template-columns:repeat(3,minmax(0,1fr))}.site-overview-grid{grid-template-columns:1fr 1fr}.gsearch-kbd,.project-selector-wrap{display:none}.notif-panel{right:0;width:290px}.rpt-export-group{justify-content:flex-start}}@media(max-width:720px){.stock-health-grid{grid-template-columns:1fr}.site-worker-grid:not(.site-worker-grid--compact):not(.site-worker-grid--allocation){grid-template-columns:repeat(2,minmax(0,1fr))}.project-block-header{flex-direction:column;align-items:flex-start}}@media(max-width:620px){.site-time-grid{grid-template-columns:1fr}.tracker-site-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.crew-cards,.alloc-row{grid-template-columns:1fr}.alloc-center{display:none}.entry-form-grid,.admin-user-form{grid-template-columns:1fr}.entry-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.entry-mini{padding:8px 6px;border-radius:12px;text-align:center}.entry-mini .m-label{font-size:10px;line-height:1.2}.entry-mini .m-val{font-size:16px;margin-top:2px}.admin-payroll-ot-grid{grid-template-columns:1fr}.site-worker-grid:not(.site-worker-grid--compact):not(.site-worker-grid--allocation){grid-template-columns:1fr 1fr}.site-worker-grid--allocation,.site-overview-grid,.doc-preview-grid,.checklist-board{grid-template-columns:1fr}.topbar-center{display:none}.notif-panel{right:0;width:100vw}}@media(max-width:900px){.preview-canvas{height:230px}}.project-manpower-request-pages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch}.project-manpower-request-pages .project-manpower-request{flex-direction:column;align-items:stretch;height:100%;min-width:0}.project-manpower-request-pages .project-manpower-request-body{flex:1 1 auto}.project-manpower-request-pages .project-manpower-request-actions{width:100%;margin-top:auto;padding-top:10px;border-top:1px solid var(--line);justify-content:flex-end}@media(max-width:720px){.project-manpower-request-pages{grid-template-columns:1fr}}@media(max-width:720px){.tile-list-footer{flex-direction:row;flex-wrap:nowrap;align-items:center;gap:8px}.tile-list-pagination{justify-content:flex-end}.tile-list-page-summary{text-align:left;font-size:11px}.tile-list-page-btn{min-width:28px;height:28px;padding:0 6px}}.list-sort-bar{display:flex;justify-content:flex-end;align-items:center;margin-bottom:10px;gap:8px}.list-sort{position:relative;flex-shrink:0}.list-sort-trigger{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:var(--card, #fff);color:var(--text);font-size:12px;font-weight:650;cursor:pointer}.list-sort-trigger:hover,.list-sort-trigger.is-open{border-color:var(--brand-border, #cbd5e1);background:var(--soft, #f8fafc)}.list-sort-trigger:disabled{opacity:.55;cursor:not-allowed}.list-sort-kicker{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.list-sort-value{font-weight:700}.list-sort-chevron{font-size:10px;opacity:.7}.list-sort-menu{position:fixed;z-index:12000;margin:0;padding:6px;list-style:none;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 12px 28px #0f172a24;max-height:min(360px,70vh);overflow:auto}.list-sort-menu--panel{display:flex;flex-direction:column;gap:8px;padding:8px}.list-sort-section-title{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted, #64748b);padding:2px 8px 4px}.list-sort-section-list{list-style:none;margin:0;padding:0}.list-sort-option{width:100%;border:0;background:transparent;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:8px;padding:8px 10px;font-size:13px;font-weight:600;color:var(--text);cursor:pointer}.list-sort-option-type{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted, #94a3b8)}.list-sort-option:hover{background:var(--soft, #f1f5f9)}.list-sort-option.is-selected{background:var(--brand-soft, #ecfdf5);color:var(--brand-ink, #166534)}.list-toolbar-row{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.list-toolbar-row--with-filters{flex-wrap:nowrap;gap:8px}.list-toolbar-row--with-filters .list-toolbar-filters{flex:1 1 auto;min-width:0}.list-toolbar-row__sort{flex:0 0 auto;margin-left:auto}.list-toolbar-row .list-toolbar-row__sort .list-sort-trigger{height:32px;padding:0 10px;border-radius:9px;font-size:11px;font-weight:650}.list-toolbar-row .list-toolbar-row__sort .list-sort-kicker{font-size:9px;letter-spacing:.05em}.list-toolbar-row .members-search-wrap{min-width:0}.assign-list-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:12px}.assign-list-toolbar .members-search-wrap{min-width:0}.crew-roster-filter--sort{display:flex;flex-direction:column;gap:4px;justify-content:flex-end;min-width:0}.crew-roster-filter--sort .list-sort{width:100%}.crew-roster-filter--sort .list-sort-trigger{width:100%;height:auto;min-height:34px;padding:7px 10px;justify-content:space-between;border-radius:10px;background:#f8fafc;border-color:#e2e8f0;font-size:12px;font-weight:600}.crew-roster-filter--sort .list-sort-kicker{display:none}.admin-users-toolbar .list-sort{flex-shrink:0}@keyframes alert-btn-blink{0%,to{box-shadow:0 0 #dc26268c;border-color:#dc2626;background:#fef2f2}50%{box-shadow:0 0 0 6px #dc262600;border-color:#f87171;background:#fff}}.alert-btn.alert-btn--blink{animation:alert-btn-blink 1.1s ease-in-out infinite;color:#b91c1c}.alert-btn.alert-btn--blink .notif-badge,.alert-badge{animation:alert-btn-blink 1.1s ease-in-out infinite}.alert-panel .notif-item{cursor:default}.alert-panel-error{margin:8px 12px 0;padding:8px 10px;border-radius:8px;background:#fef2f2;color:#b91c1c;font-size:12px}.alert-item-meta,.raise-alert-card-top{display:flex;align-items:center;gap:8px;margin-bottom:4px}.alert-type-tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:var(--soft, #f1f5f9);color:var(--text, #334155);font-size:10px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.alert-status-open{font-size:10px;font-weight:700;color:#dc2626}.alert-status-replied{font-size:10px;font-weight:700;color:#15803d}.alert-reply-bubble{margin-top:8px;padding:8px 10px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0;display:grid;gap:2px}.alert-reply-bubble b{font-size:12px;color:#0f172a}.alert-reply-bubble span{font-size:12px;color:#334155}.alert-reply-bubble small{font-size:10px;color:#64748b}.alert-reply-row{margin-top:8px;display:grid;gap:6px}.alert-reply-input{width:100%;border:1px solid var(--line);border-radius:10px;padding:8px 10px;font:inherit;font-size:12px;resize:vertical;background:var(--card);color:var(--text)}.alert-reply-btn{justify-self:end;border:1px solid transparent;border-radius:8px;padding:6px 12px;background:var(--accent-base, var(--brand, #8b6f2c));border-color:color-mix(in srgb,var(--accent-base, var(--brand, #8b6f2c)) 72%,#000);color:#fff;font-size:12px;font-weight:700;cursor:pointer;transition:background .15s ease,border-color .15s ease,opacity .15s ease}.alert-reply-btn:hover:not(:disabled){filter:brightness(.97)}.alert-reply-btn:disabled{background:color-mix(in srgb,var(--accent-base, var(--brand, #8b6f2c)) 28%,#e5e7eb);border-color:color-mix(in srgb,var(--accent-base, var(--brand, #8b6f2c)) 22%,#d1d5db);color:#fff;opacity:1;cursor:not-allowed}.raise-alert-panel{padding:4px 2px 16px}.raise-alert-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.raise-alert-head h3{margin:0 0 4px;font-size:16px}.raise-alert-head p{margin:0;font-size:12px;color:#64748b;max-width:42ch}.raise-alert-head-actions{display:flex;gap:8px;flex-shrink:0}.raise-alert-close-btn{width:32px;height:32px;border:1px solid var(--line, #e2e8f0);border-radius:10px;background:#fff;color:#94a3b8;cursor:pointer;display:grid;place-items:center;flex-shrink:0;transition:background .15s ease,color .15s ease,border-color .15s ease}.raise-alert-close-btn:hover{background:#fef2f2;border-color:#fca5a5;color:#b91c1c}.raise-alert-form{margin-bottom:18px;padding:14px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--soft, #f8fafc) 80%,var(--card));display:grid;gap:12px}.raise-alert-form .raise-alert-field{display:grid;gap:6px;min-width:0}.raise-alert-field span{font-size:12px;font-weight:600;color:#475569}.raise-alert-field em{color:#dc2626;font-style:normal}.raise-alert-field input,.raise-alert-field select,.raise-alert-field textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:9px 11px;font:inherit;font-size:13px;background:var(--card);color:var(--text)}.raise-alert-field textarea{resize:vertical;min-height:96px}.raise-alert-form-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:10px}.raise-alert-form-actions--standalone{margin:0 0 14px;justify-content:flex-end}.raise-alert-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;height:34px;padding:0 14px;border-radius:9px;border:1px solid transparent;font:inherit;font-size:12px;font-weight:700;line-height:1;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease,transform .15s ease}.raise-alert-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.raise-alert-btn--ghost{background:var(--card, #fff);border-color:var(--line, #cbd5e1);color:var(--text, #334155)}.raise-alert-btn--ghost:hover:not(:disabled){background:var(--soft, #f8fafc);border-color:var(--line-strong, #94a3b8)}.raise-alert-btn--primary{background:var(--accent-base, var(--brand, #8b6f2c));border-color:color-mix(in srgb,var(--accent-base, var(--brand, #8b6f2c)) 72%,#000);color:#fff!important;box-shadow:0 1px 2px #0f172a14}.raise-alert-btn--primary:hover:not(:disabled){filter:brightness(.97);transform:translateY(-1px)}.raise-alert-btn--primary .app-icon{color:#fff}.raise-alert-btn--primary:disabled{background:color-mix(in srgb,var(--accent-base, var(--brand, #8b6f2c)) 28%,#e5e7eb);border-color:color-mix(in srgb,var(--accent-base, var(--brand, #8b6f2c)) 22%,#d1d5db);color:#fff!important;opacity:1}.raise-alert-refresh-btn{margin-right:auto}.raise-alert-embedded-hint{margin:0 0 12px;font-size:12px;color:var(--muted, #64748b)}.raise-alert-panel--embedded{padding-top:0}body.shell-field-ops .raise-alert-btn--primary,.fm-exact .raise-alert-btn--primary,body.shell-field-ops .alert-reply-btn,.fm-exact .alert-reply-btn{background:var(--accent-base, var(--metal-gradient, linear-gradient(180deg, #a8843a 0%, #8b6f2c 100%)));border-color:transparent;color:#fff;box-shadow:inset 0 1px #ffffff40,0 1px 2px #0e26201f}body.shell-field-ops .raise-alert-btn--primary:disabled,.fm-exact .raise-alert-btn--primary:disabled,body.shell-field-ops .alert-reply-btn:disabled,.fm-exact .alert-reply-btn:disabled{background:color-mix(in srgb,var(--accent-base, #8b6f2c) 28%,#e5e7eb);box-shadow:none;opacity:1}body.shell-field-ops .raise-alert-btn--ghost,.fm-exact .raise-alert-btn--ghost{border-color:var(--fm-slate-200, #e2e8f0);color:var(--fm-slate-700, #334155)}.fm-raise-alert-panel-desktop .raise-alert-form-actions{margin-top:12px;padding-top:2px}.raise-alert-list-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:4px 0 10px;font-size:12px;color:var(--muted, #64748b)}.raise-alert-list-head strong{color:var(--text, #0f172a);font-size:13px}.raise-alert-list{display:grid;gap:10px}@media(max-width:720px){.raise-alert-form-grid{grid-template-columns:1fr}}.raise-alert-card{border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:var(--card)}.raise-alert-card.is-open{border-color:color-mix(in srgb,#dc2626 35%,var(--line));box-shadow:inset 3px 0 #dc2626}.raise-alert-card h4{margin:0 0 4px;font-size:14px}.raise-alert-card p{margin:0;font-size:13px;color:#334155;white-space:pre-wrap}.raise-alert-meta{margin-top:8px;font-size:11px;color:#64748b}.alert-role-picker-list{display:grid;gap:8px;margin-bottom:14px}.alert-role-picker-option{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;cursor:pointer;font-size:13px;font-weight:600;background:var(--card)}.alert-role-picker-option:hover{border-color:color-mix(in srgb,var(--brand, #8b6f2c) 40%,var(--line))}.alert-role-picker-option input{width:16px;height:16px}.alert-role-picker-footer{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.alert-role-picker-footer .clock-submit{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:108px;padding:10px 18px;border-radius:10px;font-size:13px;font-weight:700;line-height:1.2;cursor:pointer;border:1px solid transparent;box-shadow:0 1px 2px #0f172a0f}.alert-role-picker-footer .clock-submit.secondary{background:#fff;border-color:var(--line, #cbd5e1);color:#334155}.alert-role-picker-footer .clock-submit.secondary:hover{background:#f8fafc}.alert-role-picker-footer .clock-submit:not(.secondary){background:var(--accent-base, var(--brand, #8b6f2c));border-color:color-mix(in srgb,var(--accent-base, var(--brand, #8b6f2c)) 70%,#000);color:#fff}.alert-role-picker-footer .clock-submit:not(.secondary):hover{filter:brightness(.96)}.alert-role-picker-footer .clock-submit:disabled{background:color-mix(in srgb,var(--accent-base, var(--brand, #8b6f2c)) 28%,#e5e7eb);border-color:color-mix(in srgb,var(--accent-base, var(--brand, #8b6f2c)) 22%,#d1d5db);color:#fff;opacity:1;cursor:not-allowed}.fm-raise-alert-desktop{padding:12px 16px 20px;overflow:auto;min-height:0;flex:1}.fm-raise-alert-panel-desktop{display:flex;flex-direction:column;min-height:0}.fm-raise-alert-panel-desktop .raise-alert-panel--embedded{display:flex;flex-direction:column;gap:0;min-height:0}.fm-raise-alert-panel-desktop .raise-alert-form{margin-bottom:14px;border-radius:12px;border:1px solid var(--line, #e2e8f0);background:#fff;box-shadow:none}.fm-raise-alert-panel-desktop .raise-alert-form-actions{margin-top:8px}.fm-raise-alert-panel-desktop .raise-alert-list-head{margin-top:4px;padding-top:10px;border-top:1px solid var(--line, #e2e8f0)}@media(prefers-reduced-motion:reduce){.alert-btn.alert-btn--blink,.alert-btn.alert-btn--blink .notif-badge,.alert-badge{animation:none;border-color:#dc2626;background:#fef2f2}}.gsearch-input{width:100%;border:1px solid var(--line);border-radius:999px;padding:9px 40px 9px 34px;font-size:13px;background:#f8fbff;color:var(--text);outline:none}.gsearch-input:focus{border-color:var(--brand-border);background:#fff;box-shadow:none}.gsearch-kbd{position:absolute;right:10px;font-size:10px;background:#f1f5f9;border:1px solid var(--line);border-radius:5px;padding:2px 5px;color:var(--muted)}.project-selector-wrap{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:6px 12px;background:#f8fbff}.notif-btn{position:relative;width:38px;height:38px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:16px;cursor:pointer;display:grid;place-items:center}.notif-panel{display:none;position:fixed;top:54px;right:0;bottom:0;width:320px;background:var(--card, #fff);border:1px solid var(--line);border-right:none;border-radius:0;box-shadow:0 16px 40px #0f172a24;z-index:10000;overflow:hidden;flex-direction:column;color:var(--text)}.notif-header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--soft, #f8fbff);flex-shrink:0}.notif-heading{font-size:14px;font-weight:700;color:var(--text, #0f172a);white-space:nowrap}.notif-item{display:flex;gap:10px;align-items:flex-start;padding:11px 16px;border-bottom:1px solid var(--hairline, #f1f5f9);color:var(--text)}.notif-unread{background:color-mix(in srgb,var(--brand-soft, #fffef0) 70%,var(--card, #fff))}.notif-time{font-size:11px;color:var(--muted, #94a3b8);margin-top:2px}.gsearch-results{display:none;position:fixed;top:72px;left:50%;transform:translate(-50%);width:min(560px,90vw);background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 48px #0f172a29;z-index:200;max-height:420px;overflow-y:auto}.gsr-item{display:flex;align-items:center;gap:10px;padding:10px 16px;cursor:pointer}.ds-headcount-row{display:flex;align-items:stretch;flex-wrap:nowrap;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px 8px;margin-bottom:12px;box-shadow:0 4px 14px #0f172a0d;gap:0;width:100%}.ds-hc-card{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;padding:0 8px;border:none;background:transparent;box-shadow:none}.ds-headcount-row button.ds-hc-card{-moz-appearance:none;appearance:none;-webkit-appearance:none;font:inherit;color:inherit;cursor:pointer}.ds-headcount-row button.ds-hc-card:hover{background:var(--soft, #f8fafc);border-radius:10px}.ds-hc-num-total{color:var(--text)}.ds-hc-label{font-size:12px;color:var(--muted);text-align:center;line-height:1.3;word-break:break-word}.ds-hc-divider{width:1px;align-self:stretch;background:var(--line);flex-shrink:0;margin:4px 0}.qa-btn-green{background:var(--brand-soft);border-color:var(--brand-border);color:var(--text)}.qa-btn-green:hover{background:var(--btn-hover-tinted);border-color:var(--brand-border)}.qa-btn-amber{background:var(--soft);border-color:var(--line);color:var(--text)}.qa-btn-amber:hover{background:var(--btn-hover-surface);border-color:var(--line)}.qa-btn-blue{background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-ink)}.qa-btn-blue:hover{background:var(--btn-hover-tinted);border-color:var(--brand-border)}.ds-site-card-green{border-color:var(--line);background:#fff}.ds-site-card-amber{border-color:#fdba74;background:#fffdf5}.ds-site-card-red{border-color:#fca5a5;background:#fff8f8}.ds-site-big{font-size:20px;font-weight:800}.ds-trade-pill{font-size:11px;background:#ffffffb3;border:1px solid rgba(0,0,0,.08);border-radius:999px;padding:3px 9px}.ds-avail-card,.ds-mat-card{padding:16px}.ds-avail-item,.ds-mat-item{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #f1f5f9}.ds-avail-item:last-child,.ds-mat-item:last-child{border-bottom:none}.ds-mat-text{font-size:12px;line-height:1.4}.members-toolbar--with-tabs{margin-bottom:14px}.members-toolbar--with-tabs .mem-subtabs{margin-bottom:0;flex:1;min-width:0}.members-toolbar--with-tabs>.action{margin-left:auto;flex-shrink:0}.mem-subtab{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);padding:8px 16px;font-size:13px;cursor:pointer;font-weight:500}.mem-group-card{border:1px solid var(--line);border-radius:14px;background:#fff;padding:10px 12px;display:flex;flex-direction:column;gap:4px;cursor:pointer;box-shadow:0 4px 12px #0f172a0d;transition:box-shadow .15s,transform .15s;-webkit-tap-highlight-color:transparent}.mem-gc-icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;font-size:18px}.mem-gc-name{font-size:14px;font-weight:800;line-height:1.25}.members-search{width:100%;border:1px solid var(--line);border-radius:999px;padding:8px 12px 8px 36px;font-size:13px;background:#f8fbff;outline:none}.members-select{border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-size:12px;background:#f8fbff;outline:none;cursor:pointer}.time-chip{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:600;border:1px solid var(--line);background:#f8fbff}.project-block-name{font-size:15px;font-weight:700}.project-meta-val{font-size:14px;font-weight:700;margin-top:1px}.wc{border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px;display:flex;flex-direction:column;gap:7px}.wc-top{display:flex;justify-content:space-between;align-items:flex-start}.wc-avatar{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;font-size:16px}.wc-name{font-size:13px;font-weight:700}.wc-trade{font-size:11px;color:var(--muted)}.project-ov-card{border:1px solid var(--line);border-radius:18px;background:var(--card);padding:16px;display:flex;flex-direction:column;gap:10px;box-shadow:0 4px 12px #0f172a0d;color:var(--text)}.project-ov-name{font-size:15px;font-weight:700}.project-ov-loc{font-size:12px;color:var(--muted)}.project-ov-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;border-top:1px solid var(--line);padding-top:10px}.project-ov-stat-val{font-size:18px;font-weight:800}.sh-name{font-size:13px;font-weight:600}.sh-site{font-size:11px;color:var(--muted)}.sh-badge{font-size:11px;font-weight:600;border-radius:999px;padding:3px 9px;border:1px solid transparent}.vendor-tag{display:inline-block;font-size:11px;background:#f1f5f9;border:1px solid var(--line);border-radius:999px;padding:2px 8px}.rpt-export-btn{border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--text);padding:8px 14px;font-size:12px;cursor:pointer}.clock-modal-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a59;z-index:300;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.clock-modal-overlay.open{display:block}.clock-modal{display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-48%);width:min(440px,92vw);background:#fff;border-radius:22px;box-shadow:0 24px 60px #0f172a2e;z-index:301;flex-direction:column;max-height:88vh;overflow:hidden}.clock-modal.wide{width:min(580px,94vw)}.clock-modal.open{display:flex;transform:translate(-50%,-50%)}.clock-modal--wide{width:min(560px,94vw)}.clock-modal-body .entry-form-grid{margin:0}.clock-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 20px 14px;border-bottom:1px solid var(--line);background:#f8fbff;flex-shrink:0}.clock-modal-title{font-size:16px;font-weight:800}.clock-modal-site{font-size:12px;color:var(--muted);margin-top:3px}.admin-modal-close:empty:before,.material-request-close:empty:before{content:"×";font-size:20px;line-height:1;font-weight:600}.clock-modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:14px 20px;border-top:1px solid var(--line);background:#f8fbff;flex-shrink:0}.clock-input{border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:13px;background:#fff;outline:none;width:100%;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.clock-input:focus{border-color:var(--brand-border);box-shadow:0 0 0 3px #86efac40}.clock-field-hint{font-size:11px;color:var(--muted)}.clock-submit{background:var(--brand-soft);border:1px solid var(--brand-border);border-radius:999px;color:var(--brand-ink);font-size:13px;font-weight:700;padding:10px 20px;cursor:pointer;white-space:nowrap}.clock-submit.secondary{background:#fff;border-color:var(--line);color:var(--text);font-weight:600}.clock-submit.secondary:hover{background:#f8fafc}.clock-submit:disabled{opacity:.6;cursor:not-allowed}.clock-modal-success{display:none;padding:32px 20px;text-align:center;flex-direction:column;align-items:center;gap:8px;flex:1}.mem-worker-info{flex:1}.mem-worker-hrs{font-size:12px;font-weight:600}.doc-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.visual-doc{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden}.visual-doc-head{display:flex;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line);background:#f8fbff}.preview-canvas{height:200px;margin:12px;border:1px solid #dbe4ee;border-radius:14px;background:#fff}.checklist-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.checklist-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:14px}@media(max-width:960px){.ds-projects-row,.mem-grid,.site-overview-grid{grid-template-columns:1fr 1fr}.ds-bottom-row{grid-template-columns:1fr}.site-worker-grid:not(.site-worker-grid--compact){grid-template-columns:repeat(2,minmax(0,1fr))}.gsearch-kbd,.project-selector-wrap{display:none}}@media(max-width:600px){.ds-projects-row,.mem-grid,.site-overview-grid,.stock-health-grid,.doc-preview-grid,.checklist-board{grid-template-columns:1fr}.ds-headcount-row{flex-wrap:wrap;padding:14px 10px;gap:10px}.ds-hc-card{flex:1 1 calc(50% - 10px);min-width:120px}.ds-hc-divider{display:none}.entry-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.entry-mini{padding:8px 6px;border-radius:12px;text-align:center}.entry-mini .m-label{font-size:10px;line-height:1.2}.entry-mini .m-val{font-size:16px;margin-top:2px}}@media(max-width:480px){.topbar-center{display:none}}.topbar{display:flex!important;flex-wrap:nowrap!important;align-items:center;justify-content:space-between;gap:10px;min-width:0;overflow:visible}.topbar .top-left{min-width:0;flex:1 1 auto;overflow:hidden}.topbar .title{min-width:0}.topbar .title strong,.topbar .title span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.topbar .top-right{display:flex!important;flex-wrap:nowrap!important;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto;min-width:0}.topbar .top-right .pill,.topbar .top-right .role-badge{white-space:nowrap;flex-shrink:0}.topbar .top-right .notif-btn,.topbar .top-right .profile-menu-wrap,.topbar .top-right .profile-btn{flex-shrink:0}@media(max-width:1100px){.topbar .top-right .pill{display:none}}@media(max-width:820px){.topbar .title span{display:none}.topbar .top-right .role-badge{max-width:110px;overflow:hidden;text-overflow:ellipsis}}@media(max-width:640px){.topbar .top-right .role-badge{display:none}}.notif-toast{position:fixed;top:calc(var(--app-status-bar-inset, env(safe-area-inset-top, 0px)) + 64px);left:50%;right:auto;bottom:auto;z-index:1200;width:min(360px,calc(100vw - 32px));background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:14px;padding:14px 36px 14px 16px;box-shadow:0 16px 40px #0f172a2e;transform:translate(-50%);animation:notif-toast-in .22s ease-out}.notif-toast-title{font-size:13px;font-weight:700;line-height:1.35;color:var(--text)}.notif-toast-body{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.4}.notif-toast-close{position:absolute;top:8px;right:10px;border:0;background:transparent;color:var(--muted);font-size:18px;cursor:pointer;line-height:1}.notif-toast-close:hover{color:var(--text)}.notif-clear-btn{border:0;background:transparent;color:#64748b;font-size:11px;font-weight:600;cursor:pointer;padding:0;white-space:nowrap;line-height:1.2}.notif-clear-btn:hover{color:var(--text, #0f172a)}.notif-item-body{flex:1;min-width:0}.notif-body-text{font-size:11px;color:#64748b;margin-top:2px;line-height:1.35}.notif-item-actions{display:flex;gap:10px;margin-top:6px}.notif-item-actions button{border:0;background:transparent;color:var(--brand);font-size:11px;font-weight:600;cursor:pointer;padding:0}@keyframes notif-toast-in{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.broadcast-form .field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.broadcast-form .field span{font-size:12px;font-weight:600;color:#475569}.broadcast-form input,.broadcast-form textarea,.broadcast-form select{border:1px solid var(--line, #e2e8f0);border-radius:10px;padding:10px 12px;font:inherit}.broadcast-form .form-error{color:#b91c1c;font-size:12px;margin-bottom:10px}.broadcast-form .form-success{color:#15803d;font-size:12px;margin-bottom:10px}.announce-card{padding:0;overflow:hidden}.announce-panel{padding:0}.announce-panel__head{padding:16px 18px 14px;border-bottom:1px solid #eef2f7;background:#fff}.announce-panel__title{margin:0;font-size:16px;font-weight:800;color:#102033}.announce-panel__sub{margin:6px 0 0;font-size:13px;color:#64748b;line-height:1.45}.announce-form{padding:16px 18px 18px;display:flex;flex-direction:column;gap:14px;max-width:640px}.announce-field{display:flex;flex-direction:column;gap:7px}.announce-label{font-size:12px;font-weight:700;color:#475569}.announce-input{width:100%;border:1px solid #e2e8f0;border-radius:12px;padding:11px 12px;font:inherit;font-size:14px;color:#102033;background:#fff;outline:none;transition:border-color .15s,box-shadow .15s}.announce-input:focus{border-color:var(--brand-border);box-shadow:0 0 0 3px #86efac40}.announce-textarea{min-height:120px;resize:vertical;line-height:1.45}.announce-audience{display:grid;grid-template-columns:1fr 1fr;gap:8px}.announce-audience-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:12px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s}.announce-audience-btn strong{font-size:13px;font-weight:800;color:#102033}.announce-audience-btn span{font-size:12px;color:#64748b}.announce-audience-btn.active{border-color:var(--brand-border);background:var(--brand-soft)}.announce-role-list{display:flex;flex-wrap:wrap;gap:8px}.announce-role-chip{border:1px solid #e2e8f0;background:#fff;color:#334155;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:700;cursor:pointer}.announce-role-chip.active{border-color:var(--brand-border);background:var(--brand-soft);color:var(--brand-ink)}.announce-role-hint{font-size:12px;color:#64748b}.announce-alert{border-radius:12px;padding:10px 12px;font-size:13px;font-weight:600;line-height:1.4}.announce-alert--error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.announce-alert--success{background:var(--brand-soft);border:1px solid #bbf7d0;color:var(--brand-ink)}.announce-actions{display:flex;justify-content:flex-start}.announce-submit{border:1px solid var(--brand);background:var(--brand);color:#fff;border-radius:999px;padding:10px 16px;font-size:13px;font-weight:700;cursor:pointer}.announce-submit:disabled{opacity:.6;cursor:not-allowed}.announce-submit:hover:not(:disabled){background:#15803d;border-color:#15803d}@media(max-width:720px){.announce-panel__head{padding:14px}.announce-form{padding:14px;gap:12px;max-width:none}.announce-audience{grid-template-columns:1fr}}:root{--bg:#ffffff;--card:#fff;--line:#cbd5e1;--line-strong:#94a3b8;--hairline:#cbd5e1;--text:#102033;--muted:#64748b;--accent-base:#8c6a24;--header-bg:var(--accent-base);--brand:var(--accent-base);--brand-soft:color-mix(in srgb,var(--accent-base) 12%,white 88%);--brand-border:color-mix(in srgb,var(--accent-base) 55%,white 45%);--brand-ink:color-mix(in srgb,var(--accent-base) 78%,black 22%);--green:var(--accent-base);--ok-soft:color-mix(in srgb,var(--accent-base) 12%,white 88%);--ok-border:color-mix(in srgb,var(--accent-base) 55%,white 45%);--ok-ink:color-mix(in srgb,var(--accent-base) 78%,black 22%);--blue: #0ea5e9;--orange:#f59e0b;--red:#ef4444;--soft:#ffffff;--shadow:0 12px 28px rgba(15,23,42,.08);--r:16px }*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:#fff;color:var(--text);min-height:100vh;display:flex}.app{flex:1;display:flex;min-height:100vh}.sidebar{width:258px;background:#fff;border-right:1px solid var(--line);padding:16px;display:flex;flex-direction:column;gap:14px;position:sticky;top:0;height:100vh;box-shadow:var(--shadow)}.brand{display:flex;gap:10px;align-items:center}.logo{width:44px;height:44px;border-radius:12px;object-fit:cover;object-position:center;display:block;flex-shrink:0}.brand h1{font-size:15px}.brand p{font-size:12px;color:var(--muted);margin-top:2px}.menu-btn{display:none;width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:18px;color:var(--text)}.menu-list{display:grid;gap:8px}.menu-item{border:1px solid var(--line);background:#fff;color:var(--muted);padding:11px 12px;border-radius:14px;display:flex;align-items:center;gap:10px;cursor:pointer;font-size:13px}.menu-item.active{background:var(--brand-soft);border-color:var(--brand-border);color:var(--text)}.dot{width:10px;height:10px;border-radius:999px;background:#cbd5e1}.menu-item.active .dot{background:var(--green)}.sitebox{margin-top:auto;padding:12px;border:1px solid var(--line);border-radius:16px;background:#f8fbff}.sitebox h3{font-size:13px;margin-bottom:4px}.sitebox p{font-size:12px;color:var(--muted);line-height:1.4}.main{flex:1;min-width:0;padding:14px;display:flex;flex-direction:column;gap:12px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:10px 12px;box-shadow:var(--shadow);min-width:0;flex-wrap:nowrap}.top-left{display:flex;gap:10px;align-items:center;min-width:0;flex:1 1 auto}.burger{display:none;width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--text);font-size:18px;flex-shrink:0}.title{min-width:0}.title strong{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.title span{display:block;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-right{display:flex;gap:8px;flex-wrap:nowrap;justify-content:flex-end;align-items:center;flex:0 0 auto}.pill{padding:7px 11px;border-radius:999px;border:1px solid var(--line);background:#f8fbff;color:var(--muted);font-size:12px;white-space:nowrap;flex-shrink:0}.pill b{color:var(--text)}.content{background:#fff;border:1px solid var(--line);border-radius:22px;padding:14px;box-shadow:var(--shadow)}.view{display:none}.view.active{display:block}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:12px}.section-title{font-size:18px;font-weight:700}.section-sub{font-size:12px;color:var(--muted);margin-top:4px;max-width:520px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.tab{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);padding:8px 14px;font-size:13px;cursor:pointer}.tab.active{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:12px;box-shadow:0 6px 16px #0f172a0a}.kpi .label{font-size:12px;color:var(--muted)}.kpi .value{font-size:26px;font-weight:800;margin-top:4px}.kpi .hint{font-size:12px;color:var(--muted);margin-top:4px}.green,.blue{color:var(--brand)}.orange{color:var(--muted)}.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fff}.tablewrap table{width:100%;border-collapse:collapse;min-width:680px}.tablewrap th,.tablewrap td{padding:10px 12px;border-bottom:1px solid #e5eef7;text-align:left;font-size:12px}.tablewrap th{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:#f8fbff}.tablewrap tr:last-child td{border-bottom:none}.status{display:inline-flex;padding:3px 7px;border-radius:999px;font-size:11px;border:1px solid transparent}.ok{background:var(--ok-soft);border-color:var(--brand-border);color:var(--brand-ink)}.wait{background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-ink)}.bad{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.note{color:var(--muted);font-size:12px;line-height:1.45;margin-top:6px}.crew-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.85fr);gap:10px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.filter{border:1px solid var(--line);background:#fff;color:var(--muted);padding:7px 11px;border-radius:999px;font-size:12px;cursor:pointer}.filter.active{background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-ink)}.calendar-grid{border:1px solid var(--line);border-radius:14px;overflow:auto;background:#fff}.calendar-head,.calendar-row{display:grid;grid-template-columns:150px repeat(7,minmax(80px,1fr))}.calendar-head{background:#f8fbff;border-bottom:1px solid #e5eef7}.calendar-head div,.calendar-row .crew-name,.slot{padding:8px 10px;font-size:11px}.calendar-head div{text-align:center;color:var(--muted)}.calendar-row{border-bottom:1px solid #e5eef7}.calendar-row:last-child{border-bottom:none}.crew-name{border-right:1px solid #e5eef7;display:flex;flex-direction:column;gap:2px}.crew-name span{color:var(--muted);font-size:11px}.slot{border-right:1px solid #e5eef7;text-align:center}.slot:last-child{border-right:none}.slot-bar{display:inline-flex;min-width:56px;justify-content:center;align-items:center;border-radius:999px;padding:4px 6px;font-size:11px}.busy{background:#dbeafe;color:#0f4c81}.free{background:var(--ok-soft);color:var(--brand-ink)}.off{background:#f1f5f9;color:#64748b}.worker-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin-top:6px}.worker-pill{flex:0 0 auto;min-width:140px;border:1px solid var(--line);background:#fff;border-radius:14px;padding:8px 10px;display:flex;flex-direction:column;gap:2px}.worker-pill strong{font-size:13px}.worker-pill span{font-size:11px;color:var(--muted)}.action{border:1px solid var(--line);border-radius:999px;background:#fff;padding:8px 12px;font-size:12px;cursor:pointer;color:var(--text)}.action.primary{background:var(--brand-soft);border-color:var(--brand-border)}.clock-table{margin-top:8px}.rpt-export-group{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.rpt-export-btn{border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--text);padding:8px 14px;font-size:12px;cursor:pointer;transition:background .15s,color .15s}.rpt-export-btn:hover{background:var(--soft)}.rpt-export-primary{background:var(--brand-soft);border-color:var(--brand-border);color:var(--text);font-weight:600}.rpt-export-primary:hover{background:var(--btn-hover-tinted)}.rpt-cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.rpt-card{border:1px solid var(--line);border-radius:16px;background:var(--card);padding:16px;display:flex;flex-direction:column;gap:9px;box-shadow:0 4px 12px #0f172a0a;transition:box-shadow .15s;color:var(--text)}.rpt-card:hover{box-shadow:0 8px 22px #0f172a17}.rpt-card-top{display:flex;justify-content:space-between;align-items:center}.rpt-card-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:17px}.rpt-freq{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:3px 8px}.rpt-card-title{font-size:14px;font-weight:700;color:var(--text)}.rpt-card-desc{font-size:12px;color:var(--muted);line-height:1.5;flex:1}.rpt-card-meta{display:flex;gap:6px;flex-wrap:wrap}.rpt-meta-tag{font-size:11px;background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:2px 8px;color:var(--muted)}.rpt-card-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:10px;margin-top:2px}.rpt-last{font-size:11px;color:var(--muted)}.rpt-run-btn{border:1px solid var(--brand-border);border-radius:999px;background:var(--brand-soft);color:var(--text);padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s}.rpt-run-btn:hover{background:var(--btn-hover-tinted)}.rpt-run-urgent{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.rpt-run-urgent:hover{background:#fecaca}@media(max-width:960px){.rpt-cards-grid{grid-template-columns:1fr 1fr}.rpt-export-group{justify-content:flex-start}}@media(max-width:520px){.rpt-cards-grid{grid-template-columns:1fr}}.stock-health-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sh-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--soft);color:var(--text)}.sh-dot{width:10px;height:10px;border-radius:999px;flex-shrink:0}.sh-green{background:var(--green)}.sh-yellow{background:var(--orange)}.sh-red{background:var(--red)}.sh-body{flex:1;min-width:0}.sh-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sh-site{font-size:11px;color:var(--muted);margin-top:1px}.sh-right{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0}.sh-bar-wrap{width:90px}.sh-bar{height:5px;border-radius:999px;background:#e2e8f0;overflow:hidden}.sh-bar-fill{height:100%;border-radius:999px}.sh-badge{font-size:11px;font-weight:600;border-radius:999px;padding:3px 9px;border:1px solid transparent;white-space:nowrap}.sh-badge-green{background:var(--ok-soft);border-color:var(--brand-border);color:var(--brand-ink)}.sh-badge-yellow{background:#ffedd5;border-color:#fdba74;color:#9a3412}.sh-badge-red{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.vendor-tag{display:inline-block;font-size:11px;background:#f1f5f9;border:1px solid var(--line);border-radius:999px;padding:2px 8px;color:var(--text)}@media(max-width:720px){.stock-health-grid{grid-template-columns:1fr}}.site-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.project-ov-card{border:1px solid var(--line);border-radius:18px;background:var(--card);padding:16px;display:flex;flex-direction:column;gap:10px;box-shadow:0 4px 12px #0f172a0d;transition:box-shadow .15s;color:var(--text)}.project-ov-card:hover{box-shadow:0 8px 22px #0f172a17}.project-ov-active{border-color:var(--brand-border);background:var(--brand-soft)}.project-ov-top{display:flex;justify-content:space-between;align-items:center}.project-ov-badge{font-size:11px;font-weight:600;border-radius:999px;padding:3px 10px;background:var(--ok-soft);border:1px solid var(--brand-border);color:var(--brand-ink)}.project-ov-badge-warn{background:#ffedd5;border-color:#fdba74;color:#9a3412}.project-ov-badge-red{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.project-ov-name{font-size:15px;font-weight:700;color:var(--text)}.project-ov-loc{font-size:12px;color:var(--muted);margin-top:-6px}.project-ov-progress-wrap{display:flex;flex-direction:column;gap:5px}.project-ov-progress-top{display:flex;justify-content:space-between;align-items:center}.project-ov-progress-label{font-size:11px;color:var(--muted)}.project-ov-progress-pct{font-size:14px;font-weight:700}.project-ov-bar{height:6px;border-radius:999px;background:#e2e8f0;overflow:hidden}.project-ov-bar-fill{height:100%;border-radius:999px}.project-ov-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;border-top:1px solid var(--line);padding-top:10px;margin-top:2px}.project-ov-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.project-ov-stat-val{font-size:18px;font-weight:800;color:var(--text)}.project-ov-stat-label{font-size:10px;color:var(--muted);text-align:center}.sites-lower-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);gap:10px}.doc-name-cell{display:flex;align-items:center;gap:8px}.doc-icon{font-size:10px;font-weight:700;border-radius:5px;padding:3px 5px;flex-shrink:0}.doc-pdf{background:#fee2e2;color:#991b1b}.doc-dwg{background:#dbeafe;color:#1e40af}.doc-xls{background:var(--ok-soft);color:var(--brand-ink)}.doc-type-tag{font-size:11px;font-weight:600;border-radius:999px;padding:3px 8px;border:1px solid transparent}.tag-layout{background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-ink)}.tag-drawing{background:#fdf4ff;border-color:#e9d5ff;color:#7e22ce}.tag-checklist{background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-ink)}.timeline{display:flex;flex-direction:column;gap:0}.tl-item{display:flex;gap:12px;padding-bottom:16px;position:relative}.tl-item:not(:last-child):before{content:"";position:absolute;left:7px;top:18px;bottom:0;width:1px;background:var(--line)}.tl-dot{width:15px;height:15px;border-radius:999px;flex-shrink:0;margin-top:2px;border:2px solid #fff;box-shadow:0 0 0 1px var(--line)}.tl-blue{background:var(--blue)}.tl-green{background:var(--brand)}.tl-orange{background:#f59e0b}.tl-red{background:#ef4444}.tl-body{flex:1;min-width:0}.tl-title{font-size:13px;font-weight:600;color:var(--text)}.tl-desc{font-size:12px;color:var(--muted);line-height:1.4;margin-top:2px}.tl-time{font-size:11px;color:#94a3b8;margin-top:4px}@media(max-width:960px){.site-overview-grid{grid-template-columns:1fr 1fr}.sites-lower-grid{grid-template-columns:1fr}}@media(max-width:520px){.site-overview-grid{grid-template-columns:1fr}}.sites-blocks{display:flex;flex-direction:column;gap:14px}.site-block{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 4px 12px #0f172a0d}.project-block-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line);background:#f8fbff}.project-block-name{font-size:15px;font-weight:700;color:var(--text)}.project-block-loc{font-size:12px;color:var(--muted);margin-top:2px}.project-block-meta{display:flex;gap:8px;flex-wrap:wrap}.project-meta-pill{display:flex;flex-direction:column;align-items:center;padding:6px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;min-width:80px}.project-meta-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.project-meta-val{font-size:14px;font-weight:700;color:var(--text);margin-top:1px}.site-worker-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px 16px}.wc{border:1px solid var(--line);border-radius:14px;background:var(--card);padding:12px;display:flex;flex-direction:column;gap:7px;transition:box-shadow .15s;box-shadow:0 2px 6px #0f172a0a;color:var(--text)}.wc:hover{box-shadow:0 6px 16px #0f172a17}.wc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:6px}.wc-avatar{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;font-size:16px;flex-shrink:0}.wc-name{font-size:13px;font-weight:700;color:var(--text)}.wc-trade{font-size:11px;color:var(--muted);background:#f1f5f9;border-radius:999px;padding:2px 8px;display:inline-block;align-self:flex-start}.wc-footer{border-top:1px solid #f1f5f9;padding-top:7px;margin-top:2px}.wc-hours{font-size:11px;font-weight:600;color:var(--muted)}@media(max-width:960px){.site-worker-grid:not(.site-worker-grid--compact){grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.site-worker-grid:not(.site-worker-grid--compact){grid-template-columns:repeat(2,minmax(0,1fr))}.project-block-header{flex-direction:column;align-items:flex-start}}@media(max-width:520px){.site-worker-grid:not(.site-worker-grid--compact){grid-template-columns:1fr 1fr}}.att-status{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:600;border:1px solid transparent}.att-present{background:var(--ok-soft);border-color:var(--brand-border);color:var(--brand-ink)}.att-present:before{content:"";font-size:9px}.att-late{background:#ffedd5;border-color:#fdba74;color:#9a3412}.att-late:before{content:"";font-size:9px}.att-absent{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.att-absent:before{content:"";font-size:9px}.att-pending{background:#fffbeb;border-color:#fde68a;color:#92400e}.att-pending:before{content:"";font-size:9px}.flag-tag{display:inline-block;font-size:10px;font-weight:600;border-radius:4px;padding:1px 5px;margin-left:4px;vertical-align:middle}.flag-late{color:#92400e}.flag-late .flag-tag{background:#ffedd5;color:#9a3412}.flag-missing{color:#991b1b}.flag-missing .flag-tag{background:#fee2e2;color:#991b1b}.row-late{background:#fffdf5}.row-late td{border-bottom-color:#fde68a!important}.row-late:hover{background:#fff7ed}.row-absent{background:#fff8f8}.row-absent td{border-bottom-color:#fecdd3!important}.row-absent:hover{background:#fff1f2}.row-warn{background:#fffef0}.row-warn td{border-bottom-color:#fef08a!important}.row-warn:hover{background:#fefce8}.tracker-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.legend-item{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.legend-dot{display:inline-block;width:12px;height:12px;border-radius:3px;border:1px solid}.members-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.members-search-wrap{position:relative;flex:1;min-width:180px}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);z-index:1;display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;line-height:0;color:var(--muted);pointer-events:none}.members-search{width:100%;border:1px solid var(--line);border-radius:999px;padding:8px 12px 8px 36px;font-size:13px;background:#f8fbff;color:var(--text);outline:none}.members-search:focus{outline:none;border-color:var(--brand-border);background:#fff;box-shadow:none}.members-search-wrap .members-search,.fm-worker-search-wrap .fm-worker-search{-webkit-appearance:none;-moz-appearance:none;appearance:none}.members-search-wrap .members-search::-webkit-search-decoration,.members-search-wrap .members-search::-webkit-search-results-button,.members-search-wrap .members-search::-webkit-search-results-decoration,.fm-worker-search-wrap .fm-worker-search::-webkit-search-decoration,.fm-worker-search-wrap .fm-worker-search::-webkit-search-results-button,.fm-worker-search-wrap .fm-worker-search::-webkit-search-results-decoration{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:none}.members-select{border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-size:12px;background:#f8fbff;color:var(--muted);outline:none;cursor:pointer}.members-select:focus{border-color:var(--brand-border)}.crew-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:4px}.crew-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px;box-shadow:0 4px 12px #0f172a0d;display:flex;flex-direction:column;gap:8px;transition:box-shadow .15s}.crew-card:hover{box-shadow:0 8px 20px #0f172a17}.crew-card-top{display:flex;justify-content:space-between;align-items:flex-start}.crew-card-avatar{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;font-size:18px;flex-shrink:0}.crew-card-alloc{font-size:11px;font-weight:600;border-radius:999px;padding:4px 9px;border:1px solid transparent}.alloc-full{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.alloc-partial{background:#ffedd5;border-color:#fdba74;color:#9a3412}.alloc-free{background:var(--ok-soft);border-color:var(--brand-border);color:var(--brand-ink)}.crew-card-name{font-size:14px;font-weight:700;color:var(--text)}.crew-card-meta{display:flex;flex-wrap:wrap;gap:6px}.crew-card-meta span{font-size:11px;color:var(--muted);background:#f8fbff;border:1px solid var(--line);border-radius:999px;padding:3px 8px}.crew-card-bar-wrap{display:flex;align-items:center;gap:8px}.crew-card-bar{flex:1;height:5px;border-radius:999px;background:#e2e8f0;overflow:hidden}.crew-card-bar-fill{height:100%;border-radius:999px}.crew-card-pct{font-size:11px;font-weight:600;flex-shrink:0}.crew-card-hours{font-size:11px;color:var(--muted);border-top:1px solid #f1f5f9;padding-top:8px;margin-top:2px}.alloc-summary-list{display:flex;flex-direction:column;gap:6px}.alloc-row{display:grid;grid-template-columns:200px 1fr auto;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:#f8fbff;border:1px solid var(--line)}.alloc-left{display:flex;align-items:center;gap:10px}.alloc-dot{width:10px;height:10px;border-radius:999px;flex-shrink:0}.alloc-full-dot{background:var(--red)}.alloc-partial-dot{background:var(--orange)}.alloc-free-dot{background:var(--green)}.alloc-crew{font-size:13px;font-weight:600}.alloc-detail{font-size:11px;color:var(--muted);margin-top:1px}.alloc-track{height:6px;border-radius:999px;background:#e2e8f0;overflow:hidden}.alloc-fill{height:100%;border-radius:999px}.alloc-right{display:flex;align-items:center;gap:8px;justify-content:flex-end}.alloc-badge{font-size:11px;font-weight:600;border-radius:999px;padding:4px 9px;white-space:nowrap;border:1px solid transparent}.badge-full{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.badge-partial{background:#ffedd5;border-color:#fdba74;color:#9a3412}.badge-free{background:var(--ok-soft);border-color:var(--brand-border);color:var(--brand-ink)}.alloc-hrs{font-size:12px;font-weight:700;color:var(--text);min-width:38px;text-align:right}@media(max-width:960px){.crew-cards{grid-template-columns:1fr 1fr}.alloc-row{grid-template-columns:1fr auto}}@media(max-width:520px){.crew-cards,.alloc-row{grid-template-columns:1fr}.alloc-center{display:none}}.kpi-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;font-size:15px;margin-bottom:8px}.kpi-bar-wrap{display:flex;flex-direction:column;gap:4px;margin-top:4px}.kpi-bar{height:4px;border-radius:999px;background:#e2e8f0;overflow:hidden}.kpi-bar-fill{height:100%;border-radius:999px}.alert-count{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;align-self:flex-start}.alerts-list{display:flex;flex-direction:column;gap:8px}.alert-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:14px;border:1px solid transparent}.alert-orange{background:#fff7ed;border-color:#fed7aa}.alert-red{background:#fff1f2;border-color:#fecdd3}.alert-blue{background:var(--brand-soft);border-color:var(--brand-border)}.alert-icon{font-size:18px;flex-shrink:0;margin-top:1px}.alert-body{flex:1;min-width:0}.alert-title{font-size:13px;font-weight:600;margin-bottom:2px}.alert-desc{font-size:12px;color:var(--muted);line-height:1.45}.mini-bar{width:72px;height:6px;border-radius:999px;background:#e2e8f0;overflow:hidden;flex-shrink:0}.mini-bar-fill{height:100%;border-radius:999px;transition:width .3s ease}@media(max-width:960px){.sidebar{position:fixed;left:0;top:0;bottom:0;transform:translate(-103%);transition:.22s ease;width:258px;z-index:40}.sidebar.open{transform:translate(0)}.burger,.menu-btn{display:grid;place-items:center}.crew-layout,.grid-3{grid-template-columns:1fr}.grid-4{grid-template-columns:1fr 1fr}}@media(max-width:720px){.main{padding:10px}.content{padding:12px;border-radius:18px}.topbar{padding:9px 10px;border-radius:18px}.grid-3{grid-template-columns:1fr 1fr}.calendar-head,.calendar-row{grid-template-columns:120px repeat(7,minmax(70px,1fr))}}@media(max-width:520px){.grid-3,.grid-4{grid-template-columns:1fr}.calendar-head,.calendar-row{grid-template-columns:110px repeat(7,minmax(64px,1fr))}}.section-title{font-size:19px;font-weight:800;letter-spacing:-.01em}.card{border-radius:18px}.content{border-radius:24px;padding:18px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:nowrap;min-width:0}.topbar-center{flex:1;min-width:0}.gsearch-wrap{position:relative;display:flex;align-items:center}.gsearch-icon{position:absolute;left:12px;font-size:13px;pointer-events:none;z-index:1}.gsearch-input{width:100%;border:1px solid var(--line);border-radius:999px;padding:9px 40px 9px 34px;font-size:13px;background:#f8fbff;color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s}.gsearch-input:focus{border-color:var(--brand-border);box-shadow:0 0 0 3px #16a34a14;background:#fff}.gsearch-kbd{position:absolute;right:10px;font-size:10px;background:#f1f5f9;border:1px solid var(--line);border-radius:5px;padding:2px 5px;color:var(--muted);pointer-events:none}.project-selector-wrap{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:6px 12px;background:#f8fbff;cursor:pointer}.project-selector-icon{font-size:13px;flex-shrink:0}.site-selector{border:none;background:transparent;font-size:12px;color:var(--text);outline:none;cursor:pointer;max-width:130px}.notif-btn{position:relative;width:38px;height:38px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:16px;cursor:pointer;display:grid;place-items:center;flex-shrink:0}.notif-badge{position:absolute;top:-4px;right:-4px;background:var(--red);color:#fff;border-radius:999px;font-size:9px;font-weight:700;min-width:16px;height:16px;display:grid;place-items:center;border:2px solid #fff;padding:0 2px}.notif-panel{display:none;position:fixed;top:54px;right:0;bottom:0;width:320px;background:var(--card,#fff);border:1px solid var(--line);border-right:none;border-radius:0;box-shadow:0 16px 40px #0f172a24;z-index:10000;overflow:hidden;flex-direction:column;color:var(--text)}.notif-wrap{position:relative;flex-shrink:0}.notif-panel.open{display:flex!important}.notif-header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--soft,#f8fbff)}.notif-header-left{display:flex;align-items:center;gap:8px;min-width:0}.notif-heading{font-size:14px;font-weight:700;color:var(--text);white-space:nowrap}.notif-header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.notif-count-tag{font-size:11px;font-weight:600;background:#fee2e2;border:1px solid #fca5a5;color:#991b1b;border-radius:999px;padding:2px 8px;white-space:nowrap}.notif-clear-btn{border:0;background:transparent;color:var(--muted,#64748b);font-size:11px;font-weight:600;cursor:pointer;padding:0;white-space:nowrap;line-height:1.2}.notif-clear-btn:hover{color:var(--text)}.notif-list{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto}.notif-item{display:flex;gap:10px;align-items:flex-start;padding:11px 16px;border-bottom:1px solid var(--hairline,#f1f5f9);cursor:pointer;transition:background .12s}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--soft,#f8fbff)}.notif-unread{background:color-mix(in srgb,var(--brand-soft,#fffef0) 70%,var(--card,#fff))}.notif-item:not(.notif-unread) .notif-dot{background:#cbd5e1!important;opacity:.75}.notif-dot{width:8px;height:8px;border-radius:999px;flex-shrink:0;margin-top:4px}.nd-red{background:var(--red)}.nd-orange{background:var(--orange)}.nd-blue{background:var(--blue)}.nd-green{background:var(--green)}.nd-read{background:#cbd5e1}.notif-title{font-size:12px;font-weight:500;line-height:1.4;color:var(--text)}.notif-time{font-size:11px;color:var(--muted,#94a3b8);margin-top:2px}.gsearch-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a40;z-index:199;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.gsearch-overlay.open{display:block}.gsearch-results{display:none;position:fixed;top:72px;left:50%;transform:translate(-50%);width:min(560px,90vw);background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 48px #0f172a29;z-index:200;overflow:hidden;max-height:420px;overflow-y:auto}.gsearch-results.open{display:block}.gsr-section{padding:8px 0}.gsr-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:4px 16px 2px}.gsr-item{display:flex;align-items:center;gap:10px;padding:10px 16px;cursor:pointer;transition:background .1s}.gsr-item:hover{background:var(--brand-soft)}.gsr-item-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-size:14px;flex-shrink:0}.gsr-item-name{font-size:13px;font-weight:600}.gsr-item-sub{font-size:11px;color:var(--muted);margin-top:1px}.gsr-empty{padding:24px 16px;text-align:center;color:var(--muted);font-size:13px}.gsr-divider{border:none;border-top:1px solid var(--line);margin:0}.menu-item{font-size:13px;font-weight:500;letter-spacing:.01em;border-radius:14px;transition:background .15s,border-color .15s}.menu-item:hover:not(.active){background:#f8fbff;border-color:#c8d8e8}.section-head,.tabs{margin-bottom:14px}.content>.view>.card:first-of-type{border-color:#e2ecf8}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:40px 20px;text-align:center}.empty-state-icon{font-size:36px;opacity:.5}.empty-state-title{font-size:14px;font-weight:600;color:var(--text)}.empty-state-sub{font-size:12px;color:var(--muted);max-width:260px;line-height:1.5}@media(max-width:1100px){.top-right .pill{display:none}}@media(max-width:960px){.topbar{gap:10px}.gsearch-kbd,.project-selector-wrap{display:none}.notif-panel{right:0;width:290px}}@media(max-width:720px){.topbar{gap:8px}.title strong{font-size:14px}.title span{display:none}.top-right .role-badge{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:640px){.top-right .role-badge{display:none}}@media(max-width:480px){.topbar-center{display:none}.notif-panel{right:0;width:100vw}}.doc-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:10px}.visual-doc{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 6px 16px #0f172a0d}.visual-doc-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;padding:12px 14px;border-bottom:1px solid var(--line);background:#f8fbff}.visual-doc-title{font-size:14px;font-weight:800}.visual-doc-meta{font-size:11px;color:var(--muted);margin-top:2px}.visual-doc-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.preview-canvas{height:250px;margin:12px;border:1px solid #dbe4ee;border-radius:14px;background:linear-gradient(90deg,rgba(22,163,74,.06) 1px,transparent 1px),linear-gradient(0deg,rgba(22,163,74,.06) 1px,transparent 1px),#fff;background-size:22px 22px;position:relative;overflow:hidden}.room{position:absolute;border:2px solid #334155;background:#f1f5f9d1;border-radius:4px;font-size:10px;font-weight:700;color:#334155;display:grid;place-items:center;text-align:center;padding:4px}.wall{position:absolute;background:#0f172a;border-radius:999px}.door{position:absolute;border:2px solid var(--brand);border-left:0;border-bottom:0;border-radius:0 24px 0 0}.route{position:absolute;height:4px;background:var(--brand);border-radius:999px;box-shadow:0 0 0 3px #16a34a1f}.drawing-svg{width:100%;height:100%;display:block}.legend-mini{display:flex;gap:8px;flex-wrap:wrap;padding:0 12px 12px}.legend-mini span{font-size:11px;border:1px solid var(--line);border-radius:999px;padding:3px 8px;background:#fff;color:var(--muted)}.checklist-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:10px}.checklist-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:14px;box-shadow:0 6px 16px #0f172a0d}.checklist-card h4{font-size:14px;margin-bottom:4px}.checklist-progress{height:6px;background:#e2e8f0;border-radius:999px;overflow:hidden;margin:8px 0 10px}.checklist-progress div{height:100%;border-radius:999px}.check-row{display:flex;align-items:flex-start;gap:9px;padding:8px 0;border-bottom:1px solid #f1f5f9;font-size:12px}.check-row:last-child{border-bottom:none}.check-box{width:16px;height:16px;border-radius:4px;border:1px solid #cbd5e1;display:grid;place-items:center;font-size:11px;flex-shrink:0}.check-done{background:var(--ok-soft);border-color:var(--brand-border);color:var(--brand-ink)}.check-open{background:#fff7ed;border-color:#fdba74;color:#9a3412}.check-bad{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.issue-tag{font-size:10px;border-radius:999px;padding:2px 7px;background:#fee2e2;color:#991b1b;border:1px solid #fca5a5;margin-left:auto;white-space:nowrap}@media(max-width:900px){.doc-preview-grid,.checklist-board{grid-template-columns:1fr}.preview-canvas{height:230px}}.clock-entry-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.25fr);gap:12px}.entry-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.entry-field{display:flex;flex-direction:column;gap:5px}.entry-field label{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.entry-input,.entry-select,.entry-textarea{border:1px solid var(--line);border-radius:12px;background:#f8fbff;color:var(--text);padding:10px 11px;font-size:13px;outline:none}.entry-input:focus,.entry-select:focus,.entry-textarea:focus{background:#fff;border-color:var(--brand-border);box-shadow:0 0 0 3px #16a34a14}.entry-textarea{min-height:72px;resize:vertical}.entry-full{grid-column:1/-1}.entry-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.entry-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}.entry-mini{border:1px solid var(--line);border-radius:14px;background:#f8fbff;padding:10px}.entry-mini .m-label{font-size:11px;color:var(--muted)}.entry-mini .m-val{font-size:20px;font-weight:800;margin-top:3px}.split-day-card{border:1px solid var(--brand-border);background:var(--brand-soft);border-radius:14px;padding:12px;margin-top:10px}.split-day-title{font-size:13px;font-weight:700;color:var(--brand-ink);margin-bottom:4px}.split-day-text{font-size:12px;color:#475569;line-height:1.5}.time-row-active{background:var(--brand-soft)}.time-chip{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:600;border:1px solid var(--line);background:#f8fbff;color:var(--muted)}.time-chip-open{background:#fffbeb;border-color:#fde68a;color:#92400e}.time-chip-approved{background:var(--ok-soft);border-color:var(--brand-border);color:var(--brand-ink)}.time-chip-multi{background:#dbeafe;border-color:#93c5fd;color:#1e40af}@media(max-width:960px){.clock-entry-layout{grid-template-columns:1fr}}@media(max-width:520px){.entry-form-grid{grid-template-columns:1fr}.entry-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.entry-mini{padding:8px 6px;border-radius:12px;text-align:center}.entry-mini .m-label{font-size:10px;line-height:1.2}.entry-mini .m-val{font-size:16px;margin-top:2px}}.bw-two-col{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);gap:10px;margin-top:10px}.site-time-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}.site-time-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:14px;box-shadow:0 4px 12px #0f172a0d}.site-time-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:10px}.site-time-title{font-size:14px;font-weight:800}.site-time-loc{font-size:11px;color:var(--muted);margin-top:2px}.site-time-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px;border-top:1px solid #f1f5f9;padding-top:10px}.site-time-stat{text-align:center}.site-time-stat b{display:block;font-size:17px}.site-time-stat span{font-size:10px;color:var(--muted)}.split-pill{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--brand-border);background:var(--brand-soft);color:var(--brand-ink);border-radius:999px;padding:3px 8px;font-size:11px;font-weight:600}.entry-tag{display:inline-flex;border-radius:999px;padding:3px 8px;font-size:11px;border:1px solid transparent;font-weight:600;white-space:nowrap}.tag-approved{background:var(--ok-soft);border-color:var(--brand-border);color:var(--brand-ink)}.tag-pending{background:#fffbeb;border-color:#fde68a;color:#92400e}.tag-split{background:#dbeafe;border-color:#93c5fd;color:#1e40af}.tag-issue{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.mini-action-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.site-worker-mini{display:flex;flex-direction:column;gap:8px}.site-worker-mini-row{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:9px 10px;background:#f8fbff}.site-worker-mini-row strong{font-size:12px}.site-worker-mini-row span{font-size:11px;color:var(--muted)}@media(max-width:960px){.bw-two-col,.site-time-grid{grid-template-columns:1fr}.site-time-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.site-time-grid{grid-template-columns:1fr}}.dash-zone-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px;padding-left:2px}.dash-kpi{display:flex;flex-direction:column;gap:6px;padding:14px}.dash-kpi-warn{border-color:#fdba74;background:#fffdf8}.dash-kpi-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:16px}.dash-kpi-val{font-size:30px;font-weight:800;line-height:1}.dash-kpi-title{font-size:13px;font-weight:600;color:var(--text)}.dash-kpi-sub{font-size:11px;color:var(--muted);display:flex;flex-direction:column;gap:4px}.dash-mini-bar{height:4px;border-radius:999px;background:#e2e8f0;overflow:hidden;margin-bottom:2px}.dash-mini-fill{height:100%;border-radius:999px}.dash-site-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.dash-site-card{border:1px solid var(--line);border-radius:18px;background:var(--card);padding:16px;display:flex;flex-direction:column;gap:10px;box-shadow:0 4px 14px #0f172a0d;transition:box-shadow .15s;color:var(--text)}.dash-site-card:hover{box-shadow:0 8px 24px #0f172a1a}.dash-site-green{border-color:var(--brand-border);background:var(--brand-soft)}.dash-site-amber{border-color:#fdba74;background:#fffdf8}.dash-site-red{border-color:#fca5a5;background:#fff8f8}.dash-site-top{display:flex;justify-content:space-between;align-items:flex-start}.dash-site-name{font-size:15px;font-weight:700}.dash-site-loc{font-size:12px;color:var(--muted);margin-top:2px}.dash-traffic{font-size:22px;line-height:1}.dash-site-status-line{font-size:13px;color:var(--text);line-height:1.4;font-weight:500}.dash-site-bar-wrap{display:flex;flex-direction:column;gap:5px}.dash-site-bar{height:6px;border-radius:999px;background:#e2e8f0;overflow:hidden}.dash-site-bar-fill{height:100%;border-radius:999px}.dash-site-pct{font-size:11px;font-weight:600}.dash-site-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(0,0,0,.06);padding-top:10px;gap:4px}.dash-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.dash-stat-val{font-size:18px;font-weight:800}.dash-stat-lbl{font-size:10px;color:var(--muted);text-align:center}.dash-site-actions{display:flex;gap:6px}.dash-site-actions .action{flex:1;text-align:center;justify-content:center;font-size:12px;padding:8px 6px}.dash-todo-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);gap:10px}.dash-todo-list{padding:16px;display:flex;flex-direction:column;gap:0}.dash-todo-count{display:inline-flex;align-items:center;justify-content:center;background:#fee2e2;color:#991b1b;border-radius:999px;font-size:11px;font-weight:700;padding:2px 7px;margin-left:6px}.dash-todo-item{display:flex;align-items:flex-start;gap:10px;padding:11px 0;border-bottom:1px solid #f1f5f9}.dash-todo-item:last-child{border-bottom:none;padding-bottom:0}.dash-todo-dot{width:9px;height:9px;border-radius:999px;flex-shrink:0;margin-top:4px}.dash-todo-body{flex:1;min-width:0}.dash-todo-title{font-size:13px;font-weight:600;color:var(--text);margin-bottom:2px}.dash-todo-desc{font-size:12px;color:var(--muted);line-height:1.4}.dash-todo-btn{flex-shrink:0;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid;white-space:nowrap;transition:opacity .15s}.dash-todo-btn:hover{opacity:.8}.btn-red{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.btn-amber{background:#fff7ed;border-color:#fdba74;color:#9a3412}.btn-blue{background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-ink)}.dash-material-card{padding:16px;display:flex;flex-direction:column;gap:0}.dash-mat-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #f1f5f9}.dash-mat-item:last-of-type{border-bottom:none}.dash-mat-body{flex:1;min-width:0}.dash-mat-name{font-size:13px;font-weight:600}.dash-mat-site{font-size:11px;color:var(--muted);margin-top:2px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}@media(max-width:960px){.dash-site-row{grid-template-columns:1fr 1fr}.dash-todo-grid{grid-template-columns:1fr}.grid-4{grid-template-columns:1fr 1fr}}@media(max-width:600px){.dash-site-row{grid-template-columns:1fr}.grid-4{grid-template-columns:1fr 1fr}}@media(max-width:420px){.grid-4{grid-template-columns:1fr}}.ds-headcount-row{display:flex;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px 24px;margin-bottom:12px;box-shadow:0 4px 14px #0f172a0d;gap:0}.ds-hc-card{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}.ds-hc-num{font-size:32px;font-weight:800;line-height:1}.ds-hc-label{font-size:12px;color:var(--muted);text-align:center}.ds-hc-divider{width:1px;height:48px;background:var(--line);flex-shrink:0;margin:0 4px}.ds-projects-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.ds-section{margin-bottom:12px}.ds-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.ds-section-title{font-size:14px;font-weight:700;color:var(--text);display:inline-flex;align-items:center;gap:8px}.ds-section-count{font-size:11px;font-weight:700;background:var(--brand-soft);border:1px solid var(--brand-border);color:var(--brand-ink);border-radius:999px;padding:2px 8px}.ds-view-all{border:none;background:transparent;color:var(--brand-ink);font-size:12px;font-weight:700;cursor:pointer;padding:4px 0;white-space:nowrap}.ds-view-all:hover{text-decoration:underline}.ds-site-card{border:1px solid var(--line);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:10px;box-shadow:0 4px 14px #0f172a0d}.ds-site-card-green{border-color:var(--line);background:var(--card)}.ds-site-card-amber{border-color:#fdba74;background:#f59e0b14}.ds-site-card-red{border-color:#fca5a5;background:#ef444414}.ds-site-card-top{display:flex;justify-content:space-between;align-items:flex-start}.ds-site-card-info{min-width:0;flex:1}.ds-site-name{font-size:15px;font-weight:700}.ds-site-loc{font-size:12px;color:var(--muted);margin-top:2px}.ds-site-tl{font-size:24px;line-height:1}.ds-site-body{display:flex;flex-direction:column;gap:8px}.ds-site-big{font-size:20px;font-weight:800;color:var(--text)}.ds-site-trades{display:flex;flex-wrap:wrap;gap:6px}.ds-trade-pill{font-size:11px;background:#ffffffb3;border:1px solid rgba(0,0,0,.08);border-radius:999px;padding:3px 9px;color:var(--text)}.ds-site-btn{width:100%;justify-content:center;display:flex;margin-top:auto}.ds-bottom-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ds-panel-title{font-size:14px;font-weight:700;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:8px}.ds-panel-title-left{display:inline-flex;align-items:center;gap:8px;min-width:0}.ds-avail-count{font-size:11px;font-weight:700;background:var(--brand-soft);border:1px solid var(--brand-border);color:var(--brand-ink);border-radius:999px;padding:2px 8px}.ds-avail-card{padding:16px}.ds-avail-list{display:flex;flex-direction:column;gap:0}.ds-avail-item{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #f1f5f9}.ds-avail-item:last-child{border-bottom:none}.ds-avail-more{justify-content:space-between}.ds-avail-avatar{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-size:14px;flex-shrink:0}.ds-avail-info{flex:1;min-width:0}.ds-avail-name{font-size:13px;font-weight:600}.ds-avail-trade{font-size:11px;color:var(--muted)}.ds-avail-badge{font-size:11px;background:var(--ok-soft);border:1px solid var(--brand-border);color:var(--brand-ink);border-radius:999px;padding:2px 8px;font-weight:600}.ds-mat-card{padding:16px}.ds-mat-list{display:flex;flex-direction:column;gap:0}.ds-mat-item{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid #f1f5f9}.ds-mat-item:last-child{border-bottom:none}.ds-mat-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-size:14px;flex-shrink:0}.ds-mat-green{background:var(--ok-soft)}.ds-mat-blue{background:#dbeafe}.ds-mat-orange{background:#ffedd5}.ds-mat-body{flex:1;min-width:0}.ds-mat-text{font-size:12px;line-height:1.4;color:var(--text)}.ds-mat-date{font-size:11px;color:var(--muted);margin-top:2px}@media(max-width:960px){.ds-projects-row{grid-template-columns:1fr 1fr}.ds-bottom-row{grid-template-columns:1fr}}@media(max-width:600px){.ds-projects-row{grid-template-columns:1fr;gap:8px}.ds-site-card{padding:10px 12px;gap:6px;border-radius:12px;box-shadow:none}.ds-site-name{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ds-site-loc{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ds-site-body{flex-direction:row;align-items:center;justify-content:space-between;gap:8px}.ds-site-big{font-size:12px;font-weight:700}.ds-site-trades{flex-wrap:nowrap;overflow:hidden;justify-content:flex-end;gap:4px}.ds-trade-pill{font-size:10px;padding:2px 7px;max-width:42%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ds-site-trades .ds-trade-pill:nth-child(n+3){display:none}.ds-site-btn-row .action{font-size:11px;padding:6px 8px;min-height:32px}.ds-headcount-row{flex-wrap:wrap;gap:12px}.ds-hc-divider{display:none}.ds-hc-card{flex:0 0 45%}}.mem-subtabs{display:flex;gap:8px;margin-bottom:14px}.mem-subtab{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);padding:8px 16px;font-size:13px;cursor:pointer;font-weight:500;transition:all .15s}.mem-subtab.active{background:var(--brand-soft);border-color:var(--brand-border);color:var(--text);font-weight:700}.mem-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.mem-group-card{border:1px solid var(--line);border-radius:14px;background:#fff;padding:10px 12px;display:flex;flex-direction:column;gap:4px;cursor:pointer;box-shadow:0 4px 12px #0f172a0d;transition:box-shadow .15s,transform .15s,border-color .15s;-webkit-tap-highlight-color:transparent}.mem-group-card:hover{box-shadow:0 8px 20px #0f172a1a;transform:none;border-color:var(--brand-border)}.mem-group-card:active,.mem-group-card:focus{outline:none;background:#fff;transform:none}.mem-gc-top{display:flex;justify-content:space-between;align-items:center}.mem-gc-icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;font-size:18px;flex-shrink:0}.mem-gc-badge{font-size:10px;font-weight:600;border-radius:999px;padding:2px 7px;border:1px solid transparent}.mem-gc-name{font-size:14px;font-weight:800;color:var(--text);line-height:1.25}.mem-gc-loc{font-size:11px;color:var(--muted);line-height:1.3}.mem-gc-count{font-size:12px;color:var(--text);line-height:1.3}.mem-gc-count strong{font-size:15px;font-weight:800;margin-right:3px}.mem-gc-trades{display:flex;flex-wrap:wrap;gap:4px}.mem-gc-pill{font-size:10px;background:#f1f5f9;border:1px solid var(--line);border-radius:999px;padding:1px 7px;color:var(--muted)}.mem-gc-cta{font-size:11px;font-weight:600;color:var(--green);margin-top:2px}.mem-worker-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:#f8fbff}.mem-worker-avatar{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:16px;flex-shrink:0}.mem-worker-info{flex:1;min-width:0}.mem-worker-name{font-size:13px;font-weight:700}.mem-worker-meta{font-size:11px;color:var(--muted);margin-top:2px}.mem-worker-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.mem-worker-hrs{font-size:12px;font-weight:600;color:var(--text)}@media(max-width:720px){.mem-grid{grid-template-columns:1fr 1fr}}@media(max-width:480px){.mem-grid{grid-template-columns:1fr}}.ppe-tab-bar{display:flex;gap:6px;flex-wrap:wrap;background:transparent;border:none;border-radius:0;padding:0;margin-bottom:12px;box-shadow:none}.ppe-tab{border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--muted);padding:7px 13px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.ppe-status-tabs{display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;padding:2px 0 12px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;margin-bottom:2px}.ppe-status-tab{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--muted);padding:7px 12px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.ppe-status-tab:hover{background:var(--soft);border-color:var(--brand-border);color:var(--text)}.ppe-status-tab.active{background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-ink);font-weight:700}.ppe-status-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;font-size:10px;font-weight:800;background:var(--soft);color:inherit;border:1px solid var(--line)}.ppe-status-tab.active .ppe-status-tab-count{background:#8c6a241f;border-color:var(--brand-border)}.enq-pipeline--filtered{grid-template-columns:1fr}.ds-headcount-row .ds-hc-card,.ds-headcount-row button.ds-hc-card{border:none;background:transparent;box-shadow:none;outline:none;color:inherit}.ds-headcount-row button.ds-hc-card:hover{background:var(--soft,#f8fafc);border-radius:10px}.ds-headcount-row button.ds-hc-card:focus-visible{outline:2px solid color-mix(in srgb,var(--brand,#18765f) 35%,transparent);outline-offset:2px}.ds-headcount-row .ds-hc-card{-moz-appearance:none;appearance:none;-webkit-appearance:none;font:inherit;text-align:center;cursor:pointer}.ppe-tab.active{background:var(--brand-soft);border-color:var(--brand-border);color:var(--text)}.ppe-panel{display:none}.ppe-panel.active{display:block}.enq-pipeline{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;margin-bottom:14px}.enq-pipeline--filtered{overflow:visible}.enq-pipeline--filtered .enq-col{flex:1 1 100%;min-width:0;max-width:100%}.ppe-enq-view-toggle{margin-right:4px}.ppe-header-row{display:flex;align-items:center;gap:12px;flex-wrap:nowrap;width:100%}.ppe-header-kpis{flex:1 1 auto;min-width:0;margin:0!important;padding:0!important;border:none!important;box-shadow:none!important;background:transparent!important}.ppe-header-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto;margin-left:auto;flex-wrap:nowrap}@media(max-width:1100px){.ppe-header-row{flex-wrap:wrap}.ppe-header-kpis{flex:1 1 100%}.ppe-header-actions{margin-left:0;width:100%;justify-content:flex-end}}.enq-col{min-width:200px;flex:0 0 200px}.enq-col-header{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;padding:8px 10px;border-radius:10px;margin-bottom:8px}.enq-col-title{min-width:0;line-height:1.25}.enq-col-count{flex:none;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:#0f172a14;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;letter-spacing:0}.enq-col-body{min-width:0}.enq-col-empty{font-size:12px;color:var(--muted,#94a3b8);text-align:center;padding:14px 10px;border:1px dashed var(--line,#e2e8f0);border-radius:12px;background:var(--soft,#fafbfc)}.enq-card{border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px;margin-bottom:8px;cursor:pointer;box-shadow:0 2px 6px #0f172a0d;transition:box-shadow .15s}.enq-card:hover{box-shadow:0 6px 16px #0f172a1a}.enq-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:4px}.enq-card-id{font-size:10px;font-weight:700;color:var(--muted)}.enq-card-client{font-size:13px;font-weight:700}.enq-card-type{font-size:11px;color:var(--muted);margin-top:2px}.enq-card-val{font-size:13px;font-weight:800;color:var(--green);flex:none;white-space:nowrap}.enq-card-date{font-size:10px;color:#94a3b8;margin-top:4px}.enq-card-actions{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}.enq-card-btn{font-size:10px}.boq-builder{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 4px 14px #0f172a0a;overflow:hidden}.boq-builder-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px 14px;border-bottom:1px solid #eef2f7;background:linear-gradient(180deg,#fbfcfd,#fff)}.boq-builder-head-text{min-width:0;flex:1}.boq-builder-title{margin:0;font-size:16px;font-weight:800;color:#102033;letter-spacing:-.01em}.boq-builder-sub{margin-top:4px;font-size:12px;color:#64748b;line-height:1.4}.boq-builder-actions{display:flex;flex-wrap:wrap;gap:8px;flex:none}.boq-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px 16px;background:#f8fafc;border-bottom:1px solid #eef2f7}.boq-summary-cell{min-width:0;padding:10px 12px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.boq-summary-cell--total{border-color:var(--brand-border,var(--brand-border));background:var(--brand-soft,var(--brand-soft))}.boq-summary-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8}.boq-summary-value{margin-top:4px;font-size:15px;font-weight:800;color:#102033;line-height:1.2;word-break:break-word}.boq-summary-cell--total .boq-summary-value{color:var(--brand-ink,var(--brand-ink))}.ppe-mobile-tiles{display:none!important}.ppe-desktop-table{display:block}.ppe-enq-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.ppe-enq-table{table-layout:fixed;width:100%;min-width:860px;border-collapse:separate;border-spacing:0}.ppe-enq-table__col--id{width:88px}.ppe-enq-table__col--client{width:18%}.ppe-enq-table__col--type{width:14%}.ppe-enq-table__col--location{width:18%}.ppe-enq-table__col--received{width:108px}.ppe-enq-table__col--status{width:148px}.ppe-enq-table__col--actions{width:168px}.ppe-enq-table th,.ppe-enq-table td{overflow:hidden;vertical-align:middle;border-bottom:1px solid #e5eef7}.ppe-enq-table th+th,.ppe-enq-table td+td{border-left:1px solid #eef2f7}.ppe-enq-table th{white-space:nowrap;background:#f8fbff}.ppe-enq-table__text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.ppe-enq-table__cell--status .ppe-enq-table__status{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.ppe-enq-table__cell--actions{overflow:visible;padding-right:10px}.ppe-enq-table__actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:nowrap;min-width:0}.ppe-enq-table__actions .proj-doc-action{flex:0 0 auto;white-space:nowrap;padding:5px 10px;font-size:11px}.boq-mobile-only{display:none!important}.boq-desktop-only{display:block}.boq-table-shell{margin:0;padding:0;overflow:auto;-webkit-overflow-scrolling:touch}.boq-table{width:100%;min-width:960px;border-collapse:collapse}.boq-table thead th{background:#f8fbff;color:#475569;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.boq-table td{padding:8px 10px;border-bottom:1px solid #f1f5f9;vertical-align:middle;font-size:12px}.boq-cat-header{background:var(--brand-soft);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--green)}.boq-cat-header td{padding:8px 10px!important}.boq-total-row{background:#f8fbff;font-weight:700}.boq-grand-row td{padding:10px!important}.boq-table .boq-input{border:1px solid var(--line);border-radius:8px;padding:5px 8px;font-size:12px;width:80px;text-align:right;background:#f8fbff;min-height:0;height:auto}.boq-table .boq-text-input{width:100%;min-width:80px;text-align:left}.boq-tiles-shell{display:none;padding:14px 16px 16px;flex-direction:column;gap:14px;background:#f8fafc}.boq-cat-section{border:1px solid #e2e8f0;border-radius:16px;background:#fff;overflow:hidden}.boq-cat-section .tile-list-footer{padding:10px 12px 12px;margin-top:0;border-top:1px solid #eef2f7;background:#fff}.boq-cat-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 14px;background:var(--brand-soft);border-bottom:1px solid #bbf7d0}.boq-cat-head-left{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.boq-cat-label{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--green,var(--brand));word-break:break-word}.boq-cat-meta{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:#16a34a1f;color:var(--brand-ink);font-size:10px;font-weight:700;flex:none}.boq-cat-subtotal{font-size:11px;color:#64748b;text-align:right;min-width:0;max-width:46%;word-break:break-word}.boq-cat-subtotal strong{color:var(--brand-ink);font-weight:800;display:block;margin-top:2px}.boq-tile-grid{display:grid;grid-template-columns:1fr;gap:12px;padding:12px}.boq-tile{display:flex;flex-direction:column;gap:0;padding:0;border:1px solid #e2e8f0;border-radius:14px;background:#fff;box-shadow:0 2px 8px #0f172a0a;min-width:0;overflow:hidden}.boq-tile-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;background:#f8fafc;border-bottom:1px solid #eef2f7}.boq-code{display:inline-flex;align-items:center;padding:4px 9px;border-radius:8px;background:#fff;border:1px solid #e2e8f0;font-size:11px;font-weight:700;color:#334155;font-variant-numeric:tabular-nums;line-height:1.2}.boq-tile-body{display:flex;flex-direction:column;gap:10px;padding:12px}.boq-tile-row{display:grid;gap:10px;align-items:end}.boq-tile-row--2{grid-template-columns:repeat(2,minmax(0,1fr))}.boq-tile-field{min-width:0;display:flex;flex-direction:column;gap:5px;align-items:stretch}.boq-tile-field--full{width:100%}.boq-tile-label{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;line-height:1.2}.boq-tile .boq-input{border:1px solid #e2e8f0;border-radius:8px;padding:8px 10px;font-size:13px;width:100%;min-height:40px;height:40px;text-align:left;background:#fff;color:#102033;box-sizing:border-box;line-height:1.2}.boq-tile .boq-input:focus{outline:none;border-color:var(--brand-border,var(--brand-border));box-shadow:0 0 0 3px #16a34a1f}.boq-tile .boq-input--center{text-align:center}.boq-tile .boq-input--num{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.boq-tile .boq-input--mat{color:#0369a1}.boq-tile .boq-input--lab{color:var(--green,var(--brand))}.boq-tile-foot{display:flex;flex-direction:column;gap:0;border-top:1px solid #eef2f7;background:#f8fafc}.boq-tile-stat{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:10px 12px;border-bottom:1px solid #eef2f7;text-align:left}.boq-tile-stat:last-child{border-bottom:none}.boq-tile-stat span{flex:none;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;line-height:1.2}.boq-tile-stat strong{min-width:0;text-align:right;font-size:13px;font-weight:800;color:#334155;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;line-height:1.25}.boq-tile-stat--total{background:var(--brand-soft,var(--brand-soft))}.boq-tile-stat--total strong{color:var(--brand-ink,var(--brand-ink))}.boq-del-btn{border:1px solid #fecaca;background:#fff;color:#b91c1c;border-radius:8px;padding:5px 9px;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap;flex:none}.boq-del-btn:hover{background:#fef2f2}.boq-grand-bar{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:14px;background:var(--brand-soft);border:1px solid var(--brand-border)}.boq-grand-bar-label{font-size:13px;font-weight:800;color:var(--brand-ink)}.boq-grand-bar-stats{display:flex;flex-direction:column;gap:6px;width:100%}.boq-grand-bar-line{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:#64748b}.boq-grand-bar-line strong{color:#102033;font-weight:800;text-align:right;overflow-wrap:anywhere}.boq-grand-bar-line--total strong{font-size:16px;color:var(--green,var(--brand))}.boq-empty{text-align:center;padding:28px 16px;border:1px dashed #e2e8f0;border-radius:14px;background:#fff}.boq-empty-title{font-size:14px;font-weight:800;color:#102033;margin-bottom:6px}.boq-empty-sub{font-size:12px;color:#64748b;line-height:1.45;max-width:420px;margin:0 auto}.est-row{display:grid;grid-template-columns:140px 80px 80px 90px 1fr auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #f1f5f9}.est-row-header{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.est-input{border:1px solid var(--line);border-radius:8px;padding:6px 8px;font-size:12px;width:100%;background:#f8fbff}.est-total{font-size:13px;font-weight:800;color:var(--text);text-align:right}.pc-est-builder{border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 4px 14px #0f172a0a;overflow:hidden}.pc-est-builder-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px 14px;border-bottom:1px solid #eef2f7;background:linear-gradient(180deg,#fbfcfd,#fff)}.pc-est-builder-head-text{min-width:0;flex:1}.pc-est-builder-title{margin:0;font-size:16px;font-weight:800;color:#102033;letter-spacing:-.01em}.pc-est-builder-sub{margin-top:4px;font-size:12px;color:#64748b;line-height:1.4}.pc-est-builder-actions{display:flex;flex-wrap:wrap;gap:8px;flex:none}.pc-est-mobile-only{display:none!important}.pc-est-desktop-only{display:block}.pc-est-desktop-card{padding:12px 16px 16px}.pc-est-desktop-foot{display:flex;justify-content:flex-end;align-items:center;gap:16px;padding:12px 0 0;margin-top:4px;border-top:2px solid var(--line)}.pc-est-desktop-foot span{font-size:13px;color:var(--muted);font-weight:600}.pc-est-desktop-foot strong{font-size:20px;font-weight:900;color:var(--green)}.pc-est-table-shell{margin:0;padding:0;overflow:auto}.pc-est-table{width:100%;min-width:720px;border-collapse:collapse}.pc-est-table thead th{background:#f8fbff;color:#475569;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.pc-est-table td{padding:8px 10px;border-bottom:1px solid #f1f5f9;vertical-align:middle;font-size:12px}.pc-est-tiles-shell{display:none;padding:12px;flex-direction:column;gap:12px;background:#f8fafc}.pc-est-tile-grid{display:flex;flex-direction:column;gap:10px}.pc-est-tile{display:flex;flex-direction:column;border:1px solid #e2e8f0;border-radius:14px;background:#fff;box-shadow:0 2px 8px #0f172a0a;overflow:hidden;min-width:0}.pc-est-tile-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;background:#f8fafc;border-bottom:1px solid #eef2f7}.pc-est-tile-badge{display:inline-flex;align-items:center;padding:4px 9px;border-radius:8px;background:#fff;border:1px solid #e2e8f0;font-size:11px;font-weight:700;color:#334155}.pc-est-tile-body{display:flex;flex-direction:column;gap:10px;padding:12px}.pc-est-row{display:grid;gap:10px;align-items:end}.pc-est-row--2{grid-template-columns:repeat(2,minmax(0,1fr))}.pc-est-field{min-width:0;display:flex;flex-direction:column;gap:5px}.pc-est-field--full{width:100%}.pc-est-label{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;line-height:1.2}.pc-est-input{border:1px solid #e2e8f0;border-radius:8px;padding:8px 10px;font-size:13px;width:100%;min-height:40px;height:40px;text-align:left;background:#fff;color:#102033;box-sizing:border-box;line-height:1.2}.pc-est-input:focus{outline:none;border-color:var(--brand-border,var(--brand-border));box-shadow:0 0 0 3px #16a34a1f}.pc-est-input--center{text-align:center}.pc-est-input--num{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.pc-est-input--rate{color:#0369a1}.pc-est-tile-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-top:1px solid #eef2f7;background:var(--brand-soft,var(--brand-soft))}.pc-est-tile-foot span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8}.pc-est-tile-foot strong{min-width:0;text-align:right;font-size:13px;font-weight:800;color:var(--brand-ink,var(--brand-ink));overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.pc-est-grand{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:14px;background:var(--brand-soft);border:1px solid var(--brand-border)}.pc-est-grand span{font-size:13px;font-weight:700;color:var(--brand-ink)}.pc-est-grand strong{font-size:16px;font-weight:900;color:var(--green,var(--brand));text-align:right;overflow-wrap:anywhere}.pc-est-empty{text-align:center;padding:28px 16px;border:1px dashed #e2e8f0;border-radius:14px;background:#fff;color:#64748b;font-size:13px}.pc-est-empty-title{font-size:14px;font-weight:800;color:#102033;margin-bottom:6px}.pc-est-empty-sub{font-size:12px;color:#64748b;line-height:1.45;max-width:420px;margin:0 auto}.pc-est-tiles-shell .tile-list-footer,.pc-quot-tiles-shell .tile-list-footer{padding:4px 2px 2px;margin-top:4px}#ppe-upload-pagination .tile-list-footer{margin-top:10px;padding:8px 2px}.margin-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.margin-input-group{display:flex;flex-direction:column;gap:10px}.margin-field{display:flex;flex-direction:column;gap:4px}.margin-label{font-size:12px;font-weight:600;color:var(--text)}.margin-input{border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:13px;background:#f8fbff;outline:none;transition:border-color .15s}.margin-input:focus{border-color:var(--brand-border);background:#fff}.clock-modal.pc-enquiry-modal{width:min(560px,94vw);max-height:min(90vh,720px);border-radius:20px;box-shadow:0 28px 64px #0f172a33;overflow:hidden}.clock-modal.pc-enquiry-modal .clock-modal-header{background:linear-gradient(180deg,color-mix(in srgb,var(--brand-soft) 70%,#fff),#fff);border-bottom:1px solid color-mix(in srgb,var(--brand-border) 55%,var(--line));padding:18px 20px 14px}.clock-modal.pc-enquiry-modal .clock-modal-title{font-size:17px;letter-spacing:-.01em}.clock-modal.pc-enquiry-modal .clock-modal-site{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.4}.clock-modal.pc-enquiry-modal .pc-enquiry-modal-body{padding:16px 20px 18px;gap:0;overflow-y:auto;flex:1 1 auto;min-height:0}.pc-enq-form{display:flex;flex-direction:column;gap:14px}.pc-enq-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 12px}.pc-enq-field{display:flex;flex-direction:column;gap:6px;min-width:0}.pc-enq-field--full{grid-column:1 / -1}.pc-enq-label{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.pc-enq-label span{color:var(--red,#ef4444);font-weight:800}.pc-enq-input{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:13px;font-weight:600;color:var(--text);background:#fff;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.pc-enq-input:hover{border-color:color-mix(in srgb,var(--brand-border) 50%,var(--line))}.pc-enq-input:focus{border-color:var(--brand-border);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-soft) 80%,transparent);background:#fff}select.pc-enq-input{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.pc-enq-hint{margin:0;font-size:11px;line-height:1.4;color:var(--muted);font-weight:500}.pc-enq-error{margin:0;font-size:11px;font-weight:650;line-height:1.35;color:#b91c1c}.pc-enq-input.is-invalid{border-color:#fca5a5;background:#fff7f7;box-shadow:0 0 0 3px #f8717129}.pc-enq-actions{display:flex;gap:10px;padding-top:12px;margin-top:2px;border-top:1px solid var(--line)}.pc-enq-btn{flex:1;border-radius:999px;padding:11px 16px;font-size:13px;font-weight:800;cursor:pointer;border:1px solid transparent;transition:background .15s,border-color .15s,transform .15s}.pc-enq-btn--primary{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 6px 16px color-mix(in srgb,var(--brand) 28%,transparent)}.pc-enq-btn--primary:hover{background:var(--btn-hover-solid,var(--brand));border-color:var(--btn-hover-solid,var(--brand))}.pc-enq-btn--ghost{background:#fff;border-color:var(--line);color:var(--text)}.pc-enq-btn--ghost:hover{background:var(--soft);border-color:var(--brand-border)}@media(max-width:560px){.pc-enq-form-grid{grid-template-columns:1fr}.clock-modal.pc-enquiry-modal{width:min(100vw - 24px,560px);border-radius:18px}}.clock-modal.pc-upload-modal{width:min(440px,94vw);max-height:min(90vh,640px);border-radius:20px;box-shadow:0 28px 64px #0f172a33;overflow:hidden}.clock-modal.pc-upload-modal .clock-modal-header{background:linear-gradient(180deg,color-mix(in srgb,var(--brand-soft) 70%,#fff),#fff);border-bottom:1px solid color-mix(in srgb,var(--brand-border) 55%,var(--line));padding:18px 20px 14px}.clock-modal.pc-upload-modal .clock-modal-title{font-size:17px;letter-spacing:-.01em}.clock-modal.pc-upload-modal .clock-modal-site{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.4}.clock-modal.pc-upload-modal .pc-upload-modal-body{padding:16px 20px 18px;gap:0;overflow-y:auto;flex:1 1 auto;min-height:0}.pc-upload-form{display:flex;flex-direction:column;gap:14px}.pc-upload-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pc-upload-field{display:flex;flex-direction:column;gap:6px;min-width:0}.pc-upload-label{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.pc-upload-label span,.pc-boq-label span{color:#dc2626;font-weight:800}.pc-upload-input{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:13px;font-weight:600;color:var(--text);background:#fff;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.pc-upload-input:hover{border-color:color-mix(in srgb,var(--brand-border) 50%,var(--line))}.pc-upload-input:focus{border-color:var(--brand-border);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-soft) 80%,transparent);background:#fff}select.pc-upload-input{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.pc-upload-input--file{padding:8px 10px;font-weight:600;cursor:pointer}.pc-upload-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;width:100%;box-sizing:border-box;padding-top:12px;margin-top:2px;border-top:1px solid var(--line)}.pc-upload-btn{border-radius:999px;padding:10px 18px;font-size:13px;font-weight:800;cursor:pointer;border:1px solid transparent;min-width:96px;transition:background .15s,border-color .15s,transform .15s}.pc-upload-btn--primary{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 6px 16px color-mix(in srgb,var(--brand) 28%,transparent)}.pc-upload-btn--primary:hover{background:var(--btn-hover-solid,var(--brand));border-color:var(--btn-hover-solid,var(--brand))}.pc-upload-btn--ghost{background:#fff;border-color:var(--line);color:var(--text)}.pc-upload-btn--ghost:hover{background:var(--soft);border-color:var(--brand-border)}@media(max-width:560px){.clock-modal.pc-upload-modal{width:min(100vw - 24px,440px);border-radius:18px}.pc-upload-form-grid{grid-template-columns:1fr}}.clock-modal.pc-boq-modal,.clock-modal.pc-labour-modal,.clock-modal.pc-material-modal{width:min(520px,94vw);max-height:none;overflow:hidden;border-radius:20px;box-shadow:0 28px 64px #0f172a33}.clock-modal.pc-boq-modal .clock-modal-header,.clock-modal.pc-labour-modal .clock-modal-header,.clock-modal.pc-material-modal .clock-modal-header{background:linear-gradient(180deg,color-mix(in srgb,var(--brand-soft) 70%,#fff),#fff);border-bottom:1px solid color-mix(in srgb,var(--brand-border) 55%,var(--line));padding:18px 20px 14px}.clock-modal.pc-boq-modal .clock-modal-title,.clock-modal.pc-labour-modal .clock-modal-title,.clock-modal.pc-material-modal .clock-modal-title{font-size:17px;letter-spacing:-.01em}.clock-modal.pc-boq-modal .clock-modal-site,.clock-modal.pc-labour-modal .clock-modal-site,.clock-modal.pc-material-modal .clock-modal-site{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.4}.clock-modal.pc-boq-modal .pc-boq-modal-body,.clock-modal.pc-labour-modal .pc-labour-modal-body,.clock-modal.pc-material-modal .pc-material-modal-body{overflow:visible;padding:16px 20px 18px;gap:0;flex:0 0 auto}.pc-boq-form{display:flex;flex-direction:column;gap:14px}.pc-boq-form-grid{display:grid;gap:12px}.pc-boq-form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.pc-boq-form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.pc-boq-form-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.pc-boq-field{display:flex;flex-direction:column;gap:6px;min-width:0}.pc-boq-label{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.pc-boq-label span{color:#dc2626;font-weight:800}.pc-boq-input{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:13px;font-weight:600;color:var(--text);background:#fff;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.pc-boq-input:hover{border-color:color-mix(in srgb,var(--brand-border) 50%,var(--line))}.pc-boq-input:focus{border-color:var(--brand-border);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-soft) 80%,transparent);background:#fff}.pc-boq-modal-body .margin-input,.pc-labour-modal-body .margin-input,.pc-material-modal-body .margin-input{padding:10px 12px;font-size:13px;border-radius:12px}.pc-boq-modal-body .margin-label,.pc-labour-modal-body .margin-label,.pc-material-modal-body .margin-label{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.pc-boq-modal-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;width:100%;box-sizing:border-box;margin-top:2px;padding-top:12px;border-top:1px solid var(--line)}.pc-boq-btn{border-radius:999px;padding:10px 18px;font-size:13px;font-weight:800;cursor:pointer;border:1px solid transparent;min-width:96px;transition:background .15s,border-color .15s,transform .15s}.pc-boq-btn--primary{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 6px 16px color-mix(in srgb,var(--brand) 28%,transparent)}.pc-boq-btn--primary:hover{background:var(--btn-hover-solid,var(--brand));border-color:var(--btn-hover-solid,var(--brand))}.pc-boq-btn--ghost{background:#fff;border-color:var(--line);color:var(--text)}.pc-boq-btn--ghost:hover{background:var(--soft);border-color:var(--brand-border)}.pc-boq-modal-actions .clock-submit{flex:0 0 auto;margin:0;border-radius:999px;min-width:96px}@media(max-width:560px){.clock-modal.pc-boq-modal,.clock-modal.pc-labour-modal,.clock-modal.pc-material-modal{width:min(100vw - 24px,520px);border-radius:18px}.pc-boq-form-grid-2,.pc-boq-form-grid-3,.pc-boq-form-grid-4{grid-template-columns:1fr 1fr}}@media(max-width:400px){.pc-boq-form-grid-4{grid-template-columns:1fr 1fr}}.pc-issue-update-modal.admin-modal-card.project-modal-card{width:min(420px,calc(100vw - 32px));height:auto;max-height:none;flex:0 0 auto}.pc-issue-update-modal .admin-form-head{background:linear-gradient(180deg,color-mix(in srgb,var(--brand-soft) 70%,#fff),#fff);border-bottom:1px solid color-mix(in srgb,var(--brand-border) 55%,var(--line))}.pc-issue-update-body{display:flex;flex-direction:column;gap:14px;padding:14px 18px 16px;flex:0 0 auto;overflow:visible}.pc-issue-update-card{border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:#fff}.pc-issue-update-title{margin:0 0 10px;font-size:15px;font-weight:800;color:var(--text);line-height:1.4}.pc-issue-update-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pc-issue-update-badge{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;background:var(--brand-soft);border:1px solid var(--brand-border);color:var(--brand-ink,var(--brand))}.pc-issue-update-chip{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:650;color:var(--muted);background:#f8fafc;border:1px solid var(--line)}.pc-issue-update-empty{margin:0;font-size:13px;color:var(--muted);font-weight:600}.pc-issue-update-footer{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap}.pc-issue-update-btn{border-radius:999px;padding:10px 18px;font-size:13px;font-weight:800;cursor:pointer;border:1px solid transparent;min-width:96px;transition:background .15s,border-color .15s}.pc-issue-update-btn:disabled{opacity:.55;cursor:not-allowed}.pc-issue-update-btn--primary{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 6px 16px color-mix(in srgb,var(--brand) 28%,transparent)}.pc-issue-update-btn--primary:hover:not(:disabled){background:var(--btn-hover-solid,var(--brand))}.pc-issue-update-btn--danger{background:#fff;border-color:#fecaca;color:#b91c1c}.pc-issue-update-btn--danger:hover:not(:disabled){background:#fef2f2;border-color:#fca5a5}.pc-issue-update-btn--ghost{background:#fff;border-color:var(--line);color:var(--text)}.pc-issue-update-btn--ghost:hover:not(:disabled){background:var(--soft);border-color:var(--brand-border)}.clock-modal.pc-confirm-modal{width:min(400px,92vw);max-height:none;overflow:visible}.clock-modal.pc-confirm-modal .pc-confirm-modal-body{overflow:visible;padding:22px 24px 24px;gap:10px;flex:0 0 auto;align-items:center;text-align:center}.pc-confirm-icon{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-size:26px;background:var(--brand-soft);border:2px solid var(--brand-border);margin-bottom:4px}.pc-confirm-icon-danger{background:#fef2f2;border-color:#fecaca}.pc-confirm-message{font-size:15px;font-weight:700;color:#1e293b;line-height:1.5;max-width:320px}.pc-confirm-detail{font-size:13px;color:var(--muted);line-height:1.55;max-width:320px}.pc-confirm-actions{display:flex;gap:10px;width:100%;margin-top:14px}.pc-confirm-btn{flex:1;padding:11px 16px;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer;border:1px solid transparent;transition:background .15s,border-color .15s}.pc-confirm-btn-cancel{background:#f8fafc;border-color:#e2e8f0;color:#475569}.pc-confirm-btn-cancel:hover{background:#f1f5f9}.pc-confirm-btn-danger{background:#dc2626;border-color:#b91c1c;color:#fff}.pc-confirm-btn-danger:hover{background:#b91c1c}.pc-confirm-btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}.pc-confirm-btn-primary:hover{background:var(--btn-hover-solid)}.margin-result-card{background:var(--brand-soft);border:1px solid var(--brand-border);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:10px}.margin-result-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:6px 0;border-bottom:1px solid rgba(22,163,74,.15)}.margin-result-row:last-child{border-bottom:none;font-size:16px;font-weight:900}.margin-result-val{font-weight:700}.quot-preview{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:20px;font-size:12px;line-height:1.8;box-shadow:0 2px 8px #0f172a0a}.quot-preview-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--line)}.quot-preview-brand{min-width:0;flex:1}.quot-preview-meta{text-align:right;flex:none}.quot-company{font-size:18px;font-weight:900;color:var(--text)}.quot-tagline{font-size:11px;color:var(--muted)}.quot-number{font-size:13px;font-weight:700;color:var(--green)}.quot-preview-date{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.5}.quot-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:4px}.quot-info-cell{min-width:0;padding:10px 12px;border:1px solid #eef2f7;border-radius:12px;background:#f8fafc}.quot-section-title{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:12px 0 6px}.quot-info-cell .quot-section-title{margin:0 0 4px}.quot-info-value{font-size:13px;font-weight:700;color:#102033;word-break:break-word}.quot-scope{font-size:12px;color:#334155;line-height:1.55}.quot-breakdown{display:flex;flex-direction:column;gap:0}.quot-breakdown-row{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:12px}.quot-breakdown-row span:last-child{font-weight:700;text-align:right;overflow-wrap:anywhere}.quot-breakdown-row.total{font-weight:800;font-size:14px;border-top:1px solid var(--line);margin-top:6px;padding-top:8px}.quot-final-val{color:var(--green)!important}.quot-terms{font-size:11px;color:var(--muted);background:#f8fbff;border-radius:10px;padding:10px;margin-top:12px;line-height:1.6}.quot-preview-footer{display:flex;justify-content:space-between;gap:10px;margin-top:12px;font-size:11px;color:var(--muted);flex-wrap:wrap}.quot-preview-actions{margin-top:12px}.pc-quot-builder{border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 4px 14px #0f172a0a;overflow:hidden}.pc-quot-builder-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px 14px;border-bottom:1px solid #eef2f7;background:linear-gradient(180deg,#fbfcfd,#fff)}.pc-quot-builder-head-text{min-width:0;flex:1}.pc-quot-builder-title{margin:0;font-size:16px;font-weight:800;color:#102033;letter-spacing:-.01em}.pc-quot-builder-sub{margin-top:4px;font-size:12px;color:#64748b;line-height:1.4}.pc-quot-builder-actions{display:flex;flex-wrap:wrap;gap:8px;flex:none}.pc-quot-summary{display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px 12px;background:#f8fafc;border-bottom:1px solid #eef2f7}.pc-quot-summary-cell{min-width:0;padding:8px 10px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.pc-quot-summary-cell--total{border-color:var(--brand-border,var(--brand-border));background:var(--brand-soft,var(--brand-soft))}.pc-quot-summary-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8}.pc-quot-summary-value{margin-top:4px;font-size:13px;font-weight:800;color:#102033;line-height:1.25;overflow-wrap:anywhere}.pc-quot-desktop-card{padding:14px 16px 16px}.pc-quot-desktop-title{font-weight:700;margin-bottom:10px;color:#102033}.pc-quot-table-shell{margin:0;overflow:auto}.pc-quot-table{width:100%;min-width:860px;border-collapse:collapse}.pc-quot-table thead th{background:#f8fbff;color:#475569;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.pc-quot-table td{padding:8px 10px;border-bottom:1px solid #f1f5f9;vertical-align:middle;font-size:12px}.pc-quot-actions{display:flex;gap:4px;flex-wrap:wrap}.pc-quot-action-btn{font-size:10px!important}.pc-quot-tiles-shell{display:none;flex-direction:column;gap:12px;padding:12px;background:#f8fafc}.pc-quot-tile-grid{display:flex;flex-direction:column;gap:10px}.pc-quot-tile{border:1px solid #e2e8f0;border-radius:14px;background:#fff;box-shadow:0 2px 8px #0f172a0a;overflow:hidden;min-width:0}.pc-quot-tile.is-active{border-color:var(--brand-border,var(--brand-border));box-shadow:0 0 0 2px #16a34a1f}.pc-quot-tile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 12px;background:#f8fafc;border-bottom:1px solid #eef2f7}.pc-quot-tile-head-left{display:flex;flex-direction:column;gap:6px;min-width:0}.pc-quot-tile-no{font-size:13px;font-weight:800;color:#102033;word-break:break-word}.pc-quot-tile-status{align-self:flex-start}.pc-quot-tile-value{border:none;background:transparent;padding:0;font-size:14px;font-weight:900;color:var(--green,var(--brand));text-align:right;cursor:pointer;overflow-wrap:anywhere;max-width:46%}.pc-quot-tile-body{display:flex;flex-direction:column;gap:8px;padding:12px}.pc-quot-meta{min-width:0}.pc-quot-meta-label{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;margin-bottom:2px}.pc-quot-meta strong{display:block;font-size:13px;font-weight:700;color:#102033;word-break:break-word}.pc-quot-tile .pc-quot-actions{padding:0 12px 12px;gap:6px}.pc-quot-preview-wrap{padding:12px 16px 16px;background:#f8fafc;border-top:1px solid #eef2f7}.pc-quot-preview-empty{padding:32px 16px;text-align:center;color:#64748b;font-size:13px;border:1px dashed #e2e8f0;border-radius:14px;background:#fff}.wl-pipeline{display:flex;flex-direction:column;gap:8px}.wl-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;transition:box-shadow .15s}.wl-row:hover{box-shadow:0 4px 12px #0f172a14}.wl-row-left{flex:1;min-width:0}.wl-quot-id{font-size:12px;font-weight:800;color:var(--text)}.wl-client{font-size:12px;color:var(--muted);margin-top:2px}.wl-val{font-size:14px;font-weight:800;color:var(--green);flex-shrink:0}.wl-reason{font-size:11px;color:var(--muted);flex-shrink:0;max-width:160px;text-align:right}.upload-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.upload-card{border:1px solid var(--line);border-radius:14px;background:#f8fbff;padding:12px;display:flex;flex-direction:column;gap:6px}.upload-card-top{display:flex;justify-content:space-between;align-items:flex-start}.upload-card-name{font-size:13px;font-weight:700}.upload-card-meta{font-size:11px;color:var(--muted)}.upload-drop{border:2px dashed var(--line);border-radius:14px;padding:24px;text-align:center;color:var(--muted);font-size:13px;cursor:pointer;transition:border-color .15s,background .15s}.upload-drop:hover,.upload-drop-active{border-color:var(--brand-border);color:var(--green);background:var(--brand-soft)}.upload-cat-pill{border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.doc-zip{background:#f3e8ff;color:#6b21a8}.doc-img{background:#e0f2fe;color:#0369a1}@media(max-width:720px){.ppe-tab-bar{gap:6px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:8px}.ppe-tab-bar::-webkit-scrollbar{display:none}.ppe-tab{flex:0 0 auto}.ppe-status-tabs{padding-bottom:10px;margin:0 -2px 4px;padding-left:2px;padding-right:2px}.ppe-status-tab{font-size:11px;padding:6px 10px}.enq-pipeline--filtered .enq-col{min-width:100%}.boq-input{width:60px}.est-row{grid-template-columns:120px 60px 60px 70px 1fr}.margin-grid{grid-template-columns:1fr}.upload-grid{grid-template-columns:1fr 1fr}}.ppe-loading{padding:4px 0 20px}.ppe-loading-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px;flex-wrap:wrap}.ppe-loading-spinner-wrap{display:flex;align-items:center;gap:10px;flex-shrink:0}.ppe-loading-spinner{width:26px;height:26px;border:3px solid #e2e8f0;border-top-color:var(--green,var(--brand));border-radius:50%;animation:ppe-spin .7s linear infinite}.ppe-loading-label{font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap}@keyframes ppe-spin{to{transform:rotate(360deg)}}.ppe-loading-kpis{display:flex;align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 20px;margin-bottom:14px;box-shadow:0 4px 14px #0f172a0d;gap:12px}.ppe-loading-kpi{flex:1;min-width:0;text-align:center;padding:4px 0}.ppe-loading-pipeline{display:flex;gap:10px;overflow:hidden;margin-bottom:8px}.ppe-loading-col{flex:0 0 min(168px,42vw);min-width:140px;background:#f8fbff;border:1px solid var(--line);border-radius:14px;padding:12px}.ppe-loading-card{height:58px;border-radius:10px;margin-bottom:8px}.ppe-loading-card:last-child{margin-bottom:0}@media(max-width:600px){.ppe-loading-kpis{flex-wrap:wrap}.ppe-loading-kpi{flex:0 0 30%}}.cmd-back-bar{display:flex;align-items:center;gap:10px;padding:10px 0 16px}.cmd-back-btn{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;background:var(--card,#fff);padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s;color:var(--text)}.cmd-back-btn:hover{background:var(--brand-soft);border-color:var(--brand-border)}.cmd-breadcrumb{font-size:13px;color:var(--muted)}.cmd-breadcrumb strong{color:var(--text)}.cmd-header{border:1px solid var(--line);border-radius:20px;background:var(--card,#fff);padding:20px;margin-bottom:12px;box-shadow:0 4px 16px #0f172a0f}.cmd-header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.cmd-title{font-size:22px;font-weight:900;margin-bottom:4px}.cmd-subtitle{font-size:13px;color:var(--muted)}.cmd-status-pill{font-size:12px;font-weight:700;border-radius:999px;padding:6px 14px;border:1px solid transparent;white-space:nowrap;align-self:flex-start}.cmd-meta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.cmd-meta-item{background:#f8fbff;border:1px solid var(--line);border-radius:12px;padding:10px 12px}.cmd-meta-label{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:3px}.cmd-meta-val{font-size:13px;font-weight:700}.cmd-progress-strip{display:flex;align-items:center;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.cmd-progress-bar{flex:1;height:10px;border-radius:999px;background:#e2e8f0;overflow:hidden}.cmd-progress-fill{height:100%;border-radius:999px}.cmd-progress-pct{font-size:18px;font-weight:900;min-width:50px;text-align:right}.cmd-section{margin-bottom:14px}.cmd-section-title{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px;display:flex;align-items:center;gap:6px}.cmd-section-title:after{content:"";flex:1;height:1px;background:var(--line)}.cmd-health-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.cmd-health-card{border:1px solid var(--line);border-radius:16px;padding:14px;text-align:center;background:#fff;box-shadow:0 2px 8px #0f172a0a}.cmd-health-val{font-size:26px;font-weight:900;margin-bottom:4px}.cmd-health-lbl{font-size:11px;color:var(--muted)}.cmd-health-bar{height:5px;border-radius:999px;background:#e2e8f0;overflow:hidden;margin-top:8px}.cmd-health-bar-fill{height:100%;border-radius:999px}.cmd-two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.cmd-three-col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:14px}.finance-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.finance-label{font-size:12px;font-weight:600;min-width:140px;flex-shrink:0}.finance-bar{flex:1;height:8px;border-radius:999px;background:#e2e8f0;overflow:hidden}.finance-bar-fill{height:100%;border-radius:999px}.finance-val{font-size:12px;font-weight:700;min-width:90px;text-align:right;flex-shrink:0}.cmd-timeline{display:flex;flex-direction:column;gap:0}.cmd-tl-item{display:flex;gap:12px;padding-bottom:14px;position:relative}.cmd-tl-item:not(:last-child):before{content:"";position:absolute;left:10px;top:22px;bottom:0;width:2px;background:var(--line)}.cmd-tl-dot{width:22px;height:22px;border-radius:999px;flex-shrink:0;display:grid;place-items:center;font-size:11px;font-weight:700;border:2px solid #fff;box-shadow:0 0 0 1px var(--line)}.cmd-tl-body{flex:1;min-width:0}.cmd-tl-title{font-size:13px;font-weight:700}.cmd-tl-sub{font-size:11px;color:var(--muted);margin-top:2px}.cmd-tl-date{font-size:11px;color:#94a3b8;margin-top:3px}.cmd-risk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.cmd-risk-card{border-radius:14px;padding:12px;border:1px solid transparent}.cmd-risk-red{background:#fff1f2;border-color:#fecdd3}.cmd-risk-amber{background:#fffbeb;border-color:#fde68a}.cmd-risk-blue{background:var(--brand-soft);border-color:var(--brand-border)}.cmd-risk-icon{font-size:18px;margin-bottom:4px}.cmd-risk-title{font-size:12px;font-weight:700}.cmd-risk-desc{font-size:11px;color:var(--muted);margin-top:2px;line-height:1.4}.cmd-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.cmd-gallery-thumb{border-radius:12px;border:1px solid var(--line);background:#f8fbff;aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;transition:box-shadow .15s}.cmd-gallery-thumb:hover{box-shadow:0 6px 18px #0f172a1f}.cmd-gallery-icon{font-size:22px}.cmd-gallery-name{font-size:11px;color:var(--text);text-align:center;padding:0 4px}.cmd-gallery-date{font-size:10px;color:#94a3b8}.cmd-gallery-type{font-size:9px;font-weight:700;border-radius:999px;padding:2px 6px;margin-top:2px}.cmd-actions-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.cmd-action-btn{display:flex;align-items:center;gap:6px;padding:9px 14px;border-radius:999px;border:1px solid var(--line);background:var(--card,#fff);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;color:var(--text)}.cmd-action-btn:hover{background:var(--brand-soft);border-color:var(--brand-border)}.cmd-action-btn.primary{background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-ink)}@media(max-width:960px){.cmd-health-grid,.cmd-meta-grid{grid-template-columns:1fr 1fr}.cmd-two-col,.cmd-three-col{grid-template-columns:1fr}.cmd-risk-grid{grid-template-columns:1fr 1fr}.cmd-gallery-grid{grid-template-columns:1fr 1fr 1fr}}@media(max-width:600px){.cmd-risk-grid,.cmd-gallery-grid,.cmd-health-grid{grid-template-columns:1fr 1fr}.cmd-meta-grid{grid-template-columns:1fr}}.ops-hero{border:1px solid var(--line);border-radius:22px;background:linear-gradient(135deg,#ffffff,var(--brand-soft));padding:18px;margin-bottom:14px;box-shadow:0 8px 24px #0f172a12}.ops-hero-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap}.ops-title{font-size:22px;font-weight:900;letter-spacing:-.02em}.ops-sub{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.5}.ops-score{display:flex;gap:8px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px 12px;min-width:170px}.ops-score-num{font-size:28px;font-weight:900}.ops-score-label{font-size:11px;color:var(--muted)}.ops-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:14px}.ops-meta-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 12px}.ops-meta-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.ops-meta-val{font-size:13px;font-weight:800;margin-top:3px}.ops-section-title{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:14px 0 8px;display:flex;align-items:center;gap:7px}.ops-section-title:after{content:"";height:1px;background:var(--line);flex:1}.ops-decision-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.85fr);gap:12px;margin-bottom:14px}.ops-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:14px;box-shadow:0 4px 14px #0f172a0d}.ops-decision-item{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:16px;padding:12px;background:#f8fbff;margin-bottom:8px}.ops-decision-item:last-child{margin-bottom:0}.ops-d-icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;font-size:17px;flex-shrink:0}.ops-d-title{font-size:13px;font-weight:800}.ops-d-desc{font-size:12px;color:var(--muted);line-height:1.45;margin-top:2px}.ops-d-impact{font-size:11px;font-weight:700;border-radius:999px;padding:3px 8px;margin-top:6px;display:inline-flex}.ops-action-stack{display:flex;flex-direction:column;gap:6px}.ops-mini-btn{border:1px solid var(--line);border-radius:999px;background:#fff;padding:6px 10px;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap}.ops-mini-btn.ok{background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-ink)}.ops-mini-btn.bad{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.ops-health-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.ops-health-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:14px;display:flex;flex-direction:column;gap:9px}.ops-health-top{display:flex;justify-content:space-between;align-items:flex-start}.ops-health-name{font-size:14px;font-weight:800}.ops-health-sub{font-size:11px;color:var(--muted);margin-top:2px}.ops-light{font-size:26px}.ops-health-line{font-size:12px;line-height:1.45}.ops-health-bar{height:6px;border-radius:999px;background:#e2e8f0;overflow:hidden}.ops-health-fill{height:100%;border-radius:999px}.ops-health-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;border-top:1px solid #f1f5f9;padding-top:9px}.ops-health-stat{text-align:center}.ops-health-stat b{display:block;font-size:16px}.ops-health-stat span{font-size:10px;color:var(--muted)}.ops-queue-list{display:flex;flex-direction:column;gap:7px}.ops-queue-row{display:flex;align-items:center;gap:10px;justify-content:space-between;border:1px solid var(--line);background:#f8fbff;border-radius:13px;padding:10px 12px}.ops-queue-left{min-width:0}.ops-queue-title{font-size:12px;font-weight:800}.ops-queue-sub{font-size:11px;color:var(--muted);margin-top:1px}.ops-queue-count{font-size:16px;font-weight:900;border-radius:12px;background:#fff;border:1px solid var(--line);padding:6px 10px;min-width:42px;text-align:center}.ops-exception-row{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid #f1f5f9}.ops-exception-row:last-child{border-bottom:none}.ops-exception-icon{font-size:17px}.ops-exception-title{font-size:12px;font-weight:800}.ops-exception-desc{font-size:11px;color:var(--muted);line-height:1.4;margin-top:2px}.ops-ai-box{border:1px solid var(--brand-border);background:var(--brand-soft);border-radius:18px;padding:14px}.ops-ai-box--dev{border-style:dashed;background:#f8fbff}.ops-ai-title{font-size:13px;font-weight:900;color:var(--brand-ink);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ops-dev-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#64748b;background:#e2e8f0;border-radius:999px;padding:3px 8px}.ops-ai-text{font-size:12px;color:#334155;line-height:1.55;margin-top:5px}.ops-ai-note{font-size:11px;color:#64748b;line-height:1.45;margin-top:6px}.ops-ai-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.ops-timeline-row{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid #f1f5f9}.ops-timeline-row:last-child{border-bottom:none}.ops-time{font-size:11px;font-weight:800;color:var(--muted);min-width:72px}.ops-timeline-title{font-size:12px;font-weight:800}.ops-timeline-sub{font-size:11px;color:var(--muted);margin-top:1px}@media(max-width:960px){.ops-decision-grid{grid-template-columns:1fr}.ops-health-grid,.ops-meta{grid-template-columns:1fr 1fr}}@media(max-width:600px){.ops-health-grid{grid-template-columns:1fr}.ops-decision-item{grid-template-columns:auto 1fr}.ops-action-stack{grid-column:1/-1;flex-direction:row}.ops-meta{grid-template-columns:1fr}}.acc-panel{display:block}.payroll-card{border:1px solid var(--line);border-radius:16px;background:var(--card,#fff);padding:0;margin-bottom:12px;box-shadow:0 4px 10px #0f172a0d;overflow:hidden}.payroll-card.is-open{border-color:var(--brand-border);box-shadow:0 8px 18px #0f172a14}.payroll-split-banner,.payroll-split-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.payroll-split-left{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;text-align:left}.payroll-split-right{flex:0 0 auto;min-width:148px;display:flex;flex-direction:column;gap:3px;text-align:right;align-items:flex-end}.payroll-split-eyebrow{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.payroll-split-title{font-size:14px;font-weight:750;color:var(--text);line-height:1.25}.payroll-split-date{font-size:11px;font-weight:700;color:var(--muted)}.payroll-split-amount{font-size:13px;font-weight:750;color:var(--green);line-height:1.25}.payroll-split-amount.is-message{font-size:11px;font-weight:650;color:var(--muted)}.payroll-split-sub{font-size:11px;color:var(--muted);line-height:1.35}.payroll-split-head{display:flex;justify-content:space-between;gap:16px;padding:0 14px 8px;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.payroll-split-head span:last-child{text-align:right;min-width:148px}.payroll-banner-actions{display:flex;justify-content:flex-start;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 14px}.payroll-banner-actions__right{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto}.payroll-module-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.payroll-module-head__left{min-width:0;flex:0 1 auto}.payroll-module-head__right{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;flex:1;min-width:0;text-align:right}.payroll-module-head__summary{margin:0;text-align:right;font-size:14px;font-weight:650;color:var(--text);line-height:1.35}.payroll-module-head__summary strong{font-size:15px;font-weight:800;color:var(--brand)}.payroll-module-head h3{margin:0;font-size:20px;font-weight:800;letter-spacing:-.01em;line-height:1.2;color:var(--text)}.payroll-month-nav{display:inline-flex;align-items:center;gap:8px}.payroll-month-nav__label{display:flex;flex-direction:column;min-width:140px;text-align:center;line-height:1.2}.payroll-month-nav__label strong{font-size:14px;color:var(--text)}.payroll-month-nav__label span{font-size:11px;color:var(--muted)}.payroll-run-badge{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;border:1px solid var(--brand-border);background:var(--brand-soft);color:var(--brand);font-size:12px;font-weight:700}.payroll-blockers-dialog{width:min(440px,calc(100vw - 32px));border-color:color-mix(in srgb,var(--brand) 28%,var(--line))}.payroll-blockers-dialog__icon{background:var(--brand-soft)!important;border-color:var(--brand-border)!important;color:var(--brand)!important}.payroll-blockers-dialog__body{text-align:left}.payroll-blockers-dialog__body .confirm-dialog-message{text-align:center;margin-bottom:14px}.payroll-blockers-list{display:flex;flex-direction:column;gap:10px;max-height:min(42vh,320px);overflow:auto;padding-right:2px}.payroll-blockers-group{border:1px solid var(--line);border-radius:12px;background:#fff;padding:10px 12px}.payroll-blockers-group__title{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;font-weight:750;color:var(--text);margin-bottom:6px}.payroll-blockers-group__title em{font-style:normal;min-width:22px;height:22px;padding:0 7px;border-radius:999px;display:inline-grid;place-items:center;background:var(--brand-soft);border:1px solid var(--brand-border);color:var(--brand);font-size:11px;font-weight:800}.payroll-blockers-group ul{margin:0;padding:0 0 0 16px;display:flex;flex-direction:column;gap:3px}.payroll-blockers-group li{font-size:12px;color:var(--muted);line-height:1.4}.payroll-awaiting-clock-date{color:var(--brand);font-weight:650;white-space:nowrap}.payroll-blockers-dialog__actions{grid-template-columns:1fr}.payroll-blockers-dialog__actions--split{grid-template-columns:1fr 1fr;gap:10px}.payroll-awaiting-dialog{width:min(460px,calc(100vw - 32px));border-color:#fdba74;box-shadow:0 18px 48px #9a34121f,0 4px 16px #0f172a14}.payroll-awaiting-dialog__hero{padding-bottom:2px}.payroll-awaiting-dialog__icon{background:#fff7ed!important;border-color:#fdba74!important;color:#c2410c!important;border-radius:16px}.payroll-awaiting-dialog .confirm-dialog-title{font-size:17px;line-height:1.3;max-width:22ch;margin-inline:auto}.payroll-awaiting-dialog__body{text-align:left;display:flex;flex-direction:column;gap:12px;padding-top:2px}.payroll-awaiting-dialog__lead{margin:0;padding:0 4px;font-size:13px;line-height:1.55;color:var(--muted);text-align:center}.payroll-awaiting-dialog__lead strong{color:#9a3412;font-weight:800}.payroll-awaiting-panel{border:1px solid #fdba74;border-radius:14px;background:linear-gradient(180deg,#fffaf5,#fff 48%);overflow:hidden}.payroll-awaiting-panel__head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid #fed7aa;background:#fff7ed}.payroll-awaiting-panel__label{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:750;color:#9a3412}.payroll-awaiting-panel__dot{width:8px;height:8px;border-radius:999px;background:#ea580c;box-shadow:0 0 0 3px #ea580c2e;flex-shrink:0}.payroll-awaiting-panel__head em{font-style:normal;min-width:24px;height:24px;padding:0 8px;border-radius:999px;display:inline-grid;place-items:center;background:#fff;border:1px solid #fdba74;color:#c2410c;font-size:11px;font-weight:800}.payroll-awaiting-list{list-style:none;margin:0;padding:6px;display:flex;flex-direction:column;gap:4px;max-height:min(38vh,280px);overflow:auto}.payroll-awaiting-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:10px;background:#fff;border:1px solid transparent}.payroll-awaiting-row:hover{border-color:#fed7aa;background:#fffaf5}.payroll-awaiting-row__name{font-size:12.5px;font-weight:700;color:var(--text);line-height:1.35;min-width:0;flex:1 1 auto;word-break:break-word}.payroll-awaiting-row__dates{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;max-width:58%;flex:0 1 auto}.payroll-awaiting-date-chip{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;border:1px solid #fdba74;background:#fff7ed;color:#c2410c;font-size:10.5px;font-weight:700;line-height:1.25;white-space:nowrap}.payroll-awaiting-dialog__actions{grid-template-columns:1fr 1fr;gap:10px}.payroll-awaiting-dialog__actions .confirm-dialog-cancel{border-color:var(--line);background:#fff}.payroll-awaiting-dialog__actions .confirm-dialog-submit--primary:disabled{opacity:.72;cursor:default}.payroll-submit-dialog{width:min(480px,calc(100vw - 32px));border-color:color-mix(in srgb,var(--brand) 32%,var(--line))}.payroll-submit-dialog__icon{background:var(--brand-soft)!important;border-color:var(--brand-border)!important;color:var(--brand)!important;border-radius:16px}.payroll-submit-dialog__lead{margin:0;padding:0 8px;font-size:13px;line-height:1.55;color:var(--muted);text-align:center;max-width:34ch}.payroll-submit-dialog__body{text-align:left;display:flex;flex-direction:column;gap:12px;padding-top:4px}.payroll-submit-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.payroll-submit-stat{display:flex;flex-direction:column;gap:3px;padding:10px 8px;border:1px solid var(--line);border-radius:12px;background:#f8fafc;min-width:0;text-align:center}.payroll-submit-stat span{font-size:10px;font-weight:750;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.payroll-submit-stat strong{font-size:12px;font-weight:800;color:var(--text);line-height:1.25;word-break:break-word}.payroll-submit-stat.is-net{background:var(--brand-soft);border-color:var(--brand-border)}.payroll-submit-stat.is-net strong{color:var(--brand)}.payroll-submit-workers{border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px}.payroll-submit-workers__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;font-size:12px;font-weight:750;color:var(--text)}.payroll-submit-workers__head em{font-style:normal;min-width:22px;height:22px;padding:0 7px;border-radius:999px;display:inline-grid;place-items:center;background:var(--brand-soft);border:1px solid var(--brand-border);color:var(--brand);font-size:11px;font-weight:800}.payroll-submit-chips{display:flex;flex-wrap:wrap;gap:6px;max-height:min(28vh,180px);overflow:auto}.payroll-submit-chip{display:inline-flex;align-items:center;max-width:100%;padding:5px 10px;border-radius:999px;border:1px solid var(--line);background:#f8fafc;color:var(--text);font-size:11px;font-weight:650;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.payroll-submit-tip{padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#f8fafc;font-size:12px;line-height:1.45;color:var(--muted)}.payroll-submit-tip.is-today{background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand);font-weight:650}.payroll-submit-tip.is-warning{background:#fff7ed;border-color:#fdba74;color:#9a3412;font-weight:650}.payroll-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.payroll-table-wrap{overflow:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:14px;background:var(--card,#fff)}.payroll-table{width:100%;border-collapse:separate;border-spacing:0;min-width:780px}.payroll-table th,.payroll-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--hairline,#eef2f6);vertical-align:middle}.payroll-table th{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--surface-soft,var(--soft,#f8fafc));position:sticky;top:0;z-index:1}.payroll-table td{font-size:13px;color:var(--ink,var(--text))}.payroll-table tbody tr:hover td{background:color-mix(in srgb,var(--brand-soft) 35%,var(--card,#fff))}.payroll-table tbody tr:last-child td{border-bottom:0}.payroll-table__name{display:block;max-width:160px;font-size:13px;font-weight:750;color:var(--text,#0f172a);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.payroll-table__meta{display:block;max-width:160px;font-size:11px;color:var(--muted);margin-top:2px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.payroll-table__site{font-size:12px;color:var(--muted);line-height:1.35}.payroll-table__projects{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;max-width:180px}.payroll-table__project-primary{display:block;max-width:100%;font-size:11px;font-weight:650;color:var(--text,#0f172a);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:default}.payroll-table__project-more{display:inline-block;font-size:10px;font-weight:700;color:var(--text,#0f172a);letter-spacing:.02em;line-height:1.2;cursor:default}.payroll-table__projects-empty{font-size:11px;color:var(--muted,#94a3b8)}.payroll-table__num{font-variant-numeric:tabular-nums;white-space:nowrap}.payroll-table__ot{display:flex;flex-direction:column;gap:2px}.payroll-table__ot strong{font-weight:750}.payroll-table__ot-hrs{font-size:11px;color:var(--muted);font-weight:600}.payroll-table__total strong{font-weight:800;color:var(--green,#15803d)}.payroll-table__muted{color:var(--muted);font-size:12px}.payroll-table__actions-col{width:1%;white-space:nowrap}.payroll-table__actions{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;justify-content:flex-end}.payroll-table__check-col{width:36px;padding-left:12px!important;padding-right:4px!important;text-align:center;vertical-align:middle}.payroll-table__check{width:15px;height:15px;margin:0;accent-color:var(--brand,#b45309);cursor:pointer}.payroll-table__check:disabled{opacity:.45;cursor:not-allowed}.payroll-table__check-spacer{display:inline-block;width:15px;height:15px}.payroll-table tbody tr.is-selected td{background:color-mix(in srgb,var(--brand-soft,#fef3c7) 55%,var(--card,#fff))}.payroll-table__view-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--brand-border,var(--line));background:var(--brand-soft,#f8fafc);color:var(--brand);font-size:11px;font-weight:750;letter-spacing:.02em;padding:7px 12px;border-radius:999px;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.payroll-table__view-btn:hover{background:var(--brand);color:#fff;border-color:var(--brand)}.payroll-action-group{display:inline-flex;align-items:stretch;border:1px solid color-mix(in srgb,var(--brand,#b45309) 22%,var(--line,#e2e8f0));border-radius:10px;overflow:hidden;background:var(--card,#fff);box-shadow:0 1px #0f172a0a}.payroll-action-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background:transparent;font-family:inherit;font-size:var(--fs-xs,11px);font-weight:var(--fw-bold,700);letter-spacing:var(--ls-normal,.01em);line-height:1;padding:8px 12px;border-radius:10px;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease,opacity .15s ease}.payroll-action-btn:disabled{opacity:.5;cursor:not-allowed}.payroll-action-group .payroll-action-btn{border:0;border-radius:0;min-height:34px;padding:0 12px}.payroll-action-group .payroll-action-btn+.payroll-action-btn{border-left:1px solid color-mix(in srgb,var(--brand,#b45309) 16%,var(--line,#e2e8f0))}.payroll-action-btn--view,.payroll-action-group .payroll-action-btn--view{background:#f8fafc;color:#1e293b;border:1px solid #cbd5e1}.payroll-action-btn--view:hover:not(:disabled),.payroll-action-group .payroll-action-btn--view:hover:not(:disabled){background:var(--brand-soft,#fef3c7);color:var(--brand,#b45309)}.payroll-action-btn--approve,.payroll-action-group .payroll-action-btn--approve{background:var(--brand,#b45309);color:#fff!important}.payroll-action-btn--approve:hover:not(:disabled),.payroll-action-group .payroll-action-btn--approve:hover:not(:disabled){filter:brightness(.92);color:#fff!important}.payroll-action-btn--hold,.payroll-action-group .payroll-action-btn--hold{background:var(--card,#fff);color:#9a3412}.payroll-action-btn--hold:hover:not(:disabled),.payroll-action-group .payroll-action-btn--hold:hover:not(:disabled){background:#fff7ed;color:#7c2d12}.payroll-action-btn--revert,.payroll-action-group .payroll-action-btn--revert{background:#fff;color:var(--brand,#b45309)}.payroll-action-btn--revert:hover:not(:disabled),.payroll-action-group .payroll-action-btn--revert:hover:not(:disabled){background:var(--brand-soft,#fef3c7)}.payroll-action-btn--approve-outline{border:1px solid var(--brand-border,color-mix(in srgb,var(--brand,#b45309) 35%,#e2e8f0));background:var(--brand-soft,#fef3c7);color:var(--brand,#b45309)}.payroll-action-btn--approve-outline:hover:not(:disabled){background:color-mix(in srgb,var(--brand-soft,#fef3c7) 70%,#fff);border-color:var(--brand,#b45309)}.payroll-action-btn--icon,.payroll-action-group .payroll-action-btn--icon{min-width:34px;width:34px;height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center}.payroll-action-btn--lg{min-height:34px;padding:9px 16px;font-size:12px;border-radius:999px}.payroll-banner-actions__review{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.payroll-review-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 12px;padding:10px 12px;border:1px solid #e8eef5;border-radius:12px;background:linear-gradient(180deg,#fffefb,#f8fafc)}.payroll-review-toolbar--meta-only{justify-content:flex-start;padding:8px 12px}.payroll-review-toolbar__meta{font-size:12px;color:var(--muted,#64748b);line-height:1.35}.payroll-review-toolbar__meta strong{color:var(--text,#0f172a);font-weight:800}.payroll-review-toolbar__actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.payroll-table__actions .req-approve-btn,.payroll-table__actions .req-reject-btn{min-height:30px;padding:6px 10px;font-size:11px}.payroll-member-card{width:100%;display:flex;flex-direction:column;gap:10px;padding:0;border:1px solid var(--line);border-radius:16px;background:var(--card,#fff);text-align:left;box-shadow:0 4px 10px #0f172a0d;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;overflow:hidden}.payroll-member-card:hover{border-color:var(--brand-border);box-shadow:0 8px 18px #0f172a14;transform:translateY(-1px)}.payroll-member-card__hit{display:flex;flex-direction:column;gap:10px;width:100%;padding:14px;border:0;background:transparent;text-align:left;cursor:pointer}.payroll-member-card__actions{display:flex;gap:8px;padding:0 14px 14px}.payroll-member-card__actions .req-approve-btn,.payroll-member-card__actions .req-reject-btn{flex:1;min-height:34px;font-size:12px}.payroll-member-card__top{align-items:flex-start}.payroll-member-card__name{display:block;font-size:13px;font-weight:750;color:var(--text);line-height:1.25}.payroll-member-card__meta{display:block;font-size:11px;color:var(--muted);line-height:1.35;margin-top:2px}.payroll-member-card__foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:10px;border-top:1px solid var(--hairline,#eef2f6)}.payroll-member-card__hint{font-size:10px;font-weight:700;color:var(--brand);text-transform:uppercase;letter-spacing:.04em}.payroll-detail-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12000;background:#0f172a73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:max(20px,env(safe-area-inset-top,0px)) 20px 24px;overflow:hidden;overscroll-behavior:contain}.payroll-detail-modal{width:min(760px,calc(100vw - 32px));max-height:min(820px,calc(100dvh - 40px));height:auto;overflow:hidden;display:flex;flex-direction:column;flex-shrink:0;margin:0 auto;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 28px 70px #0f172a3d}.payroll-detail-modal .eng-req-modal-head{flex:0 0 auto}.payroll-detail-modal .eng-req-modal-body.payroll-detail-body,.payroll-detail-body{padding:12px 20px 20px;flex:1 1 auto;min-height:0;max-height:100%;overflow-x:hidden;overflow-y:scroll!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}.payroll-active-projects{margin:0 0 12px;padding:10px 12px;border:1px solid var(--hairline,#eef2f6);border-radius:12px;background:linear-gradient(180deg,#fbfcfe,#f8fafc)}.payroll-active-projects__label{display:flex;align-items:center;gap:6px;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;margin:0 0 8px;line-height:1.2}.payroll-active-projects__count{display:inline-grid;place-items:center;min-width:16px;height:16px;padding:0 5px;border-radius:999px;background:#e2e8f0;color:#64748b;font-size:9px;font-weight:800;letter-spacing:0;line-height:1}.payroll-active-projects__list{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px}.payroll-active-projects__list li{margin:0;padding:0;min-width:0;max-width:100%}.payroll-active-projects__name{display:inline-block;max-width:100%;padding:3px 8px;border-radius:999px;border:1px solid #e2e8f0;background:#fff;color:#64748b;font-size:10px;font-weight:550;line-height:1.35;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.payroll-active-projects__empty{margin:0;font-size:10px;font-weight:500;color:#94a3b8;line-height:1.4;font-style:italic}.acct-att-detail-modal{width:min(560px,calc(100vw - 32px));max-height:min(720px,calc(100dvh - 40px));overflow:hidden;display:flex;flex-direction:column;flex-shrink:0;margin:0 auto;background:var(--card,#fff);border:1px solid var(--line);border-radius:16px;box-shadow:0 28px 70px #0f172a3d}.acct-att-detail-body{padding:16px 20px 20px;flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.acct-att-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.acct-att-detail-field{display:flex;flex-direction:column;gap:5px;min-width:0;padding:12px 14px;border:1px solid var(--hairline,#eef2f6);border-radius:12px;background:var(--surface-soft,#f8fafc)}.acct-att-detail-field.is-full{grid-column:1 / -1}.acct-att-detail-field__label{display:block;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#64748b);line-height:1.2}.acct-att-detail-field__value{display:block;font-size:13px;font-weight:700;color:var(--ink,var(--text,#0f172a));line-height:1.35;word-break:break-word}@media(max-width:560px){.acct-att-detail-grid{grid-template-columns:1fr}.acct-att-detail-field.is-full{grid-column:auto}}.payroll-detail-summary{margin-bottom:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fafcff}.payroll-detail-status{margin-bottom:12px}.payroll-list-row{width:100%;padding:12px 14px;border:0;background:#f8fbff;text-align:left;cursor:pointer}.payroll-list-row:hover{background:var(--brand-soft)}.payroll-card.is-open .payroll-list-row{background:var(--card,#fff);border-bottom:1px solid var(--line)}.payroll-list-row__name{display:block;font-size:13px;font-weight:750;color:var(--text);line-height:1.25}.payroll-list-row__meta{display:block;font-size:11px;color:var(--muted);line-height:1.35}.payroll-inline-status{font-weight:700}.payroll-list-row__chevron{margin-top:4px;font-size:11px;color:var(--muted)}.payroll-card-actions{display:flex;gap:8px;margin-top:10px}.payroll-card-note{margin-top:8px;font-size:12px;color:var(--muted)}.payroll-card-note.is-ok{color:var(--green);font-weight:600}.payroll-month-banner{padding:14px 16px;margin-bottom:8px;border:1px solid var(--line);border-radius:14px;background:#fff}.payroll-card-body{padding:14px 16px}.payroll-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.payroll-cell{background:#f8fbff;border:1px solid var(--line);border-radius:10px;padding:8px;text-align:center}.payroll-cell-val{font-size:12px;font-weight:800}.payroll-cell-lbl{font-size:10px;color:var(--muted);margin-top:2px}.payroll-net{font-size:13px;font-weight:750;color:var(--green)}.payroll-ot-box{background:var(--brand-soft);border:1px solid var(--brand-border);border-radius:12px;padding:12px;margin-bottom:10px;font-size:11px;line-height:1.65}.payroll-ot-title{font-size:11px;font-weight:750;color:var(--brand-ink);margin-bottom:6px}.payroll-ot-note{margin:8px 0 0;font-size:11px;color:var(--brand-ink);line-height:1.5}.payroll-calc-stack{display:flex;flex-direction:column;gap:6px;margin-top:8px;padding:10px 12px;border-radius:10px;background:var(--ok-soft)}.payroll-calc-line{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--brand-ink)}.payroll-calc-line strong{font-family:var(--font-mono);font-weight:var(--fw-bold,700);text-align:right}.payroll-calc-line.is-highlight strong{font-size:11px;color:var(--green)}.payroll-calc-divider{height:1px;background:var(--brand-border);margin:4px 0}.payroll-attendance-calendar{margin-bottom:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fafcff}.payroll-attendance-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:10px}.payroll-attendance-head h4{margin:0;font-size:12px;font-weight:750}.payroll-attendance-head p{margin:2px 0 0;font-size:11px;color:var(--muted)}.payroll-attendance-legend{display:flex;gap:10px;font-size:10px;color:var(--muted)}.payroll-attendance-legend span{display:inline-flex;align-items:center;gap:4px}.payroll-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.payroll-calendar-weekday{font-size:9px;font-weight:800;text-transform:uppercase;color:var(--muted);text-align:center;padding:2px 0}.payroll-calendar-cell{min-height:42px;border:1px solid var(--hairline,#eef2f6);border-radius:8px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 2px}.payroll-calendar-cell.is-empty{border-color:transparent;background:transparent}.payroll-calendar-cell.is-off{background:#f8fafc;opacity:.65}.payroll-calendar-cell.is-future{background:#fcfcfd}.payroll-calendar-cell.is-present{background:#ecfdf5;border-color:#bbf7d0}.payroll-calendar-cell.is-absent{background:#fef2f2;border-color:#fecaca}.payroll-calendar-day{font-size:10px;font-weight:700;color:var(--text)}.payroll-mark{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:999px;font-size:10px;font-weight:900;font-style:normal;line-height:1}.payroll-mark.present{background:#dcfce7;color:#15803d}.payroll-mark.absent{background:#fee2e2;color:#b91c1c}@media(max-width:960px){.payroll-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.payroll-grid{grid-template-columns:1fr 1fr}.payroll-card-grid{grid-template-columns:1fr}.payroll-submit-stats{grid-template-columns:1fr 1fr}.payroll-awaiting-dialog__actions{grid-template-columns:1fr}.payroll-awaiting-row{flex-direction:column;align-items:stretch;gap:6px}.payroll-awaiting-row__dates{max-width:none;justify-content:flex-start}.payroll-split-banner,.payroll-split-row{flex-direction:column;gap:10px}.payroll-split-right{align-items:flex-start;text-align:left;min-width:0}.payroll-split-head span:last-child{text-align:left;min-width:0}.payroll-detail-backdrop{padding:max(12px,env(safe-area-inset-top,0px)) 12px 16px}.payroll-detail-modal{max-height:calc(100dvh - 24px)}}.req-modal-type-tab{display:inline-flex;gap:4px;background:var(--soft);border-radius:999px;padding:3px}.req-modal-type-pill{padding:5px 12px;border-radius:999px;font-size:12px;font-weight:600;cursor:pointer;color:var(--muted);transition:all .15s}.req-modal-type-pill.active{background:var(--card);color:var(--text);box-shadow:0 2px 6px #0f172a14}.req-toast{position:fixed;top:calc(var(--app-status-bar-inset,env(safe-area-inset-top,0px)) + 64px);left:50%;right:auto;bottom:auto;display:flex;align-items:center;gap:12px;background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:18px;padding:14px 18px;box-shadow:0 8px 32px #0f172a29;z-index:10000;transform:translate(-50%) translateY(-16px);opacity:0;transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .25s ease;pointer-events:none;min-width:260px;max-width:min(420px,calc(100vw - 32px));width:max-content}.req-toast.show{transform:translate(-50%) translateY(0);opacity:1;pointer-events:auto}.req-toast-icon{font-size:22px;flex-shrink:0}.req-toast-title{font-size:13px;font-weight:700;color:var(--text)}.req-toast-id{font-size:12px;color:var(--brand-ink);font-weight:600;margin-top:2px}.ec-timeline{display:flex;flex-direction:column;gap:0}.ec-tl-item{display:flex;gap:10px;position:relative;padding-bottom:16px}.ec-tl-dot{width:14px;height:14px;border-radius:999px;flex-shrink:0;margin-top:3px;border:2px solid #fff;box-shadow:0 0 0 1px var(--line);z-index:1}.ec-tl-line{position:absolute;left:7px;top:17px;bottom:0;width:1px;background:var(--line)}.ec-tl-body{flex:1;min-width:0}.ec-tl-date{font-size:11px;font-weight:700;color:var(--muted);margin-bottom:2px}.ec-tl-pct{font-size:13px;margin-bottom:2px}.ec-tl-text{font-size:12px;color:var(--text);line-height:1.4}.ec-tl-sub{font-size:11px;color:var(--muted);margin-top:2px}.ec-draw-filter-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.ec-draw-list{display:flex;flex-direction:column;gap:8px}.ec-draw-row{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:#f8fbff}.ec-draw-left{display:flex;align-items:flex-start;gap:10px;flex:1;min-width:0}.ec-draw-name{font-size:13px;font-weight:700}.ec-draw-meta{font-size:11px;color:var(--muted);margin-top:2px}.ec-rev-strip{display:flex;gap:4px;margin-top:6px;flex-wrap:wrap}.ec-rev-pill{font-size:10px;padding:2px 7px;border-radius:5px;background:#f1f5f9;border:1px solid var(--line);color:var(--muted)}.ec-rev-current{background:var(--ok-soft);border-color:var(--brand-border);color:var(--brand-ink);font-weight:700}.ec-cat-badge{font-size:11px;font-weight:600;border-radius:999px;padding:3px 9px}.proj-draw-panel{display:flex;flex-direction:column;gap:12px;min-width:0}.proj-draw-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.proj-draw-head-copy{min-width:0}.proj-draw-title{font-size:15px;font-weight:800;color:var(--text);letter-spacing:-.01em}.proj-draw-sub{font-size:12px;color:var(--muted);margin-top:2px;line-height:1.4}.proj-draw-upload{white-space:nowrap}.proj-draw-filters{display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;margin-bottom:0;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.proj-draw-filter{flex:0 0 auto;white-space:nowrap}.proj-draw-list{display:flex;flex-direction:column;gap:10px}.proj-draw-card{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(180px,auto);gap:14px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:0 1px 2px #0f172a0a;min-width:0}.proj-draw-card-main{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:start;min-width:0}.proj-draw-ext{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--brand-soft);border:1px solid var(--brand-border);color:var(--brand-ink);font-size:10px;font-weight:800;letter-spacing:.04em}.proj-draw-info{min-width:0}.proj-draw-title-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0}.proj-draw-name{font-size:14px;font-weight:800;color:var(--text);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.proj-draw-title-row .proj-draw-rev{flex-shrink:0;justify-self:end}.proj-draw-meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:6px}.proj-draw-meta-item{font-size:12px;color:var(--text);font-weight:500}.proj-draw-meta-label{display:inline;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-right:4px}.proj-draw-revs{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.proj-draw-rev{font-size:10px;font-weight:600;padding:3px 8px;border-radius:999px;background:var(--soft);border:1px solid var(--line);color:var(--muted);white-space:nowrap}.proj-draw-rev.is-current{background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-ink);font-weight:700}.proj-draw-card-side{display:grid;grid-template-columns:minmax(90px,auto) minmax(120px,auto);grid-template-areas:"cat status" "actions actions";gap:8px;align-items:center;justify-items:end;min-width:0}.proj-draw-cat{grid-area:cat;font-size:11px;font-weight:700;border-radius:999px;padding:5px 10px;background:var(--soft);border:1px solid var(--line);color:var(--text);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proj-draw-card-side .proj-draw-status-select,.proj-draw-card-side .proj-draw-status{grid-area:status;min-width:120px;max-width:160px;justify-self:end;text-align:center}.proj-draw-actions{grid-area:actions;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;width:100%}.proj-draw-btn{font-size:11px;font-weight:700;border:1px solid var(--line);border-radius:999px;padding:6px 12px;background:var(--card);color:var(--text);cursor:pointer;white-space:nowrap}.proj-draw-btn:hover{background:var(--soft);border-color:var(--line)}.proj-draw-btn--accent{background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-ink)}.proj-draw-btn--accent:hover{background:var(--btn-hover-tinted)}.proj-draw-empty{text-align:center;padding:28px 16px;border:1px dashed var(--line);border-radius:16px;background:var(--soft)}.proj-draw-empty-title{font-size:14px;font-weight:700;color:var(--text)}.proj-draw-empty-hint{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.45}.ec-media-types-row{display:flex;gap:6px;flex-wrap:wrap}.ec-issue-list{display:flex;flex-direction:column;gap:12px}.ec-issue-card{border:1px solid var(--line);border-radius:16px;background:var(--card);padding:14px 16px;box-shadow:0 4px 14px #0f172a0a}.ec-issue-card--open{border-left:4px solid #ef4444;background:var(--card)}.ec-issue-card--progress,.ec-issue-card--resolved{border-left:4px solid var(--brand);background:var(--card)}.ec-issue-card--closed{border-left:4px solid #94a3b8;background:var(--card)}.ec-issue-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.ec-issue-main{min-width:0;flex:1}.ec-issue-badges{display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.ec-issue-id{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.ec-issue-title{font-size:15px;font-weight:700;color:var(--text);line-height:1.35;margin-bottom:2px}.ec-issue-comment{margin-top:8px;padding:10px 12px;border-radius:12px}.ec-issue-comment--resolved{background:var(--brand-soft);border:1px solid var(--brand-border)}.ec-issue-comment--closed{background:var(--soft);border:1px solid var(--line)}.ec-issue-comment-label{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.ec-issue-comment--resolved .ec-issue-comment-label{color:var(--brand-ink)}.ec-issue-comment--closed .ec-issue-comment-label{color:var(--muted)}.ec-issue-comment-text{margin:0;font-size:13px;line-height:1.5;color:var(--text);font-weight:500}.ec-issue-desc{font-size:12px;color:var(--muted);line-height:1.5;margin-bottom:6px}.ec-issue-meta{font-size:11px;color:var(--muted)}.ec-issue-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.ec-alert-chip{font-size:11px;font-weight:600;border-radius:999px;padding:3px 9px;border:1px solid #fca5a5;background:#fee2e2;color:#991b1b}.prog-slider{cursor:pointer;width:100%;height:5px;accent-color:var(--green);-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#e2e8f0;border-radius:999px;outline:none}.prog-slider::-webkit-slider-runnable-track{height:5px;border-radius:999px;background:#e2e8f0}.prog-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:999px;background:var(--green);border:2px solid #fff;box-shadow:0 1px 4px #0f172a2e;margin-top:-4.5px}.prog-slider::-moz-range-track{height:5px;border-radius:999px;background:#e2e8f0}.prog-slider::-moz-range-thumb{width:14px;height:14px;border-radius:999px;background:var(--green);border:2px solid #fff;box-shadow:0 1px 4px #0f172a2e}.proj-progress-layout{display:grid;grid-template-columns:minmax(280px,1fr) minmax(300px,1fr);gap:18px;margin-bottom:14px;align-items:start}.proj-progress-form{position:relative;padding:0;border:1px solid var(--line);border-radius:20px;background:var(--card);box-shadow:0 1px 2px #0f172a0a,0 14px 42px #0f172a12;overflow:hidden}.proj-progress-form-accent{position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--brand),var(--brand-border),var(--brand))}.proj-progress-form-head{display:flex;align-items:flex-start;gap:12px;padding:20px 20px 0;margin-bottom:14px}.proj-progress-form-icon{width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,var(--brand-soft),var(--ok-soft));border:1px solid var(--brand-border);display:grid;place-items:center;font-size:20px;flex-shrink:0}.proj-progress-form-head-text{min-width:0;flex:1}.proj-progress-form-title{font-weight:800;font-size:16px;margin:0;color:var(--text);letter-spacing:-.02em;line-height:1.25}.proj-progress-form-sub{font-size:12px;color:var(--muted);margin-top:3px;line-height:1.35}.proj-progress-history{padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:0 2px 8px #0f172a0a}.proj-progress-history{display:flex;flex-direction:column;max-height:min(68vh,620px);min-height:280px;background:var(--card)}.proj-progress-history-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;flex-shrink:0;padding-bottom:12px;border-bottom:1px solid var(--line);flex-wrap:nowrap}.proj-progress-history-title{font-weight:800;font-size:15px;color:var(--text);margin:0;white-space:nowrap;flex-shrink:0;letter-spacing:-.01em}.proj-progress-history-toolbar{display:inline-flex;align-items:center;gap:6px;flex-shrink:1;min-width:0;flex-wrap:nowrap}.proj-progress-history-filter-label{font-size:11px;font-weight:600;color:var(--muted);white-space:nowrap}.proj-hist-date-wrap{position:relative;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;background:var(--card);padding:2px 4px 2px 8px;flex-shrink:0;gap:2px}.proj-hist-date-text{width:92px;min-width:92px;max-width:92px;height:26px;padding:0 4px 0 0;font-size:12px;border:none;background:transparent;color:var(--text);outline:none;box-sizing:border-box}.proj-hist-date-text::placeholder{color:var(--muted);font-size:11px}.proj-hist-date-text.invalid{background:#fef2f2}.proj-hist-date-btn{width:24px;height:24px;border:none;border-radius:50%;background:transparent;color:var(--text);cursor:pointer;display:grid;place-items:center;padding:0;flex-shrink:0;line-height:0;transition:background .15s,color .15s}.proj-hist-date-btn:hover{background:var(--soft);color:var(--text)}.proj-hist-date-btn svg{display:block}.proj-hist-date-native{position:absolute;right:4px;top:50%;width:24px;height:24px;transform:translateY(-50%);opacity:0;pointer-events:none}.proj-progress-history-clear{border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:9px;padding:0 10px;height:30px;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap;flex-shrink:0;line-height:30px}.proj-progress-history-clear:hover{background:var(--soft);border-color:var(--line)}.proj-progress-history-scroll{flex:1;min-height:0;overflow-y:auto;padding:4px 4px 4px 0;margin-right:-2px}.proj-progress-history-scroll::-webkit-scrollbar{width:5px}.proj-progress-history-scroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px}.proj-progress-history-list{display:flex;flex-direction:column;gap:10px}.proj-progress-history-item{display:flex;border:1px solid var(--line);border-radius:16px;background:var(--card);overflow:hidden;box-shadow:0 1px 2px #0f172a0a;transition:border-color .18s,box-shadow .18s,transform .18s;cursor:pointer;outline:none}.proj-progress-history-item:hover{border-color:var(--brand-border);box-shadow:0 6px 18px #0f172a12}.proj-progress-history-item:focus-visible{box-shadow:0 0 0 3px #8c6a2438}.proj-progress-history-item.is-open{border-color:var(--brand-border);box-shadow:0 8px 22px #8c6a241f;background:var(--card)}.proj-hist-card-accent{width:4px;flex-shrink:0;background:linear-gradient(180deg,var(--brand),var(--brand))}.proj-hist-card-accent--warn{background:linear-gradient(180deg,#fb923c,#ea580c)}.proj-progress-history-item-inner{flex:1;min-width:0;padding:0;display:flex;flex-direction:column}.proj-hist-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px 12px 12px 10px}.proj-hist-summary-main{display:flex;align-items:flex-start;gap:10px;min-width:0;flex:1}.proj-hist-date-badge{flex-shrink:0;width:42px;height:42px;border-radius:12px;background:linear-gradient(145deg,var(--brand-soft),var(--ok-soft));border:1px solid var(--brand-border);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;padding-top:1px}.proj-hist-date-day{font-size:14px;font-weight:900;color:var(--brand-ink);line-height:1}.proj-hist-date-mon{font-size:9px;font-weight:800;color:var(--brand);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}.proj-hist-summary-text{min-width:0;flex:1;display:flex;flex-direction:column;gap:5px}.proj-hist-summary-top{display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px}.proj-hist-date-full{font-size:12px;font-weight:800;color:var(--text)}.proj-hist-author{font-size:11px;color:var(--muted)}.proj-hist-author:before{content:"·";margin-right:4px;color:var(--line)}.proj-hist-activity-preview{font-size:13px;font-weight:700;color:var(--text);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.proj-hist-chip-row{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.proj-hist-chip{display:inline-flex;align-items:center;font-size:10px;font-weight:700;color:var(--muted);background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:2px 8px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.proj-hist-chip--area{color:var(--brand-ink);background:var(--brand-soft);border-color:var(--brand-border)}.proj-hist-summary-side{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0;padding-top:2px}.proj-hist-pct-ring{width:40px;height:40px;border-radius:50%;background:linear-gradient(145deg,var(--brand-soft),var(--ok-soft));border:2px solid var(--brand-border);display:grid;place-items:center;font-size:11px;font-weight:900;color:var(--brand-ink);line-height:1}.proj-hist-chevron{color:var(--muted);display:grid;place-items:center;transition:transform .22s ease,color .15s}.proj-progress-history-item.is-open .proj-hist-chevron{transform:rotate(180deg);color:var(--brand)}.proj-hist-flag{display:inline-flex;align-items:center;font-size:10px;font-weight:700;color:var(--muted);background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:2px 8px}.proj-hist-flag--warn{color:#c2410c;background:#fff7ed;border-color:#fdba74}.proj-hist-details{max-height:0;overflow:hidden;opacity:0;transition:max-height .28s ease,opacity .22s ease}.proj-progress-history-item.is-open .proj-hist-details{max-height:520px;opacity:1}.proj-hist-details-panel{padding:0 12px 12px 10px;border-top:1px dashed var(--line);margin-left:4px}.proj-hist-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:10px}.proj-hist-detail-row{background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:8px 10px;min-width:0;display:flex;flex-direction:column;gap:4px}.proj-hist-detail-row--full{grid-column:1 / -1}.proj-hist-detail-label{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;line-height:1.2}.proj-hist-detail-value{font-size:12px;font-weight:600;color:var(--text);line-height:1.45;word-break:break-word}.proj-hist-detail-value--pct{color:var(--brand-ink);font-weight:800}.proj-hist-detail-value--warn{color:#c2410c}.proj-hist-status-pill{display:inline-flex;align-items:center;align-self:flex-start;font-size:10px;font-weight:700;border-radius:999px;padding:3px 9px;border:1px solid var(--line);background:var(--soft);color:var(--muted)}.proj-hist-status--to_do{background:var(--soft);color:var(--muted);border-color:var(--line)}.proj-hist-status--in_progress,.proj-hist-status--done{background:var(--brand-soft);color:var(--brand-ink);border-color:var(--brand-border)}.proj-hist-card-foot{display:flex;align-items:center;padding-top:10px}.proj-progress-history-empty-filter{font-size:12px;color:var(--muted);text-align:center;padding:14px 10px;border:1px dashed var(--line);border-radius:10px;background:var(--card)}.proj-progress-photo-btn{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--brand-border);background:var(--brand-soft);color:var(--brand-ink);border-radius:8px;padding:5px 11px;font-size:11px;font-weight:700;cursor:pointer;transition:background .15s}.proj-progress-photo-btn:hover{background:var(--btn-hover-tinted)}.proj-progress-form-hint{display:flex;align-items:flex-start;gap:8px;margin:0 20px 16px;font-size:12px;color:var(--brand-ink);line-height:1.45;padding:11px 14px;background:var(--brand-soft);border-radius:12px;border:1px solid var(--brand-border)}.proj-progress-form-hint-icon{color:var(--brand);font-weight:800;flex-shrink:0;margin-top:1px;line-height:1.2}.proj-progress-form-hint strong{color:var(--brand-ink);font-weight:900}.proj-progress-pct-hero{margin:0 20px 16px;padding:16px 18px;border-radius:16px;background:linear-gradient(135deg,var(--brand-soft) 0%,var(--brand-soft) 55%,var(--soft) 100%);border:1px solid var(--brand-border);box-shadow:inset 0 1px #ffffff80,0 8px 24px #8c6a2414}.proj-progress-pct-label{color:var(--brand-ink)!important;margin-bottom:10px!important}.proj-progress-form-body{padding:0 20px 22px}.proj-progress-form .clock-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.proj-progress-form .clock-input{background:var(--card);border:1px solid var(--line);border-radius:12px;color:var(--text);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease}.proj-progress-form .clock-input:hover{border-color:var(--brand-border);background:var(--soft)}.proj-progress-form .clock-input:focus{border-color:var(--brand-border);background:var(--card);box-shadow:0 0 0 3px #8c6a242e}.proj-progress-field{margin-bottom:12px}.proj-progress-field:last-of-type{margin-bottom:0}.proj-progress-pct-wrap{display:inline-flex;align-items:center;gap:12px}.proj-progress-pct-input{width:108px;min-width:108px;max-width:108px;padding:12px 14px;text-align:center;font-weight:900;font-size:22px;color:var(--text);letter-spacing:-.03em;background:var(--card);border:2px solid var(--brand-border);border-radius:14px;box-shadow:0 4px 14px #8c6a241f,inset 0 1px #ffffff80;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.proj-progress-pct-input::placeholder{color:var(--muted);font-weight:700;font-size:18px}.proj-progress-pct-input:hover{border-color:var(--brand);transform:translateY(-1px);box-shadow:0 6px 18px #8c6a2429}.proj-progress-pct-input:focus{border-color:var(--brand);background:var(--card);box-shadow:0 0 0 4px #8c6a242e,0 6px 18px #8c6a2424;transform:translateY(-1px)}.proj-progress-pct-suffix{font-weight:900;color:var(--brand-ink);font-size:24px;line-height:1;flex-shrink:0;-webkit-user-select:none;user-select:none}.proj-progress-form select.proj-progress-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:var(--card);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236a5019' stroke-width='2.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px 16px;padding-right:40px;cursor:pointer}.proj-progress-photo-status-row{align-items:end}.proj-progress-photo-status-row--solo{grid-template-columns:1fr}.proj-progress-photo-meta{margin-top:-4px;margin-bottom:12px;padding:10px 12px;background:var(--soft);border:1px dashed var(--line);border-radius:10px;min-height:0}.proj-progress-photo-meta:empty{display:none}.proj-progress-optional{font-weight:600;color:var(--muted);text-transform:none;letter-spacing:0}.proj-progress-file{padding:8px 10px;font-size:12px;cursor:pointer}.proj-progress-file::file-selector-button{margin-right:10px;border:1px solid var(--brand-border);border-radius:8px;padding:6px 10px;background:linear-gradient(180deg,var(--brand-soft),var(--ok-soft));color:var(--brand-ink);font-weight:700;font-size:11px;cursor:pointer;transition:background .15s,border-color .15s}.proj-progress-file::file-selector-button:hover{background:var(--btn-hover-tinted);border-color:var(--brand-border)}.proj-progress-photo-name{font-size:11px;color:#64748b;margin-bottom:6px}.proj-progress-photo-preview{margin-top:0}.proj-progress-photo-preview-img{width:100%;max-width:220px;max-height:120px;object-fit:cover;border-radius:10px;border:1px solid #e2e8f0;display:block}.proj-progress-submit{margin-top:18px;width:100%;border-radius:14px;font-weight:800;letter-spacing:.01em;padding:14px 16px;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--brand-soft);border:1px solid var(--brand-border);color:var(--brand-ink);box-shadow:0 4px 16px color-mix(in srgb,var(--brand) 18%,transparent),inset 0 1px #ffffffd9;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}.proj-progress-submit:hover{background:var(--btn-hover-tinted);border-color:var(--brand-border);transform:translateY(-2px);box-shadow:0 10px 28px color-mix(in srgb,var(--brand) 24%,transparent),inset 0 1px #ffffffe6}.proj-progress-submit:active{transform:translateY(0);box-shadow:0 4px 12px #22c55e33}.proj-progress-submit-icon{display:inline-flex;font-size:15px;line-height:1}.proj-progress-form--locked{display:flex;align-items:center;justify-content:center;min-height:220px;background:#f8fbff;padding:18px}.proj-progress-locked-msg{text-align:center;color:#64748b;font-size:13px;padding:12px}@media(max-width:900px){.proj-progress-layout{grid-template-columns:1fr}.proj-progress-history{max-height:none;min-height:260px}.proj-progress-history-head{flex-wrap:wrap}.proj-progress-history-toolbar{width:auto;max-width:100%}.proj-hist-details-grid{grid-template-columns:1fr}}@media(max-width:520px){.proj-progress-photo-status-row{grid-template-columns:1fr}.proj-progress-form-head{padding:16px 16px 0}.proj-progress-form-hint,.proj-progress-pct-hero{margin:0 16px 16px}.proj-progress-form-body{padding:0 16px 18px}}@media(prefers-reduced-motion:reduce){.proj-progress-form-accent{animation:none}.proj-progress-pct-input:hover,.proj-progress-pct-input:focus,.proj-progress-submit:hover{transform:none}}@media(max-width:720px){.ec-draw-row{flex-direction:column}.proj-card-tabs{overflow-x:auto}.proj-card-tab{min-width:72px;flex-shrink:0}.proj-draw-card{grid-template-columns:1fr;gap:12px;padding:12px}.proj-draw-card-side{grid-template-columns:minmax(0,1fr) minmax(120px,1fr);grid-template-areas:"cat status" "actions actions";justify-items:stretch;border-top:1px solid var(--line);padding-top:10px}.proj-draw-cat,.proj-draw-card-side .proj-draw-status-select,.proj-draw-card-side .proj-draw-status{justify-self:stretch;text-align:center;max-width:none}.proj-draw-actions{justify-content:stretch}.proj-draw-btn{flex:1;text-align:center}.proj-draw-head{align-items:start}.proj-draw-name{-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;white-space:normal}.proj-draw-title-row{align-items:start}}.proc-workflow-bar{display:flex;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 20px;margin-bottom:14px;box-shadow:0 4px 12px #0f172a0a}.proc-wf-step{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}.proc-wf-step[data-proc-wf-step]{cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .15s}.proc-wf-step[data-proc-wf-step]:hover{opacity:.85}.proc-wf-step[data-proc-wf-step]:focus-visible{outline:2px solid var(--brand);outline-offset:4px;border-radius:8px}.proc-wf-dot{width:28px;height:28px;border-radius:999px;background:#e2e8f0;color:#94a3b8;font-size:12px;font-weight:700;display:grid;place-items:center;border:2px solid #e2e8f0}.proc-wf-label{font-size:10px;color:var(--muted);font-weight:600;white-space:nowrap}.proc-wf-done .proc-wf-dot{background:var(--green);color:#fff;border-color:var(--green)}.proc-wf-done .proc-wf-label{color:var(--green)}.proc-wf-active .proc-wf-dot{background:var(--brand);color:#fff;border-color:var(--brand);box-shadow:0 0 0 3px #16a34a33}.proc-wf-active .proc-wf-label{color:var(--brand);font-weight:700}.proc-wf-line{flex:1;height:2px;background:#e2e8f0;margin:0 4px 12px}.proc-wf-done-line{background:var(--green)}.proc-panel{display:none}.proc-panel.proc-panel-active{display:block}.proc-panel-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-bottom:10px;flex-wrap:wrap}.proc-panel .list-toolbar.list-toolbar-row{width:100%;align-items:stretch}.proc-panel .list-toolbar.list-toolbar-row .list-toolbar-search,.proc-panel .list-toolbar.list-toolbar-row .list-toolbar-row__sort,.proc-panel .list-toolbar.list-toolbar-row .list-toolbar-row__actions{align-self:center}.list-toolbar .proc-panel-actions,.list-toolbar-row__actions.proc-panel-actions{margin-bottom:0;margin-left:0;flex-wrap:nowrap}.proc-panel-actions:empty{display:none}.proc-panel-hint{margin:0 auto 0 0;font-size:12px;color:var(--muted);line-height:1.4;max-width:min(520px,100%)}.proc-subnav{display:flex;gap:6px;overflow-x:auto;padding:4px 2px 12px;margin-bottom:4px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.proc-subnav::-webkit-scrollbar{height:4px}.proc-subnav-btn{flex-shrink:0;border:1px solid var(--line);background:#fff;color:var(--muted);font-size:12px;font-weight:600;padding:8px 14px;border-radius:999px;cursor:pointer;transition:all .15s;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.proc-subnav-btn:hover{background:#f8fbff;border-color:var(--brand-border);color:var(--text)}.proc-subnav-btn.active{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 2px 8px #16a34a40}.proc-subnav-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.proc-subnav-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;font-size:10px;font-weight:800;background:#0f172a14;color:inherit}.proc-subnav-btn.active .proc-subnav-count{background:#ffffff38}.proc-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;flex-wrap:wrap}.proc-panel-title{font-weight:700;font-size:15px}.proc-count-badge{font-size:11px;font-weight:700;background:var(--ok-soft);border:1px solid var(--brand-border);color:var(--brand-ink);border-radius:999px;padding:5px 12px;flex-shrink:0}.proc-feed{display:flex;flex-direction:column;gap:10px}.proc-feed-grid,.app-tile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.proc-vendor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.proc-item-card,.app-tile{border:1px solid var(--line);border-radius:16px;background:var(--card);padding:14px 16px;box-shadow:0 4px 10px #0f172a0d;display:flex;flex-direction:column;gap:10px;min-width:0;color:var(--text)}.proc-item-head,.app-tile-head,.rfq-card-top,.approval-card-top,.quote-group-head,.po-card-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,auto);align-items:start;gap:10px;min-width:0}.proc-item-head>:first-child,.app-tile-head>:first-child,.rfq-card-top>:first-child,.approval-card-top>:first-child,.quote-group-title,.po-card-top>:first-child{min-width:0;overflow:hidden}.proc-item-head .req-status,.app-tile-head .req-status,.rfq-card-top .req-status,.approval-card-top .req-status,.quote-group-status,.po-card-top .req-status{justify-self:end;max-width:100%;min-width:150px;text-align:center;white-space:normal;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.proc-item-id,.app-tile-id{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.02em;text-transform:uppercase}.proc-mat-cell{max-width:0;overflow:hidden}.proc-mat-name{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--fw-regular,400);color:var(--text);cursor:default}.proc-mat-purpose{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:500;color:var(--muted);line-height:1.25}.proc-item-title,.app-tile-title{font-size:15px;font-weight:800;margin:2px 0 0;color:var(--text);line-height:1.3;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proc-chip-row,.app-tile-chips{display:flex;flex-wrap:wrap;gap:6px}.proc-chip{font-size:11px;background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:4px 10px;color:var(--text);line-height:1.3}.proc-chip-urgent{background:#fef2f2;border-color:#fecaca;color:#b91c1c;font-weight:600}.proc-chip-low{background:var(--brand-soft);border-color:#bbf7d0;color:#15803d;font-weight:600}.proc-chip-normal{background:#fffbeb;border-color:#fde68a;color:#b45309;font-weight:600}.proc-item-by{font-size:12px;color:var(--muted);margin:0}.proc-item-actions,.app-tile-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;padding-top:10px;border-top:1px solid var(--line);margin-top:auto}.proc-req-actions{display:flex;flex-direction:row;flex-wrap:nowrap;gap:6px;align-items:center;justify-content:flex-start;width:max-content;max-width:100%}.proc-req-actions.proc-req-actions--stacked{flex-direction:column;align-items:stretch;gap:6px;width:min(100%,200px);min-width:148px}.proc-req-actions .req-approve-btn,.proc-req-actions .req-reject-btn{flex:0 0 auto;white-space:nowrap}.proc-req-actions.proc-req-actions--icons{display:inline-flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:6px;width:max-content;max-width:100%}.proc-req-actions .req-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border-radius:10px;border:1px solid var(--brand-border,#d4c4a8);background:#fff;color:var(--brand-ink,#1f1c17);cursor:pointer;flex:0 0 auto;transition:background .15s ease,filter .15s ease,box-shadow .15s ease}.proc-req-actions .req-icon-btn:hover:not(:disabled){filter:brightness(.96);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand-border) 55%,transparent)}.proc-req-actions .req-icon-btn:active:not(:disabled){filter:brightness(.9)}.proc-req-actions .req-icon-btn:disabled{opacity:.45;cursor:not-allowed}.proc-req-actions .req-icon-btn--return{border-color:#e2e8f0;background:#f8fafc;color:#64748b}.proc-req-actions .req-icon-btn--return:hover:not(:disabled){background:#e2e8f0;color:#475569}.proc-req-actions .req-icon-btn--reject{border-color:#fecaca;background:#fef2f2;color:#dc2626}.proc-req-actions .req-icon-btn--reject:hover:not(:disabled){background:#fee2e2;color:#b91c1c}.proc-req-actions .req-icon-btn--approve{border-color:#86efac;background:#ecfdf5;color:#16a34a}.proc-req-actions .req-icon-btn--approve:hover:not(:disabled){background:#dcfce7;color:#15803d}.proc-req-actions .req-icon-btn--compare{border-color:var(--brand-border,#d4c4a8);background:var(--brand-soft,#faf6ef);color:var(--brand-ink,#1f1c17)}.proc-req-actions .req-icon-btn--view{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.proc-req-actions .req-icon-btn--view:hover:not(:disabled){background:#dbeafe;color:#1e40af}.proc-rfq-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.proc-rfq-subid{font-size:11px;color:var(--muted);margin-top:2px;line-height:1.3}.proc-rfq-status{font-size:11px;font-weight:600;border-radius:999px;padding:3px 10px;border:1px solid transparent;white-space:nowrap;display:inline-block}.proc-empty{text-align:center;padding:36px 20px;border:1px dashed var(--line);border-radius:16px;background:var(--soft);color:var(--muted)}.proc-empty-wide{grid-column:1/-1}.proc-empty-icon{font-size:28px;margin-bottom:8px;opacity:.7}.proc-empty-msg{font-size:14px;font-weight:600;color:var(--text)}.proc-empty-hint{font-size:12px;margin-top:6px;color:var(--muted)}.quote-group-card{border:1px solid var(--line);border-radius:16px;background:var(--card);overflow:hidden;box-shadow:0 4px 10px #0f172a0d;min-width:0}.quote-group-head{padding:14px 16px;background:var(--soft);border-bottom:1px solid var(--line)}.quote-group-title{display:flex;flex-direction:column;gap:2px;min-width:0}.quote-group-material{display:block;font-size:14px;font-weight:700;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quote-group-material .proc-mat-name{max-width:100%;font-weight:inherit}.quote-group-status{min-width:160px;max-width:220px}.quote-offer-list{display:flex;flex-direction:column}.quote-offer-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(96px,.7fr) auto;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid #f1f5f9;min-width:0}.quote-offer-row:last-child{border-bottom:none}.quote-offer-supplier{display:flex;align-items:center;gap:10px;min-width:0}.quote-offer-icon{font-size:18px;flex-shrink:0}.quote-offer-copy{min-width:0;overflow:hidden}.quote-offer-name{display:block;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quote-offer-file{display:block;font-size:11px;color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quote-offer-meta{font-size:11px;color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quote-offer-action{flex-shrink:0;white-space:nowrap}.quote-group-foot{padding:8px 16px;font-size:11px;color:var(--muted);background:#fafbfc;border-top:1px solid #f1f5f9}.vendor-card{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(140px,auto);align-items:flex-start;gap:12px;border:1px solid var(--line);border-radius:16px;background:var(--card,#fff);padding:14px 16px;box-shadow:0 4px 10px #0f172a0d;min-width:0;color:var(--text)}.vendor-card-icon{width:40px;height:40px;border-radius:12px;background:var(--brand-soft);display:grid;place-items:center;font-size:18px;flex-shrink:0}.vendor-card-main{min-width:0;display:flex;flex-direction:column;gap:3px;overflow:hidden}.vendor-card-name{font-size:14px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.vendor-card-category{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.02em}.vendor-card-email{font-size:12px;color:var(--brand);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vendor-card-email:hover{text-decoration:underline}.vendor-card-date{font-size:11px;color:var(--muted);margin-top:2px}.vendor-card-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0;min-width:140px;max-width:220px}.tabs button[data-proc-tab]{font-size:12px;padding:7px 12px;flex:0 0 auto;white-space:nowrap}.proc-tabs{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding-bottom:4px;margin-bottom:12px}.proc-tabs::-webkit-scrollbar{height:4px}.proc-tabs::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.proc-tabs .tab{flex:0 0 auto;white-space:nowrap}.proc-kpi-grid{display:flex;flex-wrap:nowrap;gap:10px;margin-bottom:14px;width:100%;max-width:none;box-sizing:border-box;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.proc-kpi-grid>.proc-kpi-card{flex:1 1 0;min-width:120px}.proc-kpi-card{background:#fff;border:1px solid #e8e8e8;border-radius:14px;padding:14px 16px;box-shadow:0 1px 2px #0f172a0a;min-width:0}.proc-kpi-label{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#8b8b8b;margin-bottom:6px}.proc-kpi-value{font-size:26px;font-weight:800;color:#1a1a1a;line-height:1.1;letter-spacing:-.02em}.proc-kpi-value--muted{color:#6b7280;font-size:22px}.proc-kpi-value.is-positive{color:#15803d}.proc-kpi-hint{margin-top:6px;font-size:11px;color:#9a9a9a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.proc-tabs--org,.tabs.proc-tabs.proc-tabs--org{display:flex;flex-wrap:nowrap;gap:4px;width:100%;max-width:none;padding:6px;margin-bottom:14px;background:#fff;border:1px solid #e8e8e8;border-radius:14px;box-shadow:0 1px 2px #0f172a0a;overflow-x:auto;box-sizing:border-box}.proc-tabs--org .tab{border:1px solid transparent;background:transparent;color:#5c5c5c;font-size:13px;font-weight:600;padding:9px 14px;border-radius:10px;box-shadow:none}.proc-tabs--org .tab:hover{background:#f7f5f1;color:#2a2a2a}.proc-tabs--org .tab.active{background:var(--accent-base, var(--brand));border-color:var(--accent-base, var(--brand));color:#fff;font-weight:700;box-shadow:0 2px 8px color-mix(in srgb,var(--accent-base, var(--brand)) 28%,transparent)}.proc-panel--card{background:#fff;border:1px solid #e8e8e8;border-radius:16px;padding:16px 18px 18px;box-shadow:0 1px 2px #0f172a0a;width:100%;max-width:none;box-sizing:border-box}.proc-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.proc-panel-title{font-size:18px;font-weight:800;color:#1a1a1a;letter-spacing:-.01em}.proc-panel-sub{margin-top:3px;font-size:12px;color:#8b8b8b}.proc-panel-banner{margin:0 0 12px;padding:10px 14px;border-radius:12px;background:#fff8e8;border:1px solid #f0e2b8;color:#6b5a2a;font-size:12px;line-height:1.45}.proc-reports-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.proc-report-card{background:#fff;border:1px solid #e8e8e8;border-radius:14px;padding:18px 16px;min-height:88px;text-align:left;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;width:100%;font:inherit;color:inherit}.proc-report-card:hover,.proc-report-card.is-active{border-color:#d7c7b0;box-shadow:0 2px 8px #0f172a0f;transform:translateY(-1px)}.proc-report-card-title{font-size:15px;font-weight:800;color:#1a1a1a}.proc-report-card-metric{margin-top:8px;font-size:22px;font-weight:800;color:#1a1a1a;letter-spacing:-.02em;line-height:1.1}.proc-report-card-sub{margin-top:6px;font-size:12px;color:#8b8b8b}.proc-report-detail{margin-top:14px;border:1px solid #e8e8e8;border-radius:14px;padding:14px 16px;background:#fff}.proc-report-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.proc-report-detail-title{font-size:16px;font-weight:800;color:#1a1a1a}.proc-panel-head-actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.proc-report-detail-actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.proc-report-customize{margin:0 0 14px;padding:14px 16px;border:1px solid #e8e8e8;border-radius:14px;background:#fafafa}.proc-report-customize-row{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.proc-report-customize-label{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#8b8b8b;margin-bottom:8px}.proc-report-customize-row .proc-report-customize-label{margin:0}.proc-report-customize-checks,.proc-report-columns-list{display:flex;flex-wrap:wrap;gap:8px 14px}.proc-report-column-check{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#333;cursor:pointer}.proc-report-customize-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.proc-report-columns{margin:0 0 12px;padding:10px 12px;border:1px solid #eee;border-radius:12px;background:#fafafa}.proc-report-columns-label{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#8b8b8b;margin-bottom:8px}.proc-report-empty{grid-column:1/-1;padding:24px;text-align:center;color:#8b8b8b;border:1px dashed #ddd;border-radius:12px}@media(max-width:1100px){.proc-reports-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.proc-reports-grid{grid-template-columns:1fr}.proc-panel-title{font-size:16px}}.proc-panel--card .list-toolbar-filter.active,.proc-panel--card .proc-subnav-btn.active{background:#1a1a1a;border-color:#1a1a1a;color:#fff;box-shadow:none}.rfq-cards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rfq-card{border:1px solid var(--line);border-radius:16px;background:var(--card);padding:14px;box-shadow:0 4px 10px #0f172a0d;color:var(--text)}.rfq-card-top{margin-bottom:8px}.rfq-card-id{font-size:13px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rfq-card-subline{font-size:11px;color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rfq-card-meta{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted);margin-bottom:8px;line-height:1.45}.rfq-meta-row{display:grid;grid-template-columns:88px minmax(0,1fr);gap:6px;align-items:start}.rfq-meta-label{font-weight:600;color:#64748b}.rfq-meta-value{color:var(--text);font-weight:500;min-width:0;word-break:break-word}.proc-rfq-title{font-weight:700}.proc-section-heading{grid-column:1/-1;margin:0 0 8px}.proc-section-heading.has-sub{margin:16px 0 8px}.proc-section-heading-title{font-weight:700;font-size:14px;color:var(--text)}.proc-section-heading-sub{font-size:12px;color:var(--muted);margin-top:2px}.rfq-supplier-chips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}.rfq-sup-chip{font-size:11px;background:#f1f5f9;border:1px solid var(--line);border-radius:999px;padding:2px 8px;color:var(--text)}.rfq-card-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;border-top:1px solid #f1f5f9;padding-top:8px;margin-top:4px;min-width:0}.rfq-card-footer>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rfq-card-footer>div{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;max-width:100%}.rfq-card-suppliers{display:flex;flex-direction:column;gap:6px;margin:0 0 10px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.rfq-supplier-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;font-size:12px;min-width:0}.rfq-supplier-name{font-weight:700;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rfq-supplier-chip{font-size:10px;font-weight:700;padding:3px 8px;border-radius:999px;background:var(--brand-soft);color:var(--brand-ink);border:1px solid var(--brand-border);flex-shrink:0;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.rfq-supplier-chip.is-done{background:var(--brand-soft);color:var(--brand-ink);border-color:#bbf7d0}.quote-supplier-rows{display:flex;flex-direction:column;gap:8px;max-height:min(360px,50vh);overflow:auto;padding:2px}.quote-supplier-empty{font-size:13px;color:var(--muted);padding:10px 0}.quote-supplier-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr) 34px;gap:8px;align-items:center;padding:10px 12px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.quote-supplier-main{min-width:0}.quote-supplier-name{font-size:13px;font-weight:800;color:var(--text)}.quote-supplier-status{display:inline-block;margin-top:3px;font-size:11px;color:var(--muted)}.quote-supplier-status.is-done{color:var(--brand-ink);font-weight:700}.quote-supplier-file{display:flex;align-items:center;gap:8px;min-width:0;cursor:pointer;position:relative}.quote-supplier-file input[type=file]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.quote-supplier-file-btn{flex:0 0 auto;padding:6px 10px;border-radius:8px;border:1px solid #cbd5e1;background:#f8fafc;font-size:12px;font-weight:700;color:#0f172a}.quote-supplier-file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--muted)}.quote-supplier-clear{width:34px;height:34px;border:1px solid #fecaca;border-radius:10px;background:#fff1f2;color:#b91c1c;font-size:18px;line-height:1;cursor:pointer}.quote-supplier-clear:hover{background:#fee2e2}.upload-quote-modal-body{display:flex;flex-direction:column;gap:18px;max-height:min(72vh,680px);overflow:auto;padding-bottom:4px}.upload-quote-section{border:1px solid #e2e8f0;border-radius:14px;background:#fff;padding:14px 14px 12px;display:flex;flex-direction:column;gap:10px}.upload-quote-section--manager{background:#fafafa}.upload-quote-section-head{display:flex;align-items:flex-start;gap:12px}.upload-quote-step{flex:0 0 auto;width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--brand-soft,#f5efe6);border:1px solid var(--brand-border,#e7d8c3);color:var(--brand-ink,#7c5a2b);font-size:12px;font-weight:800}.upload-quote-section-title{margin:0;font-size:14px;font-weight:800;color:var(--text)}.upload-quote-section-sub{margin:2px 0 0;font-size:12px;line-height:1.45;color:var(--muted)}.upload-quote-hint{font-size:11px;color:var(--muted);margin-top:2px}.upload-quote-manager-empty{font-size:12px;color:var(--muted);padding:8px 2px 2px}.upload-quote-footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.upload-quote-footer .clock-submit{min-width:112px}.upload-quote-error{margin-top:2px}.rfq-supplier-list{display:flex;flex-direction:column;gap:6px;background:#f8fbff;border:1px solid var(--line);border-radius:12px;padding:10px;max-height:200px;overflow-y:auto}.rfq-sup-item{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer;padding:4px 0}.rfq-sup-item input{accent-color:var(--green);flex-shrink:0}.rfq-vendor-add-opt{display:block;width:100%;text-align:left;margin-top:4px;padding:8px 10px;border:none;border-top:1px solid #e2e8f0;background:transparent;color:var(--brand);font-size:13px;font-weight:700;cursor:pointer;border-radius:8px}.rfq-vendor-add-opt:hover{background:var(--brand-soft)}#proc-rfq .proc-data-table td:nth-child(5),#proc-comparison .proc-data-table td:nth-child(3),.exact-embedded-procurement #proc-rfq .proc-data-table td:nth-child(5),.exact-embedded-procurement #proc-comparison .proc-data-table td:nth-child(3){overflow:visible;position:relative;vertical-align:middle}#proc-rfq .proc-table-wrap,#proc-comparison .proc-table-wrap,.exact-embedded-procurement #proc-rfq .proc-table-wrap,.exact-embedded-procurement #proc-comparison .proc-table-wrap{overflow:visible}#inventory .proc-rfq-vendor-chip-wrap,.exact-embedded-procurement .proc-rfq-vendor-chip-wrap{position:relative;display:inline-flex;z-index:1}#inventory .proc-rfq-vendor-chip-wrap:has(.proc-rfq-vendor-popover:not([hidden])),.exact-embedded-procurement .proc-rfq-vendor-chip-wrap:has(.proc-rfq-vendor-popover:not([hidden])){z-index:40}#inventory .proc-rfq-vendor-chip,.exact-embedded-procurement .proc-rfq-vendor-chip{height:30px;padding:0 12px;border:1px solid #e6d7c3;border-radius:999px;background:#f3ebe0;color:#6b4f2a!important;font-size:12px;font-weight:800;white-space:nowrap;cursor:pointer}#inventory .proc-rfq-vendor-chip:hover,.exact-embedded-procurement .proc-rfq-vendor-chip:hover{background:#eadfce}#inventory .proc-rfq-vendor-popover[hidden],.exact-embedded-procurement .proc-rfq-vendor-popover[hidden]{display:none!important}#inventory .proc-rfq-vendor-popover,.exact-embedded-procurement .proc-rfq-vendor-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:30;min-width:220px;padding:10px;border:1px solid var(--line,#e8e2d6);border-radius:12px;background:#fff;box-shadow:0 12px 28px #1f1c171f}.rfq-req{color:#dc2626;font-weight:700}.rfq-opt{font-size:10px;font-weight:600;color:var(--muted)}.rfq-field-locked,.clock-input.rfq-field-locked:read-only{background:#f1f5f9!important;color:#475569!important;cursor:not-allowed!important;border-color:#e2e8f0!important}select.rfq-field-locked:disabled{opacity:1}.clock-modal-overlay.modal-nested{z-index:310;background:#0f172a80}.clock-modal.modal-nested{z-index:311}.quote-lowest{background:var(--brand-soft)}.quote-fastest{background:#eff6ff}.quote-best{background:#fdf4ff}.quote-score{font-size:13px;font-weight:800}.quote-tag{font-size:10px;font-weight:700;border-radius:5px;padding:2px 6px}.qt-green{background:var(--ok-soft);color:var(--brand-ink)}.qt-blue{background:#dbeafe;color:#1e40af}.qt-purple{background:#f3e8ff;color:#6b21a8}.approval-card{border:1px solid var(--line);border-radius:16px;background:var(--card);padding:16px;margin-bottom:10px;box-shadow:0 4px 10px #0f172a0d;min-width:0;color:var(--text)}.approval-card-top{margin-bottom:10px}.approval-card-title{min-width:0;overflow:hidden}.approval-card-name{font-weight:800;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.approval-card-sub,.approval-card-id{font-size:12px;color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.approval-card-id{font-size:11px}.approval-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}.approval-sum-item{background:#f8fbff;border:1px solid var(--line);border-radius:10px;padding:8px;text-align:center}.approval-sum-val{font-size:15px;font-weight:800}.approval-sum-lbl{font-size:10px;color:var(--muted)}.approval-actions{display:flex;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid #f1f5f9;flex-wrap:wrap}.quote-upload-success-actions{display:flex;flex-direction:column;gap:8px;width:100%;margin-top:12px}.send-mgr-quote-list{display:flex;flex-direction:column;gap:8px;max-height:240px;overflow-y:auto}.send-mgr-quote-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--soft);cursor:pointer;font-size:13px}.send-mgr-quote-item:hover{background:var(--brand-soft);border-color:var(--brand-border)}.send-mgr-quote-item input{accent-color:var(--green);margin-top:0;flex-shrink:0}.send-mgr-quote-meta{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.view-quote-approve-footer .req-approve-btn{flex:1;min-width:140px}.send-mgr-quote-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.send-mgr-quote-meta strong{font-weight:700}.send-mgr-quote-meta span{font-size:12px;color:var(--muted);word-break:break-all}.send-mgr-quote-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.send-mgr-quote-toolbar-label{font-size:12px;font-weight:600;color:var(--text)}.send-mgr-select-all{border:none;background:none;color:var(--brand);font-size:12px;font-weight:600;cursor:pointer;padding:0}.rfq-card-history,.approval-card-history{opacity:.92;border-style:dashed}.po-card{border:1px solid var(--line);border-radius:16px;background:var(--card);padding:16px;margin-bottom:10px;box-shadow:0 4px 10px #0f172a0d;color:var(--text)}.po-card-top{margin-bottom:10px}.proc-accordion{border:1px solid var(--line);border-radius:16px;background:#fff;margin-bottom:10px;box-shadow:0 4px 10px #0f172a0d;overflow:hidden}.proc-accordion summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,auto);align-items:center;gap:12px;padding:14px 16px;-webkit-user-select:none;user-select:none;min-width:0}.proc-accordion summary::-webkit-details-marker{display:none}.proc-accordion-title{font-weight:800;font-size:14px;display:flex;flex-wrap:nowrap;gap:4px;align-items:center;min-width:0;overflow:hidden}.proc-accordion-title>span,.proc-accordion-title .proc-mat-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proc-accordion-sep{color:var(--muted);font-weight:600;flex-shrink:0}.proc-accordion-meta{display:flex;align-items:center;gap:10px;flex-shrink:0;min-width:150px;max-width:240px;justify-content:flex-end}.proc-accordion-meta .req-status{max-width:100%;overflow:hidden;text-align:center;white-space:normal;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.proc-accordion-chevron{color:var(--muted);font-size:12px;transition:transform .15s;line-height:1}.proc-accordion[open] .proc-accordion-chevron{transform:rotate(180deg)}.proc-accordion-body{padding:14px 16px 16px;border-top:1px solid var(--line)}.po-fields-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}.po-field{background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:8px}.po-field-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.po-field-val{font-size:13px;font-weight:700;margin-top:2px;color:var(--text)}.po-preview-box{background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:12px;font-size:12px;line-height:1.7;color:var(--text)}.po-preview-title{font-size:14px;font-weight:800;margin-bottom:6px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;min-width:0;color:var(--text)}.po-preview-title>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.po-actions{display:flex;gap:8px;margin-top:10px}.delivery-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:16px;margin-bottom:10px;box-shadow:0 4px 10px #0f172a0d}.delivery-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:4px}.delivery-card-main{flex:1;min-width:0}.delivery-card-meta{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.02em;line-height:1.2;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.delivery-card-title{font-weight:800;font-size:14px;color:var(--text);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.delivery-card-sub{font-size:12px;color:var(--muted);margin-top:3px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.delivery-card-status{flex-shrink:0;max-width:42%}.delivery-status-controls{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;justify-content:flex-end}.delivery-status-badge{white-space:nowrap}.delivery-status-select{min-width:0;max-width:100%;width:auto;font-size:12px;padding:6px 10px}.delivery-timeline{display:flex;align-items:center;gap:0;margin:14px 0 12px;overflow-x:auto;padding:2px 0}.delivery-card-foot{font-size:12px;color:var(--muted);line-height:1.35;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.delivery-card-foot-note{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.delivery-date-overdue{color:#dc2626}.delivery-overdue-tag{display:inline-block;font-size:10px;font-weight:700;color:#dc2626;background:#fee2e2;border:1px solid #fca5a5;border-radius:999px;padding:2px 8px;margin-left:4px;vertical-align:middle}.delivery-card-overdue{border-color:#ef4444;animation:delivery-overdue-pulse 2s ease-in-out infinite}@keyframes delivery-overdue-pulse{0%,to{box-shadow:0 0 0 1px #ef4444,0 4px 10px #ef44441f}50%{box-shadow:0 0 0 4px #ef444447,0 4px 14px #ef444438}}.dtl-step{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:80px}.dtl-dot{width:22px;height:22px;border-radius:999px;border:2px solid #e2e8f0;background:#fff;display:grid;place-items:center;font-size:10px;font-weight:700;color:#94a3b8}.dtl-label{font-size:10px;color:var(--muted);text-align:center;white-space:nowrap}.dtl-done .dtl-dot{background:var(--green);border-color:var(--green);color:#fff}.dtl-done .dtl-label{color:var(--green);font-weight:600}.dtl-active .dtl-dot{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 0 0 3px #16a34a33}.dtl-active .dtl-label{color:var(--brand);font-weight:700}.dtl-line{flex:1;height:2px;background:#e2e8f0;min-width:30px;margin-bottom:14px}.dtl-done-line{background:var(--green)}@media(max-width:720px){.rfq-cards-grid,.proc-feed-grid,.app-tile-grid,.proc-vendor-grid{grid-template-columns:1fr}.proc-workflow-bar{padding:10px 12px;gap:2px}.proc-wf-label{display:none}.po-fields-grid,.approval-summary-grid{grid-template-columns:1fr 1fr}.quote-offer-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"supplier action" "meta action";row-gap:4px}.quote-offer-supplier{grid-area:supplier}.quote-offer-meta{grid-area:meta}.quote-offer-action{grid-area:action;align-self:center}.quote-group-status{min-width:140px;max-width:48%}.proc-item-head,.app-tile-head,.rfq-card-top,.approval-card-top,.quote-group-head,.po-card-top,.proc-accordion summary{grid-template-columns:minmax(0,1fr) minmax(130px,48%)}.proc-item-head .req-status,.app-tile-head .req-status,.rfq-card-top .req-status,.approval-card-top .req-status,.po-card-top .req-status,.quote-group-status{min-width:130px;max-width:100%}#proc-rfq .proc-rfq-title{font-size:17px;font-weight:800;color:#0f172a;letter-spacing:-.01em}#proc-rfq .proc-section-heading{margin:12px 0 10px;padding:10px 12px;border-radius:12px;background:linear-gradient(90deg,#f8fafc 0%,var(--brand-soft) 100%);border:1px solid #e2e8f0;border-left:3px solid #1e293b}#proc-rfq .proc-section-heading-title{font-size:15px;font-weight:800;color:#0f172a}#proc-rfq .proc-section-heading-sub{font-size:12px;color:#64748b;font-weight:500}#proc-rfq .rfq-meta-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#334155}#proc-rfq .rfq-meta-value{font-size:12px;font-weight:600;color:#0f172a}#proc-rfq .rfq-meta-row{grid-template-columns:92px minmax(0,1fr);gap:8px}#rfqModal .clock-label{font-size:13px;font-weight:800;color:#0f172a}}.proj-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.proj-page-header .section-title{margin-bottom:3px}.proj-page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.proj-summary-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-bottom:20px;box-shadow:0 2px 8px #0f172a0a}.proj-summary-cell{background:var(--card);padding:16px 18px}.proj-summary-value{font-size:24px;font-weight:800;line-height:1.1;margin-bottom:4px}.proj-summary-label{font-size:12px;color:var(--muted)}.proj-accordion-list,.proj-cards-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:4px;padding-bottom:12px;align-items:start}#projCardsList.proj-accordion-list,#projCardsList.proj-cards-list{min-height:48px}.proj-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:20px;background:var(--card);box-shadow:0 2px 10px #0f172a0d;overflow:hidden;margin:0;transition:box-shadow .22s ease,border-color .22s ease,transform .22s ease;border-left:4px solid var(--line);min-width:0}.proj-card:not([open]){height:100%}.proj-card[open]{grid-column:1 / -1;box-shadow:0 14px 36px #0f172a1a;border-color:var(--brand-border);transform:none;z-index:2}.proj-card--track{border-left-color:var(--brand)}.proj-card--delayed{border-left-color:#ef4444}.proj-card--risk{border-left-color:#f59e0b}.proj-card:hover{box-shadow:0 8px 24px #0f172a14;transform:translateY(-1px)}.proj-card[open]:hover{transform:none}.proj-card-skeleton{pointer-events:none;opacity:.85}.proj-skeleton-line{display:block;border-radius:8px;background:linear-gradient(90deg,#eef2f7,#f8fafc,#eef2f7);background-size:200% 100%;animation:proj-skeleton-shimmer 1.2s ease-in-out infinite}.proj-skeleton-line--avatar{width:44px;height:44px;border-radius:14px;flex-shrink:0}.proj-skeleton-line--title{width:55%;height:16px;margin-top:10px}.proj-skeleton-line--pct{width:100%;height:10px;margin-top:14px;border-radius:999px}.proj-skeleton-line--badge{width:96px;height:24px;border-radius:999px;margin-top:12px}@keyframes proj-skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.proj-card summary.proj-summary-row{list-style:none;outline:none}.proj-card summary.proj-summary-row::-webkit-details-marker{display:none}button.proj-summary-row{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;border:0;background:transparent;text-align:left;font:inherit;color:inherit}.proj-summary-row{display:block;padding:0;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s;border-radius:20px;text-decoration:none}.proj-summary-row *{text-decoration:none}.proj-card:not([open]) .proj-summary-row{flex:1;display:flex;flex-direction:column}.proj-card[open]>.proj-summary-row{border-radius:20px 20px 0 0}.proj-summary-row:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.proj-summary-row:hover .proj-card-face{background:var(--soft)}.proj-card[open]>.proj-summary-row{border-bottom:1px solid #e2e8f0}.proj-card-face{padding:16px 18px 14px;background:var(--card)}.proj-card:not([open]) .proj-card-face{flex:1;display:flex;flex-direction:column}.proj-card:not([open]) .proj-card-face-main{flex-direction:row;align-items:flex-start;gap:12px;margin-bottom:0}.proj-card-identity{display:flex;align-items:flex-start;gap:12px;min-width:0;flex:1}.proj-card-avatar{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--brand-soft) 0%,var(--ok-soft) 100%);color:var(--brand-ink);font-size:18px;font-weight:800;display:grid;place-items:center;flex-shrink:0;border:1px solid var(--brand-border);margin-top:2px}.proj-card--delayed .proj-card-avatar{background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#b91c1c;border-color:#fecaca}.proj-card--risk .proj-card-avatar{background:linear-gradient(135deg,#fff7ed,#ffedd5);color:#c2410c;border-color:#fdba74}.proj-card-titles{min-width:0;display:flex;flex-direction:column;gap:6px;padding-top:2px}.proj-card-open-cue{display:flex;align-items:center;gap:8px;flex-shrink:0;padding-top:4px}.proj-card:not([open]) .proj-card-open-cue{margin-top:auto;padding-top:12px;border-top:1px solid #e2e8f0;justify-content:center;width:100%}.proj-card[open] .proj-card-face{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto;gap:12px 12px;align-items:start;flex:none}.proj-card[open] .proj-card-face-main{grid-column:1;grid-row:1;margin-bottom:0}.proj-card[open] .proj-card-open-cue{grid-column:2;grid-row:1;align-self:start;margin-top:0;padding-top:4px;border-top:none;justify-content:flex-end}.proj-card[open] .proj-card-progress-row{grid-column:1 / -1;grid-row:2}.proj-card[open] .proj-summary-badges{grid-column:1 / -1;grid-row:3;margin-top:10px}.proj-open-hint{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.proj-chevron{font-size:18px;font-weight:700;color:#64748b;transition:transform .22s ease;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:#f1f5f9;line-height:1}.proj-card[open] .proj-chevron,.proj-chevron.open{transform:rotate(90deg);background:var(--ok-soft);color:var(--brand-ink)}.proj-summary-title{font-size:16px;font-weight:800;color:var(--text);line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.proj-summary-loc{font-size:12px;color:var(--muted);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.proj-card-progress-row{margin-bottom:10px;margin-top:12px;padding-top:14px;border-top:1px solid #eef2f7}.proj-card[open] .proj-card-progress-row{margin-top:0;padding-top:14px}.proj-progress-bar-wrap{display:flex;flex-direction:column;gap:6px}.proj-progress-track{width:100%;height:4px;background:#e2e8f0;border-radius:999px;overflow:hidden}.proj-progress-track--lg{height:5px;background:#eef2f7}.proj-progress-fill{height:100%;border-radius:999px;transition:width .3s ease}.proj-progress-label{font-size:12px;font-weight:700}.proj-progress-mini{display:flex;align-items:center;gap:6px;width:88px;max-width:88px;flex-shrink:0}.proj-progress-pct{font-size:11px;font-weight:800;min-width:28px;flex-shrink:0;text-align:right}.proj-summary-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-start}.proj-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:4px 10px;border-radius:999px;font-weight:700;white-space:nowrap;border:1px solid transparent;text-decoration:none}.proj-badge-green{background:var(--ok-soft);border-color:var(--brand-border);color:var(--brand-ink)}.proj-badge-red{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.proj-badge-amber{background:#ffedd5;border-color:#fdba74;color:#9a3412}.proj-badge-gray{background:#f1f5f9;border-color:#cbd5e1;color:#475569}.proj-accordion-body{border-top:none;background:var(--soft);border-radius:0 0 20px 20px}.proj-expanded-intro{padding:14px 18px 0}.proj-expanded-label{font-size:13px;font-weight:800;color:var(--text)}.proj-expanded-hint{font-size:12px;color:var(--muted);margin-top:3px;line-height:1.45}.proj-detail-head{padding:14px 18px 12px;margin:12px 18px 0;background:var(--soft);border:1px solid var(--line);border-radius:16px;box-shadow:0 1px 2px #0f172a08}.proj-detail-head-top{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.proj-edit-details-btn{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:7px 14px;font-size:11px;font-weight:700;color:var(--text);cursor:pointer;white-space:nowrap;flex-shrink:0;justify-self:end}.proj-edit-details-btn:hover{background:var(--soft);border-color:var(--brand-border)}.proj-dates-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px;align-items:center;width:100%;min-width:0}.proj-dates-row:not(:has(.proj-edit-details-btn)){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.proj-date-chip{font-size:11px;color:var(--muted);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:6px 12px;box-shadow:0 1px 2px #0f172a08;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proj-date-chip strong{font-size:12px;font-weight:800;color:var(--text)}.proj-delay-row{display:flex}.proj-meta-row{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;color:var(--muted);font-size:12px;padding-top:2px}.proj-meta-row strong{color:var(--text)}.proj-meta-item{display:inline-flex;align-items:center;gap:6px}.proj-meta-workers{gap:8px}.proj-add-crew-btn{font-size:11px;font-weight:700;padding:5px 11px;border-radius:999px;border:1px solid var(--brand-border);background:var(--brand-soft);color:var(--brand-ink);cursor:pointer;white-space:nowrap;line-height:1.2}.proj-add-crew-btn:hover{background:var(--btn-hover-tinted);border-color:var(--brand-border)}.proj-meta-highlight{color:var(--brand)!important;font-weight:700}.proj-compact-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px 18px 14px;background:transparent;border:none}.proj-compact-stat{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;box-shadow:0 1px 2px #0f172a08}.proj-compact-val{font-size:20px;font-weight:900;margin-bottom:2px;line-height:1}.proj-compact-val.blue{color:var(--brand)}.proj-compact-label{font-size:11px;color:var(--muted);font-weight:600}.proj-card-tabs{display:flex;gap:6px;padding:0 18px 12px;background:transparent;border-bottom:none;overflow-x:auto;flex-wrap:nowrap}.proj-card-tab{flex:0 0 auto;min-width:auto;padding:8px 14px;font-size:12px;font-weight:700;color:var(--muted);cursor:pointer;text-align:center;border:1px solid var(--line);border-radius:999px;background:var(--card);transition:all .15s;white-space:nowrap}.proj-card-tab:hover{background:var(--soft);border-color:var(--line);color:var(--text)}.proj-card-tab.active{color:var(--text);border-color:var(--brand-border);background:var(--brand-soft);box-shadow:none}.proj-tab-count{font-size:10px;background:#fee2e2;color:#991b1b;border:1px solid #fca5a5;border-radius:999px;padding:1px 6px;margin-left:4px}.proj-card-body{padding:0 18px 18px;background:transparent}.proj-card-body>[data-proj-panel]{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 16px;box-shadow:0 1px 3px #0f172a0a}.proj-milestone-list.compact{gap:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--card)}.proj-milestone-list.compact .proj-milestone{border:none;border-bottom:1px solid var(--line);border-radius:0;background:var(--card);padding:9px 12px}.proj-milestone-list.compact .proj-milestone:last-child{border-bottom:none}.proj-milestones-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.proj-status-badge{font-size:11px;font-weight:700;border-radius:999px;padding:4px 10px;border:1px solid transparent}.proj-overview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.proj-ov-stat{border:1px solid var(--line);border-radius:14px;padding:12px;text-align:center;background:#f8fbff}.proj-ov-val{font-size:22px;font-weight:800;margin-bottom:2px}.proj-ov-lbl{font-size:11px;color:var(--muted)}.proj-info-row{display:flex;gap:8px;flex-wrap:wrap}.proj-info-pill{font-size:12px;background:#f1f5f9;border:1px solid var(--line);border-radius:999px;padding:5px 12px;color:var(--text)}.proj-milestone-list{display:flex;flex-direction:column;gap:8px}.proj-milestone{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--soft);color:var(--text)}.proj-ms-dot{width:12px;height:12px;border-radius:999px;flex-shrink:0}.proj-ms-body{flex:1}.proj-ms-name{font-size:13px;font-weight:600}.proj-ms-date{font-size:11px;color:var(--muted);margin-top:2px}.proj-ms-badge{font-size:11px;font-weight:600;border-radius:999px;padding:3px 9px;border:1px solid transparent;white-space:nowrap}.ms-done{background:var(--ok-soft);border-color:var(--brand-border);color:var(--brand-ink)}.ms-progress{background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-ink)}.ms-delayed{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.ms-upcoming{background:#f1f5f9;border-color:#cbd5e1;color:#475569}.proj-delay-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;margin-bottom:12px;font-size:13px;font-weight:500}.proj-doc-section{margin-bottom:14px}.proj-doc-section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:8px}.proj-doc-list{display:flex;flex-direction:column;gap:6px}.proj-doc-row{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:#f8fbff}.proj-doc-icon{font-size:13px;font-weight:700;border-radius:5px;padding:3px 6px;flex-shrink:0}.proj-doc-info{flex:1;min-width:0}.proj-doc-name{font-size:13px;font-weight:600}.proj-doc-meta{font-size:11px;color:var(--muted);margin-top:1px}.proj-doc-action{font-size:11px;border:1px solid var(--line);border-radius:999px;padding:4px 10px;background:#fff;cursor:pointer;color:var(--muted)}.proj-media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.proj-media-thumb{border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--soft);aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:box-shadow .15s}.proj-media-thumb:hover{box-shadow:0 6px 18px #0f172a1f}.proj-media-thumb-icon{font-size:28px}.proj-media-thumb-name{font-size:11px;color:var(--muted);text-align:center;padding:0 8px}.proj-media-thumb-date{font-size:10px;color:var(--muted)}.proj-video-thumb{background:#111827}.proj-video-thumb .proj-media-thumb-name{color:#94a3b8}@media(max-width:1100px){.proj-accordion-list,.proj-cards-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:960px){.proj-summary-bar{grid-template-columns:repeat(2,1fr)}.proj-compact-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.proj-page-actions{width:100%}.proj-overview-grid,.proj-media-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.proj-accordion-list,.proj-cards-list{grid-template-columns:1fr}}@media(max-width:600px){.proj-summary-bar{grid-template-columns:repeat(2,1fr)}.proj-compact-stats{grid-template-columns:1fr 1fr}.proj-summary-cell{padding:12px}.proj-page-actions .action{font-size:11px;padding:7px 10px}.proj-card-body{padding:0 12px 12px}.proj-detail-head{margin:10px 12px 0;padding:12px}.proj-card-tabs{padding:0 12px 10px}.proj-expanded-intro{padding:12px 12px 0}.proj-card-face{padding:14px}.proj-card-tabs .proj-card-tab{font-size:11px;padding:7px 10px}.proj-overview-grid,.proj-media-grid{grid-template-columns:1fr 1fr}.proj-card-open-cue .proj-open-hint{display:none}.proj-card:not([open]) .proj-card-open-cue{display:none}.proj-card-titles{flex-direction:column;align-items:flex-start;gap:4px}.proj-summary-title{flex:none;max-width:100%;-webkit-line-clamp:2}.proj-summary-loc{flex:none;max-width:100%;margin-top:0}.proj-card:not([open]) .proj-card-face{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:10px;row-gap:10px;align-items:start}.proj-card:not([open]) .proj-card-face-main{grid-column:1;grid-row:1;margin:0}.proj-card:not([open]) .proj-summary-badges{grid-column:2;grid-row:1;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:6px;margin:0;padding-top:2px;align-self:center}.proj-card:not([open]) .proj-card-progress-row{grid-column:1 / -1;grid-row:2;margin:0}.proj-card[open] .proj-card-face{position:relative;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:10px;row-gap:10px}.proj-card[open] .proj-card-face-main{grid-column:1;grid-row:1;padding-right:0}.proj-card[open] .proj-summary-badges{grid-column:2;grid-row:1;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:6px;margin:0;padding-top:2px;padding-right:36px;align-self:center}.proj-card[open] .proj-card-open-cue{position:absolute;top:14px;right:14px;grid-column:auto;grid-row:auto;margin:0;padding:0;border:none;z-index:1}.proj-card[open] .proj-card-progress-row{grid-column:1 / -1;grid-row:2;margin:0}.proj-summary-badges{flex-wrap:nowrap}.proj-dates-row{gap:6px}.proj-date-chip{padding:6px 8px;font-size:10px}.proj-date-chip strong{font-size:11px}.proj-edit-details-btn{padding:6px 10px;font-size:10px}}.req-filter-row{display:flex;gap:6px;flex-wrap:wrap}.req-filter-btn{border:1px solid var(--line);border-radius:999px;background:#f8fbff;color:var(--muted);padding:6px 12px;font-size:12px;cursor:pointer;transition:all .15s;font-weight:500;display:inline-flex;align-items:center;justify-content:center}.req-filter-btn.active{background:var(--brand-soft);border-color:var(--brand-border);color:var(--text);font-weight:700}.req-row{display:flex;align-items:center;gap:12px;padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:#f8fbff;margin-bottom:8px;transition:box-shadow .15s}.req-row:last-child{margin-bottom:0}.req-row:hover{box-shadow:0 4px 12px #0f172a14}.req-type-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:16px;flex-shrink:0}.req-body{flex:1;min-width:0}.req-title{font-size:13px;font-weight:700;color:var(--text)}.req-meta{font-size:12px;color:var(--muted);margin-top:2px}.req-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.req-status{font-size:11px;font-weight:600;border-radius:999px;padding:3px 10px;border:1px solid transparent;white-space:nowrap}.rs-draft{background:#f1f5f9;border-color:#cbd5e1;color:#475569}.rs-pending,.rs-submitted{background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-ink)}.rs-approved{background:var(--ok-soft);border-color:var(--brand-border);color:var(--brand-ink)}.rs-rejected{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.rs-completed{background:#f3e8ff;border-color:#d8b4fe;color:#6b21a8}.req-approve-btn{font-size:11px;font-weight:600;border-radius:999px;padding:5px 10px;border:1px solid var(--brand-border);background:var(--ok-soft);color:var(--brand-ink);cursor:pointer;transition:filter .15s ease,box-shadow .15s ease}.req-approve-btn.secondary{border-color:#cbd5e1;background:#f8fafc;color:#334155}.req-approve-btn.secondary:hover:not(:disabled){background:#e2e8f0}.req-approve-btn:hover:not(:disabled){filter:brightness(.93);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand-border) 55%,transparent)}.req-approve-btn:active:not(:disabled){filter:brightness(.88)}.payroll-member-card__actions .req-approve-btn:hover:not(:disabled),.payroll-card-actions .req-approve-btn:hover:not(:disabled){filter:brightness(.9)}.quote-view-list{display:flex;flex-direction:column;gap:10px}.quote-view-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#f8fbff;cursor:pointer;font-size:13px}.quote-view-item:hover{background:var(--brand-soft);border-color:var(--brand-border)}#viewQuoteOverlay.clock-modal-overlay--center.open{display:grid;place-items:center;padding:24px;background:#0f172a6b;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}#viewQuoteModal.view-quote-modal.clock-modal.open,#viewQuoteOverlay.clock-modal-overlay--center~#viewQuoteModal.clock-modal.open{top:50%;left:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);width:min(560px,94vw);height:auto;max-height:min(86dvh,calc(100dvh - 48px));border-radius:20px;border:1px solid #e8e4dc;box-shadow:0 24px 60px #0f172a33}#viewQuoteModal .clock-modal-header{padding:18px 20px 14px}#viewQuoteModal .clock-modal-title{font-size:18px;font-weight:800;letter-spacing:-.02em;color:#1f1c17}#viewQuoteModal .clock-modal-site{font-size:12px;color:#8a8478;margin-top:4px}#viewQuoteModal .clock-modal-body{padding:16px 20px 20px;gap:12px}#viewQuoteModal .quote-view-item-wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid #e8e4dc;border-radius:14px;background:#faf9f7}#viewQuoteModal .quote-view-item{width:auto;flex:1;min-width:0;padding:0;border:0;background:transparent;border-radius:0}#viewQuoteModal .quote-view-item:hover{background:transparent;border-color:transparent}#viewQuoteModal .quote-view-item strong{display:block;font-size:14px;font-weight:800;color:#1f1c17;line-height:1.3}#viewQuoteModal .quote-view-item__file,#viewQuoteModal .quote-view-item span{display:block;font-size:12px;color:#64748b;word-break:break-word}#viewQuoteModal .quote-view-item__date{font-size:11px;color:#8a8478}#viewQuoteModal .view-quote-vendor-btn,.view-quote-vendor-btn{flex:0 0 auto;height:34px;padding:0 14px;border-radius:999px;border:1px solid var(--accent-base,var(--brand,#8a6d2e));background:var(--accent-base,var(--brand,#8a6d2e));color:#fff;font-size:12px;font-weight:750;cursor:pointer;white-space:nowrap;box-shadow:0 1px 3px color-mix(in srgb,var(--accent-base,var(--brand,#8a6d2e)) 28%,transparent)}#viewQuoteModal .view-quote-vendor-btn:hover,.view-quote-vendor-btn:hover{filter:brightness(.96)}.quote-preview-back{display:inline-flex;align-items:center;gap:4px;margin-bottom:10px;padding:0;border:none;background:transparent;color:#0369a1;font-size:12px;font-weight:600;cursor:pointer}.quote-preview-back:hover{text-decoration:underline}.quote-preview-box{min-height:120px}.quote-preview-actions{display:flex;gap:8px;margin-top:10px}.vendor-status-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:700;border-radius:999px;padding:3px 10px;border:1px solid}.vendor-status-badge.active{background:var(--ok-soft);border-color:var(--brand-border);color:var(--brand-ink)}.vendor-status-badge.inactive{background:#f1f5f9;border-color:#cbd5e1;color:#64748b}.vendor-edit-btn{font-size:11px;font-weight:600;border-radius:8px;padding:4px 10px;border:1px solid var(--brand-border);background:var(--brand-soft);color:#0369a1;cursor:pointer}.vendor-edit-btn:hover{background:var(--btn-hover-tinted)}.req-reject-btn{font-size:11px;font-weight:600;border-radius:999px;padding:5px 10px;border:1px solid #fca5a5;background:#fee2e2;color:#991b1b;cursor:pointer;transition:background .15s}.req-reject-btn:hover:not(:disabled){background:#fecaca}.req-approve-btn:disabled,.req-reject-btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.eng-req-card{margin-top:12px}.eng-req-head{margin-bottom:12px;align-items:flex-start;gap:12px}.eng-req-panel-title{font-weight:700;display:flex;align-items:center;gap:8px}.eng-req-head-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;min-width:0}.eng-req-filter-inner{display:inline-flex;align-items:center;gap:6px}.eng-req-empty{text-align:center;padding:24px;color:var(--muted);font-size:13px}.eng-req-list{display:flex;flex-direction:column;gap:10px}.eng-req-list-footer{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid #e2e8f0}.eng-req-page-summary{flex:1 1 auto;min-width:0;font-size:12px;color:#64748b;font-weight:500;text-align:left;line-height:1.3}.eng-req-pagination{display:flex;gap:4px;align-items:center;flex:0 0 auto;flex-wrap:nowrap;margin-left:auto;justify-content:flex-end}.eng-req-page-btn{min-width:30px;height:30px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:12px;font-weight:700;color:var(--text);cursor:pointer;padding:0 8px}.eng-req-page-btn.active{background:color-mix(in srgb,var(--brand) 78%,black 22%);border-color:color-mix(in srgb,var(--brand) 78%,black 22%);color:#fff}.eng-req-page-btn:disabled{opacity:.4;cursor:not-allowed}.proc-req-list-footer{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.proc-req-page-summary{flex:1 1 auto;min-width:0;font-size:12px;color:var(--muted);font-weight:500;text-align:left;line-height:1.3}.proc-req-pagination{display:flex;gap:4px;align-items:center;flex:0 0 auto;flex-wrap:nowrap;margin-left:auto;justify-content:flex-end}.proc-req-page-btn{min-width:30px;height:30px;border:1px solid var(--line);border-radius:8px;background:var(--card);font-size:12px;font-weight:700;color:var(--text);cursor:pointer;padding:0 8px;transition:background .15s,border-color .15s,color .15s}.proc-req-page-btn:hover:not(:disabled):not(.active){background:var(--soft);border-color:var(--line)}.proc-req-page-btn.active{background:color-mix(in srgb,var(--brand) 78%,black 22%);border-color:color-mix(in srgb,var(--brand) 78%,black 22%);color:#fff}.proc-req-page-btn:disabled{opacity:.4;cursor:not-allowed}.proc-rfq-head,.proc-requests-head{align-items:center}.proc-rfq-head-actions,.proc-requests-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-shrink:0}#proc-create-rfq-btn,#raise-procurement-btn{white-space:nowrap;align-self:center}.eng-req-row{display:flex;align-items:center;gap:12px;margin-bottom:0;padding:0 0 0 14px;border:1px solid var(--line);border-radius:14px;background:var(--card);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;overflow:hidden}.eng-req-row>.icon-badge{flex-shrink:0;align-self:center}.eng-req-row:hover{transform:translateY(-1px);box-shadow:0 8px 22px #0f172a14;border-color:var(--brand-border)}.eng-req-row:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}.eng-req-row-pending{border-color:var(--brand-border);background:linear-gradient(180deg,var(--card) 0%,var(--brand-soft) 100%)}.eng-req-row-rejected{border-color:#7f1d1d;background:linear-gradient(180deg,var(--card) 0%,rgba(127,29,29,.18) 100%)}.eng-req-row-content{flex:1;min-width:0;padding:14px 0}.eng-req-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:5px}.eng-req-id{font-weight:700;color:var(--text);background:var(--soft);border-radius:999px;padding:2px 8px;font-size:10px}.eng-req-type-pill{font-size:10px;font-weight:600;color:var(--brand-ink);background:var(--brand-soft);border:1px solid var(--brand-border);border-radius:999px;padding:2px 8px}.eng-req-dates{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:8px;font-size:12px;color:var(--muted)}.eng-req-row-reject{margin-top:10px;padding:10px 12px 11px 14px;border-radius:12px;background:linear-gradient(90deg,#fef2f2,#fff7f7);border:1px solid #fecaca;border-left:4px solid #ef4444;max-width:min(100%,640px)}.eng-req-reject-head{display:flex;align-items:center;gap:8px;margin-bottom:5px}.eng-req-reject-icon{width:18px;height:18px;border-radius:999px;background:#fee2e2;color:#b91c1c;font-size:12px;font-weight:800;display:grid;place-items:center;flex-shrink:0}.eng-req-row-reject-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#b91c1c}.eng-req-row-reject-text{display:block;font-size:13px;line-height:1.5;color:#7f1d1d;font-weight:500}.eng-req-priority{font-size:10px;font-weight:700;border-radius:999px;padding:2px 8px;text-transform:uppercase;letter-spacing:.03em}.eng-req-priority-urgent{color:#b91c1c;background:#fee2e2}.eng-req-priority-normal{color:var(--muted);background:var(--soft)}.eng-req-priority-low{color:var(--brand-ink);background:var(--ok-soft)}.eng-req-status{font-size:10px;font-weight:700;border-radius:999px;padding:4px 10px;text-transform:uppercase;letter-spacing:.04em}.eng-req-status-pending{color:var(--brand-ink);background:var(--brand-soft);border:1px solid var(--brand-border)}.eng-req-status-approved{color:var(--brand-ink);background:var(--ok-soft);border:1px solid var(--brand-border)}.eng-req-status-rejected{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca}.eng-req-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:14px 14px 14px 0;cursor:default;flex-shrink:0}.eng-req-project-link{border:none;background:none;padding:0;margin:0;font:inherit;font-weight:800;color:var(--brand);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.eng-req-project-link:hover{color:var(--brand-ink)}.eng-req-drawing-hint{margin:8px 0 0;font-size:12px;line-height:1.45;color:#64748b;font-weight:600}.eng-req-drawing-ready{margin:8px 0 0;font-size:12px;line-height:1.45;color:var(--brand-ink);font-weight:600}.eng-req-approve-confirm{display:flex;gap:12px;align-items:flex-start;padding:4px 0 8px}.eng-req-approve-desc{margin:6px 0 0;font-size:14px;font-weight:700;color:var(--text);line-height:1.4}.eng-req-approve-meta{margin:6px 0 0;font-size:12px;color:var(--muted)}.eng-req-approve-flow{margin:10px 0 0;font-size:12px;line-height:1.45;color:var(--brand-ink);font-weight:600}.eng-req-actions .req-approve-btn:disabled{opacity:.45;cursor:not-allowed}.eng-req-manager-link{margin-top:10px;text-align:right}.eng-req-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a85;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:12000}.eng-req-modal{width:min(640px,94vw);max-height:min(90vh,820px);overflow:hidden;display:flex;flex-direction:column;background:var(--card);border-radius:20px;border:1px solid var(--line);box-shadow:0 28px 70px #0f172a3d}.eng-req-view-modal{background:var(--soft)}.eng-req-modal-sm{width:min(480px,94vw)}.eng-req-modal-head{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:10px 12px;padding:18px 20px 16px;border-bottom:1px solid var(--line);background:var(--card)}.eng-req-modal-title-row{display:flex;align-items:flex-start;gap:12px;grid-column:1;grid-row:1}.eng-req-view-head-badges{display:flex;flex-wrap:wrap;gap:8px;grid-column:1;grid-row:2;padding-left:54px}.eng-req-modal-close{grid-column:2;grid-row:1 / span 2;align-self:start;border:none;background:var(--soft);color:var(--muted);font-size:20px;line-height:1;cursor:pointer;padding:6px 10px;border-radius:10px}.eng-req-modal-close:hover{background:var(--line);color:var(--text)}.eng-req-modal-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;flex-shrink:0}.eng-req-modal-icon-material{background:var(--brand-soft);color:var(--brand-ink)}.eng-req-modal-icon-manpower{background:var(--brand-soft);color:var(--brand)}.eng-req-modal-icon-drawing{background:var(--brand-soft);color:var(--brand-ink)}.eng-req-modal-icon-reject{background:#fef2f2;color:#dc2626;font-size:18px;font-weight:800}.eng-req-modal-title{font-size:18px;font-weight:700;color:var(--text);line-height:1.2}.eng-req-modal-sub{font-size:12px;color:var(--muted);margin-top:4px;font-weight:600}.eng-req-modal-body{padding:16px 20px;display:flex;flex-direction:column;gap:14px;overflow:auto}.eng-req-view-body{gap:14px}.eng-req-view-hero{padding:16px 18px;border-radius:16px;background:var(--card);border:1px solid var(--brand-border);box-shadow:none}.eng-req-view-hero-label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--brand);margin-bottom:8px}.eng-req-view-hero-text{margin:0;font-size:16px;line-height:1.55;color:var(--text);font-weight:600}.eng-req-view-sections{display:flex;flex-direction:column;gap:12px}.eng-req-view-section{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}.eng-req-view-section-title{margin:0;padding:11px 16px;font-size:12px;font-weight:700;color:var(--text);background:var(--soft);border-bottom:1px solid var(--line);letter-spacing:.02em}.eng-req-view-spec{margin:0}.eng-req-view-spec-row{display:grid;grid-template-columns:minmax(120px,34%) 1fr;gap:8px 16px;padding:12px 16px;border-bottom:1px solid var(--line);align-items:start}.eng-req-view-spec-row:last-child{border-bottom:none}.eng-req-view-spec-row-full{grid-template-columns:1fr}.eng-req-view-spec-row-full .eng-req-view-spec-label{margin-bottom:2px}.eng-req-view-spec-label{margin:0;font-size:12px;font-weight:600;color:var(--muted);line-height:1.4}.eng-req-view-spec-value{margin:0;font-size:14px;font-weight:600;color:var(--text);line-height:1.5;word-break:break-word}.eng-req-view-reject-box{padding:14px 16px 15px;border-radius:14px;background:linear-gradient(90deg,#fef2f2,#fff);border:1px solid #fecaca;border-left:4px solid #ef4444;box-shadow:0 1px #ef444414}.eng-req-view-reject-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#b91c1c}.eng-req-view-reject-text{margin:0;font-size:14px;line-height:1.55;color:#7f1d1d;font-weight:500}.eng-req-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px 18px;border-top:1px solid var(--line);background:var(--card)}.eng-issue-modal-row{border:1px solid var(--line);border-radius:16px;background:var(--card);padding:14px 16px;display:flex;flex-direction:column;gap:12px;cursor:pointer;transition:box-shadow .15s ease,border-color .15s ease;color:var(--text)}.eng-issue-modal-row:hover{border-color:var(--brand-border);box-shadow:0 8px 22px #0f172a14}.eng-issue-modal-title{font-size:14px;font-weight:700;color:var(--text);line-height:1.35}.eng-issue-modal-desc{margin:8px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}.eng-issue-modal-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.eng-issue-confirm-title{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text);line-height:1.4}.eng-req-view-close-btn{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:12px;padding:9px 18px;font-size:13px;font-weight:600;cursor:pointer}.eng-req-view-close-btn:hover{background:var(--soft)}.eng-req-reject-body{padding-bottom:0}.eng-req-reject-field{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600;color:var(--text)}.eng-req-reject-field textarea{border:1px solid var(--line);border-radius:12px;padding:12px 14px;font:inherit;font-size:13px;font-weight:500;line-height:1.5;color:var(--text);background:var(--card);resize:vertical;min-height:110px;outline:none;box-shadow:none;transition:border-color .15s ease,box-shadow .15s ease}.eng-req-reject-field textarea::placeholder{color:var(--muted);font-weight:500}.eng-req-reject-field textarea:hover{border-color:var(--brand-border)}.eng-req-reject-field textarea:focus{border-color:#f87171;box-shadow:0 0 0 3px #f871712e;outline:none}.eng-req-reject-field textarea:disabled{opacity:.65;cursor:not-allowed;background:var(--soft)}.eng-req-reject-error{font-size:12px;font-weight:600;color:#b91c1c}.eng-req-reject-footer{margin:0;padding:14px 20px 18px;border-top:1px solid var(--line);background:var(--soft)}.eng-req-modal-footer .qa-btn.eng-req-reject-submit,.qa-btn.eng-req-reject-submit{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.eng-req-modal-footer .qa-btn.eng-req-reject-submit:hover:not(:disabled),.qa-btn.eng-req-reject-submit:hover:not(:disabled){background:#fecaca;border-color:#f87171;color:#7f1d1d}.eng-req-modal-footer .qa-btn.eng-req-reject-submit:disabled,.qa-btn.eng-req-reject-submit:disabled{opacity:.45;cursor:not-allowed}.acc-bills-modal{width:min(980px,96vw)}.acc-bills-table-wrap{max-height:min(58vh,520px);overflow:auto;border:1px solid #e2e8f0;border-radius:14px}.acc-bills-table{width:100%;border-collapse:collapse;font-size:12px}.acc-bills-table th{position:sticky;top:0;background:#f8fafc;z-index:1;text-align:left;padding:10px 12px;font-size:11px;font-weight:700;color:#64748b;border-bottom:1px solid #e2e8f0;white-space:nowrap}.acc-bills-table td{padding:10px 12px;border-bottom:1px solid #f1f5f9;vertical-align:top;color:#0f172a}.acc-bills-table tr:last-child td{border-bottom:none}.acc-bill-actions{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.acc-bill-reject-note{margin-top:6px;font-size:11px;line-height:1.4;color:#991b1b;max-width:180px}@media(max-width:720px){.delivery-card{padding:12px;border-radius:14px}.delivery-card-top{gap:8px;margin-bottom:2px}.delivery-card-title{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-line-clamp:unset;display:block}.delivery-card-sub{font-size:11px}.delivery-card-status{max-width:38%}.delivery-status-select{font-size:11px;padding:5px 8px}.delivery-timeline{margin:10px 0 8px}.dtl-step{min-width:64px}.eng-req-view-spec-row{grid-template-columns:1fr}.eng-req-view-head-badges{padding-left:0}.eng-req-head{flex-direction:column;align-items:stretch}.eng-req-head .req-filter-row{display:flex;flex-wrap:nowrap;gap:4px;overflow:visible;width:100%;padding:0;margin:0}.eng-req-head .req-filter-row::-webkit-scrollbar{display:none}.eng-req-head .req-filter-btn{flex:1 1 0;min-width:0;white-space:nowrap;justify-content:center;text-align:center;padding:6px 4px;font-size:11px}.eng-req-head .eng-req-filter-inner{justify-content:center;gap:0;width:100%}.eng-req-head .eng-req-filter-inner .icon-badge,.eng-req-head .eng-req-filter-inner .app-icon{display:none}.eng-req-row{flex-wrap:wrap;align-items:flex-start;padding:14px 16px;gap:12px}.eng-req-row>.icon-badge{align-self:flex-start;margin-top:2px}.eng-req-row-content{padding:0;flex:1 1 calc(100% - 44px);min-width:0}.eng-req-actions{flex:1 1 100%;width:100%;justify-content:flex-end;padding:10px 0 0;margin:0;border-top:1px solid #eef2f7;gap:8px}.eng-req-row-reject{max-width:100%}.eng-req-manager-link{text-align:left}.eng-req-manager-link .qa-btn{width:100%;justify-content:center}}.role-badge{font-size:12px;font-weight:700;border-radius:999px;padding:6px 14px;border:1px solid var(--brand-border);background:var(--brand-soft);color:var(--brand-ink);align-self:flex-start}.dash-qa-row{display:flex;gap:8px;flex-wrap:wrap}.qa-btn{display:flex;align-items:center;gap:6px;padding:9px 14px;border-radius:999px;border:1px solid var(--line);background:#f8fbff;color:var(--text);font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.qa-btn:hover{background:var(--btn-hover-tinted);border-color:var(--brand-border)}.qa-btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}.qa-btn-primary:hover{background:var(--btn-hover-solid);border-color:var(--btn-hover-solid);color:#fff}@media(max-width:720px){.dash-qa-row{gap:6px}.qa-btn{font-size:11px;padding:7px 10px}}.ds-site-btn-row{display:flex;gap:6px;margin-top:auto}.ds-clock-btn{background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-ink);font-weight:600}.ds-clock-btn:hover{background:var(--btn-hover-tinted)}.clock-modal-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a47;z-index:10050;overflow:hidden;overscroll-behavior:none}.clock-modal-overlay.open{display:flex;justify-content:flex-end;align-items:stretch;animation:admin-sheet-fade .16s ease-out}.clock-modal-overlay.modal-nested{z-index:10060;background:#0f172a80}.clock-modal-overlay--center.open{display:grid;place-items:center;padding:20px;background:#0f172a6b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:none}.clock-modal{display:none;position:fixed;top:0;right:0;left:auto;bottom:0;transform:translate(100%);width:min(440px,100vw);height:100%;max-height:100dvh;background:#fff;border-radius:0;border-left:1px solid #e8e4dc;box-shadow:-18px 0 48px #0f172a24;z-index:10051;flex-direction:column;overflow:hidden;transition:transform .22s cubic-bezier(.22,1,.36,1)}.clock-modal.open{display:flex;transform:translate(0)}.clock-modal.modal-nested{z-index:10061}.clock-modal-overlay--center+.clock-modal.open,.clock-modal-overlay--center~.clock-modal.open,#procConfirmModal.clock-modal.open{top:50%;left:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);width:min(420px,94vw);height:auto;max-height:min(92dvh,calc(100dvh - 32px));border-radius:22px;border:1px solid var(--line);box-shadow:0 24px 60px #0f172a2e;animation:none}.clock-modal--wide{width:min(560px,100vw)}#addVendorModal.clock-modal.open,#uploadQuoteModal.clock-modal.open{width:min(480px,100vw)}#rfqModal.clock-modal.open{width:min(520px,100vw)}@media(max-width:640px){.clock-modal.open,.clock-modal--wide.open,#addVendorModal.clock-modal.open,#uploadQuoteModal.clock-modal.open,#rfqModal.clock-modal.open{width:100vw}}#addVendorFormWrap{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}#addVendorModal .clock-modal-body{flex:1;min-height:0;overflow-y:auto}.clock-modal-body .fm-time-12h{width:100%}.clock-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 20px;border-bottom:1px solid #ece8e1;background:#fff;flex-shrink:0}.clock-modal-title{font-size:16px;font-weight:700;color:#1f1c17;letter-spacing:-.01em}.clock-modal-site{font-size:12px;color:#8a8478;margin-top:4px;line-height:1.45}.clock-modal-close{width:30px;height:30px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;font-size:20px;line-height:1;font-weight:600;color:#64748b;display:grid;place-items:center;flex-shrink:0}.clock-modal-close:hover{background:#f8fafc;color:#334155}.clock-modal-close:empty:before{content:"×"}.clock-modal-body{padding:18px 20px;display:flex;flex-direction:column;gap:14px;overflow-y:auto;flex:1;min-height:0}.clock-modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:14px 20px;border-top:1px solid #ece8e1;background:#fff;flex-shrink:0;margin-top:auto}.clock-modal-success{display:none;padding:32px 20px;text-align:center;flex-direction:column;align-items:center;gap:8px}.clock-modal-success.show{display:flex}.clock-success-icon{font-size:40px}.clock-success-title{font-size:18px;font-weight:800;color:var(--green)}.clock-success-sub{font-size:13px;color:var(--muted);line-height:1.5}.clock-field{display:flex;flex-direction:column;gap:5px}.clock-label{font-size:12px;font-weight:600;color:var(--text)}.clock-input{border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:13px;color:var(--text);outline:none;background:#f8fbff;transition:border-color .15s}.clock-input:focus{border-color:var(--brand-border);background:#fff}.clock-row-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.clock-submit{background:var(--brand-soft);border:1px solid var(--brand-border);border-radius:999px;color:var(--brand-ink);font-size:14px;font-weight:700;padding:12px;cursor:pointer;transition:background .15s}.clock-submit:hover{background:var(--btn-hover-tinted)}.mgr-tab-bar{display:flex;gap:6px;flex-wrap:wrap;background:var(--soft);border:1px solid var(--line);border-radius:16px;padding:10px 12px;margin-bottom:14px}.mgr-tab{border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--muted);padding:7px 13px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.mgr-tab.active,.mgr-tab:focus{background:var(--brand-soft);border-color:var(--brand-border);color:var(--text);outline:none}.mgr-panel{display:none}.mgr-panel.active{display:block}.enq-kanban{display:flex;gap:10px;overflow-x:auto;padding-bottom:8px}.enq-kanban-col{min-width:190px;flex:0 0 190px}.enq-kanban-hdr{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;padding:7px 10px;border-radius:10px;margin-bottom:8px;text-align:center}.enq-kcard{border:1px solid var(--line);border-radius:14px;background:var(--card);padding:12px;margin-bottom:8px;box-shadow:0 2px 6px #0f172a0d;cursor:pointer;transition:box-shadow .15s}.enq-kcard:hover{box-shadow:0 6px 16px #0f172a1a}.enq-kcard-id{font-size:10px;font-weight:700;color:var(--muted)}.enq-kcard-client{font-size:13px;font-weight:700;margin-top:2px}.enq-kcard-meta{font-size:11px;color:var(--muted);margin-top:2px;line-height:1.4}.enq-kcard-val{font-size:13px;font-weight:800;color:var(--green);margin-top:5px}.enq-kcard-prob{font-size:10px;color:var(--muted);margin-top:3px}.fin-card{border:1px solid var(--line);border-radius:18px;background:var(--card);padding:16px;margin-bottom:12px;box-shadow:0 4px 12px #0f172a0d}.fin-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.fin-card-name{font-size:15px;font-weight:800}.fin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.fin-stat{background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:9px;text-align:center}.fin-stat-val{font-size:14px;font-weight:800}.fin-stat-lbl{font-size:10px;color:var(--muted);margin-top:2px}.fin-bar-row{display:flex;align-items:center;gap:10px;margin-bottom:6px}.fin-bar-lbl{font-size:12px;font-weight:600;min-width:130px;flex-shrink:0}.fin-bar{flex:1;height:7px;border-radius:999px;background:var(--line);overflow:hidden}.fin-bar-fill{height:100%;border-radius:999px}.fin-bar-val{font-size:12px;font-weight:700;min-width:80px;text-align:right;flex-shrink:0}.mp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}.mp-card{border:1px solid var(--line);border-radius:16px;background:var(--card);padding:14px;box-shadow:0 2px 8px #0f172a0a}.mp-card-site{font-size:13px;font-weight:800;margin-bottom:8px}.mp-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-bottom:8px}.mp-stat{text-align:center;background:var(--soft);border-radius:8px;padding:6px 4px}.mp-stat-val{font-size:16px;font-weight:800}.mp-stat-lbl{font-size:10px;color:var(--muted)}.mp-specializations{display:flex;flex-wrap:wrap;gap:4px}.mp-specialization-pill{font-size:10px;background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:2px 7px;color:var(--muted)}.proc-ap-row{display:flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid var(--line);border-radius:14px;background:var(--soft);margin-bottom:8px;flex-wrap:wrap}.proc-ap-body{flex:1;min-width:180px}.proc-ap-title{font-size:13px;font-weight:700}.proc-ap-meta{font-size:11px;color:var(--muted);margin-top:2px}.proc-ap-right{display:flex;gap:6px;align-items:center;flex-wrap:wrap;flex-shrink:0}.exec-kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:14px}.exec-kpi{border:1px solid var(--line);border-radius:16px;background:var(--card);padding:14px;text-align:center;box-shadow:0 2px 8px #0f172a0a}.exec-kpi-val{font-size:22px;font-weight:900;margin-bottom:3px}.exec-kpi-lbl{font-size:11px;color:var(--muted)}.exec-two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.exec-risk-item{display:flex;align-items:flex-start;gap:8px;padding:9px 12px;border-radius:12px;margin-bottom:6px}.exec-risk-icon{font-size:16px;flex-shrink:0}.exec-risk-title{font-size:12px;font-weight:700}.exec-risk-desc{font-size:11px;color:var(--muted);margin-top:2px}.quot-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.quot-field{display:flex;flex-direction:column;gap:4px}.quot-label{font-size:12px;font-weight:600;color:var(--text)}.quot-input{border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-size:13px;background:var(--soft);outline:none;transition:border-color .15s;color:var(--text)}.quot-input:focus{border-color:var(--brand-border);background:var(--card)}.quot-result-strip{background:var(--brand-soft);border:1px solid var(--brand-border);border-radius:14px;padding:14px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}.quot-result-item{text-align:center}.quot-result-val{font-size:18px;font-weight:900;color:var(--green)}.quot-result-lbl{font-size:11px;color:var(--muted);margin-top:2px}@media(max-width:960px){.exec-kpi-grid{grid-template-columns:1fr 1fr 1fr}.fin-grid,.mp-grid{grid-template-columns:1fr 1fr}.exec-two-col,.quot-form-grid{grid-template-columns:1fr}}@media(max-width:600px){.exec-kpi-grid,.fin-grid{grid-template-columns:1fr 1fr}.mp-grid{grid-template-columns:1fr}.mp-stats{grid-template-columns:1fr 1fr 1fr}}body.shell-field-ops,body.shell-field-ops .content,body.shell-field-ops #fmCleanWorkspace,body.shell-field-ops .fm-exact{font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-normal)}body.shell-field-ops button,body.shell-field-ops input,body.shell-field-ops select,body.shell-field-ops textarea{font-family:inherit}body.shell-field-ops .content{background:#fff;border:none;border-radius:0;box-shadow:none;padding:0}body.shell-field-ops #dashboard .ds-headcount-row,body.shell-field-ops #dashboard .ds-projects-row,body.shell-field-ops #dashboard .ds-bottom-row,body.shell-field-ops #dash-role-kpis,body.shell-field-ops #dash-quick-actions,body.shell-field-ops #dash-requests-card{display:none!important}#dashboard #fmCleanWorkspace,body.shell-field-ops #fmCleanWorkspace{display:block!important}body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) #dashboard #fmCleanWorkspace.fm-exact{display:flex!important;flex-direction:column;flex:1 1 0;min-height:0;height:100%}body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) #dashboard #fmCleanWorkspace.fm-mvp.fm-exact{flex-direction:column!important;gap:0;background:#f7f8f7}body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) .content>#dashboard.view,body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) .content>#dashboard.dashboard-screen,body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) .content>#dashboard.route-screen{display:flex!important;flex-direction:column;flex:1 1 0;min-height:0;height:100%}body.shell-field-ops.mobile-tab-shell .content>#dashboard.dashboard-screen,body.shell-field-ops.native-app .content>#dashboard.dashboard-screen,body.shell-field-ops.mobile-tab-shell .content>#dashboard.route-screen,body.shell-field-ops.native-app .content>#dashboard.route-screen,body.shell-field-ops.mobile-tab-shell .content>#dashboard.view,body.shell-field-ops.native-app .content>#dashboard.view{display:flex!important;flex-direction:column;flex:1 1 0;min-height:0;height:100%;overflow:hidden}body.shell-field-ops.mobile-tab-shell #dashboard #fmCleanWorkspace.fm-shell--mobile,body.shell-field-ops.native-app #dashboard #fmCleanWorkspace.fm-shell--mobile,body.shell-field-ops #fmCleanWorkspace.fm-shell--mobile{display:flex!important;flex-direction:column;flex:1 1 0;min-height:0;height:100%;overflow:hidden}body:not(.shell-field-ops) #fmCleanWorkspace{display:none!important}body.shell-field-ops #projCardsList,body.shell-field-ops #proj-cmd-view,body.shell-field-ops #proj-ppe-view,body.shell-field-ops #proj-mgr-view,body.shell-field-ops #ppe-btn,body.shell-field-ops #mgr-workspace-btn{display:none!important}body.shell-field-ops #foreman-projects{display:block!important}body:not(.shell-field-ops) #foreman-projects{display:none!important}.foreman-simple-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}.foreman-action-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:16px;box-shadow:0 4px 14px #0f172a0d}.foreman-action-title{font-size:15px;font-weight:800;margin-bottom:4px}.foreman-action-sub{font-size:12px;color:var(--muted);line-height:1.45;margin-bottom:12px}.foreman-project-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:16px;box-shadow:0 4px 14px #0f172a0d;margin-bottom:12px}.foreman-project-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap;margin-bottom:12px}.foreman-project-title{font-size:16px;font-weight:900}.foreman-project-meta{font-size:12px;color:var(--muted);margin-top:3px}.foreman-status-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.foreman-mini-stat{border:1px solid var(--line);border-radius:12px;background:#f8fbff;padding:10px;text-align:center}.foreman-mini-val{font-size:20px;font-weight:900}.foreman-mini-lbl{font-size:10px;color:var(--muted);margin-top:2px}@media(max-width:720px){.foreman-simple-grid,.foreman-status-row{grid-template-columns:1fr 1fr}}.fm-clean-shell{border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 6px 18px #0f172a0f;overflow:hidden}.fm-clean-head{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:nowrap;padding:16px 18px;background:#f8fbff;border-bottom:1px solid var(--line)}.fm-clean-head>:first-child{flex:1;min-width:0}.fm-clean-head .fm-clean-select,.fm-clean-head .fm-clean-site-pill{margin-left:auto;flex-shrink:0}.fm-clean-title{font-size:20px;font-weight:900;letter-spacing:-.02em}.fm-clean-sub{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.45}.fm-clean-select{border:1px solid var(--line);border-radius:999px;background:#fff;padding:10px 14px;font-size:13px;min-width:240px;outline:none}.fm-clean-site-pill{display:inline-flex;align-items:center;gap:12px;padding:10px 16px 10px 12px;border-radius:16px;border:1px solid var(--brand-border);background:linear-gradient(135deg,var(--brand-soft) 0%,#ffffff 60%);box-shadow:0 4px 14px #16a34a1a;min-width:200px;max-width:320px}.fm-clean-site-pill-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(145deg,var(--brand),var(--brand));color:#fff;flex-shrink:0;box-shadow:0 2px 8px #16a34a59}.fm-clean-site-pill-text{display:flex;flex-direction:column;gap:1px;min-width:0}.fm-clean-site-pill-label{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#15803d}.fm-clean-site-pill-name{font-size:15px;font-weight:900;letter-spacing:-.02em;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fm-clean-site-pill-meta{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fm-project-line{display:flex;gap:8px;flex-wrap:wrap;padding:12px 18px;border-bottom:1px solid var(--line);align-items:center}.fm-project-details-toggle{border:1px solid var(--line);background:#fff;color:var(--brand);font-size:12px;font-weight:700;border-radius:999px;padding:7px 12px;cursor:pointer}.fm-project-details-toggle:hover,.fm-project-details-toggle.is-open{background:var(--brand-soft);border-color:#93c5fd}.fm-project-details-extra{display:flex;flex-wrap:wrap;gap:8px;width:100%}.fm-info-chip{font-size:12px;border:1px solid var(--line);border-radius:999px;background:#fff;padding:7px 11px;color:var(--text)}.fm-info-chip b{font-weight:900}.fm-clean-body{padding:16px 18px}.fm-clean-actions{display:flex;gap:10px;flex-wrap:nowrap;align-items:flex-end;margin-bottom:8px}.fm-bulk-time-block{display:flex;flex-direction:column;gap:4px;padding:6px 8px;border-radius:12px;border:1px solid transparent;transition:border-color .15s,background .15s,opacity .15s}.fm-bulk-time-block.is-active{border-color:var(--brand-border);background:var(--brand-soft)}.fm-bulk-time-block.is-dimmed{opacity:.55}.fm-bulk-time-title{display:block;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#15803d}.fm-bulk-time-sub{display:block;font-size:10px;font-weight:600;color:var(--muted);margin-top:1px}.fm-bulk-time-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fm-time-quick-chips{display:inline-flex;gap:6px}.fm-time-chip{border:1px solid var(--brand-border);background:#fff;color:#15803d;font-size:11px;font-weight:800;border-radius:999px;padding:6px 10px;cursor:pointer;min-height:32px}.fm-time-chip:hover:not(:disabled){background:var(--ok-soft)}.fm-time-chip:disabled{opacity:.5;cursor:not-allowed}.fm-attendance-guidance{margin:0 0 12px;font-size:12px;font-weight:600;color:#475569;padding:8px 12px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0}.fm-attendance-guidance.is-warn{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.fm-time-hint{font-size:11px;font-weight:600;color:#94a3b8;font-style:italic}.fm-row-time-focus td{background:var(--brand-soft)!important}.fm-selected-scope{font-weight:500;color:var(--muted)}.fm-clean-time{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff;font-size:13px;outline:none;min-width:108px}.fm-time-12h{display:inline-flex;align-items:center;gap:3px;border:1px solid var(--line, #d7e3f0);border-radius:999px;padding:5px 9px;background:var(--card, #fff);min-width:0;position:relative}.fm-time-12h-select{display:inline-flex;align-items:center;gap:2px;border:none;background:transparent;font-size:12px;font-weight:600;color:var(--text, #334155);outline:none;cursor:pointer;padding:1px 3px;min-width:0;line-height:1.25;border-radius:6px}.fm-time-12h-select:hover:not(:disabled),.fm-time-12h-select[aria-expanded=true]{background:var(--soft, #f1f5f9)}.fm-time-12h-select:hover:not(:disabled) .fm-time-12h-chevron{color:var(--text, #334155);background:var(--line, #e2e8f0)}.fm-time-12h-select[aria-expanded=true] .fm-time-12h-chevron{color:#15803d;background:var(--ok-soft);transform:rotate(180deg)}.fm-time-12h-select:disabled{opacity:.55;cursor:not-allowed}.fm-time-12h-select-text{min-width:1.4em;text-align:center}.fm-time-12h-chevron{display:grid;place-items:center;width:16px;height:16px;border-radius:4px;color:var(--muted, #64748b);background:var(--soft, #eef2f7);line-height:1;flex-shrink:0;transition:color .15s,background .15s,transform .15s}.fm-time-12h-chevron svg{display:block}.fm-time-12h-ampm{min-width:0;font-weight:700;color:var(--muted, #64748b)}.fm-time-12h-ampm .fm-time-12h-select-text{min-width:1.85em}.fm-time-12h-sep{font-size:12px;font-weight:700;color:var(--muted, #94a3b8);-webkit-user-select:none;user-select:none}.fm-time-12h-menu{position:fixed;z-index:12100;margin:0;padding:4px;list-style:none;max-height:256px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:var(--card, #fff);border:1px solid var(--line, #d7e3f0);border-radius:10px;box-shadow:0 10px 28px #0f172a29;scrollbar-width:thin}.fm-time-12h-menu--sticky-label{padding-top:0}.fm-time-12h-menu-sticky{position:sticky;top:0;z-index:2;margin:0 -4px 2px;padding:6px 8px 5px;background:var(--soft, #f8fbff);border-bottom:1px solid var(--line, #e2e8f0);text-align:center}.fm-time-12h-menu-sticky-label{display:block;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted, #64748b)}.fm-time-12h-menu::-webkit-scrollbar{width:6px}.fm-time-12h-menu::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.fm-time-12h-option{display:block;width:100%;border:none;background:transparent;text-align:center;font-size:12px;font-weight:600;color:var(--text);padding:6px 10px;border-radius:7px;cursor:pointer;line-height:1.2}.fm-time-12h-option:hover{background:var(--soft, #f1f5f9)}.fm-time-12h-option.is-selected{background:var(--brand-soft, var(--ok-soft));color:var(--brand-ink)}.fm-time-12h-option.is-disabled,.fm-time-12h-option:disabled{color:var(--muted, #94a3b8);opacity:.45;cursor:not-allowed;background:transparent}.fm-time-12h-option.is-disabled:hover,.fm-time-12h-option:disabled:hover{background:transparent}.fm-time-12h-option--placeholder{color:var(--muted);font-weight:600}.fm-time-12h--compact{min-width:0;width:100%;max-width:148px;padding:3px 6px;gap:1px}.fm-time-12h--compact .fm-time-12h-select{font-size:11px;padding:0 1px}.fm-time-12h--compact .fm-time-12h-ampm{font-size:10px}.fm-time-12h--compact .fm-time-12h-sep{font-size:11px}.fm-time-12h--compact .fm-time-12h-chevron{width:14px;height:14px}.fm-time-12h--compact .fm-time-12h-chevron svg{width:10px;height:10px}.fm-col-time{width:170px;white-space:nowrap}.fm-clean-time-cell.fm-time-12h{width:fit-content;max-width:none;min-width:0}.fm-time-label{display:flex;flex-direction:column;gap:1px;font-size:11px;font-weight:700;color:var(--muted);flex-shrink:0;margin:0}.fm-clean-time-cell{width:fit-content;max-width:none;min-width:0}.fm-clean-table .fm-clean-time-cell.fm-time-12h{display:inline-flex;justify-content:center;align-items:center;gap:3px;padding:5px 9px;border-radius:999px;border:1px solid #d7e3f0;background:#fff;box-shadow:none}.fm-clean-table .fm-clean-time-cell .fm-time-12h-select{gap:2px;font-size:12px;font-weight:600;color:#334155;padding:1px 3px;border-radius:6px}.fm-clean-table .fm-clean-time-cell .fm-time-12h-select-text{min-width:1.45em}.fm-clean-table .fm-clean-time-cell .fm-time-12h-ampm{color:#64748b;font-weight:700}.fm-clean-table .fm-clean-time-cell .fm-time-12h-ampm .fm-time-12h-select-text{min-width:1.85em}.fm-clean-table .fm-clean-time-cell .fm-time-12h-sep{font-size:12px;font-weight:700;color:#94a3b8;padding:0}.fm-clean-table .fm-clean-time-cell .fm-time-12h-chevron{width:16px;height:16px;color:#64748b;background:#eef2f7;opacity:1}.fm-clean-actions .qa-btn.fm-btn-clock-in{background:#fff;color:var(--brand);border:1.5px solid var(--brand)}.fm-clean-actions .qa-btn.fm-btn-clock-in.is-action-ready{background:var(--ok-soft);border-color:var(--brand);color:#15803d;box-shadow:0 0 0 3px #22c55e24}.fm-clean-actions .qa-btn.fm-btn-clock-in:hover:not(:disabled){background:var(--ok-soft);border-color:#15803d;color:#15803d}.fm-clean-actions .qa-btn.fm-btn-clock-in:active:not(:disabled){background:var(--brand-border);border-color:#15803d}.fm-clean-actions .qa-btn.fm-btn-clock-out{background:#fff;color:#dc2626;border:1.5px solid #fca5a5;flex-shrink:0}.fm-clean-actions .qa-btn.fm-btn-clock-out.is-action-ready{background:#fef2f2;border-color:#ef4444;color:#b91c1c;box-shadow:0 0 0 3px #ef444424}.fm-clean-actions .qa-btn.fm-btn-clock-out:hover:not(:disabled){background:#fef2f2;border-color:#f87171;color:#b91c1c}.fm-clean-actions .qa-btn.fm-btn-clock-out:active:not(:disabled){background:#fee2e2;border-color:#ef4444}.fm-clean-actions .qa-btn.fm-btn-clock-in:disabled,.fm-clean-actions .qa-btn.fm-btn-clock-out:disabled{background:#f1f5f9;border-color:#cbd5e1;color:#94a3b8;cursor:not-allowed;opacity:1;box-shadow:none}.fm-clock-out-search{display:flex;align-items:flex-end;gap:8px;flex:1;min-width:0;flex-wrap:nowrap}.fm-clean-actions .fm-btn-select-all{background:#fff;color:var(--brand);border:1.5px solid #93c5fd}.fm-clean-actions .qa-btn{flex-shrink:0;white-space:nowrap}.fm-worker-search-wrap{position:relative;flex:1;min-width:160px;max-width:280px}.fm-worker-search-icon{position:absolute;left:9px;top:50%;transform:translateY(-50%);font-size:11px;pointer-events:none;line-height:1;opacity:.65}.fm-worker-search{width:100%;border:1px solid var(--line);border-radius:999px;padding:7px 10px 7px 28px;font-size:12px;background:#f8fbff;color:var(--text);outline:none}.fm-worker-search:focus{border-color:var(--brand-border);background:#fff;box-shadow:none}.fm-worker-search::-webkit-search-cancel-button{cursor:pointer}.fm-attendance-panel{min-width:0}.fm-exact .fm-attendance-panel .fm-crew-scope-banner,.fm-exact .fm-attendance-panel .fm-attendance-date-notice{margin-left:14px;margin-right:14px}.fm-exact .fm-attendance-panel .fm-crew-scope-banner{margin-top:12px}.fm-exact .fm-attendance-panel .fm-attendance-date-notice{margin-top:12px;margin-bottom:10px}.fm-exact .fm-attendance-panel .fm-clean-table{margin:12px 14px}.fm-exact .fm-attendance-panel .fm-table-footer{margin:0 14px 12px}.fm-clean-table{border:1px solid #e3e8ef;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 1px 3px #0f172a0a}.fm-desktop-table-scroll{width:100%;overflow-x:auto}.fm-clean-table .fm-desktop-table-scroll table{min-width:0}.fm-clean-table tbody tr{transition:background .15s ease}.fm-clean-table tbody tr:hover{background:#faf8f5}.fm-clean-table tbody tr:hover td,.fm-clean-table tbody tr.fm-row-selected td{background:transparent}.fm-clean-table tbody tr.fm-row-selected{background:color-mix(in srgb,#faf8f5 75%,#f5f1ea 25%);box-shadow:inset 3px 0 #8b6d45}.fm-clean-table table{width:100%;border-collapse:collapse;border-spacing:0;min-width:0;table-layout:fixed}.fm-clean-table th,.fm-clean-table td{font-size:12px;padding:8px 10px;border:0;border-bottom:1px solid #e8edf3;text-align:center;vertical-align:middle}.fm-clean-table thead th{border-top:0;border-bottom:1px solid #dde4ec}.fm-clean-table thead th:first-child,.fm-clean-table tbody td:first-child{border-left:0}.fm-clean-table thead th:last-child,.fm-clean-table tbody td:last-child{border-right:0}.fm-clean-table tbody tr:last-child td{border-bottom:0}.fm-clean-table th{font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:#8b6d45;background:linear-gradient(180deg,#faf8f5,#f5f1ea);padding-top:9px;padding-bottom:9px;font-weight:var(--fw-extrabold, 800)}.fm-clean-table tr:last-child td{border-bottom:0}.fm-col-check{width:40px;min-width:40px;max-width:40px;text-align:center!important;padding:8px 4px!important;box-sizing:border-box}.fm-clean-check,.fm-clean-check--lg{width:18px;height:18px;cursor:pointer;accent-color:var(--brand)}.fm-clean-table .fm-time-12h-select{min-height:28px;padding:3px 4px}.fm-worker-cell{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;width:100%;min-width:0;padding-right:0;text-align:left}.fm-worker-cell__text{min-width:0;width:100%;text-align:left}.fm-worker-id{margin-top:2px;font-size:10px;font-weight:600;color:var(--muted);letter-spacing:.02em;white-space:nowrap;text-align:left}.fm-worker-avatar{width:36px;height:36px;border-radius:50%;display:inline-grid;place-items:center;font-size:16px;flex-shrink:0;border:1px solid rgba(15,23,42,.06);overflow:hidden}.fm-worker-avatar--photo{object-fit:cover;background:#f1f5f9;width:36px;height:36px;border-radius:50%;padding:0}.fm-worker-name{font-weight:700;font-size:12px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:capitalize;text-align:left;color:var(--text)}.fm-trade-cell{color:var(--muted);font-size:11px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.fm-id-cell{color:var(--muted);font-size:12px;line-height:1.35;white-space:nowrap}.fm-col-worker{width:26%;min-width:140px;padding-left:8px!important;padding-right:10px!important;text-align:left!important}.fm-col-trade{width:16%;min-width:96px;padding-left:8px!important;padding-right:8px!important;text-align:left!important}.fm-col-hours,.fm-col-extra-hours{width:10%;min-width:64px;text-align:center!important;padding-left:6px!important;padding-right:6px!important;font-variant-numeric:tabular-nums}.fm-col-status{width:16%;min-width:112px;padding-left:8px!important;padding-right:8px!important;text-align:center!important}.fm-col-clock-in,.fm-col-clock-out{width:12%;min-width:80px;text-align:center!important;padding-left:6px!important;padding-right:6px!important}.fm-col-edit{width:84px;min-width:84px;max-width:84px;padding-left:8px!important;padding-right:8px!important;text-align:center!important}.fm-clean-table thead th.fm-col-worker,.fm-clean-table thead th.fm-col-trade,.fm-clean-table tbody td.fm-col-worker,.fm-clean-table tbody td.fm-col-trade{text-align:left!important}.fm-clean-table thead th.fm-col-check,.fm-clean-table tbody td.fm-col-check,.fm-clean-table thead th.fm-col-clock-in,.fm-clean-table thead th.fm-col-clock-out,.fm-clean-table thead th.fm-col-hours,.fm-clean-table thead th.fm-col-extra-hours,.fm-clean-table thead th.fm-col-status,.fm-clean-table tbody td.fm-col-clock-in,.fm-clean-table tbody td.fm-col-clock-out,.fm-clean-table tbody td.fm-col-hours,.fm-clean-table tbody td.fm-col-extra-hours,.fm-clean-table tbody td.fm-col-status,.fm-clean-table thead th.fm-col-edit,.fm-clean-table tbody td.fm-col-edit{text-align:center!important}.fm-clean-table .fm-col-status .fm-att-status{display:inline-flex!important;align-items:center;justify-content:center;width:fit-content;max-width:100%;margin-inline:auto;padding:3px 9px;border-radius:999px!important;border:1px solid transparent;font-size:10px;font-weight:700;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box}.fm-clean-table .fm-att-status.fm-in{background:#f4efe3;border-color:#e0d3b2;color:#8d6a1f}.fm-clean-table .fm-att-status.fm-pending,.fm-clean-table .fm-att-status.fm-await{background:#fffbeb;border-color:#fcd34d;color:#b45309}.fm-clean-table .fm-att-status.fm-out{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.fm-clean-table .fm-att-status.fm-absent,.fm-clean-table .fm-att-status.fm-returned{background:#fef2f2;border-color:#fca5a5;color:#b91c1c}.fm-att-status--link,.fm-m-badge.is-note-link{cursor:pointer}button.fm-att-status{font:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none}.fm-att-status--link:hover,.fm-m-badge.is-note-link:hover{filter:brightness(.97);box-shadow:0 0 0 2px #8c6a242e}.fm-clean-table .fm-row-action-btns{justify-content:center;gap:4px;width:100%}.fm-time-text{font-size:11px;font-weight:700;color:var(--text)}.fm-time-dash{color:var(--muted);font-size:11px}.fm-empty-cell{text-align:center;color:var(--muted);padding:24px 16px!important}.fm-table-footer{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--line);background:#fafcff}.fm-page-summary{flex:1 1 auto;min-width:0;font-size:12px;color:var(--muted);font-weight:500;text-align:left;line-height:1.3}.fm-table-footer-right{display:flex;align-items:center;gap:10px;flex:0 0 auto;margin-left:auto}.fm-selected-count{font-size:12px;color:var(--muted);white-space:nowrap}.fm-selected-count b{color:var(--text)}.fm-pagination{display:flex;gap:4px;align-items:center;flex-wrap:nowrap;justify-content:flex-end}.fm-page-btn{min-width:30px;height:30px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:12px;font-weight:700;color:var(--text);cursor:pointer}.fm-page-btn.active{background:color-mix(in srgb,var(--brand) 78%,black 22%);border-color:color-mix(in srgb,var(--brand) 78%,black 22%);color:#fff}.fm-page-btn:disabled{opacity:.4;cursor:not-allowed}.fm-requests-table{border:1px solid var(--line);border-radius:12px;overflow:hidden}.fm-requests-table table{width:100%;border-collapse:collapse;min-width:0}.fm-requests-table th,.fm-requests-table td{padding:8px 10px;font-size:12px;border-bottom:1px solid #e5eef7;text-align:left}.fm-requests-table th{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:#f8fbff}.fm-requests-table tr:last-child td{border-bottom:none}.fm-status-chip{display:inline-flex;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700;border:1px solid transparent}.fm-in{background:#f4efe3;border-color:#e0d3b2;color:#8d6a1f}.fm-pending{background:#fffbeb;border-color:#fcd34d;color:#b45309}.fm-out{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.fm-await{background:#fffbeb;border-color:#fcd34d;color:#b45309}.fm-progress{background:#f1f5f9;border-color:#cbd5e1;color:#0f172a}.fm-absent,.fm-returned{background:#fef2f2;border-color:#fca5a5;color:#b91c1c}.fm-row-action-btns{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;min-height:28px;position:relative;z-index:1}.fm-row-action-btn{display:inline-grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid #dbe4f0;border-radius:8px;background:#fff;color:#64748b;cursor:pointer;flex-shrink:0;line-height:1}.fm-row-action-btn svg{display:block}.fm-row-action-btn--comment{border-color:#fde68a;background:#fffbeb;color:#b45309}.fm-row-action-btn--comment:hover:not(:disabled){background:#fef3c7;border-color:#fbbf24;color:#92400e}.fm-row-action-btn--edit:hover:not(:disabled){border-color:#93c5fd;color:var(--brand);background:var(--brand-soft)}.fm-row-action-btn--absent{border-color:#fecaca;background:#fef2f2;color:#dc2626}.fm-row-action-btn--absent:hover:not(:disabled){border-color:#f87171;background:#fee2e2;color:#b91c1c}.fm-row-action-btn:disabled{opacity:.45;cursor:not-allowed}.fm-row-comment-btn{width:28px;height:28px;border:1px solid #fde68a;border-radius:8px;background:#fffbeb;color:#b45309;cursor:pointer;display:inline-grid;place-items:center;flex-shrink:0;padding:0}.fm-row-comment-btn:hover{background:#fef3c7;border-color:#fbbf24;color:#92400e}.fm-early-out-backdrop{z-index:1350}.fm-early-out-modal,.fm-early-out-view-modal{width:min(460px,calc(100vw - 32px));background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 60px #0f172a33;padding:18px}.fm-edit-detail-modal{width:min(420px,calc(100vw - 32px));background:var(--card, #fff);border:1px solid var(--line, #e2e8f0);border-radius:16px;box-shadow:0 20px 48px #0f172a2e;padding:0;overflow:hidden}.fm-edit-detail-modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 16px 12px;border-bottom:1px solid #eef2f6}.fm-edit-detail-modal__eyebrow{margin:0 0 4px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted, #64748b)}.fm-edit-detail-modal__title-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.fm-edit-detail-modal__title-row h3{margin:0;font-size:18px;font-weight:750;letter-spacing:-.02em;color:var(--text, #0f172a)}.fm-edit-detail-close{width:32px;height:32px;border:none;border-radius:999px;background:#f1f5f9;color:#64748b;display:inline-grid;place-items:center;cursor:pointer;flex-shrink:0}.fm-edit-detail-close:hover{background:#e2e8f0;color:#0f172a}.fm-edit-detail-list{display:grid;gap:10px;padding:12px 16px 4px}.fm-edit-detail-list.is-scrollable{max-height:min(52vh,360px);overflow-y:auto;overscroll-behavior:contain}.fm-edit-detail-card{border:1px solid #e8edf3;border-radius:12px;background:#fff;overflow:hidden}.fm-edit-detail-card__head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;background:#f8fafc;border-bottom:1px solid #eef2f6}.fm-edit-detail-card__head h4{margin:0;font-size:13px;font-weight:700;color:#0f172a}.fm-edit-detail-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;border:1px solid transparent;font-size:11px;font-weight:700;line-height:1.3;white-space:nowrap}.fm-edit-detail-chip.is-pending{background:#fffbeb;border-color:#fcd34d;color:#b45309}.fm-edit-detail-chip.is-approved{background:#ecfdf5;border-color:#6ee7b7;color:#047857}.fm-edit-detail-chip.is-rejected{background:#fef2f2;border-color:#fca5a5;color:#b91c1c}.fm-edit-detail-card__body{display:grid;gap:8px;padding:10px 12px 12px}.fm-edit-detail-kv{display:grid;grid-template-columns:88px minmax(0,1fr);gap:8px;align-items:baseline;font-size:13px}.fm-edit-detail-kv__label{color:#64748b;font-weight:600}.fm-edit-detail-kv__value{color:#0f172a;display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px}.fm-edit-detail-kv__value s{color:#94a3b8;text-decoration:line-through;font-weight:600}.fm-edit-detail-arrow{color:#94a3b8;font-weight:600}.fm-edit-detail-approved{color:#0f766e}.fm-edit-detail-approved-tag{margin-left:6px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#0f766e}.fm-edit-detail-note{padding:8px 10px;border-radius:8px;background:#f8fafc;border:1px solid #eef2f6}.fm-edit-detail-note--engineer{background:#faf7f0;border-color:#efe4cf}.fm-edit-detail-note__label{display:block;margin-bottom:3px;font-size:10px;font-weight:750;letter-spacing:.05em;text-transform:uppercase;color:#64748b}.fm-edit-detail-note p{margin:0;font-size:13px;line-height:1.4;color:#0f172a;white-space:pre-wrap}.fm-edit-detail-meta{margin:0;font-size:11px;color:#94a3b8;font-weight:500}.fm-edit-detail-modal__foot{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:10px 16px 14px;border-top:1px solid #eef2f6}.fm-edit-detail-done{min-width:88px;height:34px;padding:0 14px;border-radius:8px;border:1px solid #d7dee8;background:#fff;color:#334155;font-size:13px;font-weight:650;cursor:pointer}.fm-edit-detail-done:hover{background:#f8fafc;border-color:#cbd5e1}.fm-edit-detail-resubmit{min-width:88px;height:34px;padding:0 14px;border-radius:8px;border:1px solid #b45309;background:linear-gradient(180deg,#d4a017,#b8860b);color:#fff;font-size:13px;font-weight:650;cursor:pointer}.fm-edit-detail-resubmit:hover{filter:brightness(1.04)}.fm-attendance-table tbody tr.fm-row-has-notes{cursor:pointer}.fm-attendance-table tbody tr.fm-row-has-notes:hover{background:#fafbfc}.fm-early-out-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}.fm-early-out-title{font-size:17px;font-weight:900;color:var(--text)}.fm-early-out-worker-name{font-size:20px;font-weight:800;line-height:1.25;color:var(--text);letter-spacing:-.02em}.fm-early-out-note-list{display:grid;gap:14px;margin-bottom:16px}.fm-early-out-note-list.is-scrollable{max-height:min(52vh,380px);overflow-y:auto;overscroll-behavior:contain;padding-right:4px;margin-right:-4px;scrollbar-gutter:stable}.fm-early-out-note-item{min-width:0}.fm-early-out-note-item__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.fm-early-out-note-item__heading{margin:0;font-size:13px;font-weight:800;color:var(--text)}.fm-early-out-note-status{display:inline-flex;align-items:center;flex-shrink:0;padding:3px 8px;border-radius:999px;border:1px solid transparent;font-size:10px;font-weight:var(--fw-bold, 700);line-height:1.2;white-space:nowrap}.fm-early-out-note-status.is-pending{background:#fffbeb;border-color:#fcd34d;color:#b45309}.fm-early-out-note-status.is-approved{background:#ecfdf5;border-color:#6ee7b7;color:#047857}.fm-early-out-note-item .fm-early-out-summary{margin-bottom:10px}.fm-early-out-note-item .fm-early-out-comment-box{margin-bottom:0}.fm-early-out-sub{margin-top:4px;font-size:12px;line-height:1.45;color:var(--muted)}.fm-early-out-close{width:32px;height:32px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--muted);cursor:pointer;display:grid;place-items:center}.fm-early-out-close:hover{background:var(--soft);color:var(--text)}.fm-early-out-summary{display:flex;flex-wrap:wrap;gap:8px 14px;margin-bottom:14px;padding:12px 14px;border-radius:12px;background:#fffbeb;border:1px solid #fde68a;font-size:12px;color:#78350f}.fm-early-out-summary.is-edit-note{flex-direction:column;gap:8px;background:#f0fdf4;border-color:#bbf7d0;color:#14532d}.fm-early-out-time-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.fm-early-out-time-compare{display:inline-flex;align-items:center;gap:6px}.fm-early-out-time-from{color:#64748b;font-weight:650;font-size:11px;text-transform:lowercase}.fm-early-out-time-old{font-weight:var(--fw-bold, 700);color:#9a3412}.fm-early-out-time-arrow{color:#64748b;font-weight:700}.fm-early-out-time-new{font-weight:800;color:#166534}.fm-early-out-field{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#475569}.fm-early-out-field textarea{border:1px solid #dbe4f0;border-radius:12px;padding:10px 12px;font:inherit;resize:vertical;min-height:96px}.fm-early-out-error{margin-top:8px;font-size:12px;color:#b91c1c;font-weight:600}.fm-early-out-comment-box{margin-bottom:12px;padding:14px 16px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0}.fm-early-out-comment-box--engineer{background:#faf7f0;border-color:#e8dcc4}.fm-early-out-comment-label{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.fm-early-out-comment-box p{margin:0;font-size:14px;line-height:1.55;color:var(--text);white-space:pre-wrap}.fm-early-out-review-meta{margin:0 0 4px;font-size:11px;color:var(--muted);font-weight:600}.fm-early-out-note-status.is-rejected{background:#fef2f2;border-color:#fca5a5;color:#b91c1c}.fm-early-out-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.fm-row-edit-btn{display:inline-grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid #dbe4f0;border-radius:8px;background:#fff;color:#64748b;cursor:pointer;flex-shrink:0}.fm-row-edit-btn:hover:not(:disabled){border-color:#93c5fd;color:var(--brand);background:var(--brand-soft)}.fm-row-edit-btn:disabled{opacity:.45;cursor:not-allowed}.fm-row-absent-btn{border-color:#fecaca;background:#fef2f2;color:#dc2626}.fm-row-absent-btn:hover:not(:disabled){border-color:#f87171;background:#fee2e2;color:#b91c1c}.fm-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#0f172a59;display:flex;align-items:center;justify-content:center;padding:16px}.fm-edit-time-modal{width:min(420px,100%);background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 40px #0f172a29;padding:18px}.fm-edit-time-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}.fm-edit-time-title{font-size:16px;font-weight:800}.fm-edit-time-sub{font-size:12px;color:#64748b;margin-top:4px;line-height:1.45}.fm-edit-time-close{border:none;background:transparent;color:#64748b;cursor:pointer;padding:4px}.fm-edit-time-note{margin-bottom:12px;padding:10px 12px;border-radius:10px;background:#fffbeb;border:1px solid #fde68a;color:#92400e;font-size:12px}.fm-edit-time-note-error{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.fm-edit-time-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fm-edit-time-field{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:#475569}.fm-edit-time-field-full{grid-column:1 / -1}.fm-edit-time-field input,.fm-edit-time-field textarea{border:1px solid #dbe4f0;border-radius:10px;padding:8px 10px;font:inherit}.fm-edit-time-field textarea.is-error,.fm-early-out-field textarea.is-error{border-color:#dc2626;background:#fef2f2}.fm-required-star{color:#dc2626;font-weight:800;margin-left:3px}.fm-edit-time-field .fm-time-12h{width:100%;min-width:0}.fm-edit-time-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.fm-absent{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.fm-clean-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.75fr);gap:12px}.fm-clean-grid--single{grid-template-columns:minmax(0,1fr)}.fm-shell--mobile .fm-workspace-tabs{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;margin-bottom:14px;padding:0 0 4px;background:transparent;border-radius:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none}.fm-shell--mobile .fm-workspace-tabs::-webkit-scrollbar{display:none}.fm-shell--mobile .fm-workspace-tabs:has(>:nth-child(1):last-child),.fm-shell--mobile .fm-workspace-tabs:has(>:nth-child(2):last-child){grid-template-columns:unset}.fm-shell--mobile .fm-workspace-tab{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid var(--line, #e2e8f0);background:var(--card, #fff);color:var(--muted, #66716b);font-size:12px;font-weight:700;letter-spacing:0;height:36px;min-height:36px;padding:0 14px;border-radius:999px;cursor:pointer;white-space:nowrap;text-align:center;line-height:1.2;scroll-snap-align:start;touch-action:manipulation;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}body.mobile-tab-shell .fm-shell--mobile .fm-workspace-tab,body.native-app .fm-shell--mobile .fm-workspace-tab{min-height:36px}.fm-shell--mobile .fm-workspace-tab.is-active{background:var(--accent-base, var(--brand, #8c6a24));border-color:var(--accent-base, var(--brand, #8c6a24));color:#fff;font-weight:var(--fw-bold, 700);box-shadow:0 2px 8px color-mix(in srgb,var(--accent-base, var(--brand, #8c6a24)) 28%,transparent)}.fm-shell--mobile .fm-workspace-tab:not(.is-active):hover{background:var(--soft, #f8fafc);border-color:var(--line, #cbd5e1);color:var(--text, #17201c)}.fm-shell--mobile .fm-raise-panel,.fm-shell--mobile .fm-requests-panel{min-width:0}.fm-shell--mobile .fm-raise-card{background:transparent;border:none;border-radius:0;padding:0;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.fm-shell--mobile .fm-raise-title{font-size:18px;font-weight:700;color:#111827;letter-spacing:-.3px;margin-bottom:4px;flex-shrink:0}.fm-shell--mobile .fm-raise-sub{font-size:13px;color:#6b7280;margin-bottom:16px;line-height:1.45;flex-shrink:0}.fm-shell--mobile .fm-raise-card .fm-request-buttons{flex:1 1 auto;display:flex;flex-direction:column;gap:10px;margin-bottom:0}.fm-shell--mobile .fm-raise-type-card{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:16px;padding:16px 14px;cursor:pointer;box-shadow:0 1px 3px #0f172a0a;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.fm-shell--mobile .fm-raise-type-card:hover,.fm-shell--mobile .fm-raise-type-card.is-active{border-color:var(--brand-border);background:var(--brand-soft);box-shadow:0 0 0 3px #16a34a14}.fm-shell--mobile .fm-raise-type-card__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center}.fm-shell--mobile .fm-raise-type-card__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.fm-shell--mobile .fm-raise-type-card__title{font-size:15px;font-weight:700;color:#111827;line-height:1.25}.fm-shell--mobile .fm-raise-type-card__desc{font-size:12px;font-weight:500;color:#6b7280;line-height:1.4}.fm-shell--mobile .fm-raise-type-card__chevron{flex-shrink:0;font-size:22px;font-weight:400;color:#9ca3af;line-height:1}.fm-request-buttons{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:0}.fm-request-buttons .qa-btn{justify-content:center}.fm-req-panel{margin-bottom:0}.fm-req-sidebar{align-self:start;position:sticky;top:12px}.fm-req-card-list-preview{max-height:320px;overflow-y:auto;padding-right:2px;scrollbar-width:thin}.fm-req-card-list-preview::-webkit-scrollbar{width:5px}.fm-req-card-list-preview::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.fm-req-more-btn{width:100%;margin-top:8px;border:1px dashed var(--brand-border);border-radius:10px;background:var(--brand-soft);color:var(--brand-ink);font-size:11px;font-weight:800;padding:8px 10px;cursor:pointer}.fm-req-more-btn:hover{background:var(--ok-soft)}.fm-req-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.fm-req-panel-sub{margin:0 0 10px;font-size:11px;color:var(--muted)}.fm-req-view-all{border:none;background:none;color:var(--brand);font-size:12px;font-weight:800;cursor:pointer;padding:0}.fm-req-view-all:hover{text-decoration:underline}.fm-req-empty{text-align:center;color:var(--muted);font-size:12px;padding:18px 12px;border:1px dashed var(--line);border-radius:12px}.fm-req-card-list{display:flex;flex-direction:column;gap:8px}.fm-req-card-list-modal{padding-right:2px}.fm-req-card{width:100%;text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--card);padding:10px 12px;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}.fm-req-card:hover{border-color:var(--brand-border);box-shadow:0 4px 14px #16a34a14}.fm-req-card--highlight{border-color:var(--brand-border);background:var(--brand-soft);box-shadow:0 0 0 3px #4ade8040;animation:fm-req-highlight-pulse 1.2s ease-in-out 2}@keyframes fm-req-highlight-pulse{0%,to{box-shadow:0 0 0 3px #4ade8040}50%{box-shadow:0 0 0 5px #4ade8066}}.fm-req-card-top{display:flex;align-items:flex-start;gap:8px}.fm-req-card-icon{display:flex;align-items:center;flex-shrink:0}.fm-req-card-meta{flex:1;min-width:0}.fm-req-card-id-row{display:flex;align-items:center;gap:6px;min-width:0}.fm-req-card-id{font-size:12px;font-weight:900;color:var(--text);flex-shrink:0}.fm-req-status-pill--card{padding:2px 7px;font-size:9px;font-weight:700;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis}.fm-req-card-type{font-size:11px;color:var(--muted);margin-top:1px}.fm-req-status{font-size:10px!important;padding:3px 7px!important;white-space:nowrap}.fm-req-card-details{margin:8px 0 6px;font-size:12px;color:var(--text);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.fm-req-card-foot{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted)}.fm-req-card-hint{color:var(--brand);font-weight:700}.fm-req-modal{max-width:480px}.fm-req-modal-wide{max-width:560px}.fm-req-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12040;display:flex;align-items:stretch;justify-content:flex-end;padding:0;background:#0f172a52;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);overflow:hidden;overscroll-behavior:none;animation:admin-sheet-fade .16s ease-out}.fm-req-overlay-stacked{z-index:12050}.fm-req-dialog{width:min(380px,100vw);height:100%;max-height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden;border:0;border-left:1px solid #e8e4dc;border-radius:0;background:var(--card, #fff);box-shadow:-18px 0 48px #0f172a29;animation:admin-sheet-slide .22s cubic-bezier(.22,1,.36,1)}.fm-req-dialog-wide{width:min(380px,100vw)}.fm-req-dialog-head{display:flex;flex-direction:column;align-items:stretch;gap:0;flex:0 0 auto;padding:16px 18px 14px;border-bottom:1px solid #eef1f4;background:linear-gradient(180deg,#faf8f4,#fff)}.fm-req-dialog-head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:100%}.fm-req-dialog-head--with-toolbar{padding-bottom:14px}.fm-req-dialog-toolbar{display:flex;flex-direction:column;gap:6px;width:100%;margin-top:10px;padding-top:10px;border-top:1px solid #eef1f4}.fm-req-dialog-toolbar .fm-req-filter-tab{padding:5px 10px;font-size:10px}.fm-req-dialog-toolbar .fm-req-search{margin-bottom:0;padding:6px 10px;border-radius:10px}.fm-req-dialog-toolbar .fm-req-search input{font-size:12px}.fm-req-dialog-toolbar .fm-req-filters{margin-bottom:0}.fm-req-dialog-title{margin:0;font-size:18px;line-height:1.2;letter-spacing:-.02em;font-weight:800;color:#1f2937}.fm-req-dialog-sub{display:inline-flex;margin:8px 0 0;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:700;color:#6b4f2a;background:#f3ebe0;border:1px solid #e6d7c3}.fm-req-dialog-close{width:34px;height:34px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;color:#64748b;cursor:pointer;display:grid;place-items:center;flex-shrink:0;font-size:18px;line-height:1}.fm-req-dialog-close:hover{background:#f8fafc;border-color:#cbd5e1;color:#1f2937}.fm-req-dialog-body{padding:12px 16px calc(14px + env(safe-area-inset-bottom,0px));overflow-y:auto;flex:1;min-height:0;-webkit-overflow-scrolling:touch}.fm-req-list-modal{padding:0}.fm-req-list-modal .fm-req-card-list{gap:6px}.fm-req-list-modal .fm-req-card{padding:7px 9px;border-radius:9px}.fm-req-list-modal .fm-req-card-top{gap:6px}.fm-req-list-modal .fm-req-card-icon-wrap{transform:scale(.9);transform-origin:left top}.fm-req-list-modal .fm-req-card-id{font-size:11px}.fm-req-list-modal .fm-req-card-id-row{gap:5px}.fm-req-list-modal .fm-req-status-pill--card{padding:2px 6px;font-size:8.5px}.fm-req-list-modal .fm-req-card-type{font-size:10px}.fm-req-list-modal .fm-req-card-details{margin:4px 0 3px;font-size:11px;line-height:1.3;-webkit-line-clamp:1}.fm-req-list-modal .fm-req-card-foot,.fm-req-list-modal .fm-req-card-hint{font-size:9px}.fm-shell--mobile .fm-req-panel--mobile .fm-req-panel-sticky,body.mobile-tab-shell .fm-req-panel--mobile .fm-req-panel-sticky,body.native-app .fm-req-panel--mobile .fm-req-panel-sticky{flex-shrink:0;position:relative;z-index:2;padding-top:2px;padding-bottom:8px;background:var(--surface-muted, #f4f3f0)}.fm-shell--mobile .fm-req-panel--mobile .fm-req-panel-head,body.mobile-tab-shell .fm-req-panel--mobile .fm-req-panel-head,body.native-app .fm-req-panel--mobile .fm-req-panel-head{position:relative;z-index:1;overflow:visible}.fm-req-search{display:flex;align-items:center;gap:8px;background:#f8fbff;border-radius:12px;padding:8px 12px;margin-bottom:8px;border:1px solid var(--line, #e2e8f0);color:var(--muted, #64748b)}.fm-req-search input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-size:14px;color:var(--text, #102033)}.fm-req-search:focus-within{border-color:var(--brand-border);background:#fff;box-shadow:none}.fm-req-search input::placeholder{color:var(--muted, #94a3b8);font-weight:500}.fm-req-list-modal .fm-req-search{margin-bottom:10px}.fm-shell--mobile .fm-req-panel--mobile .fm-req-tiles-scroll,body.mobile-tab-shell .fm-req-panel--mobile .fm-req-tiles-scroll,body.native-app .fm-req-panel--mobile .fm-req-tiles-scroll{flex:0 0 auto;overflow:visible;min-height:0;padding-bottom:4px}.fm-shell--mobile .fm-req-panel--expanded .fm-req-tiles-scroll,body.mobile-tab-shell .fm-req-panel--expanded .fm-req-tiles-scroll,body.native-app .fm-req-panel--expanded .fm-req-tiles-scroll{flex:0 0 auto;min-height:0;overflow:visible;padding-bottom:8px}.fm-shell--mobile .fm-req-panel--mobile .fm-req-filters,body.mobile-tab-shell .fm-req-panel--mobile .fm-req-filters,body.native-app .fm-req-panel--mobile .fm-req-filters{position:static;margin-bottom:0;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px;background:transparent}.fm-shell--mobile .fm-req-panel--mobile .fm-req-filters::-webkit-scrollbar,body.mobile-tab-shell .fm-req-panel--mobile .fm-req-filters::-webkit-scrollbar,body.native-app .fm-req-panel--mobile .fm-req-filters::-webkit-scrollbar{display:none}.fm-shell--mobile .fm-req-panel--mobile .fm-req-filter-tab,body.mobile-tab-shell .fm-req-panel--mobile .fm-req-filter-tab,body.native-app .fm-req-panel--mobile .fm-req-filter-tab{flex:0 0 auto}.fm-shell--mobile .fm-req-card-list-inline,body.mobile-tab-shell .fm-req-card-list-inline,body.native-app .fm-req-card-list-inline{display:flex;flex-direction:column;gap:10px}.fm-req-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;position:sticky;top:0;z-index:1;background:var(--card);padding-bottom:4px}.fm-req-filter-tab{border:1px solid var(--line);border-radius:999px;background:var(--card);padding:6px 12px;font-size:11px;font-weight:700;color:var(--muted);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.fm-req-filter-tab:hover{border-color:var(--brand-border)}.fm-req-filter-tab.active{background:var(--brand-soft);border-color:var(--brand-border);color:var(--text)}.fm-req-detail-body{padding:0}.fm-req-detail-hero{display:flex;align-items:center;gap:8px;padding:8px 10px;margin-bottom:10px;border-radius:10px;background:linear-gradient(135deg,var(--soft) 0%,var(--brand-soft) 100%);border:1px solid var(--line)}.fm-worker-search-icon-svg{position:absolute;left:9px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none}.fm-req-detail-hero-icon{width:auto;height:auto;border-radius:0;background:transparent;border:none;display:flex;align-items:center;justify-content:center;flex-shrink:0}.fm-req-detail-hero-text{flex:1;min-width:0}.fm-req-detail-id{font-size:13px;font-weight:900;line-height:1.2}.fm-req-detail-type{font-size:11px;color:var(--muted);margin-top:2px}.fm-req-status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:9px;font-weight:800;white-space:nowrap;flex-shrink:0}.fm-req-status-pill.wait{background:#fff7ed;border:1px solid #fdba74;color:#9a3412}.fm-req-status-pill.ok{background:var(--ok-soft);border:1px solid var(--brand-border);color:var(--brand-ink)}.fm-req-status-pill.progress{background:#eff6ff;border:1px solid #93c5fd;color:#1d4ed8}.fm-req-status-pill.bad{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.fm-req-detail-summary{margin:0 0 14px;font-size:13px;line-height:1.45;color:var(--text);padding:0 2px}.fm-req-timeline-wrap{margin-bottom:16px;padding:14px 12px;border-radius:12px;background:#f8fafc;border:1px solid #e8eef5}.fm-req-timeline{display:flex;align-items:flex-start;justify-content:center;gap:0;margin:0;padding:0}.fm-req-timeline-step{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0;flex:0 1 auto;max-width:72px}.fm-req-timeline-label{font-size:9px;font-weight:700;color:#94a3b8;text-align:center;line-height:1.25}.fm-req-timeline-dot{width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid #cbd5e1;flex-shrink:0}.fm-req-timeline-arrow{display:flex;align-items:center;justify-content:center;color:#cbd5e1;flex-shrink:0;height:12px;margin-top:0;padding:0 4px}.fm-req-timeline-arrow.done{color:var(--brand)}.fm-req-timeline-step.done .fm-req-timeline-dot{background:var(--brand);border-color:var(--brand)}.fm-req-timeline-step.done .fm-req-timeline-label{color:var(--brand-ink)}.fm-req-timeline-step.active .fm-req-timeline-dot{background:#fff;border-color:var(--brand);box-shadow:0 0 0 3px #16a34a33}.fm-req-timeline-step.active .fm-req-timeline-label{color:#15803d;font-weight:800}.fm-req-timeline-step.rejected .fm-req-timeline-dot{background:#dc2626;border-color:#dc2626}.fm-req-timeline-step.rejected .fm-req-timeline-label{color:#991b1b}.fm-req-detail-grid{display:grid;gap:0;border:1px solid #e8eef5;border-radius:12px;overflow:hidden;background:#fff}.fm-req-detail-row{display:grid;grid-template-columns:110px 1fr;gap:12px;font-size:12px;padding:10px 14px;border-bottom:1px solid #f1f5f9}.fm-req-detail-row:last-child{border-bottom:none}.fm-req-detail-row:nth-child(2n){background:#fafcff}.fm-req-detail-label{color:var(--muted);font-weight:700}.fm-req-detail-value{color:var(--text);word-break:break-word;font-weight:600}.fm-req-detail-row-full{grid-template-columns:110px 1fr}.fm-req-open-drawing{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;padding:0;margin:0;color:#15803d;font:inherit;font-weight:700;text-align:left;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.fm-req-open-drawing:hover{color:var(--brand-ink)}.fm-req-reject-box{margin-top:14px;padding:14px 16px 15px;border-radius:14px;background:linear-gradient(90deg,#fef2f2,#fff7f7);border:1px solid #fecaca;border-left:4px solid #ef4444;box-shadow:0 1px #ef444414}.fm-req-reject-label{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#b91c1c;margin-bottom:6px}.fm-req-reject-label:before{content:"!";width:18px;height:18px;border-radius:999px;background:#fee2e2;color:#b91c1c;font-size:12px;font-weight:800;display:grid;place-items:center;flex-shrink:0}.fm-req-reject-text{margin:0;font-size:14px;line-height:1.55;color:#7f1d1d;font-weight:500}.fm-req-reject-text-empty{color:#94a3b8;font-style:italic;font-weight:500}.fm-req-review-section{margin-top:12px;padding-top:12px;border-top:1px solid #eef1f4}.fm-req-section-title{margin:0 0 8px;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#8b6d45}.fm-req-review-list{display:flex;flex-direction:column;gap:6px}.fm-req-review-item{padding:7px 9px;border-radius:9px;border:1px solid #e8e4dc;background:#fff;box-shadow:0 1px 2px #0f172a08}.fm-req-review-item--approved{border-left:3px solid #22c55e}.fm-req-review-item--returned{border-left:3px solid #f59e0b}.fm-req-review-item--resubmitted{border-left:3px solid #ca8a04}.fm-req-review-item--rejected{border-left:3px solid #ef4444}.fm-req-review-item--reviewed{border-left:3px solid #8b6d45}.fm-req-review-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.fm-req-review-role{font-size:11px;font-weight:800;color:#1f2937;letter-spacing:.01em}.fm-req-review-outcome{flex-shrink:0;padding:2px 6px;border-radius:999px;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;line-height:1.2}.fm-req-review-outcome--approved{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.fm-req-review-outcome--returned{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}.fm-req-review-outcome--resubmitted{background:#fef9c3;color:#854d0e;border:1px solid #fde047}.fm-req-review-outcome--rejected{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.fm-req-review-outcome--reviewed{background:#f5f1ea;color:#6b4f2a;border:1px solid #e6d7c3}.fm-req-review-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:4px;min-width:0}.fm-req-review-reviewer{font-size:10px;font-weight:600;color:#64748b;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-req-review-meta-sep{color:#cbd5e1;font-size:10px;line-height:1}.fm-req-review-time{font-size:9px;font-weight:500;color:#94a3b8;font-variant-numeric:tabular-nums;white-space:nowrap}.fm-req-review-comment{margin:0;padding:6px 8px;border-radius:7px;background:#faf8f5;border:1px solid #efe8dc;font-size:11px;line-height:1.4;color:#374151;word-break:break-word}.fm-clean-toast{position:fixed;top:calc(var(--app-status-bar-inset, env(safe-area-inset-top, 0px)) + 64px);left:50%;right:auto;bottom:auto;background:var(--card);border:1px solid var(--brand-border);border-radius:16px;padding:12px 16px;box-shadow:0 10px 30px #0f172a29;font-size:13px;font-weight:800;color:var(--brand-ink);z-index:10000;opacity:1;transform:translate(-50%) translateY(0);pointer-events:none;max-width:min(360px,calc(100vw - 32px));width:max-content;text-align:center}.fm-clean-toast-error{border-color:color-mix(in srgb,#ef4444 45%,var(--line));background:color-mix(in srgb,#ef4444 12%,var(--card));color:#b91c1c}.fm-alert-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1300;background:#0f172a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:20px;animation:fm-alert-fade-in .18s ease-out}.fm-alert-backdrop-stacked{z-index:1400}.fm-alert-modal{width:min(420px,calc(100vw - 32px));display:flex;flex-direction:column;overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 60px #0f172a33;animation:fm-alert-slide-in .22s ease-out}.fm-alert-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line);background:var(--soft)}.fm-alert-head-main{display:flex;align-items:flex-start;gap:12px;min-width:0}.fm-alert-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex-shrink:0;background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.fm-alert-title{font-size:17px;font-weight:900;color:#b91c1c;line-height:1.25}.fm-alert-subtitle{margin-top:3px;font-size:12px;color:#94a3b8;line-height:1.4}.fm-alert-close{width:32px;height:32px;border:1px solid #fecaca;border-radius:10px;background:#fff;color:#94a3b8;cursor:pointer;display:grid;place-items:center;flex-shrink:0;transition:background .15s ease,color .15s ease,border-color .15s ease}.fm-alert-close:hover{background:#fef2f2;border-color:#fca5a5;color:#b91c1c}.fm-alert-body{padding:18px}.fm-alert-message{margin:0;padding:14px 16px;border-radius:12px;background:#fef2f2;border:1px solid #fecaca;font-size:14px;line-height:1.55;color:#7f1d1d;font-weight:600}.fm-alert-actions{display:flex;justify-content:flex-end;gap:8px;padding:14px 18px 18px;border-top:1px solid #f1f5f9;background:#fafcff}.fm-alert-btn-close{min-width:96px;padding:9px 18px;border-radius:999px;background:#fff;color:#b91c1c;border:1.5px solid #fca5a5;font-size:13px;font-weight:800;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.fm-alert-btn-close:hover{background:#fef2f2;border-color:#f87171;color:#991b1b}@keyframes fm-alert-fade-in{0%{opacity:0}to{opacity:1}}@keyframes fm-alert-slide-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:900px){.fm-clean-grid{grid-template-columns:1fr}.fm-clean-select{min-width:100%}.fm-clean-head{flex-direction:column;align-items:stretch;flex-wrap:wrap}.fm-clean-head .fm-clean-select,.fm-clean-head .fm-clean-site-pill{margin-left:0;width:100%;max-width:none}.fm-clean-actions{align-items:stretch;flex-wrap:wrap}.fm-clock-out-search{flex-direction:column;align-items:stretch;width:100%;flex-wrap:wrap}.fm-worker-search-wrap{width:100%;max-width:none}.fm-clean-actions .qa-btn{justify-content:center}}.fm-shell--mobile .fm-desktop-only{display:none!important}.fm-mobile-hero,.fm-mobile-clock-card,.fm-mobile-search{display:none}body.mobile-tab-shell .fm-mobile-hero,body.native-app .fm-mobile-hero,.fm-shell--mobile .fm-mobile-hero{display:block;background:var(--header-gradient, var(--header-bg, #8c6a24));background-attachment:fixed;margin:-14px -14px 0;position:relative;box-shadow:none;border:none}body.mobile-tab-shell .fm-desktop-only,body.native-app .fm-desktop-only{display:none!important}.fm-shell--mobile .fm-clean-shell{border:none;border-radius:0;box-shadow:none;background:var(--surface-muted, #f4f3f0);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1 1 0;min-height:0;height:100%;display:flex;flex-direction:column}.fm-shell--mobile .fm-mobile-hero{flex-shrink:0}body.mobile-tab-shell .fm-mobile-hero-inner,body.native-app .fm-mobile-hero-inner,.fm-shell--mobile .fm-mobile-hero-inner{padding:18px 18px 0;position:relative;z-index:1}body.mobile-tab-shell .fm-mobile-hero-top,body.native-app .fm-mobile-hero-top,.fm-shell--mobile .fm-mobile-hero-top{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin-bottom:12px}body.mobile-tab-shell .fm-mobile-hero-row,body.native-app .fm-mobile-hero-row,.fm-shell--mobile .fm-mobile-hero-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}body.mobile-tab-shell .fm-mobile-hero-left,body.native-app .fm-mobile-hero-left,.fm-shell--mobile .fm-mobile-hero-left{min-width:0;flex:1 1 52%;max-width:58%;display:flex;flex-direction:column;align-items:stretch;gap:8px}body.mobile-tab-shell .fm-mobile-hero-right,body.native-app .fm-mobile-hero-right,.fm-shell--mobile .fm-mobile-hero-right{flex:1 1 42%;min-width:0;display:flex;flex-direction:column;align-items:flex-end;gap:8px;text-align:right}body.mobile-tab-shell .fm-mobile-hero-left .fm-mobile-project-picker,body.native-app .fm-mobile-hero-left .fm-mobile-project-picker,.fm-shell--mobile .fm-mobile-hero-left .fm-mobile-project-picker{margin-bottom:0;width:100%}body.mobile-tab-shell .fm-mobile-hero-left .fm-mobile-project-select--hero,body.native-app .fm-mobile-hero-left .fm-mobile-project-select--hero,.fm-shell--mobile .fm-mobile-hero-left .fm-mobile-project-select--hero{min-height:42px;font-size:15px;padding:10px 12px}body.mobile-tab-shell .fm-mobile-hero-left .fm-mobile-meta-chip,body.native-app .fm-mobile-hero-left .fm-mobile-meta-chip,.fm-shell--mobile .fm-mobile-hero-left .fm-mobile-meta-chip{align-self:flex-start;max-width:100%}body.mobile-tab-shell .fm-mobile-hero-right .fm-mobile-meta-chip,body.native-app .fm-mobile-hero-right .fm-mobile-meta-chip,.fm-shell--mobile .fm-mobile-hero-right .fm-mobile-meta-chip{align-self:flex-end;max-width:100%}body.mobile-tab-shell .fm-mobile-hero-left .fm-mobile-proj-name,body.native-app .fm-mobile-hero-left .fm-mobile-proj-name,.fm-shell--mobile .fm-mobile-hero-left .fm-mobile-proj-name{font-size:18px;margin-bottom:0;text-align:left}@media(max-width:380px){body.mobile-tab-shell .fm-mobile-hero-row,body.native-app .fm-mobile-hero-row,.fm-shell--mobile .fm-mobile-hero-row{flex-direction:column}body.mobile-tab-shell .fm-mobile-hero-left,body.native-app .fm-mobile-hero-left,.fm-shell--mobile .fm-mobile-hero-left,body.mobile-tab-shell .fm-mobile-hero-right,body.native-app .fm-mobile-hero-right,.fm-shell--mobile .fm-mobile-hero-right{max-width:none;width:100%;flex:1 1 auto;align-items:flex-start;text-align:left}body.mobile-tab-shell .fm-mobile-hero-right .fm-mobile-meta-chip,body.native-app .fm-mobile-hero-right .fm-mobile-meta-chip,.fm-shell--mobile .fm-mobile-hero-right .fm-mobile-meta-chip{align-self:flex-start}}body.mobile-tab-shell .fm-mobile-pill,body.native-app .fm-mobile-pill,.fm-shell--mobile .fm-mobile-pill{display:inline-flex;align-items:center;gap:5px;background:#ffffff1a;border:1px solid rgba(255,255,255,.16);border-radius:20px;padding:5px 10px;margin-bottom:0;color:#ffffffd1;font-size:11px;font-weight:600;flex-shrink:0}body.mobile-tab-shell .fm-mobile-project-picker,body.native-app .fm-mobile-project-picker,.fm-shell--mobile .fm-mobile-project-picker{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}body.mobile-tab-shell .fm-mobile-project-picker__label,body.native-app .fm-mobile-project-picker__label,.fm-shell--mobile .fm-mobile-project-picker__label{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#ffffff73}body.mobile-tab-shell .fm-mobile-proj-name,body.native-app .fm-mobile-proj-name,.fm-shell--mobile .fm-mobile-proj-name{color:#fff;font-size:24px;font-weight:600;letter-spacing:-.6px;line-height:1.15;margin-bottom:10px;word-break:break-word}body.mobile-tab-shell .fm-mobile-project-select,body.native-app .fm-mobile-project-select,.fm-shell--mobile .fm-mobile-project-select{color:#fff;font-size:12px;font-weight:600;letter-spacing:-.1px;line-height:1.2;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);border-radius:999px;width:auto;max-width:min(58%,220px);min-width:0;padding:7px 12px;outline:none;text-align:left;flex-shrink:1}body.mobile-tab-shell .fm-mobile-project-select--hero,body.native-app .fm-mobile-project-select--hero,.fm-shell--mobile .fm-mobile-project-select--hero{width:100%;max-width:none;min-height:48px;padding:12px 14px;border-radius:14px;font-size:17px;font-weight:700;letter-spacing:-.3px;color:#fff;background:#ffffff29;border:1px solid rgba(255,255,255,.28);box-shadow:inset 0 1px #ffffff1f;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}body.mobile-tab-shell .fm-mobile-project-select--hero:focus,body.native-app .fm-mobile-project-select--hero:focus,.fm-shell--mobile .fm-mobile-project-select--hero:focus{outline:none;border-color:#ffffff6b;background:#ffffff38}body.mobile-tab-shell .fm-mobile-project-select option,body.native-app .fm-mobile-project-select option,.fm-shell--mobile .fm-mobile-project-select option{color:#111827}body.mobile-tab-shell .fm-mobile-project-trigger,body.native-app .fm-mobile-project-trigger,.fm-shell--mobile .fm-mobile-project-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;text-align:left;-moz-appearance:none;appearance:none;-webkit-appearance:none}body.mobile-tab-shell .fm-mobile-project-trigger__label,body.native-app .fm-mobile-project-trigger__label,.fm-shell--mobile .fm-mobile-project-trigger__label{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.mobile-tab-shell .fm-mobile-project-trigger__chevron,body.native-app .fm-mobile-project-trigger__chevron,.fm-shell--mobile .fm-mobile-project-trigger__chevron{flex-shrink:0;opacity:.85}body.mobile-tab-shell .fm-mobile-hero-meta,body.native-app .fm-mobile-hero-meta,.fm-shell--mobile .fm-mobile-hero-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}body.mobile-tab-shell .fm-mobile-meta-chip,body.native-app .fm-mobile-meta-chip,.fm-shell--mobile .fm-mobile-meta-chip{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:5px 10px;border-radius:999px;background:#ffffff14;border:1px solid rgba(255,255,255,.1);color:#ffffffc7;font-size:11px;font-weight:500;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.mobile-tab-shell .fm-mobile-meta-chip b,body.native-app .fm-mobile-meta-chip b,.fm-shell--mobile .fm-mobile-meta-chip b{font-weight:700;color:#fffffff2}body.mobile-tab-shell .fm-mobile-meta-chip--muted,body.native-app .fm-mobile-meta-chip--muted,.fm-shell--mobile .fm-mobile-meta-chip--muted{color:#ffffff80}body.mobile-tab-shell .fm-mobile-proj-loc,body.native-app .fm-mobile-proj-loc,.fm-shell--mobile .fm-mobile-proj-loc{display:inline-flex;align-items:center;justify-content:flex-start;gap:4px;color:#6366f1;font-size:13px;font-weight:500;margin:4px 0 2px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.mobile-tab-shell .fm-mobile-proj-loc--inline,body.native-app .fm-mobile-proj-loc--inline,.fm-shell--mobile .fm-mobile-proj-loc--inline{justify-content:flex-start}body.mobile-tab-shell .fm-mobile-proj-eng,body.native-app .fm-mobile-proj-eng,.fm-shell--mobile .fm-mobile-proj-eng{color:#ffffff73;font-size:12px;margin-bottom:16px;line-height:1.4}body.mobile-tab-shell .fm-mobile-stats-band,body.native-app .fm-mobile-stats-band,.fm-shell--mobile .fm-mobile-stats-band{padding:0 18px}body.mobile-tab-shell .fm-mobile-stats-grid,body.native-app .fm-mobile-stats-grid,.fm-shell--mobile .fm-mobile-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#ffffff0f;border-radius:14px;overflow:hidden}body.mobile-tab-shell .fm-mobile-stat,body.native-app .fm-mobile-stat,.fm-shell--mobile .fm-mobile-stat{flex:none;min-width:0;background:#00000038;border:none;border-radius:0;padding:12px 8px;text-align:center}body.mobile-tab-shell .fm-mobile-stat:first-child,body.native-app .fm-mobile-stat:first-child,.fm-shell--mobile .fm-mobile-stat:first-child{border-radius:14px 0 0 14px}body.mobile-tab-shell .fm-mobile-stat:last-child,body.native-app .fm-mobile-stat:last-child,.fm-shell--mobile .fm-mobile-stat:last-child{border-radius:0 14px 14px 0}body.mobile-tab-shell .fm-mobile-stat-n,body.native-app .fm-mobile-stat-n,.fm-shell--mobile .fm-mobile-stat-n{display:block;font-size:18px;font-weight:500;color:#fff;line-height:1.1}body.mobile-tab-shell .fm-mobile-stat-l,body.native-app .fm-mobile-stat-l,.fm-shell--mobile .fm-mobile-stat-l{display:block;font-size:10px;font-weight:500;color:#ffffff59;margin-top:2px;text-transform:none;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.mobile-tab-shell .fm-mobile-stat.active .fm-mobile-stat-n,body.mobile-tab-shell .fm-mobile-stat.active .fm-mobile-stat-l,body.native-app .fm-mobile-stat.active .fm-mobile-stat-n,body.native-app .fm-mobile-stat.active .fm-mobile-stat-l,.fm-shell--mobile .fm-mobile-stat.active .fm-mobile-stat-n,.fm-shell--mobile .fm-mobile-stat.active .fm-mobile-stat-l{color:#34d399}body.mobile-tab-shell .fm-mobile-curve,body.native-app .fm-mobile-curve,.fm-shell--mobile .fm-mobile-curve{height:18px;background:var(--header-gradient, var(--header-bg, #8c6a24));background-attachment:fixed;position:relative;margin-top:18px}body.mobile-tab-shell .fm-mobile-curve:after,body.native-app .fm-mobile-curve:after,.fm-shell--mobile .fm-mobile-curve:after{content:"";position:absolute;bottom:0;left:0;right:0;height:18px;background:var(--surface-muted, #f4f3f0);border-radius:18px 18px 0 0}.fm-shell--mobile .fm-mobile-body{padding:10px 12px 0;background:var(--surface-muted, #f4f3f0);flex:1 0 auto;min-height:0;display:flex;flex-direction:column;overflow:visible}.fm-shell--mobile .fm-mobile-workspace-nav{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-shrink:0;position:sticky;top:0;z-index:6;padding-top:2px;padding-bottom:6px;background:var(--surface-muted, #f4f3f0)}.fm-shell--mobile .fm-mobile-workspace-nav .fm-workspace-tabs{margin-bottom:0;position:static;padding:0;flex:1 1 auto;min-width:0}.fm-shell--mobile .fm-workspace-tab--raise-alert{flex:0 0 auto;white-space:nowrap}.fm-shell--mobile .fm-mobile-raise-alert-panel{flex:1 1 auto;min-height:0;overflow:auto;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}.fm-shell--mobile .fm-workspace-tabs{margin-bottom:8px;flex-shrink:0;position:sticky;top:0;z-index:6;padding-top:2px;padding-bottom:6px;background:var(--surface-muted, #f4f3f0)}.fm-shell--mobile .fm-workspace-tab{font-size:12px;height:36px;min-height:36px;padding:0 14px}.fm-shell--mobile .fm-attendance-panel--mobile{flex:0 0 auto;min-height:0;display:flex;flex-direction:column;overflow:visible;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}.fm-shell--mobile .fm-attendance-panel--has-action-bar{padding-bottom:calc(118px + env(safe-area-inset-bottom,0px))}.fm-shell--mobile .fm-attendance-panel__toolbar,.fm-shell--mobile .fm-attendance-panel__sticky{flex-shrink:0}.fm-shell--mobile .fm-raise-panel{flex:0 0 auto;min-height:0;overflow:visible;display:flex;flex-direction:column;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}.fm-shell--mobile .fm-requests-panel{flex:0 1 auto;min-height:0;overflow:visible;display:flex;flex-direction:column;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}.fm-shell--mobile .fm-requests-panel:has(.fm-req-panel--expanded){flex:0 0 auto;overflow:visible;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}.fm-shell--mobile .fm-requests-panel>.fm-req-panel,.fm-shell--mobile .fm-requests-panel .fm-req-panel--mobile{flex:0 1 auto;min-height:0;display:flex;flex-direction:column;overflow:visible;margin:0;border:none!important;box-shadow:none!important;background:transparent;padding:0!important;border-radius:0!important}.fm-shell--mobile .fm-requests-panel .fm-req-panel--expanded{flex:0 0 auto;overflow:visible}.fm-shell--mobile .fm-mobile-clock-card{display:block;background:var(--card, #fff);border:1px solid var(--line, rgba(0, 0, 0, .05));border-radius:14px;padding:12px;margin-bottom:8px}.fm-shell--mobile .fm-mobile-cl-label{font-size:10px;color:var(--muted, #aaa);font-weight:600;text-transform:uppercase;letter-spacing:.8px;margin-bottom:10px}.fm-shell--mobile .fm-mobile-cl-row{display:flex;gap:6px;align-items:stretch}.fm-shell--mobile .fm-mobile-time-box{flex:1 1 auto;display:flex;align-items:center;gap:6px;background:var(--soft, #f4f3f0);border:1px solid var(--line, transparent);border-radius:12px;padding:6px 8px;color:var(--muted, #c4c4c0);min-width:0}.fm-shell--mobile .fm-mobile-btn-in,.fm-shell--mobile .fm-mobile-btn-out{flex:0 0 auto;border-radius:12px;padding:0 10px;font-size:12px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:4px;white-space:nowrap;min-height:42px}.fm-shell--mobile .fm-mobile-btn-in{background:var(--header-bg, #8c6a24);border:none;color:#fff}.fm-shell--mobile .fm-mobile-btn-in .app-icon{color:#34d399}.fm-shell--mobile .fm-mobile-btn-in.is-action-ready{background:var(--brand);box-shadow:0 0 0 3px #22c55e29}.fm-shell--mobile .fm-mobile-btn-in:disabled,.fm-shell--mobile .fm-mobile-btn-out:disabled{opacity:.45;cursor:not-allowed}.fm-shell--mobile .fm-mobile-btn-out{width:auto;margin-top:0;background:none;border:1.5px solid #fca5a5;color:#ef4444}.fm-shell--mobile .fm-mobile-btn-out.is-action-ready{background:#fef2f2;border-color:#ef4444;color:#b91c1c;box-shadow:0 0 0 3px #ef444429}.fm-shell--mobile .fm-mobile-attendance-bar{position:absolute;left:0;right:0;bottom:0;z-index:40;display:flex;flex-direction:column;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--card, #fff) 92%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line, rgba(15, 23, 42, .08));box-shadow:0 -8px 24px #0f172a1a}.fm-shell--mobile .fm-mobile-attendance-bar__head{display:flex;align-items:center;justify-content:space-between;gap:10px}.fm-shell--mobile .fm-mobile-attendance-bar__count{font-size:12px;font-weight:700;color:var(--text, #111827)}.fm-shell--mobile .fm-mobile-attendance-bar__clear{border:none;background:transparent;color:var(--muted, #64748b);font-size:12px;font-weight:700;padding:4px 2px;cursor:pointer}.fm-shell--mobile .fm-mobile-attendance-bar__clear:disabled{opacity:.45;cursor:not-allowed}.fm-shell--mobile .fm-mobile-attendance-bar .fm-mobile-cl-row{gap:8px}.fm-shell--mobile .fm-mobile-attendance-bar .fm-mobile-btn-in,.fm-shell--mobile .fm-mobile-attendance-bar .fm-mobile-btn-out{min-width:64px;padding:0 12px}.fm-shell--native .fm-mobile-time-num{border:none;background:transparent;font-size:22px;font-weight:500;color:var(--text, #111827);letter-spacing:1px;width:100%;outline:none;font-family:inherit;text-align:left;padding:0;min-width:0}.fm-shell--mobile .fm-mobile-clock-card--pwa .fm-mobile-time-num{border:none;background:transparent;font-size:13px;font-weight:700;color:var(--text, #111827);letter-spacing:0;width:100%;outline:none;font-family:inherit;text-align:center;padding:0}.fm-shell--mobile .fm-mobile-search{display:flex;align-items:center;gap:8px;background:var(--card, #fff);border-radius:12px;padding:8px 12px;margin-bottom:8px;border:1px solid var(--line, rgba(0, 0, 0, .05));color:var(--muted, #ccc)}.fm-shell--mobile .fm-m-select-all{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--card, #fff);border:1px solid var(--line, rgba(0, 0, 0, .05));border-radius:12px;padding:8px 12px;margin-bottom:8px}.fm-shell--mobile .fm-m-select-all__label{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:var(--text, #111827);cursor:pointer;-webkit-user-select:none;user-select:none}.fm-shell--mobile .fm-m-select-all__count{font-size:12px;font-weight:500;color:var(--muted, #9ca3af)}.fm-shell--mobile .fm-mobile-search input{flex:1;border:none;background:none;font-size:13px;color:var(--text, #111827);outline:none}.fm-shell--mobile .fm-mobile-search input::placeholder{color:#bbb}.fm-shell--mobile .fm-mobile-table-wrap{border:1px solid rgba(0,0,0,.05);border-radius:18px;background:#fff;overflow:hidden}.fm-shell--mobile .fm-mobile-table{width:100%;border-collapse:collapse;table-layout:fixed}.fm-shell--mobile .fm-m-col-check{width:38px}.fm-shell--mobile .fm-m-col-worker{width:auto}.fm-shell--mobile .fm-m-col-status{width:70px}.fm-shell--mobile .fm-m-col-time{width:100px}.fm-shell--mobile .fm-m-tcell{font-size:11px;color:#111827;font-weight:500;white-space:nowrap}.fm-shell--mobile .fm-m-time-12h{justify-content:center;max-width:100%}.fm-shell--mobile .fm-m-time-12h.fm-time-12h--compact{gap:1px;max-width:none;padding:2px 4px}.fm-shell--mobile .fm-m-time-12h .fm-time-12h-chevron{display:none}.fm-shell--mobile .fm-mobile-time-12h{flex:1;min-width:0}.fm-shell--mobile .fm-mobile-time-12h .fm-time-12h-select{background:transparent;color:var(--text, #111827);border-color:transparent}.fm-shell--mobile .fm-m-worker-list-wrap{min-width:0;flex:0 0 auto;overflow:visible;padding-bottom:8px}.fm-shell--mobile .fm-m-worker-list{display:flex;flex-direction:column;gap:8px}.fm-shell--mobile .fm-m-worker-card{background:var(--card, #fff);border:1px solid var(--line, rgba(0, 0, 0, .06));border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:10px;box-shadow:0 1px 4px #0f172a0a}.fm-shell--mobile .fm-m-worker-card.is-selectable{cursor:pointer;-webkit-tap-highlight-color:transparent}.fm-shell--mobile .fm-m-worker-card.is-selected{border-color:var(--brand-border);background:var(--brand-soft);box-shadow:0 0 0 2px #16a34a1f}.fm-shell--mobile .fm-m-worker-card__note{background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:8px 10px}.fm-shell--mobile .fm-m-worker-card__note-label{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#b45309;margin-bottom:4px}.fm-shell--mobile .fm-m-worker-card__note-text{margin:0;font-size:12px;line-height:1.4;color:#78350f;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.fm-shell--mobile .fm-m-worker-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.fm-shell--mobile .fm-m-worker-card__identity{display:flex;align-items:flex-start;gap:10px;min-width:0;flex:1}.fm-shell--mobile .fm-m-worker-card__identity .fm-worker-avatar{margin-top:2px}.fm-shell--mobile .fm-m-worker-card__identity-meta{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:4px;font-size:11px;color:var(--muted);line-height:1.3}.fm-shell--mobile .fm-m-worker-card__text{min-width:0}.fm-shell--mobile .fm-m-worker-card__name{font-size:15px;font-weight:600;color:var(--text, #111827);line-height:1.25}.fm-shell--mobile .fm-m-worker-card__meta{margin-top:3px;font-size:11px;color:var(--muted, #9ca3af);line-height:1.3}.fm-shell--mobile .fm-m-worker-card__times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fm-shell--mobile .fm-m-worker-card__time-value.is-overtime{color:#7c3aed;font-weight:600}.fm-shell--mobile .fm-m-worker-card__time{min-width:0;background:var(--soft, #f8fafc);border:1px solid var(--line, #eef2f7);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:6px}.fm-shell--mobile .fm-m-worker-card__time-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted, #94a3b8)}.fm-shell--mobile .fm-m-worker-card__time-value{min-width:0}.fm-shell--mobile .fm-m-worker-card__time-value .fm-m-tcell{font-size:13px;font-weight:600;color:var(--text, #111827)}.fm-shell--mobile .fm-m-worker-card__time-value .fm-m-dash{color:#d1d5db;font-size:16px}.fm-shell--mobile .fm-m-worker-card__time-value .fm-m-time-12h,.fm-shell--mobile .fm-m-worker-card__time-value .fm-time-12h{width:100%;max-width:none;justify-content:flex-start;background:transparent;border:1px solid transparent;border-radius:10px;padding:0}.fm-shell--mobile .fm-m-worker-card__time-value .fm-time-12h-chevron{display:inline-flex}.fm-shell--mobile .fm-m-worker-card__actions{display:flex;justify-content:flex-end;gap:12px;padding-top:2px}.fm-shell--mobile .fm-m-action-link{border:none;background:none;padding:0;font-size:12px;font-weight:600;color:#6b7280;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.fm-shell--mobile .fm-mobile-tile--time{flex:1.4;min-width:0;gap:6px;padding:8px 6px}.fm-shell--mobile .fm-mobile-time-12h--pwa{width:100%;justify-content:center}.fm-shell--mobile .fm-mobile-table th,.fm-shell--mobile .fm-mobile-table td{font-size:11px;padding:13px 0;border-bottom:1px solid #f7f6f3;text-align:center;vertical-align:middle}.fm-shell--mobile .fm-mobile-table th:nth-child(2),.fm-shell--mobile .fm-mobile-table td:nth-child(2){text-align:left;padding-left:6px}.fm-shell--mobile .fm-mobile-table th:last-child,.fm-shell--mobile .fm-mobile-table td:last-child{padding-right:14px}.fm-shell--mobile .fm-mobile-table td:first-child,.fm-shell--mobile .fm-mobile-table th:first-child{padding-left:12px}.fm-shell--mobile .fm-mobile-table thead tr{border-bottom:1.5px solid #f0efe8}.fm-shell--mobile .fm-mobile-table th{font-size:10px;font-weight:600;color:#c4c4c0;text-transform:uppercase;letter-spacing:.6px;background:#fff}.fm-shell--mobile .fm-mobile-table tbody tr:last-child td{border-bottom:none}.fm-shell--mobile .fm-m-row-accent{background:#fafbff}.fm-shell--mobile .fm-m-row-actions{display:flex;align-items:center;gap:8px;margin-top:5px}.fm-shell--mobile .fm-m-action-link{border:none;background:none;padding:0;font-size:11px;font-weight:600;color:#6b7280;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.fm-shell--mobile .fm-m-action-link--edit{color:#4338ca}.fm-shell--mobile .fm-m-action-link:disabled{opacity:.5;cursor:not-allowed;text-decoration:none}.fm-shell--mobile .fm-worker-name{font-size:13px;font-weight:500;color:#111827;line-height:1.2}.fm-shell--mobile .fm-worker-meta{font-size:10px;color:#bbb;margin-top:2px}.fm-shell--mobile .fm-m-badge{padding:4px 9px;border-radius:20px;font-size:10px;font-weight:600;display:inline-block;letter-spacing:.2px;white-space:nowrap}.fm-shell--mobile .fm-m-out{background:var(--ok-soft);color:#15803d}.fm-shell--mobile .fm-m-pend{background:#fef3c7;color:#92400e}.fm-shell--mobile .fm-m-in{background:#dbeafe;color:#1d4ed8}.fm-shell--mobile .fm-m-absent,.fm-shell--mobile .fm-m-returned{background:#fee2e2;color:#991b1b}.fm-shell--mobile .fm-m-dash{color:#ddd;font-size:14px}.fm-shell--mobile .fm-mobile-action-tiles{display:flex;gap:6px;align-items:stretch}.fm-shell--mobile .fm-mobile-tile{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:58px;border-radius:12px;padding:8px 6px;font-size:11px;font-weight:600;line-height:1.1;text-align:center}.fm-shell--mobile .fm-mobile-tile--time{background:#fff;border:1px solid rgba(0,0,0,.06);color:#6b7280}.fm-shell--mobile .fm-mobile-tile--in{background:var(--header-bg, #8c6a24);border:none;color:#fff;cursor:pointer}.fm-shell--mobile .fm-mobile-tile--in.is-action-ready{background:var(--brand);box-shadow:0 0 0 3px #22c55e29}.fm-shell--mobile .fm-mobile-tile--in .app-icon{color:#34d399}.fm-shell--mobile .fm-mobile-tile--in:disabled,.fm-shell--mobile .fm-mobile-tile--out:disabled{opacity:.45;cursor:not-allowed}.fm-shell--mobile .fm-mobile-tile--out{background:#fff;border:1.5px solid #fca5a5;color:#ef4444;cursor:pointer}.fm-shell--mobile .fm-mobile-tile--out.is-action-ready{background:#fef2f2;border-color:#ef4444;color:#b91c1c;box-shadow:0 0 0 3px #ef444429}body.shell-field-ops .fm-shell--mobile.fm-clean-root,body.shell-field-ops .fm-clean-root.fm-shell--mobile{flex:1 1 0;min-height:0;height:100%;display:flex;flex-direction:column;overflow:hidden;padding-bottom:0;position:relative}body.shell-field-ops.mobile-tab-shell .fm-mobile-hero,body.shell-field-ops.native-app .fm-mobile-hero,body.shell-field-ops .fm-shell--mobile .fm-mobile-hero{margin:0;flex-shrink:0}body.shell-field-ops.mobile-tab-shell .fm-mobile-body,body.shell-field-ops.native-app .fm-mobile-body,body.shell-field-ops .fm-shell--mobile .fm-mobile-body{background:var(--surface-muted, #f4f3f0);border-radius:0;position:relative;z-index:1}body.shell-field-ops.mobile-tab-shell .fm-mobile-hero-inner,body.shell-field-ops.native-app .fm-mobile-hero-inner,body.shell-field-ops .fm-shell--mobile .fm-mobile-hero-inner{padding:12px 14px 0}body.shell-field-ops.mobile-tab-shell .fm-mobile-pill,body.shell-field-ops.native-app .fm-mobile-pill,body.shell-field-ops .fm-shell--mobile .fm-mobile-pill{margin-bottom:0}body.shell-field-ops.mobile-tab-shell .fm-mobile-hero-top,body.shell-field-ops.native-app .fm-mobile-hero-top,body.shell-field-ops .fm-shell--mobile .fm-mobile-hero-top{margin-bottom:10px}body.shell-field-ops.mobile-tab-shell .fm-mobile-hero-row,body.shell-field-ops.native-app .fm-mobile-hero-row,body.shell-field-ops .fm-shell--mobile .fm-mobile-hero-row{margin-bottom:0}body.shell-field-ops.mobile-tab-shell .fm-mobile-hero-left,body.shell-field-ops.native-app .fm-mobile-hero-left,body.shell-field-ops .fm-shell--mobile .fm-mobile-hero-left{gap:8px}body.shell-field-ops.mobile-tab-shell .fm-mobile-stats-band,body.shell-field-ops.native-app .fm-mobile-stats-band,body.shell-field-ops .fm-shell--mobile .fm-mobile-stats-band{padding:0 14px}body.shell-field-ops.mobile-tab-shell .fm-mobile-stat,body.shell-field-ops.native-app .fm-mobile-stat,body.shell-field-ops .fm-shell--mobile .fm-mobile-stat{padding:8px 6px}body.shell-field-ops.mobile-tab-shell .fm-mobile-curve,body.shell-field-ops.native-app .fm-mobile-curve,body.shell-field-ops .fm-shell--mobile .fm-mobile-curve{height:14px;margin-top:12px}body.shell-field-ops.mobile-tab-shell .fm-mobile-curve:after,body.shell-field-ops.native-app .fm-mobile-curve:after,body.shell-field-ops .fm-shell--mobile .fm-mobile-curve:after{height:14px;border-radius:14px 14px 0 0}body.shell-field-ops.mobile-tab-shell .fm-clean-root,body.shell-field-ops.native-app .fm-clean-root{padding-bottom:0}body.native-app .content{padding-top:0}body.theme-dark .fm-shell--mobile .fm-workspace-tabs{background:var(--surface-muted, var(--bg, #12151a))}body.theme-dark .fm-shell--mobile .fm-mobile-attendance-bar{background:color-mix(in srgb,var(--card, #1c2129) 94%,transparent);border-top-color:var(--line);box-shadow:0 -10px 28px #00000059}body.theme-dark .fm-shell--mobile .fm-mobile-attendance-bar__count{color:var(--text)}body.theme-dark .fm-shell--mobile .fm-mobile-attendance-bar__clear{color:var(--muted)}body.theme-dark .fm-shell--mobile .fm-workspace-tab.is-active{background:var(--accent-base, var(--brand));border-color:var(--accent-base, var(--brand));color:#fff}body.theme-dark .fm-shell--mobile .fm-mobile-clock-card,body.theme-dark .fm-shell--mobile .fm-mobile-attendance-bar,body.theme-dark .fm-shell--mobile .fm-m-worker-card,body.theme-dark .fm-shell--mobile .fm-raise-type-card,body.theme-dark .fm-req-card,body.theme-dark .fm-req-search,body.theme-dark .fm-shell--mobile .fm-mobile-search,body.theme-dark .fm-shell--mobile .fm-m-select-all,body.theme-dark .fm-shell--mobile .fm-mobile-tile--time{background:var(--card);border-color:var(--line);color:var(--text)}body.theme-dark .fm-shell--mobile .fm-m-worker-card__time,body.theme-dark .fm-shell--mobile .fm-mobile-time-box{background:var(--soft);border-color:var(--line)}body.theme-dark .fm-shell--mobile .fm-mobile-time-12h .fm-time-12h-select,body.theme-dark .fm-shell--mobile .fm-m-time-12h .fm-time-12h-select,body.theme-dark .fm-shell--mobile .fm-time-12h-select{background:transparent;border-color:transparent;color:var(--text)}body.theme-dark .fm-time-12h,body.theme-dark .fm-shell--mobile .fm-time-12h,body.theme-dark .fm-shell--mobile .fm-m-time-12h,body.theme-dark .fm-shell--mobile .fm-mobile-time-12h{background:var(--soft);border-color:var(--line);color:var(--text)}body.theme-dark .fm-shell--mobile .fm-m-worker-card__time-value .fm-m-time-12h,body.theme-dark .fm-shell--mobile .fm-m-worker-card__time-value .fm-time-12h{background:transparent;border-color:transparent}body.theme-dark .fm-time-12h-menu{background:var(--card);border-color:var(--line);box-shadow:0 12px 32px #00000073}body.theme-dark .fm-time-12h-menu-sticky{background:var(--soft);border-bottom-color:var(--line)}body.theme-dark .fm-time-12h-option:hover{background:#ffffff0f}body.theme-dark .fm-time-12h-option.is-selected{background:var(--brand-soft);color:var(--brand-ink)}body.theme-dark .fm-time-12h-chevron{background:#ffffff14;color:var(--muted)}body.theme-dark .fm-time-12h-select:hover:not(:disabled),body.theme-dark .fm-time-12h-select[aria-expanded=true]{background:#ffffff0f}body.theme-dark .fm-time-12h-select[aria-expanded=true] .fm-time-12h-chevron{color:var(--brand-border);background:#16a34a33}body.theme-dark .fm-shell--mobile .fm-m-worker-card__time-value .fm-m-dash{color:var(--muted)}body.theme-dark .fm-shell--mobile .fm-mobile-btn-in{background:#2a3340;color:#fff}body.theme-dark .fm-shell--mobile .fm-mobile-btn-in.is-action-ready{background:var(--brand)}body.theme-dark .fm-shell--mobile .fm-mobile-btn-out{border-color:#ef444473}body.theme-dark .fm-time-12h-select-text,body.theme-dark .fm-shell--mobile .fm-m-worker-card__time-value .fm-m-tcell,body.theme-dark .fm-shell--mobile .fm-m-worker-card__time-value .fm-time-12h-select-text{color:var(--text)}body.theme-dark .fm-shell--mobile .fm-raise-type-card:hover,body.theme-dark .fm-shell--mobile .fm-raise-type-card.is-active{background:var(--brand-soft);border-color:var(--brand-border)}body.theme-dark .fm-shell--mobile .fm-workspace-tab:not(.is-active){background:var(--card);border-color:var(--line);color:var(--muted)}body.theme-dark .fm-shell--mobile .fm-workspace-tab:not(.is-active):hover{background:var(--soft);color:var(--text)}body.theme-dark .fm-req-search input,body.theme-dark .fm-shell--mobile .fm-mobile-search input,body.theme-dark .fm-shell--mobile .fm-mobile-time-num,body.theme-dark .fm-shell--native .fm-mobile-time-num,body.theme-dark .fm-shell--mobile .fm-m-worker-card__name,body.theme-dark .fm-shell--mobile .fm-m-select-all__label,body.theme-dark .fm-shell--mobile .fm-raise-type-card__title,body.theme-dark .fm-req-card-id,body.theme-dark .fm-req-card-details{color:var(--text)}body.theme-dark .fm-req-search,body.theme-dark .fm-shell--mobile .fm-raise-type-card__desc,body.theme-dark .fm-shell--mobile .fm-m-worker-card__meta,body.theme-dark .fm-shell--mobile .fm-m-select-all__count,body.theme-dark .fm-shell--mobile .fm-mobile-cl-label{color:var(--muted)}body.theme-dark .fm-shell--mobile .fm-mobile-btn-out.is-action-ready{background:#ef44441f}body.theme-dark .fm-shell--mobile .fm-m-worker-card.is-selected{background:var(--brand-soft);border-color:var(--brand-border)}body.theme-dark .fm-shell--mobile .fm-m-worker-card__note{background:#2a2418;border-color:#5c4a24}body.theme-dark .fm-shell--mobile .fm-m-worker-card__note-text{color:#fde68a}body.theme-dark .fm-req-card--highlight{background:var(--brand-soft);border-color:var(--brand-border)}body.theme-dark .profile-panel{background:var(--card);border-color:var(--line)}body.theme-dark .profile-header{background:var(--soft)}body.theme-dark .profile-name,body.theme-dark .profile-email{color:var(--text)}html,body,#root{width:100%;height:100%;min-height:100vh;min-height:100dvh}body{display:block;overflow:hidden}#root{display:flex;flex-direction:column;height:100%;min-height:100vh;min-height:100dvh;overflow:hidden}.app{width:100%;flex:1;display:flex;height:100%;min-height:0;overflow:hidden}.main{flex:1;min-width:0;min-height:0;width:100%;padding:14px;display:flex;flex-direction:column;gap:12px;overflow:hidden}.content{width:100%;min-width:0;flex:1 1 0;min-height:0;background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:var(--shadow);overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}body:not(.mobile-tab-shell):not(.native-app) .main{padding:0;gap:0}body:not(.mobile-tab-shell):not(.native-app) .topbar{border-radius:0;border-left:none;border-right:none;border-top:none;box-shadow:none}body:not(.mobile-tab-shell):not(.native-app) .content{border:none;border-radius:0;box-shadow:none;padding:16px 18px}body:not(.mobile-tab-shell):not(.native-app) .app.eng-exact-host .main,body:not(.mobile-tab-shell):not(.native-app) .app.fm-exact-host .main{padding:0}body:not(.mobile-tab-shell):not(.native-app) .app.eng-exact-host .content,body:not(.mobile-tab-shell):not(.native-app) .app.fm-exact-host .content{padding:0!important;background:#fff}.topbar,.mobile-status-bar{flex-shrink:0}.content>.view,.content>section.view{display:block!important;width:100%;min-width:0}.content>section:not(.view),.content>.dashboard-screen,.content>.route-screen{display:block;width:100%;min-width:0}.content .section-head{margin-bottom:12px}.ws-page-head-left{min-width:0;flex:1}.ws-page-head-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.ws-meta-chip{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:5px 10px;border-radius:999px;background:var(--soft);border:1px solid var(--line);color:var(--muted);font-size:11px;font-weight:500;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-meta-chip b{font-weight:700;color:var(--text)}.ws-meta-chip--muted{color:var(--muted);opacity:.9}.ws-page-head-right{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;justify-content:flex-end}@media(min-width:721px){.ws-page-head--project-filter .ws-page-head-left{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.ws-page-head--project-filter .ws-page-head-left .fm-clean-title,.ws-page-head--project-filter .ws-page-head-left .fm-clean-sub{flex:1 1 100%}.ws-page-head--project-filter .ws-page-head-right{align-items:center;flex-wrap:wrap;justify-content:flex-end}.ws-page-head--project-filter .ws-page-head-right .ws-page-head-meta{margin-top:0;justify-content:flex-end}.ws-page-head--project-filter .fm-clean-select,.ws-page-head--project-filter .fm-clean-site-pill{margin-left:0}.ws-page-head--project-filter .fm-clean-site-pill{min-width:170px;max-width:240px;min-height:42px;gap:9px;padding:6px 12px 6px 8px;border-radius:12px}.ws-page-head--project-filter .fm-clean-site-pill-icon{width:32px;height:32px;border-radius:9px}.ws-page-head--project-filter .fm-clean-site-pill-label{font-size:9px}.ws-page-head--project-filter .fm-clean-site-pill-meta{font-size:12px;color:var(--muted)}@media(max-width:1200px){.ws-page-head--project-filter{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:14px}.ws-page-head--project-filter .ws-page-head-left{width:100%}.ws-page-head--project-filter .fm-clean-sub{max-width:620px}.ws-page-head--project-filter .ws-page-head-right{width:100%;justify-content:flex-start;flex-wrap:wrap}.ws-page-head--project-filter .proj-page-actions{flex:1 1 auto}.ws-page-head--project-filter .fm-clean-select{flex:1 1 190px;min-width:190px;max-width:280px}.ws-page-head--project-filter .fm-clean-site-pill{flex:0 1 190px;min-width:170px}}#dashboard #dash-role-kpis,#reports #reports-kpi-row,#inventory #proc-kpi-row,#projects #proj-summary-bar,#crew .crew-main-tabs{margin-top:10px}#dashboard #dash-role-kpis .card.kpi,#reports #reports-kpi-row .card.kpi,#inventory #proc-kpi-row .card.kpi{padding:8px 10px}#dashboard #dash-role-kpis .kpi-icon,#reports #reports-kpi-row .kpi-icon,#inventory #proc-kpi-row .kpi-icon{width:28px!important;height:28px!important;margin-bottom:4px!important}#dashboard #dash-role-kpis .kpi .value,#reports #reports-kpi-row .kpi .value,#inventory #proc-kpi-row .kpi .value{font-size:21px;line-height:1.05;margin-top:2px}#dashboard #dash-role-kpis .kpi .hint,#reports #reports-kpi-row .kpi .hint,#inventory #proc-kpi-row .kpi .hint{font-size:11px;margin-top:2px}#admin .tabs,#admin .admin-main-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;margin-bottom:14px}#admin .admin-tab-body{margin-top:6px}#projects #proj-summary-bar{margin-bottom:12px}#projects #proj-summary-bar .proj-summary-cell{padding:9px 14px}#projects #proj-summary-bar .proj-summary-value{font-size:20px;margin-bottom:2px}#projects #proj-summary-bar .proj-summary-label{font-size:11px}}.ws-page-head .proj-page-actions,.ws-page-head .rpt-export-group{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.ws-mobile-page-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding:10px 0 6px;margin:0 0 4px;scrollbar-width:none;position:relative;z-index:2}.ws-mobile-page-actions::-webkit-scrollbar{display:none}.ws-mobile-page-actions .proj-page-actions,.ws-mobile-page-actions .rpt-export-group{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;width:max-content}.ws-mobile-page-actions .action,.ws-mobile-page-actions .rpt-export-btn{display:inline-flex!important;align-items:center;gap:6px;flex:0 0 auto;white-space:nowrap;font-size:11px;padding:7px 10px}body.mobile-tab-shell .ws-mobile-page-actions,body.native-app .ws-mobile-page-actions{display:flex!important}.html-screen-mount{width:100%;max-width:none;min-width:0}.ws-legacy-page-head{display:none!important}.content .section-title{font-size:18px;font-weight:700;letter-spacing:normal}.content .section-sub{max-width:none}.content .tabs{margin-bottom:12px}.content .card{border-radius:16px}.content .grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.content .grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}@media(max-width:960px){.content .grid-4,.content .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.content .grid-4,.content .grid-3{grid-template-columns:1fr}}@media(max-width:720px){body:not(.mobile-tab-shell):not(.native-app) .main{padding:0}body:not(.mobile-tab-shell):not(.native-app) .content{padding:12px 14px;border-radius:0;border:none;box-shadow:none}body.mobile-tab-shell .main,body.native-app .main{padding:10px}body.mobile-tab-shell .content,body.native-app .content{padding:12px;border-radius:18px}}.bottom-tab-bar,.mobile-status-bar{display:none}body.mobile-tab-shell .mobile-status-bar,body.native-app .mobile-status-bar,.mobile-status-bar--workspace,.mobile-status-bar--foreman{display:block;flex-shrink:0;position:sticky;top:0;z-index:60;background:var(--header-gradient, var(--header-bg, #8c6a24));background-attachment:fixed;color:var(--header-fg, #fff)}body.modal-open .mobile-status-bar{z-index:10090}body.mobile-tab-shell.modal-open .topbar,body.native-app.modal-open .topbar{z-index:10090!important;position:relative}body.native-app .mobile-status-bar--native{background:var(--header-gradient, var(--app-status-bar-bg, var(--header-bg, #8c6a24)))}.mobile-status-bar__safe{height:var(--app-status-bar-inset, env(safe-area-inset-top, 0px));min-height:0}body.native-app .mobile-status-bar__safe{min-height:var(--app-status-bar-inset, 28px)}body.mobile-tab-shell .mobile-status-bar__safe{min-height:env(safe-area-inset-top,24px)}body.native-app.mobile-tab-shell .main,body.native-app .main{padding-top:0}.mobile-status-bar__row{display:flex;align-items:center;justify-content:space-between;padding:11px 22px 7px;font-size:11px;font-weight:500}.mobile-status-bar__icons{display:inline-flex;align-items:center;gap:6px;opacity:.85}body.mobile-tab-shell .topbar,body.native-app .topbar{border-top:none;margin-top:0;border-radius:0}body.mobile-tab-shell .topbar .theme-picker,body.native-app .topbar .theme-picker{display:none!important}body.mobile-tab-shell #accounts .exact-embedded-accounts,body.native-app #accounts .exact-embedded-accounts{display:flex;flex-direction:column;gap:12px;margin-top:0}body.mobile-tab-shell #accounts .list-toolbar.list-toolbar-row,body.native-app #accounts .list-toolbar.list-toolbar-row{flex-direction:column;align-items:stretch;gap:8px}body.mobile-tab-shell #accounts .list-toolbar.list-toolbar-row .list-toolbar-search,body.native-app #accounts .list-toolbar.list-toolbar-row .list-toolbar-search{flex:1 1 auto;min-width:0;max-width:none}body.mobile-tab-shell .material-request-date-cal,body.native-app .material-request-date-cal{z-index:10200;max-width:calc(100vw - 24px)}body.mobile-tab-shell .payroll-calendar-grid,body.native-app .payroll-calendar-grid{gap:3px}body.mobile-tab-shell .payroll-calendar-cell,body.native-app .payroll-calendar-cell{min-height:36px;font-size:11px}body.mobile-tab-shell #admin .rbac-module-nav,body.native-app #admin .rbac-module-nav{margin-bottom:8px}body.mobile-tab-shell #admin .rbac-module-content,body.native-app #admin .rbac-module-content{max-height:none}body.mobile-tab-shell #admin .admin-users-toolbar,body.native-app #admin .admin-users-toolbar{flex-wrap:wrap;align-items:stretch;gap:8px}body.mobile-tab-shell #admin .admin-users-search,body.native-app #admin .admin-users-search{flex:1 1 100%;min-width:0;width:100%;max-width:none}body.mobile-tab-shell #admin .admin-users-toolbar .list-sort,body.native-app #admin .admin-users-toolbar .list-sort{flex:1 1 auto;min-width:0}body.mobile-tab-shell #admin .admin-users-toolbar .list-sort .list-sort-trigger,body.native-app #admin .admin-users-toolbar .list-sort .list-sort-trigger{width:100%;min-height:40px}body.mobile-tab-shell #admin .admin-users-add,body.native-app #admin .admin-users-add{flex:0 0 auto;margin-left:0;min-height:40px;padding:9px 14px;font-size:13px;font-weight:700;white-space:nowrap;overflow:visible;text-overflow:clip}body.mobile-tab-shell #admin .admin-main-tabs,body.native-app #admin .admin-main-tabs,body.mobile-tab-shell #reports .rpt-tabs,body.native-app #reports .rpt-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;gap:6px;padding-bottom:4px;scrollbar-width:none}body.mobile-tab-shell #admin .admin-main-tabs::-webkit-scrollbar,body.native-app #admin .admin-main-tabs::-webkit-scrollbar,body.mobile-tab-shell #reports .rpt-tabs::-webkit-scrollbar,body.native-app #reports .rpt-tabs::-webkit-scrollbar{display:none}body.mobile-tab-shell #admin .admin-main-tabs .tab,body.native-app #admin .admin-main-tabs .tab,body.mobile-tab-shell #reports .rpt-tabs .tab,body.native-app #reports .rpt-tabs .tab{flex:0 0 auto;white-space:nowrap}.bottom-tab-item{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 4px calc(8px + env(safe-area-inset-bottom,0px));color:var(--muted);text-decoration:none;font-size:11px;font-weight:600;letter-spacing:.01em;border:none;background:transparent;-webkit-tap-highlight-color:transparent}.bottom-tab-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:10px;transition:background .15s ease,color .15s ease}.bottom-tab-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.1}.bottom-tab-item.active{color:var(--brand)}.bottom-tab-item.active .bottom-tab-icon{background:var(--brand-soft)}body.mobile-tab-shell .bottom-tab-bar,body.native-app .bottom-tab-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--card);border-top:1px solid var(--line);box-shadow:0 -4px 20px #0f172a0f;padding:0 4px}body.mobile-tab-shell .burger,body.native-app .burger,body.mobile-tab-shell .sidebar,body.native-app .sidebar{display:none!important}body.mobile-tab-shell .main,body.native-app .main{padding:0;padding-bottom:calc(76px + env(safe-area-inset-bottom,0px));gap:0;background:var(--surface-muted, #f4f3f0);min-height:0;overflow:hidden;display:flex;flex-direction:column}body.shell-field-ops.mobile-tab-shell .bottom-tab-bar,body.shell-field-ops.native-app .bottom-tab-bar{display:none!important}body.shell-field-ops.mobile-tab-shell .main,body.shell-field-ops.native-app .main{padding-bottom:env(safe-area-inset-bottom,0px);overflow:hidden;display:flex;flex-direction:column}body.mobile-tab-shell .content,body.native-app .content{border:none;border-radius:0;box-shadow:none;padding:14px;background:var(--surface-muted, #f4f3f0);flex:1 1 0;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}body.shell-field-ops.mobile-tab-shell .content,body.shell-field-ops.native-app .content{padding:0;flex:1 1 0;min-height:0;overflow:hidden;display:flex;flex-direction:column}body.mobile-tab-shell .topbar,body.native-app .topbar{background:var(--header-gradient, var(--header-bg, #8c6a24));background-attachment:fixed;border:none;border-radius:0;color:var(--header-fg, #fff);margin:0;flex-shrink:0;box-shadow:none;position:relative;z-index:50}.topbar-logo{display:none;width:32px;height:32px;border-radius:9px;object-fit:cover;object-position:center;flex-shrink:0}body.mobile-tab-shell .topbar-logo,body.native-app .topbar-logo{display:block}body.mobile-tab-shell .topbar .title strong,body.native-app .topbar .title strong{color:#fff}body.mobile-tab-shell .topbar .title span,body.native-app .topbar .title span{color:#ffffff73}body.mobile-tab-shell .topbar .pill,body.native-app .topbar .pill,body.mobile-tab-shell .topbar .role-badge,body.native-app .topbar .role-badge{display:none}body.mobile-tab-shell .topbar .notif-btn,body.native-app .topbar .notif-btn{background:#ffffff1a;border-color:#ffffff2e;color:#fff}body.mobile-tab-shell .topbar .notif-badge,body.native-app .topbar .notif-badge{border-color:var(--header-bg, var(--accent-base, #8c6a24))}body.mobile-tab-shell .mobile-status-bar,body.native-app .mobile-status-bar,body.mobile-tab-shell .topbar,body.native-app .topbar,body.mobile-tab-shell .fm-mobile-hero,body.native-app .fm-mobile-hero,.fm-shell--mobile .fm-mobile-hero,body.mobile-tab-shell .ws-mobile-hero,body.native-app .ws-mobile-hero,body.mobile-tab-shell .fm-mobile-curve,body.native-app .fm-mobile-curve,.fm-shell--mobile .fm-mobile-curve{background:var(--header-gradient, var(--header-bg, #8c6a24));background-attachment:fixed}body.mobile-tab-shell #dashboard #dash-role-kpis,body.mobile-tab-shell #reports #reports-kpi-row,body.mobile-tab-shell #inventory #proc-kpi-row,body.native-app #dashboard #dash-role-kpis,body.native-app #reports #reports-kpi-row,body.native-app #inventory #proc-kpi-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:10px}body.mobile-tab-shell #dashboard #dash-role-kpis .card.kpi,body.mobile-tab-shell #reports #reports-kpi-row .card.kpi,body.mobile-tab-shell #inventory #proc-kpi-row .card.kpi,body.native-app #dashboard #dash-role-kpis .card.kpi,body.native-app #reports #reports-kpi-row .card.kpi,body.native-app #inventory #proc-kpi-row .card.kpi{padding:8px 4px;border-radius:12px;text-align:center;min-width:0}body.mobile-tab-shell #dashboard #dash-role-kpis .kpi-icon,body.mobile-tab-shell #reports #reports-kpi-row .kpi-icon,body.mobile-tab-shell #inventory #proc-kpi-row .kpi-icon,body.native-app #dashboard #dash-role-kpis .kpi-icon,body.native-app #reports #reports-kpi-row .kpi-icon,body.native-app #inventory #proc-kpi-row .kpi-icon{width:22px!important;height:22px!important;border-radius:8px!important;margin:0 auto 4px!important;font-size:12px!important}body.mobile-tab-shell #dashboard #dash-role-kpis .kpi .value,body.mobile-tab-shell #reports #reports-kpi-row .kpi .value,body.mobile-tab-shell #inventory #proc-kpi-row .kpi .value,body.native-app #dashboard #dash-role-kpis .kpi .value,body.native-app #reports #reports-kpi-row .kpi .value,body.native-app #inventory #proc-kpi-row .kpi .value{font-size:15px;font-weight:800;margin-top:0;line-height:1.1}body.mobile-tab-shell #dashboard #dash-role-kpis .kpi .label,body.mobile-tab-shell #reports #reports-kpi-row .kpi .label,body.mobile-tab-shell #inventory #proc-kpi-row .kpi .label,body.native-app #dashboard #dash-role-kpis .kpi .label,body.native-app #reports #reports-kpi-row .kpi .label,body.native-app #inventory #proc-kpi-row .kpi .label{font-size:9px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}body.mobile-tab-shell #dashboard #dash-role-kpis .kpi .hint,body.mobile-tab-shell #reports #reports-kpi-row .kpi .hint,body.mobile-tab-shell #inventory #proc-kpi-row .kpi .hint,body.native-app #dashboard #dash-role-kpis .kpi .hint,body.native-app #reports #reports-kpi-row .kpi .hint,body.native-app #inventory #proc-kpi-row .kpi .hint{display:none}body.mobile-tab-shell #dashboard .ds-headcount-row,body.native-app #dashboard .ds-headcount-row{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:6px;padding:10px;margin-bottom:10px;-webkit-overflow-scrolling:touch;scrollbar-width:none}body.mobile-tab-shell #dashboard .ds-headcount-row::-webkit-scrollbar,body.native-app #dashboard .ds-headcount-row::-webkit-scrollbar{display:none}body.mobile-tab-shell #dashboard .ds-hc-card,body.native-app #dashboard .ds-hc-card{flex:1 0 72px;min-width:72px;padding:8px 4px;border-radius:12px;background:var(--card);border:1px solid var(--line)}body.mobile-tab-shell #dashboard .ds-hc-divider,body.native-app #dashboard .ds-hc-divider{display:none}body.mobile-tab-shell #dashboard .ds-hc-num,body.native-app #dashboard .ds-hc-num{font-size:16px;font-weight:800}body.mobile-tab-shell #dashboard .ds-hc-label,body.native-app #dashboard .ds-hc-label{font-size:9px;line-height:1.2}body.mobile-tab-shell #dashboard .ds-projects-row,body.native-app #dashboard .ds-projects-row{grid-template-columns:1fr;gap:8px;margin-bottom:10px}body.mobile-tab-shell #dashboard .ds-site-card,body.native-app #dashboard .ds-site-card{padding:10px 12px;gap:6px;border-radius:12px;box-shadow:none}body.mobile-tab-shell #dashboard .ds-site-card-top,body.native-app #dashboard .ds-site-card-top{align-items:center;gap:8px;min-width:0}body.mobile-tab-shell #dashboard .ds-site-card-info,body.native-app #dashboard .ds-site-card-info{min-width:0;flex:1}body.mobile-tab-shell #dashboard .ds-site-name,body.native-app #dashboard .ds-site-name{font-size:13px;font-weight:700;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.mobile-tab-shell #dashboard .ds-site-loc,body.native-app #dashboard .ds-site-loc{font-size:11px;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.mobile-tab-shell #dashboard .ds-site-tl,body.native-app #dashboard .ds-site-tl{font-size:14px;line-height:1;flex-shrink:0}body.mobile-tab-shell #dashboard .ds-site-body,body.native-app #dashboard .ds-site-body{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}body.mobile-tab-shell #dashboard .ds-site-big,body.native-app #dashboard .ds-site-big{font-size:12px;font-weight:700;line-height:1.3;flex-shrink:0;color:#102033}body.mobile-tab-shell #dashboard .ds-site-trades,body.native-app #dashboard .ds-site-trades{flex:1;min-width:0;gap:4px;justify-content:flex-end;flex-wrap:nowrap;overflow:hidden}body.mobile-tab-shell #dashboard .ds-trade-pill,body.native-app #dashboard .ds-trade-pill{font-size:10px;padding:2px 7px;flex-shrink:0;max-width:42%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.mobile-tab-shell #dashboard .ds-site-trades .ds-trade-pill:nth-child(n+3),body.native-app #dashboard .ds-site-trades .ds-trade-pill:nth-child(n+3){display:none}body.mobile-tab-shell #dashboard .ds-site-btn-row,body.native-app #dashboard .ds-site-btn-row{gap:6px;margin-top:2px}body.mobile-tab-shell #dashboard .ds-site-btn-row .action,body.native-app #dashboard .ds-site-btn-row .action{font-size:11px;padding:6px 8px;border-radius:999px;min-height:32px}body.mobile-tab-shell #dashboard .ds-bottom-row,body.native-app #dashboard .ds-bottom-row{grid-template-columns:1fr;gap:8px;margin-bottom:10px}body.mobile-tab-shell #dashboard .ds-avail-card,body.mobile-tab-shell #dashboard .ds-mat-card,body.native-app #dashboard .ds-avail-card,body.native-app #dashboard .ds-mat-card{padding:12px;border-radius:12px;box-shadow:none}body.mobile-tab-shell #dashboard .ds-panel-title,body.native-app #dashboard .ds-panel-title{font-size:13px;margin-bottom:8px}body.mobile-tab-shell #dashboard .ds-section-head,body.native-app #dashboard .ds-section-head{margin-bottom:6px}body.mobile-tab-shell #dashboard .ds-section-title,body.native-app #dashboard .ds-section-title{font-size:13px}body.mobile-tab-shell #dashboard .ds-view-all,body.native-app #dashboard .ds-view-all{font-size:11px}body.mobile-tab-shell #dash-requests-card .eng-req-head-right,body.native-app #dash-requests-card .eng-req-head-right{width:100%;align-items:stretch;min-width:0}body.mobile-tab-shell #dash-requests-card .eng-req-list-footer,body.native-app #dash-requests-card .eng-req-list-footer,body.mobile-tab-shell #dash-projects-card .eng-req-list-footer,body.native-app #dash-projects-card .eng-req-list-footer{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}body.mobile-tab-shell #dash-requests-card .eng-req-page-summary,body.native-app #dash-requests-card .eng-req-page-summary,body.mobile-tab-shell #dash-projects-card .eng-req-page-summary,body.native-app #dash-projects-card .eng-req-page-summary{flex:1 1 auto;min-width:0;text-align:left;font-size:11px}body.mobile-tab-shell #dash-requests-card .eng-req-pagination,body.native-app #dash-requests-card .eng-req-pagination,body.mobile-tab-shell #dash-requests-card .ds-view-all,body.native-app #dash-requests-card .ds-view-all,body.mobile-tab-shell #dash-projects-card .ds-view-all,body.native-app #dash-projects-card .ds-view-all{flex:0 0 auto;margin-left:auto}body.mobile-tab-shell .tile-list-footer,body.native-app .tile-list-footer,body.mobile-tab-shell .proc-req-list-footer,body.native-app .proc-req-list-footer,body.mobile-tab-shell .fm-table-footer,body.native-app .fm-table-footer{flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between}body.mobile-tab-shell .tile-list-page-summary,body.native-app .tile-list-page-summary,body.mobile-tab-shell .proc-req-page-summary,body.native-app .proc-req-page-summary,body.mobile-tab-shell .fm-page-summary,body.native-app .fm-page-summary{text-align:left;font-size:11px}body.mobile-tab-shell .tile-list-pagination,body.native-app .tile-list-pagination,body.mobile-tab-shell .proc-req-pagination,body.native-app .proc-req-pagination,body.mobile-tab-shell .fm-pagination,body.native-app .fm-pagination{margin-left:auto;justify-content:flex-end}body.mobile-tab-shell #dashboard #dash-quick-actions,body.native-app #dashboard #dash-quick-actions{margin-bottom:10px!important;padding:10px 12px!important;border-radius:12px}body.mobile-tab-shell #dashboard .dash-qa-row,body.native-app #dashboard .dash-qa-row{gap:6px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}body.mobile-tab-shell #dashboard .dash-qa-row::-webkit-scrollbar,body.native-app #dashboard .dash-qa-row::-webkit-scrollbar{display:none}body.mobile-tab-shell #dashboard .qa-btn,body.native-app #dashboard .qa-btn{flex:0 0 auto;font-size:11px;padding:7px 10px}body.mobile-tab-shell #dash-requests-card,body.native-app #dash-requests-card,body.mobile-tab-shell #dash-projects-card,body.native-app #dash-projects-card{margin-top:10px;padding:14px;border-radius:16px;background:var(--card);border:1px solid var(--line);box-shadow:none}body.mobile-tab-shell #dash-requests-card .eng-req-head,body.native-app #dash-requests-card .eng-req-head,body.mobile-tab-shell #dash-projects-card .eng-req-head,body.native-app #dash-projects-card .eng-req-head{flex-direction:column;align-items:stretch;gap:10px;margin-bottom:10px}body.mobile-tab-shell #dash-requests-card .eng-req-panel-title,body.native-app #dash-requests-card .eng-req-panel-title,body.mobile-tab-shell #dash-projects-card .eng-req-panel-title,body.native-app #dash-projects-card .eng-req-panel-title{font-size:15px}body.mobile-tab-shell #dash-requests-card .req-filter-row,body.native-app #dash-requests-card .req-filter-row{display:flex;flex-wrap:nowrap;gap:4px;overflow:visible;width:100%;padding-bottom:0}body.mobile-tab-shell #dash-requests-card .req-filter-row::-webkit-scrollbar,body.native-app #dash-requests-card .req-filter-row::-webkit-scrollbar{display:none}body.mobile-tab-shell #dash-requests-card .req-filter-btn,body.native-app #dash-requests-card .req-filter-btn{flex:1 1 0;min-width:0;white-space:nowrap;justify-content:center;text-align:center;padding:6px 4px;font-size:11px;border-radius:999px}body.mobile-tab-shell #dash-requests-card .eng-req-filter-inner,body.native-app #dash-requests-card .eng-req-filter-inner{display:inline-flex;align-items:center;justify-content:center;gap:0;width:100%}body.mobile-tab-shell #dash-requests-card .eng-req-filter-inner .icon-badge,body.mobile-tab-shell #dash-requests-card .eng-req-filter-inner .app-icon,body.native-app #dash-requests-card .eng-req-filter-inner .icon-badge,body.native-app #dash-requests-card .eng-req-filter-inner .app-icon{display:none}body.mobile-tab-shell #dash-requests-card .eng-req-list,body.native-app #dash-requests-card .eng-req-list,body.mobile-tab-shell #dash-projects-card .eng-req-list,body.native-app #dash-projects-card .eng-req-list{gap:10px}body.mobile-tab-shell #dash-requests-card .eng-req-row,body.native-app #dash-requests-card .eng-req-row,body.mobile-tab-shell #dash-projects-card .eng-req-row,body.native-app #dash-projects-card .eng-req-row{flex-wrap:wrap;align-items:flex-start;gap:12px;margin-bottom:0;padding:14px 16px;border-radius:14px;background:var(--card);border-color:var(--line)}body.mobile-tab-shell #dash-requests-card .eng-req-row>.icon-badge,body.native-app #dash-requests-card .eng-req-row>.icon-badge,body.mobile-tab-shell #dash-projects-card .eng-req-row>.icon-badge,body.native-app #dash-projects-card .eng-req-row>.icon-badge{align-self:flex-start;margin-top:2px}body.mobile-tab-shell #dash-requests-card .eng-req-row-content,body.native-app #dash-requests-card .eng-req-row-content,body.mobile-tab-shell #dash-projects-card .eng-req-row-content,body.native-app #dash-projects-card .eng-req-row-content{flex:1 1 calc(100% - 44px);padding:0;min-width:0}body.mobile-tab-shell #dash-requests-card .req-title,body.native-app #dash-requests-card .req-title,body.mobile-tab-shell #dash-projects-card .req-title,body.native-app #dash-projects-card .req-title{font-size:13px;line-height:1.35;color:var(--text)}body.mobile-tab-shell #dash-requests-card .eng-req-actions,body.native-app #dash-requests-card .eng-req-actions,body.mobile-tab-shell #dash-projects-card .eng-req-actions,body.native-app #dash-projects-card .eng-req-actions{flex:1 1 100%;width:100%;justify-content:flex-end;gap:8px;padding:10px 0 0;border-top:1px solid var(--line)}body.mobile-tab-shell #dash-requests-card .eng-req-manager-link,body.native-app #dash-requests-card .eng-req-manager-link{text-align:left}body.mobile-tab-shell #dash-requests-card .eng-req-manager-link .qa-btn,body.native-app #dash-requests-card .eng-req-manager-link .qa-btn{width:100%;justify-content:center}body.mobile-tab-shell #crew .crew-main-tabs,body.native-app #crew .crew-main-tabs{display:flex;flex-wrap:nowrap;gap:6px;margin-bottom:10px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}body.mobile-tab-shell #crew .crew-main-tabs::-webkit-scrollbar,body.native-app #crew .crew-main-tabs::-webkit-scrollbar{display:none}body.mobile-tab-shell #crew .crew-main-tabs .tab,body.native-app #crew .crew-main-tabs .tab{flex:1 1 0;min-width:0;text-align:center;white-space:nowrap;padding:7px 8px;font-size:12px;border-radius:10px}body.mobile-tab-shell #crew .mem-grid,body.native-app #crew .mem-grid{grid-template-columns:1fr;gap:8px}body.mobile-tab-shell #crew .mem-group-card,body.native-app #crew .mem-group-card{padding:10px 12px;gap:4px;border-radius:14px}body.mobile-tab-shell #crew .mem-gc-count strong,body.native-app #crew .mem-gc-count strong{font-size:15px}body.mobile-tab-shell #crew .members-toolbar--with-tabs,body.native-app #crew .members-toolbar--with-tabs{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;margin-bottom:10px}body.mobile-tab-shell #crew .members-toolbar--with-tabs .mem-subtabs,body.native-app #crew .members-toolbar--with-tabs .mem-subtabs{display:flex;flex-wrap:nowrap;flex:1 1 auto;min-width:0;gap:4px;margin-bottom:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}body.mobile-tab-shell #crew .members-toolbar--with-tabs .mem-subtabs::-webkit-scrollbar,body.native-app #crew .members-toolbar--with-tabs .mem-subtabs::-webkit-scrollbar{display:none}body.mobile-tab-shell #crew .mem-subtab,body.native-app #crew .mem-subtab{flex:0 0 auto;padding:6px 8px;font-size:11px;border-radius:10px;white-space:nowrap;gap:4px}body.mobile-tab-shell #crew .eng-crew-requests-panel,body.native-app #crew .eng-crew-requests-panel{padding:12px;border-radius:14px;box-shadow:none;border-color:var(--line);background:var(--card);color:var(--text)}body.mobile-tab-shell #crew .eng-crew-req-tabs,body.native-app #crew .eng-crew-req-tabs{gap:4px;margin-bottom:10px;padding:0;background:transparent;border:none}body.mobile-tab-shell #crew .eng-crew-req-tabs .mem-subtab,body.native-app #crew .eng-crew-req-tabs .mem-subtab{flex:1 1 0;padding:8px 6px;font-size:11px;justify-content:center;color:var(--muted)}body.mobile-tab-shell #crew .eng-crew-req-tabs .mem-subtab.active,body.native-app #crew .eng-crew-req-tabs .mem-subtab.active{color:#fff;background:var(--brand, #18765f);border:none}body.mobile-tab-shell #crew .eng-crew-requests-head .section-sub,body.native-app #crew .eng-crew-requests-head .section-sub{font-size:11px;color:var(--muted)}body.mobile-tab-shell #crew .eng-crew-requests-search,body.native-app #crew .eng-crew-requests-search{padding:0;margin-bottom:10px!important}body.mobile-tab-shell #crew .eng-crew-requests-search .project-allocation-search-wrap,body.native-app #crew .eng-crew-requests-search .project-allocation-search-wrap{width:100%;max-width:none}body.mobile-tab-shell #crew .eng-crew-requests-panel .project-manpower-request-title,body.native-app #crew .eng-crew-requests-panel .project-manpower-request-title{color:var(--text)}body.mobile-tab-shell #crew .eng-crew-requests-panel .project-manpower-request-meta,body.native-app #crew .eng-crew-requests-panel .project-manpower-request-meta,body.mobile-tab-shell #crew .eng-crew-requests-panel .project-manpower-request-notes,body.native-app #crew .eng-crew-requests-panel .project-manpower-request-notes{font-size:11px;color:var(--muted)}body.mobile-tab-shell #crew .members-toolbar--with-tabs>.action,body.mobile-tab-shell #crew .members-toolbar--with-tabs>.mem-add-btn,body.native-app #crew .members-toolbar--with-tabs>.action,body.native-app #crew .members-toolbar--with-tabs>.mem-add-btn{flex:0 0 auto;margin-left:0;padding:6px 10px;font-size:11px;white-space:nowrap;border-radius:10px}body.mobile-tab-shell #crew .section-head,body.native-app #crew .section-head{margin-bottom:8px}body.mobile-tab-shell #crew .section-title,body.native-app #crew .section-title{font-size:16px}body.mobile-tab-shell #crew .entry-summary,body.native-app #crew .entry-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}body.mobile-tab-shell #crew .entry-mini,body.native-app #crew .entry-mini{padding:8px 6px;border-radius:12px;text-align:center;min-width:0}body.mobile-tab-shell #crew .entry-mini .m-label,body.native-app #crew .entry-mini .m-label{font-size:10px;line-height:1.2}body.mobile-tab-shell #crew .entry-mini .m-val,body.native-app #crew .entry-mini .m-val{font-size:16px;margin-top:2px}body.mobile-tab-shell .time-date-picker-panel,body.native-app .time-date-picker-panel{width:min(272px,calc(100vw - 24px));max-width:calc(100vw - 24px);z-index:220}@media(max-width:600px){.time-date-picker-panel{width:min(272px,calc(100vw - 24px));max-width:calc(100vw - 24px);z-index:220}}body.mobile-tab-shell #crew .project-allocation-shell,body.native-app #crew .project-allocation-shell{gap:10px}body.mobile-tab-shell #crew .project-allocation-site-tabs,body.native-app #crew .project-allocation-site-tabs{display:flex;flex-wrap:nowrap;gap:8px;padding:0 0 10px;border-bottom:none;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}body.mobile-tab-shell #crew .project-allocation-site-tabs::-webkit-scrollbar,body.native-app #crew .project-allocation-site-tabs::-webkit-scrollbar{display:none}body.mobile-tab-shell #crew .project-allocation-site-tab,body.native-app #crew .project-allocation-site-tab{flex:0 0 auto;margin-bottom:0;border-radius:999px;border:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--card);padding:8px 14px;font-size:12px;font-weight:700;color:var(--muted);box-shadow:none}body.mobile-tab-shell #crew .project-allocation-site-tab.active,body.native-app #crew .project-allocation-site-tab.active{background:var(--brand-soft);border-color:var(--brand-border);color:var(--text);box-shadow:none}body.mobile-tab-shell #crew .project-allocation-site-tab-name,body.native-app #crew .project-allocation-site-tab-name{max-width:140px}body.mobile-tab-shell #crew .project-allocation-site-tab-badge,body.native-app #crew .project-allocation-site-tab-badge{min-width:18px;height:18px;font-size:10px;background:var(--brand);color:#fff}body.mobile-tab-shell #crew .project-allocation-site-tab.active .project-allocation-site-tab-badge,body.native-app #crew .project-allocation-site-tab.active .project-allocation-site-tab-badge{background:var(--ok-soft);color:var(--brand-ink)}body.mobile-tab-shell #crew .project-allocation-panel.card,body.native-app #crew .project-allocation-panel.card{border:1px solid var(--line);border-radius:16px;box-shadow:0 1px 3px #0f172a0d;overflow:hidden;background:var(--card)}body.mobile-tab-shell #crew .project-allocation-panel-head.project-block-header,body.native-app #crew .project-allocation-panel-head.project-block-header{flex-direction:column;align-items:stretch;gap:10px;padding:14px 14px 10px;background:var(--card);border-bottom:none}body.mobile-tab-shell #crew .project-allocation-title-row,body.native-app #crew .project-allocation-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}body.mobile-tab-shell #crew .project-allocation-title-text,body.native-app #crew .project-allocation-title-text{min-width:0;flex:1}body.mobile-tab-shell #crew .project-allocation-title-row .project-block-add-btn,body.native-app #crew .project-allocation-title-row .project-block-add-btn{flex-shrink:0;width:auto;max-width:46%;justify-content:center;padding:8px 12px!important;font-size:12px!important;line-height:1.2!important;white-space:nowrap;border-radius:999px!important}body.mobile-tab-shell #crew .project-block-name,body.native-app #crew .project-block-name{font-size:16px;font-weight:800;letter-spacing:-.02em;color:#102033;line-height:1.25}body.mobile-tab-shell #crew .project-block-loc,body.native-app #crew .project-block-loc{margin-top:3px;font-size:12px;color:#64748b;line-height:1.35}body.mobile-tab-shell #crew .project-block-meta,body.native-app #crew .project-block-meta{display:flex;flex-wrap:nowrap;align-items:stretch;gap:0;width:100%;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;overflow:hidden}body.mobile-tab-shell #crew .project-meta-pill,body.native-app #crew .project-meta-pill{flex:1 1 0;min-width:0;margin:0;padding:8px 10px;border:none;border-radius:0;background:transparent;box-shadow:none;border-right:1px solid #e2e8f0;align-items:flex-start}body.mobile-tab-shell #crew .project-meta-pill:last-child,body.native-app #crew .project-meta-pill:last-child{border-right:none}body.mobile-tab-shell #crew .project-meta-label,body.native-app #crew .project-meta-label{font-size:10px;letter-spacing:.05em;line-height:1.2;color:#94a3b8}body.mobile-tab-shell #crew .project-meta-val,body.native-app #crew .project-meta-val{font-size:15px;font-weight:800;margin-top:2px;line-height:1.2;color:#102033}body.mobile-tab-shell #crew .project-meta-open .project-meta-val,body.native-app #crew .project-meta-open .project-meta-val{font-size:14px}body.mobile-tab-shell #crew .project-allocation-subtabs,body.native-app #crew .project-allocation-subtabs{display:flex;gap:4px;margin:0 14px 10px;padding:4px;border:1px solid var(--line);border-radius:12px;border-bottom:1px solid var(--line);background:var(--soft)}body.mobile-tab-shell #crew .project-allocation-subtabs .mem-subtab,body.native-app #crew .project-allocation-subtabs .mem-subtab{flex:1 1 0;justify-content:center;align-items:center;gap:6px;min-width:0;margin:0;padding:9px 10px;border:none;border-radius:9px;background:transparent;font-size:13px;font-weight:700;color:#64748b;box-shadow:none}body.mobile-tab-shell #crew .project-allocation-subtabs .mem-subtab .app-icon,body.native-app #crew .project-allocation-subtabs .mem-subtab .app-icon{width:14px;height:14px}body.mobile-tab-shell #crew .project-allocation-subtabs .mem-subtab.active,body.native-app #crew .project-allocation-subtabs .mem-subtab.active{background:var(--card);color:var(--text);box-shadow:0 1px 2px #0f172a14}body.mobile-tab-shell #crew .project-allocation-subtab-count,body.native-app #crew .project-allocation-subtab-count{margin-left:0;padding:1px 7px;min-height:18px;font-size:11px;line-height:16px;background:#e2e8f0;color:#475569}body.mobile-tab-shell #crew .project-allocation-subtabs .mem-subtab.active .project-allocation-subtab-count,body.native-app #crew .project-allocation-subtabs .mem-subtab.active .project-allocation-subtab-count{background:var(--ok-soft);color:var(--brand-ink)}body.mobile-tab-shell #crew .project-allocation-pane,body.native-app #crew .project-allocation-pane{padding-top:0;min-height:0}body.mobile-tab-shell #crew .project-allocation-toolbar,body.native-app #crew .project-allocation-toolbar{padding:0 14px;margin-bottom:10px!important}body.mobile-tab-shell #crew .project-allocation-search-wrap,body.native-app #crew .project-allocation-search-wrap{width:100%;max-width:none;min-width:0}body.mobile-tab-shell #crew .project-allocation-search-wrap .members-search,body.native-app #crew .project-allocation-search-wrap .members-search{padding:10px 12px 10px 34px;font-size:13px;border-radius:12px;background:#f8fafc}body.mobile-tab-shell #crew .site-worker-grid.site-worker-grid--allocation,body.native-app #crew .site-worker-grid.site-worker-grid--allocation{display:grid;grid-template-columns:1fr;gap:8px;padding:0 14px 14px}body.mobile-tab-shell #crew .project-worker-card,body.native-app #crew .project-worker-card{border-radius:14px;border-color:#e2e8f0;box-shadow:none;transform:none;background:#fff}body.mobile-tab-shell #crew .project-worker-card:hover,body.native-app #crew .project-worker-card:hover{transform:none;box-shadow:none;border-color:#cbd5e1}body.mobile-tab-shell #crew .project-worker-card:before,body.native-app #crew .project-worker-card:before{width:3px;height:auto;top:10px;bottom:10px;right:auto;left:0;border-radius:0 2px 2px 0}body.mobile-tab-shell #crew .project-worker-card__body,body.native-app #crew .project-worker-card__body{padding:12px 12px 10px 14px}body.mobile-tab-shell #crew .project-worker-card__top,body.native-app #crew .project-worker-card__top{align-items:center;gap:10px}body.mobile-tab-shell #crew .project-worker-card__identity,body.native-app #crew .project-worker-card__identity{gap:4px}body.mobile-tab-shell #crew .project-worker-card__name,body.native-app #crew .project-worker-card__name{font-size:14px;font-weight:700;line-height:1.25}body.mobile-tab-shell #crew .project-worker-card__trade,body.native-app #crew .project-worker-card__trade{font-size:10px;padding:3px 8px}body.mobile-tab-shell #crew .project-worker-card__status,body.native-app #crew .project-worker-card__status{font-size:10px!important;padding:3px 8px!important}body.mobile-tab-shell #crew .project-worker-card__bar,body.native-app #crew .project-worker-card__bar{padding:8px 12px 8px 14px;background:#f8fafc;border-top-color:#eef2f7}body.mobile-tab-shell #crew .project-worker-card__stat-val,body.native-app #crew .project-worker-card__stat-val{font-size:15px}body.mobile-tab-shell #crew .project-worker-card__stat-label,body.native-app #crew .project-worker-card__stat-label{font-size:11px}body.mobile-tab-shell #crew .project-worker-card__remove,body.native-app #crew .project-worker-card__remove{padding:6px 10px;border-radius:999px;font-size:11px}body.mobile-tab-shell #crew .project-manpower-requests--pane,body.native-app #crew .project-manpower-requests--pane{display:flex;flex-direction:column;gap:10px;padding:0 14px 14px}body.mobile-tab-shell #crew .project-manpower-request,body.native-app #crew .project-manpower-request{border-radius:14px;border:1px solid var(--line);background:var(--card);color:var(--text);padding:14px 16px}body.mobile-tab-shell #crew .project-manpower-request-title,body.native-app #crew .project-manpower-request-title{color:var(--text)}body.mobile-tab-shell #crew .project-manpower-request-meta,body.native-app #crew .project-manpower-request-meta{color:var(--muted)}@media(max-width:600px){#crew .site-worker-grid.site-worker-grid--allocation{grid-template-columns:1fr;gap:8px;padding:8px 12px 14px}}.app-tile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.app-tile{border:1px solid var(--line, #e2e8f0);border-radius:16px;background:var(--card);padding:14px 16px;box-shadow:0 4px 10px #0f172a0d;display:flex;flex-direction:column;gap:10px;min-width:0;color:var(--text)}.app-tile-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,auto);align-items:flex-start;gap:10px;min-width:0}.app-tile-head>:first-child{min-width:0;overflow:hidden}.app-tile-head .req-status{justify-self:end;min-width:150px;max-width:100%;text-align:center;white-space:normal;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.app-tile-id{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.02em;text-transform:uppercase}.app-tile-title{font-size:15px;font-weight:800;margin:2px 0 0;color:var(--text, #0f172a);line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.app-tile-chips{display:flex;flex-wrap:wrap;gap:6px}.app-tile-chips.time-entry-chips{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.app-tile-chips.time-entry-chips .proc-chip{flex-shrink:0;white-space:nowrap}.app-tile-meta{font-size:12px;color:var(--muted, #64748b);margin:0}.app-tile-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;padding-top:10px;border-top:1px solid var(--line);margin-top:auto}.tile-list-footer{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:8px;margin-top:12px;padding:10px 2px 2px}.tile-list-page-summary{flex:1 1 auto;min-width:0;font-size:12px;color:var(--muted, #64748b);font-weight:500;text-align:left;line-height:1.3}.tile-list-pagination{display:flex;gap:4px;align-items:center;flex:0 0 auto;flex-wrap:nowrap;margin-left:auto;justify-content:flex-end}.tile-list-page-btn{min-width:30px;height:30px;border:1px solid var(--line, #e2e8f0);border-radius:8px;background:var(--card, #fff);font-size:12px;font-weight:700;color:var(--text, #0f172a);cursor:pointer;padding:0 8px;transition:background .15s,border-color .15s,color .15s}.tile-list-page-btn:hover:not(:disabled):not(.active){background:var(--soft, #f8fafc);border-color:var(--line, #cbd5e1)}.tile-list-page-btn.active{background:color-mix(in srgb,var(--brand) 78%,black 22%);border-color:color-mix(in srgb,var(--brand) 78%,black 22%);color:#fff}.tile-list-page-btn:disabled{opacity:.4;cursor:not-allowed}@media(max-width:720px){.tile-list-footer{flex-direction:row;flex-wrap:nowrap;align-items:center;gap:8px}.tile-list-page-summary{text-align:left;font-size:11px}.tile-list-pagination{justify-content:flex-end}.tile-list-page-btn{min-width:28px;height:28px;padding:0 6px}}@media(max-width:720px){.app-tile-grid{grid-template-columns:1fr}}body.mobile-tab-shell .app-tile-grid,body.native-app .app-tile-grid{grid-template-columns:1fr}.fm-worker-select-all{display:flex;align-items:center;min-height:38px;margin:0;padding:8px 12px;border-bottom:1px solid var(--line, #e2e8f0);background:linear-gradient(180deg,#fff,#f8fafc);font-size:12px;font-weight:700;color:#475569}.fm-worker-select-all label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.fm-select-all-check{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:0;border:1.5px solid #94a3b8;border-radius:5px;background:#fff;cursor:pointer;display:inline-grid;place-content:center;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.fm-select-all-check:before{content:"";width:9px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) scale(0);margin-top:-2px;transition:transform .12s ease}.fm-select-all-check:hover{border-color:var(--brand);box-shadow:0 0 0 3px #22c55e1f}.fm-select-all-check:focus-visible{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #22c55e38}.fm-select-all-check:checked{border-color:var(--brand);background:var(--brand)}.fm-select-all-check:checked:before{transform:rotate(-45deg) scale(1)}.fm-select-all-check[data-partial=true]{border-color:var(--brand);background:var(--brand)}.fm-select-all-check[data-partial=true]:before{width:9px;height:0;margin:0;border-left:0;border-bottom:2px solid #fff;transform:none}.fm-worker-tile-left{display:flex;align-items:flex-start;gap:10px;min-width:0}.fm-worker-tile-times{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fm-worker-tile-time{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border-radius:12px;background:#f8fafc;border:1px solid #eef2f7;min-width:0}.fm-worker-tile-time-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8}.fm-worker-tile-actions{justify-content:flex-end}body.mobile-tab-shell #proj-ppe-view,body.native-app #proj-ppe-view,body.mobile-tab-shell .ppe-route-root,body.native-app .ppe-route-root{padding-bottom:12px}body.mobile-tab-shell #proj-ppe-view .cmd-back-bar,body.native-app #proj-ppe-view .cmd-back-bar{display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:4px 0 12px}body.mobile-tab-shell #proj-ppe-view .cmd-back-bar>div:last-child,body.native-app #proj-ppe-view .cmd-back-bar>div:last-child{margin-left:0!important;width:100%;display:flex;flex-wrap:wrap;gap:8px}body.mobile-tab-shell #proj-ppe-view .cmd-breadcrumb,body.native-app #proj-ppe-view .cmd-breadcrumb{font-size:12px;line-height:1.35;color:var(--muted)}body.mobile-tab-shell #proj-ppe-view .cmd-back-btn,body.native-app #proj-ppe-view .cmd-back-btn{align-self:flex-start;padding:7px 12px;font-size:12px}body.mobile-tab-shell #proj-ppe-view .cmd-action-btn,body.native-app #proj-ppe-view .cmd-action-btn{flex:1 1 calc(50% - 4px);min-width:0;justify-content:center;text-align:center;font-size:12px;padding:9px 12px}body.mobile-tab-shell #proj-ppe-view .ppe-enq-view-toggle,body.native-app #proj-ppe-view .ppe-enq-view-toggle{flex:1 1 100%;margin-right:0;display:flex;width:100%}body.mobile-tab-shell #proj-ppe-view .ppe-enq-view-toggle .roster-view-btn,body.native-app #proj-ppe-view .ppe-enq-view-toggle .roster-view-btn{flex:1;justify-content:center}body.mobile-tab-shell #proj-ppe-view .ds-headcount-row,body.native-app #proj-ppe-view .ds-headcount-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:6px;margin-bottom:10px;border-radius:12px;background:var(--card);border:1px solid var(--line);box-shadow:none;overflow:visible}body.mobile-tab-shell #proj-ppe-view .ds-hc-divider,body.native-app #proj-ppe-view .ds-hc-divider{display:none}body.mobile-tab-shell #proj-ppe-view .ds-hc-card,body.native-app #proj-ppe-view .ds-hc-card{flex:none;width:100%;min-width:0;padding:6px 2px;border-radius:8px;background:var(--card);border:1px solid var(--line);text-align:center;gap:1px}body.mobile-tab-shell #proj-ppe-view .ds-hc-num,body.native-app #proj-ppe-view .ds-hc-num{font-size:14px;line-height:1.1;font-weight:800}body.mobile-tab-shell #proj-ppe-view .ds-hc-label,body.native-app #proj-ppe-view .ds-hc-label{font-size:8px;margin-top:1px;line-height:1.15;white-space:normal;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}body.mobile-tab-shell #proj-ppe-view .ppe-loading-kpis,body.native-app #proj-ppe-view .ppe-loading-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:6px;overflow:visible}body.mobile-tab-shell #proj-ppe-view .ppe-loading-kpi,body.native-app #proj-ppe-view .ppe-loading-kpi{flex:none;width:100%;min-width:0;padding:6px 2px;border-radius:8px;background:var(--soft)}body.mobile-tab-shell #proj-ppe-view .enq-pipeline,body.native-app #proj-ppe-view .enq-pipeline,body.mobile-tab-shell #proj-ppe-view .ppe-loading-pipeline,body.native-app #proj-ppe-view .ppe-loading-pipeline{display:flex;flex-direction:column;gap:12px;overflow:visible;padding-bottom:0;margin-bottom:8px}body.mobile-tab-shell #proj-ppe-view .enq-col,body.native-app #proj-ppe-view .enq-col,body.mobile-tab-shell #proj-ppe-view .ppe-loading-col,body.native-app #proj-ppe-view .ppe-loading-col{min-width:0;flex:none;width:100%;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:10px;box-shadow:0 2px 8px #0f172a0a}body.mobile-tab-shell #proj-ppe-view .enq-col-header,body.native-app #proj-ppe-view .enq-col-header{margin-bottom:10px;border-radius:12px;padding:10px 12px;text-align:left}body.mobile-tab-shell #proj-ppe-view .enq-col-title,body.native-app #proj-ppe-view .enq-col-title{font-size:12px;letter-spacing:.04em}body.mobile-tab-shell #proj-ppe-view .enq-card,body.native-app #proj-ppe-view .enq-card{margin-bottom:8px;border-radius:14px;padding:12px;box-shadow:none;border-color:var(--line);background:var(--soft)}body.mobile-tab-shell #proj-ppe-view .enq-card:last-child,body.native-app #proj-ppe-view .enq-card:last-child{margin-bottom:0}body.mobile-tab-shell #proj-ppe-view .enq-card-client,body.native-app #proj-ppe-view .enq-card-client{font-size:14px}body.mobile-tab-shell #proj-ppe-view .enq-card-actions,body.native-app #proj-ppe-view .enq-card-actions{gap:6px;margin-top:10px}body.mobile-tab-shell #proj-ppe-view .enq-card-btn,body.native-app #proj-ppe-view .enq-card-btn{flex:1 1 auto;min-width:0;justify-content:center;font-size:11px;padding:7px 10px}body.mobile-tab-shell #proj-ppe-view .enq-col-empty,body.native-app #proj-ppe-view .enq-col-empty{border-style:solid;background:var(--soft);color:var(--muted);padding:16px 12px}body.mobile-tab-shell #proj-ppe-view .ppe-tab-bar,body.native-app #proj-ppe-view .ppe-tab-bar{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:8px;margin-bottom:12px}body.mobile-tab-shell #proj-ppe-view .ppe-tab-bar::-webkit-scrollbar,body.native-app #proj-ppe-view .ppe-tab-bar::-webkit-scrollbar{display:none}body.mobile-tab-shell #proj-ppe-view .ppe-tab,body.native-app #proj-ppe-view .ppe-tab{flex:0 0 auto;border-radius:999px;padding:8px 12px;font-size:11px}body.mobile-tab-shell #proj-ppe-view .ppe-tab.active,body.native-app #proj-ppe-view .ppe-tab.active{background:var(--brand-soft, var(--brand-soft));border-color:var(--brand-border, var(--brand-border));color:var(--brand-ink, var(--brand-ink))}body.mobile-tab-shell #proj-ppe-view #ppe-workspace-root>.card,body.native-app #proj-ppe-view #ppe-workspace-root>.card{border-radius:14px;padding:12px!important;font-size:12px!important;line-height:1.45!important}body.mobile-tab-shell #proj-ppe-view .ppe-panel .section-head,body.native-app #proj-ppe-view .ppe-panel .section-head{flex-direction:column;align-items:stretch;gap:8px}body.mobile-tab-shell #proj-ppe-view .upload-grid,body.native-app #proj-ppe-view .upload-grid{grid-template-columns:1fr}body.mobile-tab-shell #proj-ppe-view .tablewrap,body.native-app #proj-ppe-view .tablewrap,body.mobile-tab-shell #proj-ppe-view .ppe-desktop-table,body.native-app #proj-ppe-view .ppe-desktop-table,body.mobile-tab-shell #proj-ppe-view .boq-desktop-only,body.native-app #proj-ppe-view .boq-desktop-only,body.mobile-tab-shell #proj-ppe-view .pc-est-desktop-only,body.native-app #proj-ppe-view .pc-est-desktop-only,body.mobile-tab-shell #proj-ppe-view .boq-table-shell,body.native-app #proj-ppe-view .boq-table-shell,body.mobile-tab-shell #proj-ppe-view table,body.native-app #proj-ppe-view table{display:none!important}body.mobile-tab-shell #proj-ppe-view .boq-mobile-only,body.native-app #proj-ppe-view .boq-mobile-only,body.mobile-tab-shell #proj-ppe-view .pc-est-mobile-only,body.native-app #proj-ppe-view .pc-est-mobile-only,body.mobile-tab-shell #proj-ppe-view .ppe-mobile-tiles,body.native-app #proj-ppe-view .ppe-mobile-tiles{display:flex!important;flex-direction:column;gap:12px}body.mobile-tab-shell #proj-ppe-view [data-ppe-enq-view],body.native-app #proj-ppe-view [data-ppe-enq-view],body.mobile-tab-shell #proj-ppe-view .roster-view-btn[data-ppe-enq-view],body.native-app #proj-ppe-view .roster-view-btn[data-ppe-enq-view]{display:none!important}body.mobile-tab-shell #proj-ppe-view #ppe-enq-pipeline,body.native-app #proj-ppe-view #ppe-enq-pipeline{display:flex!important}body.mobile-tab-shell #proj-ppe-view #ppe-enq-table,body.native-app #proj-ppe-view #ppe-enq-table{display:none!important}body.mobile-tab-shell #proj-ppe-view .pc-est-builder,body.native-app #proj-ppe-view .pc-est-builder{border-radius:14px}body.mobile-tab-shell #proj-ppe-view .pc-est-builder-head,body.native-app #proj-ppe-view .pc-est-builder-head{flex-direction:column;align-items:stretch;gap:10px;padding:14px 12px 12px}body.mobile-tab-shell #proj-ppe-view .pc-est-builder-title,body.native-app #proj-ppe-view .pc-est-builder-title{font-size:15px}body.mobile-tab-shell #proj-ppe-view .pc-est-builder-actions .qa-btn,body.native-app #proj-ppe-view .pc-est-builder-actions .qa-btn{width:100%;justify-content:center}body.mobile-tab-shell #proj-ppe-view .pc-est-tiles-shell,body.native-app #proj-ppe-view .pc-est-tiles-shell{display:flex!important;flex-direction:column;padding:10px;gap:12px}body.mobile-tab-shell #proj-ppe-view .pc-est-grand strong,body.native-app #proj-ppe-view .pc-est-grand strong{font-size:14px}body.mobile-tab-shell #proj-ppe-view .pc-quot-builder,body.native-app #proj-ppe-view .pc-quot-builder{border-radius:14px}body.mobile-tab-shell #proj-ppe-view .pc-quot-builder-head,body.native-app #proj-ppe-view .pc-quot-builder-head{flex-direction:column;align-items:stretch;gap:10px;padding:14px 12px 12px}body.mobile-tab-shell #proj-ppe-view .pc-quot-builder-title,body.native-app #proj-ppe-view .pc-quot-builder-title{font-size:15px}body.mobile-tab-shell #proj-ppe-view .pc-quot-builder-actions,body.native-app #proj-ppe-view .pc-quot-builder-actions{width:100%}body.mobile-tab-shell #proj-ppe-view .pc-quot-builder-actions .qa-btn,body.mobile-tab-shell #proj-ppe-view .pc-quot-builder-actions .rpt-export-btn,body.native-app #proj-ppe-view .pc-quot-builder-actions .qa-btn,body.native-app #proj-ppe-view .pc-quot-builder-actions .rpt-export-btn{flex:1 1 calc(50% - 4px);justify-content:center;text-align:center;font-size:12px;padding:9px 10px}body.mobile-tab-shell #proj-ppe-view .pc-quot-summary.pc-est-mobile-only,body.native-app #proj-ppe-view .pc-quot-summary.pc-est-mobile-only{display:grid!important}body.mobile-tab-shell #proj-ppe-view .pc-quot-tiles-shell.pc-est-mobile-only,body.native-app #proj-ppe-view .pc-quot-tiles-shell.pc-est-mobile-only{display:flex!important}body.mobile-tab-shell #proj-ppe-view .pc-quot-preview-wrap,body.native-app #proj-ppe-view .pc-quot-preview-wrap{padding:10px}body.mobile-tab-shell #proj-ppe-view .quot-preview,body.native-app #proj-ppe-view .quot-preview{padding:14px 12px;border-radius:14px}body.mobile-tab-shell #proj-ppe-view .quot-preview-header,body.native-app #proj-ppe-view .quot-preview-header{flex-direction:column;align-items:stretch}body.mobile-tab-shell #proj-ppe-view .quot-preview-meta,body.native-app #proj-ppe-view .quot-preview-meta{text-align:left}body.mobile-tab-shell #proj-ppe-view .quot-company,body.native-app #proj-ppe-view .quot-company{font-size:15px}body.mobile-tab-shell #proj-ppe-view .quot-info-grid,body.native-app #proj-ppe-view .quot-info-grid{grid-template-columns:1fr}body.mobile-tab-shell #proj-ppe-view .quot-breakdown-row,body.native-app #proj-ppe-view .quot-breakdown-row{font-size:11px}body.mobile-tab-shell #proj-ppe-view .quot-breakdown-row.total,body.native-app #proj-ppe-view .quot-breakdown-row.total{font-size:13px}body.mobile-tab-shell #proj-ppe-view .quot-preview-footer,body.native-app #proj-ppe-view .quot-preview-footer{flex-direction:column;gap:4px}body.mobile-tab-shell #proj-ppe-view .quot-preview-actions .rpt-export-btn,body.native-app #proj-ppe-view .quot-preview-actions .rpt-export-btn{width:100%;justify-content:center}body.mobile-tab-shell #proj-ppe-view .margin-grid,body.native-app #proj-ppe-view .margin-grid{grid-template-columns:1fr}body.mobile-tab-shell #proj-ppe-view .wl-row,body.native-app #proj-ppe-view .wl-row{flex-wrap:wrap;gap:8px;padding:12px}body.mobile-tab-shell #proj-ppe-view .wl-reason,body.native-app #proj-ppe-view .wl-reason{max-width:none;text-align:left;width:100%}body.mobile-tab-shell #proj-ppe-view .boq-desktop-only,body.native-app #proj-ppe-view .boq-desktop-only{display:none!important}body.mobile-tab-shell #proj-ppe-view .boq-mobile-only,body.native-app #proj-ppe-view .boq-mobile-only{display:flex!important}body.mobile-tab-shell #proj-ppe-view .boq-summary.boq-mobile-only,body.native-app #proj-ppe-view .boq-summary.boq-mobile-only{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}body.mobile-tab-shell #proj-ppe-view .boq-builder,body.native-app #proj-ppe-view .boq-builder{border-radius:14px}body.mobile-tab-shell #proj-ppe-view .boq-builder-head,body.native-app #proj-ppe-view .boq-builder-head{flex-direction:column;align-items:stretch;gap:10px;padding:14px 12px 12px}body.mobile-tab-shell #proj-ppe-view .boq-builder-title,body.native-app #proj-ppe-view .boq-builder-title{font-size:15px}body.mobile-tab-shell #proj-ppe-view .boq-builder-actions,body.native-app #proj-ppe-view .boq-builder-actions{width:100%}body.mobile-tab-shell #proj-ppe-view .boq-builder-actions .qa-btn,body.mobile-tab-shell #proj-ppe-view .boq-builder-actions .rpt-export-btn,body.native-app #proj-ppe-view .boq-builder-actions .qa-btn,body.native-app #proj-ppe-view .boq-builder-actions .rpt-export-btn{flex:1 1 calc(50% - 4px);justify-content:center;text-align:center;font-size:12px;padding:9px 10px}body.mobile-tab-shell #proj-ppe-view .boq-summary-cell,body.native-app #proj-ppe-view .boq-summary-cell{padding:8px 10px;border-radius:10px;min-width:0}body.mobile-tab-shell #proj-ppe-view .boq-summary-value,body.native-app #proj-ppe-view .boq-summary-value{font-size:12px;line-height:1.25;overflow-wrap:anywhere;word-break:break-word}body.mobile-tab-shell #proj-ppe-view .boq-tiles-shell,body.native-app #proj-ppe-view .boq-tiles-shell{display:flex!important;flex-direction:column;padding:10px;gap:12px}body.mobile-tab-shell #proj-ppe-view .boq-tile-grid,body.native-app #proj-ppe-view .boq-tile-grid{grid-template-columns:1fr;gap:10px;padding:10px}body.mobile-tab-shell #proj-ppe-view .boq-cat-head,body.native-app #proj-ppe-view .boq-cat-head{flex-wrap:wrap;padding:10px 12px}body.mobile-tab-shell #proj-ppe-view .boq-cat-subtotal,body.native-app #proj-ppe-view .boq-cat-subtotal{max-width:100%;text-align:left;width:100%;overflow-wrap:anywhere}body.mobile-tab-shell #proj-ppe-view .boq-tile .boq-input,body.native-app #proj-ppe-view .boq-tile .boq-input{min-height:40px;height:40px;font-size:13px}body.mobile-tab-shell #proj-ppe-view .boq-tile-stat strong,body.native-app #proj-ppe-view .boq-tile-stat strong{font-size:12px;overflow-wrap:anywhere}body.mobile-tab-shell #proj-ppe-view .boq-grand-bar,body.native-app #proj-ppe-view .boq-grand-bar{padding:12px}body.mobile-tab-shell #proj-ppe-view .boq-grand-bar-line strong,body.native-app #proj-ppe-view .boq-grand-bar-line strong{font-size:12px;overflow-wrap:anywhere}body.mobile-tab-shell #proj-ppe-view .boq-grand-bar-line--total strong,body.native-app #proj-ppe-view .boq-grand-bar-line--total strong{font-size:15px}body.mobile-tab-shell{--app-status-chrome: calc(max(env(safe-area-inset-top, 0px), 24px) + 36px) ;--app-topbar-height: 56px;--app-modal-top: calc(var(--app-status-chrome) + var(--app-topbar-height))}body.native-app{--app-status-chrome: var(--app-status-bar-inset, env(safe-area-inset-top, 28px));--app-topbar-height: 56px;--app-modal-top: calc(var(--app-status-chrome) + var(--app-topbar-height))}body.mobile-tab-shell .material-request-overlay,body.mobile-tab-shell .fm-modal-backdrop,body.mobile-tab-shell .fm-req-overlay,body.mobile-tab-shell .fm-alert-backdrop,body.mobile-tab-shell .confirm-dialog-overlay,body.mobile-tab-shell .request-success-overlay,body.mobile-tab-shell .admin-modal-overlay,body.mobile-tab-shell .admin-sheet-overlay,body.mobile-tab-shell .clock-modal-overlay,body.mobile-tab-shell .eng-req-modal-backdrop,body.mobile-tab-shell .eng-req-view-overlay,body.mobile-tab-shell .members-modal-overlay,body.mobile-tab-shell .gsearch-overlay,body.native-app .material-request-overlay,body.native-app .fm-modal-backdrop,body.native-app .fm-req-overlay,body.native-app .fm-alert-backdrop,body.native-app .confirm-dialog-overlay,body.native-app .request-success-overlay,body.native-app .admin-modal-overlay,body.native-app .admin-sheet-overlay,body.native-app .clock-modal-overlay,body.native-app .eng-req-modal-backdrop,body.native-app .eng-req-view-overlay,body.native-app .members-modal-overlay,body.native-app .gsearch-overlay{inset:var(--app-modal-top) 0 0 0}body.mobile-tab-shell .material-request-overlay,body.native-app .material-request-overlay{bottom:var(--vv-keyboard-inset, 0px)}body.mobile-tab-shell .clock-modal,body.native-app .clock-modal{top:calc(50% + (var(--app-modal-top) / 2));max-height:calc(100dvh - var(--app-modal-top) - 24px)}body.mobile-tab-shell .admin-sheet:not(.admin-sheet--center),body.native-app .admin-sheet:not(.admin-sheet--center){max-height:calc(100dvh - var(--app-modal-top));width:100%}body.mobile-tab-shell .admin-sheet-overlay--center,body.native-app .admin-sheet-overlay--center{padding:max(16px,env(safe-area-inset-top,0px)) 16px max(16px,env(safe-area-inset-bottom,0px))}body.mobile-tab-shell .admin-sheet--center,body.native-app .admin-sheet--center{width:min(520px,calc(100vw - 32px));max-height:min(88dvh,calc(100dvh - var(--app-modal-top) - 24px))}body.mobile-tab-shell .eng-req-modal-backdrop,body.native-app .eng-req-modal-backdrop{align-items:stretch;justify-content:stretch;padding:0;background:var(--card);-webkit-backdrop-filter:none;backdrop-filter:none;overflow:hidden}body.mobile-tab-shell .eng-req-modal,body.native-app .eng-req-modal,body.mobile-tab-shell .eng-req-view-modal,body.native-app .eng-req-view-modal,body.mobile-tab-shell .eng-req-modal-sm,body.native-app .eng-req-modal-sm{width:100%;max-width:none;height:100%;max-height:none;min-height:0;flex:1 1 auto;border:none;border-radius:0;box-shadow:none;background:var(--card)}body.mobile-tab-shell .eng-req-modal-body,body.native-app .eng-req-modal-body{flex:1 1 auto;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch}body.mobile-tab-shell .eng-req-modal-footer,body.native-app .eng-req-modal-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px))}body.native-app button,body.native-app a.bottom-tab-item,body.mobile-tab-shell button,body.mobile-tab-shell a.bottom-tab-item,body.native-app [role=button],body.native-app [role=tab],body.mobile-tab-shell [role=button],body.mobile-tab-shell [role=tab]{touch-action:manipulation;-webkit-tap-highlight-color:rgba(15,23,42,.12)}body.native-app .bottom-tab-item,body.mobile-tab-shell .bottom-tab-item{flex:1 1 0;min-height:52px;min-width:48px}body.native-app .fm-workspace-tab,body.native-app .fm-mobile-btn-in,body.native-app .fm-mobile-btn-out,body.native-app .fm-raise-type-card,body.native-app .fm-m-worker-card.is-selectable,body.mobile-tab-shell .fm-workspace-tab,body.mobile-tab-shell .fm-mobile-btn-in,body.mobile-tab-shell .fm-mobile-btn-out,body.mobile-tab-shell .fm-raise-type-card,body.mobile-tab-shell .fm-m-worker-card.is-selectable{min-height:44px}body.native-app .fm-page-btn,body.native-app .tile-list-page-btn,body.mobile-tab-shell .fm-page-btn,body.mobile-tab-shell .tile-list-page-btn,body.native-app .toggle,body.mobile-tab-shell .toggle{min-width:44px;min-height:44px}body.native-app .notif-btn,body.native-app .profile-btn,body.native-app .shell-help-btn,body.mobile-tab-shell .notif-btn,body.mobile-tab-shell .profile-btn{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.req,.field-required-mark,.fm-required-star,.pc-enq-label>span,.pc-upload-label>span,.pc-boq-label>span,label .req{color:#dc2626!important;font-weight:800;margin-left:2px}.route-error-fallback{display:flex;flex:1 1 auto;align-items:center;justify-content:center;min-height:min(320px,50dvh);padding:24px 16px}body.native-app .route-error-fallback,body.mobile-tab-shell .route-error-fallback{min-height:min(280px,45dvh)}.app-icon{display:inline-block;vertical-align:-.2em;flex-shrink:0}.tab .app-icon,.qa-btn .app-icon,.action .app-icon,.rpt-export-btn .app-icon,.proj-card-tab .app-icon,.kpi-icon .app-icon,.notif-btn .app-icon,.burger .app-icon,.search-icon .app-icon,.gsearch-icon .app-icon,.eng-req-modal-icon .app-icon,.payroll-ot-title .app-icon{margin-right:6px}.kpi-icon{display:grid;place-items:center}.kpi-icon .app-icon{margin-right:0}.menu-item-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;flex-shrink:0;transition:color .15s,background .15s,border-color .15s}.menu-item.active .menu-item-icon{color:var(--brand);background:var(--brand-soft);border-color:var(--brand-border)}.icon-badge{display:inline-grid;place-items:center;border-radius:999px;border:1px solid transparent;flex-shrink:0}.qa-btn .icon-badge,.fm-quick-btn .icon-badge{margin-right:2px}.fm-quick-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px}.fm-req-card-icon-wrap{flex-shrink:0}.material-request-icon-wrap{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0;color:#334155}.material-request-icon-wrap--material,.material-request-icon-wrap--manpower{background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand)}.material-request-icon-wrap--drawing{background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-ink)}.material-request-icon-wrap--reject{background:#fee2e2;border-color:#fecaca;color:#dc2626}.members-search-wrap .search-icon-svg,.fm-worker-search-icon-svg{position:static;display:block;width:14px;height:14px;flex-shrink:0;color:inherit;pointer-events:none}.fm-worker-search-wrap .fm-worker-search-icon-svg{position:absolute;left:9px;top:50%;transform:translateY(-50%)}.mem-subtab-with-icon{display:inline-flex;align-items:center;gap:6px}.mem-subtab-with-icon .app-icon{opacity:.75}.mem-subtab.active.mem-subtab-with-icon .app-icon{opacity:1}.material-request-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10050;display:flex;justify-content:flex-end;align-items:stretch;padding:0;background:#0f172a47;overflow:hidden;overscroll-behavior:none;animation:admin-sheet-fade .16s ease-out}.material-request-overlay--stacked{z-index:10060}.material-request-overlay--center{display:grid!important;place-items:center!important;justify-content:center!important;align-items:center!important;padding:20px;background:#0f172a6b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:none}.material-request-card{width:min(520px,100vw);height:100%;max-height:100dvh;display:flex;flex-direction:column;overflow:hidden;margin:0;border:0;border-left:1px solid var(--line);border-radius:0;background:var(--card);color:var(--text);box-shadow:-18px 0 48px #0f172a24;animation:admin-sheet-slide .22s cubic-bezier(.22,1,.36,1)}.material-request-overlay--center .material-request-card{width:min(520px,calc(100vw - 32px));height:auto!important;max-height:min(90vh,720px);margin:auto!important;border:1px solid var(--line);border-left:1px solid var(--line);border-radius:20px;box-shadow:0 24px 60px #0f172a33;animation:none!important}.material-request-card.assign-crew-request-card{width:min(680px,100vw)}.material-request-card.material-request-card--review{width:min(400px,100vw)}.material-request-card--review .material-request-head{padding:16px 18px 12px}.material-request-card--review .material-request-head-text strong{font-size:16px;line-height:1.25}.material-request-card--review .material-request-form-scroll{gap:12px;padding:14px 18px 12px}.material-request-card--review .material-request-footer{padding:10px 18px calc(12px + env(safe-area-inset-bottom,0px))}.material-request-card--review .material-request-textarea{min-height:88px;resize:vertical}@media(max-width:640px){.material-request-card,.material-request-card.assign-crew-request-card,.material-request-card.material-request-card--review{width:100vw}}.material-request-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px 14px;border-bottom:1px solid var(--line)}.material-request-title-row{display:flex;align-items:center;gap:8px;font-size:17px;color:var(--text)}.material-request-icon{font-size:18px;line-height:1}.material-request-sub{margin:4px 0 0;font-size:12px;color:var(--muted)}.material-request-close{width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--muted);cursor:pointer;display:grid;place-items:center;flex-shrink:0;transition:background .15s,color .15s}.material-request-close:hover{background:var(--soft);color:var(--text)}.material-request-form{display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden;flex:1;min-height:0}.material-request-form-scroll{display:flex;flex-direction:column;gap:14px;padding:18px 20px 16px;overflow-x:hidden;overflow-y:auto;flex:1 1 auto;min-height:0;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.material-request-hint,.material-request-file-name{margin:6px 0 0;font-size:12px;line-height:1.35;color:var(--muted, #64748b)}.material-request-file-name{color:var(--text, #0f172a)}.material-request-footer{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-shrink:0;margin-top:0;padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--card)}.material-request-form .entry-field label{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.field-required-mark{color:#dc2626;font-weight:800;margin-left:2px}.material-request-form .field-error{display:block;font-size:11px;color:#b91c1c;line-height:1.35;margin-top:4px;font-weight:600}.material-request-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.material-request-qty-inputs{display:grid;grid-template-columns:minmax(72px,.9fr) minmax(0,1.1fr);gap:8px;align-items:center}.material-request-qty-amount,.material-request-qty-unit{min-width:0}.material-request-qty-inputs .material-combobox{min-width:0;width:100%}.material-combobox{position:relative;display:flex;align-items:center}.material-combobox-input{width:100%;padding-right:38px}.material-combobox.is-open .material-combobox-input{border-color:var(--brand-border);box-shadow:0 0 0 3px #16a34a1f}.material-combobox-chevron{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:22px;height:22px;border:none;border-radius:6px;background:#eef2f7;color:#64748b;display:grid;place-items:center;cursor:pointer;padding:0;transition:color .15s,background .15s,transform .15s}.material-combobox.is-open .material-combobox-chevron{color:#15803d;background:var(--ok-soft);transform:translateY(-50%) rotate(180deg)}.material-combobox-menu{z-index:10250}.scrollable-select-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;cursor:pointer;width:100%;padding-right:10px}.scrollable-select-trigger:hover .scrollable-select-chevron{color:#334155;background:#e2e8f0}.scrollable-select-trigger.is-open{border-color:var(--brand-border);box-shadow:0 0 0 3px #16a34a1f}.scrollable-select-trigger.is-open .scrollable-select-chevron{color:#15803d;background:var(--ok-soft);transform:rotate(180deg)}.scrollable-select-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scrollable-select-value.is-placeholder{color:var(--muted)}.scrollable-select-chevron{flex-shrink:0;display:grid;place-items:center;width:22px;height:22px;border-radius:6px;color:#64748b;background:#eef2f7;line-height:1;transition:color .15s,background .15s,transform .15s}.scrollable-select-chevron svg{display:block}.scrollable-select-menu{position:fixed;z-index:10240;margin:0;padding:4px;list-style:none;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:#fff;border:1px solid #d7e3f0;border-radius:10px;box-shadow:0 10px 28px #0f172a29;scrollbar-width:thin}.scrollable-select-menu::-webkit-scrollbar{width:6px}.scrollable-select-menu::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.scrollable-select-option{display:block;width:100%;border:none;background:transparent;text-align:left;font-size:13px;font-weight:600;color:var(--text);padding:8px 10px;border-radius:8px;cursor:pointer;line-height:1.25}.scrollable-select-option:hover{background:#f1f5f9}.scrollable-select-option.is-selected{background:#dbeafe;color:var(--brand-ink)}.material-request-date-inputs{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:8px;align-items:center;position:relative;overflow:visible}.material-request-date-inputs--infield{display:block;position:relative}.material-request-date-inputs--infield .material-request-date-text{width:100%;padding-right:42px}.material-request-date-inputs--infield .material-request-date-btn-wrap,.material-request-date-inputs--infield .material-request-date-cal-wrap{position:absolute;right:3px;top:3px;bottom:auto;transform:none;width:34px;height:34px;min-width:34px;z-index:2}.material-request-date-inputs--infield .material-request-date-btn{width:34px;height:34px;border-radius:8px}.material-request-date-text{min-width:0;cursor:pointer}.material-request-date-btn-wrap{position:relative;width:40px;height:40px;flex-shrink:0}.material-request-date-btn{width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:var(--card, #fff);color:var(--muted);cursor:pointer;display:grid;place-items:center;flex-shrink:0;pointer-events:none}.material-request-date-btn--interactive{pointer-events:auto}.material-request-date-btn-wrap:hover .material-request-date-btn,.material-request-date-btn--interactive:hover{background:#f8fafc;color:var(--text);border-color:#cbd5e1}.material-request-date-native{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:.011;cursor:pointer;border:0;padding:0;margin:0;z-index:2;color:transparent;background:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.material-request-date-native::-webkit-calendar-picker-indicator{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.material-request-date-cal-wrap{position:relative;width:40px;height:40px;flex-shrink:0}.material-request-date-cal-wrap .material-request-date-btn{width:40px;height:40px}.material-request-date-cal{position:fixed;z-index:11000;width:268px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--card, #fff);box-shadow:0 14px 36px #0f172a29}.material-request-date-cal-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.material-request-date-cal-title{font-size:13px;font-weight:700;color:var(--text)}.material-request-date-cal-nav{width:28px;height:28px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);font-size:16px;line-height:1;cursor:pointer}.material-request-date-cal-nav:hover{background:#f8fafc}.material-request-date-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);text-align:center}.material-request-date-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.material-request-date-cal-day{height:32px;border:0;border-radius:8px;background:transparent;color:var(--text);font-size:12px;font-weight:600;cursor:pointer}.material-request-date-cal-day.is-empty{visibility:hidden;pointer-events:none}.material-request-date-cal-day:hover:not(:disabled){background:#f1f5f9}.material-request-date-cal-day.is-today:not(.is-selected){box-shadow:inset 0 0 0 1px var(--brand-border, #86efac)}.material-request-date-cal-day.is-selected{background:var(--brand, #166534);color:#fff}.material-request-date-cal-day:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.material-request-date-cal-day.is-past:disabled{text-decoration:line-through}.material-request-textarea{min-height:80px;resize:vertical}.material-request-form .material-request-textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--card);color:var(--text);font:inherit;font-size:13px;line-height:1.5}.material-request-form .material-request-textarea:focus{outline:none;border-color:var(--brand-border, #86efac);box-shadow:0 0 0 3px #16a34a14}.material-request-form .entry-field.has-error .material-request-textarea{border-color:#f87171}.material-request-error{margin-bottom:0}.material-request-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;min-width:108px;padding:10px 18px;border-radius:10px;font-size:13px;font-weight:700;line-height:1.2;cursor:pointer;transition:background .15s,border-color .15s}.material-request-btn:disabled{opacity:.65;cursor:not-allowed}.material-request-btn-cancel{background:var(--card);border:1px solid var(--line);color:var(--text);font-weight:600}.material-request-btn-cancel:hover:not(:disabled){background:var(--soft)}.material-request-btn-submit{background:var(--brand-soft);border:1px solid var(--brand-border);color:var(--brand-ink)}.material-request-btn-submit:hover:not(:disabled){background:var(--ok-soft)}.material-request-btn-submit--danger{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.material-request-btn-submit--danger:hover:not(:disabled){background:#fecaca;border-color:#f87171;color:#7f1d1d}.reject-request-overlay{z-index:13000}.reject-request-card{width:min(520px,calc(100vw - 32px))}.reject-request-summary{padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.reject-request-summary-top{display:flex;align-items:flex-start;gap:12px}.reject-request-summary-copy{min-width:0;flex:1}.reject-request-summary-type{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.reject-request-summary-title{margin-top:2px;font-size:14px;font-weight:700;color:var(--text);line-height:1.35}.reject-request-summary-meta{margin-top:4px;font-size:12px;font-weight:500;color:var(--muted);line-height:1.4}.reject-request-field textarea.material-request-textarea{min-height:120px;width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--card);color:var(--text);font:inherit;font-size:13px;line-height:1.5}.reject-request-field textarea.material-request-textarea:focus{outline:none;border-color:#f87171;box-shadow:0 0 0 3px #f871712e}.reject-request-field.has-error textarea.material-request-textarea{border-color:#f87171}.reject-request-hint{margin-top:6px;font-size:11px;font-weight:500;color:var(--muted);line-height:1.4}.reject-request-quick{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.reject-request-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--soft);color:var(--text);border-radius:999px;padding:6px 10px;font-size:11px;font-weight:600;cursor:pointer;line-height:1.2}.reject-request-chip:hover:not(:disabled){border-color:var(--brand-border);background:var(--brand-soft);color:var(--brand-ink)}.reject-request-chip:disabled{opacity:.55;cursor:not-allowed}.proc-reject-modal .clock-modal-header{border-bottom:1px solid var(--line)}.proc-reject-summary{padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.proc-reject-summary-label{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.proc-reject-summary-title{margin-top:4px;font-size:14px;font-weight:700;color:var(--text);line-height:1.35}.proc-reject-textarea{min-height:120px;resize:vertical;width:100%;box-sizing:border-box;background:var(--card);color:var(--text);border:1px solid var(--line)}.proc-reject-textarea:focus{outline:none;border-color:#f87171;box-shadow:0 0 0 3px #f871712e}.proc-reject-hint{margin-top:6px;font-size:11px;font-weight:500;color:var(--muted);line-height:1.4}.proc-reject-submit-btn{background:#fee2e2!important;border-color:#fca5a5!important;color:#991b1b!important}.proc-reject-submit-btn:hover:not(:disabled){background:#fecaca!important;border-color:#f87171!important;color:#7f1d1d!important}@media(max-width:520px){.material-request-row{grid-template-columns:1fr}.material-request-qty-inputs{grid-template-columns:1fr 1fr}.material-request-footer{flex-direction:column-reverse;align-items:stretch}.material-request-btn{width:100%}}body.modal-open{overflow:hidden;position:fixed;width:100%;left:0;right:0}body.modal-open .sidebar,body.modal-open .topbar{z-index:0}#recordReceiptOverlay.clock-modal-overlay,#recordReceiptModal.clock-modal{z-index:12050}.clock-modal-body{overflow-y:auto;flex:1;min-height:0;scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.28) transparent}.clock-modal-body::-webkit-scrollbar{width:5px}.clock-modal-body::-webkit-scrollbar-track{background:transparent}.clock-modal-body::-webkit-scrollbar-thumb{background:#94a3b847;border-radius:999px}.clock-modal-body::-webkit-scrollbar-thumb:hover{background:#94a3b873}.clock-modal-footer{display:flex!important;justify-content:flex-end!important;align-items:center;gap:10px;padding:14px 20px;border-top:1px solid var(--line);background:#f8fbff;flex-shrink:0}.clock-modal-footer .clock-submit{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;min-width:108px;width:auto;flex:0 0 auto;padding:10px 22px;border-radius:10px;font-size:13px;font-weight:700;line-height:1.2;cursor:pointer;box-shadow:0 1px 2px #0f172a0f}.clock-modal-footer .clock-submit:not(.secondary){background:var(--accent-base, var(--brand, #8b6f2c));border:1px solid color-mix(in srgb,var(--accent-base, var(--brand, #8b6f2c)) 72%,#000);color:#fff}.clock-modal-footer .clock-submit:not(.secondary):hover{background:color-mix(in srgb,var(--accent-base, var(--brand, #8b6f2c)) 82%,#000);border-color:color-mix(in srgb,var(--accent-base, var(--brand, #8b6f2c)) 82%,#000)}.clock-modal-footer .clock-submit.secondary{background:#fff;border:1px solid #cbd5e1;color:#334155;font-weight:600}.clock-modal-footer .clock-submit.secondary:hover{background:#f8fafc}.clock-input.clock-input-invalid{border-color:#fca5a5;box-shadow:0 0 0 3px #fca5a533}.clock-field-error{font-size:11px;color:#dc2626;display:none}.clock-field-error.show{display:block}@media(max-width:520px){.clock-modal-footer{flex-direction:column-reverse;align-items:stretch}.clock-modal-footer .clock-submit{width:100%}}.proc-req-actions{display:flex;flex-direction:row;flex-wrap:nowrap;gap:6px;align-items:center;justify-content:flex-start;width:max-content;max-width:none}.proc-req-actions.proc-req-actions--stacked{flex-direction:column;align-items:stretch;gap:6px;width:min(100%,200px);min-width:148px;max-width:200px}.proc-req-actions--stacked .proc-req-actions__primary,.proc-req-actions--stacked .proc-req-actions__secondary{display:flex;gap:6px;align-items:center}.proc-req-actions--stacked .proc-req-actions__primary .req-approve-btn{width:100%;justify-content:center}.proc-req-actions--stacked .proc-req-actions__secondary{justify-content:space-between}.proc-req-actions--stacked .proc-req-actions__secondary .req-approve-btn,.proc-req-actions--stacked .proc-req-actions__secondary .req-reject-btn{flex:1;justify-content:center;min-width:0}.proc-req-actions .req-approve-btn,.proc-req-actions .req-reject-btn{display:inline-flex;align-items:center;font-size:11px;font-weight:600;border-radius:999px;padding:5px 10px;flex:0 0 auto;white-space:nowrap;cursor:pointer}.proc-req-actions .req-approve-btn{border:1px solid var(--brand-border, #c4a484);background:var(--ok-soft, #f5efe6);color:var(--brand-ink, #5c4a2a)}.proc-req-actions .req-approve-btn.secondary{border-color:#cbd5e1;background:#f8fafc;color:#334155}.proc-req-actions .req-reject-btn{border:1px solid #fecaca;background:#fef2f2;color:#b91c1c}.proc-req-actions__hint{display:inline-block;font-size:11px;font-weight:600;line-height:1.3;color:#64748b;white-space:nowrap}.proc-status-cell,.proc-view-col{vertical-align:middle;text-align:center}.proc-view-col{width:48px;min-width:48px;max-width:48px;padding-left:4px;padding-right:4px}.proc-data-table td.proc-view-col,.proc-data-table th.proc-view-col{overflow:visible;text-overflow:clip;white-space:nowrap}.proc-data-table th.proc-view-col,.proc-data-table th.proc-action-head{overflow:visible;text-overflow:clip}.proc-view-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-width:32px;max-width:32px;padding:0;border-radius:10px;border:1px solid var(--line, #e2e8f0);background:#fff;color:#64748b;cursor:pointer;overflow:hidden;font-size:0;line-height:0;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.proc-view-btn svg{flex-shrink:0;display:block}.proc-view-btn:hover{background:#faf6f1;border-color:#c4a484;color:#8b6914;box-shadow:0 1px 4px #8b69141f}.proc-view-btn:focus-visible{outline:2px solid rgba(196,164,132,.45);outline-offset:1px}.view-material-request-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;height:100dvh;max-height:100dvh;z-index:12050;align-items:stretch;justify-content:flex-end;padding:0;background:#0f172a52;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);overflow:hidden}.view-material-request-overlay.open{display:flex}.view-material-request-card{width:min(480px,100vw);height:100%!important;max-height:100dvh!important;min-height:0!important;background:#fff;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;overflow:hidden!important;border-radius:0;border:0;border-left:1px solid #e8e4dc;box-shadow:-18px 0 48px #0f172a29}.view-material-request-card .proc-view-drawer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 22px 16px;border-bottom:1px solid #eef1f4;background:linear-gradient(180deg,#faf8f4,#fff);flex:0 0 auto}.view-material-request-card .proc-view-drawer-head h2{margin:0;font-size:22px;line-height:1.2;letter-spacing:-.02em;color:#1f2937;font-weight:800}.view-material-request-card .proc-view-drawer-sub{display:inline-flex;margin:8px 0 0;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:700;color:#6b4f2a;background:#f3ebe0;border:1px solid #e6d7c3}.view-material-request-card .material-request-footer{flex:0 0 auto;margin-top:0;padding:14px 22px calc(16px + env(safe-area-inset-bottom,0px));position:relative;z-index:3;background:#fff}.view-material-request-card .proc-view-drawer-head .material-request-close{position:relative;z-index:3;touch-action:manipulation}body.mobile-tab-shell .view-material-request-card .material-request-close,body.native-app .view-material-request-card .material-request-close{width:40px;height:40px;font-size:22px;line-height:1}body.mobile-tab-shell .view-material-request-card .material-request-btn-cancel,body.native-app .view-material-request-card .material-request-btn-cancel{min-height:44px;min-width:96px;touch-action:manipulation}.proc-view-modal-body.material-request-form-scroll,.view-material-request-card .proc-view-modal-body{grid-row:2;align-self:stretch!important;display:flex!important;flex-direction:column!important;gap:14px;min-height:0!important;max-height:none!important;height:auto!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:16px 22px 48px!important;background:#fff;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.view-material-request-card .proc-view-modal-body::-webkit-scrollbar{width:6px}.view-material-request-card .proc-view-modal-body::-webkit-scrollbar-track{background:transparent}.view-material-request-card .proc-view-modal-body::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:999px}.view-material-request-card .proc-view-modal-body::-webkit-scrollbar-thumb:hover{background:#cbd5e1}.view-material-request-card .proc-view-modal-body::-webkit-scrollbar-button{display:none;width:0;height:0}.proc-view-head-badges{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.proc-view-head-badges .req-status{font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px}.proc-view-priority-chip{font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;background:#fff7ed;border:1px solid #fed7aa;color:#c2410c}.proc-view-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.proc-view-summary-card{min-width:0;padding:12px 14px;border:1px solid #eee8df;border-radius:14px;background:#faf8f4}.proc-view-summary-card span{display:block;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;margin-bottom:6px}.proc-view-summary-card strong{display:block;font-size:13px;font-weight:800;color:#1f2937;line-height:1.35;word-break:break-word}.proc-view-hero{padding:8px 12px;border-radius:10px;background:var(--card, #fff);border:1px solid var(--brand-border, #e8dcc8)}.proc-view-hero-label{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#8b6914;margin-bottom:3px}.proc-view-hero-text{margin:0;font-size:13px;line-height:1.35;color:var(--text, #0f172a);font-weight:700;word-break:break-word}.proc-view-hero-purpose{font-weight:600;color:var(--muted, #64748b)}.proc-view-section{background:#fff;border:1px solid #eee8df;border-radius:16px;overflow:visible;flex:0 0 auto}.proc-view-scroll-end{flex:0 0 12px;height:12px}.proc-view-section-title{margin:0;padding:12px 16px 0;font-size:13px;font-weight:800;color:#334155;background:#fff;border-bottom:none;letter-spacing:.02em}.proc-view-spec{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.proc-view-spec-row{display:flex;flex-direction:column;gap:5px;min-width:0;padding:12px 16px;border-top:1px solid #eef1f4;align-items:flex-start}.proc-view-spec-row:nth-child(-n+2){border-top:none}.proc-view-spec-row:nth-child(odd){border-right:1px solid #eef1f4}.proc-view-spec-row:last-child{border-bottom:none}.proc-view-spec-row span,.proc-view-spec-label{display:block;margin:0;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;line-height:1.35}.proc-view-spec-row strong,.proc-view-spec-value{display:block;margin:0;font-size:13px;font-weight:700;color:#1f2937;line-height:1.35;word-break:break-word;white-space:pre-wrap}.proc-view-reject-box{padding:10px 12px;border-radius:10px;background:linear-gradient(90deg,#fef2f2,#fff);border:1px solid #fecaca;border-left:3px solid #ef4444}.proc-view-reject-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#b91c1c;margin-bottom:4px}.proc-view-reject-text{margin:0;font-size:12px;line-height:1.4;color:#7f1d1d;font-weight:500}.view-material-request-card--compact .proc-view-drawer-head{padding:14px 18px 10px}.view-material-request-card--compact .proc-view-drawer-head h2{font-size:18px}.view-material-request-card--compact .proc-view-drawer-sub{margin-top:4px;font-size:10px;padding:2px 7px}.view-material-request-card--compact .material-request-footer{padding:10px 18px calc(12px + env(safe-area-inset-bottom,0px))}.view-material-request-card--compact .proc-view-modal-body{overflow-y:visible!important;padding:10px 18px 12px!important;gap:8px}.view-material-request-card--compact .proc-view-head-badges{gap:6px}.view-material-request-card--compact .proc-view-head-badges .req-status,.view-material-request-card--compact .proc-view-priority-chip{font-size:10px;padding:3px 8px}.view-material-request-card--compact .proc-view-summary{gap:8px}.view-material-request-card--compact .proc-view-summary-card{padding:8px 10px;border-radius:10px}.view-material-request-card--compact .proc-view-summary-card span{font-size:9px;margin-bottom:2px}.view-material-request-card--compact .proc-view-summary-card strong{font-size:12px;line-height:1.25}.view-material-request-card--compact .proc-view-section{margin-top:0;padding-top:0}.view-material-request-card--compact .proc-view-section-title{margin-bottom:6px;font-size:11px}.view-material-request-card--compact .proc-view-spec{gap:0}.view-material-request-card--compact .proc-view-spec-row{padding:6px 8px}.view-material-request-card--compact .proc-view-spec-row span,.view-material-request-card--compact .proc-view-spec-row strong{font-size:11px;line-height:1.3}.proc-view-section--comments{margin-top:2px}.proc-view-review-list{display:flex;flex-direction:column;gap:6px}.proc-view-review-item{padding:8px 10px;border-radius:10px;border:1px solid #e8e4dc;background:#faf8f4}.proc-view-review-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px;font-size:10px;color:#6b7280}.proc-view-review-meta strong{font-size:11px;color:#1f2937}.proc-view-review-outcome{padding:1px 6px;border-radius:999px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;background:#eef2ff;color:#3730a3}.proc-view-review-outcome--approved{background:#dcfce7;color:#166534}.proc-view-review-outcome--returned{background:#fff7ed;color:#9a3412}.proc-view-review-outcome--rejected{background:#fee2e2;color:#991b1b}.proc-view-review-time{margin-left:auto;font-size:9px}.proc-view-review-text{margin:0;font-size:11px;line-height:1.35;color:#374151}.view-material-request-card--compact .proc-view-review-item{padding:7px 9px}@media(max-width:560px){.proc-view-summary,.proc-view-spec{grid-template-columns:1fr}.proc-view-spec-row:nth-child(odd){border-right:none}.proc-view-spec-row:nth-child(-n+2){border-top:1px solid #eef1f4}.proc-view-spec-row:first-child{border-top:none}}.vendor-profile-card.view-material-request-card{width:min(520px,100vw)}.vendor-profile-card .proc-view-summary.vendor-profile-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.vendor-profile-card .proc-view-section .proc-view-section-title{padding-bottom:10px}.vendor-profile-card .proc-view-section .vendor-profile-table-wrap,.vendor-profile-card .proc-view-section .proc-view-empty{margin:0 16px 16px}.vendor-profile-status{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;line-height:1.2;border:1px solid transparent}.vendor-profile-status--open{color:#166534;background:#ecfdf5;border-color:#bbf7d0}.vendor-profile-status--closed{color:#991b1b;background:#fef2f2;border-color:#fecaca}.vendor-profile-status--neutral{color:#475569;background:#f8fafc;border-color:#e2e8f0}.vendor-profile-table-wrap{max-height:min(42vh,320px);border:1px solid #eef1f4;border-radius:12px;overflow-x:hidden;overflow-y:auto}.vendor-profile-table-wrap .proc-data-table.vendor-profile-table{width:100%;min-width:0;table-layout:fixed}.vendor-profile-table-wrap .proc-data-table thead th{padding:9px 10px;font-size:11px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.vendor-profile-table-wrap .proc-data-table tbody td{padding:9px 10px;font-size:11px;max-width:0}.vendor-profile-table-wrap .vendor-profile-cell{overflow:hidden}.vendor-profile-table-wrap .vendor-profile-cell__text{display:block;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.vendor-profile-table-wrap .vendor-profile-cell__text strong{display:block;font-size:11px;font-weight:700;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.vendor-profile-table-wrap .vendor-profile-cell--status{overflow:hidden}.vendor-profile-table-wrap .proc-data-table tbody td strong{font-size:11px;font-weight:700}.vendor-profile-table-wrap .vendor-profile-status{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.proc-view-empty{padding:18px 16px;border:1px dashed #e2e8f0;border-radius:12px;background:#f8fafc;color:#64748b;font-size:13px;line-height:1.45;text-align:center}@media(max-width:720px){.vendor-profile-card.view-material-request-card{width:100vw}.vendor-profile-card .proc-view-summary.vendor-profile-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.vendor-profile-card .proc-view-summary.vendor-profile-summary{grid-template-columns:1fr}.vendor-profile-card .proc-view-section .vendor-profile-table-wrap,.vendor-profile-card .proc-view-section .proc-view-empty{margin-inline:12px;margin-bottom:12px}}.proc-mat-stack{display:flex;flex-direction:column;gap:2px;min-width:0;max-width:100%}.proc-mat-name{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:var(--text, #0f172a);cursor:default}.proc-mat-name--tip{cursor:help;outline:none}.proc-mat-name--tip:focus-visible{box-shadow:0 0 0 2px #b4530959;border-radius:4px}.proc-tip-layer{position:fixed;z-index:10050;max-width:min(360px,calc(100vw - 16px));padding:8px 10px;border-radius:8px;border:1px solid #e2e8f0;background:#0f172a;color:#f8fafc;font-size:12px;font-weight:500;line-height:1.4;word-break:break-word;box-shadow:0 10px 28px #0f172a47;pointer-events:none}.proc-tip-layer[hidden],.proc-tip-layer:not(.is-visible){display:none!important}.proc-mat-purpose{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:500;color:var(--muted, #64748b);line-height:1.25}.proc-item-title .proc-mat-name{max-width:100%;font-size:inherit;font-weight:inherit}.proc-item-title .proc-mat-purpose{font-size:12px;font-weight:500}.proc-data-table tbody td.proc-mat-cell{word-break:normal;overflow:hidden}.proc-data-table .proc-mat-name{max-width:100%;font-weight:var(--fw-regular, 400)}.module-shell .module-table tbody td:not(:first-child) b,.module-shell .module-table tbody td:not(:first-child) strong,.module-shell--embedded-procurement .module-table tbody td:not(:first-child) b,.module-shell--embedded-procurement .module-table tbody td:not(:first-child) strong{font-weight:var(--fw-regular, 400)}.module-shell .module-table tbody td:first-child b,.module-shell .module-table tbody td:first-child strong,.module-shell--embedded-procurement .module-table tbody td:first-child b,.module-shell--embedded-procurement .module-table tbody td:first-child strong{font-weight:var(--fw-bold, 700)}.proc-action-cell{vertical-align:middle}.proc-data-table .proc-action-cell{min-width:0;max-width:none}.proc-table-wrap{overflow-x:auto;overflow-y:auto;max-height:min(62vh,560px);max-width:100%;min-width:0;width:100%;border:1px solid var(--line, #e2e8f0);border-radius:12px;background:#fff;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.proc-data-table{width:max-content;min-width:100%;border-collapse:collapse;table-layout:auto}.proc-data-table thead th{position:sticky;top:0;z-index:1;background:var(--panel-soft, #f8fafc);padding:10px 12px;text-align:left;color:var(--muted, #64748b);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--line, #e2e8f0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.proc-data-table tbody td{padding:11px 12px;border-bottom:1px solid var(--line, #cbd5e1);font-size:13px;color:var(--text, #0f172a);vertical-align:middle;overflow:hidden;text-overflow:ellipsis;word-break:break-word}.proc-data-table tbody td.proc-view-col{overflow:visible;text-overflow:clip}.proc-data-table tbody td.proc-action-cell{overflow:visible;text-overflow:clip;white-space:nowrap}.proc-data-table tbody tr.proc-row-clickable{cursor:pointer}.proc-data-table tbody tr.proc-row-clickable:focus-visible,.module-table tbody tr.proc-row-clickable:focus-visible{outline:2px solid color-mix(in srgb,var(--accent-base, #8c6a24) 45%,transparent);outline-offset:-2px}article.proc-item-card.proc-row-clickable{cursor:pointer}article.proc-item-card.proc-row-clickable:focus-visible{outline:2px solid color-mix(in srgb,var(--accent-base, #8c6a24) 45%,transparent);outline-offset:2px}.proc-data-table tbody td strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--fw-regular, 400)}.proc-data-table tbody td:first-child strong,.proc-data-table tbody td.proc-col-id strong{font-weight:var(--fw-bold, 700)}.proc-data-table tbody tr:hover{background:#f8fafc}.proc-data-table .proc-col-id,.proc-data-table .proc-col-qty,.proc-data-table .proc-col-date,.proc-data-table .proc-col-status{white-space:nowrap}.proc-data-table .proc-col-actions,.proc-data-table .proc-action-cell{overflow:visible}.proc-data-table .proc-action-cell:not(:has(.proc-req-actions--stacked)){white-space:nowrap}.proc-data-table .proc-action-cell>div:not(.proc-req-actions--stacked),.proc-data-table .proc-col-actions>div:not(.proc-req-actions--stacked){display:flex;flex-direction:row;flex-wrap:nowrap;gap:6px;align-items:center;width:max-content;max-width:none}#proc-requests .proc-data-table .proc-action-cell{min-width:168px;white-space:normal;vertical-align:middle}#proc-comparison .proc-data-table col.proc-col-id{width:14%}#proc-comparison .proc-data-table col.proc-col-material{width:26%}#proc-comparison .proc-data-table col.proc-col-supplier{width:20%}#proc-comparison .proc-data-table col.proc-col-date{width:12%}#proc-comparison .proc-data-table col.proc-col-status,#proc-comparison .proc-data-table col.proc-col-actions{width:14%}#proc-approval .proc-data-table col.proc-col-id{width:11%}#proc-approval .proc-data-table col.proc-col-project{width:14%}#proc-approval .proc-data-table col.proc-col-material{width:18%}#proc-approval .proc-data-table col.proc-col-qty{width:8%}#proc-approval .proc-data-table col.proc-col-quotes{width:18%}#proc-approval .proc-data-table col.proc-col-status{width:12%}#proc-approval .proc-data-table col.proc-col-actions{width:19%}#approvalHistorySection .proc-data-table col.proc-col-id{width:12%}#approvalHistorySection .proc-data-table col.proc-col-project{width:14%}#approvalHistorySection .proc-data-table col.proc-col-material{width:22%}#approvalHistorySection .proc-data-table col.proc-col-status{width:14%}#approvalHistorySection .proc-data-table col.proc-col-supplier{width:18%}#approvalHistorySection .proc-data-table col.proc-col-actions{width:20%}#proc-po .proc-data-table col.proc-col-id{width:12%}#proc-po .proc-data-table col.proc-col-project{width:14%}#proc-po .proc-data-table col.proc-col-material{width:20%}#proc-po .proc-data-table col.proc-col-supplier{width:16%}#proc-po .proc-data-table col.proc-col-date{width:10%}#proc-po .proc-data-table col.proc-col-status{width:12%}#proc-po .proc-data-table col.proc-col-actions{width:16%}#proc-delivery .proc-data-table col.proc-col-id{width:14%}#proc-delivery .proc-data-table col.proc-col-project{width:16%}#proc-delivery .proc-data-table col.proc-col-material{width:22%}#proc-delivery .proc-data-table col.proc-col-supplier{width:18%}#proc-delivery .proc-data-table col.proc-col-date{width:12%}#proc-delivery .proc-data-table col.proc-col-status{width:18%}#proc-delivery .proc-delivery-po-cell{white-space:normal}#proc-delivery .proc-delivery-po-cell strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#proc-delivery .proc-delivery-po-cell .delivery-overdue-tag{display:inline-block;margin-left:0;margin-top:4px}#proc-delivery .proc-delivery-status-cell{overflow:visible}#proc-delivery .proc-delivery-status-cell .delivery-status-controls{width:100%}#proc-delivery .proc-delivery-status-cell .delivery-status-select{width:100%;max-width:160px}#proc-receiving .proc-table-wrap:first-of-type .proc-data-table col.proc-col-id{width:14%}#proc-receiving .proc-table-wrap:first-of-type .proc-data-table col.proc-col-project{width:16%}#proc-receiving .proc-table-wrap:first-of-type .proc-data-table col.proc-col-material{width:24%}#proc-receiving .proc-table-wrap:first-of-type .proc-data-table col.proc-col-qty{width:10%}#proc-receiving .proc-table-wrap:first-of-type .proc-data-table col.proc-col-status{width:16%}#proc-receiving .proc-table-wrap:first-of-type .proc-data-table col.proc-col-actions{width:20%}#proc-receiving .proc-table-wrap:last-of-type .proc-data-table col.proc-col-id{width:12%}#proc-receiving .proc-table-wrap:last-of-type .proc-data-table col.proc-col-project{width:16%}#proc-receiving .proc-table-wrap:last-of-type .proc-data-table col.proc-col-material{width:26%}#proc-receiving .proc-table-wrap:last-of-type .proc-data-table col.proc-col-qty{width:12%}#proc-receiving .proc-table-wrap:last-of-type .proc-data-table col.proc-col-by{width:16%}#proc-receiving .proc-table-wrap:last-of-type .proc-data-table col.proc-col-status{width:18%}.proc-audit-intro{margin:0 0 12px;font-size:13px;color:var(--muted);line-height:1.4}.proc-audit-list{display:flex;flex-direction:column;gap:12px}.proc-audit-card{border:1px solid var(--line);border-radius:14px;background:var(--card);overflow:hidden;box-shadow:0 1px 2px #0f172a0a}.proc-audit-summary{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px 16px;padding:14px 16px;cursor:pointer;list-style:none}.proc-audit-summary::-webkit-details-marker{display:none}.proc-audit-summary-main{display:flex;flex-direction:column;gap:2px;min-width:0}.proc-audit-req{font-size:14px;color:var(--text)}.proc-audit-material{font-size:13px;font-weight:600;color:var(--text)}.proc-audit-project,.proc-audit-raised,.proc-audit-count{font-size:12px;color:var(--muted)}.proc-audit-summary-side{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.proc-audit-body{padding:0 14px 14px;border-top:1px solid var(--line);background:linear-gradient(180deg,rgba(139,94,60,.04),transparent 48px),var(--card)}.proc-audit-flow{display:grid;grid-template-columns:minmax(280px,1fr) minmax(280px,1.05fr);gap:16px;padding-top:14px;align-items:start}.proc-audit-flow-title{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.proc-audit-timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.proc-audit-step{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;position:relative;padding:8px 10px 14px;border-radius:12px;cursor:pointer;outline:none;transition:background .15s,box-shadow .15s}.proc-audit-step:hover,.proc-audit-step:focus-visible,.proc-audit-step.is-active{background:#8b5e3c14;box-shadow:inset 0 0 0 1px #8b5e3c2e}.proc-audit-step:not(:last-child):before{content:"";position:absolute;left:22px;top:34px;bottom:0;width:2px;background:linear-gradient(180deg,#8b5e3c,#8b5e3c26)}.proc-audit-step-marker{width:24px;height:24px;margin-top:1px;border-radius:50%;background:#8b5e3c;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:700;z-index:1;box-shadow:0 0 0 3px #fff}.proc-audit-step.is-active .proc-audit-step-marker{background:#6f4a30}.proc-audit-step-action{font-size:13px;font-weight:650;color:var(--text)}.proc-audit-step-meta{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:2px;font-size:12px;color:var(--muted)}.proc-audit-step-actor{font-weight:600;color:var(--text)}.proc-audit-step-chip{display:inline-flex;gap:6px;align-items:baseline;margin-top:6px;max-width:100%;padding:4px 8px;border-radius:8px;font-size:11px;line-height:1.35;color:var(--text);background:#f8fafc;border:1px solid var(--line)}.proc-audit-step-chip span{font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px}.proc-audit-step-chip.is-comment{background:#fff7ed;border-color:#fed7aa}.proc-audit-step-chip.is-remarks{background:#eff6ff;border-color:#bfdbfe}.proc-audit-step-chip.is-file{background:#f5f3ff;border-color:#ddd6fe}.proc-audit-detail{position:sticky;top:12px;min-height:280px;padding:14px;border-radius:14px;border:1px solid rgba(139,94,60,.18);background:linear-gradient(160deg,rgba(139,94,60,.08),transparent 42%),#fff;box-shadow:inset 0 1px #ffffffb3}.proc-audit-detail-placeholder{display:grid;place-content:center;gap:6px;min-height:240px;text-align:center;color:var(--muted);padding:20px}.proc-audit-detail-placeholder strong{color:var(--text);font-size:14px}.proc-audit-detail-placeholder p{margin:0;font-size:13px;line-height:1.45;max-width:280px;justify-self:center}.proc-audit-detail-eyebrow{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8b5e3c;margin-bottom:4px}.proc-audit-detail-head h4{margin:0;font-size:16px;line-height:1.3;color:var(--text)}.proc-audit-detail-meta{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:6px;margin-bottom:12px;font-size:12px;color:var(--muted)}.proc-audit-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}.proc-audit-detail-field{display:flex;flex-direction:column;gap:2px;min-width:0;padding:8px 10px;border-radius:10px;background:#ffffffd9;border:1px solid var(--line)}.proc-audit-detail-label{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.proc-audit-detail-value{font-size:13px;font-weight:600;color:var(--text);word-break:break-word}.proc-audit-detail-note{margin-top:8px;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:#fff}.proc-audit-detail-note.is-comment{background:#fff7ed;border-color:#fed7aa}.proc-audit-detail-note.is-remarks{background:#eff6ff;border-color:#bfdbfe}.proc-audit-detail-note p{margin:4px 0 0;font-size:13px;line-height:1.4;color:var(--text);white-space:pre-wrap;word-break:break-word}.proc-audit-quote-preview{margin-top:12px;display:flex;flex-direction:column;gap:8px}.proc-audit-quote-media{min-height:140px;border-radius:12px;border:1px dashed rgba(139,94,60,.28);background:#fafaf9;overflow:hidden;display:grid;place-items:center}.proc-audit-quote-image{display:block;width:100%;max-height:260px;object-fit:contain;background:#fff}.proc-audit-quote-loading,.proc-audit-quote-fallback{padding:16px;text-align:center;color:var(--muted);font-size:12px;display:flex;flex-direction:column;gap:4px}.proc-audit-quote-fallback strong{color:var(--text)}.proc-audit-empty-steps{margin:12px 0 0;font-size:13px;color:var(--muted)}.proc-empty-state{padding:28px 16px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:12px}.proc-empty-state strong{display:block;color:var(--text);margin-bottom:4px}.proc-empty-state p{margin:0;font-size:13px}@media(max-width:960px){.proc-audit-flow{grid-template-columns:1fr}.proc-audit-detail{position:static}.proc-audit-detail-grid{grid-template-columns:1fr}}.proc-data-table .mgr-quote-select-wrap,.proc-data-table .send-mgr-quote-list{min-width:0;max-width:100%}.proc-data-table .delivery-status-select{width:100%;min-width:0;max-width:140px;font-size:12px}.proc-reject-note{display:flex;flex-direction:column;gap:4px;max-width:220px;padding:8px 10px;border-radius:10px;background:linear-gradient(90deg,#fef2f2,#fff);border:1px solid #fecaca;border-left:3px solid #ef4444;box-shadow:0 1px #ef44440f}.proc-reject-note-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#b91c1c}.proc-reject-note-text{font-size:12px;font-weight:500;color:#7f1d1d;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.proc-reject-note--empty .proc-reject-note-text{color:#9f1239;font-style:italic}.proc-item-actions .proc-reject-note{max-width:100%}.manpower-request-card{width:min(980px,calc(100vw - 32px))}.clock-entry-request-card{width:min(640px,calc(100vw - 32px))}.crew-profile-request-card{width:min(780px,calc(100vw - 32px))}.members-list-request-card,.assign-crew-request-card{width:min(640px,calc(100vw - 32px))}.material-request-overlay--stacked{z-index:10120}.members-modal-body{display:flex;flex-direction:column;gap:8px}.mp-specialization-section{--mp-cols: minmax(150px, 1.35fr) minmax(84px, .7fr) minmax(84px, .7fr) minmax(138px, 1fr) minmax(100px, .85fr) 36px;display:flex;flex-direction:column;gap:10px}.mp-specialization-grid-head{display:none}.mp-specialization-rows{display:flex;flex-direction:column;gap:10px}.mp-specialization-row{position:relative;display:grid;grid-template-columns:var(--mp-cols);gap:8px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--soft, #f8fafc)}.mp-specialization-cell{min-width:0}.mp-specialization-cell .entry-input,.mp-specialization-cell select.entry-input,.mp-specialization-cell .material-request-date-inputs{width:100%;max-width:100%;box-sizing:border-box}.mp-specialization-cell-label{display:block;margin-bottom:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.mp-specialization-cell .field-error{margin-top:4px;font-size:11px}.mp-specialization-row-action{display:flex;align-items:center;justify-content:center;align-self:center;padding:0;min-height:36px}.mp-specialization-remove{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--line);border-radius:999px;background:var(--card, #fff);color:var(--muted);cursor:pointer;box-shadow:0 1px 3px #0f172a0f;transition:background .15s,color .15s,border-color .15s}.mp-specialization-remove:hover:not(:disabled){background:#fef2f2;border-color:#fecaca;color:#b91c1c}.mp-specialization-remove:disabled{opacity:.35;cursor:not-allowed}.mp-specialization-add{-webkit-appearance:none;-moz-appearance:none;appearance:none;align-self:flex-start;display:inline-flex;align-items:center;gap:6px;margin-top:2px;padding:8px 14px;border:1px dashed var(--line, #cbd5e1);border-radius:10px;background:var(--card, #fff);font-size:13px;font-weight:600;color:var(--text);cursor:pointer;transition:background .15s,border-color .15s}.mp-specialization-add:hover{background:var(--soft, #f8fafc);border-color:var(--line-dark, #94a3b8)}@media(min-width:760px){.mp-specialization-grid-head{display:grid;grid-template-columns:var(--mp-cols);gap:8px;align-items:end;padding:0 12px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.mp-specialization-grid-head>span{min-width:0;line-height:1.25}.mp-specialization-cell-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mp-specialization-row-action{align-self:center;min-height:38px}}@media(max-width:759px){.manpower-request-card{width:min(520px,calc(100vw - 32px))}.mp-specialization-row{grid-template-columns:1fr 1fr;grid-template-areas:"specialization specialization" "skilled unskilled" "date duration" "action action";padding:12px}.mp-specialization-row .mp-specialization-cell:nth-child(1){grid-area:specialization}.mp-specialization-row .mp-specialization-cell:nth-child(2){grid-area:skilled}.mp-specialization-row .mp-specialization-cell:nth-child(3){grid-area:unskilled}.mp-specialization-row .mp-specialization-cell:nth-child(4){grid-area:date}.mp-specialization-row .mp-specialization-cell:nth-child(5){grid-area:duration}.mp-specialization-row-action{grid-area:action;justify-content:flex-end;min-height:auto}}body.mobile-tab-shell .material-request-overlay,body.native-app .material-request-overlay{inset:var(--app-modal-top, 0px) 0 0 0;bottom:var(--vv-keyboard-inset, 0px);display:flex;flex-direction:column;align-items:stretch;justify-content:stretch;padding:0;background:var(--card, #fff);-webkit-backdrop-filter:none;backdrop-filter:none;overflow:hidden}body.mobile-tab-shell .material-request-card,body.native-app .material-request-card,body.mobile-tab-shell .manpower-request-card,body.native-app .manpower-request-card,body.mobile-tab-shell .clock-entry-request-card,body.native-app .clock-entry-request-card,body.mobile-tab-shell .crew-profile-request-card,body.native-app .crew-profile-request-card,body.mobile-tab-shell .members-list-request-card,body.native-app .members-list-request-card,body.mobile-tab-shell .assign-crew-request-card,body.native-app .assign-crew-request-card,body.mobile-tab-shell .reject-request-card,body.native-app .reject-request-card{width:100%;max-width:none;flex:1 1 auto;height:auto;max-height:none;min-height:0;border:none;border-radius:0;box-shadow:none;display:flex;flex-direction:column;overflow:hidden}body.mobile-tab-shell .material-request-head,body.native-app .material-request-head{flex-shrink:0;padding-top:14px}body.mobile-tab-shell .material-request-form,body.native-app .material-request-form{flex:1 1 auto;min-height:0;overflow:hidden;padding-bottom:0}body.mobile-tab-shell .material-request-form-scroll,body.native-app .material-request-form-scroll{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px) + var(--vv-focus-scroll-pad, 0px));scroll-padding-bottom:calc(24px + var(--vv-focus-scroll-pad, 0px))}body.mobile-tab-shell .material-request-footer,body.native-app .material-request-footer{position:static;flex-shrink:0;z-index:2;background:var(--card);padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px))}body.mobile-tab-shell .material-request-row,body.native-app .material-request-row{grid-template-columns:1fr}.view-po-overlay,.project-workspace-overlay,#procRejectOverlay,#procMaterialReviewOverlay,#viewMaterialRequestOverlay,.view-material-request-overlay{display:none!important}.project-workspace-overlay.open,#procRejectOverlay.open,#procMaterialReviewOverlay.open{display:flex}#procMaterialReviewOverlay.open{justify-content:flex-end;align-items:stretch}.project-workspace-overlay.open,#procRejectOverlay.open{display:grid!important;place-items:center;align-content:center;justify-content:center;position:fixed;top:0;right:0;bottom:0;left:0;z-index:10050;padding:max(12px,env(safe-area-inset-top,0px)) 16px max(12px,env(safe-area-inset-bottom,0px));background:#0f172a6b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.material-request-overlay.project-workspace-overlay.open .material-request-card.project-workspace-card{width:min(960px,calc(100vw - 24px));height:min(92vh,900px)!important;max-height:min(92vh,900px);min-height:min(480px,calc(100dvh - 48px));margin:auto!important;border:1px solid var(--line);border-radius:20px;box-shadow:0 24px 60px #0f172a38;animation:none!important;display:flex;flex-direction:column;overflow:hidden}.material-request-overlay.project-workspace-overlay.open .project-workspace-card .material-request-form{flex:1;min-height:0;display:flex;flex-direction:column}.material-request-overlay.project-workspace-overlay.open .project-workspace-card .material-request-form-scroll{flex:1;min-height:0;overflow-y:auto}.project-workspace-card .tile-list-footer{margin:0 18px 16px;padding-top:12px;border-top:1px solid var(--line, #e8e4dc)}.project-workspace-card .proj-progress-history-scroll .tile-list-footer{margin:12px 0 0;padding:12px 0 0}.project-workspace-card .proj-panel-section .tile-list-footer{margin:12px 0 0;padding-top:12px}#viewPoOverlay.open,.view-po-overlay.open,#viewMaterialRequestOverlay.open,.view-material-request-overlay.open{display:flex}body.mobile-tab-shell .view-po-overlay:not(.open),body.native-app .view-po-overlay:not(.open),body.mobile-tab-shell .project-workspace-overlay:not(.open),body.native-app .project-workspace-overlay:not(.open),body.mobile-tab-shell #procRejectOverlay:not(.open),body.native-app #procRejectOverlay:not(.open),body.mobile-tab-shell #procMaterialReviewOverlay:not(.open),body.native-app #procMaterialReviewOverlay:not(.open),body.mobile-tab-shell #viewMaterialRequestOverlay:not(.open),body.native-app #viewMaterialRequestOverlay:not(.open),body.mobile-tab-shell .view-material-request-overlay:not(.open),body.native-app .view-material-request-overlay:not(.open){display:none!important}body.mobile-tab-shell .project-workspace-overlay.open,body.native-app .project-workspace-overlay.open,body.mobile-tab-shell #procRejectOverlay.open,body.native-app #procRejectOverlay.open{display:flex!important;align-items:center!important;justify-content:center!important}body.mobile-tab-shell .view-po-overlay.open,body.native-app .view-po-overlay.open,body.mobile-tab-shell #procMaterialReviewOverlay.open,body.native-app #procMaterialReviewOverlay.open,body.mobile-tab-shell #viewMaterialRequestOverlay.open,body.native-app #viewMaterialRequestOverlay.open,body.mobile-tab-shell .view-material-request-overlay.open,body.native-app .view-material-request-overlay.open{display:flex!important}.view-po-overlay{position:fixed;top:0;right:0;bottom:0;left:0;height:100dvh;max-height:100dvh;z-index:12050;align-items:stretch;justify-content:flex-end;padding:0;background:#0f172a52;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);overflow:hidden}.view-po-card{width:min(480px,100vw);height:100%!important;max-height:100dvh!important;min-height:0!important;background:#fff;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;overflow:hidden!important;border-radius:0;border:0;border-left:1px solid #e8e4dc;box-shadow:-18px 0 48px #0f172a29}.view-po-card .proc-view-drawer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 22px 16px;border-bottom:1px solid #eef1f4;background:linear-gradient(180deg,#faf8f4,#fff);flex:0 0 auto}.view-po-card .proc-view-drawer-head h2{margin:0;font-size:22px;line-height:1.2;letter-spacing:-.02em;color:#1f2937;font-weight:800}.view-po-card .proc-view-drawer-sub{display:inline-flex;margin:8px 0 0;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:700;color:#6b4f2a;background:#f3ebe0;border:1px solid #e6d7c3}.view-po-card .material-request-footer{flex:0 0 auto;margin-top:0;padding:14px 22px calc(16px + env(safe-area-inset-bottom,0px));background:#fff}.view-po-card .proc-view-modal-body,#viewPoBody{grid-row:2;align-self:stretch!important;display:flex!important;flex-direction:column!important;gap:14px;min-height:0!important;max-height:none!important;height:auto!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:16px 22px 48px!important;background:#fff}.view-po-card .po-preview-box{margin:12px 16px 20px;padding:14px 16px;border:1px solid #eee8df;border-radius:12px;background:#faf8f4;font-size:12px;line-height:1.7;color:#334155;overflow:visible}.view-po-card .po-preview-title{font-size:13px;font-weight:800;margin-bottom:8px;display:flex;justify-content:space-between;gap:8px;color:#1f2937}.material-request-icon-wrap--material,.project-workspace-card .material-request-icon-wrap{font-size:12px;font-weight:800;letter-spacing:.02em}.project-workspace-card{width:min(960px,calc(100vw - 24px));max-height:min(92vh,900px)}.project-workspace-card .material-request-form-scroll{padding:0;background:var(--soft)}.project-workspace-card .proj-workspace-body{display:flex;flex-direction:column;gap:0;min-height:0}.project-workspace-card .proj-expanded-intro{padding:16px 18px 4px}.proj-view-only-banner{margin:12px 18px 0;padding:10px 14px;border-radius:10px;border:1px solid #fde68a;background:#fffbeb;color:#92400e;font-size:13px;font-weight:600;line-height:1.45}.project-workspace-card .proj-view-only-banner{margin:0 18px 12px}.proj-view-only-chip{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#92400e;background:#fffbeb;border:1px solid #fde68a}.proj-workspace-body--view-only .qa-btn-primary,.proj-workspace-body--view-only .proj-edit-details-btn,.proj-workspace-body--view-only .proj-add-crew-btn,.proj-workspace-body--view-only .proj-ms-add-btn,.proj-workspace-body--view-only .proj-draw-upload,.proj-workspace-body--view-only .proj-ms-dropdown-wrap,.proj-workspace-body--view-only .proj-draw-status-select,.proj-workspace-body--view-only .req-approve-btn,.proj-workspace-body--view-only .req-reject-btn,.floor-workspace--view-only .card-action,.floor-workspace--view-only .entry-command,.floor-workspace--view-only .entry-btn,.floor-workspace--view-only .status-action,.floor-workspace--view-only .quick-action-strip,.floor-workspace--view-only .pm-row-menu,.floor-workspace--view-only .pm-btn.primary{display:none!important}.floor-workspace--view-only .row-actions-inline button:not(.row-action-btn--view):not(.row-action-btn--pdf){display:none!important}.project-workspace-card .proj-expanded-label{font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.project-workspace-card .proj-expanded-hint{margin-top:4px;font-size:13px;color:var(--text);font-weight:600;line-height:1.4}.project-workspace-card .proj-detail-head{margin:10px 16px 0;padding:14px 16px;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 1px 2px #0f172a0a}.project-workspace-card .proj-date-chip,.project-workspace-card .proj-compact-stat{background:var(--soft);border-color:var(--line);color:var(--text);box-shadow:none}.project-workspace-card .proj-meta-row{color:var(--muted)}.project-workspace-card .proj-meta-row strong{color:var(--text)}.project-workspace-card .proj-edit-details-btn{background:var(--card);border-color:var(--line);color:var(--text)}.project-workspace-card .proj-edit-details-btn:hover{background:var(--soft);border-color:var(--brand-border)}.project-workspace-card .proj-compact-stats{padding:12px 16px;gap:8px}.project-workspace-card .proj-card-tabs{position:sticky;top:0;z-index:6;padding:10px 16px 12px;background:var(--soft);border-bottom:1px solid var(--line);box-shadow:0 6px 12px -8px #0f172a2e}.project-workspace-card .proj-card-tab{background:var(--card);border-color:var(--line);color:var(--muted);position:relative;z-index:1}.project-workspace-card .proj-card-tab.active{background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-ink)}.project-workspace-card .proj-card-body{position:relative;z-index:0;padding:12px 16px 18px;isolation:isolate}.project-workspace-card .proj-card-body>[data-proj-panel]{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:0 1px 3px #0f172a0a}.proj-panel{display:flex;flex-direction:column;gap:12px;min-width:0}.proj-panel-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.proj-panel-head-copy{min-width:0}.proj-panel-title{font-size:15px;font-weight:800;color:var(--text);letter-spacing:-.01em;line-height:1.25}.proj-panel-sub{margin-top:3px;font-size:12px;color:var(--muted);line-height:1.4}.proj-panel-filters{display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.proj-panel-section{display:flex;flex-direction:column;gap:8px}.proj-panel-empty,.proj-draw-empty,.proj-ms-empty{text-align:center;padding:28px 16px;border:1px dashed var(--line);border-radius:16px;background:var(--soft)}.proj-panel-empty-title,.proj-draw-empty-title{font-size:14px;font-weight:700;color:var(--text)}.proj-panel-empty-hint,.proj-draw-empty-hint{margin-top:4px;font-size:12px;color:var(--muted);line-height:1.45}.project-workspace-card .proj-milestone-list.compact{border-color:var(--line);background:var(--card)}.project-workspace-card .proj-milestone-list.compact .proj-milestone{background:var(--card);border-bottom-color:var(--line);color:var(--text)}.project-workspace-card .proj-ms-add-btn{border:1px solid var(--brand-border);background:var(--brand-soft);color:var(--brand-ink);border-radius:999px;padding:7px 12px;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap}.project-workspace-card .proj-ms-dropdown-select,.project-workspace-card .proj-draw-status-select,.project-workspace-card .proj-progress-select,.project-workspace-card .clock-input{background:var(--soft);border-color:var(--line);color:var(--text)}.project-workspace-card .ms-upcoming{background:var(--soft);border-color:var(--line);color:var(--muted)}.project-workspace-card .proj-progress-layout{gap:14px}.project-workspace-card .proj-progress-form,.project-workspace-card .proj-progress-history{background:var(--card);border:1px solid var(--line);box-shadow:0 1px 3px #0f172a0a}.project-workspace-card .proj-progress-form-accent{background:linear-gradient(90deg,var(--brand),var(--brand-border),var(--brand));animation:none}.project-workspace-card .proj-progress-form-title,.project-workspace-card .proj-progress-history-title,.project-workspace-card .proj-hist-date-full,.project-workspace-card .proj-hist-detail-value{color:var(--text)}.project-workspace-card .proj-progress-form-sub,.project-workspace-card .proj-progress-history-filter-label,.project-workspace-card .proj-hist-author,.project-workspace-card .proj-hist-activity-preview,.project-workspace-card .proj-hist-detail-label{color:var(--muted)}.project-workspace-card .proj-progress-form-hint{margin:0 16px 12px;padding:10px 12px;border-radius:12px;background:var(--brand-soft);border:1px solid var(--brand-border);color:var(--brand-ink);font-size:12px}.project-workspace-card .proj-progress-history{background:var(--card)}.project-workspace-card .proj-progress-history-head{border-bottom-color:var(--line)}.project-workspace-card .proj-progress-history-clear,.project-workspace-card .proj-hist-date-text,.project-workspace-card .proj-hist-date-btn{background:var(--soft);border-color:var(--line);color:var(--text)}.project-workspace-card .proj-progress-history-item{border:1px solid var(--line);border-radius:14px;background:var(--soft);overflow:hidden}.project-workspace-card .proj-hist-details-panel{background:var(--card);border-top:1px solid var(--line)}.project-workspace-card .proj-hist-pct-ring{background:var(--brand-soft);border:1px solid var(--brand-border);color:var(--brand-ink)}.project-workspace-card .proj-hist-date-badge{background:var(--card);border:1px solid var(--line);color:var(--text)}.project-workspace-card .proj-hist-chip,.project-workspace-card .proj-hist-flag{background:var(--card);border:1px solid var(--line);color:var(--muted)}.project-workspace-card .proj-draw-card{background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:12px}.project-workspace-card .proj-draw-ext{background:var(--card);border:1px solid var(--line);color:var(--brand-ink)}.project-workspace-card .proj-draw-name{color:var(--text)}.project-workspace-card .proj-draw-meta-label{color:var(--muted)}.project-workspace-card .proj-draw-meta-item{color:var(--text)}.project-workspace-card .proj-draw-cat,.project-workspace-card .proj-draw-rev,.project-workspace-card .proj-draw-btn{background:var(--card);border-color:var(--line);color:var(--text)}.project-workspace-card .proj-draw-status--current,.project-workspace-card .proj-draw-status-select.proj-draw-status--current{background-color:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-ink)}.project-workspace-card .proj-draw-status--review,.project-workspace-card .proj-draw-status-select.proj-draw-status--review{background-color:#eff6ff;border-color:#bfdbfe;color:#1e40af}.project-workspace-card .proj-draw-status--superseded,.project-workspace-card .proj-draw-status-select.proj-draw-status--superseded{background-color:var(--soft);border-color:var(--line);color:var(--muted)}.project-workspace-card .proj-draw-rev.is-current,.project-workspace-card .proj-draw-btn--accent{background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-ink)}.project-workspace-card .proj-media-grid{margin-bottom:0}.project-workspace-card .proj-media-thumb{background:var(--soft);border-color:var(--line)}.project-workspace-card .proj-media-thumb-name,.project-workspace-card .proj-media-thumb-date{color:var(--muted)}.project-workspace-card .proj-video-thumb{background:#111827}.project-workspace-card .proj-video-thumb .proj-media-thumb-name,.project-workspace-card .proj-video-thumb .proj-media-thumb-date{color:#cbd5e1}.project-workspace-card .proj-bills-grid .app-tile{background:var(--soft);border-color:var(--line);color:var(--text)}.project-workspace-card .proj-doc-action{background:var(--card);border-color:var(--line);color:var(--text)}.project-workspace-card .ec-issue-card{background:var(--card);border-color:var(--line);box-shadow:none}.project-workspace-card .ec-issue-card--open{border-left-color:#ef4444;background:var(--card)}.project-workspace-card .ec-issue-card--progress,.project-workspace-card .ec-issue-card--resolved{border-left-color:var(--brand);background:var(--card)}.project-workspace-card .ec-issue-card--closed{border-left-color:#94a3b8;background:var(--card)}.project-workspace-card .ec-issue-title,.project-workspace-card .ec-issue-comment-text{color:var(--text)}.project-workspace-card .ec-issue-id,.project-workspace-card .ec-issue-desc,.project-workspace-card .ec-issue-meta{color:var(--muted)}.project-workspace-card .ec-issue-comment--resolved{background:var(--brand-soft);border-color:var(--brand-border)}.project-workspace-card .ec-issue-comment--closed{background:var(--soft);border-color:var(--line)}.project-workspace-card .ec-issue-comment--resolved .ec-issue-comment-label{color:var(--brand-ink)}.project-workspace-card .ec-issue-comment--closed .ec-issue-comment-label{color:var(--muted)}@media(max-width:720px){.project-workspace-card .proj-progress-layout,.project-workspace-card .proj-panel-head,.project-workspace-card .proj-draw-head{grid-template-columns:1fr}.project-workspace-card .proj-draw-card-side{grid-template-columns:minmax(0,1fr) minmax(120px,1fr);grid-template-areas:"cat status" "actions actions";justify-items:stretch;border-top:1px solid var(--line);padding-top:10px}.project-workspace-card .proj-draw-card-side .proj-draw-status-select,.project-workspace-card .proj-draw-card-side .proj-draw-status{max-width:none;width:100%;justify-self:stretch}.project-workspace-card .proj-draw-actions{justify-content:flex-start}}body.mobile-tab-shell .project-workspace-card,body.native-app .project-workspace-card{width:100%;max-width:none;max-height:none;border-radius:0;border:none}body.mobile-tab-shell .project-workspace-card .proj-card-tabs,body.native-app .project-workspace-card .proj-card-tabs{background:var(--soft);border-bottom-color:var(--line)}body.mobile-tab-shell #inventory .proc-data-table td.proc-view-col,body.native-app #inventory .proc-data-table td.proc-view-col,body.mobile-tab-shell #inventory .proc-data-table th.proc-view-col,body.native-app #inventory .proc-data-table th.proc-view-col{width:44px;min-width:44px;max-width:44px;overflow:visible;text-overflow:clip;padding-left:2px;padding-right:2px}body.mobile-tab-shell #inventory .proc-data-table td.proc-action-cell,body.native-app #inventory .proc-data-table td.proc-action-cell{overflow:hidden;text-overflow:clip;min-width:72px}body.mobile-tab-shell #inventory .proc-data-table th.proc-action-head,body.native-app #inventory .proc-data-table th.proc-action-head{overflow:visible;text-overflow:clip;min-width:72px}body.mobile-tab-shell #proc-requests .proc-data-table,body.native-app #proc-requests .proc-data-table{min-width:920px}body.mobile-tab-shell #proc-requests .proc-data-table :is(th,td):nth-child(1),body.native-app #proc-requests .proc-data-table :is(th,td):nth-child(1){min-width:88px;width:10%}body.mobile-tab-shell #proc-requests .proc-data-table :is(th,td):nth-child(2),body.native-app #proc-requests .proc-data-table :is(th,td):nth-child(2){min-width:96px;width:12%}body.mobile-tab-shell #proc-requests .proc-data-table :is(th,td):nth-child(3),body.native-app #proc-requests .proc-data-table :is(th,td):nth-child(3){min-width:96px;width:12%}body.mobile-tab-shell #proc-rfq .proc-data-table,body.native-app #proc-rfq .proc-data-table{min-width:720px}body.mobile-tab-shell #proc-rfq .proc-data-table :is(th,td):nth-child(3),body.native-app #proc-rfq .proc-data-table :is(th,td):nth-child(3){min-width:128px;width:22%}body.mobile-tab-shell #proc-rfq .proc-data-table :is(th,td):nth-child(4),body.native-app #proc-rfq .proc-data-table :is(th,td):nth-child(4){min-width:72px;width:10%;white-space:nowrap}body.mobile-tab-shell #proc-rfq .proc-data-table :is(th,td):nth-child(5),body.native-app #proc-rfq .proc-data-table :is(th,td):nth-child(5){min-width:120px;width:20%}body.mobile-tab-shell #proc-rfq .proc-data-table :is(th,td):nth-child(7),body.native-app #proc-rfq .proc-data-table :is(th,td):nth-child(7){min-width:108px;width:18%;overflow:visible;text-overflow:clip}body.mobile-tab-shell #proc-rfq .proc-data-table td.proc-action-cell>div,body.native-app #proc-rfq .proc-data-table td.proc-action-cell>div{flex-wrap:wrap;justify-content:flex-start}body.mobile-tab-shell #proc-rfq .proc-data-table .req-approve-btn,body.mobile-tab-shell #proc-rfq .proc-data-table .qa-btn,body.native-app #proc-rfq .proc-data-table .req-approve-btn,body.native-app #proc-rfq .proc-data-table .qa-btn{font-size:11px;padding:5px 8px;white-space:nowrap}body.mobile-tab-shell #inventory .proc-data-table,body.native-app #inventory .proc-data-table{min-width:0;width:100%;table-layout:auto}body.mobile-tab-shell #inventory #proc-rfq .proc-data-table,body.native-app #inventory #proc-rfq .proc-data-table{min-width:720px}body.mobile-tab-shell #inventory #proc-requests .proc-data-table,body.native-app #inventory #proc-requests .proc-data-table{min-width:920px}body.mobile-tab-shell #inventory #proc-delivery .proc-data-table,body.native-app #inventory #proc-delivery .proc-data-table{min-width:820px;width:100%;table-layout:fixed}body.mobile-tab-shell #proc-delivery .proc-table-wrap,body.native-app #proc-delivery .proc-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}body.mobile-tab-shell #proc-delivery .proc-data-table col.proc-col-id,body.native-app #proc-delivery .proc-data-table col.proc-col-id{width:15%}body.mobile-tab-shell #proc-delivery .proc-data-table col.proc-col-project,body.native-app #proc-delivery .proc-data-table col.proc-col-project{width:16%}body.mobile-tab-shell #proc-delivery .proc-data-table col.proc-col-material,body.native-app #proc-delivery .proc-data-table col.proc-col-material{width:20%}body.mobile-tab-shell #proc-delivery .proc-data-table col.proc-col-supplier,body.native-app #proc-delivery .proc-data-table col.proc-col-supplier{width:16%}body.mobile-tab-shell #proc-delivery .proc-data-table col.proc-col-date,body.native-app #proc-delivery .proc-data-table col.proc-col-date{width:12%}body.mobile-tab-shell #proc-delivery .proc-data-table col.proc-col-status,body.native-app #proc-delivery .proc-data-table col.proc-col-status{width:21%}body.mobile-tab-shell #proc-delivery .proc-data-table :is(th,td):nth-child(1),body.native-app #proc-delivery .proc-data-table :is(th,td):nth-child(1){min-width:110px}body.mobile-tab-shell #proc-delivery .proc-data-table :is(th,td):nth-child(2),body.native-app #proc-delivery .proc-data-table :is(th,td):nth-child(2){min-width:120px}body.mobile-tab-shell #proc-delivery .proc-data-table :is(th,td):nth-child(3),body.native-app #proc-delivery .proc-data-table :is(th,td):nth-child(3){min-width:140px}body.mobile-tab-shell #proc-delivery .proc-data-table :is(th,td):nth-child(4),body.native-app #proc-delivery .proc-data-table :is(th,td):nth-child(4){min-width:120px}body.mobile-tab-shell #proc-delivery .proc-data-table :is(th,td):nth-child(5),body.native-app #proc-delivery .proc-data-table :is(th,td):nth-child(5){min-width:96px;white-space:nowrap}body.mobile-tab-shell #proc-delivery .proc-data-table :is(th,td):nth-child(6),body.native-app #proc-delivery .proc-data-table :is(th,td):nth-child(6){min-width:148px;overflow:visible;text-overflow:clip;white-space:nowrap}body.mobile-tab-shell #proc-delivery .proc-delivery-po-cell,body.native-app #proc-delivery .proc-delivery-po-cell{white-space:normal}body.mobile-tab-shell #proc-delivery .proc-delivery-po-cell strong,body.native-app #proc-delivery .proc-delivery-po-cell strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.mobile-tab-shell #proc-delivery .proc-delivery-po-cell .delivery-overdue-tag,body.native-app #proc-delivery .proc-delivery-po-cell .delivery-overdue-tag{margin-left:0;margin-top:4px}body.mobile-tab-shell #proc-delivery .proc-delivery-status-cell,body.native-app #proc-delivery .proc-delivery-status-cell{overflow:visible}body.mobile-tab-shell #proc-delivery .delivery-status-controls,body.native-app #proc-delivery .delivery-status-controls{display:flex;width:100%;min-width:0}body.mobile-tab-shell #proc-delivery .delivery-status-select,body.native-app #proc-delivery .delivery-status-select{width:100%;min-width:128px;max-width:100%;font-size:12px;padding:7px 10px;min-height:36px}body.mobile-tab-shell #proc-delivery .delivery-status-badge,body.native-app #proc-delivery .delivery-status-badge{display:inline-flex;align-items:center;justify-content:center;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;padding:5px 10px}body.mobile-tab-shell #inventory #proc-receiving .proc-data-table,body.native-app #inventory #proc-receiving .proc-data-table{min-width:820px;width:100%;table-layout:fixed}body.mobile-tab-shell #proc-receiving .proc-table-wrap,body.native-app #proc-receiving .proc-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}body.mobile-tab-shell #proc-receiving .proc-receiving-pending-wrap .proc-data-table,body.native-app #proc-receiving .proc-receiving-pending-wrap .proc-data-table{min-width:860px}body.mobile-tab-shell #proc-receiving .proc-receiving-history-wrap .proc-data-table,body.native-app #proc-receiving .proc-receiving-history-wrap .proc-data-table{min-width:800px}body.mobile-tab-shell #proc-receiving .proc-receiving-pending-wrap .proc-data-table :is(th,td):nth-child(1),body.native-app #proc-receiving .proc-receiving-pending-wrap .proc-data-table :is(th,td):nth-child(1),body.mobile-tab-shell #proc-receiving .proc-receiving-history-wrap .proc-data-table :is(th,td):nth-child(1),body.native-app #proc-receiving .proc-receiving-history-wrap .proc-data-table :is(th,td):nth-child(1){min-width:100px}body.mobile-tab-shell #proc-receiving .proc-receiving-pending-wrap .proc-data-table :is(th,td):nth-child(2),body.native-app #proc-receiving .proc-receiving-pending-wrap .proc-data-table :is(th,td):nth-child(2),body.mobile-tab-shell #proc-receiving .proc-receiving-history-wrap .proc-data-table :is(th,td):nth-child(2),body.native-app #proc-receiving .proc-receiving-history-wrap .proc-data-table :is(th,td):nth-child(2){min-width:120px}body.mobile-tab-shell #proc-receiving .proc-receiving-pending-wrap .proc-data-table :is(th,td):nth-child(3),body.native-app #proc-receiving .proc-receiving-pending-wrap .proc-data-table :is(th,td):nth-child(3),body.mobile-tab-shell #proc-receiving .proc-receiving-history-wrap .proc-data-table :is(th,td):nth-child(3),body.native-app #proc-receiving .proc-receiving-history-wrap .proc-data-table :is(th,td):nth-child(3){min-width:140px}body.mobile-tab-shell #proc-receiving .proc-receiving-pending-wrap .proc-data-table :is(th,td):nth-child(4),body.native-app #proc-receiving .proc-receiving-pending-wrap .proc-data-table :is(th,td):nth-child(4),body.mobile-tab-shell #proc-receiving .proc-receiving-history-wrap .proc-data-table :is(th,td):nth-child(4),body.native-app #proc-receiving .proc-receiving-history-wrap .proc-data-table :is(th,td):nth-child(4){min-width:96px;white-space:nowrap}body.mobile-tab-shell #proc-receiving .proc-receiving-pending-wrap .proc-data-table :is(th,td):nth-child(5),body.native-app #proc-receiving .proc-receiving-pending-wrap .proc-data-table :is(th,td):nth-child(5){min-width:120px;overflow:visible;white-space:nowrap}body.mobile-tab-shell #proc-receiving .proc-receiving-pending-wrap .proc-data-table :is(th,td):nth-child(6),body.native-app #proc-receiving .proc-receiving-pending-wrap .proc-data-table :is(th,td):nth-child(6){min-width:124px;overflow:visible;white-space:nowrap}body.mobile-tab-shell #proc-receiving .proc-receiving-history-wrap .proc-data-table :is(th,td):nth-child(5),body.native-app #proc-receiving .proc-receiving-history-wrap .proc-data-table :is(th,td):nth-child(5){min-width:110px}body.mobile-tab-shell #proc-receiving .proc-receiving-history-wrap .proc-data-table :is(th,td):nth-child(6),body.native-app #proc-receiving .proc-receiving-history-wrap .proc-data-table :is(th,td):nth-child(6){min-width:120px;overflow:visible;white-space:nowrap}body.mobile-tab-shell #proc-receiving .proc-receiving-qty-cell,body.native-app #proc-receiving .proc-receiving-qty-cell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.mobile-tab-shell #proc-receiving .proc-receiving-status-cell,body.native-app #proc-receiving .proc-receiving-status-cell{overflow:visible}body.mobile-tab-shell #proc-receiving .proc-receiving-status-cell .req-status,body.native-app #proc-receiving .proc-receiving-status-cell .req-status{display:inline-flex;align-items:center;white-space:nowrap;max-width:100%}body.mobile-tab-shell #proc-receiving .proc-receiving-action-btn,body.native-app #proc-receiving .proc-receiving-action-btn{font-size:11px;padding:6px 10px;min-height:34px;white-space:nowrap}body.mobile-tab-shell #inventory #proc-comparison .proc-data-table,body.native-app #inventory #proc-comparison .proc-data-table{min-width:680px;table-layout:fixed}body.mobile-tab-shell #proc-comparison .proc-data-table col.proc-col-supplier,body.native-app #proc-comparison .proc-data-table col.proc-col-supplier{width:24%}body.mobile-tab-shell #proc-comparison .proc-data-table col.proc-col-date,body.native-app #proc-comparison .proc-data-table col.proc-col-date{width:17%}body.mobile-tab-shell #proc-comparison .proc-data-table col.proc-col-actions,body.native-app #proc-comparison .proc-data-table col.proc-col-actions{width:20%}body.mobile-tab-shell #proc-comparison .proc-data-table :is(th,td):nth-child(3),body.native-app #proc-comparison .proc-data-table :is(th,td):nth-child(3){min-width:108px}body.mobile-tab-shell #proc-comparison .proc-data-table :is(th,td):nth-child(4),body.native-app #proc-comparison .proc-data-table :is(th,td):nth-child(4){min-width:96px;white-space:nowrap}body.mobile-tab-shell #proc-comparison .proc-data-table :is(th,td):nth-child(6),body.native-app #proc-comparison .proc-data-table :is(th,td):nth-child(6){min-width:112px;white-space:nowrap;overflow:visible;text-overflow:clip}body.mobile-tab-shell #proc-vendors .proc-vendors-cards,body.native-app #proc-vendors .proc-vendors-cards{display:flex;flex-direction:column;gap:10px;padding:2px 0 8px}body.mobile-tab-shell #proc-vendors .proc-vendors-cards[hidden],body.native-app #proc-vendors .proc-vendors-cards[hidden]{display:none!important}body.mobile-tab-shell #proc-vendors .vendor-card,body.native-app #proc-vendors .vendor-card{grid-template-columns:40px minmax(0,1fr) auto;gap:10px;padding:12px 14px;border-radius:14px}body.mobile-tab-shell #proc-vendors .vendor-card-side,body.native-app #proc-vendors .vendor-card-side{min-width:0;max-width:none;align-items:flex-end}body.mobile-tab-shell #proc-vendors .vendor-card-phone,body.native-app #proc-vendors .vendor-card-phone{font-size:12px;color:var(--brand);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.mobile-tab-shell #proc-vendors .vendor-edit-btn,body.native-app #proc-vendors .vendor-edit-btn{min-height:32px;padding:6px 12px}body.mobile-tab-shell #proc-po .proc-po-cards,body.native-app #proc-po .proc-po-cards{display:flex;flex-direction:column;gap:10px;padding:2px 0 8px}body.mobile-tab-shell #proc-po .proc-po-cards[hidden],body.native-app #proc-po .proc-po-cards[hidden],body.mobile-tab-shell #proc-po .proc-po-table-wrap[hidden],body.native-app #proc-po .proc-po-table-wrap[hidden]{display:none!important}.po-mobile-strip{border:1px solid var(--line, #e2e8f0);border-radius:14px;background:var(--card, #fff);padding:14px 14px 12px;box-shadow:0 1px 2px #0f172a0a}.po-mobile-strip-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:6px}.po-mobile-strip-id{font-size:13px;font-weight:800;color:var(--text, #0f172a);letter-spacing:.01em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.po-mobile-strip-top .req-status{flex-shrink:0;font-size:11px;line-height:1.2;padding:4px 8px;max-width:46%;text-align:center;white-space:normal}.po-mobile-strip-title{font-size:15px;font-weight:700;color:var(--text, #0f172a);line-height:1.3;margin-bottom:4px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.po-mobile-strip-sub{font-size:12px;color:var(--muted, #64748b);line-height:1.35;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.po-mobile-strip-meta{font-size:12px;color:var(--muted, #64748b);margin-bottom:12px}.po-mobile-strip-meta strong{color:var(--text, #0f172a);font-weight:700}.po-mobile-strip-actions{display:flex;align-items:stretch;gap:8px;position:relative}.po-mobile-strip-actions>.qa-btn-primary{flex:1;min-height:40px;justify-content:center}.po-mobile-more{position:relative;flex-shrink:0}.po-mobile-more-toggle{list-style:none;cursor:pointer;min-height:40px;min-width:72px;display:inline-flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none}.po-mobile-more-toggle::-webkit-details-marker{display:none}.po-mobile-more-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:20;min-width:180px;max-width:min(260px,78vw);display:flex;flex-direction:column;gap:4px;padding:8px;border:1px solid var(--line, #e2e8f0);border-radius:12px;background:var(--card, #fff);box-shadow:0 10px 28px #0f172a24}.po-mobile-more-menu .qa-btn{width:100%;justify-content:flex-start;min-height:38px;white-space:nowrap}.po-mobile-more[open]>.po-mobile-more-toggle{background:var(--soft, #f8fafc);border-color:var(--brand-border, #c4a574)}.view-material-request-card--detail{width:min(520px,96vw);max-height:min(92vh,880px)}.view-material-request-overlay--center.open{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12050;display:flex!important;align-items:center!important;justify-content:center!important;padding:max(16px,env(safe-area-inset-top,0px)) 20px max(16px,env(safe-area-inset-bottom,0px));background:#0f172a6b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);overflow:hidden}.view-material-request-card--modal{width:min(780px,calc(100vw - 40px))!important;height:auto!important;max-height:min(88vh,820px)!important;min-height:0!important;border-radius:16px!important;border:1px solid #e2e8f0!important;box-shadow:0 24px 60px #0f172a33!important;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;overflow:hidden!important}.view-material-request-card--modal .proc-view-modal-body{max-height:calc(88vh - 148px);overflow-y:auto}.view-material-request-card--modal .proc-view-drawer-head{border-radius:16px 16px 0 0}.view-material-request-card--modal .material-request-footer{border-radius:0 0 16px 16px}.view-material-request-card--detail .proc-view-modal-body{max-height:calc(92vh - 140px);overflow-y:auto}.view-material-request-card--detail .proc-view-approval-route{margin-top:4px}.view-material-request-card--detail .proc-view-approval-route .fm-mvp-approval--mvp{margin:0;padding:0;background:transparent;border:none;box-shadow:none}html.theme-dark .sidebar,body.theme-dark .sidebar{background:var(--card);border-color:var(--line);box-shadow:var(--shadow)}html.theme-dark .brand h1,body.theme-dark .brand h1,html.theme-dark .title strong,body.theme-dark .title strong,html.theme-dark .section-title,body.theme-dark .section-title,html.theme-dark .kpi .value,body.theme-dark .kpi .value{color:var(--text)}html.theme-dark .topbar,body.theme-dark .topbar,html.theme-dark .content,body.theme-dark .content,html.theme-dark .card,body.theme-dark .card,html.theme-dark .table-wrap,body.theme-dark .table-wrap{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark .tab,body.theme-dark .tab,html.theme-dark .pill,body.theme-dark .pill,html.theme-dark .burger,body.theme-dark .burger,html.theme-dark .menu-btn,body.theme-dark .menu-btn{background:var(--card);border-color:var(--line);color:var(--muted)}html.theme-dark .menu-item,body.theme-dark .menu-item{background:var(--card);border-color:var(--line);color:var(--muted)}html.theme-dark .menu-item:hover:not(.active),body.theme-dark .menu-item:hover:not(.active){background:var(--soft);border-color:var(--line);color:var(--text)}html.theme-dark .menu-item.active,body.theme-dark .menu-item.active{background:var(--brand-soft);border-color:var(--brand-border);color:var(--text)}html.theme-dark .sitebox,body.theme-dark .sitebox{background:var(--soft);border-color:var(--line)}html.theme-dark table th,body.theme-dark table th{color:var(--muted);background:var(--soft);border-color:var(--line)}html.theme-dark table td,body.theme-dark table td{color:var(--text);border-color:var(--line)}html.theme-dark table tr:hover td,body.theme-dark table tr:hover td{background:#ffffff08}html.theme-dark.mobile-tab-shell .main,html.theme-dark.native-app .main,body.theme-dark.mobile-tab-shell .main,body.theme-dark.native-app .main,html.theme-dark.mobile-tab-shell .content,html.theme-dark.native-app .content,body.theme-dark.mobile-tab-shell .content,body.theme-dark.native-app .content{background:var(--surface-muted);color:var(--text)}html.theme-dark.mobile-tab-shell .bottom-tab-bar,html.theme-dark.native-app .bottom-tab-bar,body.theme-dark.mobile-tab-shell .bottom-tab-bar,body.theme-dark.native-app .bottom-tab-bar{background:var(--card);border-color:var(--line)}html.theme-dark.mobile-tab-shell .bottom-tab-item,html.theme-dark.native-app .bottom-tab-item,body.theme-dark.mobile-tab-shell .bottom-tab-item,body.theme-dark.native-app .bottom-tab-item{color:var(--muted)}html.theme-dark.mobile-tab-shell .bottom-tab-item.active,html.theme-dark.native-app .bottom-tab-item.active,body.theme-dark.mobile-tab-shell .bottom-tab-item.active,body.theme-dark.native-app .bottom-tab-item.active,html.theme-dark .fm-clean-title,body.theme-dark .fm-clean-title,html.theme-dark .fm-clean-sub,body.theme-dark .fm-clean-sub{color:var(--text)}html.theme-dark .fm-clean-sub,body.theme-dark .fm-clean-sub{color:var(--muted)}html.theme-dark .fm-clean-select,body.theme-dark .fm-clean-select,html.theme-dark .fm-clean-site-pill,body.theme-dark .fm-clean-site-pill,html.theme-dark .roster-card,body.theme-dark .roster-card,html.theme-dark .crew-roster-panel,body.theme-dark .crew-roster-panel,html.theme-dark .mem-group-card,body.theme-dark .mem-group-card,html.theme-dark .project-worker-card,body.theme-dark .project-worker-card,html.theme-dark .empty-state,body.theme-dark .empty-state{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark .mem-gc-worker,body.theme-dark .mem-gc-worker{background:var(--soft);border-color:var(--line)}html.theme-dark .mem-gc-worker-name,body.theme-dark .mem-gc-worker-name{color:var(--text)}html.theme-dark .mem-gc-worker-meta,html.theme-dark .mem-gc-worker-hours,html.theme-dark .mem-gc-empty,body.theme-dark .mem-gc-worker-meta,body.theme-dark .mem-gc-worker-hours,body.theme-dark .mem-gc-empty{color:var(--muted)}html.theme-dark .mem-group-card--expanded .mem-gc-main,body.theme-dark .mem-group-card--expanded .mem-gc-main{border-bottom-color:var(--line)}html.theme-dark .roster-card__name,body.theme-dark .roster-card__name,html.theme-dark .mem-gc-name,body.theme-dark .mem-gc-name,html.theme-dark .crew-roster-panel__title,body.theme-dark .crew-roster-panel__title{color:var(--text)}html.theme-dark .roster-card__fact dt,body.theme-dark .roster-card__fact dt,html.theme-dark .mem-gc-loc,body.theme-dark .mem-gc-loc,html.theme-dark .roster-card__fact dd,body.theme-dark .roster-card__fact dd{color:var(--muted)}html.theme-dark .roster-card__fact dd,body.theme-dark .roster-card__fact dd{color:var(--text)}html.theme-dark .crew-roster-panel__head,body.theme-dark .crew-roster-panel__head{background:var(--card);border-bottom-color:var(--line)}html.theme-dark .crew-roster-filter__input,html.theme-dark .crew-roster-filter__select,body.theme-dark .crew-roster-filter__input,body.theme-dark .crew-roster-filter__select{background:var(--soft);border-color:var(--line);color:var(--text)}html.theme-dark .fm-req-dialog,body.theme-dark .fm-req-dialog,html.theme-dark .profile-modal-dialog,body.theme-dark .profile-modal-dialog{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark .fm-req-dialog-head,body.theme-dark .fm-req-dialog-head{background:var(--soft);border-bottom-color:var(--line)}html.theme-dark .fm-req-dialog-close,body.theme-dark .fm-req-dialog-close{background:var(--card);border-color:var(--line);color:var(--muted)}html.theme-dark .profile-modal-identity,body.theme-dark .profile-modal-identity{background:var(--soft);border-color:var(--line)}html.theme-dark .profile-theme-btn,html.theme-dark .profile-logout-btn,body.theme-dark .profile-theme-btn,body.theme-dark .profile-logout-btn{background:var(--card);border-color:var(--line)}html.theme-dark .profile-name,body.theme-dark .profile-name{color:var(--text)}html.theme-dark .profile-email,body.theme-dark .profile-email{color:var(--muted)}html.theme-dark .legal-card,body.theme-dark .legal-card,html.theme-dark .auth-card,body.theme-dark .auth-card{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark .legal-card h1,html.theme-dark .legal-card h2,html.theme-dark .legal-card h3,html.theme-dark .auth-card h1,body.theme-dark .legal-card h1,body.theme-dark .legal-card h2,body.theme-dark .legal-card h3,body.theme-dark .auth-card h1{color:var(--text)}html.theme-dark .legal-card p,html.theme-dark .legal-card li,body.theme-dark .legal-card p,body.theme-dark .legal-card li{color:var(--muted)}body.theme-dark.mobile-tab-shell .topbar,body.theme-dark.native-app .topbar,html.theme-dark.mobile-tab-shell .topbar,html.theme-dark.native-app .topbar{background:var(--header-gradient, var(--header-bg, #8c6a24));background-attachment:fixed;color:var(--header-fg, #fff);border:none}body.theme-dark.mobile-tab-shell .topbar .title strong,body.theme-dark.native-app .topbar .title strong,html.theme-dark.mobile-tab-shell .topbar .title strong,html.theme-dark.native-app .topbar .title strong{color:#fff}body.theme-dark.mobile-tab-shell .content,body.theme-dark.native-app .content,html.theme-dark.mobile-tab-shell .content,html.theme-dark.native-app .content{background:var(--surface-muted);color:var(--text)}html.theme-dark .qa-btn,body.theme-dark .qa-btn,html.theme-dark .action,body.theme-dark .action,html.theme-dark button.tab,body.theme-dark button.tab{color:var(--text)}html.theme-dark .members-toolbar,body.theme-dark .members-toolbar,html.theme-dark .mem-subtab,body.theme-dark .mem-subtab{background:var(--card);border-color:var(--line);color:var(--muted)}html.theme-dark .mem-subtab.active,body.theme-dark .mem-subtab.active{background:var(--brand-soft);border-color:var(--brand-border);color:var(--text)}html.theme-dark .clock-modal,body.theme-dark .clock-modal,html.theme-dark .proc-modal,body.theme-dark .proc-modal,html.theme-dark .material-request-modal,body.theme-dark .material-request-modal{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark input,html.theme-dark select,html.theme-dark textarea,body.theme-dark input,body.theme-dark select,body.theme-dark textarea{color:var(--text)}html.theme-dark input:not([type=checkbox]):not([type=radio]),html.theme-dark select,html.theme-dark textarea,body.theme-dark input:not([type=checkbox]):not([type=radio]),body.theme-dark select,body.theme-dark textarea{background:var(--soft);border-color:var(--line)}html.theme-dark .ws-meta-chip,body.theme-dark .ws-meta-chip{background:var(--soft);border-color:var(--line);color:var(--muted)}html.theme-dark .tablewrap,body.theme-dark .tablewrap{background:var(--card);border-color:var(--line)}html.theme-dark .tablewrap th,body.theme-dark .tablewrap th{background:var(--soft);border-color:var(--line);color:var(--muted)}html.theme-dark .tablewrap td,body.theme-dark .tablewrap td{border-color:var(--line);color:var(--text)}html.theme-dark .action,body.theme-dark .action,html.theme-dark .rpt-export-btn,body.theme-dark .rpt-export-btn,html.theme-dark .qa-btn,body.theme-dark .qa-btn{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark .gsearch-input,html.theme-dark .project-selector-wrap,html.theme-dark .time-date-picker-btn,html.theme-dark .members-search,html.theme-dark .members-select,body.theme-dark .gsearch-input,body.theme-dark .project-selector-wrap,body.theme-dark .time-date-picker-btn,body.theme-dark .members-search,body.theme-dark .members-select{background:var(--soft);border-color:var(--line);color:var(--text)}html.theme-dark .gsearch-input:focus,html.theme-dark .members-search:focus,body.theme-dark .gsearch-input:focus,body.theme-dark .members-search:focus{background:var(--card)}html.theme-dark .gsearch-results,html.theme-dark .time-date-picker-panel,html.theme-dark .time-date-picker-nav,body.theme-dark .gsearch-results,body.theme-dark .time-date-picker-panel,body.theme-dark .time-date-picker-nav{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark .site-block,html.theme-dark .project-ov-card,html.theme-dark .wc,html.theme-dark .project-manpower-request,html.theme-dark .site-time-card,html.theme-dark .project-meta-pill,html.theme-dark .visual-doc,html.theme-dark .checklist-card,html.theme-dark .drawing-approval-card,body.theme-dark .site-block,body.theme-dark .project-ov-card,body.theme-dark .wc,body.theme-dark .project-manpower-request,body.theme-dark .site-time-card,body.theme-dark .project-meta-pill,body.theme-dark .visual-doc,body.theme-dark .checklist-card,body.theme-dark .drawing-approval-card{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark .project-block-header,html.theme-dark .visual-doc-head,html.theme-dark .drawing-approval-head,html.theme-dark .project-allocation-subtabs,html.theme-dark .roster-site-head,html.theme-dark .tracker-acc-head,body.theme-dark .project-block-header,body.theme-dark .visual-doc-head,body.theme-dark .drawing-approval-head,body.theme-dark .project-allocation-subtabs,body.theme-dark .roster-site-head,body.theme-dark .tracker-acc-head{background:var(--soft);border-color:var(--line)}html.theme-dark .project-manpower-request-title,html.theme-dark .project-manpower-request-meta strong,html.theme-dark .room,body.theme-dark .project-manpower-request-title,body.theme-dark .project-manpower-request-meta strong,body.theme-dark .room{color:var(--text)}html.theme-dark .project-allocation-site-tab:hover,html.theme-dark .project-allocation-site-tab.active,body.theme-dark .project-allocation-site-tab:hover,body.theme-dark .project-allocation-site-tab.active{background:var(--card);color:var(--text);border-color:var(--line)}html.theme-dark .eng-crew-requests-panel,body.theme-dark .eng-crew-requests-panel{background:var(--card);border-color:var(--line);color:var(--text);box-shadow:none}html.theme-dark .eng-req-card,body.theme-dark .eng-req-card{background:var(--card);border-color:var(--line);box-shadow:none;color:var(--text)}html.theme-dark .eng-req-card:hover,body.theme-dark .eng-req-card:hover{border-color:color-mix(in srgb,var(--brand, #18765f) 35%,var(--line));box-shadow:none}html.theme-dark .eng-req-card.is-settled,body.theme-dark .eng-req-card.is-settled{background:var(--soft)}html.theme-dark .eng-req-card__title,html.theme-dark .eng-req-card__project,body.theme-dark .eng-req-card__title,body.theme-dark .eng-req-card__project{color:var(--text)}html.theme-dark .eng-req-card__meta,html.theme-dark .eng-req-card__notes,body.theme-dark .eng-req-card__meta,body.theme-dark .eng-req-card__notes{color:var(--muted)}html.theme-dark .eng-req-card__btn--ghost,body.theme-dark .eng-req-card__btn--ghost{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark .eng-req-card__btn--ghost:hover:not(:disabled),body.theme-dark .eng-req-card__btn--ghost:hover:not(:disabled){background:var(--soft)}html.theme-dark .eng-crew-req-tabs,body.theme-dark .eng-crew-req-tabs{background:transparent;border:none}html.theme-dark .eng-crew-req-tabs .mem-subtab:not(.active),body.theme-dark .eng-crew-req-tabs .mem-subtab:not(.active){background:var(--card);border-color:var(--line)}html.theme-dark .eng-crew-req-tabs .mem-subtab:hover,body.theme-dark .eng-crew-req-tabs .mem-subtab:hover{background:var(--soft);color:var(--text)}html.theme-dark .eng-crew-req-tabs .mem-subtab.active,body.theme-dark .eng-crew-req-tabs .mem-subtab.active{background:var(--brand, #18765f);color:#fff;border:none;box-shadow:none}html.theme-dark .eng-crew-req-tabs .mem-subtab .project-allocation-subtab-count,body.theme-dark .eng-crew-req-tabs .mem-subtab .project-allocation-subtab-count{background:var(--line);color:var(--muted)}html.theme-dark .eng-crew-requests-search,body.theme-dark .eng-crew-requests-search{background:var(--soft);border-color:var(--line);color:var(--muted)}html.theme-dark .eng-crew-requests-search:focus-within,body.theme-dark .eng-crew-requests-search:focus-within{border-color:var(--brand-border);background:var(--card)}html.theme-dark .eng-crew-requests-search input,body.theme-dark .eng-crew-requests-search input,html.theme-dark .eng-crew-requests-panel .empty-state-title,body.theme-dark .eng-crew-requests-panel .empty-state-title{color:var(--text)}html.theme-dark .eng-crew-requests-panel .empty-state-sub,body.theme-dark .eng-crew-requests-panel .empty-state-sub{color:var(--muted)}html.theme-dark .eng-crew-requests-panel .project-manpower-request-meta strong,body.theme-dark .eng-crew-requests-panel .project-manpower-request-meta strong{color:var(--text)}html.theme-dark .eng-crew-requests-panel .project-manpower-request,body.theme-dark .eng-crew-requests-panel .project-manpower-request{background:var(--card);border-color:var(--line);color:var(--text);box-shadow:none}html.theme-dark .eng-crew-requests-panel .project-manpower-request--settled,body.theme-dark .eng-crew-requests-panel .project-manpower-request--settled{background:var(--soft);border-color:var(--line)}html.theme-dark .eng-crew-requests-panel .members-search,body.theme-dark .eng-crew-requests-panel .members-search{background:var(--soft);border-color:var(--line);color:var(--text)}html.theme-dark .eng-crew-requests-panel .members-search::placeholder,body.theme-dark .eng-crew-requests-panel .members-search::placeholder{color:var(--muted)}html.theme-dark .eng-crew-requests-panel .project-manpower-request-actions,body.theme-dark .eng-crew-requests-panel .project-manpower-request-actions{border-color:var(--line)}html.theme-dark .project-req-rejected,body.theme-dark .project-req-rejected{background:color-mix(in srgb,#ef4444 18%,var(--card));color:#fca5a5;border-color:color-mix(in srgb,#ef4444 35%,var(--line))}html.theme-dark .roster-summary-card,html.theme-dark .member-tile,html.theme-dark .crew-card,html.theme-dark .roster-site-block,html.theme-dark .roster-stat-pill,html.theme-dark .tracker-acc,html.theme-dark .tracker-site-block,html.theme-dark .site-worker-mini-row,html.theme-dark .alloc-row,html.theme-dark .sh-item,html.theme-dark .entry-mini,body.theme-dark .roster-summary-card,body.theme-dark .member-tile,body.theme-dark .crew-card,body.theme-dark .roster-site-block,body.theme-dark .roster-stat-pill,body.theme-dark .tracker-acc,body.theme-dark .tracker-site-block,body.theme-dark .site-worker-mini-row,body.theme-dark .alloc-row,body.theme-dark .sh-item,body.theme-dark .entry-mini{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark .roster-view-toggle,html.theme-dark .member-tile-pill,html.theme-dark .entry-input,html.theme-dark .entry-select,html.theme-dark .entry-textarea,html.theme-dark .time-chip,body.theme-dark .roster-view-toggle,body.theme-dark .member-tile-pill,body.theme-dark .entry-input,body.theme-dark .entry-select,body.theme-dark .entry-textarea,body.theme-dark .time-chip{background:var(--soft);border-color:var(--line);color:var(--text)}html.theme-dark .entry-input:focus,html.theme-dark .entry-select:focus,html.theme-dark .entry-textarea:focus,body.theme-dark .entry-input:focus,body.theme-dark .entry-select:focus,body.theme-dark .entry-textarea:focus{background:var(--card)}html.theme-dark .material-request-card,html.theme-dark .material-request-footer,html.theme-dark .scrollable-select-menu,html.theme-dark .material-request-btn-cancel,html.theme-dark .clock-modal-footer .clock-submit.secondary,body.theme-dark .material-request-card,body.theme-dark .material-request-footer,body.theme-dark .scrollable-select-menu,body.theme-dark .material-request-btn-cancel,body.theme-dark .clock-modal-footer .clock-submit.secondary{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark .material-request-footer,html.theme-dark .clock-modal-header,html.theme-dark .clock-modal-footer,body.theme-dark .material-request-footer,body.theme-dark .clock-modal-header,body.theme-dark .clock-modal-footer{background:var(--soft);border-color:var(--line)}html.theme-dark .scrollable-select-chevron,html.theme-dark .scrollable-select-search,body.theme-dark .scrollable-select-chevron,body.theme-dark .scrollable-select-search{background:var(--soft);color:var(--muted)}html.theme-dark .assign-crew-request-card .material-request-sub,html.theme-dark .assign-modal-site,body.theme-dark .assign-crew-request-card .material-request-sub,body.theme-dark .assign-modal-site{color:var(--brand-ink)}html.theme-dark .project-allocation-request-detail,html.theme-dark .assign-modal-instruction,body.theme-dark .project-allocation-request-detail,body.theme-dark .assign-modal-instruction{background:var(--soft);border-color:var(--line);color:var(--text)}html.theme-dark .assign-modal-instruction,html.theme-dark .assign-notify-hint,html.theme-dark .assign-worker-info span,body.theme-dark .assign-modal-instruction,body.theme-dark .assign-notify-hint,body.theme-dark .assign-worker-info span{color:var(--muted)}html.theme-dark .assign-worker-row,body.theme-dark .assign-worker-row{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark .assign-worker-row:hover,body.theme-dark .assign-worker-row:hover{background:var(--soft);border-color:var(--brand-border)}html.theme-dark .assign-worker-row.selected,body.theme-dark .assign-worker-row.selected{background:var(--brand-soft);border-color:var(--brand-border);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 22%,transparent)}html.theme-dark .assign-worker-info strong,body.theme-dark .assign-worker-info strong{color:var(--text)}html.theme-dark .crew-member-info-btn,body.theme-dark .crew-member-info-btn{background:var(--soft);border-color:var(--line);color:var(--muted)}html.theme-dark .crew-member-info-btn:hover:not(:disabled),body.theme-dark .crew-member-info-btn:hover:not(:disabled){background:var(--card);border-color:var(--brand-border);color:var(--text)}html.theme-dark .assign-empty-notify .empty-state-title,body.theme-dark .assign-empty-notify .empty-state-title{color:var(--text)}html.theme-dark .assign-empty-notify .empty-state-sub,body.theme-dark .assign-empty-notify .empty-state-sub{color:var(--muted)}html.theme-dark .admin-modal-card,html.theme-dark .confirm-dialog,html.theme-dark .rbac-accordion-item,html.theme-dark .rbac-accordion-header,html.theme-dark .rbac-crew-section,html.theme-dark .announce-audience-btn,html.theme-dark .announce-role-chip,html.theme-dark .announce-input,html.theme-dark .raise-alert-btn--ghost,body.theme-dark .admin-modal-card,body.theme-dark .confirm-dialog,body.theme-dark .rbac-accordion-item,body.theme-dark .rbac-accordion-header,body.theme-dark .rbac-crew-section,body.theme-dark .announce-audience-btn,body.theme-dark .announce-role-chip,body.theme-dark .announce-input,body.theme-dark .raise-alert-btn--ghost{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark .admin-modal-card--user .admin-user-modal-head,html.theme-dark .admin-modal-card--user .admin-form-body,html.theme-dark .admin-modal-card--user .admin-form-footer,html.theme-dark .rbac-accordion-trigger,html.theme-dark .rbac-accordion-body,html.theme-dark .announce-panel__head,body.theme-dark .admin-modal-card--user .admin-user-modal-head,body.theme-dark .admin-modal-card--user .admin-form-body,body.theme-dark .admin-modal-card--user .admin-form-footer,body.theme-dark .rbac-accordion-trigger,body.theme-dark .rbac-accordion-body,body.theme-dark .announce-panel__head{background:var(--soft);border-color:var(--line);color:var(--text)}html.theme-dark .announce-panel__title,html.theme-dark .announce-audience-btn strong,html.theme-dark .announce-role-chip,html.theme-dark .rbac-perm-label,body.theme-dark .announce-panel__title,body.theme-dark .announce-audience-btn strong,body.theme-dark .announce-role-chip,body.theme-dark .rbac-perm-label{color:var(--text)}html.theme-dark .admin-modal-card--user .entry-input,html.theme-dark .admin-modal-card--user .entry-select,body.theme-dark .admin-modal-card--user .entry-input,body.theme-dark .admin-modal-card--user .entry-select{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark .kpi .label,html.theme-dark .kpi .hint,html.theme-dark .section-sub,body.theme-dark .kpi .label,body.theme-dark .kpi .hint,body.theme-dark .section-sub{color:var(--muted)}html.theme-dark .fm-info-chip,body.theme-dark .fm-info-chip{background:var(--soft);border-color:var(--line);color:var(--text)}html.theme-dark.mobile-tab-shell #crew .project-allocation-subtabs,html.theme-dark.native-app #crew .project-allocation-subtabs,body.theme-dark.mobile-tab-shell #crew .project-allocation-subtabs,body.theme-dark.native-app #crew .project-allocation-subtabs{background:var(--soft);border-color:var(--line)}html.theme-dark.mobile-tab-shell #crew .project-allocation-subtabs .mem-subtab,html.theme-dark.native-app #crew .project-allocation-subtabs .mem-subtab,body.theme-dark.mobile-tab-shell #crew .project-allocation-subtabs .mem-subtab,body.theme-dark.native-app #crew .project-allocation-subtabs .mem-subtab{background:transparent;color:var(--muted)}html.theme-dark.mobile-tab-shell #crew .project-allocation-subtabs .mem-subtab.active,html.theme-dark.native-app #crew .project-allocation-subtabs .mem-subtab.active,body.theme-dark.mobile-tab-shell #crew .project-allocation-subtabs .mem-subtab.active,body.theme-dark.native-app #crew .project-allocation-subtabs .mem-subtab.active{background:var(--card);color:var(--text);box-shadow:none}html.theme-dark.mobile-tab-shell #crew .project-allocation-subtabs .mem-subtab.active .project-allocation-subtab-count,html.theme-dark.native-app #crew .project-allocation-subtabs .mem-subtab.active .project-allocation-subtab-count,body.theme-dark.mobile-tab-shell #crew .project-allocation-subtabs .mem-subtab.active .project-allocation-subtab-count,body.theme-dark.native-app #crew .project-allocation-subtabs .mem-subtab.active .project-allocation-subtab-count{background:var(--brand-soft);color:var(--text);border-color:var(--brand-border)}html.theme-dark.mobile-tab-shell #crew .project-allocation-site-tab,html.theme-dark.native-app #crew .project-allocation-site-tab,body.theme-dark.mobile-tab-shell #crew .project-allocation-site-tab,body.theme-dark.native-app #crew .project-allocation-site-tab{background:var(--card);border-color:var(--line);color:var(--muted)}html.theme-dark.mobile-tab-shell #crew .project-allocation-site-tab.active,html.theme-dark.native-app #crew .project-allocation-site-tab.active,body.theme-dark.mobile-tab-shell #crew .project-allocation-site-tab.active,body.theme-dark.native-app #crew .project-allocation-site-tab.active{background:var(--brand-soft);border-color:var(--brand-border);color:var(--text)}html.theme-dark.mobile-tab-shell #crew .project-allocation-site-tab.active .project-allocation-site-tab-badge,html.theme-dark.native-app #crew .project-allocation-site-tab.active .project-allocation-site-tab-badge,body.theme-dark.mobile-tab-shell #crew .project-allocation-site-tab.active .project-allocation-site-tab-badge,body.theme-dark.native-app #crew .project-allocation-site-tab.active .project-allocation-site-tab-badge{background:var(--card);color:var(--text)}html.theme-dark.mobile-tab-shell #crew .project-allocation-panel.card,html.theme-dark.native-app #crew .project-allocation-panel.card,body.theme-dark.mobile-tab-shell #crew .project-allocation-panel.card,body.theme-dark.native-app #crew .project-allocation-panel.card,html.theme-dark.mobile-tab-shell #crew .project-allocation-panel-head.project-block-header,html.theme-dark.native-app #crew .project-allocation-panel-head.project-block-header,body.theme-dark.mobile-tab-shell #crew .project-allocation-panel-head.project-block-header,body.theme-dark.native-app #crew .project-allocation-panel-head.project-block-header{background:var(--card);border-color:var(--line)}html.theme-dark.mobile-tab-shell #crew .eng-crew-req-tabs .mem-subtab,html.theme-dark.native-app #crew .eng-crew-req-tabs .mem-subtab,body.theme-dark.mobile-tab-shell #crew .eng-crew-req-tabs .mem-subtab,body.theme-dark.native-app #crew .eng-crew-req-tabs .mem-subtab{color:var(--muted)}html.theme-dark.mobile-tab-shell #crew .eng-crew-req-tabs .mem-subtab.active,html.theme-dark.native-app #crew .eng-crew-req-tabs .mem-subtab.active,body.theme-dark.mobile-tab-shell #crew .eng-crew-req-tabs .mem-subtab.active,body.theme-dark.native-app #crew .eng-crew-req-tabs .mem-subtab.active{background:var(--brand, #18765f);color:#fff;border:none}html.theme-dark.mobile-tab-shell #crew .eng-crew-requests-panel,html.theme-dark.native-app #crew .eng-crew-requests-panel,body.theme-dark.mobile-tab-shell #crew .eng-crew-requests-panel,body.theme-dark.native-app #crew .eng-crew-requests-panel{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark.mobile-tab-shell #crew .eng-crew-req-tabs,html.theme-dark.native-app #crew .eng-crew-req-tabs,body.theme-dark.mobile-tab-shell #crew .eng-crew-req-tabs,body.theme-dark.native-app #crew .eng-crew-req-tabs{background:transparent;border:none}html.theme-dark.mobile-tab-shell #crew .project-manpower-request,html.theme-dark.native-app #crew .project-manpower-request,body.theme-dark.mobile-tab-shell #crew .project-manpower-request,body.theme-dark.native-app #crew .project-manpower-request,html.theme-dark.mobile-tab-shell #crew .eng-crew-requests-panel .project-manpower-request,html.theme-dark.native-app #crew .eng-crew-requests-panel .project-manpower-request,body.theme-dark.mobile-tab-shell #crew .eng-crew-requests-panel .project-manpower-request,body.theme-dark.native-app #crew .eng-crew-requests-panel .project-manpower-request{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark.mobile-tab-shell #crew .eng-crew-requests-panel .project-manpower-request--settled,html.theme-dark.native-app #crew .eng-crew-requests-panel .project-manpower-request--settled,body.theme-dark.mobile-tab-shell #crew .eng-crew-requests-panel .project-manpower-request--settled,body.theme-dark.native-app #crew .eng-crew-requests-panel .project-manpower-request--settled{background:var(--soft);border-color:var(--line)}html.theme-dark.mobile-tab-shell #crew .eng-crew-requests-head .section-sub,html.theme-dark.native-app #crew .eng-crew-requests-head .section-sub,body.theme-dark.mobile-tab-shell #crew .eng-crew-requests-head .section-sub,body.theme-dark.native-app #crew .eng-crew-requests-head .section-sub,html.theme-dark.mobile-tab-shell #crew .eng-crew-requests-panel .project-manpower-request-meta,html.theme-dark.native-app #crew .eng-crew-requests-panel .project-manpower-request-meta,body.theme-dark.mobile-tab-shell #crew .eng-crew-requests-panel .project-manpower-request-meta,body.theme-dark.native-app #crew .eng-crew-requests-panel .project-manpower-request-meta,html.theme-dark.mobile-tab-shell #crew .eng-crew-requests-panel .project-manpower-request-notes,html.theme-dark.native-app #crew .eng-crew-requests-panel .project-manpower-request-notes,body.theme-dark.mobile-tab-shell #crew .eng-crew-requests-panel .project-manpower-request-notes,body.theme-dark.native-app #crew .eng-crew-requests-panel .project-manpower-request-notes,html.theme-dark.mobile-tab-shell #crew .project-manpower-request-meta,html.theme-dark.native-app #crew .project-manpower-request-meta,body.theme-dark.mobile-tab-shell #crew .project-manpower-request-meta,body.theme-dark.native-app #crew .project-manpower-request-meta{color:var(--muted)}html.theme-dark.mobile-tab-shell #crew .eng-crew-requests-panel .project-manpower-request-title,html.theme-dark.native-app #crew .eng-crew-requests-panel .project-manpower-request-title,body.theme-dark.mobile-tab-shell #crew .eng-crew-requests-panel .project-manpower-request-title,body.theme-dark.native-app #crew .eng-crew-requests-panel .project-manpower-request-title,html.theme-dark.mobile-tab-shell #crew .project-manpower-request-title,html.theme-dark.native-app #crew .project-manpower-request-title,body.theme-dark.mobile-tab-shell #crew .project-manpower-request-title,body.theme-dark.native-app #crew .project-manpower-request-title{color:var(--text)}html.theme-dark.mobile-tab-shell #crew .project-worker-card,html.theme-dark.native-app #crew .project-worker-card,body.theme-dark.mobile-tab-shell #crew .project-worker-card,body.theme-dark.native-app #crew .project-worker-card{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark .fm-req-filters,body.theme-dark .fm-req-filters,html.theme-dark .fm-shell--mobile .fm-req-panel--mobile .fm-req-filters,body.theme-dark.mobile-tab-shell .fm-req-panel--mobile .fm-req-filters,body.theme-dark.native-app .fm-req-panel--mobile .fm-req-filters{background:var(--card)}html.theme-dark .fm-req-filter-tab,body.theme-dark .fm-req-filter-tab,html.theme-dark .fm-shell--mobile .fm-req-panel--mobile .fm-req-filter-tab,body.theme-dark.mobile-tab-shell .fm-req-panel--mobile .fm-req-filter-tab,body.theme-dark.native-app .fm-req-panel--mobile .fm-req-filter-tab{background:var(--soft);border-color:var(--line);color:var(--muted)}html.theme-dark .fm-req-filter-tab:hover,body.theme-dark .fm-req-filter-tab:hover{border-color:var(--brand-border);color:var(--text)}html.theme-dark .fm-req-filter-tab.active,body.theme-dark .fm-req-filter-tab.active{background:var(--brand-soft);border-color:var(--brand-border);color:var(--text)}html.theme-dark .ppe-tab-bar,body.theme-dark .ppe-tab-bar,html.theme-dark.mobile-tab-shell #proj-ppe-view .ppe-tab-bar,html.theme-dark.native-app #proj-ppe-view .ppe-tab-bar,body.theme-dark.mobile-tab-shell #proj-ppe-view .ppe-tab-bar,body.theme-dark.native-app #proj-ppe-view .ppe-tab-bar{background:var(--soft);border-color:var(--line)}html.theme-dark .ppe-tab,body.theme-dark .ppe-tab,html.theme-dark.mobile-tab-shell #proj-ppe-view .ppe-tab,html.theme-dark.native-app #proj-ppe-view .ppe-tab,body.theme-dark.mobile-tab-shell #proj-ppe-view .ppe-tab,body.theme-dark.native-app #proj-ppe-view .ppe-tab{background:var(--card);border-color:var(--line);color:var(--muted)}html.theme-dark .ppe-status-tabs,body.theme-dark .ppe-status-tabs{background:transparent}html.theme-dark .ppe-status-tab,body.theme-dark .ppe-status-tab{background:var(--card);border-color:var(--line);color:var(--muted)}html.theme-dark .ppe-status-tab:hover,body.theme-dark .ppe-status-tab:hover{background:var(--soft);border-color:var(--brand-border);color:var(--text)}html.theme-dark .ppe-status-tab.active,body.theme-dark .ppe-status-tab.active{background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-ink)}html.theme-dark .ppe-status-tab-count,body.theme-dark .ppe-status-tab-count{background:var(--soft);border-color:var(--line);color:inherit}html.theme-dark .ppe-status-tab.active .ppe-status-tab-count,body.theme-dark .ppe-status-tab.active .ppe-status-tab-count{background:#c49a4529;border-color:var(--brand-border)}html.theme-dark .req-modal-type-tab,body.theme-dark .req-modal-type-tab{background:var(--soft)}html.theme-dark .req-modal-type-pill,body.theme-dark .req-modal-type-pill{color:var(--muted)}html.theme-dark .req-modal-type-pill.active,body.theme-dark .req-modal-type-pill.active{background:var(--card);color:var(--text);box-shadow:none}html.theme-dark .project-allocation-site-tab,body.theme-dark .project-allocation-site-tab{background:var(--soft);border-color:var(--line);color:var(--muted)}html.theme-dark .project-allocation-site-tab.active,body.theme-dark .project-allocation-site-tab.active{background:var(--brand-soft);border-color:var(--brand-border);color:var(--text)}html.theme-dark .roster-view-btn,body.theme-dark .roster-view-btn{background:transparent;color:var(--muted)}html.theme-dark .roster-view-btn.active,body.theme-dark .roster-view-btn.active{background:var(--card);color:var(--text);box-shadow:inset 0 0 0 1px var(--line)}html.theme-dark .rbac-module-nav-btn,body.theme-dark .rbac-module-nav-btn{background:var(--card);border-color:var(--line);color:var(--muted)}html.theme-dark .rbac-module-nav-btn:hover,body.theme-dark .rbac-module-nav-btn:hover{background:var(--soft);color:var(--text)}html.theme-dark .rbac-module-nav-btn.active,body.theme-dark .rbac-module-nav-btn.active{background:var(--brand-soft);border-color:var(--brand-border);color:var(--text)}html.theme-dark .filter,body.theme-dark .filter{background:var(--card);border-color:var(--line);color:var(--muted)}html.theme-dark .filter.active,body.theme-dark .filter.active{background:var(--brand-soft);border-color:var(--brand-border);color:var(--text)}html.theme-dark .eng-req-modal,html.theme-dark .eng-req-view-modal,html.theme-dark .eng-req-modal-head,html.theme-dark .eng-req-modal-footer,html.theme-dark .eng-issue-modal-row,body.theme-dark .eng-req-modal,body.theme-dark .eng-req-view-modal,body.theme-dark .eng-req-modal-head,body.theme-dark .eng-req-modal-footer,body.theme-dark .eng-issue-modal-row{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark .eng-req-modal-close,body.theme-dark .eng-req-modal-close{background:var(--soft);color:var(--muted)}html.theme-dark .eng-req-modal-close:hover,body.theme-dark .eng-req-modal-close:hover{background:var(--line);color:var(--text)}html.theme-dark .eng-req-modal-title,html.theme-dark .eng-issue-modal-title,body.theme-dark .eng-req-modal-title,body.theme-dark .eng-issue-modal-title{color:var(--text)}html.theme-dark .eng-req-modal-sub,html.theme-dark .eng-issue-modal-desc,body.theme-dark .eng-req-modal-sub,body.theme-dark .eng-issue-modal-desc{color:var(--muted)}html.theme-dark .eng-req-reject-footer,body.theme-dark .eng-req-reject-footer{background:var(--soft);border-color:var(--line)}html.theme-dark .eng-req-reject-field,body.theme-dark .eng-req-reject-field{color:var(--text)}html.theme-dark .eng-req-reject-field textarea,body.theme-dark .eng-req-reject-field textarea{background:var(--soft);border-color:var(--line);color:var(--text)}html.theme-dark .eng-req-reject-field textarea::placeholder,body.theme-dark .eng-req-reject-field textarea::placeholder{color:var(--muted)}html.theme-dark .eng-req-reject-field textarea:disabled,body.theme-dark .eng-req-reject-field textarea:disabled{background:var(--card)}html.theme-dark .req-toast,html.theme-dark .notif-toast,html.theme-dark .fm-clean-toast,body.theme-dark .req-toast,body.theme-dark .notif-toast,body.theme-dark .fm-clean-toast{background:var(--card);border-color:var(--line);color:var(--text);box-shadow:0 12px 36px #00000073}html.theme-dark .req-toast-title,html.theme-dark .notif-toast-title,body.theme-dark .req-toast-title,body.theme-dark .notif-toast-title{color:var(--text)}html.theme-dark .req-toast-id,html.theme-dark .fm-clean-toast,body.theme-dark .req-toast-id,body.theme-dark .fm-clean-toast{color:var(--brand-ink)}html.theme-dark .notif-toast-body,body.theme-dark .notif-toast-body,html.theme-dark .notif-toast-close,body.theme-dark .notif-toast-close{color:var(--muted)}html.theme-dark .notif-toast-close:hover,body.theme-dark .notif-toast-close:hover{color:var(--text)}html.theme-dark .fm-clean-toast-error,body.theme-dark .fm-clean-toast-error{background:color-mix(in srgb,#ef4444 18%,var(--card));border-color:color-mix(in srgb,#ef4444 40%,var(--line));color:#fecaca}html.theme-dark .reject-request-summary,body.theme-dark .reject-request-summary{background:var(--soft);border-color:var(--line)}html.theme-dark .reject-request-summary-title,body.theme-dark .reject-request-summary-title{color:var(--text)}html.theme-dark .reject-request-summary-type,html.theme-dark .reject-request-summary-meta,html.theme-dark .reject-request-hint,body.theme-dark .reject-request-summary-type,body.theme-dark .reject-request-summary-meta,body.theme-dark .reject-request-hint{color:var(--muted)}html.theme-dark .reject-request-field textarea.material-request-textarea,body.theme-dark .reject-request-field textarea.material-request-textarea{background:var(--soft);border-color:var(--line);color:var(--text)}html.theme-dark .material-request-icon-wrap--reject,body.theme-dark .material-request-icon-wrap--reject{background:color-mix(in srgb,#ef4444 18%,var(--card));border-color:color-mix(in srgb,#ef4444 35%,var(--line));color:#fca5a5}html.theme-dark .material-request-btn-submit--danger,body.theme-dark .material-request-btn-submit--danger{background:color-mix(in srgb,#ef4444 18%,var(--card));border-color:color-mix(in srgb,#ef4444 40%,var(--line));color:#fecaca}html.theme-dark .material-request-btn-submit--danger:hover:not(:disabled),body.theme-dark .material-request-btn-submit--danger:hover:not(:disabled){background:color-mix(in srgb,#ef4444 28%,var(--card));border-color:#f87171;color:#fee2e2}html.theme-dark .proc-reject-summary,body.theme-dark .proc-reject-summary{background:var(--soft);border-color:var(--line)}html.theme-dark .proc-reject-summary-title,body.theme-dark .proc-reject-summary-title{color:var(--text)}html.theme-dark .proc-reject-summary-label,html.theme-dark .proc-reject-hint,body.theme-dark .proc-reject-summary-label,body.theme-dark .proc-reject-hint{color:var(--muted)}html.theme-dark .proc-reject-textarea,body.theme-dark .proc-reject-textarea{background:var(--soft);border-color:var(--line);color:var(--text)}html.theme-dark .proc-reject-submit-btn,body.theme-dark .proc-reject-submit-btn{background:color-mix(in srgb,#ef4444 18%,var(--card))!important;border-color:color-mix(in srgb,#ef4444 40%,var(--line))!important;color:#fecaca!important}html.theme-dark .reject-request-chip,body.theme-dark .reject-request-chip{background:var(--soft);border-color:var(--line);color:var(--text)}html.theme-dark .reject-request-chip:hover:not(:disabled),body.theme-dark .reject-request-chip:hover:not(:disabled){background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-ink)}html.theme-dark .fm-early-out-modal,html.theme-dark .fm-early-out-view-modal,html.theme-dark .fm-edit-time-modal,html.theme-dark .fm-alert-modal,body.theme-dark .fm-early-out-modal,body.theme-dark .fm-early-out-view-modal,body.theme-dark .fm-edit-time-modal,body.theme-dark .fm-alert-modal{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark .fm-early-out-close,html.theme-dark .fm-alert-close,html.theme-dark .material-request-close,html.theme-dark .confirm-dialog-cancel,html.theme-dark .confirm-dialog-close,body.theme-dark .fm-early-out-close,body.theme-dark .fm-alert-close,body.theme-dark .material-request-close,body.theme-dark .confirm-dialog-cancel,body.theme-dark .confirm-dialog-close{background:var(--card);border-color:var(--line);color:var(--muted)}html.theme-dark .fm-early-out-close:hover,html.theme-dark .confirm-dialog-cancel:hover:not(:disabled),html.theme-dark .confirm-dialog-close:hover:not(:disabled),body.theme-dark .fm-early-out-close:hover,body.theme-dark .confirm-dialog-cancel:hover:not(:disabled),body.theme-dark .confirm-dialog-close:hover:not(:disabled){background:var(--soft);color:var(--text)}html.theme-dark .fm-early-out-comment-box,html.theme-dark .fm-early-out-summary,html.theme-dark .fm-alert-head,body.theme-dark .fm-early-out-comment-box,body.theme-dark .fm-early-out-summary,body.theme-dark .fm-alert-head{background:var(--soft);border-color:var(--line)}html.theme-dark .fm-early-out-title,html.theme-dark .fm-early-out-worker-name,html.theme-dark .fm-alert-title,html.theme-dark .confirm-dialog-title,body.theme-dark .fm-early-out-title,body.theme-dark .fm-early-out-worker-name,body.theme-dark .fm-alert-title,body.theme-dark .confirm-dialog-title{color:var(--text)}html.theme-dark .fm-early-out-sub,html.theme-dark .confirm-dialog-message,html.theme-dark .confirm-dialog-detail,body.theme-dark .fm-early-out-sub,body.theme-dark .confirm-dialog-message,body.theme-dark .confirm-dialog-detail{color:var(--muted)}html.theme-dark .members-modal,html.theme-dark .members-modal-row,body.theme-dark .members-modal,body.theme-dark .members-modal-row{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark .members-modal-row__avatar,body.theme-dark .members-modal-row__avatar{background:var(--soft);border-color:var(--line)}html.theme-dark .members-modal-row__name,body.theme-dark .members-modal-row__name{color:var(--text)}html.theme-dark .members-modal-row__meta,html.theme-dark .members-modal-row__hours,body.theme-dark .members-modal-row__meta,body.theme-dark .members-modal-row__hours{color:var(--muted)}html.theme-dark .project-modal-card,html.theme-dark .project-modal-section,html.theme-dark .project-modal-footer,body.theme-dark .project-modal-card,body.theme-dark .project-modal-section,body.theme-dark .project-modal-footer{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark .project-modal-section-label,body.theme-dark .project-modal-section-label{color:var(--muted)}html.theme-dark .project-modal-form .entry-time-input.fm-time-12h,html.theme-dark .admin-user-form .entry-time-input.fm-time-12h,html.theme-dark .eng-req-modal-body .entry-time-input.fm-time-12h,html.theme-dark .project-modal-form .entry-time-input.fm-time-12h:focus-within,html.theme-dark .admin-user-form .entry-time-input.fm-time-12h:focus-within,html.theme-dark .eng-req-modal-body .entry-time-input.fm-time-12h:focus-within,body.theme-dark .project-modal-form .entry-time-input.fm-time-12h,body.theme-dark .admin-user-form .entry-time-input.fm-time-12h,body.theme-dark .eng-req-modal-body .entry-time-input.fm-time-12h,body.theme-dark .project-modal-form .entry-time-input.fm-time-12h:focus-within,body.theme-dark .admin-user-form .entry-time-input.fm-time-12h:focus-within,body.theme-dark .eng-req-modal-body .entry-time-input.fm-time-12h:focus-within{background:var(--soft);border-color:var(--line);color:var(--text)}html.theme-dark .project-modal-form .entry-time-input.fm-time-12h.invalid,html.theme-dark .admin-user-form .entry-time-input.fm-time-12h.invalid,body.theme-dark .project-modal-form .entry-time-input.fm-time-12h.invalid,body.theme-dark .admin-user-form .entry-time-input.fm-time-12h.invalid{background:color-mix(in srgb,#ef4444 14%,var(--card));border-color:#7f1d1d}html.theme-dark .manpower-selected-banner,html.theme-dark .manpower-assign-guide,html.theme-dark .manpower-team-section,html.theme-dark .project-team-list,html.theme-dark .project-team-empty,html.theme-dark .manpower-team-field .project-team-row-wrap,html.theme-dark .manpower-team-inline-reports,html.theme-dark .checkbox-dropdown-menu,body.theme-dark .manpower-selected-banner,body.theme-dark .manpower-assign-guide,body.theme-dark .manpower-team-section,body.theme-dark .project-team-list,body.theme-dark .project-team-empty,body.theme-dark .manpower-team-field .project-team-row-wrap,body.theme-dark .manpower-team-inline-reports,body.theme-dark .checkbox-dropdown-menu{background:var(--card);border-color:var(--line);color:var(--text);box-shadow:none}html.theme-dark .manpower-selected-banner,body.theme-dark .manpower-selected-banner{background:linear-gradient(135deg,color-mix(in srgb,var(--brand-soft) 55%,var(--card)),var(--card) 55%,var(--soft))}html.theme-dark .manpower-team-field .project-team-row-wrap.selected,body.theme-dark .manpower-team-field .project-team-row-wrap.selected{background:color-mix(in srgb,var(--brand-soft) 35%,var(--card));border-color:var(--brand-border)}html.theme-dark .manpower-assign-guide-steps,html.theme-dark .manpower-team-section-copy strong,html.theme-dark .manpower-team-name,body.theme-dark .manpower-assign-guide-steps,body.theme-dark .manpower-team-section-copy strong,body.theme-dark .manpower-team-name{color:var(--text)}html.theme-dark .manpower-assign-guide-title,html.theme-dark .manpower-team-section-copy p,body.theme-dark .manpower-assign-guide-title,body.theme-dark .manpower-team-section-copy p{color:var(--muted)}html.theme-dark .manpower-assign-tabs,body.theme-dark .manpower-assign-tabs{border-bottom-color:var(--line)}html.theme-dark .manpower-assign-tab.is-active,body.theme-dark .manpower-assign-tab.is-active{color:var(--text)}html.theme-dark .manpower-assign-tab.is-active:after,body.theme-dark .manpower-assign-tab.is-active:after{background:#e8d4a0}html.theme-dark .mp-vmap-mgr,body.theme-dark .mp-vmap-mgr,html.theme-dark .mp-vmap-node,body.theme-dark .mp-vmap-node{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark .mp-vmap-mgr,body.theme-dark .mp-vmap-mgr{background:linear-gradient(180deg,color-mix(in srgb,var(--brand-soft) 55%,var(--card)),var(--card) 60%)}html.theme-dark .mp-vmap-node-name,body.theme-dark .mp-vmap-node-name,html.theme-dark .mp-vmap-strip strong,body.theme-dark .mp-vmap-strip strong{color:var(--text)}html.theme-dark .mp-vmap-canvas,body.theme-dark .mp-vmap-canvas,html.theme-dark .mp-canvas-stage,body.theme-dark .mp-canvas-stage{background-color:color-mix(in srgb,var(--brand-soft) 28%,var(--card));background-image:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--brand) 28%,var(--line)) 1px,transparent 0);background-size:18px 18px}html.theme-dark .mp-amap.mp-canvas-workspace,body.theme-dark .mp-amap.mp-canvas-workspace{border-color:var(--line);background:var(--card)}html.theme-dark .mp-canvas-side,body.theme-dark .mp-canvas-side{background:color-mix(in srgb,var(--soft) 70%,var(--card));border-color:var(--line)}html.theme-dark .mp-canvas-rail-btn,body.theme-dark .mp-canvas-rail-btn{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark .mp-canvas-picker-slot,body.theme-dark .mp-canvas-picker-slot{background:var(--card);border-color:var(--line)}html.theme-dark .mp-canvas-fullview-btn,body.theme-dark .mp-canvas-fullview-btn{background:color-mix(in srgb,var(--card) 92%,transparent);border-color:var(--line);color:var(--text)}html.theme-dark .mp-amap-card--owner,body.theme-dark .mp-amap-card--owner{background:linear-gradient(180deg,color-mix(in srgb,var(--brand, #a8822f) 28%,var(--card)),color-mix(in srgb,var(--brand-soft, #f0e6d0) 18%,var(--card)) 78%);border-color:color-mix(in srgb,var(--brand, #a8822f) 40%,var(--line))}html.theme-dark .mp-amap-card.is-selected,body.theme-dark .mp-amap-card.is-selected{border-color:#2dd4bf;box-shadow:0 0 0 3px color-mix(in srgb,#2dd4bf 30%,transparent),0 1px 2px #00000059}html.theme-dark .mp-amap-view,html.theme-dark .mp-amap-peek-close,body.theme-dark .mp-amap-view,body.theme-dark .mp-amap-peek-close{background:var(--card);border-color:var(--line);color:var(--muted)}html.theme-dark .mp-amap-peek-overlay,body.theme-dark .mp-amap-peek-overlay{background:#0206178c}html.theme-dark .mp-amap-peek-card,body.theme-dark .mp-amap-peek-card{background:var(--card);border-color:var(--line)}html.theme-dark .mp-amap-peek-row,body.theme-dark .mp-amap-peek-row{background:var(--soft)}html.theme-dark .manpower-team-type-row select,html.theme-dark .manpower-team-reports-row select,body.theme-dark .manpower-team-type-row select,body.theme-dark .manpower-team-reports-row select{background:var(--soft);border-color:var(--line);color:var(--text)}html.theme-dark .project-modal-form .fm-time-12h-select,html.theme-dark .admin-user-form .fm-time-12h-select,html.theme-dark .eng-req-modal-body .fm-time-12h-select,html.theme-dark .project-modal-form .fm-time-12h-select-text,html.theme-dark .admin-user-form .fm-time-12h-select-text,html.theme-dark .eng-req-modal-body .fm-time-12h-select-text,html.theme-dark .project-modal-form .fm-time-12h-sep,html.theme-dark .admin-user-form .fm-time-12h-sep,body.theme-dark .project-modal-form .fm-time-12h-select,body.theme-dark .admin-user-form .fm-time-12h-select,body.theme-dark .eng-req-modal-body .fm-time-12h-select,body.theme-dark .project-modal-form .fm-time-12h-select-text,body.theme-dark .admin-user-form .fm-time-12h-select-text,body.theme-dark .eng-req-modal-body .fm-time-12h-select-text,body.theme-dark .project-modal-form .fm-time-12h-sep,body.theme-dark .admin-user-form .fm-time-12h-sep{color:var(--text);background:transparent}html.theme-dark .crew-profile-screen,html.theme-dark .crew-profile-screen-bar,body.theme-dark .crew-profile-screen,body.theme-dark .crew-profile-screen-bar{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark .crew-profile-screen--overlay,body.theme-dark .crew-profile-screen--overlay{background:var(--bg)}html.theme-dark .crew-profile-screen-title,body.theme-dark .crew-profile-screen-title{color:var(--text)}html.theme-dark .crew-profile-screen-sub,html.theme-dark .crew-profile-updated,html.theme-dark .crew-profile-empty,body.theme-dark .crew-profile-screen-sub,body.theme-dark .crew-profile-updated,body.theme-dark .crew-profile-empty{color:var(--muted)}html.theme-dark .crew-profile-back,body.theme-dark .crew-profile-back{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark .crew-profile-overview-title,body.theme-dark .crew-profile-overview-title,html.theme-dark .crew-profile-overview-label,body.theme-dark .crew-profile-overview-label{color:var(--muted)}html.theme-dark .crew-profile-overview-value,body.theme-dark .crew-profile-overview-value{color:var(--text)}html.theme-dark .crew-profile-overview-card,body.theme-dark .crew-profile-overview-card{background:var(--card);border-color:var(--line);box-shadow:none}html.theme-dark .crew-profile-table th,body.theme-dark .crew-profile-table th{background:var(--soft);color:var(--muted);border-color:var(--line)}html.theme-dark .crew-profile-table td,body.theme-dark .crew-profile-table td{color:var(--text);border-color:var(--line)}html.theme-dark .fm-clean-table,html.theme-dark .fm-table-footer,html.theme-dark .fm-req-card,html.theme-dark .foreman-action-card,html.theme-dark .foreman-project-card,html.theme-dark .fm-req-detail-hero,html.theme-dark .fm-mobile-table-wrap,body.theme-dark .fm-clean-table,body.theme-dark .fm-table-footer,body.theme-dark .fm-req-card,body.theme-dark .foreman-action-card,body.theme-dark .foreman-project-card,body.theme-dark .fm-req-detail-hero,body.theme-dark .fm-mobile-table-wrap{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark .fm-clean-table th,html.theme-dark .fm-requests-table th,html.theme-dark .foreman-mini-stat,html.theme-dark .fm-worker-search,html.theme-dark .fm-mobile-table th,body.theme-dark .fm-clean-table th,body.theme-dark .fm-requests-table th,body.theme-dark .foreman-mini-stat,body.theme-dark .fm-worker-search,body.theme-dark .fm-mobile-table th{background:var(--soft);border-color:var(--line);color:var(--muted)}html.theme-dark .fm-clean-table tbody tr:hover td,body.theme-dark .fm-clean-table tbody tr:hover td{background:#ffffff08}html.theme-dark .fm-worker-search:focus,body.theme-dark .fm-worker-search:focus{background:var(--card)}html.theme-dark .fm-time-12h-select,html.theme-dark .fm-time-12h-menu,body.theme-dark .fm-time-12h-select,body.theme-dark .fm-time-12h-menu{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark .fm-time-12h-option:hover,body.theme-dark .fm-time-12h-option:hover{background:var(--soft)}html.theme-dark .fm-time-12h-option.is-selected,body.theme-dark .fm-time-12h-option.is-selected{background:var(--brand-soft);color:var(--text)}html.theme-dark .fm-workspace-tabs,body.theme-dark .fm-workspace-tabs{background:transparent;border-color:transparent}html.theme-dark .fm-workspace-tab:not(.is-active),body.theme-dark .fm-workspace-tab:not(.is-active){background:var(--card);border-color:var(--line);color:var(--muted)}html.theme-dark .fm-workspace-tab.is-active,body.theme-dark .fm-workspace-tab.is-active{background:var(--accent-base, var(--brand));border-color:var(--accent-base, var(--brand));color:#fff}html.theme-dark .notif-panel,html.theme-dark .notif-btn,html.theme-dark .rpt-card,html.theme-dark .calendar-grid,html.theme-dark .worker-pill,html.theme-dark .legend-mini span,body.theme-dark .notif-panel,body.theme-dark .notif-btn,body.theme-dark .rpt-card,body.theme-dark .calendar-grid,body.theme-dark .worker-pill,body.theme-dark .legend-mini span{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark .notif-header,html.theme-dark .alert-panel .notif-header,body.theme-dark .notif-header,body.theme-dark .alert-panel .notif-header{background:var(--soft);border-bottom-color:var(--line);color:var(--text)}html.theme-dark .notif-heading,html.theme-dark .notif-title,html.theme-dark .notif-body-text,html.theme-dark .alert-panel .notif-heading,body.theme-dark .notif-heading,body.theme-dark .notif-title,body.theme-dark .notif-body-text,body.theme-dark .alert-panel .notif-heading{color:var(--text)}html.theme-dark .notif-clear-btn,html.theme-dark .notif-time,html.theme-dark .notif-panel .gsr-empty,html.theme-dark .alert-panel .gsr-empty,body.theme-dark .notif-clear-btn,body.theme-dark .notif-time,body.theme-dark .notif-panel .gsr-empty,body.theme-dark .alert-panel .gsr-empty{color:var(--muted)}html.theme-dark .notif-item,html.theme-dark .alert-panel .notif-item,body.theme-dark .notif-item,body.theme-dark .alert-panel .notif-item{border-bottom-color:var(--line);color:var(--text)}html.theme-dark .notif-item:hover,body.theme-dark .notif-item:hover{background:var(--soft)}html.theme-dark .alert-type-tag,body.theme-dark .alert-type-tag{background:var(--soft);color:var(--text)}html.theme-dark .notif-unread,body.theme-dark .notif-unread{background:#ffc85014}html.theme-dark .calendar-head,html.theme-dark .rpt-card-footer,html.theme-dark .kpi-bar,body.theme-dark .calendar-head,body.theme-dark .rpt-card-footer,body.theme-dark .kpi-bar{background:var(--soft);border-color:var(--line)}html.theme-dark .calendar-row,html.theme-dark .crew-name,html.theme-dark .slot,body.theme-dark .calendar-row,body.theme-dark .crew-name,body.theme-dark .slot{border-color:var(--line)}html.theme-dark .off,body.theme-dark .off{background:var(--soft);color:var(--muted)}html.theme-dark .action.primary,body.theme-dark .action.primary{background:var(--brand-soft);border-color:var(--brand-border);color:var(--text)}html.theme-dark .empty-state-title,html.theme-dark .section-title,html.theme-dark .rpt-card-title,body.theme-dark .empty-state-title,body.theme-dark .section-title,body.theme-dark .rpt-card-title{color:var(--text)}html.theme-dark .empty-state-desc,html.theme-dark .rpt-card-desc,body.theme-dark .empty-state-desc,body.theme-dark .rpt-card-desc{color:var(--muted)}html.theme-dark .material-request-close,html.theme-dark .proc-modal-close,body.theme-dark .material-request-close,body.theme-dark .proc-modal-close{background:var(--soft);border-color:var(--line);color:var(--muted)}html.theme-dark.mobile-tab-shell #proj-ppe-view .card,html.theme-dark.native-app #proj-ppe-view .card,body.theme-dark.mobile-tab-shell #proj-ppe-view .card,body.theme-dark.native-app #proj-ppe-view .card,html.theme-dark .proj-card,html.theme-dark .proj-summary-cell,html.theme-dark .proj-compact-stat,html.theme-dark .proj-detail-head,html.theme-dark .proj-card-face,body.theme-dark .proj-card,body.theme-dark .proj-summary-cell,body.theme-dark .proj-compact-stat,body.theme-dark .proj-detail-head,body.theme-dark .proj-card-face{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark .proj-summary-row:hover .proj-card-face,body.theme-dark .proj-summary-row:hover .proj-card-face{background:var(--soft)}html.theme-dark .proj-card[open]>.proj-summary-row,body.theme-dark .proj-card[open]>.proj-summary-row{border-bottom-color:var(--line)}html.theme-dark .proj-summary-title,html.theme-dark .proj-compact-val,body.theme-dark .proj-summary-title,body.theme-dark .proj-compact-val{color:var(--text)}html.theme-dark .proj-summary-loc,html.theme-dark .proj-compact-label,body.theme-dark .proj-summary-loc,body.theme-dark .proj-compact-label{color:var(--muted)}html.theme-dark .proj-card-tab,body.theme-dark .proj-card-tab{background:var(--soft);border-color:var(--line);color:var(--muted)}html.theme-dark .proj-card-tab:hover,body.theme-dark .proj-card-tab:hover{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark .proj-card-tab.active,body.theme-dark .proj-card-tab.active{background:var(--brand-soft);border-color:var(--brand-border);color:var(--text);box-shadow:none}html.theme-dark .req-row,html.theme-dark .eng-req-row,body.theme-dark .req-row,body.theme-dark .eng-req-row{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark .eng-req-row-pending,body.theme-dark .eng-req-row-pending{background:linear-gradient(180deg,var(--card) 0%,var(--brand-soft) 100%);border-color:var(--brand-border)}html.theme-dark .eng-req-row-rejected,body.theme-dark .eng-req-row-rejected{background:linear-gradient(180deg,var(--card) 0%,rgba(127,29,29,.18) 100%);border-color:#7f1d1d}html.theme-dark .eng-req-row-reject,body.theme-dark .eng-req-row-reject{background:#7f1d1d2e;border-color:#7f1d1d}html.theme-dark .eng-req-row-reject-label,html.theme-dark .eng-req-row-reject-text,body.theme-dark .eng-req-row-reject-label,body.theme-dark .eng-req-row-reject-text{color:#fca5a5}html.theme-dark .row-late,body.theme-dark .row-late{background:#f59e0b14}html.theme-dark .row-absent,body.theme-dark .row-absent{background:#ef444414}html.theme-dark .row-warn,html.theme-dark .row-short,body.theme-dark .row-warn,body.theme-dark .row-short{background:#eab30814}html.theme-dark .row-short .tracker-acc-head,body.theme-dark .row-short .tracker-acc-head{background:#f59e0b1f}html.theme-dark.mobile-tab-shell #crew [style*="color:#102033"],html.theme-dark.native-app #crew [style*="color:#102033"],body.theme-dark.mobile-tab-shell #crew [style*="color:#102033"],body.theme-dark.native-app #crew [style*="color:#102033"]{color:var(--text)!important}html.theme-dark .ds-headcount-row,body.theme-dark .ds-headcount-row{background:var(--card);border-color:var(--line);box-shadow:none}html.theme-dark .ds-hc-divider,body.theme-dark .ds-hc-divider{background:var(--line)}html.theme-dark.mobile-tab-shell #dash-requests-card,html.theme-dark.mobile-tab-shell #dash-projects-card,html.theme-dark.native-app #dash-requests-card,html.theme-dark.native-app #dash-projects-card,body.theme-dark.mobile-tab-shell #dash-requests-card,body.theme-dark.mobile-tab-shell #dash-projects-card,body.theme-dark.native-app #dash-requests-card,body.theme-dark.native-app #dash-projects-card,html.theme-dark.mobile-tab-shell #dash-requests-card .eng-req-row,html.theme-dark.mobile-tab-shell #dash-projects-card .eng-req-row,html.theme-dark.native-app #dash-requests-card .eng-req-row,html.theme-dark.native-app #dash-projects-card .eng-req-row,body.theme-dark.mobile-tab-shell #dash-requests-card .eng-req-row,body.theme-dark.mobile-tab-shell #dash-projects-card .eng-req-row,body.theme-dark.native-app #dash-requests-card .eng-req-row,body.theme-dark.native-app #dash-projects-card .eng-req-row{background:var(--card);border-color:var(--line)}html.theme-dark #dash-requests-card .req-title,html.theme-dark #dash-projects-card .req-title,html.theme-dark .req-title,html.theme-dark .eng-req-id,html.theme-dark #dash-requests-card .eng-req-meta strong,html.theme-dark #dash-projects-card .eng-req-meta strong,body.theme-dark #dash-requests-card .req-title,body.theme-dark #dash-projects-card .req-title,body.theme-dark .req-title,body.theme-dark .eng-req-id,body.theme-dark #dash-requests-card .eng-req-meta strong,body.theme-dark #dash-projects-card .eng-req-meta strong{color:var(--text)}html.theme-dark .req-meta,html.theme-dark .eng-req-dates,html.theme-dark .eng-req-drawing-hint,body.theme-dark .req-meta,body.theme-dark .eng-req-dates,body.theme-dark .eng-req-drawing-hint{color:var(--muted)}html.theme-dark .eng-req-id,body.theme-dark .eng-req-id{background:var(--soft);border:1px solid var(--line)}html.theme-dark .eng-req-type-pill,body.theme-dark .eng-req-type-pill{background:var(--brand-soft);border:1px solid var(--brand-border);color:var(--brand-ink)}html.theme-dark .mgr-tab-bar,body.theme-dark .mgr-tab-bar{background:var(--soft);border-color:var(--line)}html.theme-dark .mgr-tab,body.theme-dark .mgr-tab{background:var(--card);border-color:var(--line);color:var(--muted)}html.theme-dark .mgr-tab.active,html.theme-dark .mgr-tab:focus,body.theme-dark .mgr-tab.active,body.theme-dark .mgr-tab:focus{background:var(--brand-soft);border-color:var(--brand-border);color:var(--text)}html.theme-dark .enq-kcard,html.theme-dark .fin-card,html.theme-dark .mp-card,html.theme-dark .exec-kpi,body.theme-dark .enq-kcard,body.theme-dark .fin-card,body.theme-dark .mp-card,body.theme-dark .exec-kpi{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark .fin-stat,html.theme-dark .mp-stat,html.theme-dark .proc-ap-row,html.theme-dark .send-mgr-quote-item,html.theme-dark .mp-specialization-pill,body.theme-dark .fin-stat,body.theme-dark .mp-stat,body.theme-dark .proc-ap-row,body.theme-dark .send-mgr-quote-item,body.theme-dark .mp-specialization-pill{background:var(--soft);border-color:var(--line);color:var(--text)}html.theme-dark .fin-bar,body.theme-dark .fin-bar{background:var(--line)}html.theme-dark .quot-input,body.theme-dark .quot-input{background:var(--soft);border-color:var(--line);color:var(--text)}html.theme-dark .quot-input:focus,body.theme-dark .quot-input:focus{background:var(--card);border-color:var(--brand-border)}html.theme-dark .quot-result-strip,body.theme-dark .quot-result-strip{background:var(--brand-soft);border-color:var(--brand-border)}html.theme-dark .fin-card-name,html.theme-dark .mp-card-site,html.theme-dark .proc-ap-title,html.theme-dark .enq-kcard-client,html.theme-dark .exec-risk-title,html.theme-dark .fin-stat-val,html.theme-dark .mp-stat-val,html.theme-dark .exec-kpi-val,body.theme-dark .fin-card-name,body.theme-dark .mp-card-site,body.theme-dark .proc-ap-title,body.theme-dark .enq-kcard-client,body.theme-dark .exec-risk-title,body.theme-dark .fin-stat-val,body.theme-dark .mp-stat-val,body.theme-dark .exec-kpi-val{color:var(--text)}html.theme-dark .proj-card-body>[data-proj-panel],body.theme-dark .proj-card-body>[data-proj-panel]{background:var(--card);border-color:var(--line)}html.theme-dark.mobile-tab-shell #proj-ppe-view .enq-col,html.theme-dark.native-app #proj-ppe-view .enq-col,html.theme-dark.mobile-tab-shell #proj-ppe-view .ppe-loading-col,html.theme-dark.native-app #proj-ppe-view .ppe-loading-col,body.theme-dark.mobile-tab-shell #proj-ppe-view .enq-col,body.theme-dark.native-app #proj-ppe-view .enq-col,body.theme-dark.mobile-tab-shell #proj-ppe-view .ppe-loading-col,body.theme-dark.native-app #proj-ppe-view .ppe-loading-col{background:var(--card);border-color:var(--line)}.kpi-icon--blue{background:#eff6ff;color:#0ea5e9}.kpi-icon--green{background:var(--brand-soft);color:var(--brand)}.kpi-icon--amber{background:#fff7ed;color:#f59e0b}.kpi-icon--danger{background:#fee2e2;color:#ef4444}.kpi-icon--violet{background:#f5f3ff;color:#7c3aed}html.theme-dark .eng-exact-app .project-item.active,html.theme-dark .eng-exact-app .project-item:hover,html.theme-dark .eng-exact-app .side-projects--tenant-wide .project-item.is-locked,html.theme-dark .eng-exact-app .side-projects--tenant-wide .project-item.is-locked:hover,body.theme-dark .eng-exact-app .project-item.active,body.theme-dark .eng-exact-app .project-item:hover,body.theme-dark .eng-exact-app .side-projects--tenant-wide .project-item.is-locked,body.theme-dark .eng-exact-app .side-projects--tenant-wide .project-item.is-locked:hover{background:color-mix(in srgb,var(--accent-base, var(--brand)) 14%,var(--card));border-color:var(--brand-border, var(--line));color:var(--ink, var(--text))}html.theme-dark .eng-exact-app .project-item .project-meta b,body.theme-dark .eng-exact-app .project-item .project-meta b{color:var(--ink, var(--text))}html.theme-dark .kpi-icon--blue,body.theme-dark .kpi-icon--blue{background:#0ea5e92e;color:#38bdf8}html.theme-dark .kpi-icon--green,body.theme-dark .kpi-icon--green{background:var(--brand-soft);color:var(--brand-ink)}html.theme-dark .kpi-icon--amber,body.theme-dark .kpi-icon--amber{background:#f59e0b2e;color:#fbbf24}html.theme-dark .kpi-icon--danger,body.theme-dark .kpi-icon--danger{background:#ef44442e;color:#f87171}html.theme-dark .kpi-icon--violet,body.theme-dark .kpi-icon--violet{background:#7c3aed2e;color:#a78bfa}.kpi-value--blue{color:#0ea5e9}.kpi-value--green{color:var(--brand)}.kpi-value--amber{color:#f59e0b}.kpi-value--danger{color:#ef4444}.kpi-value--violet{color:#7c3aed}html.theme-dark .kpi-value--blue,body.theme-dark .kpi-value--blue{color:#38bdf8}html.theme-dark .kpi-value--green,body.theme-dark .kpi-value--green{color:var(--brand-ink)}html.theme-dark .kpi-value--amber,body.theme-dark .kpi-value--amber{color:#fbbf24}html.theme-dark .kpi-value--danger,body.theme-dark .kpi-value--danger{color:#f87171}html.theme-dark .kpi-value--violet,body.theme-dark .kpi-value--violet{color:#a78bfa}html.theme-dark .content [style*="background:#fff"],html.theme-dark .content [style*="background: #fff"],html.theme-dark .content [style*="background:#ffffff"],html.theme-dark .content [style*="background: #ffffff"],html.theme-dark .content [style*="background:#f8fbff"],html.theme-dark .content [style*="background: #f8fbff"],html.theme-dark .content [style*="background:#f1f5f9"],html.theme-dark .content [style*="background: #f1f5f9"],html.theme-dark .content [style*="background:#fafcff"],html.theme-dark .content [style*="background: #fafcff"],html.theme-dark .content [style*="background:#f8fafc"],html.theme-dark .content [style*="background: #f8fafc"],body.theme-dark .content [style*="background:#fff"],body.theme-dark .content [style*="background: #fff"],body.theme-dark .content [style*="background:#ffffff"],body.theme-dark .content [style*="background: #ffffff"],body.theme-dark .content [style*="background:#f8fbff"],body.theme-dark .content [style*="background: #f8fbff"],body.theme-dark .content [style*="background:#f1f5f9"],body.theme-dark .content [style*="background: #f1f5f9"],body.theme-dark .content [style*="background:#fafcff"],body.theme-dark .content [style*="background: #fafcff"],body.theme-dark .content [style*="background:#f8fafc"],body.theme-dark .content [style*="background: #f8fafc"]{background:var(--card)!important;border-color:var(--line)!important;color:var(--text)}html.theme-dark .content [style*="color:#0f172a"],html.theme-dark .content [style*="color: #0f172a"],html.theme-dark .content [style*="color:#102033"],html.theme-dark .content [style*="color: #102033"],html.theme-dark .content [style*="color:#334155"],html.theme-dark .content [style*="color: #334155"],body.theme-dark .content [style*="color:#0f172a"],body.theme-dark .content [style*="color: #0f172a"],body.theme-dark .content [style*="color:#102033"],body.theme-dark .content [style*="color: #102033"],body.theme-dark .content [style*="color:#334155"],body.theme-dark .content [style*="color: #334155"]{color:var(--text)!important}html.theme-dark .content [style*="color:#64748b"],html.theme-dark .content [style*="color: #64748b"],html.theme-dark .content [style*="color:#94a3b8"],html.theme-dark .content [style*="color: #94a3b8"],body.theme-dark .content [style*="color:#64748b"],body.theme-dark .content [style*="color: #64748b"],body.theme-dark .content [style*="color:#94a3b8"],body.theme-dark .content [style*="color: #94a3b8"]{color:var(--muted)!important}html.theme-dark #inventory .card,html.theme-dark #reports .card,html.theme-dark #projects .card,html.theme-dark #proj-mgr-view .card,html.theme-dark #admin .card,body.theme-dark #inventory .card,body.theme-dark #reports .card,body.theme-dark #projects .card,body.theme-dark #proj-mgr-view .card,body.theme-dark #admin .card,html.theme-dark .admin-payroll-item,html.theme-dark .admin-payroll-item.is-pending,html.theme-dark .admin-payroll-item:hover,html.theme-dark .admin-payroll-filter,html.theme-dark .admin-payroll-action,body.theme-dark .admin-payroll-item,body.theme-dark .admin-payroll-item.is-pending,body.theme-dark .admin-payroll-item:hover,body.theme-dark .admin-payroll-filter,body.theme-dark .admin-payroll-action{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark .admin-payroll-name,html.theme-dark .admin-payroll-salary,body.theme-dark .admin-payroll-name,body.theme-dark .admin-payroll-salary{color:var(--text)}html.theme-dark .admin-payroll-trade,html.theme-dark .admin-payroll-settings,body.theme-dark .admin-payroll-trade,body.theme-dark .admin-payroll-settings{color:var(--muted)}html.theme-dark .send-mgr-quote-item,body.theme-dark .send-mgr-quote-item,html.theme-dark .clock-input,body.theme-dark .clock-input{background:var(--soft);border-color:var(--line);color:var(--text)}html.theme-dark .clock-input:focus,body.theme-dark .clock-input:focus{background:var(--card)}html.theme-dark .clock-submit,body.theme-dark .clock-submit{background:var(--brand-soft);border-color:var(--brand-border);color:var(--text)}html.theme-dark.mobile-tab-shell #dashboard .ds-hc-card,html.theme-dark.native-app #dashboard .ds-hc-card,body.theme-dark.mobile-tab-shell #dashboard .ds-hc-card,body.theme-dark.native-app #dashboard .ds-hc-card,html.theme-dark.mobile-tab-shell #proj-ppe-view .ds-hc-card,html.theme-dark.native-app #proj-ppe-view .ds-hc-card,body.theme-dark.mobile-tab-shell #proj-ppe-view .ds-hc-card,body.theme-dark.native-app #proj-ppe-view .ds-hc-card{background:var(--card);border-color:var(--line)}html.theme-dark.mobile-tab-shell #dashboard .ds-hc-num,html.theme-dark.native-app #dashboard .ds-hc-num,body.theme-dark.mobile-tab-shell #dashboard .ds-hc-num,body.theme-dark.native-app #dashboard .ds-hc-num,html.theme-dark .ds-hc-num-total,body.theme-dark .ds-hc-num-total{color:var(--text)}html.theme-dark .app-tile,html.theme-dark .proc-item-card,html.theme-dark .rfq-card,html.theme-dark .approval-card,html.theme-dark .po-card,html.theme-dark .quote-group-card,html.theme-dark .project-ov-card,html.theme-dark .wc,html.theme-dark .sh-item,html.theme-dark .rpt-card,html.theme-dark .admin-user-row,html.theme-dark .admin-users-filter,html.theme-dark .admin-user-action,html.theme-dark .proj-milestone,html.theme-dark .proj-milestone-list.compact,html.theme-dark .proj-milestone-list.compact .proj-milestone,html.theme-dark .eng-req-view-section,html.theme-dark .eng-req-view-hero,html.theme-dark .eng-req-view-modal,html.theme-dark .eng-issue-modal-row,html.theme-dark .eng-req-view-close-btn,html.theme-dark .proc-empty,html.theme-dark .proc-chip,html.theme-dark .quote-group-head,html.theme-dark .rfq-card-suppliers,body.theme-dark .app-tile,body.theme-dark .proc-item-card,body.theme-dark .rfq-card,body.theme-dark .approval-card,body.theme-dark .po-card,body.theme-dark .quote-group-card,body.theme-dark .project-ov-card,body.theme-dark .wc,body.theme-dark .sh-item,body.theme-dark .rpt-card,body.theme-dark .admin-user-row,body.theme-dark .admin-users-filter,body.theme-dark .admin-user-action,body.theme-dark .proj-milestone,body.theme-dark .proj-milestone-list.compact,body.theme-dark .proj-milestone-list.compact .proj-milestone,body.theme-dark .eng-req-view-section,body.theme-dark .eng-req-view-hero,body.theme-dark .eng-req-view-modal,body.theme-dark .eng-issue-modal-row,body.theme-dark .eng-req-view-close-btn,body.theme-dark .proc-empty,body.theme-dark .proc-chip,body.theme-dark .quote-group-head,body.theme-dark .rfq-card-suppliers{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark .admin-users-filter,html.theme-dark .proc-chip,html.theme-dark .quote-group-head,html.theme-dark .rfq-card-suppliers,html.theme-dark .eng-req-view-section-title,html.theme-dark .proc-empty,html.theme-dark .proj-milestone,html.theme-dark .sh-item,body.theme-dark .admin-users-filter,body.theme-dark .proc-chip,body.theme-dark .quote-group-head,body.theme-dark .rfq-card-suppliers,body.theme-dark .eng-req-view-section-title,body.theme-dark .proc-empty,body.theme-dark .proj-milestone,body.theme-dark .sh-item{background:var(--soft)}html.theme-dark .admin-users-filter.active,body.theme-dark .admin-users-filter.active{background:var(--brand-soft);border-color:var(--brand-border);color:var(--text)}html.theme-dark .app-tile-id,html.theme-dark .proc-item-id,html.theme-dark .app-tile-meta,html.theme-dark .proc-item-by,html.theme-dark .admin-user-email,html.theme-dark .admin-user-role,html.theme-dark .eng-req-view-spec-label,html.theme-dark .eng-issue-modal-desc,body.theme-dark .app-tile-id,body.theme-dark .proc-item-id,body.theme-dark .app-tile-meta,body.theme-dark .proc-item-by,body.theme-dark .admin-user-email,body.theme-dark .admin-user-role,body.theme-dark .eng-req-view-spec-label,body.theme-dark .eng-issue-modal-desc{color:var(--muted)}html.theme-dark .app-tile-title,html.theme-dark .proc-item-title,html.theme-dark .admin-user-name,html.theme-dark .eng-req-view-hero-text,html.theme-dark .eng-req-view-spec-value,html.theme-dark .eng-issue-modal-title,html.theme-dark .rfq-card-id,html.theme-dark .approval-card-name,body.theme-dark .app-tile-title,body.theme-dark .proc-item-title,body.theme-dark .admin-user-name,body.theme-dark .eng-req-view-hero-text,body.theme-dark .eng-req-view-spec-value,body.theme-dark .eng-issue-modal-title,body.theme-dark .rfq-card-id,body.theme-dark .approval-card-name{color:var(--text)}html.theme-dark .admin-user-role,html.theme-dark .admin-user-action,body.theme-dark .admin-user-role,body.theme-dark .admin-user-action{background:var(--soft);border-color:var(--line);color:var(--muted)}html.theme-dark .app-tile-actions,html.theme-dark .proc-item-actions,html.theme-dark .eng-req-view-spec-row,html.theme-dark .eng-req-view-section-title,body.theme-dark .app-tile-actions,body.theme-dark .proc-item-actions,body.theme-dark .eng-req-view-spec-row,body.theme-dark .eng-req-view-section-title{border-color:var(--line)}html.theme-dark .proj-card,html.theme-dark .proj-card-face,html.theme-dark .proj-card-body,html.theme-dark .proj-card-body>[data-proj-panel],html.theme-dark .proj-detail-head,html.theme-dark .proj-expanded-intro,body.theme-dark .proj-card,body.theme-dark .proj-card-face,body.theme-dark .proj-card-body,body.theme-dark .proj-card-body>[data-proj-panel],body.theme-dark .proj-detail-head,body.theme-dark .proj-expanded-intro{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark .proj-detail-head,body.theme-dark .proj-detail-head{background:var(--soft)}html.theme-dark .proc-req-page-btn,body.theme-dark .proc-req-page-btn{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark .proc-req-page-btn:hover:not(:disabled):not(.active),body.theme-dark .proc-req-page-btn:hover:not(:disabled):not(.active){background:var(--soft)}html.theme-dark .rpt-meta-tag,html.theme-dark .rpt-freq,body.theme-dark .rpt-meta-tag,body.theme-dark .rpt-freq{background:var(--soft);border-color:var(--line);color:var(--muted)}html.theme-dark .proj-accordion-body,body.theme-dark .proj-accordion-body{background:var(--soft)}html.theme-dark .proj-date-chip,body.theme-dark .proj-date-chip{background:var(--card);border-color:var(--line);color:var(--muted)}html.theme-dark .proj-date-chip strong,html.theme-dark .proj-expanded-label,html.theme-dark .proj-expanded-hint,body.theme-dark .proj-date-chip strong,body.theme-dark .proj-expanded-label,body.theme-dark .proj-expanded-hint{color:var(--text)}html.theme-dark .proj-expanded-hint,body.theme-dark .proj-expanded-hint{color:var(--muted)}html.theme-dark .dash-site-card,html.theme-dark .ds-site-card,html.theme-dark .ds-site-card-green,body.theme-dark .dash-site-card,body.theme-dark .ds-site-card,body.theme-dark .ds-site-card-green,html.theme-dark .foreman-action-card,html.theme-dark .foreman-project-card,html.theme-dark .foreman-mini-stat,body.theme-dark .foreman-action-card,body.theme-dark .foreman-project-card,body.theme-dark .foreman-mini-stat{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark .foreman-mini-stat,body.theme-dark .foreman-mini-stat{background:var(--soft)}html.theme-dark,body.theme-dark,html.theme-dark h1,html.theme-dark h2,html.theme-dark h3,html.theme-dark h4,html.theme-dark strong,html.theme-dark b,html.theme-dark .label,html.theme-dark .section-title,html.theme-dark .section-head,html.theme-dark .fm-clean-title,html.theme-dark .app-tile-title,html.theme-dark .proc-item-title,html.theme-dark .admin-user-name,html.theme-dark .proj-summary-title,html.theme-dark .proj-expanded-label,html.theme-dark .eng-req-modal-title,html.theme-dark .eng-req-view-hero-text,html.theme-dark .eng-req-view-spec-value,html.theme-dark .rpt-card-title,html.theme-dark .kpi .value,body.theme-dark h1,body.theme-dark h2,body.theme-dark h3,body.theme-dark h4,body.theme-dark strong,body.theme-dark b,body.theme-dark .label,body.theme-dark .section-title,body.theme-dark .section-head,body.theme-dark .fm-clean-title,body.theme-dark .app-tile-title,body.theme-dark .proc-item-title,body.theme-dark .admin-user-name,body.theme-dark .proj-summary-title,body.theme-dark .proj-expanded-label,body.theme-dark .eng-req-modal-title,body.theme-dark .eng-req-view-hero-text,body.theme-dark .eng-req-view-spec-value,body.theme-dark .rpt-card-title,body.theme-dark .kpi .value{color:var(--text)}html.theme-dark .hint,html.theme-dark .section-sub,html.theme-dark .fm-clean-sub,html.theme-dark .app-tile-id,html.theme-dark .app-tile-meta,html.theme-dark .proc-item-id,html.theme-dark .proc-item-by,html.theme-dark .admin-user-email,html.theme-dark .proj-summary-loc,html.theme-dark .proj-expanded-hint,html.theme-dark .eng-req-modal-sub,html.theme-dark .eng-req-view-spec-label,html.theme-dark .rpt-card-desc,html.theme-dark .kpi .label,html.theme-dark .kpi .hint,html.theme-dark .empty-state-sub,html.theme-dark .empty-state-desc,body.theme-dark .hint,body.theme-dark .section-sub,body.theme-dark .fm-clean-sub,body.theme-dark .app-tile-id,body.theme-dark .app-tile-meta,body.theme-dark .proc-item-id,body.theme-dark .proc-item-by,body.theme-dark .admin-user-email,body.theme-dark .proj-summary-loc,body.theme-dark .proj-expanded-hint,body.theme-dark .eng-req-modal-sub,body.theme-dark .eng-req-view-spec-label,body.theme-dark .rpt-card-desc,body.theme-dark .kpi .label,body.theme-dark .kpi .hint,body.theme-dark .empty-state-sub,body.theme-dark .empty-state-desc{color:var(--muted)}html.theme-dark .tab.active,html.theme-dark .menu-item.active,html.theme-dark .filter.active,html.theme-dark .mem-subtab.active,html.theme-dark .action.primary,html.theme-dark .bottom-tab-item.active,body.theme-dark .tab.active,body.theme-dark .menu-item.active,body.theme-dark .filter.active,body.theme-dark .mem-subtab.active,body.theme-dark .action.primary,body.theme-dark .bottom-tab-item.active{color:var(--brand-ink)}html.theme-dark .crew-directory__tab.is-active,html.theme-dark .eng-crew-req-tabs .mem-subtab.active,body.theme-dark .crew-directory__tab.is-active,body.theme-dark .eng-crew-req-tabs .mem-subtab.active,html.theme-dark .crew-directory__tab.is-active span,html.theme-dark .crew-directory__tab.is-active .app-icon,html.theme-dark .eng-crew-req-tabs .mem-subtab.active span,html.theme-dark .eng-crew-req-tabs .mem-subtab.active .app-icon,body.theme-dark .crew-directory__tab.is-active span,body.theme-dark .crew-directory__tab.is-active .app-icon,body.theme-dark .eng-crew-req-tabs .mem-subtab.active span,body.theme-dark .eng-crew-req-tabs .mem-subtab.active .app-icon{color:#fff}html.theme-dark .tab.active,body.theme-dark .tab.active{background:var(--brand);border-color:var(--brand);color:#fff}html.theme-dark .bottom-tab-item.active,body.theme-dark .bottom-tab-item.active{color:var(--brand)}html.theme-dark .ok,html.theme-dark .status.ok,html.theme-dark .att-present,html.theme-dark .tag-approved,html.theme-dark .sh-badge-green,html.theme-dark .time-chip-approved,body.theme-dark .ok,body.theme-dark .status.ok,body.theme-dark .att-present,body.theme-dark .tag-approved,body.theme-dark .sh-badge-green,body.theme-dark .time-chip-approved{background:var(--ok-soft);border-color:var(--ok-border);color:var(--ok-ink)}html.theme-dark .toggle.on,body.theme-dark .toggle.on{background:var(--brand-border);border-color:var(--brand)}html.theme-dark input:focus,html.theme-dark select:focus,html.theme-dark textarea:focus,body.theme-dark input:focus,body.theme-dark select:focus,body.theme-dark textarea:focus{border-color:var(--brand-border);box-shadow:0 0 0 3px #c49a4533}html.theme-dark .po-field,html.theme-dark .po-preview-box,html.theme-dark .view-po-card .po-field,html.theme-dark .view-po-card .po-preview-box,body.theme-dark .po-field,body.theme-dark .po-preview-box,body.theme-dark .view-po-card .po-field,body.theme-dark .view-po-card .po-preview-box{background:var(--soft);border-color:var(--line);color:var(--text)}html.theme-dark .po-field-val,html.theme-dark .po-preview-title,body.theme-dark .po-field-val,body.theme-dark .po-preview-title{color:var(--text)}html.theme-dark .project-workspace-card .material-request-footer,html.theme-dark .view-po-card .material-request-footer,body.theme-dark .project-workspace-card .material-request-footer,body.theme-dark .view-po-card .material-request-footer{background:var(--card);border-color:var(--line)}html.theme-dark .project-workspace-card .material-request-form-scroll,body.theme-dark .project-workspace-card .material-request-form-scroll{background:var(--soft)}html.theme-dark .project-workspace-card .proj-card-tabs,body.theme-dark .project-workspace-card .proj-card-tabs{background:var(--soft);border-bottom-color:var(--line);box-shadow:0 6px 12px -8px #00000073}html.theme-dark .project-workspace-card .proj-card-body>[data-proj-panel],html.theme-dark .project-workspace-card .proj-detail-head,html.theme-dark .project-workspace-card .proj-progress-form,html.theme-dark .project-workspace-card .proj-progress-history,html.theme-dark .project-workspace-card .ec-issue-card,body.theme-dark .project-workspace-card .proj-card-body>[data-proj-panel],body.theme-dark .project-workspace-card .proj-detail-head,body.theme-dark .project-workspace-card .proj-progress-form,body.theme-dark .project-workspace-card .proj-progress-history,body.theme-dark .project-workspace-card .ec-issue-card{background:var(--card);border-color:var(--line);box-shadow:none}html.theme-dark .project-workspace-card .proj-panel-title,html.theme-dark .project-workspace-card .proj-draw-title,html.theme-dark .project-workspace-card .proj-progress-form-title,html.theme-dark .project-workspace-card .proj-progress-history-title,html.theme-dark .project-workspace-card .proj-draw-name,html.theme-dark .project-workspace-card .ec-issue-title,html.theme-dark .project-workspace-card .ec-issue-comment-text,html.theme-dark .project-workspace-card .proj-hist-date-full,html.theme-dark .project-workspace-card .proj-hist-detail-value,html.theme-dark .project-workspace-card .proj-panel-empty-title,body.theme-dark .project-workspace-card .proj-panel-title,body.theme-dark .project-workspace-card .proj-draw-title,body.theme-dark .project-workspace-card .proj-progress-form-title,body.theme-dark .project-workspace-card .proj-progress-history-title,body.theme-dark .project-workspace-card .proj-draw-name,body.theme-dark .project-workspace-card .ec-issue-title,body.theme-dark .project-workspace-card .ec-issue-comment-text,body.theme-dark .project-workspace-card .proj-hist-date-full,body.theme-dark .project-workspace-card .proj-hist-detail-value,body.theme-dark .project-workspace-card .proj-panel-empty-title{color:var(--text)}html.theme-dark .project-workspace-card .proj-panel-sub,html.theme-dark .project-workspace-card .proj-draw-sub,html.theme-dark .project-workspace-card .proj-expanded-label,html.theme-dark .project-workspace-card .proj-progress-form-sub,html.theme-dark .project-workspace-card .proj-hist-author,html.theme-dark .project-workspace-card .proj-hist-activity-preview,html.theme-dark .project-workspace-card .proj-hist-detail-label,html.theme-dark .project-workspace-card .ec-issue-id,html.theme-dark .project-workspace-card .ec-issue-desc,html.theme-dark .project-workspace-card .ec-issue-meta,html.theme-dark .project-workspace-card .proj-panel-empty-hint,html.theme-dark .project-workspace-card .proj-media-thumb-name,html.theme-dark .project-workspace-card .proj-media-thumb-date,body.theme-dark .project-workspace-card .proj-panel-sub,body.theme-dark .project-workspace-card .proj-draw-sub,body.theme-dark .project-workspace-card .proj-expanded-label,body.theme-dark .project-workspace-card .proj-progress-form-sub,body.theme-dark .project-workspace-card .proj-hist-author,body.theme-dark .project-workspace-card .proj-hist-activity-preview,body.theme-dark .project-workspace-card .proj-hist-detail-label,body.theme-dark .project-workspace-card .ec-issue-id,body.theme-dark .project-workspace-card .ec-issue-desc,body.theme-dark .project-workspace-card .ec-issue-meta,body.theme-dark .project-workspace-card .proj-panel-empty-hint,body.theme-dark .project-workspace-card .proj-media-thumb-name,body.theme-dark .project-workspace-card .proj-media-thumb-date{color:var(--muted)}html.theme-dark .project-workspace-card .proj-date-chip,html.theme-dark .project-workspace-card .proj-compact-stat,html.theme-dark .project-workspace-card .proj-draw-card,html.theme-dark .project-workspace-card .proj-progress-history-item,html.theme-dark .project-workspace-card .proj-media-thumb,html.theme-dark .project-workspace-card .proj-bills-grid .app-tile,html.theme-dark .project-workspace-card .proj-panel-empty,html.theme-dark .project-workspace-card .proj-draw-empty,body.theme-dark .project-workspace-card .proj-date-chip,body.theme-dark .project-workspace-card .proj-compact-stat,body.theme-dark .project-workspace-card .proj-draw-card,body.theme-dark .project-workspace-card .proj-progress-history-item,body.theme-dark .project-workspace-card .proj-media-thumb,body.theme-dark .project-workspace-card .proj-bills-grid .app-tile,body.theme-dark .project-workspace-card .proj-panel-empty,body.theme-dark .project-workspace-card .proj-draw-empty{background:var(--soft);border-color:var(--line);color:var(--text)}html.theme-dark .project-workspace-card .proj-draw-ext,html.theme-dark .project-workspace-card .proj-draw-cat,html.theme-dark .project-workspace-card .proj-draw-rev,html.theme-dark .project-workspace-card .proj-draw-btn,html.theme-dark .project-workspace-card .proj-doc-action,html.theme-dark .project-workspace-card .proj-edit-details-btn,html.theme-dark .project-workspace-card .proj-hist-date-badge,html.theme-dark .project-workspace-card .proj-hist-chip,html.theme-dark .project-workspace-card .proj-hist-flag,html.theme-dark .project-workspace-card .proj-progress-history-clear,html.theme-dark .project-workspace-card .proj-hist-date-text,html.theme-dark .project-workspace-card .proj-hist-date-btn,html.theme-dark .project-workspace-card .clock-input,html.theme-dark .project-workspace-card .proj-progress-select,html.theme-dark .project-workspace-card .proj-ms-dropdown-select,body.theme-dark .project-workspace-card .proj-draw-ext,body.theme-dark .project-workspace-card .proj-draw-cat,body.theme-dark .project-workspace-card .proj-draw-rev,body.theme-dark .project-workspace-card .proj-draw-btn,body.theme-dark .project-workspace-card .proj-doc-action,body.theme-dark .project-workspace-card .proj-edit-details-btn,body.theme-dark .project-workspace-card .proj-hist-date-badge,body.theme-dark .project-workspace-card .proj-hist-chip,body.theme-dark .project-workspace-card .proj-hist-flag,body.theme-dark .project-workspace-card .proj-progress-history-clear,body.theme-dark .project-workspace-card .proj-hist-date-text,body.theme-dark .project-workspace-card .proj-hist-date-btn,body.theme-dark .project-workspace-card .clock-input,body.theme-dark .project-workspace-card .proj-progress-select,body.theme-dark .project-workspace-card .proj-ms-dropdown-select{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark .project-workspace-card .proj-draw-status-select,html.theme-dark .project-workspace-card .proj-draw-status,body.theme-dark .project-workspace-card .proj-draw-status-select,body.theme-dark .project-workspace-card .proj-draw-status{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}html.theme-dark .project-workspace-card .proj-draw-status--current,html.theme-dark .project-workspace-card .proj-draw-status-select.proj-draw-status--current,body.theme-dark .project-workspace-card .proj-draw-status--current,body.theme-dark .project-workspace-card .proj-draw-status-select.proj-draw-status--current{background-color:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-ink)}html.theme-dark .project-workspace-card .proj-draw-status--review,html.theme-dark .project-workspace-card .proj-draw-status-select.proj-draw-status--review,body.theme-dark .project-workspace-card .proj-draw-status--review,body.theme-dark .project-workspace-card .proj-draw-status-select.proj-draw-status--review{background-color:#38bdf81f;border-color:#38bdf859;color:#7dd3fc}html.theme-dark .project-workspace-card .proj-draw-status--superseded,html.theme-dark .project-workspace-card .proj-draw-status-select.proj-draw-status--superseded,body.theme-dark .project-workspace-card .proj-draw-status--superseded,body.theme-dark .project-workspace-card .proj-draw-status-select.proj-draw-status--superseded{background-color:var(--soft);border-color:var(--line);color:var(--muted)}html.theme-dark .project-workspace-card .proj-draw-meta-item,body.theme-dark .project-workspace-card .proj-draw-meta-item{color:var(--text)}html.theme-dark .project-workspace-card .proj-draw-meta-label,body.theme-dark .project-workspace-card .proj-draw-meta-label{color:var(--muted)}html.theme-dark .project-workspace-card .proj-draw-rev.is-current,html.theme-dark .project-workspace-card .proj-draw-btn--accent,html.theme-dark .project-workspace-card .proj-ms-add-btn,html.theme-dark .project-workspace-card .proj-hist-pct-ring,html.theme-dark .project-workspace-card .proj-progress-form-hint,html.theme-dark .project-workspace-card .ec-issue-comment--resolved,body.theme-dark .project-workspace-card .proj-draw-rev.is-current,body.theme-dark .project-workspace-card .proj-draw-btn--accent,body.theme-dark .project-workspace-card .proj-ms-add-btn,body.theme-dark .project-workspace-card .proj-hist-pct-ring,body.theme-dark .project-workspace-card .proj-progress-form-hint,body.theme-dark .project-workspace-card .ec-issue-comment--resolved{background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-ink)}html.theme-dark .project-workspace-card .ec-issue-comment--closed,html.theme-dark .project-workspace-card .proj-hist-details-panel,html.theme-dark .project-workspace-card .proj-milestone-list.compact,html.theme-dark .project-workspace-card .proj-milestone-list.compact .proj-milestone,body.theme-dark .project-workspace-card .ec-issue-comment--closed,body.theme-dark .project-workspace-card .proj-hist-details-panel,body.theme-dark .project-workspace-card .proj-milestone-list.compact,body.theme-dark .project-workspace-card .proj-milestone-list.compact .proj-milestone{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark .project-workspace-card .proj-progress-history-head,html.theme-dark .project-workspace-card .proj-milestone-list.compact .proj-milestone,body.theme-dark .project-workspace-card .proj-progress-history-head,body.theme-dark .project-workspace-card .proj-milestone-list.compact .proj-milestone{border-bottom-color:var(--line)}html.theme-dark .project-workspace-card .proj-card-tab,body.theme-dark .project-workspace-card .proj-card-tab{background:var(--card);border-color:var(--line);color:var(--muted)}html.theme-dark .project-workspace-card .proj-card-tab.active,body.theme-dark .project-workspace-card .proj-card-tab.active{background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-ink)}html.theme-dark .project-workspace-card .req-filter-btn,body.theme-dark .project-workspace-card .req-filter-btn{background:var(--soft);border-color:var(--line);color:var(--muted)}html.theme-dark .project-workspace-card .req-filter-btn.active,body.theme-dark .project-workspace-card .req-filter-btn.active{background:var(--brand-soft);border-color:var(--brand-border);color:var(--text)}html.theme-dark .project-workspace-card .proj-progress-form-accent,body.theme-dark .project-workspace-card .proj-progress-form-accent{background:linear-gradient(90deg,var(--brand),var(--brand-border),var(--brand))}html.theme-dark .project-workspace-card .proj-ms-status-control,body.theme-dark .project-workspace-card .proj-ms-status-control{background:var(--card);border-color:var(--line)}html.theme-dark .project-workspace-card .proj-hist-date-wrap,html.theme-dark .project-workspace-card .proj-hist-detail-row,html.theme-dark .project-workspace-card .proj-progress-photo-meta,html.theme-dark .project-workspace-card .proj-progress-history-empty-filter,body.theme-dark .project-workspace-card .proj-hist-date-wrap,body.theme-dark .project-workspace-card .proj-hist-detail-row,body.theme-dark .project-workspace-card .proj-progress-photo-meta,body.theme-dark .project-workspace-card .proj-progress-history-empty-filter{background:var(--soft);border-color:var(--line);color:var(--text)}html.theme-dark .project-workspace-card .proj-progress-pct-input,html.theme-dark .project-workspace-card .proj-progress-pct-hero,body.theme-dark .project-workspace-card .proj-progress-pct-input,body.theme-dark .project-workspace-card .proj-progress-pct-hero{background:var(--card);border-color:var(--brand-border);color:var(--text);box-shadow:none}html.theme-dark .project-workspace-card .proj-progress-pct-suffix,body.theme-dark .project-workspace-card .proj-progress-pct-suffix{color:var(--brand-ink);text-shadow:none}html.theme-dark .project-workspace-card .proj-video-thumb,body.theme-dark .project-workspace-card .proj-video-thumb{background:#0b1220}html.theme-dark .project-workspace-card .ms-upcoming,body.theme-dark .project-workspace-card .ms-upcoming{background:var(--soft);border-color:var(--line);color:var(--muted)}html.theme-dark .ppe-loading-kpis,body.theme-dark .ppe-loading-kpis,html.theme-dark.mobile-tab-shell #proj-ppe-view .ppe-loading-kpis,html.theme-dark.native-app #proj-ppe-view .ppe-loading-kpis,body.theme-dark.mobile-tab-shell #proj-ppe-view .ppe-loading-kpis,body.theme-dark.native-app #proj-ppe-view .ppe-loading-kpis{background:var(--card);border-color:var(--line);box-shadow:none}html.theme-dark .ppe-loading-kpi,body.theme-dark .ppe-loading-kpi{background:var(--soft)}html.theme-dark .ppe-loading-col,body.theme-dark .ppe-loading-col{background:var(--soft);border-color:var(--line)}html.theme-dark .ppe-loading-spinner,body.theme-dark .ppe-loading-spinner{border-color:var(--line);border-top-color:var(--brand)}html.theme-dark.mobile-tab-shell #proj-ppe-view .ds-headcount-row,html.theme-dark.native-app #proj-ppe-view .ds-headcount-row,body.theme-dark.mobile-tab-shell #proj-ppe-view .ds-headcount-row,body.theme-dark.native-app #proj-ppe-view .ds-headcount-row{background:var(--card);border-color:var(--line);box-shadow:none}html.theme-dark .enq-card,body.theme-dark .enq-card,html.theme-dark.mobile-tab-shell #proj-ppe-view .enq-card,html.theme-dark.native-app #proj-ppe-view .enq-card,body.theme-dark.mobile-tab-shell #proj-ppe-view .enq-card,body.theme-dark.native-app #proj-ppe-view .enq-card{background:var(--soft);border-color:var(--line);box-shadow:none;color:var(--text)}html.theme-dark .enq-card-client,html.theme-dark .enq-card-val,body.theme-dark .enq-card-client,body.theme-dark .enq-card-val{color:var(--text)}html.theme-dark .enq-card-val,body.theme-dark .enq-card-val{color:var(--brand)}html.theme-dark .enq-card-date,body.theme-dark .enq-card-date{color:var(--muted)}html.theme-dark .enq-col-empty,body.theme-dark .enq-col-empty,html.theme-dark.mobile-tab-shell #proj-ppe-view .enq-col-empty,html.theme-dark.native-app #proj-ppe-view .enq-col-empty,body.theme-dark.mobile-tab-shell #proj-ppe-view .enq-col-empty,body.theme-dark.native-app #proj-ppe-view .enq-col-empty{color:var(--muted);background:var(--soft);border-color:var(--line)}html.theme-dark .enq-col-count,body.theme-dark .enq-col-count{background:#c49a452e;color:var(--brand-ink)}html.theme-dark .enq-col-header,body.theme-dark .enq-col-header,html.theme-dark .enq-kanban-hdr,body.theme-dark .enq-kanban-hdr{background:var(--soft)!important;color:var(--text)!important;border:1px solid var(--line)}html.theme-dark .enq-col[data-enq-stage=New] .enq-col-header,body.theme-dark .enq-col[data-enq-stage=New] .enq-col-header{background:var(--soft)!important;color:#cbd5e1!important}html.theme-dark .enq-col[data-enq-stage="Under Review"] .enq-col-header,html.theme-dark .enq-col[data-enq-stage=Qualified] .enq-col-header,body.theme-dark .enq-col[data-enq-stage="Under Review"] .enq-col-header,body.theme-dark .enq-col[data-enq-stage=Qualified] .enq-col-header{background:#2563eb33!important;color:#93c5fd!important}html.theme-dark .enq-col[data-enq-stage="Quotation Preparing"] .enq-col-header,html.theme-dark .enq-col[data-enq-stage="Project Visit"] .enq-col-header,body.theme-dark .enq-col[data-enq-stage="Quotation Preparing"] .enq-col-header,body.theme-dark .enq-col[data-enq-stage="Project Visit"] .enq-col-header{background:#ea580c33!important;color:#fdba74!important}html.theme-dark .enq-col[data-enq-stage="Quotation Sent"] .enq-col-header,html.theme-dark .enq-col[data-enq-stage=Quotation] .enq-col-header,body.theme-dark .enq-col[data-enq-stage="Quotation Sent"] .enq-col-header,body.theme-dark .enq-col[data-enq-stage=Quotation] .enq-col-header{background:#9333ea33!important;color:#d8b4fe!important}html.theme-dark .enq-col[data-enq-stage=Negotiation] .enq-col-header,body.theme-dark .enq-col[data-enq-stage=Negotiation] .enq-col-header{background:#ca8a0433!important;color:#fde047!important}html.theme-dark .enq-col[data-enq-stage=Finalized] .enq-col-header,body.theme-dark .enq-col[data-enq-stage=Finalized] .enq-col-header,html.theme-dark .enq-col[data-enq-stage=Won] .enq-col-header,body.theme-dark .enq-col[data-enq-stage=Won] .enq-col-header{background:#16a34a33!important;color:#86efac!important}html.theme-dark .enq-col[data-enq-stage=Lost] .enq-col-header,body.theme-dark .enq-col[data-enq-stage=Lost] .enq-col-header{background:#dc262633!important;color:#fca5a5!important}html.theme-dark .cmd-back-bar,html.theme-dark .eng-exact-app .exact-embedded-ppe .cmd-back-bar,body.theme-dark .cmd-back-bar,body.theme-dark .eng-exact-app .exact-embedded-ppe .cmd-back-bar{background:var(--card);border-color:var(--line);box-shadow:none;color:var(--text)}html.theme-dark .enq-card-btn,body.theme-dark .enq-card-btn{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark .boq-builder,html.theme-dark .pc-est-builder,html.theme-dark .pc-quot-builder,body.theme-dark .boq-builder,body.theme-dark .pc-est-builder,body.theme-dark .pc-quot-builder{background:var(--card);border-color:var(--line);box-shadow:none}html.theme-dark .boq-builder-head,html.theme-dark .pc-est-builder-head,html.theme-dark .pc-quot-builder-head,body.theme-dark .boq-builder-head,body.theme-dark .pc-est-builder-head,body.theme-dark .pc-quot-builder-head{background:var(--soft);border-bottom-color:var(--line)}html.theme-dark .boq-builder-title,html.theme-dark .pc-est-builder-title,html.theme-dark .pc-quot-builder-title,html.theme-dark .pc-quot-desktop-title,html.theme-dark .pc-est-empty-title,html.theme-dark .pc-quot-tile-no,html.theme-dark .pc-quot-meta strong,html.theme-dark .boq-summary-value,html.theme-dark .pc-quot-summary-value,html.theme-dark .pc-est-grand strong,html.theme-dark .boq-grand-bar-line strong,body.theme-dark .boq-builder-title,body.theme-dark .pc-est-builder-title,body.theme-dark .pc-quot-builder-title,body.theme-dark .pc-quot-desktop-title,body.theme-dark .pc-est-empty-title,body.theme-dark .pc-quot-tile-no,body.theme-dark .pc-quot-meta strong,body.theme-dark .boq-summary-value,body.theme-dark .pc-quot-summary-value,body.theme-dark .pc-est-grand strong,body.theme-dark .boq-grand-bar-line strong{color:var(--text)}html.theme-dark .boq-builder-sub,html.theme-dark .pc-est-builder-sub,html.theme-dark .pc-quot-builder-sub,html.theme-dark .pc-est-empty,html.theme-dark .pc-est-empty-sub,html.theme-dark .pc-quot-preview-empty,html.theme-dark .boq-cat-subtotal,html.theme-dark .boq-summary-label,html.theme-dark .pc-quot-summary-label,html.theme-dark .pc-est-label,html.theme-dark .pc-quot-meta-label,html.theme-dark .boq-tile-label,html.theme-dark .boq-tile-stat span,html.theme-dark .pc-est-tile-foot span,body.theme-dark .boq-builder-sub,body.theme-dark .pc-est-builder-sub,body.theme-dark .pc-quot-builder-sub,body.theme-dark .pc-est-empty,body.theme-dark .pc-est-empty-sub,body.theme-dark .pc-quot-preview-empty,body.theme-dark .boq-cat-subtotal,body.theme-dark .boq-summary-label,body.theme-dark .pc-quot-summary-label,body.theme-dark .pc-est-label,body.theme-dark .pc-quot-meta-label,body.theme-dark .boq-tile-label,body.theme-dark .boq-tile-stat span,body.theme-dark .pc-est-tile-foot span{color:var(--muted)}html.theme-dark .boq-summary,html.theme-dark .pc-quot-summary,html.theme-dark .boq-tiles-shell,html.theme-dark .pc-est-tiles-shell,html.theme-dark .pc-quot-tiles-shell,html.theme-dark .pc-quot-preview-wrap,html.theme-dark .pc-est-grand,html.theme-dark .boq-grand-bar,body.theme-dark .boq-summary,body.theme-dark .pc-quot-summary,body.theme-dark .boq-tiles-shell,body.theme-dark .pc-est-tiles-shell,body.theme-dark .pc-quot-tiles-shell,body.theme-dark .pc-quot-preview-wrap,body.theme-dark .pc-est-grand,body.theme-dark .boq-grand-bar{background:var(--soft);border-color:var(--line)}html.theme-dark .boq-summary-cell,html.theme-dark .pc-quot-summary-cell,html.theme-dark .boq-cat-section,html.theme-dark .boq-tile,html.theme-dark .pc-est-tile,html.theme-dark .pc-quot-tile,html.theme-dark .pc-est-empty,html.theme-dark .pc-quot-preview-empty,body.theme-dark .boq-summary-cell,body.theme-dark .pc-quot-summary-cell,body.theme-dark .boq-cat-section,body.theme-dark .boq-tile,body.theme-dark .pc-est-tile,body.theme-dark .pc-quot-tile,body.theme-dark .pc-est-empty,body.theme-dark .pc-quot-preview-empty{background:var(--card);border-color:var(--line);box-shadow:none;color:var(--text)}html.theme-dark .boq-summary-cell--total,html.theme-dark .pc-quot-summary-cell--total,body.theme-dark .boq-summary-cell--total,body.theme-dark .pc-quot-summary-cell--total{background:var(--brand-soft);border-color:var(--brand-border)}html.theme-dark .boq-table thead th,html.theme-dark .pc-est-table thead th,html.theme-dark .pc-quot-table thead th,html.theme-dark .boq-total-row,body.theme-dark .boq-table thead th,body.theme-dark .pc-est-table thead th,body.theme-dark .pc-quot-table thead th,body.theme-dark .boq-total-row{background:var(--soft);color:var(--muted);border-color:var(--line)}html.theme-dark .boq-table td,html.theme-dark .pc-est-table td,html.theme-dark .pc-quot-table td,html.theme-dark .est-row,body.theme-dark .boq-table td,body.theme-dark .pc-est-table td,body.theme-dark .pc-quot-table td,body.theme-dark .est-row{border-bottom-color:var(--line);color:var(--text);background:transparent}html.theme-dark .boq-tile-head,html.theme-dark .pc-est-tile-head,html.theme-dark .pc-quot-tile-head,html.theme-dark .boq-tile-foot,html.theme-dark .pc-est-tile-foot,body.theme-dark .boq-tile-head,body.theme-dark .pc-est-tile-head,body.theme-dark .pc-quot-tile-head,body.theme-dark .boq-tile-foot,body.theme-dark .pc-est-tile-foot{background:var(--soft);border-color:var(--line)}html.theme-dark .boq-cat-head,body.theme-dark .boq-cat-head{background:var(--brand-soft);border-bottom-color:var(--brand-border);color:var(--brand-ink)}html.theme-dark .boq-code,html.theme-dark .pc-est-tile-badge,body.theme-dark .boq-code,body.theme-dark .pc-est-tile-badge{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark .boq-tile-stat strong,body.theme-dark .boq-tile-stat strong{color:var(--text)}html.theme-dark .boq-table .boq-input,html.theme-dark .boq-tile .boq-input,html.theme-dark .pc-est-input,html.theme-dark .est-input,html.theme-dark .margin-input,body.theme-dark .boq-table .boq-input,body.theme-dark .boq-tile .boq-input,body.theme-dark .pc-est-input,body.theme-dark .est-input,body.theme-dark .margin-input{background:var(--soft);border-color:var(--line);color:var(--text)}html.theme-dark .boq-tile .boq-input:focus,html.theme-dark .pc-est-input:focus,html.theme-dark .margin-input:focus,html.theme-dark .est-input:focus,body.theme-dark .boq-tile .boq-input:focus,body.theme-dark .pc-est-input:focus,body.theme-dark .margin-input:focus,body.theme-dark .est-input:focus{background:var(--card);border-color:var(--brand-border);box-shadow:0 0 0 3px #c49a452e}html.theme-dark .pc-est-input--rate,html.theme-dark .boq-tile .boq-input--mat,body.theme-dark .pc-est-input--rate,body.theme-dark .boq-tile .boq-input--mat{color:var(--brand)}html.theme-dark .pc-quot-tile.is-active,body.theme-dark .pc-quot-tile.is-active{border-color:var(--brand-border);box-shadow:0 0 0 2px #c49a4533}html.theme-dark .pc-quot-tile-value,body.theme-dark .pc-quot-tile-value{color:var(--brand);background:transparent}html.theme-dark .quot-preview,body.theme-dark .quot-preview{background:var(--card);border-color:var(--line);box-shadow:none;color:var(--text)}html.theme-dark .quot-info-cell,body.theme-dark .quot-info-cell{background:var(--soft);border-color:var(--line)}html.theme-dark .quot-info-value,html.theme-dark .quot-scope,html.theme-dark .quot-breakdown-row,html.theme-dark .quot-company,body.theme-dark .quot-info-value,body.theme-dark .quot-scope,body.theme-dark .quot-breakdown-row,body.theme-dark .quot-company{color:var(--text)}html.theme-dark .quot-info-label,html.theme-dark .quot-preview-meta,body.theme-dark .quot-info-label,body.theme-dark .quot-preview-meta{color:var(--muted)}html.theme-dark .quot-terms,html.theme-dark .quot-preview-header,html.theme-dark .quot-preview-footer,body.theme-dark .quot-terms,body.theme-dark .quot-preview-header,body.theme-dark .quot-preview-footer{background:var(--soft);border-color:var(--line);color:var(--muted)}html.theme-dark .quot-breakdown-row.total,body.theme-dark .quot-breakdown-row.total{background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-ink)}html.theme-dark .wl-row,body.theme-dark .wl-row{background:var(--card);border-color:var(--line);box-shadow:none;color:var(--text)}html.theme-dark .wl-reason,body.theme-dark .wl-reason{color:var(--muted)}html.theme-dark .upload-card,body.theme-dark .upload-card{background:var(--soft);border-color:var(--line);color:var(--text)}html.theme-dark .upload-drop,body.theme-dark .upload-drop{border-color:var(--line);color:var(--muted);background:var(--card)}html.theme-dark .upload-drop:hover,html.theme-dark .upload-drop-active,body.theme-dark .upload-drop:hover,body.theme-dark .upload-drop-active{border-color:var(--brand-border);color:var(--brand);background:var(--brand-soft)}html.theme-dark .doc-zip,body.theme-dark .doc-zip{background:#2a2438;color:#d8b4fe}html.theme-dark .doc-img,body.theme-dark .doc-img{background:#1a2a36;color:#7dd3fc}html.theme-dark #proj-ppe-view .tablewrap,html.theme-dark #proj-ppe-view .tablewrap th,html.theme-dark #proj-ppe-view .tablewrap td,body.theme-dark #proj-ppe-view .tablewrap,body.theme-dark #proj-ppe-view .tablewrap th,body.theme-dark #proj-ppe-view .tablewrap td{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark #proj-ppe-view .tablewrap th,body.theme-dark #proj-ppe-view .tablewrap th{background:var(--soft);color:var(--muted)}html.theme-dark #proj-ppe-view .cmd-back-btn,html.theme-dark #proj-ppe-view .cmd-action-btn,body.theme-dark #proj-ppe-view .cmd-back-btn,body.theme-dark #proj-ppe-view .cmd-action-btn{background:var(--card);border-color:var(--line);color:var(--text)}html.theme-dark #proj-ppe-view .cmd-action-btn.primary,html.theme-dark #proj-ppe-view .cmd-action-btn.primary:hover,body.theme-dark #proj-ppe-view .cmd-action-btn.primary,body.theme-dark #proj-ppe-view .cmd-action-btn.primary:hover{background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-ink)}html.theme-dark #proj-ppe-view .margin-grid .card,body.theme-dark #proj-ppe-view .margin-grid .card{background:var(--card);border-color:var(--line);color:var(--text)}body.shell-compact-ops:not(.mobile-tab-shell):not(.native-app) .app.eng-exact-host>.sidebar,body.shell-compact-ops:not(.mobile-tab-shell):not(.native-app) .app.eng-exact-host .main>.topbar,body.shell-compact-ops:not(.mobile-tab-shell):not(.native-app) .app.eng-exact-host .main>.mobile-status-bar,body.shell-compact-ops:not(.mobile-tab-shell):not(.native-app) .app.eng-exact-host .bottom-tab-bar,body.role-project-manager:not(.mobile-tab-shell):not(.native-app) .app.eng-exact-host>.sidebar,body.role-project-manager:not(.mobile-tab-shell):not(.native-app) .app.eng-exact-host .main>.topbar,body.role-project-manager:not(.mobile-tab-shell):not(.native-app) .app.eng-exact-host .main>.mobile-status-bar,body.role-project-manager:not(.mobile-tab-shell):not(.native-app) .app.eng-exact-host .bottom-tab-bar,body.role-manager:not(.mobile-tab-shell):not(.native-app) .app.eng-exact-host>.sidebar,body.role-manager:not(.mobile-tab-shell):not(.native-app) .app.eng-exact-host .main>.topbar,body.role-manager:not(.mobile-tab-shell):not(.native-app) .app.eng-exact-host .main>.mobile-status-bar,body.role-manager:not(.mobile-tab-shell):not(.native-app) .app.eng-exact-host .bottom-tab-bar,body.shell-finance:not(.mobile-tab-shell):not(.native-app) .app.eng-exact-host>.sidebar,body.shell-finance:not(.mobile-tab-shell):not(.native-app) .app.eng-exact-host .main>.topbar,body.shell-finance:not(.mobile-tab-shell):not(.native-app) .app.eng-exact-host .main>.mobile-status-bar,body.shell-finance:not(.mobile-tab-shell):not(.native-app) .app.eng-exact-host .bottom-tab-bar{display:none!important}body.shell-compact-ops:not(.mobile-tab-shell):not(.native-app) .app.eng-exact-host,body.role-project-manager:not(.mobile-tab-shell):not(.native-app) .app.eng-exact-host,body.role-manager:not(.mobile-tab-shell):not(.native-app) .app.eng-exact-host,body.shell-finance:not(.mobile-tab-shell):not(.native-app) .app.eng-exact-host{display:flex;flex-direction:column;background:#fff;min-height:100vh;min-height:100dvh;height:100%;overflow:hidden}body.shell-compact-ops:not(.mobile-tab-shell):not(.native-app) .app.eng-exact-host .main,body.role-project-manager:not(.mobile-tab-shell):not(.native-app) .app.eng-exact-host .main,body.role-manager:not(.mobile-tab-shell):not(.native-app) .app.eng-exact-host .main,body.shell-finance:not(.mobile-tab-shell):not(.native-app) .app.eng-exact-host .main{margin:0;padding:0;width:100%;max-width:none;flex:1;min-height:0;height:auto;overflow:hidden;display:flex;flex-direction:column}body.shell-compact-ops:not(.mobile-tab-shell):not(.native-app) .app.eng-exact-host .content,body.role-project-manager:not(.mobile-tab-shell):not(.native-app) .app.eng-exact-host .content,body.role-manager:not(.mobile-tab-shell):not(.native-app) .app.eng-exact-host .content,body.shell-finance:not(.mobile-tab-shell):not(.native-app) .app.eng-exact-host .content{padding:0!important;margin:0;flex:1;min-height:0;height:auto;max-height:none;overflow:hidden;border:none!important;border-radius:0!important;box-shadow:none!important;background:#fff}body.shell-compact-ops:not(.mobile-tab-shell):not(.native-app) .eng-exact-app,body.role-project-manager:not(.mobile-tab-shell):not(.native-app) .eng-exact-app,body.role-manager:not(.mobile-tab-shell):not(.native-app) .eng-exact-app,body.shell-finance:not(.mobile-tab-shell):not(.native-app) .eng-exact-app{height:100%;min-height:0;overflow:hidden;display:grid;grid-template-rows:minmax(0,1fr);font-family:var(--font-sans);font-size:var(--fs-base, 13px);color:var(--ink);background:var(--bg);--fs-2xs: 10px;--fs-xs: 11px;--fs-sm: 12px;--fs-base: 13px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 18px;--fs-stat: 16px;--accent-glow: color-mix(in srgb, var(--accent-base) 55%, white 45%);--forest: var(--accent-base);--forest-2: color-mix(in srgb, var(--accent-base) 82%, black 30%);--forest-3: color-mix(in srgb, var(--accent-base) 88%, white 12%);--mint: color-mix(in srgb, var(--accent-base) 12%, white 88%);--mint-soft: color-mix(in srgb, var(--accent-base) 6%, white 94%);--surface: #ffffff;--surface-soft: #ffffff;--accent: var(--accent-base);--accent-soft: color-mix(in srgb, var(--accent-base) 7%, white 93%);--shadow-sm: 0 1px 3px rgba(21, 47, 39, .03);--shadow-1: 0 1px 2px rgba(14, 38, 32, .05);--shadow-2: 0 12px 30px rgba(21, 47, 39, .1), 0 2px 6px rgba(21, 47, 39, .05);--text: var(--ink);--card: #ffffff}.eng-exact-app{--bg:#ffffff;--panel:#ffffff;--panel-soft:#ffffff;--ink:#17201c;--muted:#66716b;--faint:#929b96;--line:#cbd5e1;--line-dark:#94a3b8;--forest:var(--accent-base);--forest-2:color-mix(in srgb,var(--accent-base) 82%,black 30%);--mint:color-mix(in srgb,var(--accent-base) 12%,white 88%);--amber:#a66411;--amber-bg:#fff2dc;--red:#ae342d;--red-bg:#fbe8e5;--blue:#245ca6;--blue-bg:#e7effa;--shadow:0 10px 30px rgba(20,42,32,.07);--radius:14px}.eng-exact-app{box-sizing:border-box}.eng-exact-app{height:100%;margin:0;min-height:0}.eng-exact-app{font-family:var(--font-sans);background:var(--bg);color:var(--ink);font-size:13px;overflow:hidden}.eng-exact-app button,.eng-exact-app input,.eng-exact-app select,.eng-exact-app textarea{font:inherit}.eng-exact-app button{cursor:pointer}.eng-exact-app button:not(.qa-btn-primary):not(.tab.active):not(.proc-subnav-btn.active):not(.list-toolbar-filter.active):not(.floor-tab.active):not(.module-tab.active):not(.dock-tab.active):not(.dock-filter.active):not(.announce-submit):not(.project-modal-submit):not(.assign-modal-submit):not(.eng-req-card__btn--primary):not(.material-request-btn-submit):not(.confirm-dialog-submit--primary):not(.confirm-dialog-submit--danger):not(.confirm-dialog-submit--warning):not(.nav-item.active):not(.roster-view-btn.active):not(.ppe-tab.active):not(.projects-portfolio-filter.active):not(.projects-portfolio-add-btn):not(.projects-portfolio-open):not(.projects-portfolio-procurement):not(.management-tab.active):not(.tile-list-page-btn.active):not(.eng-req-page-btn.active):not(.proc-req-page-btn.active):not(.fm-page-btn.active):not(.btn):not(.entry-btn):not(.module-btn):not(.crew-action-btn):not(.crew-review-btn.approve):not(.crew-review-btn.reject):not(.mem-subtab.active):not(.crew-directory__tab.is-active):not(.payroll-action-btn--approve):not(.proj-workspace-btn):not(.proj-workspace-btn--primary):not(.assignments-assign-btn):not(.proj-workspace-inline-link):not(.proc-rfq-vendor-chip):not(.raise-alert-btn--primary):not(.alert-reply-btn):not(.exact-sidebar-new-request-btn):not(.eng-nr-btn--primary):not(.crew-add-btn){color:inherit}.eng-exact-app button.qa-btn-primary,.eng-exact-app button.qa-btn-primary:hover,.eng-exact-app button.announce-submit,.eng-exact-app button.announce-submit:hover:not(:disabled),.eng-exact-app button.project-modal-submit,.eng-exact-app button.project-modal-submit:hover:not(:disabled),.eng-exact-app button.assign-modal-submit,.eng-exact-app button.assign-modal-submit:hover:not(:disabled),.eng-exact-app button.eng-req-card__btn--primary,.eng-exact-app button.eng-req-card__btn--primary:hover:not(:disabled),.eng-exact-app button.material-request-btn-submit,.eng-exact-app button.tile-list-page-btn.active,.eng-exact-app button.eng-req-page-btn.active,.eng-exact-app button.proc-req-page-btn.active,.eng-exact-app button.fm-page-btn.active,.eng-exact-app button.dock-tab.active,.eng-exact-app button.dock-filter.active,.eng-exact-app button.confirm-dialog-submit--primary,.eng-exact-app button.confirm-dialog-submit--danger,.eng-exact-app button.crew-review-btn.approve,.eng-exact-app button.crew-review-btn.approve:hover:not(:disabled),.eng-exact-app :is(.btn,.entry-btn,.module-btn,.crew-action-btn).primary,.eng-exact-app .engineer-update-actions button.primary,.eng-exact-app button.raise-alert-btn--primary,.eng-exact-app button.raise-alert-btn--primary:hover:not(:disabled),.eng-exact-app button.alert-reply-btn,.eng-exact-app button.alert-reply-btn:hover:not(:disabled),.eng-exact-app button.exact-sidebar-new-request-btn,.eng-exact-app button.exact-sidebar-new-request-btn:hover:not(:disabled),.eng-exact-app button.eng-nr-btn--primary,.eng-exact-app button.eng-nr-btn--primary:hover:not(:disabled),.eng-exact-app button.eng-review-btn--primary,.eng-exact-app button.eng-review-btn--primary:hover:not(:disabled){color:#fff}.eng-exact-app button.eng-review-btn--ghost-primary,.eng-exact-app button.eng-review-btn--ghost-primary:hover:not(:disabled){color:var(--accent-base,#1e3a5f)!important}.eng-exact-app button.raise-alert-btn--primary,.eng-exact-app button.alert-reply-btn{background:var(--accent-base);border-color:color-mix(in srgb,var(--accent-base) 72%,#000)}.eng-exact-app button.raise-alert-btn--primary:disabled,.eng-exact-app button.alert-reply-btn:disabled{background:color-mix(in srgb,var(--accent-base) 28%,#e5e7eb);border-color:color-mix(in srgb,var(--accent-base) 22%,#d1d5db);color:#fff;opacity:1}.eng-exact-app button.material-request-btn-submit{background:var(--accent-base);border-color:var(--accent-base)}.eng-exact-app button.material-request-btn-submit:hover:not(:disabled){background:var(--forest-2);border-color:var(--forest-2)}.eng-exact-app button.crew-review-btn.reject,.eng-exact-app button.crew-review-btn.reject:hover:not(:disabled){color:#b91c1c}.eng-exact-app button.mem-subtab.active,.eng-exact-app button.crew-directory__tab.is-active,.eng-exact-app button.mem-subtab.active .app-icon,.eng-exact-app button.crew-directory__tab.is-active .app-icon,.eng-exact-app button.mem-subtab.active span,.eng-exact-app button.crew-directory__tab.is-active span{color:#fff}.eng-exact-app .mono{font-family:var(--font-mono)}.eng-exact-app{display:grid;grid-template-rows:minmax(0,1fr)}.eng-exact-app.eng-exact-app--crew-host{display:block;overflow:visible;height:auto;min-height:0;max-height:none;grid-template-rows:none;grid-template-columns:none}.eng-exact-app .topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0;padding:0;background:var(--panel);border-bottom:1px solid var(--line);z-index:10}.eng-exact-app .brand{display:flex;align-items:center;gap:10px;min-width:210px}.eng-exact-app .brand-mark{width:28px;height:28px;border-radius:8px;background:var(--forest);display:grid;place-items:center;color:#fff;font-weight:800;font-size:12px}.eng-exact-app .brand-name{font-weight:800;letter-spacing:.02em;font-size:14px}.eng-exact-app .brand-role{font-size:10px;color:var(--faint);text-transform:uppercase;letter-spacing:.12em}.eng-exact-app .project-switch{height:34px;min-width:270px;border:1px solid var(--line);background:var(--panel-soft);border-radius:9px;padding:0 11px;display:flex;align-items:center;gap:9px;text-align:left;cursor:default;pointer-events:none;-webkit-user-select:none;user-select:none}.eng-exact-app .project-switch .dot{width:7px;height:7px;border-radius:50%;background:#2f8b5a}.eng-exact-app .project-switch .name{font-weight:700;flex:1}.eng-exact-app .project-switch .phase{font-size:10px;color:var(--muted)}.eng-exact-app .global-search{margin-left:auto;width:min(32vw,430px);height:34px;border:1px solid var(--line);border-radius:9px;background:#fbfcfb;display:flex;align-items:center;padding:0 10px;gap:8px;color:var(--faint)}.eng-exact-app .global-search-icon{flex-shrink:0;display:grid;place-items:center;line-height:0;color:var(--muted)}.eng-exact-app .global-search input{border:0;outline:0;background:transparent;flex:1;min-width:0;color:var(--ink)}.eng-exact-app .global-search .mono{flex-shrink:0;font-size:10px;color:var(--muted);background:#f1f5f9;border:1px solid var(--line);border-radius:5px;padding:2px 5px;line-height:1.2}.eng-exact-app .topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0;padding:0;min-height:54px}.eng-exact-app .workspace-shell{height:100%;min-height:0;display:grid;grid-template-columns:220px minmax(0,1fr);gap:0;align-items:stretch;overflow:hidden}.eng-exact-app .workspace-main{position:relative;min-height:0;height:100%;display:grid;grid-template-rows:54px minmax(0,1fr);overflow:hidden}.eng-exact-app .workspace-main>.workspace{grid-template-columns:minmax(0,1fr) 300px}.eng-exact-app .exact-sidebar-brand{flex:0 0 auto;padding:14px 12px 12px;border-bottom:1px solid var(--line)}.eng-exact-app .exact-sidebar-brand .brand{min-width:0;gap:11px}.eng-exact-app .exact-sidebar--engineer{padding:10px 10px 12px}.eng-exact-app .exact-sidebar--engineer .exact-sidebar-brand{border-bottom:0;padding:10px 8px 8px}.eng-exact-app .exact-sidebar-role{flex:0 0 auto;margin:0 6px 14px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);font-family:var(--font-sans)}.eng-exact-app .exact-sidebar-role b{display:block;font-size:var(--fs-sm,12px);font-weight:700;color:var(--ink);line-height:1.3}.eng-exact-app .exact-sidebar-role small{display:block;margin-top:3px;font-size:var(--fs-2xs,10px);font-weight:500;color:var(--muted);line-height:1.3}.eng-exact-app .exact-sidebar--engineer .side-tools{padding-top:0}.eng-exact-app .exact-sidebar--engineer .nav-section{margin:0}.eng-exact-app .exact-sidebar--engineer .nav-list{display:flex;flex-direction:column;gap:6px}.eng-exact-app .exact-sidebar--engineer .nav-item{width:100%;font-family:var(--font-sans);font-size:var(--fs-nav,13px);font-weight:650;color:var(--ink);padding:9px 12px;border-radius:10px;border:1px solid var(--line);background:#fff;box-shadow:0 1px 2px #0f172a0a}.eng-exact-app .exact-sidebar--engineer .nav-item:hover{background:color-mix(in srgb,var(--accent-base) 8%,#fff);color:var(--ink);border-color:color-mix(in srgb,var(--accent-base) 32%,var(--line));transform:none}.eng-exact-app .exact-sidebar--engineer .nav-item.active,.eng-exact-app .exact-sidebar--engineer .nav-item.active:hover{background:var(--metal-gradient);color:#fff;border-color:color-mix(in srgb,var(--accent-base) 55%,#fff);box-shadow:inset 0 1px #ffffff47,0 4px 12px color-mix(in srgb,var(--accent-base) 28%,transparent)}.eng-exact-app .exact-sidebar--engineer .nav-item.active .exact-nav-icon,.eng-exact-app .exact-sidebar--engineer .nav-item.active .app-icon{color:#fff;opacity:1}.eng-exact-app .exact-sidebar-profile{flex:0 0 auto;margin-top:auto;padding:14px 10px 4px;border-top:1px solid var(--line);font-family:var(--font-sans)}.eng-exact-app .exact-sidebar-new-request{position:relative;margin-bottom:12px}.eng-exact-app .exact-sidebar-new-request-btn{width:100%;border:0;border-radius:10px;padding:11px 14px;font-family:var(--font-sans);font-size:13px;font-weight:700;cursor:pointer;background:var(--accent-base);color:#fff}.eng-exact-app .exact-sidebar-new-request-btn:hover{filter:brightness(1.06)}.eng-exact-app .exact-sidebar-new-request-menu{position:absolute;left:0;right:0;bottom:calc(100% + 6px);display:flex;flex-direction:column;gap:2px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 28px #0f172a1f;z-index:5}.eng-exact-app .exact-sidebar-new-request-menu button{border:0;background:transparent;text-align:left;padding:9px 10px;border-radius:8px;font:inherit;font-size:12px;font-weight:650;color:var(--ink);cursor:pointer}.eng-exact-app .exact-sidebar-new-request-menu button:hover{background:color-mix(in srgb,var(--accent-base) 10%,#fff);color:var(--forest,var(--accent-base))}.eng-exact-app .exact-sidebar-profile b{display:block;font-size:var(--fs-sm,12px);font-weight:700;color:var(--ink);line-height:1.3}.eng-exact-app .exact-sidebar-profile small{display:block;margin-top:3px;font-size:var(--fs-2xs,10px);font-weight:500;color:var(--muted);line-height:1.3}.eng-nr-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a73;font-family:var(--font-sans)}.eng-nr-card{width:min(520px,100%);max-height:min(90vh,720px);overflow:auto;background:#fff;border:1px solid var(--line,#e5e7eb);border-radius:14px;box-shadow:0 18px 48px #0f172a2e;color:var(--ink,#0f172a)}.eng-nr-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 22px 8px}.eng-nr-head h1{margin:0;font-size:22px;font-weight:750;letter-spacing:-.02em;line-height:1.2;color:var(--ink,#0f172a)}.eng-nr-close{border:0;background:transparent;color:var(--muted,#64748b);font-size:24px;line-height:1;width:32px;height:32px;border-radius:8px;cursor:pointer;flex:0 0 auto}.eng-nr-close:hover{background:color-mix(in srgb,var(--accent-base,#1e3a5f) 8%,#fff);color:var(--ink,#0f172a)}.eng-nr-form{padding:8px 22px 20px}.eng-nr-denied{margin:0;padding:8px 22px 4px;color:var(--muted,#64748b);font-size:13px}.eng-nr-error{margin:0 0 12px;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,#ef4444 10%,#fff);border:1px solid color-mix(in srgb,#ef4444 28%,#fff);color:#b91c1c;font-size:12px}.eng-nr-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}.eng-nr-field{display:flex;flex-direction:column;gap:6px;min-width:0}.eng-nr-field--full{grid-column:1 / -1}.eng-nr-field label,.eng-nr-field .eng-nr-label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#64748b)}.eng-nr-req{margin-left:4px;color:var(--accent-base,#1e3a5f);font-weight:800;letter-spacing:0;text-transform:none}.eng-nr-card--material{width:min(560px,100%)}.eng-nr-card--manpower{width:min(640px,100%)}.eng-nr-duration{display:grid;grid-template-columns:1fr 110px;gap:8px}.eng-nr-req-list{display:flex;flex-direction:column;gap:8px}.eng-nr-req-head,.eng-nr-req-row{display:grid;grid-template-columns:minmax(0,1.6fr) 88px 88px 36px;gap:8px;align-items:center}.eng-nr-req-head{padding:0 2px}.eng-nr-req-head span{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted,#64748b)}.eng-nr-req-row input,.eng-nr-req-row .entry-select{width:100%;box-sizing:border-box;border:1px solid var(--line,#e5e7eb);border-radius:8px;padding:9px 10px;font:inherit;font-size:13px;color:var(--ink,#0f172a);background:#fff}.eng-nr-req-row .trade-select-wrap{min-width:0;width:100%}.eng-nr-req-remove{width:32px;height:32px;border:1px solid color-mix(in srgb,#ef4444 28%,var(--line,#e5e7eb));border-radius:8px;background:#fff;color:#b91c1c;font-size:18px;line-height:1;cursor:pointer}.eng-nr-req-remove:hover:not(:disabled){background:color-mix(in srgb,#ef4444 8%,#fff)}.eng-nr-req-remove:disabled{opacity:.4;cursor:not-allowed}.eng-nr-add-req{width:100%;border:1px dashed var(--line,#e5e7eb);border-radius:10px;background:#fff;color:var(--forest,var(--accent-base,#1e3a5f));padding:10px 12px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.eng-nr-add-req:hover{background:color-mix(in srgb,var(--accent-base,#1e3a5f) 8%,#fff);border-color:color-mix(in srgb,var(--accent-base,#1e3a5f) 35%,var(--line,#e5e7eb))}.eng-nr-field input,.eng-nr-field select,.eng-nr-field textarea{width:100%;box-sizing:border-box;border:1px solid var(--line,#e5e7eb);border-radius:8px;padding:10px 12px;font:inherit;font-size:13px;color:var(--ink,#0f172a);background:#fff}.eng-nr-field textarea{resize:vertical;min-height:96px}.eng-nr-field input.entry-input--locked,.eng-nr-field input.entry-input--locked:focus{cursor:default;pointer-events:none;-webkit-user-select:none;user-select:none;caret-color:transparent;background:#f8fafc;box-shadow:none;outline:none;border-color:var(--line,#e5e7eb)}.eng-nr-field input:focus,.eng-nr-field select:focus,.eng-nr-field textarea:focus{outline:2px solid color-mix(in srgb,var(--accent-base,#1e3a5f) 28%,transparent);outline-offset:1px;border-color:color-mix(in srgb,var(--accent-base,#1e3a5f) 45%,var(--line,#e5e7eb))}.eng-nr-field-error{font-size:11px;color:#b91c1c;font-weight:600}.eng-nr-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;flex-wrap:wrap}.eng-nr-btn{border:1px solid var(--line,#e5e7eb);background:#fff;color:var(--ink,#0f172a);border-radius:10px;padding:10px 16px;font-size:13px;font-weight:650;cursor:pointer}.eng-nr-btn:hover:not(:disabled){background:#f8fafc}.eng-nr-btn:disabled{opacity:.55;cursor:not-allowed}.eng-nr-btn--primary{border-color:var(--accent-base,#1e3a5f);background:var(--accent-base,#1e3a5f);color:#fff}.eng-nr-btn--primary:hover:not(:disabled){filter:brightness(1.06);background:var(--accent-base,#1e3a5f)}.eng-review-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:13000;display:flex;align-items:center;justify-content:center;overflow:hidden;overscroll-behavior:none;padding:12px;background:#0f172a7a;font-family:var(--font-sans);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.eng-review-panel{width:min(760px,calc(100vw - 32px));height:auto;max-height:calc(100dvh - 24px);overflow:hidden;overscroll-behavior:none;background:#fff;border:1px solid var(--line,#e5e7eb);border-radius:14px;box-shadow:0 24px 64px #0f172a38;display:flex;flex-direction:column;color:var(--ink,#0f172a)}.eng-review-panel.is-editing{max-height:calc(100dvh - 24px);box-shadow:0 24px 64px #0f172a38,0 0 0 2px color-mix(in srgb,var(--accent-base,#1e3a5f) 28%,transparent)}.eng-review-panel.is-editing .eng-review-head{padding:12px 16px}.eng-review-panel.is-editing .eng-review-body{padding:12px 16px;gap:12px;overflow:hidden}.eng-review-panel.is-editing .eng-review-layout{gap:12px;align-items:stretch;grid-template-columns:minmax(240px,.95fr) minmax(280px,1.05fr);flex:1 1 auto;min-height:0}.eng-review-panel.is-editing .eng-review-left{gap:10px;align-self:stretch;min-height:0;overflow:hidden}.eng-review-panel.is-editing .eng-review-details{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.eng-review-panel.is-editing .eng-review-details .eng-review-kv{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none}.eng-review-panel.is-editing .eng-review-details .eng-review-kv::-webkit-scrollbar{display:none;width:0;height:0}.eng-review-panel.is-editing .eng-review-route{flex:0 0 auto}.eng-review-panel.is-editing .eng-review-card{padding:12px 14px}.eng-review-panel.is-editing .eng-review-card-head{margin-bottom:8px}.eng-review-panel.is-editing .eng-review-kv-row,.eng-review-panel.is-editing .eng-review-kv-row.is-editable{padding:6px 0}.eng-review-panel.is-editing .eng-review-files{display:flex;flex-direction:column;min-height:0}.eng-review-panel.is-editing .eng-review-file-row{flex:1 1 auto;min-height:0}.eng-review-panel.is-editing .eng-review-drawing-list{flex:1 1 auto;max-height:220px;min-height:0;gap:6px}.eng-review-panel.is-editing .eng-review-drawing-item{padding:8px 10px}.eng-review-panel.is-editing .eng-review-route-step{padding:4px 0 10px}.eng-review-panel.is-editing .eng-review-route-step:not(:last-child):before{top:16px}.eng-review-panel.is-editing .eng-review-aside{min-height:0;overflow:auto}.eng-review-panel.is-fulfillment .eng-review-body{overflow:auto}.eng-review-panel.is-fulfillment .eng-review-layout{min-height:auto;align-items:start}.eng-review-panel.is-fulfillment .eng-review-left{min-height:auto;overflow:visible}.eng-review-panel.is-fulfillment .eng-review-aside{min-width:0;min-height:auto;overflow:visible;display:flex;flex-direction:column;gap:10px}.eng-review-panel.is-fulfillment .eng-review-fulfill{flex:0 0 auto;min-height:auto;overflow:visible}.eng-review-fulfill{display:flex;flex-direction:column;gap:10px}.eng-review-fulfill-lead{margin:4px 0 0;font-size:12px;font-weight:500;color:#64748b;line-height:1.4}.eng-review-fulfill-summary{display:flex;flex-direction:column;gap:8px}.eng-review-fulfill-summary-needed,.eng-review-fulfill-summary-pair{border:1px solid var(--line,#e5e7eb);border-radius:10px;background:#f8fafc;padding:8px 12px}.eng-review-fulfill-summary-pair{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:0;padding:0;overflow:hidden}.eng-review-fulfill-summary-pair>.eng-review-fulfill-stat{padding:10px 12px;min-width:0}.eng-review-fulfill-summary-pair>.eng-review-fulfill-stat+.eng-review-fulfill-stat{border-left:1px solid var(--line,#e5e7eb);background:#fff}.eng-review-fulfill-stat{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0}.eng-review-fulfill-stat--stack{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:4px}.eng-review-fulfill-stat span{flex:0 0 auto;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.eng-review-fulfill-stat b{flex:1 1 auto;min-width:0;display:inline-flex;align-items:center;justify-content:flex-start;gap:6px;text-align:left;font-size:13px;font-weight:700;color:#0f172a;line-height:1.3;overflow-wrap:anywhere}.eng-review-fulfill-stat--stack b{width:100%;justify-content:flex-start;text-align:left}.eng-review-fulfill-summary-needed .eng-review-fulfill-stat b{justify-content:flex-end;text-align:right}.eng-review-fulfill-summary-notes{display:none}.eng-review-fulfill-summary .eng-review-count-change{margin-left:auto}.eng-review-kv-row.has-change dd,.eng-review-kv-row dd:has(.eng-review-count-change){display:flex;flex-direction:row;align-items:center;gap:6px;width:100%}.eng-review-kv-row dd .eng-review-count-change{margin-left:auto}.eng-review-fulfill-toolbar{display:flex;flex-wrap:wrap;gap:8px}.eng-review-fulfill-empty{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.eng-review-worker-list{display:flex;flex-direction:column;gap:12px;height:auto;max-height:none;min-height:auto;overflow:visible;border:1px solid var(--line,#e5e7eb);border-radius:10px;padding:10px;background:#fff}.eng-review-worker-section+.eng-review-worker-section{margin-top:4px;padding-top:10px;border-top:1px solid #f1f5f9}.eng-review-worker-head{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:#64748b;margin-bottom:6px}.eng-review-worker{display:flex;align-items:center;gap:8px;border:1px solid var(--line,#e5e7eb);border-radius:10px;padding:8px 10px;cursor:pointer;background:#fff}.eng-review-worker+.eng-review-worker{margin-top:6px}.eng-review-worker.is-selected{border-color:color-mix(in srgb,var(--accent-base,#1e3a5f) 45%,#cbd5e1);background:color-mix(in srgb,var(--accent-base,#1e3a5f) 6%,#fff)}.eng-review-worker.is-disabled{opacity:.55;cursor:not-allowed}.eng-review-worker-copy{display:flex;flex-direction:column;min-width:0}.eng-review-worker-copy strong{font-size:13px;color:#0f172a}.eng-review-worker-copy span{font-size:11px;color:#64748b}.eng-review-fulfill-comment{margin:0;padding:0;border:0;background:transparent}.eng-review-fulfill-comment textarea{min-height:72px}.eng-review-fulfill-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:2px}.eng-review-panel.is-editing .eng-review-comment{margin:0;padding:10px 12px;flex:0 0 auto}.eng-review-panel.is-editing .eng-review-comment textarea{min-height:84px;height:84px}.eng-review-panel.is-editing .eng-review-actions{padding:12px 16px}.eng-review-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line,#e5e7eb);flex:0 0 auto;background:#fff}.eng-review-head-copy{min-width:0;flex:1 1 auto}.eng-review-pills{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:2px}.eng-review-head-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.eng-review-edit-btn{border:1px solid var(--accent-base,#1e3a5f);background:#fff;color:var(--accent-base,#1e3a5f);border-radius:9px;padding:8px 12px;font-size:12px;font-weight:700;cursor:pointer}.eng-review-edit-btn:hover:not(:disabled){background:color-mix(in srgb,var(--accent-base,#1e3a5f) 8%,#fff)}.eng-review-edit-btn.is-active{background:var(--accent-base,#1e3a5f);color:#fff}.eng-review-edit-btn:disabled{opacity:.45;cursor:not-allowed}.eng-review-edit-input{width:100%;box-sizing:border-box;border:1px solid color-mix(in srgb,var(--accent-base,#1e3a5f) 35%,#e5e7eb);border-radius:6px;padding:4px 8px;height:28px;font:inherit;font-size:12px;font-weight:650;text-align:left;color:var(--ink,#0f172a);background:#fff}.eng-review-edit-input:focus{outline:2px solid color-mix(in srgb,var(--accent-base,#1e3a5f) 40%,transparent);outline-offset:1px}.eng-review-pill{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;background:color-mix(in srgb,var(--accent-base,#1e3a5f) 12%,#fff);color:var(--forest,var(--accent-base,#1e3a5f));font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.eng-review-pill--type.is-material{background:#eff6ff;color:#1d4ed8}.eng-review-pill--type.is-manpower{background:#f0fdf4;color:#15803d}.eng-review-pill--type.is-drawing{background:#faf5ff;color:#7e22ce}.eng-review-pill--edited{background:#fff7ed;color:#c2410c}.eng-review-head h1{margin:0;font-size:1rem;font-weight:750;letter-spacing:-.02em;line-height:1.2}.eng-review-sub{margin:2px 0 0;font-size:11px;color:var(--muted,#64748b);line-height:1.3;max-width:52ch}.eng-review-close{border:0;background:transparent;color:var(--muted,#64748b);font-size:20px;line-height:1;width:28px;height:28px;border-radius:8px;cursor:pointer}.eng-review-close:hover{background:color-mix(in srgb,var(--accent-base,#1e3a5f) 8%,#fff);color:var(--ink,#0f172a)}.eng-review-banner{flex:0 0 auto;padding:4px 12px;background:color-mix(in srgb,var(--accent-base,#1e3a5f) 10%,#fff);color:color-mix(in srgb,var(--accent-base,#1e3a5f) 88%,#0f172a);font-size:11px;font-weight:650;border-bottom:1px solid color-mix(in srgb,var(--accent-base,#1e3a5f) 18%,#e5e7eb)}.eng-review-banner--upload{background:color-mix(in srgb,#7e22ce 8%,#fff);color:#6b21a8;border-bottom-color:color-mix(in srgb,#7e22ce 18%,#e5e7eb)}.eng-review-body{flex:1 1 auto;min-height:0;overflow:auto;padding:12px 16px;background:#f8fafc;display:flex;flex-direction:column;gap:12px}.eng-review-layout{display:grid;grid-template-columns:minmax(240px,.95fr) minmax(280px,1.05fr);gap:12px;margin-bottom:0;align-items:stretch;flex:1 1 auto;min-height:0}.eng-review-left{display:flex;flex-direction:column;gap:8px;min-width:0;min-height:0}.eng-review-aside{display:flex;flex-direction:column;gap:10px;min-width:0;min-height:0;overflow:auto}.eng-review-card{background:#fff;border:1px solid var(--line,#e5e7eb);border-radius:8px;padding:8px 12px;min-width:0;min-height:0;overflow:hidden}.eng-review-card-head{margin-bottom:6px}.eng-review-card-head h2{margin:0;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted,#64748b)}.eng-review-kv{margin:0}.eng-review-kv-row{display:grid;grid-template-columns:96px 1fr;gap:8px;padding:5px 0;border-bottom:1px solid #f1f5f9;align-items:center}.eng-review-kv-row:last-child{border-bottom:0}.eng-review-kv-row.is-editable{background:transparent;margin:0;padding:5px 0;border-radius:0;border-bottom-color:#f1f5f9}.eng-review-kv-row dt{margin:0;font-size:12px;font-weight:600;color:var(--muted,#64748b)}.eng-review-kv-row dd{margin:0;font-size:13px;font-weight:700;color:var(--ink,#0f172a);word-break:break-word;text-align:left}.eng-review-kv-row.has-change{align-items:start}.eng-review-kv-row.has-change dt{padding-top:0}.eng-review-kv-row.has-change dd{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:6px}.eng-review-count-change{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;margin:0;padding:0;border:0;background:transparent;color:#0f172a;line-height:0;cursor:pointer}.eng-review-count-change svg{display:block;color:inherit}.eng-review-file-row{display:flex;flex-direction:column;align-items:stretch;gap:4px}.eng-review-file-row input[type=file]{width:100%;min-width:0;font-size:11px}.eng-review-file-status{font-size:11px;font-weight:600;color:var(--muted,#64748b)}.eng-review-kv-row.is-wide dd{min-width:0}.eng-review-drawing-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:220px;overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.eng-review-drawing-list::-webkit-scrollbar{display:none;width:0;height:0}.eng-review-drawing-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.eng-review-file-open{margin-left:auto;border:0;background:transparent;color:var(--accent-base,#1e3a5f);font:inherit;font-size:12px;font-weight:750;cursor:pointer;flex:0 0 auto;padding:0 2px}.eng-review-file-actions{margin-left:auto;display:flex;align-items:center;gap:10px;flex:0 0 auto}.eng-review-file-download{display:grid;place-items:center;width:32px;height:32px;margin-left:auto;border:0;background:transparent;border-radius:8px;color:var(--accent-base,#1e3a5f);cursor:pointer;padding:0;flex:0 0 auto}.eng-review-file-download:hover{background:#eff6ff}.eng-review-file-actions .eng-review-file-open{margin-left:0}.eng-review-file-open:hover{text-decoration:underline}.eng-review-drawing-item.is-selected{border-color:#93c5fd;background:#eff6ff}.eng-review-drawing-item input{margin:0;width:14px;height:14px;flex:0 0 auto}.eng-review-drawing-copy{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;overflow:hidden;flex:1 1 auto;cursor:pointer}.eng-review-drawing-copy b{font-size:12px;font-weight:700;color:var(--ink,#0f172a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.eng-review-drawing-copy small{font-size:11px;font-weight:600;color:var(--muted,#64748b);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.eng-review-upload{display:flex;align-items:center;gap:10px;min-width:0;cursor:pointer;flex:1 1 auto}.eng-review-upload-row{display:flex;align-items:center;gap:8px;min-width:0}.eng-review-upload-clear{flex:0 0 auto;border:1px solid var(--line,#e5e7eb);background:#fff;color:#64748b;border-radius:8px;padding:6px 10px;font-size:12px;font-weight:700;cursor:pointer}.eng-review-upload-clear:hover:not(:disabled){border-color:#cbd5e1;color:#0f172a;background:#f8fafc}.eng-review-upload-clear:disabled{opacity:.55;cursor:not-allowed}.eng-review-upload-native{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0,0,0,0)}.eng-review-upload-cta{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid var(--accent-base,#1e3a5f);background:#fff;color:var(--accent-base,#1e3a5f);border-radius:8px;padding:6px 12px;font-size:12px;font-weight:750}.eng-review-upload:hover .eng-review-upload-cta{background:color-mix(in srgb,var(--accent-base,#1e3a5f) 8%,#fff)}.eng-review-upload:has(.eng-review-upload-native:disabled){opacity:.5;pointer-events:none;cursor:not-allowed}.eng-review-upload-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:650;color:var(--muted,#64748b)}.eng-review-route{display:flex;flex-direction:column}.eng-review-route-list{list-style:none;margin:2px 0 0;padding:0;flex:0 0 auto;min-height:0;display:flex;flex-direction:column;justify-content:flex-start}.eng-review-route-step{display:grid;grid-template-columns:14px 1fr;gap:6px;position:relative;padding:2px 0 10px;min-height:0;flex:0 0 auto}.eng-review-route-step:last-child{padding-bottom:4px;min-height:0;flex:0 0 auto}.eng-review-route-step:not(:last-child):before{content:"";position:absolute;left:7px;top:16px;bottom:0;width:2px;background:color-mix(in srgb,var(--accent-base,#1e3a5f) 28%,#e2e8f0)}.eng-review-route-dot{width:14px;height:14px;margin-top:2px;border-radius:50%;background:var(--accent-base,#1e3a5f);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-base,#1e3a5f) 14%,#fff)}.eng-review-route-step.is-next .eng-review-route-dot{background:#94a3b8;box-shadow:0 0 0 3px #e2e8f0}.eng-review-route-step.is-current .eng-review-route-dot{background:var(--accent-base,#1e3a5f);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-base,#1e3a5f) 22%,#fff)}.eng-review-route-step b{display:block;font-size:13px;font-weight:700}.eng-review-route-step small{display:block;margin-top:2px;font-size:11px;color:var(--muted,#64748b)}.eng-review-files{min-height:0;flex:1 1 auto}.eng-review-prior-comments{display:flex;flex-direction:column;gap:6px;margin:0}.eng-review-prior-comment{background:#fff;border:1px solid var(--line,#e5e7eb);border-radius:8px;padding:8px 12px}.eng-review-prior-comment-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.eng-review-prior-comment-head label{margin:0;font-size:11px;font-weight:750;color:var(--ink,#0f172a)}.eng-review-prior-comment-head span{font-size:10px;font-weight:700;color:var(--muted,#64748b);text-transform:uppercase;letter-spacing:.04em}.eng-review-prior-comment p{margin:0;font-size:12px;line-height:1.4;color:var(--ink,#0f172a);white-space:pre-wrap}.eng-review-prior-comment small{display:block;margin-top:4px;font-size:11px;color:var(--muted,#64748b)}.eng-review-panel.is-editing .eng-review-prior-comments{margin:0}.eng-review-panel.is-editing .eng-review-prior-comment{padding:6px 10px}.eng-review-comment{background:#fff;border:1px solid var(--line,#e5e7eb);border-radius:10px;margin:0;padding:10px 12px;flex:0 0 auto;display:flex;flex-direction:column;min-height:0}.eng-review-comment textarea{width:100%;box-sizing:border-box;border:1px solid var(--line,#e5e7eb);border-radius:8px;padding:8px 10px;font:inherit;font-size:13px;resize:vertical;min-height:84px;height:84px;background:#fff;flex:0 0 auto}.eng-review-comment label{display:block;margin-bottom:3px;font-size:11px;font-weight:750;color:var(--ink,#0f172a)}.eng-review-req{color:#b91c1c}.eng-review-comment textarea:focus{outline:2px solid color-mix(in srgb,var(--accent-base,#1e3a5f) 35%,transparent);outline-offset:1px}.eng-review-error{display:block;margin-top:4px;font-size:11px;font-weight:650;color:#b91c1c}.eng-review-footer{flex:0 0 auto;background:#fff}.eng-review-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;border-top:1px solid var(--line,#e5e7eb);background:#fff;flex:0 0 auto}.eng-review-actions-secondary{display:flex;flex-wrap:wrap;gap:8px}.eng-review-actions-primary{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.eng-review-btn{border:1px solid var(--accent-base,#1e3a5f);background:#fff;color:var(--accent-base,#1e3a5f)!important;border-radius:8px;padding:7px 14px;font-size:13px;font-weight:700;cursor:pointer;min-height:34px}.eng-review-btn:hover:not(:disabled){background:color-mix(in srgb,var(--accent-base,#1e3a5f) 8%,#fff)}.eng-review-btn:disabled{opacity:.45;cursor:not-allowed}.eng-review-btn--primary{background:var(--accent-base,#1e3a5f);color:#fff!important;min-width:auto}.eng-review-btn--primary:hover:not(:disabled){filter:brightness(1.06);background:var(--accent-base,#1e3a5f);color:#fff!important}.eng-review-btn--ghost-primary{background:#fff!important;color:var(--accent-base,#1e3a5f)!important;border:1px solid var(--accent-base,#1e3a5f);filter:none}.eng-review-btn--ghost-primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent-base,#1e3a5f) 8%,#fff)!important;color:var(--accent-base,#1e3a5f)!important;filter:none}.eng-review-btn--danger{border-color:#b91c1c;color:#b91c1c!important}.eng-review-btn--danger:hover:not(:disabled){background:#fef2f2}@media(max-width:760px){.eng-review-layout{grid-template-columns:1fr}}@media(max-width:560px){.eng-review-overlay{padding:0;overflow:hidden}.eng-review-panel{width:100%;max-height:100vh;border-radius:0}.eng-review-kv-row{grid-template-columns:1fr}.eng-review-actions{flex-direction:column-reverse;align-items:stretch}.eng-review-actions-secondary{width:100%}.eng-review-actions-secondary .eng-review-btn,.eng-review-btn--primary{flex:1 1 auto;width:100%}}@media(max-width:560px){.eng-nr-grid{grid-template-columns:1fr}}.eng-exact-app .center:has(.ar-page)>.project-area{min-height:0;height:100%;flex:1 1 auto;overflow:hidden;padding:8px 14px!important;gap:0!important}.eng-exact-app .ar-page{padding:0 0 4px;font-family:var(--font-sans);color:var(--ink);min-height:0;height:100%;display:flex;flex-direction:column;overflow:hidden}.eng-exact-app [data-testid=engineer-issues-page].ar-page{height:100%;min-height:0;overflow:hidden}.eng-exact-app [data-testid=engineer-issues-page] .ar-page-head{margin-bottom:6px}.eng-exact-app [data-testid=engineer-issues-page] .ar-metrics,.eng-exact-app [data-testid=engineer-issues-page] .ar-main-tabs{margin-bottom:8px}.eng-exact-app .ar-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px;flex:0 0 auto}.eng-exact-app .ar-page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.eng-exact-app .proj-workspace-issues-tab{min-height:0;height:100%}.eng-exact-app .proj-workspace-issues-tab .ar-page{height:100%;min-height:0}.eng-exact-app .ar-page .ar-page-title{margin:0 0 2px;font-size:18px}.eng-exact-app .ar-page-title{margin:0 0 4px;font-family:var(--font-sans);font-size:22px;font-weight:750;letter-spacing:-.02em;color:var(--ink);line-height:1.2}.eng-exact-app .ar-page-head .rpt-export-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.eng-exact-app .projects-portfolio.ar-page,.eng-exact-app .eng-proc-page.ar-page{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.eng-exact-app .projects-portfolio.ar-page .projects-portfolio-panel{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.eng-exact-app .exact-embedded-screen.exact-embedded-ar:has(>.projects-portfolio){display:flex;flex-direction:column;overflow:hidden!important}.eng-exact-app .ar-type-chips{display:flex;flex-wrap:wrap;gap:8px}.eng-exact-app .ar-type-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:5px 10px;font-size:11px;font-weight:650;cursor:pointer}.eng-exact-app .ar-type-chip:hover{background:color-mix(in srgb,var(--accent-base) 8%,#fff)}.eng-exact-app .ar-type-chip.active{background:color-mix(in srgb,var(--accent-base) 14%,#fff);border-color:color-mix(in srgb,var(--accent-base) 35%,var(--line));color:var(--forest,var(--accent-base));box-shadow:0 1px 2px color-mix(in srgb,var(--accent-base) 12%,transparent)}.eng-exact-app .ar-main-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;border-bottom:none;margin:0 0 12px;flex:0 0 auto}.eng-exact-app .ar-main-tab{border:1px solid var(--line);background:#fff;color:var(--muted);padding:7px 16px;font-size:13px;font-weight:650;cursor:pointer;border-radius:999px;line-height:1.2;white-space:nowrap;margin:0;transition:background .15s ease,border-color .15s ease,color .15s ease}.eng-exact-app .ar-main-tab:hover{color:var(--ink);border-color:color-mix(in srgb,var(--accent-base) 28%,var(--line));background:color-mix(in srgb,var(--accent-base) 6%,#fff)}.eng-exact-app .ar-main-tab.active{background:color-mix(in srgb,var(--accent-base) 12%,#fff);border-color:color-mix(in srgb,var(--accent-base) 24%,var(--line));color:var(--ink);font-weight:750}.eng-exact-app .ar-metrics,.eng-exact-app .engineer-requests-metrics,.eng-exact-app .pm-rpt-kpis,.eng-exact-app .proj-workspace-kpis,.eng-exact-app .proc-kpi-grid,.eng-exact-app .metric-grid,.eng-exact-app .projects-portfolio-metrics{display:flex;flex-wrap:nowrap;align-items:stretch;gap:8px;margin-bottom:8px;flex:0 0 auto;width:100%;max-width:100%;box-sizing:border-box;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.eng-exact-app .ar-metrics>.ar-metric,.eng-exact-app .engineer-requests-metrics>.engineer-requests-metric,.eng-exact-app .pm-rpt-kpis>.pm-rpt-kpi,.eng-exact-app .proj-workspace-kpis>.proj-workspace-kpi,.eng-exact-app .proc-kpi-grid>.proc-kpi-card,.eng-exact-app .metric-grid>.metric-card,.eng-exact-app .projects-portfolio-metrics>.projects-portfolio-metric{flex:1 1 0;min-width:110px}.eng-exact-app .proc-kpi-grid{gap:10px;margin-bottom:14px}.eng-exact-app .engineer-requests-metrics{margin:0 0 14px;gap:10px}.eng-exact-app .ar-metric{background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 12px}.eng-exact-app .ar-metric b{display:block;font-size:18px;font-weight:800;color:var(--ink);line-height:1.15}.eng-exact-app .ar-metric span{display:block;margin-top:2px;font-size:10px;color:var(--muted);font-weight:600}.eng-exact-app .ar-metric--urgent{border-left:3px solid var(--red,#ef4444)}.eng-exact-app .eng-paginated-list{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.eng-exact-app .ar-table-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.eng-exact-app [data-testid=engineer-issues-page] .ar-table-card{min-height:0;overflow:hidden}.eng-exact-app [data-testid=engineer-issues-page] .ar-table-fit{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden}.eng-exact-app [data-testid=engineer-issues-page] .ar-table-wrap{flex:1 1 auto;min-height:0;overflow-x:auto;overflow-y:hidden}.eng-exact-app [data-testid=engineer-issues-page] .ar-table{min-width:0}.eng-exact-app [data-testid=engineer-issues-page] .ar-table td{padding:10px 12px;vertical-align:middle}.eng-exact-app [data-testid=engineer-issues-page] .ar-table-card .tile-list-footer{margin-top:auto}.eng-exact-app .ar-table-card .tile-list-footer{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:8px 12px;margin:0;border-top:1px solid var(--line);background:#fafbfc}.eng-exact-app .ar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px;flex:0 0 auto}.eng-exact-app .ar-search{display:flex;align-items:center;gap:8px;flex:1 1 220px;min-width:180px;border:1px solid var(--line);border-radius:999px;padding:5px 12px;background:#fff;color:var(--muted)}.eng-exact-app .ar-search input{border:0;outline:none;width:100%;background:transparent;font:inherit;font-size:12px;color:var(--ink)}.eng-exact-app .ar-toolbar-actions{display:flex;gap:8px}.eng-exact-app .ar-filter-select{border:1px solid var(--line);background:#fff;border-radius:9px;padding:5px 28px 5px 10px;font-size:11px;font-weight:650;color:var(--ink);cursor:pointer;min-width:168px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.eng-exact-app .ar-filter-select:focus{outline:2px solid color-mix(in srgb,var(--accent-base) 35%,transparent);outline-offset:1px}.eng-exact-app .ar-tool-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:9px;padding:5px 10px;font-size:11px;font-weight:650;color:var(--ink);cursor:pointer}.eng-exact-app .ar-tool-btn:hover{background:color-mix(in srgb,var(--accent-base) 8%,#fff)}.eng-exact-app .ar-table-wrap{flex:1 1 auto;min-height:0;overflow-x:auto;overflow-y:hidden}.eng-exact-app .ar-table{width:100%;border-collapse:collapse;min-width:920px}.eng-exact-app .ar-table th{text-align:left;font-size:10px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:#f8fafc;padding:8px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.eng-exact-app .ar-table td{padding:8px 12px;border-bottom:1px solid #edf1f5;font-size:12px;color:var(--ink);vertical-align:middle}.eng-exact-app .ar-row{cursor:pointer}.eng-exact-app .ar-row--static{cursor:default}.eng-exact-app .ar-row--static:hover td{background:transparent}.eng-exact-app .ar-table tbody tr:last-child td{border-bottom:0}.eng-exact-app .ar-row:hover td{background:#f8fafc}.eng-exact-app .ar-id{font-weight:700;white-space:nowrap;display:inline-flex;align-items:center;gap:8px}.eng-exact-app .ar-id-dot{width:7px;height:7px;border-radius:50%;background:#cbd5e1;flex:0 0 auto}.eng-exact-app .ar-id-dot.is-urgent{background:var(--red,#ef4444)}.eng-exact-app .ar-summary{max-width:280px}.eng-exact-app .ar-type-pill{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;background:#eef2f6;color:#475569;font-size:11px;font-weight:700}.eng-exact-app .ar-person{display:inline-flex;align-items:center;gap:8px;min-width:0}.eng-exact-app .ar-avatar{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--accent-base) 14%,#fff);color:var(--forest,var(--accent-base));font-size:10px;font-weight:800;flex:0 0 auto}.eng-exact-app .ar-page .ar-avatar{width:22px;height:22px}.eng-exact-app .ar-status{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;white-space:nowrap}.eng-exact-app .ar-status--pending{color:var(--muted)}.eng-exact-app .ar-status--urgent{color:var(--red,#ef4444)}.eng-exact-app .ar-status--approved{color:#16794a}.eng-exact-app .ar-status--progress{color:var(--ink,#0f172a)}.eng-exact-app .ar-status--returned{color:#9a6700}.eng-exact-app .ar-status--rejected{color:#b42318}.eng-exact-app .ar-age{color:var(--muted);white-space:nowrap}.eng-exact-app .ar-row-actions{display:flex;gap:6px;flex-wrap:wrap}.eng-exact-app .ar-action-empty{color:var(--muted);font-size:12px}.eng-exact-app .ar-link-btn{border:0;background:transparent;color:var(--accent-base);font:inherit;font-size:12px;font-weight:700;cursor:pointer;padding:0}.eng-exact-app .ar-link-btn:hover{text-decoration:underline}.eng-exact-app .eng-proc-id-link{color:inherit}.eng-exact-app .eng-proc-id-link:hover{color:var(--accent-base)}.eng-exact-app .ar-empty{padding:28px 16px;text-align:center;color:var(--muted);font-size:12px}@media(max-width:900px){.eng-exact-app .eng-proc-page .ar-metrics{flex-wrap:nowrap}}@media(max-width:600px){.eng-exact-app .ar-page-title{font-size:18px}}.eng-exact-app .engineer-requests-module .module-panel-head{margin-bottom:12px}.eng-exact-app .engineer-requests-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}.eng-exact-app .engineer-requests-raise{display:flex;gap:8px;flex-wrap:wrap}.eng-exact-app .engineer-requests-subtabs,.eng-exact-app .engineer-approval-status-tabs{margin:0 0 14px;width:fit-content;max-width:100%}.eng-exact-app .engineer-requests-tab-count{margin-left:6px;display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:color-mix(in srgb,var(--accent-base) 16%,#fff);color:var(--forest, var(--accent-base));font-size:10px;font-weight:800}.eng-exact-app .module-tab.active .engineer-requests-tab-count{background:color-mix(in srgb,var(--accent-base) 18%,#fff);color:var(--forest,var(--accent-base))}.eng-exact-app .engineer-requests-metric{border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:12px 14px;font-family:var(--font-sans)}.eng-exact-app .engineer-requests-metric b{display:block;font-size:20px;font-weight:800;color:var(--ink);line-height:1.2}.eng-exact-app .engineer-requests-metric span{display:block;margin-top:4px;font-size:var(--fs-2xs,10px);color:var(--muted);font-weight:600}.eng-exact-app .engineer-requests-metric--clickable{cursor:pointer;text-align:left;-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.eng-exact-app .engineer-requests-metric--clickable:hover{border-color:color-mix(in srgb,var(--accent-base,#8c6a24) 45%,var(--line));box-shadow:0 4px 12px #1f1c1714}.eng-exact-app .engineer-requests-metric--clickable:focus-visible{outline:2px solid color-mix(in srgb,var(--accent-base,#8c6a24) 55%,transparent);outline-offset:2px}.eng-exact-app .engineer-requests-metric--clickable.is-active{border-color:color-mix(in srgb,var(--accent-base,#8c6a24) 55%,var(--line));background:color-mix(in srgb,var(--accent-base,#8c6a24) 8%,var(--panel));box-shadow:0 2px 8px #1f1c170f}.eng-exact-app .engineer-requests-metric--clickable.is-active b{color:var(--accent-base,#8c6a24)}.eng-exact-app .eng-req-card--embedded{box-shadow:none;border-color:var(--line)}.eng-exact-app .engineer-attendance-module{padding-bottom:24px;min-height:0;font-family:var(--font-sans)}.eng-exact-app .eng-proc-page{padding:4px 2px 8px;font-family:var(--font-sans);color:var(--ink);min-height:0}.eng-exact-app .eng-proc-page .ar-page-head{margin-bottom:10px}.eng-exact-app .eng-proc-page .ar-page-sub{margin:0;font-size:12px;color:var(--muted)}.eng-exact-app .eng-proc-page .engineer-requests-metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 14px}.eng-exact-app .eng-proc-page .eng-proc-table-wrap{overflow:hidden;max-width:100%;min-width:0;max-height:none;border:1px solid var(--line);border-radius:12px;background:#fff}.eng-exact-app .eng-proc-page .eng-proc-table-wrap .module-table{width:100%;min-width:0;table-layout:fixed}.eng-exact-app .eng-proc-page .eng-proc-table-wrap .module-table th,.eng-exact-app .eng-proc-page .eng-proc-table-wrap .module-table td{width:1%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:10px 12px;vertical-align:middle}.eng-exact-app .eng-proc-page .eng-proc-table-wrap .module-table thead th{background:#f8fafc;font-size:10px;letter-spacing:.06em;font-weight:750;color:#64748b}.eng-exact-app .eng-proc-page .eng-proc-table-wrap .module-table tbody tr:nth-child(2n) td{background:#fafbfc}.eng-exact-app .eng-proc-page .eng-proc-table-wrap .module-table tbody tr:hover td{background:color-mix(in srgb,var(--accent-base) 6%,white 94%)}.eng-exact-app .eng-proc-page .eng-proc-table-wrap .eng-proc-pill{max-width:100%;overflow:hidden;text-overflow:ellipsis}.eng-exact-app .eng-proc-page .eng-proc-pane .eng-paginated-list{flex:none;min-height:0}.eng-exact-app .eng-proc-page .eng-proc-pane .tile-list-footer{padding:10px 4px 2px}.eng-exact-app .eng-proc-tabs{margin:0 0 14px;width:fit-content;max-width:100%;flex-wrap:wrap;background:color-mix(in srgb,var(--mint-soft,#f8fafc) 70%,#fff);border-color:color-mix(in srgb,var(--line,#e8e2d6) 80%,transparent);box-shadow:none}.eng-exact-app .eng-proc-tabs .module-tab.active{background:#fff;color:var(--forest,var(--accent-base));border:1px solid color-mix(in srgb,var(--accent-base) 28%,var(--line));box-shadow:inset 0 -2px 0 var(--accent-base)}.eng-exact-app .eng-proc-pane{display:flex;flex-direction:column;gap:12px;min-height:0}.eng-exact-app .eng-proc-page .eng-proc-pane{flex:none}.eng-exact-app .eng-proc-page .ar-table-card{flex:1 1 auto;min-height:0}.eng-exact-app .eng-proc-page .ar-table-wrap{flex:1 1 auto;min-height:0;overflow-x:auto;overflow-y:hidden}.eng-exact-app .eng-proc-overview-toolbar{margin:0;display:flex;justify-content:flex-start;align-items:center;gap:8px;flex-wrap:wrap}.eng-exact-app .eng-proc-toolbar-search{flex:0 0 auto;width:min(340px,42vw);max-width:340px;min-width:200px;height:34px;border:1px solid #cfd8e3;border-radius:7px;padding:7px 12px;background:#fff;color:var(--ink);font-size:12px;outline:none}.eng-exact-app .eng-proc-toolbar-search::placeholder{color:#94a3b8}.eng-exact-app .eng-proc-toolbar-search:focus{border-color:var(--accent-base, #8c6a24);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-base, #8c6a24) 22%,transparent)}.eng-exact-app .eng-proc-toolbar-select{flex:0 0 auto;min-width:140px;height:34px;border:1px solid #cfd8e3;border-radius:7px;padding:7px 28px 7px 10px;background:#fff;color:var(--ink);font-size:12px;font-weight:600;cursor:pointer;outline:none}.eng-exact-app .eng-proc-toolbar-select:focus{border-color:var(--accent-base, #8c6a24);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-base, #8c6a24) 22%,transparent)}.eng-exact-app .eng-proc-toolbar-status-wrap{flex:0 0 auto;width:min(180px,28vw);min-width:140px;max-width:220px}.eng-exact-app .eng-proc-toolbar-status-wrap .eng-proc-toolbar-status-multi.scrollable-select-trigger,.eng-exact-app .eng-proc-toolbar-status-wrap .eng-proc-toolbar-status-multi.checkbox-dropdown-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;max-width:100%;height:34px;padding:7px 10px;border:1px solid #cfd8e3;border-radius:7px;background:#fff;box-sizing:border-box;text-align:left;font-size:12px;line-height:1.2}.eng-exact-app .eng-proc-toolbar-status-wrap .eng-proc-toolbar-status-multi:focus,.eng-exact-app .eng-proc-toolbar-status-wrap .eng-proc-toolbar-status-multi.is-open{border-color:var(--accent-base, #8c6a24);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-base, #8c6a24) 22%,transparent)}.eng-exact-app .eng-proc-toolbar-status-multi .scrollable-select-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600}.eng-exact-app .eng-proc-toolbar-status-multi .scrollable-select-value.is-placeholder{color:#94a3b8;font-weight:500}.eng-exact-app .eng-proc-toolbar-sort,.eng-exact-app .eng-proc-toolbar-reset{flex:0 0 auto;height:34px}.eng-exact-app .eng-proc-toolbar-reset:disabled{opacity:.45;cursor:not-allowed}.eng-exact-app .eng-proc-toolbar-reset:disabled:hover{background:#fff}.eng-exact-app .eng-proc-pane .tile-list-footer,.eng-exact-app .eng-proc-pane .tile-list-pagination,.eng-exact-app .eng-proc-pane .list-pagination{margin-top:4px;flex:0 0 auto}.eng-exact-app .eng-proc-row-clickable{cursor:pointer}.eng-exact-app .eng-proc-row-clickable:hover{background:color-mix(in srgb,var(--accent-base) 4%,white 96%)}.eng-exact-app .eng-proc-row-clickable:focus-visible{outline:2px solid color-mix(in srgb,var(--accent-base,#8c6a24) 45%,transparent);outline-offset:-2px}.eng-exact-app .eng-proc-list{display:flex;flex-direction:column;padding:0;overflow:hidden}.eng-exact-app .eng-proc-list-row{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:#fff;padding:12px 14px;cursor:pointer;font-family:var(--font-sans)}.eng-exact-app .eng-proc-list-row:last-child{border-bottom:0}.eng-exact-app .eng-proc-list-row:hover{background:color-mix(in srgb,var(--accent-base) 6%,#fff)}.eng-exact-app .eng-proc-list-row b{font-size:13px;color:var(--ink)}.eng-exact-app .eng-proc-list-row small{font-size:12px;color:var(--muted)}.eng-exact-app .eng-proc-table-wrap{overflow:hidden;max-width:100%;min-width:0}.eng-exact-app .eng-proc-pill{display:inline-flex;align-items:center;max-width:100%;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:0;text-transform:none;line-height:1.2;white-space:nowrap}.eng-exact-app .eng-proc-pill--ok{background:#e8f5ee;color:#16794a}.eng-exact-app .eng-proc-pill--warn{background:#fff7df;color:#9a6700}.eng-exact-app .eng-proc-pill--danger{background:#fdecec;color:#a23a3a}.eng-exact-app .eng-proc-pill--muted{background:#f3f4f6;color:var(--muted)}.eng-exact-app .eng-proc-compare-pick{display:flex;flex-wrap:wrap;gap:8px}.eng-exact-app .eng-proc-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:650;cursor:pointer;color:var(--ink)}.eng-exact-app .eng-proc-chip.active{background:color-mix(in srgb,var(--accent-base) 14%,#fff);border-color:color-mix(in srgb,var(--accent-base) 35%,var(--line));color:var(--forest,var(--accent-base))}.eng-exact-app .eng-proc-compare-wrap{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:auto}.eng-exact-app .eng-proc-compare-table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:560px}.eng-exact-app .eng-proc-compare-table thead th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:12px 14px;border-bottom:1px solid var(--line);background:#f6f6f7;width:22%}.eng-exact-app .eng-proc-compare-table thead th:first-child{width:18%}.eng-exact-app .eng-proc-compare-table tbody td{padding:12px 14px;font-size:13px;color:var(--ink);border-bottom:1px solid var(--line);vertical-align:middle}.eng-exact-app .eng-proc-compare-table tbody tr:last-child td{border-bottom:0}.eng-exact-app .eng-proc-compare-table tbody td:first-child{width:180px;color:var(--ink)}.eng-exact-app .eng-proc-compare-table tbody td:first-child b{font-weight:700}.eng-exact-app .eng-proc-compare-table .eng-proc-pill{border-radius:999px}.eng-proc-compare-vendor{border:0;background:transparent;padding:0;margin:0;font:inherit;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:inherit;cursor:pointer;text-align:left}.eng-proc-compare-vendor.is-selected{color:var(--accent-base, #8b5e3c)}#inventory .eng-proc-pill,.proc-cmp-detail .eng-proc-pill,.proc-cmp-panel .eng-proc-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:6px;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}#inventory .eng-proc-pill--ok,.proc-cmp-detail .eng-proc-pill--ok,.proc-cmp-panel .eng-proc-pill--ok{background:#e8f5ee;color:#16794a}#inventory .eng-proc-pill--warn,.proc-cmp-detail .eng-proc-pill--warn,.proc-cmp-panel .eng-proc-pill--warn{background:#fff7df;color:#9a6700}#inventory .eng-proc-pill--danger,.proc-cmp-detail .eng-proc-pill--danger,.proc-cmp-panel .eng-proc-pill--danger{background:#fdecec;color:#a23a3a}#inventory .eng-proc-pill--muted,.proc-cmp-detail .eng-proc-pill--muted,.proc-cmp-panel .eng-proc-pill--muted{background:#f3f4f6;color:#64748b}#inventory .eng-proc-compare-wrap,.proc-cmp-detail .eng-proc-compare-wrap{background:#fff;border:1px solid var(--line,#e8e2d6);border-radius:12px;overflow:auto}#inventory .eng-proc-compare-table,.proc-cmp-detail .eng-proc-compare-table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:560px}#inventory .eng-proc-compare-table thead th,.proc-cmp-detail .eng-proc-compare-table thead th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b;padding:12px 14px;border-bottom:1px solid var(--line,#e8e2d6);background:#fff}#inventory .eng-proc-compare-table tbody td,.proc-cmp-detail .eng-proc-compare-table tbody td{padding:12px 14px;font-size:13px;color:#1f2937;border-bottom:1px solid var(--line,#e8e2d6);vertical-align:middle}#inventory .eng-proc-compare-table tbody tr:last-child td,.proc-cmp-detail .eng-proc-compare-table tbody tr:last-child td{border-bottom:0}#inventory .eng-proc-compare-table tbody td:first-child b,.proc-cmp-detail .eng-proc-compare-table tbody td:first-child b{font-weight:700}.eng-exact-app .eng-proc-actions{display:flex;justify-content:flex-end}.eng-exact-app .eng-proc-receive-btn{background:#fff;border:1px solid #cbd5e1;color:#334155;box-shadow:none;font-weight:650;white-space:nowrap}.eng-exact-app .eng-proc-receive-btn:hover{background:#f8fafc;border-color:#94a3b8;color:#0f172a}.eng-exact-app .eng-proc-drawer,.eng-proc-drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12050;display:flex;align-items:center;justify-content:center;padding:24px}.eng-exact-app .eng-proc-drawer__backdrop,.eng-proc-drawer__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#0f172a85;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer}.eng-exact-app .eng-proc-drawer__panel,.eng-proc-drawer__panel{position:relative;z-index:1;width:min(440px,100%);max-height:min(88vh,640px);height:auto;background:#fff;border:1px solid var(--line,#e8e2d6);border-radius:16px;display:flex;flex-direction:column;padding:0;gap:0;overflow:hidden;box-shadow:0 22px 70px #0f172a47}.eng-exact-app .eng-proc-drawer__head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:18px 18px 14px;border-bottom:1px solid color-mix(in srgb,var(--accent-base,#8c6a24) 12%,var(--line,#e8e2d6));background:linear-gradient(180deg,color-mix(in srgb,var(--accent-soft,#f5efe4) 70%,#fff),#fff);flex-shrink:0}.eng-exact-app .eng-proc-drawer__head h2{margin:6px 0 0;font-size:18px;font-weight:800;letter-spacing:-.01em;color:var(--text,#1f2937)}.eng-exact-app .eng-proc-drawer__pill{display:inline-flex;padding:3px 9px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;background:color-mix(in srgb,var(--accent-base) 14%,#fff);color:var(--forest,var(--accent-base));border:1px solid color-mix(in srgb,var(--accent-base) 22%,transparent)}.eng-exact-app .eng-proc-drawer__close{flex-shrink:0;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:transparent;font-size:22px;line-height:1;cursor:pointer;color:var(--muted)}.eng-exact-app .eng-proc-drawer__close:hover{background:color-mix(in srgb,var(--accent-soft,#f5efe4) 80%,#fff);color:var(--ink)}.eng-exact-app .eng-proc-drawer__body{padding:16px 18px;display:flex;flex-direction:column;gap:14px;overflow:auto;min-height:0;flex:1 1 auto}.eng-exact-app .eng-proc-kv{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;border:0;border-radius:0;overflow:visible;background:transparent}.eng-exact-app .eng-proc-kv-row{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px;font-size:12px;border:1px solid color-mix(in srgb,var(--line,#e8e2d6) 85%,transparent);border-radius:12px;background:color-mix(in srgb,var(--mint-soft,#f8fafc) 55%,#fff)}.eng-exact-app .eng-proc-kv-row--wide{grid-column:1 / -1}.eng-exact-app .eng-proc-kv-row dt{color:var(--muted,#64748b);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.eng-exact-app .eng-proc-kv-row dd{margin:0;font-size:13px;font-weight:750;color:var(--text,#1f2937);word-break:break-word;line-height:1.35}.eng-exact-app .eng-proc-drawer__form{display:grid;gap:12px}.eng-exact-app .eng-proc-drawer__form label{display:grid;gap:6px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.eng-exact-app .eng-proc-drawer__form input,.eng-exact-app .eng-proc-drawer__form textarea,.eng-exact-app .eng-proc-drawer__form select{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit;font-size:13px;font-weight:600;letter-spacing:normal;text-transform:none;color:var(--ink);background:#fff}.eng-exact-app .eng-proc-drawer__form select{cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.eng-exact-app .eng-proc-drawer__form textarea{resize:vertical;min-height:96px;line-height:1.45}.eng-exact-app .eng-proc-drawer__form input[type=file]{padding:8px 10px;font-weight:500;font-size:12px}.eng-exact-app .eng-proc-drawer__foot{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:12px 18px 16px;border-top:1px solid color-mix(in srgb,var(--accent-base,#8c6a24) 12%,var(--line,#e8e2d6));background:color-mix(in srgb,var(--accent-soft,#f5efe4) 35%,#fff);flex-shrink:0}.eng-exact-app .eng-proc-drawer__foot .btn{height:34px;padding:0 14px;border-radius:10px;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid var(--line);background:#fff;color:var(--ink)}.eng-exact-app .eng-proc-drawer__foot .btn.primary{background:var(--accent-base,#8c6a24);border-color:var(--accent-base,#8c6a24);color:#fff}.eng-exact-app .exact-embedded-screen.exact-embedded-proc-exact{min-height:0;overflow-x:hidden;overflow-y:auto}.eng-exact-app .exact-embedded-proc-exact .eng-proc-page{height:auto;min-height:0;overflow:visible}.eng-exact-app .exact-embedded-proc-exact .eng-proc-pane,.eng-exact-app .exact-embedded-proc-exact .eng-proc-pane .eng-paginated-list{flex:none;min-height:0}.eng-exact-app .exact-embedded-proc-exact .eng-proc-pane .eng-proc-table-wrap{overflow-x:auto;overflow-y:visible}.eng-exact-app .eng-notes-page{padding:4px 2px 28px;font-family:var(--font-sans);color:var(--ink);min-height:0}.eng-exact-app .eng-notes-table-wrap{overflow:auto}.eng-exact-app .eng-notes-table{width:100%;border-collapse:collapse}.eng-exact-app .eng-notes-table thead th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:12px 14px;border-bottom:1px solid var(--line);white-space:nowrap}.eng-exact-app .eng-notes-table tbody td{padding:12px 14px;font-size:13px;color:var(--ink);border-bottom:1px solid var(--line);vertical-align:top}.eng-exact-app .eng-notes-table tbody tr:last-child td{border-bottom:0}.eng-exact-app .eng-notes-follow{color:var(--muted);font-size:12px;font-weight:650}.eng-exact-app .eng-notes-follow--yes{display:inline-flex;align-items:center;border:1px solid #ead394;background:#fff7df;color:#9a6700;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:800;letter-spacing:.02em;cursor:pointer;font-family:var(--font-sans)}.eng-exact-app .eng-notes-follow--yes:hover{filter:brightness(.98)}.eng-exact-app .eng-notes-follow--done{color:#16794a}.eng-exact-app .eng-notes-check{display:flex!important;align-items:center;gap:10px;margin-top:4px;padding-top:4px;font-size:13px!important;font-weight:600!important;letter-spacing:normal!important;text-transform:none!important;color:var(--ink)!important}.eng-exact-app .eng-notes-check input{width:16px;height:16px;margin:0;flex-shrink:0;accent-color:var(--accent-base,#8c6a24)}.eng-exact-app .eng-notes-drawer__form{gap:14px}.eng-exact-app .eng-proc-drawer__panel .eng-proc-drawer__body{padding:16px 20px 18px}.eng-exact-app .eng-proc-drawer__panel .eng-proc-drawer__foot{padding:14px 20px 18px}.eng-exact-app .eng-proc-drawer__panel .eng-proc-drawer__head{padding:18px 20px 14px}.eng-site-notes-fab{position:fixed;right:28px;bottom:28px;z-index:1260;width:52px;height:52px;border:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent-base,#8a6d2e);color:#fff;box-shadow:0 10px 28px #0f172a3d;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.eng-site-notes-fab .app-icon,.eng-site-notes-fab .eng-site-notes-fab__icon,.eng-site-notes-fab svg{color:#fff!important;stroke:#fff!important}.eng-site-notes-fab:hover{transform:translateY(-2px);box-shadow:0 14px 34px #0f172a47}.eng-site-notes-fab--dock{right:360px}.eng-site-notes-float{position:fixed;top:0;right:0;bottom:0;left:0;z-index:13010;display:flex;justify-content:flex-end}.eng-site-notes-float__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#0f172a61;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);cursor:pointer}.eng-site-notes-float__panel{position:relative;z-index:1;width:min(920px,100vw);max-width:100%;height:100%;background:#fff;box-shadow:-12px 0 40px #0f172a2e;overflow:auto;padding:22px 24px 28px;box-sizing:border-box}.eng-notes-page{display:flex;flex-direction:column;gap:16px;min-width:0;color:#1f2937;font-family:var(--font-sans,inherit)}.eng-notes-page--embedded{padding:0;min-height:0;height:100%}.eng-notes-float-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.eng-notes-float-title{margin:0;font-size:28px;font-weight:800;letter-spacing:-.02em;color:#111827;line-height:1.15}.eng-notes-head-actions{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}.eng-site-notes-float__close{width:36px;height:36px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;color:#111827;font-size:22px;line-height:1;cursor:pointer;display:inline-grid;place-items:center}.eng-site-notes-float__close:hover{background:#f8fafc}.eng-notes-btn{height:36px;padding:0 14px;border-radius:10px;font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid #e5e7eb;background:#fff;color:#111827}.eng-notes-btn--primary{background:linear-gradient(180deg,color-mix(in srgb,var(--accent-base,#8a6d2e) 88%,#fff),var(--accent-base,#8a6d2e));border-color:var(--accent-base,#8a6d2e);color:#fff}.eng-notes-btn--primary:hover{filter:brightness(1.03)}.eng-notes-muted{margin:0;color:#64748b;font-size:13px}.eng-notes-empty{padding:28px 16px;border:1px dashed #e5e7eb;border-radius:12px;color:#64748b;text-align:center;font-size:13px}.eng-notes-table-wrap{border:1px solid #e8e8e8;border-radius:12px;overflow:auto;background:#fff}.eng-notes-table{width:100%;border-collapse:collapse;min-width:720px}.eng-notes-table thead th{text-align:left;padding:12px 14px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#9ca3af;border-bottom:1px solid #ececec;background:#fff;white-space:nowrap}.eng-notes-table tbody td{padding:14px;font-size:13px;color:#1f2937;border-bottom:1px solid #f0f0f0;vertical-align:middle;line-height:1.4}.eng-notes-table tbody tr:last-child td{border-bottom:0}.eng-notes-follow{font-size:13px;color:#6b7280}.eng-notes-follow--yes{display:inline-flex;align-items:center;border:0;border-radius:8px;padding:6px 10px;background:#fef3c7;color:#111827;font-size:12px;font-weight:700;cursor:pointer}.eng-notes-follow--yes:hover{filter:brightness(.98)}.eng-notes-follow--done{color:#059669;font-weight:700}.eng-notes-col-actions{width:1%;white-space:nowrap;text-align:right}.eng-notes-preview{display:inline;max-width:100%;margin:0;padding:0;border:0;background:transparent;color:#111827;font:inherit;font-size:13px;font-weight:600;line-height:1.35;text-align:left;cursor:pointer;text-decoration:none}.eng-notes-preview:hover{color:var(--accent-base,#8a6d2e);text-decoration:underline;text-underline-offset:2px}.eng-notes-edit-btn{width:32px;height:32px;padding:0;border-radius:8px;border:1px solid #e5e7eb;background:#fff;color:#111827;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.eng-notes-edit-btn:hover{background:#f8fafc;border-color:#d1d5db;color:#0f172a}.eng-notes-edit-btn svg{display:block;stroke:currentColor}.eng-notes-view-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;margin:0}.eng-notes-view-grid>div{display:grid;gap:4px;min-width:0}.eng-notes-view-grid__full{grid-column:1 / -1}.eng-notes-view-grid dt{margin:0;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#6b7280}.eng-notes-view-grid dd{margin:0;font-size:13px;font-weight:600;color:#111827;line-height:1.45;word-break:break-word}.eng-notes-view-note{white-space:pre-wrap;padding:10px 12px;border-radius:10px;background:#f8fafc;border:1px solid #e5e7eb}.eng-notes-check{display:inline-flex!important;align-items:center;gap:8px;text-transform:none!important;letter-spacing:normal!important;font-size:13px!important;font-weight:600!important;color:#374151!important;cursor:pointer}.eng-notes-check input{width:16px;height:16px;margin:0}.eng-notes-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:14020;display:flex;align-items:center;justify-content:center;padding:24px}.eng-notes-modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#0f172a85;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer}.eng-notes-modal__card{position:relative;z-index:1;width:min(440px,100%);max-height:min(88vh,640px);background:#fff;border:1px solid #e8e2d6;border-radius:16px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 22px 70px #0f172a47}.eng-notes-modal__head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:18px 18px 14px;border-bottom:1px solid #ece7de;background:linear-gradient(180deg,#f7f3ec,#fff);flex-shrink:0}.eng-notes-modal__head h2{margin:6px 0 0;font-size:18px;font-weight:800;letter-spacing:-.01em;color:#1f2937}.eng-notes-modal__pill{display:inline-flex;padding:3px 9px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;background:color-mix(in srgb,var(--accent-base,#8a6d2e) 14%,#fff);color:var(--accent-base,#8a6d2e);border:1px solid color-mix(in srgb,var(--accent-base,#8a6d2e) 22%,transparent)}.eng-notes-modal__close{flex-shrink:0;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:transparent;font-size:22px;line-height:1;cursor:pointer;color:#6b7280}.eng-notes-modal__close:hover{background:#f5efe4;color:#111827}.eng-notes-modal__body{padding:16px 18px;overflow:auto;min-height:0;flex:1 1 auto}.eng-notes-modal__form{display:grid;gap:12px}.eng-notes-modal__form label{display:grid;gap:6px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#6b7280}.eng-notes-modal__form input,.eng-notes-modal__form textarea,.eng-notes-modal__form select{width:100%;box-sizing:border-box;border:1px solid #e5e7eb;border-radius:10px;padding:10px 12px;font:inherit;font-size:13px;font-weight:600;letter-spacing:normal;text-transform:none;color:#111827;background:#fff}.eng-notes-modal__form select{cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.eng-notes-modal__form textarea{resize:vertical;min-height:96px;line-height:1.45}.eng-notes-modal__form input[type=file]{padding:8px 10px;font-weight:500;font-size:12px}.eng-notes-modal__foot{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:12px 18px 16px;border-top:1px solid #ece7de;background:#faf7f2;flex-shrink:0}.eng-exact-app .eng-site-notes-fab{z-index:260}.eng-exact-app .eng-site-notes-fab--dock{right:360px}.eng-exact-app .eng-site-notes-float__panel{max-width:100%;height:100%;background:#fff;border-left:1px solid var(--line);box-shadow:-18px 0 48px #0f172a29;overflow:auto;padding:18px 20px 24px}.eng-exact-app .eng-notes-page--embedded{padding:0;min-height:0}.eng-exact-app .eng-notes-float-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.eng-exact-app .eng-notes-float-title{margin:0;font-size:22px;font-weight:800;color:var(--ink)}.eng-exact-app .eng-notes-head-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.eng-exact-app .eng-site-notes-float__close{width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--muted);font-size:22px;line-height:1;cursor:pointer}.eng-exact-app .eng-site-notes-float__close:hover{color:var(--ink);border-color:var(--ink)}.eng-exact-app .exact-embedded-screen.exact-embedded-notes{min-height:0;overflow:auto}.eng-exact-app .eng-milestones-tab{display:flex;flex-direction:column;gap:12px}.eng-exact-app .eng-milestones-table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px}.eng-exact-app .eng-milestones-table{width:100%;border-collapse:collapse}.eng-exact-app .eng-milestones-table thead th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:12px 14px;border-bottom:1px solid var(--line);white-space:nowrap}.eng-exact-app .eng-milestones-table tbody td{padding:12px 14px;font-size:13px;color:var(--ink);border-bottom:1px solid var(--line);vertical-align:middle}.eng-exact-app .eng-milestones-table tbody tr:last-child td{border-bottom:0}.eng-exact-app .eng-milestones-empty{text-align:center;color:var(--muted);padding:28px 14px!important}.eng-exact-app .eng-ms-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.eng-exact-app .eng-ms-pill--ok{background:#e8f5ee;color:#16794a}.eng-exact-app .eng-ms-pill--danger{background:#fdecec;color:#a23a3a}.eng-exact-app .eng-ms-pill--pill{background:color-mix(in srgb,var(--accent-base) 12%,#fff);color:var(--forest,var(--accent-base))}.eng-exact-app .eng-proj-tab{display:flex;flex-direction:column;gap:12px}.eng-exact-app .eng-proj-table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px}.eng-exact-app .eng-proj-table-card{display:flex;flex-direction:column}.eng-exact-app .eng-proj-table-card .eng-proj-table-wrap{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:none}.eng-exact-app .eng-proj-table-card .tile-list-footer{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:8px 12px;margin:0;border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;background:#fafbfc}.eng-exact-app .eng-proj-table{width:100%;border-collapse:collapse}.eng-exact-app .eng-proj-table thead th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:12px 14px;border-bottom:1px solid var(--line);white-space:nowrap}.eng-exact-app .eng-proj-table tbody td{padding:12px 14px;font-size:13px;color:var(--ink);border-bottom:1px solid var(--line);vertical-align:middle}.eng-exact-app .eng-proj-table tbody tr:last-child td{border-bottom:0}.eng-exact-app .eng-proj-row-clickable{cursor:pointer}.eng-exact-app .eng-proj-row-clickable .eng-proj-row-open{color:var(--accent-base)}.eng-exact-app .view-drawing-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin:0}.eng-exact-app .view-drawing-meta>div{display:flex;flex-direction:column;gap:4px;min-width:0}.eng-exact-app .view-issue-notes{margin-top:10px}.eng-exact-app .view-issue-notes span{display:block;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.eng-exact-app .view-issue-notes p{margin:0;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--soft);color:var(--ink);font-size:13px;line-height:1.4;white-space:pre-wrap}.eng-exact-app .issue-comments-item-title{margin:0 0 12px;font-size:15px;font-weight:700;color:var(--ink)}.eng-exact-app .issue-comments-list{display:flex;flex-direction:column;gap:8px}.eng-exact-app .issue-comments-list--inline{gap:6px;max-height:220px;overflow:auto;padding-right:2px}.eng-exact-app .eng-proj-issue-comments-cell{width:56px;min-width:56px;max-width:56px;text-align:center;vertical-align:middle}.eng-exact-app .issue-comment-open-btn{position:relative}.eng-exact-app .issue-comment-open-count{position:absolute;top:-5px;right:-6px;display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:999px;font-size:10px;font-weight:800;line-height:1;color:#fff;background:var(--accent-base,#9a6700);pointer-events:none}.eng-exact-app .issue-comments-modal{width:min(540px,calc(100vw - 32px))!important}.eng-exact-app .issue-comments-modal-body{padding-top:4px}.eng-exact-app .pm-issue-comments--modal{border:0;border-radius:0;background:transparent}.eng-exact-app .pm-issue-comments-timeline--modal{max-height:min(460px,62vh);padding:0}.eng-exact-app .pm-issue-comment-meta-label{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.eng-exact-app .pm-issue-comment-by{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0}.eng-exact-app .pm-issue-comment-role{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--accent-base,#9a6700);background:#9a67001a}.eng-exact-app .pm-issue-comment-time{margin-left:auto;font-size:11px;font-weight:600;color:var(--muted);white-space:nowrap}.eng-exact-app .project-modal-card--issue-view .pm-issue-comments-timeline--modal{max-height:280px;padding:0}.eng-exact-app .issue-comments-list--inline .issue-comments-item{padding:8px 10px}.eng-exact-app .issue-comments-list--inline .issue-comments-item p{margin:0;font-size:12px;line-height:1.45;color:var(--ink)}.eng-exact-app .issue-comments-list--inline .issue-comments-item small{font-size:10px}.eng-exact-app .issue-comments-item{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}.eng-exact-app .issue-comments-item-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.eng-exact-app .issue-comments-author{flex:1 1 auto;min-width:0;text-align:center;font-size:12px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eng-exact-app .issue-comments-role{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}.eng-exact-app .issue-comments-action{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.eng-exact-app .issue-comments-item p{margin:0;padding:0;border:0;background:transparent;font-size:13px;line-height:1.45;white-space:pre-wrap}.eng-exact-app .pm-issue-detail-modal{width:min(560px,calc(100vw - 32px))!important}.admin-modal-overlay--center.pm-issue-detail-overlay{z-index:10110;overflow-x:hidden!important;overflow-y:auto!important;place-items:start center!important;align-content:start!important;padding:16px!important}.admin-modal-overlay--center .admin-modal-card.pm-issue-detail-modal{width:min(560px,calc(100vw - 32px))!important;max-width:none;height:min(88dvh,calc(100dvh - 32px))!important;max-height:min(88dvh,calc(100dvh - 32px))!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;min-height:0!important;padding:0;margin:0 auto}.pm-issue-detail-modal .pm-issue-detail-head{flex:0 0 auto;align-items:flex-start;padding:16px 20px 12px}.pm-issue-detail-modal .pm-issue-detail-head-text{min-width:0;flex:1 1 auto;padding-right:8px}.pm-issue-detail-modal .pm-issue-detail-head strong{display:block;line-height:1.35;word-break:break-word}.pm-issue-detail-modal .admin-form-sub{margin-top:4px;line-height:1.4}.pm-issue-detail-body{flex:1 1 0%!important;min-height:0!important;display:flex;flex-direction:column;gap:14px;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:16px 20px;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#94a3b8 transparent}.pm-issue-detail-body::-webkit-scrollbar{width:10px}.pm-issue-detail-body::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:999px;border:2px solid #fff}.pm-issue-detail-foot{flex:0 0 auto;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;padding:12px 20px 16px;border-top:1px solid var(--line,#e8e2d6);background:#fff}.pm-issue-detail-modal .pm-issue-kv{display:grid;grid-template-columns:110px 1fr;gap:8px 16px;margin:0}.pm-issue-detail-modal .pm-issue-kv>div{display:contents}.pm-issue-detail-modal .pm-issue-kv dt{font-size:12px;font-weight:650;color:var(--muted,#64748b)}.pm-issue-detail-modal .pm-issue-kv dd{margin:0;font-size:13px;font-weight:800;color:var(--ink,var(--text,#0f172a))}.pm-issue-detail-modal .pm-issue-evidence{border:1px solid var(--line,#e8e2d6);border-radius:12px;padding:10px 12px;background:var(--soft,#f8fafc)}.pm-issue-detail-modal .pm-issue-evidence b{display:block;font-size:12px;font-weight:800;margin-bottom:4px;color:var(--ink,var(--text,#0f172a))}.pm-issue-detail-modal .pm-issue-evidence p{margin:0;font-size:12px;color:var(--muted,#64748b);line-height:1.45}.pm-issue-detail-modal .pm-issue-comment{display:flex;flex-direction:column;gap:6px}.pm-issue-detail-modal .pm-issue-comment span{font-size:12px;font-weight:700;color:var(--muted,#64748b)}.pm-issue-detail-modal .pm-issue-comment textarea{width:100%;border:1px solid var(--line,#e8e2d6);border-radius:10px;padding:10px 12px;font:inherit;resize:vertical;min-height:72px;background:#fff;color:var(--ink,var(--text,#0f172a))}.eng-exact-app .pm-issue-detail-body{display:flex;flex-direction:column;gap:14px;overflow-y:auto;min-height:0;overscroll-behavior:contain}.eng-exact-app .pm-issue-kv{display:grid;grid-template-columns:110px 1fr;gap:8px 16px;margin:0}.eng-exact-app .pm-issue-kv>div{display:contents}.eng-exact-app .pm-issue-kv dt{font-size:12px;font-weight:650;color:var(--muted)}.eng-exact-app .pm-issue-kv dd{margin:0;font-size:13px;font-weight:800;color:var(--ink,var(--text))}.eng-exact-app .pm-issue-evidence{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--soft,#f8fafc)}.eng-exact-app .pm-issue-evidence b{display:block;font-size:12px;font-weight:800;margin-bottom:4px;color:var(--ink,var(--text))}.eng-exact-app .pm-issue-evidence p{margin:0;font-size:12px;color:var(--muted);line-height:1.45}.eng-exact-app .pm-issue-comment{display:flex;flex-direction:column;gap:6px}.eng-exact-app .pm-issue-comment span{font-size:12px;font-weight:700;color:var(--muted)}.eng-exact-app .pm-issue-comment textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit;resize:vertical;min-height:72px;background:#fff;color:var(--ink,var(--text))}.pm-issue-comments{border:1px solid var(--line,#e8e2d6);border-radius:12px;background:var(--soft,#f8fafc);overflow:hidden}.pm-issue-comments-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line,#e8e2d6);background:#fff}.pm-issue-comments-head b{font-size:12px;font-weight:800;color:var(--ink,var(--text))}.pm-issue-comments-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;font-size:11px;font-weight:800;color:var(--muted);background:#f1f5f9}.pm-issue-comments-empty{margin:0;padding:14px 12px;font-size:12px;color:var(--muted)}.pm-issue-comments-timeline{list-style:none;margin:0;padding:12px;display:flex;flex-direction:column;gap:12px;max-height:240px;overflow-y:auto;overscroll-behavior:contain}.pm-issue-comment-item{display:grid;grid-template-columns:12px 1fr;gap:10px;align-items:start}.pm-issue-comment-dot{width:8px;height:8px;margin-top:5px;border-radius:999px;background:var(--accent-base,#9a6700)}.pm-issue-comment-content{min-width:0}.pm-issue-comment-meta{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:6px 10px;margin-bottom:4px}.pm-issue-comment-meta strong{font-size:12px;font-weight:800;color:var(--ink,var(--text))}.pm-issue-comment-meta span{font-size:11px;color:var(--muted)}.pm-issue-comment-action{margin:0 0 4px;font-size:11px;font-weight:700;color:var(--accent-base,#9a6700)}.pm-issue-comment-text{margin:0;font-size:12px;line-height:1.45;color:var(--ink,var(--text));white-space:pre-wrap;word-break:break-word}.pm-issue-engineer-block{display:flex;flex-direction:column;gap:10px}.pm-issue-engineer-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.pm-issue-engineer-meta{font-size:11px;color:var(--muted,#64748b)}.pm-issue-engineer-comment{margin:0;font-size:12px;line-height:1.45;color:var(--ink,var(--text,#0f172a));white-space:pre-wrap}.pm-issue-engineer-files-label{display:block;font-size:11px;font-weight:700;color:var(--muted,#64748b);margin-bottom:6px}.pm-issue-engineer-file-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}.pm-issue-engineer-file-thumb{border:1px solid var(--line,#e8e2d6);border-radius:10px;padding:0;background:#fff;overflow:hidden;cursor:pointer;width:88px;height:88px}.pm-issue-engineer-file-thumb img{display:block;width:100%;height:100%;object-fit:cover}.pm-issue-engineer-file-link{font-size:12px}.eng-exact-app .pm-issue-detail-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;padding-top:4px}.eng-exact-app .issue-comments-item small{display:block;margin-top:6px;font-size:11px;color:var(--muted)}.eng-exact-app .issue-comments-empty{margin:0;padding:16px 14px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:13px}.eng-exact-app .view-drawing-meta dt{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.eng-exact-app .view-drawing-meta dd{margin:0;font-size:14px;font-weight:600;color:var(--ink);word-break:break-word}.eng-exact-app .view-issue-meta{gap:6px 14px}.eng-exact-app .view-issue-meta>div{gap:1px}.eng-exact-app .view-issue-meta dt{font-size:9px;line-height:1.2}.eng-exact-app .view-issue-meta dd{font-size:13px;line-height:1.3}.eng-exact-app .project-modal-card--issue-view .view-issue-notes{margin-top:0}.eng-exact-app .project-modal-card--issue-view .view-issue-notes span{margin-bottom:4px;font-size:10px}.eng-exact-app .project-modal-card--issue-view .view-issue-notes p{padding:6px 10px;border-radius:8px;font-size:13px;line-height:1.4}.eng-exact-app .project-modal-card--issue-view .view-issue-comments{margin-top:10px}.eng-exact-app .project-modal-card--issue-view .pm-issue-comments--modal{border:1px solid var(--line);border-radius:12px;background:var(--soft);overflow:hidden}.eng-exact-app .project-modal-card--issue-view .pm-issue-comments-head{padding:10px 12px}.eng-exact-app .project-modal-card--issue-view .pm-issue-comments-timeline--modal{max-height:min(340px,42vh);padding:12px;background:#fff}.eng-exact-app .project-modal-card--issue-view .pm-issue-comments-empty{margin:0;padding:14px 12px;border:1px dashed var(--line);border-radius:10px;font-size:13px;color:var(--muted)}.eng-exact-app .project-modal-card--issue-view .admin-form-head{padding:10px 16px 8px}.eng-exact-app .project-modal-card--issue-view .project-modal-body{padding:4px 16px 12px;gap:6px;overflow-y:auto}.eng-exact-app .view-drawing-meta>div:nth-child(1),.eng-exact-app .view-drawing-meta>div:nth-child(2),.eng-exact-app .view-drawing-meta>div:nth-child(8),.eng-exact-app .view-drawing-meta>.view-drawing-span{grid-column:1 / -1}.eng-exact-app .view-drawing-meta.view-issue-meta>div:nth-child(1),.eng-exact-app .view-drawing-meta.view-issue-meta>div:nth-child(2){grid-column:auto}.eng-exact-app .view-bill-meta>div:nth-child(1),.eng-exact-app .view-bill-meta>div:nth-child(2){grid-column:auto}.eng-exact-app .view-bill-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 28px;justify-content:stretch;width:100%}.eng-exact-app .view-bill-meta>div{gap:2px;min-width:0}.eng-exact-app .view-bill-meta>.view-bill-file-span{grid-column:1 / -1}.eng-exact-app .view-drawing-previous-files{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.eng-exact-app .view-drawing-previous-files li{min-width:0}.eng-exact-app .project-modal-card--drawing-view .admin-form-head{padding:8px 14px 6px}.eng-exact-app .project-modal-card--drawing-view .admin-form-head strong{font-size:16px}.eng-exact-app .project-modal-card--drawing-view .admin-form-sub{margin:1px 0 0;font-size:12px}.eng-exact-app .project-modal-card--drawing-view .project-modal-body{padding:2px 14px 12px;gap:8px}.eng-exact-app .view-drawing-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--soft,#f7f6f3)}.eng-exact-app .view-drawing-hero-copy{min-width:0}.eng-exact-app .view-drawing-no{display:inline-block;margin-bottom:2px;font-size:10px;font-weight:800;letter-spacing:.04em;color:var(--muted)}.eng-exact-app .view-drawing-hero h2{margin:0;font-size:14px;font-weight:800;line-height:1.2;color:var(--ink)}.eng-exact-app .view-drawing-hero .eng-proj-pill{flex:0 0 auto;margin-top:1px;padding:3px 8px;font-size:9px}.eng-exact-app .view-drawing-facts{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;margin:0}.eng-exact-app .view-drawing-facts>div{display:flex;flex-direction:column;gap:1px;min-width:0}.eng-exact-app .view-drawing-facts dt{font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.eng-exact-app .view-drawing-facts dd{margin:0;font-size:12px;font-weight:700;color:var(--ink);word-break:break-word}.eng-exact-app .view-drawing-files{display:flex;flex-direction:column;gap:5px}.eng-exact-app .view-drawing-files>span{font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.eng-exact-app .view-drawing-file-row{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;color:inherit;font:inherit;text-align:left;cursor:pointer}.eng-exact-app .view-drawing-file-row:hover{border-color:color-mix(in srgb,var(--accent-base) 40%,var(--line));background:color-mix(in srgb,var(--accent-base) 6%,#fff)}.eng-exact-app .view-drawing-file-row.is-empty{cursor:default;opacity:.8}.eng-exact-app .view-drawing-file-row.is-current{border-color:color-mix(in srgb,var(--accent-base) 55%,var(--line));background:color-mix(in srgb,var(--accent-base) 12%,#fff);box-shadow:inset 3px 0 0 var(--accent-base)}.eng-exact-app .view-drawing-file-row.is-current .view-drawing-file-icon{background:color-mix(in srgb,var(--accent-base) 18%,#fff)}.eng-exact-app .view-drawing-file-row.is-current .view-drawing-file-copy small{color:var(--forest,var(--accent-base))}.eng-exact-app .view-drawing-previous-files .view-drawing-file-row{background:#fafbfc}.eng-exact-app .view-drawing-file-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex:0 0 auto;border-radius:6px;background:var(--soft,#f7f6f3);color:var(--forest,var(--accent-base))}.eng-exact-app .view-drawing-file-copy{min-width:0;flex:1 1 auto;display:flex;flex-direction:column;gap:0}.eng-exact-app .view-drawing-file-copy small{font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.eng-exact-app .view-drawing-file-copy b{display:block;font-size:12px;font-weight:700;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eng-exact-app .view-drawing-file-open{flex:0 0 auto;font-size:11px;font-weight:800;color:var(--forest,var(--accent-base))}.eng-exact-app .view-drawing-file-empty{margin:0;padding:6px 8px;border:1px dashed var(--line);border-radius:8px;color:var(--muted);font-size:12px}.eng-exact-app .view-drawing-files .view-drawing-previous-files{gap:4px}.eng-exact-app .eng-proj-empty{text-align:center;color:var(--muted);padding:28px 14px!important}.eng-exact-app .eng-proj-row-actions{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;justify-content:flex-start}.eng-exact-app .entry-btn.entry-btn--compact.issue-review-btn{min-height:30px;padding:5px 12px;font-size:11px;font-weight:700;border-radius:8px;white-space:nowrap}.eng-exact-app .eng-proj-table .issue-review-btn{width:auto}.eng-exact-app .eng-proj-table .eng-proj-status-col,.eng-exact-app .eng-proj-table .eng-proj-actions-col{text-align:left;white-space:nowrap;width:1%;padding-left:14px;padding-right:14px;vertical-align:middle}.eng-exact-app .eng-proj-table .eng-proj-status-col .eng-proj-pill{margin:0}.eng-exact-app .eng-proj-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.eng-exact-app .eng-proj-pill--ok{background:#e8f5ee;color:#16794a}.eng-exact-app .eng-proj-pill--warn{background:#fff7df;color:#9a6700}.eng-exact-app .eng-proj-pill--danger{background:#fdecec;color:#a23a3a}.eng-exact-app .eng-proj-pill--muted{background:#f3f4f6;color:var(--muted)}.eng-exact-app .eng-proj-pill--info{background:#e8eefc;color:#1d4ed8}.eng-exact-app .eng-proj-pill--pill{background:color-mix(in srgb,var(--accent-base) 12%,#fff);color:var(--forest,var(--accent-base))}.eng-exact-app .eng-proj-footnote{margin:0;font-size:12px}.eng-exact-app .eng-proj-filters{display:flex;flex-wrap:wrap;gap:8px}.eng-exact-app .engineer-att-week-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:visible}.eng-exact-app .engineer-att-week-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);position:relative;z-index:2;overflow:visible}.eng-exact-app .engineer-att-week-card__head h2{margin:0;font-size:16px;font-weight:750;color:var(--ink)}.eng-exact-app .engineer-att-week-card__filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px}.eng-exact-app .engineer-att-week-project-label{font-size:13px;font-weight:700;color:var(--ink);max-width:min(100%,180px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eng-exact-app .engineer-att-week-period-filters{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.eng-exact-app .engineer-att-week-nav{display:inline-flex;align-items:center;gap:4px}.eng-exact-app .engineer-att-week-filter{height:28px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:0 22px 0 8px;font:inherit;font-size:12px;font-weight:600;color:var(--ink);cursor:pointer}.eng-exact-app .engineer-att-week-filter--project{max-width:min(100%,160px)}.eng-exact-app .engineer-att-week-filter--week{min-width:168px;max-width:min(100%,240px)}.eng-exact-app .engineer-att-week-filter:focus{outline:none;border-color:color-mix(in srgb,var(--accent-base) 45%,var(--line))}.eng-exact-app .engineer-att-week-filter:disabled{opacity:.55;cursor:not-allowed}.eng-exact-app .engineer-att-week-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:16px;font-weight:700;line-height:1;cursor:pointer;flex-shrink:0}.eng-exact-app .engineer-att-week-nav-btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent-base) 45%,var(--line));background:color-mix(in srgb,var(--accent-base) 8%,#fff)}.eng-exact-app .engineer-att-week-nav-btn:disabled{opacity:.35;cursor:not-allowed}.eng-exact-app .engineer-att-week-picker{position:relative}.eng-exact-app .engineer-att-week-picker-trigger{display:inline-flex;align-items:center;gap:8px;min-width:196px;max-width:min(100%,280px);height:32px;padding:0 8px 0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;font:inherit;color:var(--ink);cursor:pointer;white-space:nowrap;text-align:left}.eng-exact-app .engineer-att-week-picker-trigger-text{display:flex;flex-direction:column;align-items:flex-start;gap:0;min-width:0;flex:1;line-height:1.15}.eng-exact-app .engineer-att-week-picker-trigger-text strong{font-size:12px;font-weight:700}.eng-exact-app .engineer-att-week-picker-trigger-text small{font-size:10px;font-weight:600;letter-spacing:.02em;color:var(--muted)}.eng-exact-app .engineer-att-week-picker-trigger:hover,.eng-exact-app .engineer-att-week-picker.is-open .engineer-att-week-picker-trigger{border-color:color-mix(in srgb,var(--accent-base) 45%,var(--line));background:color-mix(in srgb,var(--accent-base) 6%,#fff)}.eng-exact-app .engineer-att-week-picker-popover{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);z-index:30;width:min(248px,calc(100vw - 32px));padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 10px 28px #0f172a1f}.engineer-att-week-picker-popover--portal{position:fixed;transform:none;z-index:1200;width:248px;padding:8px;border:1px solid #d8dee9;border-radius:10px;background:#fff;box-shadow:0 14px 36px #0f172a24;display:flex;flex-direction:column;overflow:hidden}.engineer-att-week-cal-head{display:flex;align-items:center;gap:4px;margin-bottom:6px}.engineer-att-week-cal-month{flex:1;text-align:center;font-size:12px;font-weight:750;color:#0f172a;letter-spacing:.01em}.engineer-att-week-cal-month-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid #d8dee9;border-radius:6px;background:#fff;color:#0f172a;font-size:14px;font-weight:700;line-height:1;cursor:pointer}.engineer-att-week-cal-month-btn:hover:not(:disabled){border-color:#c4a574;background:#faf8f5}.engineer-att-week-cal-month-btn:disabled{opacity:.35;cursor:not-allowed}.engineer-att-week-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;margin-bottom:2px;padding:0 2px}.engineer-att-week-cal-weekdays span{text-align:center;font-size:9px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#94a3b8}.engineer-att-week-cal-weeks{display:flex;flex-direction:column;gap:2px}.engineer-att-week-cal-row{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;width:100%;padding:1px;border:1px solid transparent;border-radius:6px;background:transparent;cursor:pointer}.engineer-att-week-cal-row:hover:not(:disabled){background:#faf8f5;border-color:#eadcc8}.engineer-att-week-cal-row.is-selected{background:#f5efe6;border-color:#c4a574}.engineer-att-week-cal-row.is-disabled{opacity:.45;cursor:not-allowed}.engineer-att-week-cal-day{display:flex;align-items:center;justify-content:center;height:22px;border-radius:5px;font-size:11px;font-weight:600;color:#0f172a}.engineer-att-week-cal-day.is-outside{color:#cbd5e1;font-weight:500}.engineer-att-week-cal-day.is-today{box-shadow:inset 0 0 0 1.5px #c4a574;color:#8a6a3b;font-weight:750}.engineer-att-week-cal-row.is-selected .engineer-att-week-cal-day:not(.is-outside){color:#6f542e}.engineer-att-week-cal-day.is-future{color:#d0d7e2}.engineer-att-week-cal-foot{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:6px;padding-top:6px;border-top:1px solid #eef2f6}.engineer-att-week-cal-today{height:22px;padding:0 8px;border:1px solid #d8dee9;border-radius:6px;background:#fff;font:inherit;font-size:11px;font-weight:700;color:#0f172a;cursor:pointer}.engineer-att-week-cal-today:hover:not(:disabled){border-color:#c4a574;background:#faf8f5}.engineer-att-week-cal-today:disabled{opacity:.4;cursor:default}.engineer-att-week-cal-hint{font-size:11px;color:#94a3b8}.eng-exact-app .engineer-att-week-picker-popover-head,.eng-exact-app .engineer-att-week-picker-period{display:flex;align-items:center;gap:8px;margin-bottom:8px}.eng-exact-app .engineer-att-week-picker-select{height:30px;flex:1;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 24px 0 10px;font:inherit;font-size:12px;font-weight:600;color:var(--ink);cursor:pointer}.eng-exact-app .engineer-att-week-picker-select--year{flex:0 0 84px}.eng-exact-app .engineer-att-week-picker-select:focus{outline:none;border-color:color-mix(in srgb,var(--accent-base) 45%,var(--line))}.eng-exact-app .engineer-att-week-picker-month-label{font-size:12px;font-weight:700;color:var(--ink);text-align:center;flex:1}.eng-exact-app .engineer-att-week-picker-weeks{display:flex;flex-direction:column;gap:6px}.eng-exact-app .engineer-att-week-picker-week{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;font:inherit;text-align:left;cursor:pointer}.eng-exact-app .engineer-att-week-picker-week span{font-size:12px;font-weight:700;color:var(--ink)}.eng-exact-app .engineer-att-week-picker-week small{font-size:11px;color:var(--muted);white-space:nowrap}.eng-exact-app .engineer-att-week-picker-week:hover{border-color:color-mix(in srgb,var(--accent-base) 45%,var(--line));background:color-mix(in srgb,var(--accent-base) 6%,#fff)}.eng-exact-app .engineer-att-week-picker-week.is-selected{border-color:color-mix(in srgb,var(--accent-base) 55%,var(--line));background:color-mix(in srgb,var(--accent-base) 12%,#fff)}.eng-exact-app .engineer-att-week-picker-empty{margin:0;padding:8px 4px;font-size:12px;text-align:center}.eng-exact-app .engineer-att-week-card__head p{margin:4px 0 0;font-size:12px;color:var(--muted)}.eng-req-modal-backdrop.fm-week-worker-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#0f172a85;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:12100}.eng-week-worker-modal{width:min(960px,calc(100vw - 32px));max-height:min(88dvh,calc(100vh - 32px));display:flex;flex-direction:column;background:#fff;border:1px solid #e8edf2;border-radius:18px;box-shadow:0 24px 60px #0f172a2e;overflow:hidden}.eng-week-worker-modal .fm-week-worker-modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 20px 12px;border-bottom:1px solid #eef2f6}.eng-week-worker-head-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-bottom:6px}.eng-week-worker-modal .fm-week-worker-modal__eyebrow{margin:0;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#64748b}.eng-week-worker-head-badges{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.eng-week-worker-modal .fm-week-worker-modal__intro h3,.eng-week-worker-modal .eng-week-worker-name{margin:0;font-size:14px;font-weight:700;line-height:1.3;color:#0f172a}.eng-week-worker-modal .fm-week-worker-modal__sub{margin:4px 0 0;font-size:13px;color:#64748b}.eng-week-worker-modal .fm-week-worker-modal__close{width:34px;height:34px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#64748b;display:inline-grid;place-items:center;cursor:pointer;flex-shrink:0}.eng-week-worker-modal .fm-week-worker-modal__close:hover:not(:disabled){background:#f8fafc;color:#0f172a}.eng-week-worker-modal .fm-week-worker-modal__meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:10px 20px 14px;font-size:12px;color:#64748b}.eng-week-worker-status-pill{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700;background:#eff6ff;color:#1d4ed8}.eng-week-worker-status-pill.is-locked{background:#ecfdf3;color:#166534}.eng-week-worker-modal .fm-week-worker-modal__meta-flag{padding:2px 8px;border-radius:999px;background:#fff7ed;color:#c2410c;font-weight:700;font-size:11px}.eng-week-worker-modal .fm-week-worker-modal__meta-flag--dirty{background:#fef3c7;color:#b45309}.eng-week-worker-modal .fm-week-worker-modal__meta-flag--pending{background:#eff6ff;color:#1d4ed8}.eng-week-worker-modal .fm-week-worker-modal__table-wrap{margin:12px 20px 0;border:1px solid #e8edf2;border-radius:12px;overflow:auto;flex:1 1 auto;min-height:0}.eng-week-worker-modal .fm-week-worker-table{width:100%;border-collapse:collapse;font-size:13px}.eng-week-worker-modal .fm-week-worker-table th{position:sticky;top:0;z-index:1;padding:10px 12px;background:#f8fafc;border-bottom:1px solid #e8edf2;text-align:left;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b;white-space:nowrap}.eng-week-worker-modal .fm-week-worker-table td{padding:10px 12px;border-bottom:1px solid #f1f5f9;vertical-align:middle}.eng-week-worker-modal .fm-week-worker-table tr:last-child td{border-bottom:none}.eng-week-worker-modal .fm-week-worker-table tr.is-absent-row td{background:#fafafa}.eng-week-worker-modal .fm-week-worker-table tr.is-pending-row td{background:color-mix(in srgb,#eff6ff 55%,#fff)}.eng-week-worker-modal .fm-week-worker-table__day{display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-weight:600;color:#0f172a;white-space:nowrap}.eng-week-worker-modal .fm-week-worker-row-chip{display:inline-flex;padding:1px 6px;border-radius:999px;font-size:10px;font-weight:700}.eng-week-worker-modal .fm-week-worker-row-chip--pending{background:#dbeafe;color:#1d4ed8}.eng-week-worker-modal .fm-week-worker-table__time{width:180px;min-width:168px;vertical-align:top}.eng-week-worker-modal .fm-week-worker-table__time .fm-time-12h{width:168px;max-width:168px}.eng-week-worker-modal .fm-week-worker-table__ot{white-space:nowrap;color:#475569}.eng-week-worker-modal .fm-week-worker-table__comment{min-width:120px;max-width:220px;font-size:12px;line-height:1.4;color:#64748b;white-space:normal}.eng-week-worker-modal .fm-week-worker-time{display:inline-block;font-weight:600;color:#0f172a;white-space:nowrap}.eng-week-worker-modal .fm-week-worker-pending-time__value{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:13px;color:#0f172a}.eng-week-worker-modal .fm-week-worker-pending-time__value s{color:#94a3b8;font-weight:500}.eng-week-worker-modal .fm-edit-detail-arrow{color:#64748b}.eng-week-worker-modal .fm-week-worker-pending-time__value strong{font-weight:700}.eng-week-worker-modal .fm-week-worker-status{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}.eng-week-worker-modal .fm-week-worker-status.is-present{background:#dcfce7;color:#166534}.eng-week-worker-modal .fm-week-worker-status.is-absent{background:#fee2e2;color:#b91c1c}.eng-week-worker-modal .fm-week-worker-saved-comment{color:#475569}.eng-week-worker-modal .fm-week-worker-modal__comment{padding:14px 20px 0;flex:0 0 auto}.eng-week-worker-modal .fm-week-worker-modal__comment-label{display:block;margin-bottom:6px;font-size:12px;font-weight:700;color:#334155}.eng-week-worker-modal .fm-week-worker-modal__comment-input{width:100%;min-height:64px;padding:10px 12px;border:1px solid #dbe3ec;border-radius:10px;font:inherit;font-size:13px;line-height:1.45;resize:vertical;color:#0f172a;background:#fff;box-sizing:border-box}.eng-week-worker-modal .fm-week-worker-modal__comment-input:focus{outline:none;border-color:#94a3b8;box-shadow:0 0 0 3px #94a3b833}.eng-week-worker-modal .fm-week-worker-modal__comment-input.is-error{border-color:#f87171}.eng-week-worker-modal .fm-week-worker-modal__error{display:block;margin-top:6px;font-size:12px;color:#dc2626}.eng-week-worker-modal .fm-week-worker-modal__error--foot{margin:12px 20px 0}.eng-week-worker-modal .fm-week-worker-modal__locked{margin:12px 20px 0;font-size:13px;color:#64748b}.eng-week-worker-modal .fm-week-worker-modal__foot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 20px 18px;border-top:1px solid #eef2f6;margin-top:14px;flex:0 0 auto;background:#fafbfc}.eng-week-worker-foot-primary{display:flex;align-items:center;gap:8px;margin-left:auto}.eng-week-worker-modal .fm-week-worker-modal__foot .eng-week-worker-foot-close{margin-left:auto}.eng-week-worker-modal .fm-week-worker-modal__foot .eng-review-btn{min-width:96px;justify-content:center}@media(max-width:720px){.eng-week-worker-modal{width:calc(100vw - 16px);max-height:calc(100vh - 16px)}.eng-week-worker-modal .fm-week-worker-modal__table-wrap{margin:0 12px}.eng-week-worker-modal .fm-week-worker-modal__head,.eng-week-worker-modal .fm-week-worker-modal__meta,.eng-week-worker-modal .fm-week-worker-modal__comment,.eng-week-worker-modal .fm-week-worker-modal__foot{padding-left:12px;padding-right:12px}.eng-week-worker-modal .fm-week-worker-modal__locked{margin-left:12px;margin-right:12px}.eng-week-worker-modal .fm-week-worker-modal__foot{flex-wrap:wrap}.eng-week-worker-foot-primary{width:100%;margin-left:0}.eng-week-worker-foot-primary .eng-review-btn,.eng-week-worker-modal .fm-week-worker-modal__foot>.eng-review-btn{flex:1 1 auto}}.eng-exact-app .engineer-att-week-badge{flex:0 0 auto;display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;background:#fff7df;color:#9a6700;border:1px solid #ead394}.eng-exact-app .engineer-att-week-badge--ok{background:#e8f5ee;color:#16794a;border-color:#b7dfc8}.eng-exact-app .engineer-att-week-card__foot{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid var(--line);background:#fff}.eng-exact-app .engineer-att-week-card .engineer-attendance-table-wrap{margin:0;border:0;border-radius:0}.eng-exact-app .engineer-attendance-action-card,.eng-exact-app .engineer-attendance-history-card{display:flex;flex-direction:column;overflow:hidden}.eng-exact-app .engineer-attendance-action-card .engineer-attendance-table-wrap,.eng-exact-app .engineer-attendance-history-card .engineer-attendance-table-wrap{overflow:auto}.eng-exact-app .engineer-attendance-pane .tile-list-footer,.eng-exact-app .engineer-att-week-card .tile-list-footer,.eng-exact-app .engineer-attendance-history-card .tile-list-footer,.eng-exact-app .engineer-attendance-action-card .tile-list-footer{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:8px 12px;margin:0;border-top:1px solid var(--line);background:#fafbfc}.eng-exact-app .engineer-attendance-pane .tile-list-page-summary,.eng-exact-app .engineer-att-week-card .tile-list-page-summary{font-size:12px;font-weight:600;line-height:1.3}.eng-exact-app .engineer-attendance-pane .tile-list-page-btn,.eng-exact-app .engineer-att-week-card .tile-list-page-btn{min-width:30px;height:30px;font-size:12px;font-weight:700}.engineer-att-review-modal{width:min(560px,94vw);max-height:min(86dvh,calc(100dvh - 40px));height:auto;display:flex;flex-direction:column}.engineer-att-review-modal .eng-req-modal-head.engineer-att-correction-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;grid-template-rows:none;padding:14px 20px 12px}.engineer-att-correction-close{flex-shrink:0}.engineer-att-correction-fields{display:flex;flex-direction:column;gap:12px}.engineer-att-correction-field-label{display:block;margin:0 0 4px;font-size:12px;font-weight:700;color:#334155}.engineer-att-correction-foreman-note{padding:9px 12px;border:1px solid #e8edf2;border-radius:10px;background:#f8fafc;font-size:13px;line-height:1.45;color:#0f172a;min-height:40px}.engineer-att-correction-day{padding:9px 12px;border:1px solid #e8edf2;border-radius:10px;background:#f8fafc;font-size:13px;font-weight:650;color:#0f172a}.engineer-att-correction-comment{width:100%;min-height:76px;padding:10px 12px;border:1px solid #dbe3ec;border-radius:10px;font:inherit;font-size:13px;line-height:1.45;resize:vertical;color:#0f172a;background:#fff;box-sizing:border-box}.engineer-att-correction-comment:focus{outline:none;border-color:#94a3b8;box-shadow:0 0 0 3px #94a3b833}.engineer-att-correction-comment.is-error{border-color:#f87171}.engineer-att-correction-name,.engineer-att-review-modal .eng-req-modal-title.engineer-att-correction-name{font-size:14px;font-weight:700;line-height:1.3}.engineer-att-correction-error{margin:10px 0 0;font-size:12px;color:#dc2626}.engineer-att-review-modal .eng-req-modal-body{overflow:auto;flex:0 1 auto}.engineer-att-review-meta,.engineer-att-return-lead{margin:0 0 12px;font-size:12px;line-height:1.45;color:var(--muted)}.engineer-att-confirm-backdrop{z-index:12200}.engineer-att-confirm-comment{display:flex;flex-direction:column;gap:6px}.engineer-att-confirm-comment label{font-size:12px;font-weight:700;color:#334155}.engineer-att-confirm-comment textarea{width:100%;min-height:76px;padding:10px 12px;border:1px solid #dbe3ec;border-radius:10px;font:inherit;font-size:13px;line-height:1.45;resize:vertical;color:#0f172a;background:#fff;box-sizing:border-box}.engineer-att-confirm-comment textarea:focus{outline:none;border-color:#94a3b8;box-shadow:0 0 0 3px #94a3b833}.engineer-att-confirm-comment textarea.is-error{border-color:#f87171}.engineer-att-confirm-modal .eng-req-modal-footer{justify-content:flex-end;gap:8px}.engineer-att-review-table-wrap{margin:0;border:1px solid var(--line);border-radius:10px;overflow:auto}.engineer-att-review-table{margin:0}.engineer-att-review-table th,.engineer-att-review-table td{font-size:12px;white-space:nowrap}.engineer-att-review-table td:last-child{white-space:normal;min-width:120px}.engineer-att-review-table tr.is-flagged td{background:color-mix(in srgb,#fff3d8 55%,#fff)}.engineer-att-review-status{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-size:10px;font-weight:750;letter-spacing:.02em}.engineer-att-review-status--p{background:#e8f5ee;color:#1b704b}.engineer-att-review-status--a{background:#fdecec;color:#a23a3a}.engineer-att-review-status--c{background:#fff3d8;color:#9b6500}.engineer-att-review-status--empty{background:#f4f1ea;color:var(--muted)}.engineer-att-review-comment{margin-top:2px;flex:0 0 auto}.engineer-att-review-comment textarea{min-height:72px;height:72px}.engineer-att-review-actions{padding:12px 20px 16px}.engineer-att-review-time-input{width:118px;min-width:118px;height:30px}.engineer-att-review-time-input.fm-time-12h{width:100%;min-width:0;max-width:168px;height:auto;min-height:30px;box-sizing:border-box}.engineer-att-review-locked{display:block;margin-top:6px;font-size:11px;font-weight:650;color:var(--muted)}.engineer-att-correction-modal{width:min(560px,94vw)}.engineer-att-correction-modal .engineer-att-correction-table-wrap,.engineer-att-correction-modal .tablewrap{overflow:visible}.engineer-att-correction-modal .engineer-att-correction-table,.engineer-att-correction-modal .tablewrap table{width:100%;min-width:0;table-layout:fixed}.engineer-att-correction-modal .engineer-att-correction-table th,.engineer-att-correction-modal .engineer-att-correction-table td{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;padding:8px 10px}.engineer-att-correction-modal .engineer-att-correction-table td:last-child{min-width:168px;white-space:nowrap}.engineer-att-correction-modal .engineer-att-review-time-input{width:100%;min-width:0;max-width:100%;height:auto;min-height:30px;box-sizing:border-box}.eng-exact-app .engineer-attendance-module .module-panel-head{margin-bottom:12px}.eng-exact-app .engineer-attendance-tabs{margin:0 0 14px;width:fit-content;max-width:100%}.eng-exact-app .engineer-attendance-pane{display:flex;flex-direction:column;gap:12px}.eng-exact-app .engineer-attendance-history-toolbar{justify-content:flex-start;margin-bottom:4px;gap:8px}.eng-exact-app .engineer-attendance-history-toolbar .ar-search{flex:0 1 220px;width:220px;min-width:160px;max-width:220px}.eng-exact-app .engineer-attendance-history-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.eng-exact-app .engineer-attendance-history-filter{height:32px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 10px;font:inherit;font-size:12px;color:var(--ink);min-width:148px}.eng-exact-app .engineer-attendance-history-filter--status{min-width:140px}.eng-exact-app .engineer-attendance-history-filter:focus{outline:none;border-color:color-mix(in srgb,var(--accent-base) 45%,var(--line))}.eng-exact-app .engineer-attendance-table-wrap{overflow:auto}.eng-exact-app .engineer-attendance-table-wrap td small{display:block;margin-top:2px;color:var(--muted)}.eng-exact-app .engineer-attendance-actions{display:flex;flex-wrap:wrap;gap:6px}.eng-exact-app .engineer-att-row-clickable{cursor:pointer}.eng-exact-app .engineer-att-row-clickable:hover{background:color-mix(in srgb,var(--accent-base) 4%,white 96%)}.eng-exact-app .engineer-att-row-clickable:focus-visible{outline:2px solid color-mix(in srgb,var(--accent-base,#8c6a24) 45%,transparent);outline-offset:-2px}.eng-exact-app .engineer-attendance-reject{margin-top:8px;display:grid;gap:8px}.eng-exact-app .engineer-attendance-reject textarea{width:100%;min-height:56px;border:1px solid var(--line);border-radius:8px;padding:8px;font-family:var(--font-sans);font-size:var(--fs-sm,12px)}.eng-exact-app .engineer-attendance-week-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.eng-exact-app .engineer-attendance-week-head h4{margin:0 0 4px;font-size:var(--fs-md,14px);color:var(--ink)}.eng-exact-app .engineer-attendance-pending-pill,.eng-exact-app .engineer-attendance-ok-pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:10px;font-weight:800}.eng-exact-app .engineer-attendance-pending-pill{background:#fff7df;color:#9a6700;border:1px solid #ead394}.eng-exact-app .engineer-attendance-ok-pill{background:color-mix(in srgb,var(--accent-base) 12%,#fff);color:var(--forest, var(--accent-base));border:1px solid color-mix(in srgb,var(--accent-base) 28%,var(--line))}.eng-exact-app .att-mark{display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;border-radius:50%;font-size:9px;font-weight:800}.eng-exact-app .att-mark--p{background:#e8f5ee;color:#1b704b}.eng-exact-app .att-mark--a{background:#fdecec;color:#a23a3a}.eng-exact-app .att-mark--c{background:#fff3d8;color:#9b6500;border:1px solid #e8cb87}.eng-exact-app .att-mark--empty{color:var(--muted);background:transparent}.eng-exact-app .engineer-attendance-week-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:12px 14px}.eng-exact-app .engineer-attendance-week-footer b{display:block;font-size:var(--fs-sm,12px);color:var(--ink)}.eng-exact-app .engineer-attendance-week-footer small{display:block;margin-top:3px;color:var(--muted);font-size:var(--fs-2xs,10px);max-width:52ch}.eng-exact-app .engineer-attendance-status{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:700}.eng-exact-app .engineer-attendance-status--ok{background:#e8f5ee;color:#1b704b}.eng-exact-app .engineer-attendance-status--warn{background:#fff7df;color:#9a6700}.eng-exact-app .engineer-attendance-status--bad{background:#fde8e8;color:#b42318}.eng-exact-app .workspace-mobile-stack,.eng-exact-app .workspace-mobile-stack__body{display:contents}.eng-exact-app .topbar-page-head{display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:0;padding:8px 20px}.eng-exact-app .topbar-page-head strong{font-family:var(--font-sans);font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--ink);line-height:1.15}.eng-exact-app .topbar-page-head span{font-size:12px;color:var(--muted);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eng-exact-app .top-actions{display:flex;align-items:center;gap:10px;margin-left:0;padding:0 18px 0 12px;justify-self:end}.eng-exact-app .exact-active-tab{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:2px;max-width:min(340px,34vw);margin-right:4px;text-align:right}.eng-exact-app .exact-active-tab strong{font-family:var(--font-sans);font-size:15px;font-weight:700;letter-spacing:-.02em;color:var(--ink);line-height:1.15}.eng-exact-app .exact-active-tab span{font-size:11px;color:var(--muted);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.eng-exact-app.decision-dock-off .topbar{grid-template-columns:minmax(0,1fr) auto}.eng-exact-app.decision-dock-off .workspace-main>.workspace{grid-template-columns:minmax(0,1fr);min-height:0;height:100%;overflow:hidden}.eng-exact-app.decision-dock-off .workspace-main>.workspace>.center{min-height:0;height:100%}@media(max-width:1180px){.eng-exact-app .workspace-shell{grid-template-columns:200px minmax(0,1fr)}.eng-exact-app .workspace-main>.workspace{grid-template-columns:minmax(0,1fr) 280px}}@media(max-width:1024px){.eng-exact-app .workspace-shell{grid-template-columns:168px minmax(0,1fr)}.eng-exact-app .topbar-page-head strong{font-size:18px}.eng-exact-app .topbar-page-head span{font-size:11px}}.eng-exact-app .icon-btn{width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:var(--panel);display:grid;place-items:center}.eng-exact-app .avatar{width:34px;height:34px;border-radius:9px;background:#1f2b25;color:#fff;display:grid;place-items:center;font-weight:700;font-size:11px}.eng-exact-app .workspace{height:100%;min-height:0;display:grid;grid-template-columns:220px minmax(0,1fr) 300px;gap:0;align-items:stretch;isolation:isolate}.eng-exact-app .exact-sidebar{width:auto;max-width:none;min-width:0;background:var(--panel);border-right:1px solid var(--line);padding:10px 8px;display:flex;flex-direction:column;gap:0;min-height:0;height:100%;max-height:100%;overflow:hidden;position:relative;align-self:stretch;box-shadow:none;z-index:1;transform:none}.eng-exact-app .exact-sidebar.projects-expanded{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.eng-exact-app .side-projects{flex:0 0 auto;min-height:0;max-height:none;display:flex;flex-direction:column;overflow:visible}.eng-exact-app .side-projects.is-expanded{max-height:none;overflow:visible}.eng-exact-app .side-title{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 8px;flex:0 0 auto}.eng-exact-app .side-title strong{font-size:10px;text-transform:uppercase;letter-spacing:.1em}.eng-exact-app .side-title span{font-size:9px;color:var(--faint)}.eng-exact-app .project-list{display:flex;flex-direction:column;gap:4px;min-height:0;flex:0 0 auto;overflow:visible;padding-bottom:4px}.eng-exact-app .project-view-all{border:0;background:transparent;color:var(--forest);font-size:9px;font-weight:800;padding:4px 8px 2px;text-align:left;letter-spacing:.02em;flex:0 0 auto}.eng-exact-app .project-view-all:hover{color:var(--forest-2);text-decoration:underline}.eng-exact-app .project-item{border:1px solid transparent;background:transparent;border-radius:8px;padding:7px 8px;text-align:left;display:grid;grid-template-columns:7px 1fr auto;gap:7px;align-items:center;flex:0 0 auto}.eng-exact-app .project-item:hover{background:var(--panel-soft)}.eng-exact-app .project-item.active{background:color-mix(in srgb,var(--accent-base) 12%,var(--card,#fff));border-color:color-mix(in srgb,var(--accent-base) 28%,var(--line,#d8e7df))}.eng-exact-app .project-item-all .project-meta b{font-weight:800}.eng-exact-app .project-health{width:6px;height:6px;border-radius:50%}.eng-exact-app .project-meta{min-width:0}.eng-exact-app .project-meta b{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eng-exact-app .project-meta small{font-size:9px;color:var(--muted);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eng-exact-app .project-risk{font-family:var(--font-mono);font-size:9px;color:var(--red)}.eng-exact-app .side-tools{flex:1 1 auto;min-height:0;background:inherit;position:relative;z-index:2;padding-top:2px;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.eng-exact-app .exact-sidebar.projects-expanded .side-tools{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto}.eng-exact-app .exact-sidebar.projects-expanded .nav-list{flex:0 0 auto;overflow:visible}.eng-exact-app .side-divider{height:1px;background:var(--line);margin:8px 4px;flex:0 0 auto}.eng-exact-app .side-quick-actions{display:flex;flex-direction:column;gap:6px;padding:0 4px;flex:0 0 auto}.eng-exact-app .side-quick-btn{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 10px;text-align:left;font-size:10px;font-weight:800;color:var(--forest);cursor:pointer;display:flex;align-items:center;gap:8px;transition:background var(--ease),border-color var(--ease),transform var(--ease),box-shadow var(--ease)}.eng-exact-app .side-quick-btn .app-icon{flex:0 0 auto;opacity:.88}.eng-exact-app .side-quick-btn span{min-width:0}.eng-exact-app .side-quick-btn:hover{background:var(--panel-soft);transform:translate(1px)}.eng-exact-app .side-quick-btn--primary{background:color-mix(in srgb,var(--accent-base) 10%,#fff);border-color:color-mix(in srgb,var(--accent-base) 28%,var(--line));color:var(--forest)}.eng-exact-app .side-quick-btn--primary:hover{color:var(--forest)}.eng-exact-app .side-quick-btn.active{background:var(--metal-gradient);color:#fff;border-color:transparent;box-shadow:inset 0 1px #ffffff40,0 1px 2px #0e26201f}.eng-exact-app .side-quick-btn.active .app-icon{opacity:1}.eng-exact-app .nav-label{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--faint);padding:0 6px 6px;flex:0 0 auto}.eng-exact-app .nav-list{display:flex;flex-direction:column;gap:2px;min-height:0;flex:0 0 auto;overflow:visible;padding-bottom:4px}.eng-exact-app .nav-item{border:0;background:transparent;border-radius:8px;padding:7px 8px;text-align:left;display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px}.eng-exact-app .nav-item:hover{background:var(--panel-soft);color:var(--ink)}.eng-exact-app .nav-item.active{background:var(--forest);color:#fff}.eng-exact-app .nav-item .count{margin-left:auto;font-family:var(--font-mono);font-size:9px;opacity:.75}.eng-exact-app .nav-group{display:flex;flex-direction:column;gap:2px}.eng-exact-app .nav-item-parent{width:100%}.eng-exact-app .nav-item-trail{margin-left:auto;display:inline-flex;align-items:center;gap:4px}.eng-exact-app .nav-item-parent .count{margin-left:0}.eng-exact-app .nav-item-parent .nav-chevron{font-size:9px;opacity:.7;transition:transform .15s ease}.eng-exact-app .nav-group.is-open .nav-item-parent .nav-chevron{transform:rotate(180deg)}.eng-exact-app .nav-sublist{display:flex;flex-direction:column;gap:1px;margin:0 0 2px 12px;padding:2px 0 2px 8px;border-left:1px solid var(--line)}.eng-exact-app .nav-subitem{border:0;background:transparent;border-radius:7px;padding:6px 8px;text-align:left;color:var(--muted);font-size:10.5px;font-weight:600;cursor:pointer}.eng-exact-app .nav-subitem:hover{background:var(--panel-soft);color:var(--ink)}.eng-exact-app .nav-subitem.active{background:color-mix(in srgb,var(--accent-base) 12%,white 88%);color:var(--accent-base)}.eng-exact-app .side-footer{margin-top:auto;flex:0 0 auto;border:1px solid var(--line);border-radius:10px;padding:8px;background:var(--panel-soft)}.eng-exact-app .side-footer .weather{display:flex;align-items:center;justify-content:space-between}.eng-exact-app .side-footer b{font-size:11px}.eng-exact-app .side-footer small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.eng-exact-app .center{min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;background:var(--bg);overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.eng-exact-app .center>.context-strip{flex:0 0 auto}.eng-exact-app .center>.project-area{flex:1 1 auto;min-width:0;width:100%;max-width:100%}.eng-exact-app .center:has(.exact-embedded-accounts)>.project-area,.eng-exact-app .center:has(.exact-embedded-crew-directory)>.project-area,.eng-exact-app .center:has(.exact-embedded-crew-allocation)>.project-area{flex:1 1 auto;min-height:0}.eng-exact-app .context-strip{height:68px;padding:10px 16px;display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--line);background:#ffffffc7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.eng-exact-app .context-primary{min-width:245px}.eng-exact-app .context-primary h1{font-size:17px;margin:0 0 4px;font-weight:800}.eng-exact-app .context-primary p{margin:0;color:var(--muted);font-size:11px}.eng-exact-app .progress-wrap{display:flex;align-items:center;gap:10px;min-width:180px}.eng-exact-app .progress-ring{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--forest) 0 50%,#dbe2de 50% 100%);position:relative}.eng-exact-app .progress-ring:after{content:"";position:absolute;width:32px;height:32px;background:#fff;border-radius:50%}.eng-exact-app .progress-ring span{position:relative;z-index:1;font-size:9px;font-weight:800}.eng-exact-app .progress-copy b{display:block;font-size:12px}.eng-exact-app .progress-copy small{font-size:10px;color:var(--muted)}.eng-exact-app .context-stat{padding-left:16px;border-left:1px solid var(--line)}.eng-exact-app .context-stat b{font-family:var(--font-mono);font-size:14px;display:block}.eng-exact-app .context-stat small{font-size:10px;color:var(--muted)}.eng-exact-app .context-stat.alert b{color:var(--red)}.eng-exact-app .context-actions{margin-left:auto;display:flex;gap:8px;flex-shrink:0}.eng-exact-app .context-edit-btn{border:1px solid rgba(255,255,255,.42);background:#ffffff1f;color:#fff;border-radius:9px;padding:7px 14px;font-size:11px;font-weight:800;cursor:pointer;transition:background var(--ease),border-color var(--ease)}.eng-exact-app .context-edit-btn:hover{background:#ffffff38;border-color:#ffffff9e}.eng-exact-app .btn{border:1px solid var(--line-dark);background:#fff;border-radius:9px;padding:8px 11px;font-weight:700;font-size:11px;display:flex;align-items:center;gap:7px}.eng-exact-app .btn:hover{border-color:#aeb9b2;background:var(--panel-soft)}.eng-exact-app .btn.primary{background:var(--forest);border-color:var(--forest);color:#fff}.eng-exact-app .project-area{min-height:0;padding:14px 16px;display:grid;grid-template-columns:minmax(0,1fr);gap:14px;overflow:visible}.eng-exact-app .building-card,.eng-exact-app .floor-workspace{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-height:0}.eng-exact-app .panel-head{height:48px;padding:0 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.eng-exact-app .panel-head h2{font-size:13px;margin:0}.eng-exact-app .panel-head p{font-size:10px;margin:2px 0 0;color:var(--muted)}.eng-exact-app .view-toggle{display:flex;padding:3px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft)}.eng-exact-app .view-toggle button{border:0;background:transparent;border-radius:6px;padding:4px 8px;font-size:10px;color:var(--muted)}.eng-exact-app .view-toggle button.active{background:#fff;color:var(--ink);box-shadow:0 1px 4px #00000014}.eng-exact-app .building-body{height:calc(100% - 48px);padding:14px;display:flex;flex-direction:column;min-height:0}.eng-exact-app .tower-summary{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.eng-exact-app .tower-summary .label{font-size:10px;color:var(--muted)}.eng-exact-app .tower-summary .value{font-family:var(--font-mono);font-weight:600;font-size:11px}.eng-exact-app .floor-stack{display:flex;flex-direction:column-reverse;gap:5px;overflow:auto;padding-right:4px;min-height:0}.eng-exact-app .floor{border:1px solid var(--line);border-radius:9px;background:#fbfcfb;min-height:40px;padding:6px 9px;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:8px;text-align:left;transition:.16s ease}.eng-exact-app .floor:hover{transform:translate(2px);border-color:#b7c4bd}.eng-exact-app .floor.active{background:#eaf3ee;border-color:#9fc0ae;box-shadow:inset 3px 0 var(--forest)}.eng-exact-app .floor .no{font-family:var(--font-mono);font-size:10px;font-weight:600;color:var(--muted)}.eng-exact-app .floor .work b{font-size:11px;display:block}.eng-exact-app .floor .work small{font-size:9px;color:var(--muted)}.eng-exact-app .floor .signals{display:flex;align-items:center;gap:5px}.eng-exact-app .signal-dot{width:7px;height:7px;border-radius:50%}.eng-exact-app .signal-dot.green{background:#2f8b5a}.eng-exact-app .signal-dot.amber{background:#d08a24}.eng-exact-app .signal-dot.red{background:#c44b43}.eng-exact-app .signal-dot.gray{background:#c5cdc8}.eng-exact-app .floor-workspace{display:grid;grid-template-rows:48px auto auto;overflow:visible}.eng-exact-app .floor-tabs{display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--line);padding:8px 12px;background:#fcfdfc;overflow-x:auto;flex-wrap:nowrap}.eng-exact-app .floor-tab{border:1px solid var(--line);background:#fff;padding:7px 12px;border-radius:999px;font-size:11px;font-weight:700;color:var(--muted);display:inline-flex;align-items:center;gap:6px;white-space:nowrap;flex:0 0 auto;min-width:auto;position:relative}.eng-exact-app .floor-tab .app-icon{flex-shrink:0;opacity:.85}.eng-exact-app .floor-tab:hover{background:var(--panel-soft);color:var(--ink);border-color:var(--line-dark)}.eng-exact-app .floor-tab.active{background:var(--accent-base);color:#fff;border-color:var(--accent-base);box-shadow:none}.eng-exact-app .floor-tab-dot{width:7px;height:7px;border-radius:50%;background:var(--red);flex-shrink:0;box-shadow:0 0 0 2px #fff}.eng-exact-app .floor-summary{padding:12px 14px;display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:8px;border-bottom:1px solid var(--line)}.eng-exact-app .summary-main{background:var(--forest-2);color:#fff;border:1px solid color-mix(in srgb,var(--forest-2) 70%,#0f172a 30%);border-radius:11px;padding:12px}.eng-exact-app .summary-main span{font-size:9px;opacity:.7;text-transform:uppercase;letter-spacing:.12em}.eng-exact-app .summary-main h3{font-size:15px;margin:6px 0 4px}.eng-exact-app .summary-main p{font-size:10px;margin:0;opacity:.75}.eng-exact-app .mini-stat{border:1px solid var(--line);border-radius:11px;padding:10px;background:var(--panel-soft)}.eng-exact-app .mini-stat span{font-size:9px;color:var(--muted)}.eng-exact-app .mini-stat b{font-family:var(--font-mono);font-size:12px;font-weight:600;line-height:1.35;display:block;margin-top:5px;word-break:break-word}.eng-exact-app .mini-stat em{font-style:normal;font-size:9px;color:var(--faint)}.eng-exact-app .work-content{min-height:0;overflow:visible;padding:12px 14px}.eng-exact-app .zone-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:10px}.eng-exact-app .zone-title-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.eng-exact-app .zone-title-actions .time-date-picker-wrap{flex-shrink:0}.eng-exact-app .zone-title h3{font-size:11px;margin:0;text-transform:uppercase;letter-spacing:.08em}.eng-exact-app .zone-title button{border:0;background:transparent;color:var(--forest);font-size:10px;font-weight:700}.eng-exact-app .issue-kind-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.eng-exact-app .issue-kind-filter{border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:999px;padding:7px 16px;font-size:13px;font-weight:650;cursor:pointer;line-height:1.2;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease}.eng-exact-app .issue-kind-filter:hover{border-color:color-mix(in srgb,var(--accent-base) 28%,var(--line));color:var(--ink);background:color-mix(in srgb,var(--accent-base) 6%,#fff)}.eng-exact-app .issue-kind-filter.active,.eng-exact-app .zone-title .issue-kind-filter.active,.eng-exact-app .issue-kind-filter.active:hover{background:color-mix(in srgb,var(--accent-base) 12%,#fff);border-color:color-mix(in srgb,var(--accent-base) 24%,var(--line));color:var(--ink);font-weight:750;box-shadow:none}.eng-exact-app .issue-kind-chip{display:inline-flex;align-items:center;height:16px;padding:0 6px;border-radius:999px;font-size:8px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;background:#f1f5f9;border:1px solid #e2e8f0;color:#475569;vertical-align:middle}.eng-exact-app .issue-kind-chip.is-rfi{background:color-mix(in srgb,var(--accent-base,var(--brand)) 12%,#fff);border-color:color-mix(in srgb,var(--accent-base,var(--brand)) 32%,var(--line));color:var(--accent-base,var(--brand))}.eng-exact-app .eng-proj-issues-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:nowrap;margin-bottom:10px;min-width:0}.eng-exact-app .eng-proj-issues-toolbar .issue-kind-filters{flex:0 0 auto;margin:0}.eng-exact-app .eng-proj-issues-toolbar__controls{display:flex;align-items:center;gap:8px;flex:1 1 auto;min-width:0;justify-content:flex-end}.eng-exact-app .eng-proj-issues-search{flex:1 1 auto;min-width:0;max-width:360px;height:34px}.eng-exact-app .eng-proj-issues-status-filter{height:34px;min-width:132px;flex:0 0 auto;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 28px 0 10px;font:inherit;font-size:12px;font-weight:600;color:var(--ink);cursor:pointer}.eng-exact-app .eng-proj-issues-status-filter:focus{outline:none;border-color:color-mix(in srgb,var(--accent-base) 45%,var(--line))}.eng-exact-app .data-row--issue.is-rfi{border-color:color-mix(in srgb,var(--accent-base,var(--brand)) 18%,var(--line));background:linear-gradient(180deg,color-mix(in srgb,var(--accent-base,var(--brand)) 4%,#fff),#fff)}.eng-exact-app .data-row.data-row--issue{grid-template-columns:minmax(0,1fr) 88px 88px 210px;column-gap:12px;align-items:center}.eng-exact-app .data-row.data-row--issue>span:nth-child(2),.eng-exact-app .data-row.data-row--issue>span:nth-child(3){min-width:0;text-align:left}.eng-exact-app .data-row.data-row--issue>.row-actions-inline{width:210px;min-width:210px;max-width:210px;flex-wrap:nowrap;justify-content:flex-end}.eng-exact-app .issue-priority-val{color:var(--ink,var(--text,#102033));font-weight:800}.eng-exact-app .issue-priority-val--critical,.eng-exact-app .issue-priority-val--high,.eng-exact-app .issue-priority-val--medium,.eng-exact-app .issue-priority-val--low{color:inherit}.eng-exact-app .row-actions-inline{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;align-items:center}.eng-exact-app .row-action-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:30px;padding:0 11px;border-radius:9px;font-size:10px;font-weight:750;letter-spacing:.01em;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease}.eng-exact-app .row-action-btn--pdf,.eng-exact-app .row-action-btn--update{border:1px solid var(--line);background:#fff;color:var(--ink)}.eng-exact-app .row-action-btn--pdf:hover,.eng-exact-app .row-action-btn--update:hover{border-color:color-mix(in srgb,var(--accent-base) 30%,var(--line));background:var(--panel-soft);color:var(--ink);transform:translateY(-1px);box-shadow:none}.eng-exact-app .trade-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:14px}.eng-exact-app .trade-row{border:1px solid var(--line);border-radius:10px;padding:9px;background:#fff;display:grid;grid-template-columns:8px 1fr auto;gap:8px;align-items:center}.eng-exact-app .trade-row b{font-size:11px;display:block}.eng-exact-app .trade-row small{font-size:9px;color:var(--muted)}.eng-exact-app .trade-row .pct{font-family:var(--font-mono);font-size:10px;font-weight:600}.eng-exact-app .notice-list{display:flex;flex-direction:column;gap:7px}.eng-exact-app .notice{border:1px solid var(--line);border-radius:10px;padding:9px 10px;display:grid;grid-template-columns:28px 1fr auto;gap:9px;align-items:center;background:#fff}.eng-exact-app .notice.critical{border-color:#efd0cc;background:snow}.eng-exact-app .notice.warning{border-color:#eedcbf;background:#fffdf8}.eng-exact-app .notice-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-weight:800}.eng-exact-app .warning .notice-icon{background:var(--amber-bg);color:var(--amber)}.eng-exact-app .notice b{display:block;font-size:11px}.eng-exact-app .notice small{font-size:9px;color:var(--muted)}.eng-exact-app .notice button{border:1px solid var(--line-dark);background:#fff;border-radius:7px;padding:5px 8px;font-size:9px;font-weight:700}.eng-exact-app .activity-band{border-top:1px solid var(--line);background:var(--panel);padding:10px 16px;display:grid;grid-template-columns:185px 1fr;gap:14px;min-height:0}.eng-exact-app .activity-summary{border-right:1px solid var(--line);padding-right:14px}.eng-exact-app .activity-summary h3{font-size:12px;margin:0 0 5px}.eng-exact-app .activity-summary p{font-size:10px;color:var(--muted);line-height:1.5;margin:0 0 9px}.eng-exact-app .activity-summary button{border:0;background:transparent;color:var(--forest);padding:0;font-size:10px;font-weight:700}.eng-exact-app .timeline{display:flex;gap:12px;overflow-x:auto;align-items:stretch;padding-bottom:3px}.eng-exact-app .event{min-width:185px;border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--panel-soft)}.eng-exact-app .event .time{font-family:var(--font-mono);font-size:9px;color:var(--faint)}.eng-exact-app .event b{font-size:10px;display:block;margin:7px 0 4px}.eng-exact-app .event p{font-size:9px;color:var(--muted);margin:0;line-height:1.4}.eng-exact-app .event .event-type{display:inline-block;margin-top:8px;font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--forest);font-weight:800}.eng-exact-app .right-dock{background:var(--panel);border-left:1px solid var(--line);min-height:0;height:100%;max-height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;position:relative;align-self:stretch;overflow:hidden}.eng-exact-app .dock-head{padding:10px 10px 8px;border-bottom:1px solid var(--line)}.eng-exact-app .dock-head .eyebrow{font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:var(--faint)}.eng-exact-app .dock-head h2{font-size:13px;margin:3px 0 2px}.eng-exact-app .dock-head p{font-size:10px;color:var(--muted);margin:0}.eng-exact-app .dock-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:8px}.eng-exact-app .dock-tab{border:1px solid var(--line);background:#fff;border-radius:8px;padding:5px 4px;font-size:8px;font-weight:800;color:var(--muted);display:flex;flex-direction:row;align-items:center;justify-content:center;gap:4px;min-height:28px}.eng-exact-app .dock-tab em{font-style:normal;font-family:var(--font-mono);font-size:9px;opacity:.85;background:#0000000f;border-radius:999px;padding:1px 5px;line-height:1.2}.eng-exact-app .dock-tab:hover{background:var(--panel-soft);color:var(--ink)}.eng-exact-app .dock-tab.active{background:var(--metal-gradient);border-color:transparent;color:#fff;box-shadow:inset 0 1px #ffffff40,0 2px 8px color-mix(in srgb,var(--accent-base) 24%,transparent)}.eng-exact-app .dock-tab.active em{background:#fff3;color:#fff;opacity:1}.eng-exact-app .dock-filters{display:flex;gap:4px;margin-top:8px;flex-wrap:wrap}.eng-exact-app .dock-filter{border:1px solid var(--line);background:#fff;border-radius:6px;padding:4px 7px;font-size:8px;color:var(--muted)}.eng-exact-app .dock-list{overflow:auto;padding:10px;display:flex;flex-direction:column;gap:8px;min-height:0}.eng-exact-app .dock-empty{padding:20px;text-align:center;color:var(--muted);font-size:11px}.eng-exact-app .dock-list>.task{flex:0 0 auto;background:#fff;color:var(--ink)}.eng-exact-app .task{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.eng-exact-app .task-attendance .task-type{background:var(--amber-bg);color:var(--amber)}.eng-exact-app .task-actions-single{grid-template-columns:1fr}.eng-exact-app .task-actions-single button{cursor:pointer}.eng-exact-app .task-top{padding:8px 9px 6px;display:flex;gap:8px}.eng-exact-app .task-type{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font-size:11px;font-weight:800;background:var(--blue-bg);color:var(--blue);flex:none}.eng-exact-app .task-copy{min-width:0;flex:1}.eng-exact-app .task-copy .meta{font-family:var(--font-mono);font-size:var(--fs-2xs,10px);color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eng-exact-app .task-copy b{font-size:var(--fs-sm,12px);display:block;margin:3px 0;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eng-exact-app .task-copy p{font-size:var(--fs-xs,11px);color:var(--muted);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;cursor:default}.eng-exact-app .task-priority{width:7px;height:7px;border-radius:50%;background:var(--amber);margin-top:4px}.eng-exact-app .urgent .task-priority{background:var(--red)}.eng-exact-app .task-actions{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);position:relative;z-index:2}.eng-exact-app .task-actions button{border:0;background:#fff;padding:10px 7px;font-size:var(--fs-xs,11px);font-weight:800;cursor:pointer;min-height:34px}.eng-exact-app .task-actions button+button{border-left:1px solid var(--line)}.eng-exact-app .task-actions .reject{color:var(--red)}.eng-exact-app .task-actions button:disabled{opacity:.55;cursor:not-allowed}.eng-exact-app .task.resolved{opacity:.45;transform:scale(.98);transition:.2s ease}.eng-exact-app .dock-footer{padding:10px 12px;border-top:1px solid var(--line);background:var(--panel-soft)}.eng-exact-app .dock-footer button{width:100%;border:1px solid var(--line-dark);background:#fff;border-radius:9px;padding:8px;font-size:10px;font-weight:700}.eng-exact-app .toast{position:fixed;right:350px;bottom:20px;background:#18241e;color:#fff;padding:10px 13px;border-radius:9px;box-shadow:0 8px 25px #00000029;font-size:10px;opacity:0;pointer-events:none;transform:translateY(8px);transition:.2s ease;z-index:50}.eng-exact-app .toast.show{opacity:1;transform:translateY(0)}@media(max-width:1180px){.eng-exact-app .workspace{grid-template-columns:200px 1fr 280px}.eng-exact-app .context-stat:nth-of-type(3){display:none}.eng-exact-app .project-area{grid-template-columns:minmax(0,1fr)}}.eng-exact-app .theme-picker{position:relative}.eng-exact-app .theme-picker .icon-btn.active{background:var(--mint-soft);border-color:color-mix(in srgb,var(--accent-base) 74%,white 26%);color:var(--accent-base)}.eng-exact-app .theme-popover{position:absolute;top:calc(100% + 8px);right:0;width:236px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 32px #0e262024;z-index:300;opacity:0;transform:translateY(-6px) scale(.98);pointer-events:none;transform-origin:top right;transition:opacity var(--ease),transform var(--ease)}.eng-exact-app .theme-popover.show{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.eng-exact-app .theme-popover-label{font-size:9.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-bottom:9px}.eng-exact-app .swatch-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:12px}.eng-exact-app .swatch{position:relative;width:100%;aspect-ratio:1;border-radius:9px;border:2px solid transparent;padding:0;transition:transform var(--ease),border-color var(--ease)}.eng-exact-app .swatch:hover{transform:translateY(-1px) scale(1.06)}.eng-exact-app .swatch.active{border-color:var(--ink)}.eng-exact-app .swatch.active:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px #00000026}.eng-exact-app .theme-popover-custom{display:flex;align-items:center;gap:7px;padding-top:11px;border-top:1px solid var(--line)}.eng-exact-app .theme-popover-footer{display:flex;justify-content:flex-end;padding-top:11px;border-top:1px solid var(--line)}.eng-exact-app .theme-popover-custom label{font-size:10.5px;font-weight:700;color:var(--muted);flex:1}.eng-exact-app .theme-popover-custom input[type=color]{width:28px;height:28px;padding:0;border:1px solid var(--line);border-radius:8px;background:none;cursor:pointer}.eng-exact-app .theme-reset{display:flex;align-items:center;gap:5px;height:28px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);font-size:10.5px;font-weight:700}.eng-exact-app .theme-reset:hover{background:var(--panel-soft)}@media(max-width:950px){.eng-exact-app{overflow:auto}.eng-exact-app{height:auto;min-height:100vh}.eng-exact-app .workspace{grid-template-columns:220px 1fr}.eng-exact-app .right-dock{grid-column:2;border-left:0;border-top:1px solid var(--line);min-height:450px}.eng-exact-app .center{min-height:760px}.eng-exact-app .global-search{display:none}}@media(max-height:760px){.eng-exact-app .right-dock{position:static;max-height:none}.eng-exact-app .exact-sidebar{position:static}}.eng-exact-app .quick-action-strip{padding:10px 14px;border-bottom:1px solid var(--line);background:#fcfdfc}.eng-exact-app .quick-action-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.eng-exact-app .quick-action-head strong{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink)}.eng-exact-app .quick-action-head span{font-size:9px;color:var(--muted);white-space:nowrap}.eng-exact-app .quick-actions{display:flex;flex-wrap:nowrap;align-items:stretch;gap:6px;width:100%}.eng-exact-app .quick-action{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 7px;text-align:left;display:flex;align-items:center;gap:7px;min-width:0;flex:1 1 0}.eng-exact-app .quick-action:hover{border-color:#9fb6aa;background:#f6faf8;transform:translateY(-1px)}.eng-exact-app .quick-action .qa-icon{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;background:#edf4f0;color:var(--forest);font-weight:800;font-size:11px;flex:none}.eng-exact-app .quick-action>span:last-child{min-width:0;flex:1}.eng-exact-app .quick-action b{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.eng-exact-app .quick-action small{display:block;font-size:8px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eng-exact-app .project-pulse{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:8px;margin-bottom:12px}.eng-exact-app .pulse-card{border:1px solid var(--line);border-radius:11px;background:var(--panel-soft);padding:10px}.eng-exact-app .pulse-card .label{font-size:8px;text-transform:uppercase;letter-spacing:.09em;color:var(--faint)}.eng-exact-app .pulse-card b{display:block;font-size:12px;margin:5px 0 3px}.eng-exact-app .pulse-card small{font-size:8px;color:var(--muted)}.eng-exact-app .today-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(240px,.85fr);gap:12px}.eng-exact-app .today-col{min-width:0}.eng-exact-app .compact-list{display:flex;flex-direction:column;gap:7px}.eng-exact-app .compact-row{border:1px solid var(--line);border-radius:9px;padding:8px 9px;background:#fff;display:grid;grid-template-columns:8px 1fr auto;gap:8px;align-items:center}.eng-exact-app .compact-row b{display:block;font-size:10px}.eng-exact-app .compact-row small{font-size:8px;color:var(--muted)}.eng-exact-app .compact-row .value{font-family:var(--font-mono);font-size:10px;font-weight:700}.eng-exact-app .request-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0e19146b;display:none;align-items:center;justify-content:center;z-index:100;padding:20px}.eng-exact-app .request-modal.open{display:flex}.eng-exact-app .request-dialog{width:min(520px,100%);background:#fff;border-radius:16px;box-shadow:0 22px 70px #00000038;overflow:hidden;border:1px solid var(--line)}.eng-exact-app .request-dialog-head{padding:14px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.eng-exact-app .request-dialog-head h3{font-size:14px;margin:0}.eng-exact-app .request-dialog-head button{border:0;background:transparent;font-size:18px}.eng-exact-app .request-form{padding:14px 16px;display:grid;grid-template-columns:1fr 1fr;gap:11px}.eng-exact-app .request-form label{font-size:9px;color:var(--muted);display:flex;flex-direction:column;gap:5px}.eng-exact-app .request-form label.full{grid-column:1/-1}.eng-exact-app .request-form input,.eng-exact-app .request-form select,.eng-exact-app .request-form textarea{border:1px solid var(--line-dark);border-radius:9px;padding:9px 10px;outline:none;background:#fbfcfb;color:var(--ink);font:inherit}.eng-exact-app .request-form textarea{min-height:82px;resize:vertical}.eng-exact-app .request-dialog-actions{padding:12px 16px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px;background:var(--panel-soft)}@media(max-width:1250px){.eng-exact-app .today-grid{grid-template-columns:1fr}.eng-exact-app .project-pulse{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.eng-exact-app .quick-actions{flex-wrap:wrap}.eng-exact-app .quick-action{flex:1 1 calc(33.333% - 6px);min-width:140px}}@media(max-width:720px){.eng-exact-app .quick-action{flex:1 1 calc(50% - 6px)}}.eng-exact-app .card-action{border:0;background:transparent;color:var(--forest);font-size:8px;font-weight:800;padding:0;cursor:pointer}.eng-exact-app .card-action:hover{text-decoration:underline}.eng-exact-app .editable-card{position:relative;padding-right:46px}.eng-exact-app .editable-card .card-action{position:absolute;right:10px;top:9px}.eng-exact-app .status-action{border:1px solid var(--line);border-radius:7px;background:#fff;padding:5px 7px;font-family:var(--font-mono);font-size:8px;font-weight:800;cursor:pointer;min-width:48px}.eng-exact-app .status-action[data-status=DONE],.eng-exact-app .status-action[data-status=YES]{color:var(--forest);background:#eef7f2}.eng-exact-app .status-action[data-status=CHECK],.eng-exact-app .status-action[data-status=WAIT]{color:#9a6418;background:#fff7e9}.eng-exact-app .status-action[data-status=HOLD],.eng-exact-app .status-action[data-status=NO]{color:var(--red);background:#fff0ef}.eng-exact-app .engineer-update-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:#f3f8f5;border-bottom:1px solid var(--line)}.eng-exact-app .engineer-update-bar div{min-width:0}.eng-exact-app .engineer-update-bar b{display:block;font-size:10px}.eng-exact-app .engineer-update-bar small{font-size:8px;color:var(--muted)}.eng-exact-app .engineer-update-actions{display:flex;gap:7px;flex:none}.eng-exact-app .engineer-update-actions button{border:1px solid var(--line-dark);background:#fff;border-radius:8px;padding:7px 9px;font-size:8px;font-weight:800}.eng-exact-app .engineer-update-actions .primary{background:var(--forest);color:#fff;border-color:var(--forest)}.eng-exact-app .interaction-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0e19146b;display:none;align-items:center;justify-content:center;z-index:110;padding:20px}.eng-exact-app .interaction-modal.open{display:flex}.eng-exact-app .interaction-dialog{width:min(560px,100%);background:#fff;border-radius:16px;box-shadow:0 22px 70px #0000003d;overflow:hidden;border:1px solid var(--line)}.eng-exact-app .interaction-head{padding:14px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.eng-exact-app .interaction-head h3{margin:0;font-size:14px}.eng-exact-app .interaction-head button{border:0;background:transparent;font-size:18px}.eng-exact-app .interaction-body{padding:14px 16px;display:grid;grid-template-columns:1fr 1fr;gap:11px}.eng-exact-app .interaction-body label{font-size:9px;color:var(--muted);display:flex;flex-direction:column;gap:5px}.eng-exact-app .interaction-body label.full{grid-column:1/-1}.eng-exact-app .interaction-body input,.eng-exact-app .interaction-body select,.eng-exact-app .interaction-body textarea{border:1px solid var(--line-dark);border-radius:9px;padding:9px 10px;background:#fbfcfb;color:var(--ink);font:inherit}.eng-exact-app .interaction-body textarea{min-height:88px;resize:vertical}.eng-exact-app .interaction-actions{padding:12px 16px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px;background:var(--panel-soft)}@media(max-width:720px){.eng-exact-app .engineer-update-bar{align-items:flex-start;flex-direction:column}.eng-exact-app .interaction-body{grid-template-columns:1fr}.eng-exact-app .interaction-body label.full{grid-column:auto}}.eng-exact-app{height:100%!important;min-height:0!important;display:grid!important;grid-template-rows:minmax(0,1fr)!important;overflow:hidden!important}.eng-exact-app .topbar{position:relative;height:54px;z-index:200;overflow:visible!important}.eng-exact-app .top-actions{position:relative;z-index:201;overflow:visible}.eng-exact-app .theme-picker{position:relative;z-index:202;overflow:visible}.eng-exact-app .theme-popover{z-index:400}.eng-exact-app .notif-wrap,.eng-exact-app .profile-menu-wrap{position:relative;z-index:202}.eng-exact-app .notif-panel{position:fixed;top:54px;right:0;bottom:0;left:auto;z-index:10000;display:none;flex-direction:column;border-radius:0;border-right:none}.eng-exact-app .notif-panel.open{display:flex!important}.eng-exact-app .profile-panel{top:calc(100% + 8px);right:0;z-index:400}.eng-exact-app .workspace{height:100%!important;min-height:0!important;overflow:hidden!important;align-items:stretch!important}.eng-exact-app .exact-sidebar{position:relative!important;top:auto!important;height:100%!important;min-height:0!important;max-height:100%!important;overflow:hidden!important;align-self:stretch!important;display:flex!important;flex-direction:column!important}.eng-exact-app .exact-sidebar.projects-expanded{overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch}.eng-exact-app .side-projects{flex:0 0 auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}.eng-exact-app .side-projects.is-expanded{max-height:none!important;overflow:visible!important}.eng-exact-app .project-list{flex:0 0 auto!important;overflow:visible!important}.eng-exact-app .side-tools{flex:1 1 auto!important;min-height:0!important;position:relative!important;z-index:2!important;background:inherit!important;display:flex!important;flex-direction:column!important;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.eng-exact-app .exact-sidebar.projects-expanded .side-tools{flex:1 1 auto!important;min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important}.eng-exact-app .nav-list{min-height:auto!important;flex:0 0 auto!important;overflow:visible!important}.eng-exact-app .exact-sidebar.projects-expanded .nav-list{flex:0 0 auto!important;overflow:visible!important}.eng-exact-app .right-dock{position:relative!important;top:auto!important;height:100%!important;min-height:0!important;max-height:100%!important;overflow:hidden!important;align-self:stretch!important;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important}.eng-exact-app .dock-list{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.eng-exact-app .right-dock>.dock-list{grid-row:2;align-self:stretch;height:auto!important;max-height:100%!important}.eng-exact-app .center{min-height:0!important;height:100%!important;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.eng-exact-app .project-area,.eng-exact-app .work-content,.eng-exact-app .activity-band,.eng-exact-app .floor-workspace,.eng-exact-app #floorContent{height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important}.eng-exact-app .center>.project-area:has(.exact-embedded-accounts),.eng-exact-app .center>.project-area:has(.exact-embedded-crew-directory),.eng-exact-app .center>.project-area:has(.exact-embedded-crew-allocation){height:auto!important;max-height:none!important;min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important}.eng-exact-app .center>.project-area:has(.exact-embedded-crew-allocation){padding:0!important;overflow:hidden!important}.eng-exact-app .floor-workspace{display:block!important}.eng-exact-app .side-footer{margin-top:auto!important}.eng-exact-app.no-dock .center{overflow:hidden!important}.eng-exact-app.no-dock .exact-outlet{height:100%!important;min-height:0!important;overflow:auto!important;-webkit-overflow-scrolling:touch}@media(max-width:950px){.eng-exact-app .workspace{display:block!important;overflow:auto!important}.eng-exact-app .exact-sidebar,.eng-exact-app .right-dock{min-height:auto!important;max-height:none!important;height:auto!important;overflow:visible!important}.eng-exact-app .side-projects{max-height:none!important;overflow:visible!important}.eng-exact-app .project-list{overflow:visible!important}.eng-exact-app .dock-list{max-height:420px!important}}.eng-exact-app .crew-page{padding:14px;display:flex;flex-direction:column;gap:12px}.eng-exact-app .crew-hero{display:grid;grid-template-columns:minmax(260px,1.35fr) repeat(3,minmax(130px,.65fr));gap:9px}.eng-exact-app .crew-focus,.eng-exact-app .crew-metric{border:1px solid var(--line);border-radius:12px;background:#fff;padding:13px;min-width:0}.eng-exact-app .crew-focus{background:var(--forest);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:14px}.eng-exact-app .crew-focus .eyebrow{font-size:8px;text-transform:uppercase;letter-spacing:.12em;opacity:.7}.eng-exact-app .crew-focus h2{font-size:16px;margin:5px 0 3px}.eng-exact-app .crew-focus p{font-size:9px;margin:0;opacity:.75}.eng-exact-app .crew-focus button{border:1px solid rgba(255,255,255,.35);background:#ffffff1a;color:#fff;border-radius:8px;padding:8px 10px;font-size:9px;font-weight:800;white-space:nowrap}.eng-exact-app .crew-metric span{font-size:8px;text-transform:uppercase;letter-spacing:.09em;color:var(--faint)}.eng-exact-app .crew-metric b{display:block;font-size:18px;margin:6px 0 3px}.eng-exact-app .crew-metric small{font-size:8px;color:var(--muted)}.eng-exact-app .crew-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:11px;background:#fff;padding:9px 10px}.eng-exact-app .crew-toolbar-left,.eng-exact-app .crew-toolbar-right{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.eng-exact-app .crew-filter,.eng-exact-app .crew-action-btn{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 9px;font-size:9px;font-weight:700}.eng-exact-app .crew-filter.active{background:#edf5f1;color:var(--forest);border-color:#b8cec2}.eng-exact-app .crew-action-btn.primary{background:var(--forest);color:#fff;border-color:var(--forest)}.eng-exact-app .crew-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:12px;align-items:start}.eng-exact-app .crew-panel{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.eng-exact-app .crew-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border-bottom:1px solid var(--line)}.eng-exact-app .crew-panel-head h3{font-size:11px;margin:0}.eng-exact-app .crew-panel-head p{font-size:8px;color:var(--muted);margin:2px 0 0}.eng-exact-app .crew-panel-head button{border:0;background:transparent;color:var(--forest);font-size:8px;font-weight:800}.eng-exact-app .deployment-list{display:flex;flex-direction:column}.eng-exact-app .deployment-row{display:grid;grid-template-columns:minmax(150px,1.1fr) 80px 110px 82px auto;gap:9px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line)}.eng-exact-app .deployment-row:last-child{border-bottom:0}.eng-exact-app .deployment-row b{font-size:10px;display:block}.eng-exact-app .deployment-row small{font-size:8px;color:var(--muted)}.eng-exact-app .crew-chip{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:8px;border-radius:999px;padding:5px 7px;background:#eef5f1;color:var(--forest)}.eng-exact-app .crew-chip.warn{background:#fff5e5;color:#9a6418}.eng-exact-app .crew-chip.danger{background:#fff0ef;color:var(--red)}.eng-exact-app .deployment-row .row-actions{display:flex;gap:5px}.eng-exact-app .deployment-row .row-actions button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:5px 7px;font-size:8px;font-weight:700}.eng-exact-app .crew-side-stack{display:flex;flex-direction:column;gap:12px}.eng-exact-app .exception-list,.eng-exact-app .trade-list{display:flex;flex-direction:column}.eng-exact-app .exception-row,.eng-exact-app .trade-row2{padding:10px 12px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:8px 1fr auto;gap:8px;align-items:center}.eng-exact-app .exception-row:last-child,.eng-exact-app .trade-row2:last-child{border-bottom:0}.eng-exact-app .exception-row b,.eng-exact-app .trade-row2 b{font-size:9px;display:block}.eng-exact-app .exception-row small,.eng-exact-app .trade-row2 small{font-size:8px;color:var(--muted)}.eng-exact-app .exception-dot{width:7px;height:7px;border-radius:50%;background:var(--amber)}.eng-exact-app .exception-dot.red{background:var(--red)}.eng-exact-app .exception-row button{border:0;background:transparent;color:var(--forest);font-size:8px;font-weight:800}.eng-exact-app .trade-count{font-family:var(--font-mono);font-size:10px;font-weight:800}.eng-exact-app .crew-table-wrap{overflow:auto}.eng-exact-app .crew-table{width:100%;border-collapse:collapse;min-width:720px}.eng-exact-app .crew-table th{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);text-align:left;background:#fafcfb;padding:8px 10px;border-bottom:1px solid var(--line)}.eng-exact-app .crew-table td{font-size:9px;padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:middle}.eng-exact-app .crew-table tr:last-child td{border-bottom:0}.eng-exact-app .crew-hours-heading{display:inline-flex;align-items:center;gap:6px}.eng-exact-app .crew-hours-reload{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--forest);cursor:pointer;flex-shrink:0}.eng-exact-app .crew-hours-reload:hover{background:#f4faf6;border-color:color-mix(in srgb,var(--accent-base) 35%,var(--line))}.eng-exact-app .crew-hours-reload:focus-visible{outline:2px solid color-mix(in srgb,var(--accent-base) 45%,transparent);outline-offset:1px}.eng-exact-app .worker-name{display:flex;align-items:center;gap:8px}.eng-exact-app .worker-avatar{width:25px;height:25px;border-radius:8px;background:#edf4f0;color:var(--forest);display:grid;place-items:center;font-weight:800}.eng-exact-app .worker-name b{font-size:9px;display:block}.eng-exact-app .worker-name small{font-size:7px;color:var(--muted)}.eng-exact-app .worker-status{font-family:var(--font-mono);font-size:8px;font-weight:800}.eng-exact-app .worker-status.present{color:var(--forest)}.eng-exact-app .worker-status.break{color:#9a6418}.eng-exact-app .table-action{border:1px solid var(--line);background:#fff;border-radius:7px;padding:5px 7px;font-size:8px;font-weight:700}@media(max-width:1200px){.eng-exact-app .crew-hero{grid-template-columns:1fr 1fr}.eng-exact-app .crew-layout{grid-template-columns:1fr}.eng-exact-app .deployment-row{grid-template-columns:1fr 70px 100px auto}.eng-exact-app .deployment-row>span:nth-child(4){display:none}}.eng-exact-app{--accent-glow:color-mix(in srgb,var(--accent-base) 55%,white 45%);--forest:var(--accent-base);--forest-2:color-mix(in srgb,var(--accent-base) 82%,black 30%);--mint:color-mix(in srgb,var(--accent-base) 12%,white 88%);--bg:#ffffff;--panel:#ffffff;--panel-soft:#ffffff;--ink:#1c2320;--muted:#71827a;--faint:#929f99;--line:#cbd5e1;--line-dark:#94a3b8;--amber:#c2571f;--amber-bg:#fdf1e8;--red:#8a3a1c;--red-bg:#f7ddc9;--blue:#66736d;--blue-bg:#eef2f0;--shadow:0 6px 18px rgba(14,38,32,.06);--radius:14px;--hairline:#cbd5e1;--ease:.15s cubic-bezier(.2,.7,.3,1);--metal-gradient:linear-gradient(155deg, color-mix(in srgb,var(--accent-base) 45%,white 55%) 0%, var(--accent-base) 46%, color-mix(in srgb,var(--accent-base) 78%,black 22%) 100%);--metal-gradient-hover:linear-gradient(155deg, color-mix(in srgb,var(--accent-base) 35%,white 65%) 0%, color-mix(in srgb,var(--accent-base) 92%,white 8%) 46%, color-mix(in srgb,var(--accent-base) 70%,black 30%) 100%)}.eng-exact-app{font-family:var(--font-sans);background:var(--bg);-webkit-font-smoothing:antialiased}.eng-exact-app :focus-visible{outline:2px solid color-mix(in srgb,var(--accent-base) 74%,white 26%);outline-offset:2px}.eng-exact-app .topbar{padding:0;border-bottom:1px solid color-mix(in srgb,var(--accent-base) 28%,var(--hairline));box-shadow:0 1px 2px #0e262008;background:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.eng-exact-app .brand{min-width:0;gap:11px}.eng-exact-app .brand-mark{width:34px;height:34px;border-radius:10px;background:var(--metal-gradient);box-shadow:inset 0 1px #ffffff52,0 1px 3px #0e262026;position:relative;overflow:hidden}.eng-exact-app .brand-name{font-size:14px;letter-spacing:-.01em}.eng-exact-app .brand-role{font-size:9.5px;font-weight:700;color:var(--muted);letter-spacing:.09em;margin-top:1px}.eng-exact-app .project-switch,.eng-exact-app .global-search,.eng-exact-app .icon-btn{height:36px;border-color:var(--hairline);border-radius:10px;background:var(--panel);transition:background var(--ease),border-color var(--ease),transform var(--ease),box-shadow var(--ease)}.eng-exact-app .icon-btn:hover{background:color-mix(in srgb,var(--accent-base) 6%,white 94%);border-color:var(--line-dark);transform:translateY(-1px)}.eng-exact-app .project-switch .dot{background:var(--accent-base);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-base) 12%,white 88%)}.eng-exact-app .global-search{background:var(--panel-soft)}.eng-exact-app .global-search:focus-within{background:#fff;border-color:color-mix(in srgb,var(--accent-base) 74%,white 26%);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-base) 6%,white 94%)}.eng-exact-app .avatar{border-radius:50%;background:var(--metal-gradient);box-shadow:inset 0 1px #ffffff4d,0 1px 3px #0e262026}.eng-exact-app .workspace{grid-template-columns:220px minmax(0,1fr) 300px;background:var(--bg)}.eng-exact-app .exact-sidebar,.eng-exact-app .right-dock{background:#fffffff7;border-color:var(--hairline)}.eng-exact-app .exact-sidebar{padding:10px 8px}.eng-exact-app .side-title{padding:1px 4px 8px}.eng-exact-app .side-title strong,.eng-exact-app .nav-label{font-weight:800;letter-spacing:.09em}.eng-exact-app .project-list{gap:4px}.eng-exact-app .project-item{border-radius:8px;padding:7px 8px;transition:background var(--ease),border-color var(--ease),transform var(--ease)}.eng-exact-app .project-item:hover{background:var(--panel-soft);transform:translate(1px)}.eng-exact-app .project-item.active{background:color-mix(in srgb,var(--accent-base) 12%,var(--card,#fff));border-color:color-mix(in srgb,var(--accent-base) 22%,var(--line));box-shadow:inset 3px 0 0 var(--accent-base)}.eng-exact-app .side-projects--tenant-wide .project-item.is-locked{cursor:default}.eng-exact-app .side-projects--tenant-wide .project-item.is-locked:hover{transform:none;background:color-mix(in srgb,var(--accent-base) 12%,var(--card,#fff))}.eng-exact-app .side-projects--tenant-wide .project-item.is-locked:disabled{opacity:1;color:inherit}.eng-exact-app .project-risk{color:var(--red)}.eng-exact-app .nav-list{gap:2px}.eng-exact-app .nav-item{padding:7px 8px;border-radius:8px;font-size:11px;font-weight:650;transition:background var(--ease),color var(--ease),transform var(--ease)}.eng-exact-app .nav-item:hover{background:var(--panel-soft);transform:translate(1px)}.eng-exact-app .nav-item.active{background:var(--metal-gradient);color:#fff;box-shadow:inset 0 1px #ffffff40,0 1px 2px #0e26201f}.eng-exact-app .side-footer{border-color:var(--hairline);background:var(--panel-soft);box-shadow:0 1px 2px #0e262008}.eng-exact-app .context-strip{min-height:86px;height:auto;padding:14px 18px;gap:20px;position:relative;overflow:hidden;background:var(--forest-2);color:#fff;border-bottom:0}.eng-exact-app .context-strip:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.42;background:linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:linear-gradient(90deg,#000,transparent 92%);mask-image:linear-gradient(90deg,#000,transparent 92%)}.eng-exact-app .context-strip:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent-glow) 85%,white 15%),transparent);box-shadow:0 0 12px color-mix(in srgb,var(--accent-glow) 35%,transparent)}.eng-exact-app .context-primary{min-width:270px}.eng-exact-app .context-primary h1{font-size:var(--fs-lg,16px);letter-spacing:-.02em;margin-bottom:4px}.eng-exact-app .context-primary p,.eng-exact-app .progress-copy small,.eng-exact-app .context-stat small{color:#ffffff94}.eng-exact-app .progress-ring{width:44px;height:44px;background:conic-gradient(var(--accent-glow) 0 50%,rgba(255,255,255,.14) 50% 100%);box-shadow:0 0 0 1px #ffffff1a}.eng-exact-app .progress-ring:after{width:32px;height:32px;background:var(--forest-2)}.eng-exact-app .progress-ring span{color:#fff;font-size:var(--fs-2xs,10px)}.eng-exact-app .progress-copy b{font-size:var(--fs-sm,12px)}.eng-exact-app .context-stat{padding:6px 0 6px 16px;border-left-color:#ffffff24;min-width:66px}.eng-exact-app .context-stat b{font-size:var(--fs-stat,16px);color:#fff}.eng-exact-app .context-stat.alert b{color:#f7ddc9}.eng-exact-app .project-area{padding:16px;gap:16px}.eng-exact-app .floor-workspace,.eng-exact-app .building-card,.eng-exact-app .crew-panel,.eng-exact-app .crew-focus,.eng-exact-app .crew-metric{border-color:var(--hairline);box-shadow:var(--shadow);border-radius:var(--radius)}.eng-exact-app .floor-workspace{background:var(--panel,#fff);overflow:visible!important}.eng-exact-app .panel-head{height:56px;padding:0 18px;border-bottom-color:var(--hairline)}.eng-exact-app .panel-head h2{font-size:var(--fs-md,14px);letter-spacing:-.01em}.eng-exact-app .panel-head p{font-size:10px;margin-top:3px}.eng-exact-app .btn{min-height:36px;border-radius:10px;border-color:var(--line);font-size:11px;transition:transform var(--ease),background var(--ease),border-color var(--ease),box-shadow var(--ease)}.eng-exact-app .btn:hover{transform:translateY(-1px);box-shadow:0 1px 2px #0e26200f}.eng-exact-app .btn.primary{background:var(--metal-gradient);border-color:transparent;box-shadow:inset 0 1px #ffffff40,0 1px 2px #0e26201f}.eng-exact-app .btn.primary:hover{background:var(--metal-gradient-hover)}.eng-exact-app .floor-tabs{padding:8px 14px;gap:6px;border-bottom-color:var(--hairline);background:var(--panel-soft)}.eng-exact-app .floor-tab{padding:7px 12px;border-radius:999px;font-size:11px;transition:background var(--ease),color var(--ease),border-color var(--ease)}.eng-exact-app .quick-action-strip{padding:12px 14px;border-bottom-color:var(--hairline);background:var(--panel,#fff)}.eng-exact-app .quick-action-head{margin-bottom:8px}.eng-exact-app .quick-action-head strong{font-size:10px;color:var(--ink)}.eng-exact-app .quick-actions{gap:6px;flex-wrap:nowrap!important}.eng-exact-app .quick-action{border-color:var(--hairline);border-radius:10px;padding:8px 7px;transition:transform var(--ease),background var(--ease),border-color var(--ease),box-shadow var(--ease)}.eng-exact-app .quick-action:hover{border-color:var(--line-dark);background:color-mix(in srgb,var(--accent-base) 5%,white 95%);transform:translateY(-1px);box-shadow:0 1px 2px #0e26200d}.eng-exact-app .quick-action .qa-icon{background:color-mix(in srgb,var(--accent-base) 12%,white 88%);color:var(--accent-base);box-shadow:none}.eng-exact-app .quick-action b{font-size:10px}.eng-exact-app .quick-action small{font-size:8px}.eng-exact-app .engineer-update-bar{padding:11px 16px;background:color-mix(in srgb,var(--accent-base) 5%,white 95%);border-bottom-color:var(--hairline)}.eng-exact-app .engineer-update-actions button{border-radius:9px;border-color:var(--line);transition:transform var(--ease),background var(--ease)}.eng-exact-app .engineer-update-actions button:hover{transform:translateY(-1px)}.eng-exact-app .engineer-update-actions .primary{background:var(--metal-gradient);border-color:transparent}.eng-exact-app .floor-summary{padding:14px 16px;gap:10px;border-bottom-color:var(--hairline);background:#fff}.eng-exact-app .floor-milestones-panel{padding:14px 16px;border-bottom:1px solid var(--hairline);background:#fff}.eng-exact-app .floor-milestones-panel .proj-overview-panel{margin:0}.eng-exact-app .floor-milestones-panel .proj-panel-title{font-size:14px;font-weight:700;color:var(--ink)}.eng-exact-app .floor-milestones-panel .proj-panel-sub{font-size:11px;color:var(--muted);margin-top:2px}.eng-exact-app .summary-main{background:var(--forest-2);border-radius:12px;padding:14px;box-shadow:inset 0 1px #ffffff0f}.eng-exact-app .summary-main h3{font-size:var(--fs-md,14px)}.eng-exact-app .mini-stat{border-color:var(--hairline);background:var(--panel-soft);border-radius:12px;padding:12px}.eng-exact-app .mini-stat b{font-size:var(--fs-sm,12px)}.eng-exact-app .card-action{color:var(--accent-base)}.eng-exact-app .work-content{padding:16px}.eng-exact-app .project-pulse{gap:10px;margin-bottom:16px}.eng-exact-app .pulse-card{border-color:var(--hairline);border-radius:12px;background:var(--panel-soft);padding:12px;transition:transform var(--ease),box-shadow var(--ease)}.eng-exact-app .pulse-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0e26200d}.eng-exact-app .pulse-card b{font-size:13px}.eng-exact-app .pulse-card.alert b{color:var(--red)}.eng-exact-app .today-grid{gap:16px}.eng-exact-app .zone-title{margin-bottom:9px}.eng-exact-app .zone-title h3{font-size:10px;color:var(--ink)}.eng-exact-app .zone-title button{color:var(--accent-base)}.eng-exact-app .compact-list{gap:7px}.eng-exact-app .compact-row{border-color:var(--hairline);border-radius:10px;padding:9px 10px;transition:background var(--ease),border-color var(--ease)}.eng-exact-app .compact-row:hover{background:color-mix(in srgb,var(--accent-base) 4%,white 96%);border-color:var(--line-dark)}.eng-exact-app .compact-row b{font-size:10.5px}.eng-exact-app .compact-row small{font-size:8.5px}.eng-exact-app .status-action{border-color:var(--line);border-radius:8px;transition:transform var(--ease),background var(--ease)}.eng-exact-app .status-action:hover{transform:translateY(-1px)}.eng-exact-app .status-action[data-status=DONE],.eng-exact-app .status-action[data-status=YES]{color:var(--accent-base);background:color-mix(in srgb,var(--accent-base) 7%,white 93%)}.eng-exact-app .notice{border-color:var(--hairline);border-radius:11px;padding:10px 11px}.eng-exact-app .notice.critical{border-color:color-mix(in srgb,var(--red) 20%,white 80%);background:color-mix(in srgb,var(--red) 4%,white 96%)}.eng-exact-app .notice.warning{border-color:color-mix(in srgb,var(--amber) 20%,white 80%);background:color-mix(in srgb,var(--amber) 4%,white 96%)}.eng-exact-app .notice-icon{border-radius:9px}.eng-exact-app .right-dock{box-shadow:-8px 0 24px #0e262006}.eng-exact-app .dock-head{padding:10px 10px 8px;border-bottom-color:var(--hairline)}.eng-exact-app .dock-head .eyebrow{color:var(--accent-base);font-weight:800}.eng-exact-app .dock-head h2{font-size:14px;letter-spacing:-.01em}.eng-exact-app .dock-filters{gap:4px;margin-top:8px}.eng-exact-app .dock-filter{border-color:var(--hairline);border-radius:8px;padding:5px 7px;transition:background var(--ease),color var(--ease),transform var(--ease)}.eng-exact-app .dock-filter:hover{transform:translateY(-1px)}.eng-exact-app .dock-filter.active{background:var(--metal-gradient);border-color:transparent;color:#fff;box-shadow:inset 0 1px #ffffff40}.eng-exact-app .dock-list{padding:10px;gap:8px}.eng-exact-app .task{border-color:var(--hairline);border-radius:12px;box-shadow:0 1px 2px #0e262009;transition:transform var(--ease),box-shadow var(--ease),border-color var(--ease)}.eng-exact-app .task:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0e26200f;border-color:var(--line-dark)}.eng-exact-app .task-top{padding:11px}.eng-exact-app .task-type{background:var(--metal-gradient);color:#fff;border-radius:9px;box-shadow:inset 0 1px #ffffff40}.eng-exact-app .task.urgent .task-type{background:var(--red-bg);color:var(--red);box-shadow:none}.eng-exact-app .task-copy b{font-size:11.5px}.eng-exact-app .task-copy p{font-size:9.5px;line-height:1.45}.eng-exact-app .task-actions{border-top-color:var(--hairline)}.eng-exact-app .task-actions button{padding:9px;transition:background var(--ease)}.eng-exact-app .task-actions button:hover{background:var(--panel-soft)}.eng-exact-app .task-actions .approve{color:var(--accent-base)}.eng-exact-app .dock-footer{padding:11px 12px;border-top-color:var(--hairline)}.eng-exact-app .dock-footer button{border-color:var(--line);border-radius:9px;transition:background var(--ease),transform var(--ease)}.eng-exact-app .dock-footer button:hover{background:color-mix(in srgb,var(--accent-base) 5%,white 95%);transform:translateY(-1px)}.eng-exact-app .crew-page{padding:16px;gap:14px}.eng-exact-app .crew-hero{gap:10px}.eng-exact-app .crew-focus{background:var(--forest-2);padding:15px}.eng-exact-app .crew-focus button{border-color:#ffffff2e;background:#ffffff12}.eng-exact-app .crew-metric{padding:14px;background:#fff}.eng-exact-app .crew-metric b{font-size:var(--fs-stat,16px)}.eng-exact-app .crew-metric.alert b{color:var(--red)}.eng-exact-app .crew-toolbar{border-color:var(--hairline);border-radius:12px;padding:10px 11px;box-shadow:0 1px 2px #0e262009}.eng-exact-app .crew-filter,.eng-exact-app .crew-action-btn{border-color:var(--line);border-radius:9px;transition:background var(--ease),transform var(--ease)}.eng-exact-app .crew-filter:hover,.eng-exact-app .crew-action-btn:hover{transform:translateY(-1px)}.eng-exact-app .crew-filter.active{background:color-mix(in srgb,var(--accent-base) 7%,white 93%);color:var(--accent-base);border-color:color-mix(in srgb,var(--accent-base) 22%,white 78%)}.eng-exact-app .crew-action-btn.primary{background:var(--metal-gradient);border-color:transparent}.eng-exact-app .crew-panel-head{padding:13px 14px;border-bottom-color:var(--hairline)}.eng-exact-app .crew-panel-head h3{font-size:12px}.eng-exact-app .crew-panel-head button{color:var(--accent-base)}.eng-exact-app .deployment-row,.eng-exact-app .exception-row,.eng-exact-app .trade-row2,.eng-exact-app .crew-table td,.eng-exact-app .crew-table th{border-color:var(--hairline)}.eng-exact-app .deployment-row{padding:11px 14px;transition:background var(--ease)}.eng-exact-app .deployment-row:hover{background:color-mix(in srgb,var(--accent-base) 4%,white 96%)}.eng-exact-app .crew-chip{background:color-mix(in srgb,var(--accent-base) 7%,white 93%);color:var(--accent-base)}.eng-exact-app .worker-avatar{background:color-mix(in srgb,var(--accent-base) 10%,white 90%);color:var(--accent-base)}.eng-exact-app .worker-status.present{color:var(--accent-base)}.eng-exact-app .crew-table th{background:var(--panel-soft);font-size:8.5px}.eng-exact-app .crew-table td{font-size:9.5px}.eng-exact-app .table-action,.eng-exact-app .deployment-row .row-actions button{border-color:var(--line);border-radius:8px;transition:background var(--ease),transform var(--ease)}.eng-exact-app .table-action:hover,.eng-exact-app .deployment-row .row-actions button:hover{background:var(--panel-soft);transform:translateY(-1px)}.eng-exact-app .request-modal,.eng-exact-app .interaction-modal{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.eng-exact-app .request-dialog,.eng-exact-app .interaction-dialog{border-color:var(--hairline);border-radius:14px;box-shadow:0 24px 60px #0e26203d}.eng-exact-app .request-dialog-head,.eng-exact-app .interaction-head,.eng-exact-app .request-dialog-actions,.eng-exact-app .interaction-actions{border-color:var(--hairline)}.eng-exact-app .request-form input,.eng-exact-app .request-form select,.eng-exact-app .request-form textarea,.eng-exact-app .interaction-body input,.eng-exact-app .interaction-body select,.eng-exact-app .interaction-body textarea{border-color:var(--line);border-radius:10px;background:#fff}.eng-exact-app .request-form input:focus,.eng-exact-app .request-form select:focus,.eng-exact-app .request-form textarea:focus,.eng-exact-app .interaction-body input:focus,.eng-exact-app .interaction-body select:focus,.eng-exact-app .interaction-body textarea:focus{outline:none;border-color:color-mix(in srgb,var(--accent-base) 74%,white 26%);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-base) 6%,white 94%)}.eng-exact-app .toast{background:var(--forest-2);border-radius:10px;font-size:11px}@media(max-width:1180px){.eng-exact-app .workspace{grid-template-columns:200px 1fr 280px}.eng-exact-app .context-primary{min-width:230px}}@media(max-width:950px){.eng-exact-app .context-strip{flex-wrap:wrap}.eng-exact-app .context-actions{margin-left:0}.eng-exact-app .workspace{display:block!important}.eng-exact-app .exact-sidebar,.eng-exact-app .right-dock{min-height:auto!important}}@media(max-width:720px){.eng-exact-app .context-strip{padding:14px}.eng-exact-app .context-primary{min-width:100%}.eng-exact-app .project-area,.eng-exact-app .crew-page{padding:10px}.eng-exact-app .floor-summary{grid-template-columns:1fr 1fr}.eng-exact-app .summary-main{grid-column:1/-1}.eng-exact-app .project-pulse{grid-template-columns:1fr 1fr}.eng-exact-app .crew-hero,.eng-exact-app .today-grid{grid-template-columns:1fr}}.eng-exact-app{--bg:#ffffff;--panel:#ffffff;--panel-soft:#ffffff;--ink:#1c2320;--muted:#5f6d67;--faint:#87938d;--line:#cbd5e1;--line-dark:#94a3b8;--forest:var(--accent-base);--forest-2:color-mix(in srgb,var(--accent-base) 82%,black 30%);--forest-3:color-mix(in srgb,var(--accent-base) 88%,white 12%);--mint:color-mix(in srgb,var(--accent-base) 12%,white 88%);--mint-soft:color-mix(in srgb,var(--accent-base) 6%,white 94%);--gold:var(--accent-base);--gold-dark:color-mix(in srgb,var(--accent-base) 78%,black 22%);--gold-soft:color-mix(in srgb,var(--accent-base) 12%,white 88%);--amber:#d58a16;--amber-bg:#fff5df;--red:#c8473d;--red-bg:#fff0ee;--blue:#3b82f6;--blue-bg:#edf4ff;--violet:#7c5ce0;--violet-bg:#f1edff;--cyan:#0f8fa7;--cyan-bg:#eaf8fb;--shadow:0 8px 24px rgba(21,47,39,.065),0 1px 3px rgba(21,47,39,.035);--shadow-soft:0 2px 10px rgba(21,47,39,.045);--shadow-hover:0 12px 30px rgba(21,47,39,.1),0 2px 6px rgba(21,47,39,.05);--radius:14px;--ease:.15s cubic-bezier(.2,.7,.3,1)}.eng-exact-app{background:var(--bg)}.eng-exact-app{font-family:var(--font-sans);color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}.eng-exact-app button,.eng-exact-app input,.eng-exact-app select,.eng-exact-app textarea{font-family:inherit}.eng-exact-app .topbar{background:#fffffff0;border-bottom-color:var(--line);box-shadow:0 1px #152f2706;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.eng-exact-app .brand-mark{background:linear-gradient(155deg,#ebcf92 0%,var(--gold) 45%,var(--gold-dark) 100%);color:#fff;box-shadow:inset 0 1px #ffffff6b,0 2px 8px #563e102e}.eng-exact-app .brand-name{color:var(--ink);letter-spacing:-.01em}.eng-exact-app .brand-role{color:var(--faint)}.eng-exact-app .project-switch,.eng-exact-app .global-search,.eng-exact-app .icon-btn{border-color:var(--line);background:var(--panel-soft);transition:background var(--ease),border-color var(--ease),box-shadow var(--ease),transform var(--ease)}.eng-exact-app .global-search:focus-within,.eng-exact-app .icon-btn:hover{background:#fff;border-color:color-mix(in srgb,var(--accent-base) 20%,#d5ddd9 80%);box-shadow:var(--shadow-soft)}.eng-exact-app .icon-btn:hover{transform:translateY(-1px);color:var(--forest)}.eng-exact-app .project-switch .dot{background:color-mix(in srgb,var(--accent-base) 78%,#16865f 22%);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-base) 10%,white 90%)}.eng-exact-app .avatar{border-radius:50%;background:linear-gradient(155deg,#ebcf92 0%,var(--gold) 45%,var(--gold-dark) 100%);box-shadow:inset 0 1px #ffffff59,0 2px 8px #563e102e}.eng-exact-app .exact-sidebar{background:linear-gradient(180deg,#fff,#fbfcfb);border-right-color:var(--line);box-shadow:none;z-index:1}.eng-exact-app .side-title strong,.eng-exact-app .nav-label{color:var(--faint)}.eng-exact-app .project-item,.eng-exact-app .nav-item{transition:background var(--ease),color var(--ease),transform var(--ease),box-shadow var(--ease)}.eng-exact-app .project-item:hover,.eng-exact-app .nav-item:hover{background:color-mix(in srgb,var(--accent-base) 8%,var(--card,#fff));transform:translate(1px)}.eng-exact-app .project-item.active{background:linear-gradient(90deg,color-mix(in srgb,var(--accent-base) 14%,var(--card,#fff)),color-mix(in srgb,var(--accent-base) 8%,var(--card,#fff)));border-color:color-mix(in srgb,var(--accent-base) 28%,var(--line));box-shadow:inset 3px 0 0 var(--forest)}.eng-exact-app .nav-item.active{background:var(--metal-gradient);color:#fff;box-shadow:0 5px 14px color-mix(in srgb,var(--accent-base) 28%,transparent),inset 0 1px #ffffff1f}.eng-exact-app .nav-item.active .count{background:#ffffff29;padding:2px 6px;border-radius:999px;opacity:1}.eng-exact-app .side-divider{background:linear-gradient(90deg,transparent,var(--line-dark),transparent)}.eng-exact-app .side-footer{background:linear-gradient(135deg,#f4f8f6,#fff);border-color:var(--line);box-shadow:var(--shadow-soft)}.eng-exact-app .center{background:var(--bg,#ffffff)}.eng-exact-app .context-strip{height:76px;background:linear-gradient(120deg,#163f37fa,#1f5d50f5 62%,#2b7566f0);color:#fff;border-bottom:0;box-shadow:0 8px 22px #163f3729;position:relative;overflow:hidden}.eng-exact-app .context-strip:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),radial-gradient(circle at 12% 45%,rgba(212,166,74,.16),transparent 34%);background-size:32px 32px,32px 32px,auto}.eng-exact-app .context-strip>*{position:relative;z-index:1}.eng-exact-app .context-primary h1{font-size:19px;letter-spacing:-.02em}.eng-exact-app .context-primary p,.eng-exact-app .progress-copy small,.eng-exact-app .context-stat small{color:#ffffffa8}.eng-exact-app .progress-ring{width:46px;height:46px;background:conic-gradient(var(--gold) 0 50%,rgba(255,255,255,.16) 50% 100%);box-shadow:0 0 0 1px #ffffff1f,0 5px 14px #0000001f}.eng-exact-app .progress-ring:after{width:35px;height:35px;background:color-mix(in srgb,var(--accent-base) 86%,black 22%)}.eng-exact-app .progress-ring span{color:#fff;font-size:9px}.eng-exact-app .progress-copy b,.eng-exact-app .context-stat b{color:#fff}.eng-exact-app .context-stat{border-left-color:#ffffff29}.eng-exact-app .context-stat.alert b{color:#ffd7d2}.eng-exact-app .project-area{padding:16px 18px}.eng-exact-app .building-card,.eng-exact-app .floor-workspace,.eng-exact-app .crew-panel{border-color:var(--line);box-shadow:var(--shadow);background:#fffffff7}.eng-exact-app .panel-head{border-bottom-color:var(--line);background:linear-gradient(180deg,#fff,#fcfdfc)}.eng-exact-app .panel-head h2{font-size:14px;color:var(--ink)}.eng-exact-app .panel-head p{color:var(--muted)}.eng-exact-app .btn{border-color:var(--line-dark);background:#fff;transition:transform var(--ease),background var(--ease),border-color var(--ease),box-shadow var(--ease)}.eng-exact-app .btn:hover{transform:translateY(-1px);border-color:#b8c7c0;box-shadow:var(--shadow-soft)}.eng-exact-app .btn.primary{background:linear-gradient(155deg,#ebcf92 0%,var(--gold) 46%,var(--gold-dark) 100%);border-color:transparent;color:#fff;box-shadow:inset 0 1px #ffffff52,0 2px 8px #563e102e}.eng-exact-app .floor-tabs{background:#fbfcfb;border-bottom-color:var(--line);gap:6px}.eng-exact-app .floor-tab{transition:background var(--ease),color var(--ease),border-color var(--ease),box-shadow var(--ease)}.eng-exact-app .floor-tab:hover{background:#f0f5f3;color:var(--ink)}.eng-exact-app .floor-tab.active{background:var(--accent-base);color:#fff;border-color:var(--accent-base);box-shadow:0 2px 8px color-mix(in srgb,var(--accent-base) 28%,transparent)}.eng-exact-app .floor.active{background:#e9f3ef;border-color:color-mix(in srgb,var(--accent-base) 24%,white 76%);box-shadow:inset 3px 0 var(--forest)}.eng-exact-app .signal-dot.green{background:color-mix(in srgb,var(--accent-base) 78%,#16865f 22%)}.eng-exact-app .signal-dot.amber{background:#e0a11b}.eng-exact-app .signal-dot.red{background:#d64b42}.eng-exact-app .signal-dot.gray{background:#b8c4be}.eng-exact-app .quick-action-strip{background:linear-gradient(180deg,#fcfdfc,#f7faf8);border-bottom-color:var(--line)}.eng-exact-app .quick-actions{display:flex!important;flex-wrap:nowrap!important}.eng-exact-app .quick-action{border-color:var(--line);background:#fff;box-shadow:0 1px 2px #152f2706;transition:transform var(--ease),border-color var(--ease),background var(--ease),box-shadow var(--ease)}.eng-exact-app .quick-action:hover{border-color:#b8cec4;background:#f7fbf9;transform:translateY(-1px);box-shadow:var(--shadow-soft)}.eng-exact-app .quick-action .qa-icon{background:color-mix(in srgb,var(--accent-base) 14%,white 86%);color:var(--accent-base)}.eng-exact-app .quick-action:nth-child(1) .qa-icon{background:color-mix(in srgb,var(--accent-base) 14%,white 86%);color:var(--accent-base)}.eng-exact-app .quick-action:nth-child(2) .qa-icon{background:var(--blue-bg);color:var(--blue)}.eng-exact-app .quick-action:nth-child(3) .qa-icon{background:var(--violet-bg);color:var(--violet)}.eng-exact-app .quick-action:nth-child(4) .qa-icon{background:var(--cyan-bg);color:var(--cyan)}.eng-exact-app .quick-action:nth-child(5) .qa-icon{background:var(--gold-soft);color:var(--gold-dark)}.eng-exact-app .quick-action:nth-child(6) .qa-icon{background:var(--red-bg);color:var(--red)}.eng-exact-app .engineer-update-bar{background:linear-gradient(90deg,color-mix(in srgb,var(--accent-base) 6%,white 94%),#f8fbf9);border-bottom-color:var(--line)}.eng-exact-app .engineer-update-actions button{border-color:var(--line-dark)}.eng-exact-app .engineer-update-actions .primary{background:linear-gradient(135deg,var(--forest),var(--forest-3));border-color:transparent;box-shadow:0 3px 10px #1f5d5029}.eng-exact-app .summary-main{background:linear-gradient(135deg,var(--forest-2) 0%,var(--forest) 72%,var(--forest-3) 100%);border:1px solid color-mix(in srgb,var(--forest-2) 68%,#0f172a 32%);box-shadow:inset 0 1px #ffffff1a,0 7px 16px #163f3726}.eng-exact-app .summary-main:after{content:"";display:block;height:2px;margin-top:10px;border-radius:99px;background:linear-gradient(90deg,var(--gold),transparent)}.eng-exact-app .mini-stat,.eng-exact-app .pulse-card{background:linear-gradient(180deg,#fff,var(--panel-soft));border:1px solid var(--line);border-color:var(--line);box-shadow:0 1px 3px #152f2708}.eng-exact-app .pulse-card:nth-child(1){box-shadow:inset 3px 0 0 var(--forest),0 1px 3px #152f2708}.eng-exact-app .pulse-card:nth-child(2){box-shadow:inset 3px 0 0 var(--violet),0 1px 3px #152f2708}.eng-exact-app .pulse-card:nth-child(3){box-shadow:inset 3px 0 0 var(--blue),0 1px 3px #152f2708}.eng-exact-app .pulse-card:nth-child(4){box-shadow:inset 3px 0 0 var(--gold),0 1px 3px #152f2708}.eng-exact-app .pulse-card.alert b{color:var(--violet)}.eng-exact-app .compact-row,.eng-exact-app .trade-row,.eng-exact-app .notice,.eng-exact-app .event,.eng-exact-app .task{border:1px solid var(--line);border-color:var(--line);transition:background var(--ease),border-color var(--ease),box-shadow var(--ease),transform var(--ease)}.eng-exact-app .compact-row:nth-child(2n){background:#fbfcfb}.eng-exact-app .compact-row:hover,.eng-exact-app .trade-row:hover,.eng-exact-app .notice:hover,.eng-exact-app .event:hover,.eng-exact-app .task:hover{background:color-mix(in srgb,var(--accent-base) 5%,white 95%);border-color:color-mix(in srgb,var(--accent-base) 18%,#d5ddd9 82%);box-shadow:var(--shadow-soft)}.eng-exact-app .status-action{border-color:var(--line)}.eng-exact-app .status-action[data-status=DONE],.eng-exact-app .status-action[data-status=YES]{color:color-mix(in srgb,var(--accent-base) 72%,#147c5c 28%);background:color-mix(in srgb,var(--accent-base) 9%,white 91%)}.eng-exact-app .status-action[data-status=CHECK],.eng-exact-app .status-action[data-status=WAIT]{color:#9b650d;background:#fff5df}.eng-exact-app .status-action[data-status=HOLD],.eng-exact-app .status-action[data-status=NO]{color:#b93a31;background:#fff0ee}.eng-exact-app .card-action,.eng-exact-app .zone-title button,.eng-exact-app .activity-summary button{color:var(--forest)}.eng-exact-app .notice.critical{border-color:#f1c9c5;background:#fff8f7;box-shadow:inset 3px 0 0 var(--red)}.eng-exact-app .notice.warning{border-color:#edd9aa;background:#fffdf7;box-shadow:inset 3px 0 0 var(--amber)}.eng-exact-app .critical .notice-icon{background:var(--red-bg);color:var(--red)}.eng-exact-app .warning .notice-icon{background:var(--amber-bg);color:#a76605}.eng-exact-app .right-dock{background:linear-gradient(180deg,#fff,#fbfcfb);border-left-color:var(--line)}.eng-exact-app .dock-head{border-bottom-color:var(--line);background:linear-gradient(180deg,#fff,#fafcfb)}.eng-exact-app .dock-head .eyebrow{color:var(--forest);font-weight:800}.eng-exact-app .dock-filter{border-color:var(--line);transition:all var(--ease)}.eng-exact-app .dock-filter:hover{background:color-mix(in srgb,var(--accent-base) 5%,white 95%);color:var(--forest)}.eng-exact-app .dock-filter.active{background:linear-gradient(135deg,var(--forest),var(--forest-3));border-color:transparent;color:#fff;box-shadow:0 3px 10px #1f5d5029}.eng-exact-app .task{box-shadow:0 1px 3px #152f2708}.eng-exact-app .task:hover{transform:translateY(-1px)}.eng-exact-app .task-type{background:var(--blue-bg);color:var(--blue)}.eng-exact-app .task[data-task="3"] .task-type{background:var(--violet-bg);color:var(--violet)}.eng-exact-app .task[data-task="4"] .task-type{background:var(--cyan-bg);color:var(--cyan)}.eng-exact-app .task[data-task="5"] .task-type{background:var(--gold-soft);color:var(--gold-dark)}.eng-exact-app .task.urgent{border-color:#efc9c5;box-shadow:inset 3px 0 0 var(--red),0 1px 3px #152f2708}.eng-exact-app .task.urgent .task-type{background:var(--red-bg);color:var(--red)}.eng-exact-app .task-priority{background:var(--amber)}.eng-exact-app .urgent .task-priority{background:var(--red);box-shadow:0 0 0 3px var(--red-bg)}.eng-exact-app .task-actions .approve{color:var(--forest)}.eng-exact-app .task-actions .approve:hover{background:var(--mint-soft)}.eng-exact-app .task-actions .reject:hover{background:var(--red-bg)}.eng-exact-app .dock-footer{background:#f7faf8;border-top-color:var(--line)}.eng-exact-app .crew-focus{background:linear-gradient(135deg,var(--forest-2),var(--forest-3));box-shadow:0 8px 20px #163f3729}.eng-exact-app .crew-metric{border-color:var(--line);box-shadow:var(--shadow-soft)}.eng-exact-app .crew-metric:nth-child(2){box-shadow:inset 3px 0 color-mix(in srgb,var(--accent-base) 78%,#16865f 22%),var(--shadow-soft)}.eng-exact-app .crew-metric:nth-child(3){box-shadow:inset 3px 0 0 var(--red),var(--shadow-soft)}.eng-exact-app .crew-metric:nth-child(4){box-shadow:inset 3px 0 0 var(--gold),var(--shadow-soft)}.eng-exact-app .crew-toolbar{border-color:var(--line);box-shadow:var(--shadow-soft)}.eng-exact-app .crew-filter.active{background:var(--mint-soft);color:var(--forest);border-color:color-mix(in srgb,var(--accent-base) 24%,white 76%)}.eng-exact-app .crew-action-btn.primary{background:linear-gradient(135deg,var(--forest),var(--forest-3));border-color:transparent;box-shadow:0 3px 10px #1f5d5029}.eng-exact-app .crew-chip{background:color-mix(in srgb,var(--accent-base) 9%,white 91%);color:color-mix(in srgb,var(--accent-base) 72%,#147c5c 28%)}.eng-exact-app .crew-chip.warn{background:var(--amber-bg);color:#9b650d}.eng-exact-app .crew-chip.danger{background:var(--red-bg);color:var(--red)}.eng-exact-app .worker-avatar{background:var(--mint-soft);color:var(--forest)}.eng-exact-app .worker-status.present{color:color-mix(in srgb,var(--accent-base) 72%,#147c5c 28%)}.eng-exact-app .worker-status.absent{color:var(--red)}.eng-exact-app .worker-status.break{color:#9b650d}.eng-exact-app .crew-table th{background:#f7faf8}.eng-exact-app .crew-table tbody tr:nth-child(2n){background:#fbfcfb}.eng-exact-app .crew-table tbody tr:hover{background:color-mix(in srgb,var(--accent-base) 6%,white 94%)}.eng-exact-app .crew-table tbody tr.crew-row-clickable{cursor:pointer}.eng-exact-app .crew-table tbody tr.crew-row-clickable:focus-visible{outline:2px solid var(--brand-border, var(--accent-base));outline-offset:-2px}.eng-exact-app .request-dialog,.eng-exact-app .interaction-dialog{border-color:var(--line);box-shadow:0 26px 72px #122e2538}.eng-exact-app .request-dialog-head,.eng-exact-app .interaction-head{background:linear-gradient(180deg,#fff,#fafcfb);border-bottom-color:var(--line)}.eng-exact-app .request-form input,.eng-exact-app .request-form select,.eng-exact-app .request-form textarea,.eng-exact-app .interaction-body input,.eng-exact-app .interaction-body select,.eng-exact-app .interaction-body textarea{border-color:var(--line-dark);background:#fbfcfb;transition:border-color var(--ease),box-shadow var(--ease),background var(--ease)}.eng-exact-app .request-form input:focus,.eng-exact-app .request-form select:focus,.eng-exact-app .request-form textarea:focus,.eng-exact-app .interaction-body input:focus,.eng-exact-app .interaction-body select:focus,.eng-exact-app .interaction-body textarea:focus{outline:none;background:#fff;border-color:var(--forest);box-shadow:0 0 0 3px #1f5d501a}.eng-exact-app .request-dialog-actions,.eng-exact-app .interaction-actions{background:#f7faf8;border-top-color:var(--line)}.eng-exact-app .toast{background:var(--forest-2);box-shadow:0 12px 30px #163f3747}@media(max-width:950px){.eng-exact-app .context-strip{height:auto;min-height:86px;flex-wrap:wrap;padding:14px 16px}}.eng-exact-app{--brand-navy:var(--forest-2);--brand-navy-2:var(--forest-2);--brand-navy-3:var(--accent-base);--brand-gold:var(--accent-glow);--brand-gold-bright:color-mix(in srgb,var(--accent-base) 40%,white 60%)}.eng-exact-app .logo-mark{width:38px;height:38px;padding:0;overflow:hidden;border-radius:11px;background:linear-gradient(135deg,var(--forest-2),var(--accent-base))!important;border:1px solid color-mix(in srgb,var(--accent-base) 72%,#fff 28%);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-base) 18%,transparent),0 3px 10px color-mix(in srgb,var(--accent-base) 22%,transparent)!important}.eng-exact-app .logo-mark img{width:100%;height:100%;display:block;object-fit:cover}.eng-exact-app .context-strip{background:linear-gradient(118deg,var(--forest-2) 0%,var(--accent-base) 58%,color-mix(in srgb,var(--accent-base) 88%,white 12%) 100%)!important;box-shadow:0 8px 24px color-mix(in srgb,var(--accent-base) 28%,transparent)!important}.eng-exact-app .context-strip:before{background:linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),radial-gradient(circle at 13% 42%,color-mix(in srgb,var(--accent-base) 25%,transparent),transparent 36%)!important;background-size:32px 32px,32px 32px,auto!important}.eng-exact-app .progress-ring{background:conic-gradient(var(--brand-gold-bright) 0 50%,rgba(255,255,255,.14) 50% 100%)!important}.eng-exact-app .progress-ring:after{background:color-mix(in srgb,var(--accent-base) 86%,black 22%)!important}.eng-exact-app .summary-main{background:linear-gradient(135deg,var(--forest-2),var(--accent-base) 78%)!important;border:1px solid color-mix(in srgb,var(--accent-base) 70%,#0f172a 30%)!important;box-shadow:inset 0 1px #ffffff14,0 7px 18px color-mix(in srgb,var(--accent-base) 28%,transparent)!important}.eng-exact-app .nav-item.active{background:var(--metal-gradient)!important;color:#fff!important;box-shadow:0 5px 14px color-mix(in srgb,var(--accent-base) 28%,transparent),inset 0 1px #ffffff40!important}.eng-exact-app .floor-workspace{display:block;min-height:0;background:var(--panel,#fff);overflow:visible!important}.eng-exact-app #floorContent{height:auto;min-height:0;overflow:visible;padding-bottom:8px}.eng-exact-app .floor-tabs{flex:0 0 auto}.eng-exact-app .floor-tab{min-width:auto;text-align:center}.eng-exact-app .floor-tab.active{box-shadow:0 2px 8px color-mix(in srgb,var(--accent-base) 28%,transparent)!important}.eng-exact-app .project-area{min-height:0}.eng-exact-app .entry-command{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;margin-bottom:12px;border:1px solid color-mix(in srgb,var(--accent-base) 22%,var(--line));border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-base) 7%,white 93%),#fff);box-shadow:0 4px 14px #08111f0d;min-width:0}.eng-exact-app .entry-command-copy{min-width:0;flex:1 1 auto}.eng-exact-app .entry-command-copy b{display:block;font-size:11px;color:var(--ink)}.eng-exact-app .entry-command-copy small{display:block;margin-top:3px;font-size:9px;color:var(--muted)}.eng-exact-app .eng-proj-bill-scope{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.eng-exact-app .eng-proj-bill-scope-label{font-size:10px;font-weight:700;color:var(--muted);white-space:nowrap}.eng-exact-app .eng-proj-bill-scope select{height:32px;min-width:148px;padding:0 32px 0 12px;border:1px solid var(--line,#e8e2d6);border-radius:9px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:12px;font-weight:700;color:var(--ink);cursor:pointer}.eng-exact-app .eng-proj-bill-scope select:focus-visible{outline:none;border-color:color-mix(in srgb,var(--accent-base) 40%,var(--line,#e8e2d6))}.eng-exact-app .entry-command-actions{display:flex;gap:7px;flex-wrap:nowrap;flex:0 0 auto;align-items:center;justify-content:flex-end}.eng-exact-app .entry-command-actions .eng-proj-bills-search{height:32px;flex:0 0 220px;width:220px;min-width:180px;max-width:220px}.eng-exact-app .entry-btn{height:32px;padding:0 11px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:9px;font-weight:800;color:var(--ink);white-space:nowrap;flex-shrink:0;transition:transform var(--ease),background var(--ease),border-color var(--ease)}.eng-exact-app .entry-btn:hover{transform:translateY(-1px);background:var(--panel-soft);border-color:color-mix(in srgb,var(--accent-base) 32%,var(--line))}.eng-exact-app .entry-btn.primary{background:var(--metal-gradient);border-color:transparent;color:#fff;box-shadow:inset 0 1px #ffffff4d}.eng-exact-app .data-list{display:flex;flex-direction:column;gap:8px}.eng-exact-app .data-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(120px,.8fr) minmax(90px,.5fr) auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:#fff}.eng-exact-app .data-row--with-alert{grid-template-columns:14px minmax(0,1.5fr) minmax(120px,.8fr) minmax(90px,.5fr) auto}.eng-exact-app .data-row-alert{display:flex;align-items:center;justify-content:center;align-self:center;min-height:7px}.eng-exact-app .data-row--needs-action{border-color:color-mix(in srgb,var(--red,#c44b43) 28%,var(--line));background:color-mix(in srgb,var(--red,#c44b43) 3%,#fff 97%)}.eng-exact-app .data-row:hover{background:color-mix(in srgb,var(--accent-base) 4%,white 96%)}.eng-exact-app .data-row--needs-action:hover{background:color-mix(in srgb,var(--red,#c44b43) 5%,#fff 95%)}.eng-exact-app .data-row b{display:block;font-size:10px}.eng-exact-app .data-row small{display:block;margin-top:2px;font-size:8px;color:var(--muted)}.eng-exact-app .data-row .mono{font-size:8.5px}.eng-exact-app .row-actions-inline{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.eng-exact-app .row-actions-inline button:not(.row-action-btn){height:30px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:10px;font-weight:750}.eng-exact-app .row-actions-inline button:not(.row-action-btn):hover{background:var(--panel-soft)}.eng-exact-app .photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.eng-exact-app .photo-card{border:1px solid var(--line);border-radius:11px;overflow:hidden;background:#fff}.eng-exact-app .photo-thumb{aspect-ratio:4/3;background:linear-gradient(135deg,#dfe7e2,#f8faf9);display:grid;place-items:center;color:var(--muted);font-size:9px;overflow:hidden}.eng-exact-app .photo-thumb-static{position:relative;font-size:11px;font-weight:800;letter-spacing:.08em;color:#64748b}.eng-exact-app .photo-thumb-static-art{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.eng-exact-app .photo-thumb-static span{position:relative;z-index:1;padding:4px 8px;border-radius:999px;background:#ffffffc7}.eng-exact-app .photo-thumb-open{cursor:pointer}.eng-exact-app .photo-thumb-static.is-video{background:linear-gradient(135deg,#d7dde8,#eef2f7)}.eng-exact-app .photo-thumb-image{cursor:pointer}.eng-exact-app .photo-thumb-image img,.eng-exact-app .photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.eng-exact-app .photo-thumb-video{cursor:pointer}.eng-exact-app .photo-thumb-loading{animation:eng-photo-pulse 1.2s ease-in-out infinite}@keyframes eng-photo-pulse{0%,to{opacity:1}50%{opacity:.55}}.eng-exact-app .photo-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px}.eng-exact-app .photo-meta b{display:block;font-size:9px}.eng-exact-app .photo-meta small{display:block;font-size:7.5px;color:var(--muted);margin-top:2px}.eng-exact-app .photo-meta button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:5px 7px;font-size:8px;font-weight:800}@media(max-width:900px){.eng-exact-app .entry-command{align-items:flex-start;flex-direction:column}.eng-exact-app .entry-command-actions{width:100%;flex-wrap:wrap}.eng-exact-app .entry-command-actions .eng-proj-bill-scope{flex:1 1 auto}.eng-exact-app .entry-command-actions .eng-proj-bills-search{flex:1 1 180px;width:auto;max-width:100%}.eng-exact-app .data-row{grid-template-columns:1fr}.eng-exact-app .data-row.data-row--issue{grid-template-columns:minmax(0,1fr) 72px 72px auto}.eng-exact-app .data-row.data-row--issue>.row-actions-inline{width:auto;min-width:0;max-width:none;grid-column:1 / -1;justify-content:flex-start}.eng-exact-app .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.eng-exact-app .module-shell{display:flex;flex-direction:column;gap:14px;min-height:680px;width:100%;max-width:100%;min-width:0;box-sizing:border-box}.eng-exact-app .module-hero{position:relative;overflow:hidden;border-radius:14px;padding:20px 22px;background:linear-gradient(118deg,var(--forest-2) 0%,var(--accent-base) 58%,color-mix(in srgb,var(--accent-base) 88%,white 12%) 100%);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:0 8px 24px color-mix(in srgb,var(--accent-base) 28%,transparent)}.eng-exact-app .module-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:linear-gradient(90deg,#000,transparent 88%);mask-image:linear-gradient(90deg,#000,transparent 88%)}.eng-exact-app .module-hero-copy,.eng-exact-app .module-hero-actions{position:relative;z-index:1}.eng-exact-app .module-hero .eyebrow{color:color-mix(in srgb,var(--accent-glow) 78%,white 22%);margin-bottom:6px}.eng-exact-app .module-hero h2{margin:0;font-size:var(--fs-xl,18px);letter-spacing:-.02em}.eng-exact-app .module-hero p{margin:6px 0 0;color:#ffffffa3;font-size:var(--fs-sm,12px);max-width:680px}.eng-exact-app .module-hero-actions{display:flex;gap:8px;flex-wrap:wrap}.eng-exact-app .module-tabs{display:flex;align-items:center;gap:4px;padding:5px;background:#fff;border:1px solid var(--hairline);border-radius:12px;box-shadow:var(--shadow-1);overflow:auto}.eng-exact-app .module-tab{height:34px;padding:0 13px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:11px;font-weight:750;white-space:nowrap}.eng-exact-app .module-tab:hover{background:var(--panel-soft);color:var(--ink)}.eng-exact-app .module-tab.active{background:color-mix(in srgb,var(--accent-base) 12%,#fff);color:var(--forest,var(--accent-base));box-shadow:inset 0 -2px 0 var(--accent-base);border:1px solid color-mix(in srgb,var(--accent-base) 22%,transparent)}.eng-exact-app .metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.eng-exact-app .metric-card{background:#fff;border:1px solid var(--hairline);border-radius:13px;padding:15px;box-shadow:var(--shadow-1);position:relative;overflow:hidden}.eng-exact-app .metric-card:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:3px;background:var(--accent-base)}.eng-exact-app .metric-card.warn:before{background:#c2571f}.eng-exact-app .metric-card.info:before{background:#315f86}.eng-exact-app .metric-card.good:before{background:#1f7a5b}.eng-exact-app .metric-card small{display:block;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.eng-exact-app .metric-card b{display:block;margin-top:7px;font-size:var(--fs-stat,16px);letter-spacing:-.02em}.eng-exact-app .metric-card span{display:block;margin-top:5px;color:var(--muted);font-size:var(--fs-xs,11px)}.eng-exact-app .module-panel{background:#fff;border:1px solid var(--hairline);border-radius:14px;box-shadow:var(--shadow-1);overflow:hidden}.eng-exact-app .module-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--hairline)}.eng-exact-app .module-panel-head h3{margin:0;font-size:14px}.eng-exact-app .module-panel-head p{margin:3px 0 0;color:var(--muted);font-size:10px}.eng-exact-app .module-panel-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.eng-exact-app .module-btn{height:34px;padding:0 12px;border-radius:9px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:10.5px;font-weight:750;display:inline-flex;align-items:center;gap:6px}.eng-exact-app .module-btn:hover{background:var(--panel-soft);transform:translateY(-1px)}.eng-exact-app .module-btn.primary{background:var(--metal-gradient);color:#fff;border-color:transparent;box-shadow:inset 0 1px #ffffff40}.eng-exact-app .module-btn.navy{background:var(--forest-2);color:#fff;border-color:transparent}.eng-exact-app .module-btn.danger{color:#9a3426;border-color:#efcfc9;background:#fff7f5}.eng-exact-app .module-btn.small{height:28px;padding:0 9px;font-size:9.5px}.eng-exact-app .module-table-wrap{overflow:auto;max-height:460px}.eng-exact-app .vendor-table-action,.management-module .vendor-table-action{width:52px;text-align:center}.management-module .module-table--vendors tbody tr.vendor-row-clickable{cursor:pointer}.management-module .module-table--vendors tbody tr.vendor-row-clickable:hover{background:#faf6ef}.management-module .module-table--vendors tbody tr.vendor-row-clickable:focus-visible{outline:2px solid color-mix(in srgb,var(--brand) 45%,transparent);outline-offset:-2px}.proc-vendor-drawer__status.is-neutral{background:#f1f5f9;border-color:#cbd5e1;color:#475569}.eng-exact-app .vendor-edit-btn,.management-module .vendor-edit-btn{width:32px;height:32px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--portfolio-muted, var(--muted));display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.eng-exact-app .vendor-edit-btn .app-icon,.management-module .vendor-edit-btn .app-icon,.eng-exact-app .vendor-edit-btn svg,.management-module .vendor-edit-btn svg{display:block;pointer-events:none}.eng-exact-app .vendor-edit-btn:hover,.management-module .vendor-edit-btn:hover{background:color-mix(in srgb,var(--portfolio-accent, var(--accent-base)) 10%,#fff);color:var(--portfolio-accent, var(--accent-base))}.eng-exact-app .module-table{width:100%;border-collapse:collapse}.eng-exact-app .module-table th{position:sticky;top:0;z-index:1;background:var(--panel-soft);padding:10px 13px;text-align:left;color:var(--muted);font-size:8.5px;letter-spacing:.07em;text-transform:uppercase;border-bottom:1px solid var(--hairline);white-space:nowrap}.eng-exact-app .module-table td{padding:11px 13px;border-bottom:1px solid var(--hairline);font-size:10.5px;vertical-align:middle}.eng-exact-app .module-table tbody tr:hover{background:color-mix(in srgb,var(--accent-base) 4%,white 96%)}.eng-exact-app .module-table tbody td{font-weight:var(--fw-regular,400)}.eng-exact-app .module-table tbody td:first-child b{display:block;font-size:11px;font-weight:var(--fw-bold,700)}.eng-exact-app .module-table tbody td:not(:first-child) b,.eng-exact-app .module-table tbody td:not(:first-child) strong{font-weight:var(--fw-regular,400)}.eng-exact-app .module-table td small{display:block;margin-top:2px;color:var(--muted);font-size:9px}.eng-exact-app .row-actions{display:flex;gap:5px;justify-content:flex-end;white-space:nowrap}.eng-exact-app .status-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;font-size:8.5px;font-weight:800;background:var(--panel-soft);color:var(--muted)}.eng-exact-app .status-badge.approved,.eng-exact-app .status-badge.received,.eng-exact-app .status-badge.completed{background:#e3f2ec;color:#1f6e53}.eng-exact-app .status-badge.pending,.eng-exact-app .status-badge.ordered,.eng-exact-app .status-badge.in-progress{background:#fff0dc;color:#93511f}.eng-exact-app .status-badge.review,.eng-exact-app .status-badge.quoted{background:#e7eef7;color:#315f86}.eng-exact-app .status-badge.delayed,.eng-exact-app .status-badge.rejected,.eng-exact-app .status-badge.blocked{background:#f9e6e2;color:#a33d2c}.eng-exact-app .module-grid-2{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:12px}.eng-exact-app .module-side-card{background:#fff;border:1px solid var(--hairline);border-radius:14px;padding:15px;box-shadow:var(--shadow-1)}.eng-exact-app .module-side-card h3{margin:0 0 12px;font-size:13px}.eng-exact-app .activity-list{display:flex;flex-direction:column;gap:9px}.eng-exact-app .activity-item{display:grid;grid-template-columns:7px 1fr auto;gap:9px;align-items:start;padding-bottom:9px;border-bottom:1px solid var(--hairline)}.eng-exact-app .activity-item:last-child{border-bottom:0;padding-bottom:0}.eng-exact-app .activity-dot{width:7px;height:7px;border-radius:50%;background:var(--accent-base);margin-top:4px}.eng-exact-app .activity-item b{display:block;font-size:10.5px}.eng-exact-app .activity-item small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.eng-exact-app .activity-item time{font-size:8.5px;color:var(--muted)}.eng-exact-app .filter-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 14px;border-bottom:1px solid var(--hairline);background:var(--panel-soft)}.eng-exact-app .filter-bar input,.eng-exact-app .filter-bar select{height:33px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 10px;font-size:10px;outline:none}.eng-exact-app .filter-bar input:focus,.eng-exact-app .filter-bar select:focus{border-color:var(--accent-base);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-base) 8%,transparent)}.eng-exact-app .filter-bar .grow{flex:1;min-width:180px}.eng-exact-app .report-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.eng-exact-app .report-card{background:#fff;border:1px solid var(--hairline);border-radius:14px;padding:15px;box-shadow:var(--shadow-1);transition:transform var(--ease),box-shadow var(--ease)}.eng-exact-app .report-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}.eng-exact-app .report-card-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--metal-gradient);color:#fff;font-weight:850}.eng-exact-app .report-card h3{margin:12px 0 4px;font-size:13px}.eng-exact-app .report-card p{margin:0;color:var(--muted);font-size:9.5px;line-height:1.5}.eng-exact-app .report-card-actions{display:flex;gap:6px;margin-top:12px}.eng-exact-app .chart-box{height:220px;padding:16px;display:flex;align-items:flex-end;gap:10px;border-top:1px solid var(--hairline);background:linear-gradient(180deg,#fff,var(--panel-soft))}.eng-exact-app .chart-bar{flex:1;min-width:24px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent-base) 75%,white 25%),var(--accent-base));border-radius:7px 7px 2px 2px;position:relative;box-shadow:inset 0 1px #ffffff47}.eng-exact-app .chart-bar span{position:absolute;left:50%;bottom:-20px;transform:translate(-50%);font-size:8px;color:var(--muted);white-space:nowrap}.eng-exact-app .chart-bar b{position:absolute;left:50%;top:-18px;transform:translate(-50%);font-size:8.5px}.eng-exact-app .module-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:250;display:none;align-items:center;justify-content:center;padding:20px;background:#060f1b8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.eng-exact-app .module-modal.open{display:flex}.eng-exact-app .module-dialog{width:min(560px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:15px;box-shadow:0 26px 70px #07111f4d}.eng-exact-app .module-dialog-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--hairline)}.eng-exact-app .module-dialog-head h3{margin:0;font-size:15px}.eng-exact-app .module-dialog-head button{border:0;background:transparent;font-size:20px}.eng-exact-app .module-form{padding:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.eng-exact-app .module-form label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.eng-exact-app .module-form label.full{grid-column:1/-1}.eng-exact-app .module-form input,.eng-exact-app .module-form select,.eng-exact-app .module-form textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:9px 10px;background:#fff;font-size:11px;outline:none;text-transform:none;letter-spacing:normal;color:var(--ink)}.eng-exact-app .module-form textarea{min-height:84px;resize:vertical}.eng-exact-app .module-form input:focus,.eng-exact-app .module-form select:focus,.eng-exact-app .module-form textarea:focus{border-color:var(--accent-base);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-base) 8%,transparent)}.eng-exact-app .module-dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:14px 18px;border-top:1px solid var(--hairline);background:var(--panel-soft)}@media(max-width:1100px){.eng-exact-app .module-grid-2{grid-template-columns:1fr}.eng-exact-app .report-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.eng-exact-app .module-hero{align-items:flex-start;flex-direction:column}.eng-exact-app .report-cards,.eng-exact-app .module-form{grid-template-columns:1fr}.eng-exact-app .module-form label.full{grid-column:auto}}.eng-exact-app .crew-page-streamlined{gap:14px}.eng-exact-app .crew-page-streamlined .crew-hero{grid-template-columns:minmax(320px,1.55fr) repeat(3,minmax(130px,.55fr))}.eng-exact-app .crew-attention-strip{border:1px solid var(--hairline);border-radius:14px;background:#fff;box-shadow:var(--shadow-1,0 1px 2px rgba(14,38,32,.05));padding:14px}.eng-exact-app .crew-attention-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.eng-exact-app .crew-attention-head h3{margin:2px 0 0;font-size:var(--fs-md,14px);letter-spacing:-.01em}.eng-exact-app .crew-section-kicker{font-size:8.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--forest)}.eng-exact-app .crew-attention-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.eng-exact-app .crew-alert-card{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;border-radius:11px;border:1px solid var(--line);background:var(--panel-soft,#f6f8f7);min-width:0}.eng-exact-app .crew-alert-card .crew-alert-icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;font-size:13px;font-weight:900;background:var(--mint);color:var(--forest)}.eng-exact-app .crew-alert-card b{display:block;font-size:10.5px;margin-bottom:3px}.eng-exact-app .crew-alert-card small{display:block;font-size:8px;line-height:1.45;color:var(--muted)}.eng-exact-app .crew-alert-card button{border:0;background:transparent;color:var(--forest);font-size:8.5px;font-weight:800;padding:6px;white-space:nowrap}.eng-exact-app .crew-alert-card.danger{background:var(--red-bg);border-color:color-mix(in srgb,var(--red) 20%,white)}.eng-exact-app .crew-alert-card.danger .crew-alert-icon{background:#fff;color:var(--red)}.eng-exact-app .crew-alert-card.warning{background:var(--amber-bg);border-color:color-mix(in srgb,var(--amber) 20%,white)}.eng-exact-app .crew-alert-card.warning .crew-alert-icon{background:#fff;color:var(--amber)}.eng-exact-app .crew-roster-panel{width:100%;box-shadow:var(--shadow)}.eng-exact-app .crew-roster-head{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px 16px;flex-wrap:wrap;padding:14px 16px}.eng-exact-app .crew-roster-copy{min-width:0;flex:0 1 auto}.eng-exact-app .crew-roster-head h3{margin:0;font-size:18px;font-weight:800;letter-spacing:-.02em;color:var(--ink);line-height:1.2}.eng-exact-app .crew-roster-head p{margin:4px 0 0;max-width:none;font-size:12px;font-weight:600;color:var(--muted);line-height:1.35}.eng-exact-app .crew-roster-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto;flex-wrap:nowrap;width:max-content;max-width:100%;margin-left:auto}.eng-exact-app .crew-roster-date-picker{display:inline-flex;align-items:center;flex:0 0 auto;width:max-content}.eng-exact-app .crew-roster-search{display:flex;align-items:center;gap:8px;flex:0 0 240px;width:240px;max-width:240px;min-width:240px;height:38px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--muted)}.eng-exact-app .crew-roster-search:focus-within{border-color:color-mix(in srgb,var(--accent-base) 40%,var(--line));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-base) 12%,transparent)}.eng-exact-app .crew-roster-search input{border:0;background:transparent;padding:0;min-width:0;flex:1;height:100%;font-size:13px;color:var(--ink)}.eng-exact-app .crew-roster-search input:focus{outline:none}.eng-exact-app .crew-roster-search input::placeholder{color:var(--muted)}.eng-exact-app .crew-roster-date-picker .time-date-picker-wrap{display:inline-flex;width:max-content;flex:0 0 auto}.eng-exact-app .crew-roster-date-picker .time-date-picker-btn{flex:0 0 auto;width:auto;min-width:0}.eng-exact-app .crew-roster-date-picker .time-date-picker-label{min-width:0;font-size:14px;font-weight:700;letter-spacing:.01em}.eng-exact-app .crew-roster-date-picker .time-date-picker-icon{font-size:15px}.eng-exact-app .crew-roster-date-picker .time-date-picker-icon svg{width:16px;height:16px}.eng-exact-app .crew-roster-date-picker .time-date-picker-btn,.eng-exact-app .crew-roster-date-picker .time-date-picker-nav{height:38px;min-height:38px}.eng-exact-app .crew-roster-actions>button{height:38px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--forest);font-size:13px;font-weight:800}.eng-exact-app .crew-roster-actions>button.crew-add-btn{background:var(--accent-base);border-color:transparent;color:#fff!important;cursor:pointer;white-space:nowrap}.eng-exact-app .crew-roster-actions>button.crew-add-btn:hover{filter:brightness(1.06)}@media(max-width:900px){.eng-exact-app .crew-roster-head{flex-direction:column;align-items:stretch}.eng-exact-app .crew-roster-actions{width:max-content;max-width:100%;margin-left:0;justify-content:flex-start;flex-wrap:wrap;gap:8px}.eng-exact-app .crew-roster-search{flex:0 0 240px;width:240px;max-width:240px;min-width:200px}.eng-exact-app .crew-roster-date-picker{width:max-content}.eng-exact-app .crew-roster-actions>button.crew-add-btn{width:auto}}.eng-exact-app .crew-live-count{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:var(--mint);color:var(--forest);padding:6px 9px;font-size:8.5px;font-weight:800}.eng-exact-app .crew-live-count i{width:6px;height:6px;border-radius:50%;background:var(--forest);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-base) 14%,transparent)}.eng-exact-app.crew-roster-view .workspace{grid-template-columns:220px minmax(0,1fr) 272px}.eng-exact-app.crew-roster-view .project-area{padding:12px 14px 16px}.eng-exact-app.crew-roster-view .crew-page,.eng-exact-app.crew-roster-view .crew-page-streamlined{padding:0;gap:12px;max-width:none;width:100%}.eng-exact-app.crew-roster-view .crew-roster-panel{border-radius:14px;overflow:hidden;border:1px solid var(--hairline);box-shadow:0 4px 18px #0e26200a}.eng-exact-app.crew-roster-view .crew-table-wrap-pro{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch}.eng-exact-app.crew-roster-view .crew-table-pro{width:max(100%,1180px);min-width:1180px;table-layout:fixed;border-collapse:separate;border-spacing:0}.eng-exact-app.crew-roster-view .crew-table-pro col.crew-col-worker{width:16%}.eng-exact-app.crew-roster-view .crew-table-pro col.crew-col-emirates{width:14%}.eng-exact-app.crew-roster-view .crew-table-pro col.crew-col-visa{width:10%}.eng-exact-app.crew-roster-view .crew-table-pro col.crew-col-specialization{width:11%}.eng-exact-app.crew-roster-view .crew-table-pro col.crew-col-project{width:10%}.eng-exact-app.crew-roster-view .crew-table-pro col.crew-col-status,.eng-exact-app.crew-roster-view .crew-table-pro col.crew-col-clock-in,.eng-exact-app.crew-roster-view .crew-table-pro col.crew-col-clock-out{width:9%}.eng-exact-app.crew-roster-view .crew-table-pro col.crew-col-hours{width:6%}.eng-exact-app.crew-roster-view .crew-table-pro col.crew-col-actions{width:8%}.eng-exact-app.crew-roster-view .crew-table-pro th{position:sticky;top:0;z-index:2;height:42px;padding:0 12px;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:#f7faf8;border-bottom:1px solid var(--hairline);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eng-exact-app.crew-roster-view .crew-table-pro td{height:56px;max-width:0;padding:10px 12px;font-size:12px;line-height:1.35;vertical-align:middle;border-bottom:1px solid var(--hairline);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eng-exact-app.crew-roster-view .crew-table-pro td.crew-td-worker,.eng-exact-app.crew-roster-view .crew-table-pro td.crew-col-actions{max-width:none;overflow:visible;text-overflow:clip;white-space:normal}.eng-exact-app.crew-roster-view .crew-table-pro td.crew-td-emirates,.eng-exact-app.crew-roster-view .crew-table-pro td.crew-td-visa,.eng-exact-app.crew-roster-view .crew-table-pro td.crew-td-specialization,.eng-exact-app.crew-roster-view .crew-table-pro td.crew-td-project{font-variant-numeric:tabular-nums}.eng-exact-app.crew-roster-view .crew-table-pro tbody tr:last-child td{border-bottom:0}.eng-exact-app.crew-roster-view .crew-table-pro tbody tr:nth-child(2n){background:#fbfcfb}.eng-exact-app.crew-roster-view .crew-table-pro tbody tr:hover{background:color-mix(in srgb,var(--accent-base) 5%,white 95%)}.eng-exact-app.crew-roster-view .crew-table-pro tbody tr.crew-row-clickable{cursor:pointer}.eng-exact-app.crew-roster-view .crew-table-pro tbody tr.crew-row-clickable:focus-visible{outline:2px solid var(--brand-border, var(--accent-base));outline-offset:-2px}.eng-exact-app.crew-roster-view .crew-table-pro td.mono{font-family:var(--font-mono);font-size:11.5px;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.eng-exact-app.crew-roster-view .worker-name b{font-size:12.5px;font-weight:700;color:var(--ink);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eng-exact-app.crew-roster-view .worker-name{min-width:0}.eng-exact-app.crew-roster-view .worker-name>span{min-width:0;overflow:hidden}.eng-exact-app.crew-roster-view .worker-avatar{width:32px;height:32px;border-radius:10px;font-size:11px}.eng-exact-app.crew-roster-view .worker-status{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;font-family:inherit;font-size:10px;font-weight:800;letter-spacing:.02em;white-space:nowrap}.eng-exact-app.crew-roster-view .worker-status.present{background:color-mix(in srgb,var(--accent-base) 10%,white);color:var(--forest)}.eng-exact-app.crew-roster-view .worker-status.absent{background:var(--red-bg);color:var(--red)}.eng-exact-app.crew-roster-view .worker-status.edit-pending{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}.eng-exact-app.crew-roster-view .crew-correction-reason{max-width:100%;font-size:10px;margin-top:3px}.eng-exact-app.crew-roster-view .crew-table .time-correction-cell{gap:5px;font-size:11.5px}.eng-exact-app.crew-roster-view .crew-col-actions{width:auto;min-width:72px;text-align:center}.eng-exact-app.crew-roster-view .crew-row-review{align-items:center;gap:6px}.eng-exact-app.crew-roster-view .crew-row-review-scope{font-size:9px;letter-spacing:.07em}.eng-exact-app.crew-roster-view .crew-row-review-btns{gap:6px}.eng-exact-app.crew-roster-view .crew-review-btn{min-width:68px;height:30px;padding:0 12px;border-radius:8px;font-size:10.5px;font-weight:800;white-space:nowrap}@media(max-width:1280px){.eng-exact-app.crew-roster-view .workspace{grid-template-columns:200px minmax(0,1fr) 260px}}.eng-exact-app .crew-row-alert{background:color-mix(in srgb,var(--red-bg) 55%,white)}.eng-exact-app .crew-row-alert:hover{background:color-mix(in srgb,var(--red-bg) 75%,white)!important}.eng-exact-app .crew-row-pending-edit{background:color-mix(in srgb,#fef3c7 45%,white)}.eng-exact-app .crew-row-pending-edit:hover{background:color-mix(in srgb,#fef3c7 65%,white)!important}.eng-exact-app .worker-status.edit-pending{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}.eng-exact-app .crew-table .time-correction-cell{font-size:inherit;gap:3px}.eng-exact-app .crew-table .time-correction-old{font-size:.92em}.eng-exact-app .crew-table .time-correction-new{color:var(--brand-ink,#92400e)}.eng-exact-app .crew-correction-reason{display:block;margin-top:2px;font-size:9px;font-weight:500;color:var(--muted);line-height:1.3;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eng-exact-app .crew-col-actions{width:88px;min-width:72px;text-align:center;white-space:nowrap;vertical-align:middle}.eng-exact-app .crew-table-pro th.crew-col-actions,.eng-exact-app .crew-table-pro td.crew-col-actions{text-align:center}.eng-exact-app .crew-row-actions-inner{display:flex;align-items:center;justify-content:center;width:100%;min-height:28px}.eng-exact-app .crew-row-review{display:flex;flex-direction:column;align-items:center;gap:4px}.eng-exact-app .crew-row-review-scope{font-size:8px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#92400e}.eng-exact-app .crew-row-review-btns{display:flex;gap:4px;flex-wrap:nowrap}.eng-exact-app .crew-review-btn{border:1px solid var(--line);border-radius:999px;padding:4px 8px;font-size:9px;font-weight:700;cursor:pointer;background:#fff;color:var(--ink)}.eng-exact-app .crew-review-btn.approve{border-color:var(--forest);background:var(--forest);color:#fff}.eng-exact-app .crew-review-btn.approve:hover:not(:disabled){background:color-mix(in srgb,var(--forest) 88%,black 12%);color:#fff}.eng-exact-app .crew-review-btn.reject{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.eng-exact-app .crew-review-btn.reject:hover:not(:disabled){background:#fee2e2;color:#991b1b}.eng-exact-app .crew-review-btn:disabled{opacity:.55;cursor:not-allowed}.eng-exact-app .crew-row-review-empty{color:var(--faint)}.eng-exact-app .crew-edit-time-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);cursor:pointer;padding:0}.eng-exact-app .crew-edit-time-btn:hover:not(:disabled){border-color:#93c5fd;color:var(--brand);background:var(--brand-soft)}.eng-exact-app .crew-edit-time-btn:disabled{opacity:.45;cursor:not-allowed}.eng-exact-app.crew-roster-view .crew-review-btn.approve{background:var(--forest);border-color:var(--forest);color:#fff}.eng-exact-app.crew-roster-view .crew-review-btn.approve:hover:not(:disabled){background:color-mix(in srgb,var(--forest) 88%,black 12%);color:#fff}.eng-exact-app.crew-roster-view .crew-review-btn.reject{border-color:#fca5a5;background:#fff5f5;color:#b91c1c}.eng-exact-app.crew-roster-view .crew-review-btn.reject:hover:not(:disabled){background:#fee2e2;color:#991b1b}.eng-exact-app .crew-page-streamlined .crew-table th{height:36px;padding:0 14px}.eng-exact-app .crew-page-streamlined .crew-table td{height:48px;padding:0 14px}@media(max-width:1100px){.eng-exact-app .crew-page-streamlined .crew-hero{grid-template-columns:1fr 1fr}.eng-exact-app .crew-attention-grid{grid-template-columns:1fr}.eng-exact-app .crew-alert-card{grid-template-columns:32px 1fr auto}}@media(max-width:700px){.eng-exact-app .crew-page-streamlined .crew-hero{grid-template-columns:1fr}.eng-exact-app .crew-attention-head{align-items:flex-start;flex-direction:column}.eng-exact-app .crew-alert-card{grid-template-columns:32px 1fr}.eng-exact-app .crew-alert-card button{grid-column:2;justify-self:start;padding-left:0}}.eng-exact-app .today-grid.streamlined{grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);align-items:start}.eng-exact-app .today-main,.eng-exact-app .today-side{min-width:0}.eng-exact-app .issue-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-sm)}.eng-exact-app .issue-table{width:100%;border-collapse:collapse;min-width:760px}.eng-exact-app .issue-table th{padding:11px 14px;text-align:left;background:var(--surface-soft);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line)}.eng-exact-app .issue-table td{padding:13px 14px;border-bottom:1px solid var(--line);font-size:12px;vertical-align:middle}.eng-exact-app .issue-table tbody tr:last-child td{border-bottom:0}.eng-exact-app .issue-table tbody tr:hover{background:var(--accent-soft)}.eng-exact-app .issue-table td:first-child b{display:block;font-size:12.5px}.eng-exact-app .issue-table td:first-child small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.eng-exact-app .issue-priority,.eng-exact-app .issue-status{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:9.5px;font-weight:800;white-space:nowrap}.eng-exact-app .issue-priority.low{background:#eef2f0;color:#64736d}.eng-exact-app .issue-priority.medium{background:#fff4d8;color:#8a6115}.eng-exact-app .issue-priority.high,.eng-exact-app .issue-priority.critical,.eng-exact-app .issue-status.open{background:#fde7e3;color:#a23a2b}.eng-exact-app .issue-status.under-review{background:#eee9fb;color:#6f4ab3}.eng-exact-app .issue-status.in-progress{background:#e6f0ff;color:#2f65a7}.eng-exact-app .issue-status.resolved,.eng-exact-app .issue-status.closed{background:#e4f3ec;color:#247457}.eng-exact-app .table-action{height:30px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--accent);font-size:10.5px;font-weight:800}.eng-exact-app .table-action:hover{background:var(--accent-soft)}@media(max-width:1080px){.eng-exact-app .today-grid.streamlined{grid-template-columns:1fr}.eng-exact-app .today-side{order:2}}.eng-exact-app.no-dock .workspace{grid-template-columns:260px minmax(0,1fr)}.eng-exact-app.decision-dock-off .workspace{grid-template-columns:220px minmax(0,1fr)}.eng-exact-app.admin-module-active .right-dock{display:none!important}@media(max-width:1180px){.eng-exact-app.decision-dock-off .workspace{grid-template-columns:200px 1fr}}.eng-exact-app .exact-outlet-host{grid-template-rows:1fr;min-height:calc(100vh - 54px)}.eng-exact-app .exact-outlet{padding:16px 18px 24px;min-height:calc(100vh - 54px);overflow:auto;background:var(--bg)}.eng-exact-app .exact-embedded-screen{min-height:0;overflow:auto;padding:4px 2px 16px}.eng-exact-app .center:has(.exact-embedded-ar),.eng-exact-app .center:has(.exact-embedded-attendance){overflow:hidden!important;min-height:0!important;height:100%!important;display:flex!important;flex-direction:column!important}.eng-exact-app .exact-embedded-screen.exact-embedded-ar,.eng-exact-app .exact-embedded-screen.exact-embedded-attendance{flex:1 1 auto;min-height:0;height:100%;max-height:100%;overflow-x:hidden;overflow-y:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:8px 16px 32px}.eng-exact-app .exact-embedded-screen.exact-embedded-ar[data-testid=project-manager-issues-scroll]{overflow:hidden!important;display:flex;flex-direction:column;padding:8px 16px 10px}.eng-exact-app .exact-embedded-crew-allocation{min-height:0;height:100%;overflow:hidden;padding:0;display:flex;flex-direction:column}.eng-exact-app .exact-embedded-crew-allocation #crewAllocation,.eng-exact-app .exact-embedded-crew-allocation #crewAllocation.view,.eng-exact-app .exact-embedded-crew-allocation #crewAllocation .html-screen-mount,.eng-exact-app .exact-embedded-crew-allocation #crewAllocation .html-screen-mount>.crew-alloc-root{flex:1;min-height:0;height:100%;width:100%;max-width:none;display:flex;flex-direction:column;overflow:hidden;margin:0;padding:0}.eng-exact-app.crew-allocation-embed .project-area{flex:1 1 auto;min-height:0;overflow:hidden}.eng-exact-app .exact-embedded-screen .view{padding:0}.eng-exact-app .exact-embedded-screen .workspace-page-header{margin-bottom:12px}.eng-exact-app .exact-embedded-procurement .section-head.ws-legacy-page-head{display:none!important}.eng-exact-app .exact-embedded-procurement .proc-tabs,.eng-exact-app .exact-embedded-procurement .rpt-tabs,.eng-exact-app .exact-embedded-procurement .proc-tabs--org{display:flex;width:100%;max-width:none;overflow-x:auto;flex-wrap:nowrap;box-sizing:border-box}.eng-exact-app .exact-embedded-procurement,.eng-exact-app .exact-embedded-procurement #inventory,.eng-exact-app .exact-embedded-procurement #inventory.route-screen,.eng-exact-app .exact-embedded-procurement .html-screen-mount,.eng-exact-app .exact-embedded-procurement .proc-panel,.eng-exact-app .exact-embedded-procurement .proc-panel--card,.eng-exact-app .exact-embedded-procurement .proc-kpi-grid{display:block;width:100%;max-width:none;min-width:0;box-sizing:border-box}.eng-exact-app .exact-embedded-procurement .proc-kpi-grid{display:flex}.eng-exact-app .exact-embedded-screen.exact-embedded-procurement{width:100%;max-width:none;min-width:0;padding:0;overflow:visible}.eng-exact-app .center>.project-area:has(.exact-embedded-procurement){min-width:0;width:100%;max-width:none}.eng-exact-app .exact-embedded-procurement .proc-table-wrap{max-height:min(58vh,520px);max-width:100%;min-width:0;width:100%;overflow-x:auto;overflow-y:auto;border-color:var(--hairline);border-radius:10px;-webkit-overflow-scrolling:touch}.eng-exact-app .exact-embedded-procurement .proc-data-table{width:100%;min-width:100%;table-layout:auto}.eng-exact-app .exact-embedded-procurement .proc-data-table thead th{background:var(--panel-soft);font-size:8.5px;letter-spacing:.07em;padding:8px 10px}.eng-exact-app .exact-embedded-procurement .proc-data-table tbody td{font-size:10.5px;padding:9px 10px}.eng-exact-app .exact-embedded-procurement .proc-data-table .qa-btn{font-size:10px;padding:3px 8px}.eng-exact-app .exact-embedded-procurement .proc-data-table tbody tr:hover{background:color-mix(in srgb,var(--accent-base) 4%,white 96%)}.eng-exact-app .exact-embedded-procurement .proc-data-table td.proc-action-cell,.eng-exact-app .exact-embedded-procurement .proc-data-table th.proc-action-head{overflow:visible;white-space:normal;min-width:120px;vertical-align:middle}.eng-exact-app .exact-embedded-procurement .proc-req-actions.proc-req-actions--icons{width:max-content;min-width:0;max-width:none}.eng-exact-app .exact-embedded-procurement .proc-req-actions .req-icon-btn{width:34px;height:34px;border-radius:10px}.eng-exact-app .exact-embedded-procurement .proc-req-actions.proc-req-actions--stacked{width:min(100%,200px);min-width:148px;max-width:200px}.eng-exact-app .exact-embedded-procurement .proc-req-actions .req-approve-btn,.eng-exact-app .exact-embedded-procurement .proc-req-actions .req-reject-btn{font-size:11px;padding:5px 8px}.eng-exact-app .exact-embedded-ppe{padding:0 2px 12px}.eng-exact-app .exact-embedded-ppe #proj-ppe-view,.eng-exact-app .exact-embedded-ppe .ppe-route-root,.eng-exact-app .exact-embedded-ppe .view{padding:0;min-height:0}.eng-exact-app .exact-embedded-ppe .cmd-back-bar{margin:0 0 10px;padding:10px 12px;border:1px solid var(--hairline);border-radius:12px;background:var(--card,#fff);box-shadow:var(--shadow-soft)}.eng-exact-app .exact-embedded-ppe .ppe-header-row{display:flex;align-items:center;gap:12px;flex-wrap:nowrap}.eng-exact-app .exact-embedded-ppe .ppe-header-kpis{flex:1 1 auto;min-width:0;margin:0;padding:0;border:none;border-radius:0;box-shadow:none;background:transparent}.eng-exact-app .exact-embedded-ppe .ppe-header-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto;flex-wrap:nowrap;margin-left:auto}.eng-exact-app .exact-embedded-ppe .cmd-breadcrumb,.eng-exact-app .exact-embedded-ppe .cmd-back-btn{font-size:10px}.eng-exact-app .exact-embedded-ppe .cmd-action-btn,.eng-exact-app .exact-embedded-ppe .qa-btn,.eng-exact-app .exact-embedded-ppe .rpt-export-btn{min-height:32px;padding:0 11px;font-size:10px;font-weight:800;border-radius:9px}.eng-exact-app .exact-embedded-ppe .ds-headcount-row{margin-bottom:10px;padding:12px 14px;border-radius:12px;border:1px solid var(--hairline);box-shadow:var(--shadow-soft);background:var(--card,#fff)}.eng-exact-app .exact-embedded-ppe .ppe-header-row .ds-headcount-row{margin-bottom:0;padding:0;border:none;box-shadow:none;background:transparent}.eng-exact-app .exact-embedded-ppe .ds-headcount-row .ds-hc-card,.eng-exact-app .exact-embedded-ppe .ds-headcount-row button.ds-hc-card{border:none;background:transparent;box-shadow:none}.eng-exact-app .exact-embedded-ppe .ds-headcount-row button.ds-hc-card:hover{background:var(--panel-soft,#f8fafc);border-radius:8px}.eng-exact-app .exact-embedded-ppe .ds-hc-num{font-size:var(--fs-stat,16px)}.eng-exact-app .exact-embedded-ppe .ds-hc-label,.eng-exact-app .exact-embedded-ppe .ppe-status-tab,.eng-exact-app .exact-embedded-ppe .enq-col-title{font-size:9px}.eng-exact-app .exact-embedded-ppe .enq-pipeline{gap:8px;padding-bottom:8px;margin-bottom:10px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.eng-exact-app .exact-embedded-ppe .enq-col{min-width:168px;border-color:var(--hairline);border-radius:12px}.eng-exact-app .exact-embedded-ppe .enq-card{border-color:var(--hairline);border-radius:10px;font-size:10px}.eng-exact-app .exact-embedded-ppe .enq-card-client{font-size:11px;font-weight:800}.eng-exact-app .exact-embedded-ppe .ppe-tab-bar{margin-bottom:10px;padding:0;border:none;border-radius:0;background:transparent;box-shadow:none;gap:5px}.eng-exact-app .exact-embedded-ppe .ppe-status-tabs{padding-bottom:10px;margin-bottom:4px}.eng-exact-app .exact-embedded-ppe .ppe-tab{font-size:10px;padding:6px 11px;border-color:var(--hairline);font-weight:650}.eng-exact-app .exact-embedded-ppe .ppe-enq-view-toggle .roster-view-toggle{border:1px solid var(--hairline);background:var(--panel-soft)}.eng-exact-app .exact-embedded-ppe .ppe-enq-view-toggle .roster-view-btn.active{background:var(--accent-base,var(--brand));color:#fff!important;box-shadow:none}.eng-exact-app .exact-embedded-ppe .ppe-enq-table-wrap{max-width:100%;overflow-x:auto}.eng-exact-app .exact-embedded-ppe .ppe-enq-table th,.eng-exact-app .exact-embedded-ppe .ppe-enq-table td{border-color:var(--hairline,var(--line))}.eng-exact-app .exact-embedded-ppe .ppe-tab.active{background:var(--metal-gradient);border-color:transparent;color:#fff;font-weight:800;box-shadow:inset 0 1px #ffffff38,0 1px 2px #0e26201a}.eng-exact-app .exact-embedded-ppe .ppe-panel.active{padding-top:2px}.eng-exact-app .exact-embedded-ppe #ppe-workspace-root>.card,.eng-exact-app .exact-embedded-ppe .pc-est-builder,.eng-exact-app .exact-embedded-ppe .boq-builder{border:1px solid var(--hairline);border-radius:12px;box-shadow:var(--shadow-soft);background:#fff;overflow:hidden}.eng-exact-app .exact-embedded-ppe .pc-est-builder-head,.eng-exact-app .exact-embedded-ppe .boq-builder-head{padding:12px 14px 10px;border-bottom-color:var(--hairline);background:#fff;gap:10px;align-items:center}.eng-exact-app .exact-embedded-ppe .pc-est-builder-title,.eng-exact-app .exact-embedded-ppe .boq-builder-title{font-size:var(--fs-md,14px);font-weight:800;letter-spacing:-.01em;color:var(--ink)}.eng-exact-app .exact-embedded-ppe .pc-est-builder-sub,.eng-exact-app .exact-embedded-ppe .boq-builder-sub{margin-top:2px;font-size:var(--fs-2xs,10px);color:var(--muted);line-height:1.35}.eng-exact-app .exact-embedded-ppe .pc-est-builder-actions .qa-btn-primary,.eng-exact-app .exact-embedded-ppe .boq-builder-actions .qa-btn-primary,.eng-exact-app .exact-embedded-ppe .section-head .qa-btn-primary{min-height:32px;padding:0 12px;font-size:10px;font-weight:800;border-radius:9px;background:var(--metal-gradient);border-color:transparent;color:#fff;box-shadow:inset 0 1px #ffffff38,0 1px 2px #0e26201a}.eng-exact-app .exact-embedded-ppe .boq-builder-actions .rpt-export-btn{min-height:32px;padding:0 11px;font-size:10px;border-radius:9px}.eng-exact-app .exact-embedded-ppe .pc-est-table-shell,.eng-exact-app .exact-embedded-ppe .boq-table-shell{border-top:1px solid var(--hairline);max-height:min(52vh,480px)}.eng-exact-app .exact-embedded-ppe .pc-est-table,.eng-exact-app .exact-embedded-ppe .boq-table{min-width:640px}.eng-exact-app .exact-embedded-ppe .pc-est-table thead th,.eng-exact-app .exact-embedded-ppe .boq-table thead th{height:34px;padding:0 12px;font-size:var(--fs-2xs,10px);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:#f7faf8;border-bottom:1px solid var(--hairline)}.eng-exact-app .exact-embedded-ppe .pc-est-table td,.eng-exact-app .exact-embedded-ppe .boq-table td{padding:6px 10px;font-size:var(--fs-xs,11px);border-bottom:1px solid color-mix(in srgb,var(--line) 65%,white);vertical-align:middle}.eng-exact-app .exact-embedded-ppe .pc-est-table .boq-input,.eng-exact-app .exact-embedded-ppe .boq-table .boq-input,.eng-exact-app .exact-embedded-ppe .pc-est-input{min-height:30px;height:30px;padding:0 8px;font-size:var(--fs-xs,11px);border:1px solid var(--hairline);border-radius:8px;background:#fbfcfb;box-shadow:none}.eng-exact-app .exact-embedded-ppe .pc-est-table .boq-input:focus,.eng-exact-app .exact-embedded-ppe .boq-table .boq-input:focus,.eng-exact-app .exact-embedded-ppe .pc-est-input:focus{outline:none;border-color:color-mix(in srgb,var(--accent-base) 42%,var(--line));background:#fff;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-base) 12%,transparent)}.eng-exact-app .exact-embedded-ppe .ppe-mat-row-total,.eng-exact-app .exact-embedded-ppe .pc-est-table td[style*="color:var(--blue)"]{font-size:var(--fs-xs,11px)!important;font-weight:800!important;color:var(--forest)!important}.eng-exact-app .exact-embedded-ppe .pc-est-table tfoot tr,.eng-exact-app .exact-embedded-ppe .pc-est-table tbody tr[style*=ecfdf5]{background:color-mix(in srgb,var(--accent-base) 7%,#fff)!important}.eng-exact-app .exact-embedded-ppe .pc-est-table tfoot td{padding:10px 12px!important;font-size:var(--fs-xs,11px)!important;font-weight:800!important;border-top:1px solid var(--hairline);border-bottom:none}.eng-exact-app .exact-embedded-ppe .pc-est-table tfoot td[id=ppe-material-total],.eng-exact-app .exact-embedded-ppe .pc-est-table tfoot td[style*="color:var(--green)"]{font-size:var(--fs-stat,16px)!important;color:var(--forest)!important}.eng-exact-app .exact-embedded-ppe .pc-est-table .req-reject-btn,.eng-exact-app .exact-embedded-ppe .boq-table .req-reject-btn,.eng-exact-app .exact-embedded-ppe .boq-del-btn{border:0;background:transparent;color:var(--red);font-size:var(--fs-2xs,10px);font-weight:800;padding:4px 6px;box-shadow:none}.eng-exact-app .exact-embedded-ppe .pc-est-desktop-card{padding:10px 12px 12px}.eng-exact-app .exact-embedded-ppe .est-row-header{font-size:var(--fs-2xs,10px);padding:6px 0;border-bottom:1px solid var(--hairline);color:var(--muted)}.eng-exact-app .exact-embedded-ppe .est-row{padding:6px 0;font-size:var(--fs-xs,11px);border-bottom-color:color-mix(in srgb,var(--line) 65%,white)}.eng-exact-app .exact-embedded-ppe .est-input{min-height:30px;padding:0 8px;font-size:var(--fs-xs,11px);border-radius:8px;border-color:var(--hairline);background:#fbfcfb}.eng-exact-app .exact-embedded-ppe .pc-est-desktop-foot{margin-top:8px;padding-top:10px;border-top:1px solid var(--hairline)}.eng-exact-app .exact-embedded-ppe .pc-est-desktop-foot span{font-size:var(--fs-xs,11px)}.eng-exact-app .exact-embedded-ppe .pc-est-desktop-foot strong,.eng-exact-app .exact-embedded-ppe .pc-est-grand strong{font-size:var(--fs-stat,16px);color:var(--forest)}.eng-exact-app .exact-embedded-ppe .boq-summary{padding:10px 12px;gap:8px;background:#f7faf8;border-bottom:1px solid var(--hairline)}.eng-exact-app .exact-embedded-ppe .boq-summary-cell{padding:8px 10px;border-radius:10px;border-color:var(--hairline)}.eng-exact-app .exact-embedded-ppe .boq-summary-label{font-size:var(--fs-2xs,10px)}.eng-exact-app .exact-embedded-ppe .boq-summary-value{font-size:var(--fs-sm,12px)}.eng-exact-app .exact-embedded-ppe .section-head{margin-bottom:8px!important;font-size:var(--fs-sm,12px)}.eng-exact-app .exact-embedded-ppe .section-head>div{font-size:var(--fs-sm,12px)!important;font-weight:800}.eng-exact-app .exact-embedded-ppe .proj-doc-action{font-size:var(--fs-2xs,10px);font-weight:800;padding:6px 10px;border-radius:8px}.eng-exact-app .exact-embedded-screen .html-screen-mount{min-height:0}.eng-exact-app .exact-embedded-procurement .proc-tabs,.eng-exact-app .exact-embedded-procurement .tabs.proc-tabs{margin:0 0 12px;padding:0;border:none;border-bottom:none;border-radius:0;background:transparent;box-shadow:none}.eng-exact-app .exact-embedded-procurement .proc-tabs .tab.active,.eng-exact-app .exact-embedded-procurement .proc-tabs--org .tab.active{background:var(--accent-base);border-color:var(--accent-base);color:#fff;box-shadow:0 2px 8px color-mix(in srgb,var(--accent-base) 28%,transparent)}.eng-exact-app .exact-embedded-procurement .proc-tabs .tab.active .app-icon{color:inherit;opacity:1}.eng-exact-app .exact-embedded-procurement .proc-subnav-btn.active .proc-subnav-count{background:#ffffff38;color:#fff}.eng-exact-app .proc-exact-tabs .floor-tab{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;min-height:36px;padding:0 14px;border:1px solid var(--line,#e8e2d6);border-radius:8px;background:#fff;color:#475569;font-size:11px;font-weight:700;white-space:nowrap;flex:0 0 auto;box-shadow:0 1px 2px #1f1c170a;transition:background var(--ease),color var(--ease),border-color var(--ease),box-shadow var(--ease)}.eng-exact-app .proc-exact-tabs .floor-tab:hover{border-color:#d9d0c4;color:#334155}.eng-exact-app .proc-exact-tabs .floor-tab .app-icon{flex:0 0 auto}.eng-exact-app .proc-exact-tabs .floor-tab>span{line-height:1}.eng-exact-app .proc-exact-tabs .floor-tab.active{background:var(--accent-base);border-color:var(--accent-base);color:#fff;box-shadow:0 2px 8px color-mix(in srgb,var(--accent-base) 28%,transparent)}.eng-exact-app .exact-tenant-card{margin:0 4px 4px;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:var(--panel-soft)}.eng-exact-app .exact-tenant-card b{display:block;font-size:12px}.eng-exact-app .exact-tenant-card small{display:block;margin-top:3px;font-size:10px;color:var(--muted)}.eng-exact-app .exact-date-pill{height:34px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:#fff;display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--muted);white-space:nowrap}.eng-exact-app .exact-date-pill b{color:var(--ink);font-weight:700}.eng-exact-app a.nav-item{text-decoration:none}.eng-exact-app .exact-nav-glyph{display:none}.eng-exact-app .exact-nav-icon{display:inline-grid;place-items:center;width:16px;opacity:.9}.eng-exact-app .nav-item.active .exact-nav-icon{opacity:1}.eng-exact-app .top-actions .notif-btn{width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:var(--panel);box-shadow:none;transition:background var(--ease),border-color var(--ease),transform var(--ease)}.eng-exact-app .top-actions .notif-btn:hover,.eng-exact-app .top-actions .notif-btn:focus-visible{background:color-mix(in srgb,var(--accent-base) 6%,white 94%);border-color:var(--line-dark);box-shadow:none;transform:translateY(-1px)}.eng-exact-app .top-actions .profile-btn{width:34px;height:34px;border:none;border-radius:50%;background:transparent;box-shadow:none}.eng-exact-app .top-actions .profile-btn:hover,.eng-exact-app .top-actions .profile-btn[aria-expanded=true]{border:none;background:transparent;box-shadow:none;transform:translateY(-1px)}.eng-exact-app .project-area.exact-embedded{padding:0!important;min-height:0!important;height:100%;overflow:auto;-webkit-overflow-scrolling:touch;background:var(--bg)}.eng-exact-app .exact-embedded-stack{display:flex;flex-direction:column;min-height:100%}.eng-exact-app .exact-embedded-toolbar{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:5}.eng-exact-app .exact-embedded-toolbar span{font-size:11px;color:var(--muted)}.eng-exact-app .project-area.exact-embedded .view,.eng-exact-app .project-area.exact-embedded section.view{padding:16px 18px 24px}.eng-exact-app .center:has(.exact-embedded){display:flex;flex-direction:column}.eng-exact-app .center:has(.exact-embedded) .project-area.exact-embedded{flex:1}.eng-exact-app .center .context-strip{height:auto!important;min-height:64px!important;padding:10px 14px!important;gap:14px!important}.eng-exact-app .center .context-primary{min-width:200px!important}.eng-exact-app .center .context-primary h1{font-size:var(--fs-lg,16px)!important;margin-bottom:3px!important;letter-spacing:-.01em!important}.eng-exact-app .center .context-primary p{font-size:var(--fs-xs,11px)!important}.eng-exact-app .center .progress-wrap{gap:8px!important;min-width:140px!important}.eng-exact-app .center .progress-ring{width:40px!important;height:40px!important}.eng-exact-app .center .progress-ring:after{width:30px!important;height:30px!important}.eng-exact-app .center .progress-ring span{font-size:var(--fs-2xs,10px)!important}.eng-exact-app .center .progress-copy b{font-size:var(--fs-sm,12px)!important}.eng-exact-app .center .progress-copy small{font-size:var(--fs-2xs,10px)!important}.eng-exact-app .center .context-stat{padding:5px 0 5px 12px!important;min-width:60px!important}.eng-exact-app .center .context-stat b{font-size:var(--fs-stat,16px)!important}.eng-exact-app .center .context-stat small{font-size:var(--fs-2xs,10px)!important}.eng-exact-app .center .context-strip--all-projects{min-height:52px!important;padding:8px 14px!important}.eng-exact-app .center .project-area{padding:12px 14px!important;gap:12px!important}.eng-exact-app .center .floor-workspace{border-radius:12px!important}.eng-exact-app .center .panel-head{height:44px!important;padding:0 14px!important}.eng-exact-app .center .panel-head h2{font-size:var(--fs-md,14px)!important}.eng-exact-app .center .panel-head p{font-size:var(--fs-xs,11px)!important;margin-top:1px!important}.eng-exact-app .center .panel-head .btn,.eng-exact-app .center .btn{min-height:30px!important;padding:6px 10px!important;font-size:var(--fs-xs,11px)!important;border-radius:8px!important}.eng-exact-app .center .floor-tabs{padding:8px 12px!important;gap:6px!important}.eng-exact-app .center .floor-tab{padding:6px 11px!important;font-size:var(--fs-xs,11px)!important;border-radius:999px!important;min-width:0!important;gap:5px!important}.eng-exact-app .center .quick-action-strip{padding:10px 12px!important}.eng-exact-app .center .quick-action-head{margin-bottom:8px!important}.eng-exact-app .center .quick-action-head strong{font-size:var(--fs-xs,11px)!important}.eng-exact-app .center .quick-action-head span{font-size:var(--fs-2xs,10px)!important}.eng-exact-app .center .quick-actions{gap:6px!important}.eng-exact-app .center .quick-action{padding:8px 7px!important;border-radius:8px!important;gap:6px!important}.eng-exact-app .center .quick-action .qa-icon{width:22px!important;height:22px!important;border-radius:6px!important;font-size:var(--fs-xs,11px)!important}.eng-exact-app .center .quick-action b{font-size:var(--fs-xs,11px)!important}.eng-exact-app .center .quick-action small{font-size:var(--fs-2xs,10px)!important;margin-top:1px!important}.eng-exact-app .center .engineer-update-bar{padding:8px 12px!important;gap:8px!important}.eng-exact-app .center .engineer-update-bar b{font-size:var(--fs-xs,11px)!important}.eng-exact-app .center .engineer-update-bar small{font-size:var(--fs-2xs,10px)!important}.eng-exact-app .center .engineer-update-actions{gap:6px!important}.eng-exact-app .center .engineer-update-actions button{padding:6px 9px!important;font-size:var(--fs-2xs,10px)!important;border-radius:7px!important}.eng-exact-app .center .floor-summary{padding:10px 12px!important;gap:8px!important}.eng-exact-app .center .summary-main{padding:10px 12px!important;border-radius:10px!important}.eng-exact-app .center .summary-main span{font-size:var(--fs-2xs,10px)!important}.eng-exact-app .center .summary-main h3{font-size:var(--fs-md,14px)!important;margin:4px 0 2px!important}.eng-exact-app .center .summary-main p{font-size:var(--fs-xs,11px)!important}.eng-exact-app .center .summary-main:after{margin-top:6px!important;height:1.5px!important}.eng-exact-app .center .mini-stat{padding:8px 10px!important;border-radius:10px!important}.eng-exact-app .center .mini-stat span{font-size:var(--fs-2xs,10px)!important}.eng-exact-app .center .mini-stat b{font-size:var(--fs-sm,12px)!important;margin-top:3px!important;line-height:1.35!important;font-weight:600!important;word-break:break-word!important}.eng-exact-app .center .mini-stat em{font-size:var(--fs-2xs,10px)!important}.eng-exact-app .center .editable-card{padding-right:40px!important}.eng-exact-app .center .editable-card .card-action{right:8px!important;top:7px!important;font-size:var(--fs-2xs,10px)!important}.eng-exact-app .center .work-content{padding:12px!important}.eng-exact-app .center .entry-command{padding:10px 12px!important;margin-bottom:10px!important;gap:10px!important;border-radius:10px!important}.eng-exact-app .center .entry-command-copy b{font-size:var(--fs-sm,12px)!important}.eng-exact-app .center .entry-command-copy small{font-size:var(--fs-2xs,10px)!important;margin-top:2px!important}.eng-exact-app .center .entry-command-actions{gap:6px!important;flex-wrap:nowrap!important;flex-shrink:0!important}.eng-exact-app .entry-command--drawings .entry-command-actions,.eng-exact-app .center .entry-command--drawings .entry-command-actions{flex-wrap:wrap!important;overflow:visible}.eng-exact-app .center .entry-command-actions .eng-proj-bills-search{height:28px!important;flex:0 0 180px;width:180px;min-width:150px;max-width:180px}.eng-exact-app .center .eng-proj-bill-scope select{height:28px!important;min-width:132px;font-size:var(--fs-2xs,10px)!important}.eng-exact-app .center .entry-btn{height:28px!important;padding:0 10px!important;font-size:var(--fs-2xs,10px)!important;border-radius:7px!important}.eng-exact-app .center .project-pulse{gap:8px!important;margin-bottom:12px!important}.eng-exact-app .center .pulse-card{padding:10px!important;border-radius:10px!important}.eng-exact-app .center .pulse-card .label{font-size:var(--fs-2xs,10px)!important}.eng-exact-app .center .pulse-card b{font-size:var(--fs-sm,12px)!important;margin:3px 0 2px!important}.eng-exact-app .center .pulse-card small{font-size:var(--fs-2xs,10px)!important}.eng-exact-app .center .today-grid{gap:12px!important}.eng-exact-app .center .zone-title{margin-bottom:8px!important}.eng-exact-app .center .zone-title h3,.eng-exact-app .center .zone-title button{font-size:var(--fs-xs,11px)!important}.eng-exact-app .center .compact-list{gap:6px!important}.eng-exact-app .center .compact-row{padding:8px 10px!important;border-radius:8px!important;gap:6px!important}.eng-exact-app .center .compact-row b{font-size:var(--fs-sm,12px)!important}.eng-exact-app .center .compact-row small{font-size:var(--fs-2xs,10px)!important}.eng-exact-app .center .status-action{padding:4px 7px!important;font-size:var(--fs-2xs,10px)!important;border-radius:6px!important;min-width:44px!important}.eng-exact-app .center .issue-table th,.eng-exact-app .center .issue-table td{padding:8px 10px!important;font-size:var(--fs-xs,11px)!important}.eng-exact-app .center .table-action{height:26px!important;padding:0 8px!important;font-size:var(--fs-2xs,10px)!important}.eng-exact-app .center .module-shell{gap:12px!important;min-height:0!important}.eng-exact-app .center .module-hero{padding:14px 16px!important;border-radius:12px!important;gap:12px!important}.eng-exact-app .center .module-hero h2{font-size:var(--fs-xl,18px)!important}.eng-exact-app .center .module-hero p{font-size:var(--fs-sm,12px)!important}.eng-exact-app .center .metric-grid{gap:10px!important}.eng-exact-app .center .metric-card{padding:12px!important;border-radius:10px!important}.eng-exact-app .center .metric-card b{font-size:var(--fs-stat,16px)!important;margin-top:4px!important}.eng-exact-app .center .metric-card small{font-size:var(--fs-2xs,10px)!important}.eng-exact-app .center .metric-card span{font-size:var(--fs-xs,11px)!important}.eng-exact-app .center .crew-page{padding:12px!important;gap:12px!important}.eng-exact-app .center .crew-hero{gap:10px!important}.eng-exact-app .center .crew-focus{padding:14px!important}.eng-exact-app .center .crew-focus h2{font-size:var(--fs-md,14px)!important}.eng-exact-app .center .crew-metric{padding:12px!important}.eng-exact-app .center .crew-metric b{font-size:var(--fs-stat,16px)!important}.eng-exact-app .exact-embedded-screen,.eng-exact-app .project-area.exact-embedded{font-family:inherit;font-size:var(--fs-base,13px);color:var(--ink);--text:var(--ink);--muted:var(--muted);--line:var(--line)}.eng-exact-app .exact-embedded-screen h1,.eng-exact-app .exact-embedded-screen .workspace-page-title,.eng-exact-app .exact-embedded-screen .section-title,.eng-exact-app .project-area.exact-embedded h1{font-size:var(--fs-lg,16px)!important;color:var(--ink);letter-spacing:-.01em}.eng-exact-app .exact-embedded-screen h2,.eng-exact-app .exact-embedded-screen .crew-directory__title,.eng-exact-app .project-area.exact-embedded h2{font-size:var(--fs-md,14px)!important;color:var(--ink)}.eng-exact-app .exact-embedded-screen h3,.eng-exact-app .project-area.exact-embedded h3{font-size:var(--fs-sm,12px)!important;color:var(--ink)}.eng-exact-app .exact-embedded-screen,.eng-exact-app .project-area.exact-embedded{--fs-tile-name:13px}.eng-exact-app .exact-embedded-screen .member-tile-name,.eng-exact-app .exact-embedded-screen .crew-card-name,.eng-exact-app .exact-embedded-screen .project-block-name,.eng-exact-app .exact-embedded-screen .roster-site-title{font-size:var(--fs-base,13px)!important;color:var(--ink)}.eng-exact-app .exact-embedded-crew-directory .crew-dir-card__name,.eng-exact-app .exact-embedded-crew-directory .mem-gc-name{font-size:var(--fs-base,13px)!important;color:var(--accent-base, var(--brand, #18765f))!important}.eng-exact-app .exact-embedded-crew-directory .eng-req-card__btn--primary{color:#fff!important}.eng-exact-app .exact-embedded-screen .roster-summary-val,.eng-exact-app .exact-embedded-screen .entry-mini .m-val,.eng-exact-app .exact-embedded-screen .site-time-stat b{font-size:var(--fs-stat,16px)!important;color:var(--ink)}.eng-exact-app .exact-embedded-screen .crew-directory__tab{font-size:var(--fs-sm,12px)!important}.eng-exact-app .center:has(.exact-embedded-crew-directory),.eng-exact-app.decision-dock-off .center:has(.exact-embedded-crew-directory){overflow:hidden!important;display:flex!important;flex-direction:column!important;min-height:0!important}.eng-exact-app .center:has(.exact-embedded-crew-directory)>.context-strip{flex:0 0 auto!important;flex-shrink:0!important;position:relative!important;z-index:4!important}.eng-exact-app .center>.project-area:has(.exact-embedded-crew-directory){flex:1 1 auto!important;min-height:0!important;max-height:100%!important;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;display:flex!important;flex-direction:column!important;position:relative!important;z-index:1!important}.eng-exact-app .exact-embedded-crew-directory{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;min-height:0!important;height:auto!important;overflow:visible!important;padding:0 0 24px!important}.eng-exact-app .exact-embedded-crew-directory .crew-directory{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;height:auto;overflow:visible;gap:12px}.eng-exact-app .exact-embedded-crew-directory .crew-directory__nav{position:sticky;top:0;z-index:3;background:var(--bg, #fff);border:none;box-shadow:none;gap:8px;padding:0 0 8px;margin:0}.eng-exact-app .exact-embedded-crew-directory .crew-directory__tab{border:1px solid var(--hairline, var(--line));background:#fff;border-radius:999px}.eng-exact-app .exact-embedded-crew-directory .crew-directory__tab.is-active{background:var(--accent-base, var(--forest, #18765f));border-color:var(--accent-base, var(--forest, #18765f));color:#fff;box-shadow:0 2px 8px color-mix(in srgb,var(--accent-base, #18765f) 28%,transparent)}.eng-exact-app .exact-embedded-crew-directory .crew-directory__view,.eng-exact-app .exact-embedded-crew-directory .crew-directory__view--requests,.eng-exact-app .exact-embedded-crew-directory .crew-directory__view--requests .eng-crew-requests-panel{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.eng-exact-app .exact-embedded-crew-directory .eng-crew-requests-panel .eng-req-card-list{flex:1 1 auto;min-height:0;overflow-y:auto}.eng-exact-app .exact-embedded-crew-directory .crew-directory__panel:not(.crew-directory__panel--specialization-split),.eng-exact-app .exact-embedded-crew-directory .crew-directory__body{overflow:visible;height:auto;min-height:0}.eng-exact-app .exact-embedded-crew-directory .crew-directory__panel--specialization-split{min-height:min(68vh,620px);height:min(68vh,620px);overflow:hidden}.eng-exact-app .exact-embedded-crew-directory .eng-crew-req-tabs-scroll-wrap{position:sticky;top:42px;z-index:2;background:var(--bg, #fff);padding:0 0 8px;margin:0}.eng-exact-app .exact-embedded-crew-directory .eng-crew-req-tabs{position:static;top:auto;z-index:auto;background:transparent;padding:0;margin:0}.eng-exact-app .exact-embedded-crew-directory .eng-crew-req-tabs .mem-subtab.active{background:var(--accent-base, var(--forest, #18765f));color:#fff;border:none;box-shadow:none;outline:none}.eng-exact-app .exact-embedded-crew-directory .eng-crew-req-tabs .mem-subtab.active span,.eng-exact-app .exact-embedded-crew-directory .eng-crew-req-tabs .mem-subtab.active .app-icon,.eng-exact-app .exact-embedded-crew-directory .crew-directory__tab.is-active span,.eng-exact-app .exact-embedded-crew-directory .crew-directory__tab.is-active .app-icon{color:#fff}.eng-exact-app .exact-embedded-crew-directory .eng-crew-requests-search{background:#f8fbff;border-color:var(--line, var(--hairline));color:var(--muted)}.eng-exact-app .exact-embedded-crew-directory .eng-crew-requests-search:focus-within{border-color:color-mix(in srgb,var(--accent-base) 74%,white 26%);background:#fff;box-shadow:none}.eng-exact-app .exact-embedded-crew-directory .eng-crew-req-tabs .mem-subtab.active .project-allocation-subtab-count{background:#ffffff38;color:#fff}.eng-exact-app .exact-embedded-crew-directory .emp-dir-filter-bar{display:grid!important;gap:8px!important;align-items:center!important;width:100%}.eng-exact-app .exact-embedded-crew-directory .emp-dir-filter-bar--selects-4{grid-template-columns:minmax(200px,1.5fr) repeat(4,minmax(0,.72fr)) auto!important}.eng-exact-app .exact-embedded-crew-directory .emp-dir-filter-bar--selects-3{grid-template-columns:minmax(200px,1.5fr) repeat(3,minmax(0,.72fr)) auto!important}.eng-exact-app .exact-embedded-crew-directory .emp-dir-filter-bar--selects-2{grid-template-columns:minmax(200px,1.5fr) repeat(2,minmax(0,.72fr)) auto!important}.eng-exact-app .exact-embedded-crew-directory .emp-dir-filter-bar--project{grid-template-columns:minmax(140px,1.15fr) minmax(140px,1fr) repeat(2,minmax(0,.72fr)) auto!important}.eng-exact-app .exact-embedded-crew-directory .emp-dir-filter-bar__search,.eng-exact-app .exact-embedded-crew-directory .emp-dir-filter-bar__select,.eng-exact-app .exact-embedded-crew-directory .emp-dir-filter-bar__btn{height:34px;border-radius:8px;border-color:var(--line,#e8e2d6)}.eng-exact-app .exact-embedded-crew-directory .emp-dir-toolbar__sort .list-sort-trigger{height:34px;border-radius:8px;border-color:var(--line,#e8e2d6);background:#fff}.eng-exact-app .exact-embedded-screen .proc-data-table thead th,.eng-exact-app .exact-embedded-procurement .proc-data-table thead th{font-size:var(--fs-2xs,10px)!important;color:var(--muted)}.eng-exact-app .exact-embedded-screen .proc-data-table tbody td,.eng-exact-app .exact-embedded-procurement .proc-data-table tbody td{font-size:var(--fs-sm,12px)!important;color:var(--ink);font-weight:var(--fw-regular,400)}.eng-exact-app .exact-embedded-screen .proc-data-table .proc-mat-name,.eng-exact-app .exact-embedded-procurement .proc-data-table .proc-mat-name,.eng-exact-app .exact-embedded-screen .proc-data-table tbody td strong,.eng-exact-app .exact-embedded-procurement .proc-data-table tbody td strong{font-weight:var(--fw-regular,400)}.eng-exact-app .exact-embedded-screen .proc-data-table tbody td:first-child strong,.eng-exact-app .exact-embedded-procurement .proc-data-table tbody td:first-child strong,.eng-exact-app .exact-embedded-procurement .proc-data-table tbody td.proc-col-id strong{font-weight:var(--fw-bold,700)}.eng-exact-app .exact-embedded-screen .muted,.eng-exact-app .exact-embedded-screen .mem-gc-loc,.eng-exact-app .exact-embedded-screen .project-meta-label,.eng-exact-app .exact-embedded-screen .roster-summary-label{color:var(--muted)!important;font-size:var(--fs-xs,11px)}.eng-exact-app .center:has(.exact-embedded-accounts),.eng-exact-app.decision-dock-off .center:has(.exact-embedded-accounts){overflow:hidden!important;display:flex!important;flex-direction:column!important;min-height:0!important;height:100%!important}.eng-exact-app .center:has(.exact-embedded-accounts)>.context-strip{flex:0 0 auto!important;flex-shrink:0!important;position:relative!important;z-index:4!important;overflow:hidden!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:linear-gradient(118deg,var(--forest-2) 0%,var(--accent-base) 58%,color-mix(in srgb,var(--accent-base) 88%,white 12%) 100%)!important;color:#fff!important;border-bottom:0!important;box-shadow:0 8px 24px color-mix(in srgb,var(--accent-base) 28%,transparent)!important}.eng-exact-app .center:has(.exact-embedded-accounts)>.context-strip .context-primary h1{color:#fff!important}.eng-exact-app .center:has(.exact-embedded-accounts)>.context-strip .context-primary p{color:#ffffffb8!important}.eng-exact-app .center>.project-area:has(.exact-embedded-accounts){flex:1 1 auto!important;height:auto!important;min-height:0!important;max-height:none!important;overflow-x:hidden!important;overflow-y:auto!important;background:var(--acct-canvas,#f7f8f7)!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;display:flex!important;flex-direction:column!important;position:relative!important;z-index:1!important;scrollbar-gutter:stable;scrollbar-width:thin}.eng-exact-app .center>.project-area:has(.exact-embedded-accounts)::-webkit-scrollbar{width:8px}.eng-exact-app .center>.project-area:has(.exact-embedded-accounts)::-webkit-scrollbar-track{background:transparent}.eng-exact-app .center>.project-area:has(.exact-embedded-accounts)::-webkit-scrollbar-thumb{background:#94a3b873;border-radius:999px}.eng-exact-app .project-area:has(.exact-embedded-accounts)>.module-shell{display:flex;flex-direction:column;flex:0 0 auto;min-height:auto;height:auto;max-height:none;width:100%;background:transparent}.eng-exact-app .project-area:has(.exact-embedded-accounts)>.module-shell>.floor-tabs,.eng-exact-app .project-area:has(.exact-embedded-accounts)>.module-shell>.accounts-module .crew-directory__nav-scroll-wrap{position:sticky;top:0;z-index:3;background:var(--panel-soft,#fbfcfb)}.eng-exact-app .exact-embedded-accounts{display:flex;flex-direction:column;gap:18px;flex:0 0 auto;min-height:auto;min-width:0;overflow:visible!important;height:auto!important;max-height:none!important;background:var(--acct-canvas,#f7f8f7)}.eng-exact-app .accounts-module.crew-directory{display:flex;flex-direction:column;flex:0 0 auto;min-height:auto;height:auto;overflow:visible;gap:0;background:transparent}.eng-exact-app .accounts-module .accounts-module-toolbar{padding:6px 20px 22px;margin-bottom:0;border-bottom:1px solid var(--acct-line, #e3e7e4);background:var(--acct-canvas,#f7f8f7)}.eng-exact-app .accounts-module .crew-directory__nav{position:sticky;top:0;z-index:3;background:var(--panel-soft,#fbfcfb);border:none;box-shadow:none;gap:8px;padding:0;margin:0}.eng-exact-app .accounts-module .crew-directory__tab{border:1px solid var(--hairline, var(--line));background:var(--card,#fff);border-radius:999px}.eng-exact-app .accounts-module .crew-directory__tab.is-active{background:var(--accent-base, var(--forest, #18765f));border-color:var(--accent-base, var(--forest, #18765f));color:#fff;box-shadow:0 2px 8px color-mix(in srgb,var(--accent-base, #18765f) 28%,transparent)}.eng-exact-app .accounts-module .crew-directory__tab.is-active span,.eng-exact-app .accounts-module .crew-directory__tab.is-active .app-icon{color:#fff}.eng-exact-app .accounts-module .crew-directory__view{flex:0 0 auto;min-height:auto;display:flex;flex-direction:column;padding:22px 20px 20px;background:var(--acct-canvas,#f7f8f7)}.eng-exact-app .accounts-embedded-panel{border:1px solid var(--line, #e2e8f0);border-radius:12px;background:var(--card,#fff);overflow:visible}.eng-exact-app .accounts-directory-toolbar--with-aside{flex-direction:row;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.eng-exact-app .accounts-directory-toolbar__main{min-width:0;flex:1 1 200px}.eng-exact-app .accounts-directory-toolbar__aside{flex:0 0 auto;margin-left:auto}.eng-exact-app .accounts-directory-toolbar--with-aside .accounts-directory-summary{margin:0}.eng-exact-app .accounts-embedded-panel .module-panel-head{padding:14px 16px 10px;border-bottom:1px solid var(--hairline, #eef2f6)}.eng-exact-app .accounts-embedded-panel .module-panel-body,.eng-exact-app .exact-embedded-accounts .module-panel-body{padding:12px 16px 16px}.eng-exact-app .accounts-embedded-panel .module-panel-body>.list-sort-bar:first-child,.eng-exact-app .exact-embedded-accounts .module-panel-body>.list-sort-bar:first-child,.eng-exact-app .accounts-embedded-panel .module-panel-body>.list-toolbar-row:first-child,.eng-exact-app .exact-embedded-accounts .module-panel-body>.list-toolbar-row:first-child,.eng-exact-app .accounts-embedded-panel .module-panel-body>.payroll-banner-actions:first-child,.eng-exact-app .exact-embedded-accounts .module-panel-body>.payroll-banner-actions:first-child,.eng-exact-app .exact-embedded-accounts .accounts-directory-content>.payroll-stage-tabs:first-child,.eng-exact-app .exact-embedded-accounts .accounts-directory-content>.acct-payroll-flow:first-child,.eng-exact-app .exact-embedded-accounts .accounts-directory-subtabs,.eng-exact-app .exact-embedded-accounts .accounts-directory-content>.payroll-section-tabs:first-child,.eng-exact-app .exact-embedded-accounts .accounts-directory-content>.acct-subtabs:first-child{margin-top:0}.eng-exact-app .exact-embedded-accounts .accounts-directory-subtabs .acct-subtab{font-size:10px;padding:5px 10px}.eng-exact-app .exact-embedded-accounts .accounts-directory-subtabs .acct-subtab.is-active,.eng-exact-app .exact-embedded-accounts .acct-subtab.is-active{background:#202624!important;border-color:#202624!important;color:#fff!important}.eng-exact-app .exact-embedded-accounts .payroll-proto-tab.is-active,.eng-exact-app .exact-embedded-accounts .payroll-proto-tab.is-active:hover{background:#f4efe3!important;border-color:transparent!important;color:#8d6a1f!important}.eng-exact-app .exact-embedded-accounts .payroll-proto-tab{background:transparent!important;border-color:transparent!important;color:#202624!important}.eng-exact-app .exact-embedded-accounts .accounts-directory-subtabs .acct-subtab.is-active:hover,.eng-exact-app .exact-embedded-accounts .acct-subtab.is-active:hover{background:#2a312e!important;border-color:#2a312e!important;color:#fff!important}.eng-exact-app .exact-embedded-accounts .acct-flow-step.is-active{background:#f4efe3!important;border-color:#e0d3b2!important;color:#8d6a1f!important}.eng-exact-app .exact-embedded-accounts .acct-flow-step.is-done{background:#edf7f1!important;border-color:#d6eadf!important;color:#1f6b45!important}.eng-exact-app .exact-embedded-accounts .acct-flow-step{border-color:#cbd5e1;box-shadow:0 1px 2px #0f172a0a}.eng-exact-app .exact-embedded-accounts .acct-payroll-flow .acct-flow-step,.eng-exact-app .exact-embedded-accounts .payroll-stage-tabs .payroll-stage-tab{font-size:10px;padding:6px}.eng-exact-app .exact-embedded-accounts .payroll-new-run-btn,.eng-exact-app .exact-embedded-accounts .payroll-pay-bar__confirm{height:30px!important;min-height:30px!important;font-size:10px!important;padding:0 12px!important;border-radius:8px!important}.eng-exact-app .exact-embedded-accounts .payroll-period-field select{height:30px!important;font-size:11px!important}.eng-exact-app .exact-embedded-accounts .crew-directory__title{font-size:13px!important}.eng-exact-app .exact-embedded-accounts .crew-directory__count,.eng-exact-app .exact-embedded-accounts .accounts-directory-summary,.eng-exact-app .exact-embedded-accounts .eng-req-empty,.eng-exact-app .exact-embedded-accounts .eng-req-modal-sub{font-size:10px!important}.eng-exact-app .accounts-module .crew-directory__tab{font-size:10px!important;padding:5px 10px!important}.eng-exact-app .exact-embedded-accounts .accounts-embedded-panel .module-panel-head,.eng-exact-app .exact-embedded-accounts .module-panel-head{padding:10px 14px 8px!important}.eng-exact-app .exact-embedded-accounts .module-panel-head h3,.eng-exact-app .exact-embedded-accounts .module-panel-head .module-panel-title{font-size:12px!important}.eng-exact-app .exact-embedded-accounts .module-panel-head p,.eng-exact-app .exact-embedded-accounts .module-panel-head span{font-size:10px!important}.eng-exact-app .exact-embedded-accounts .acct-flow-step.is-done.is-active{background:#edf7f1!important;border-color:#d6eadf!important;color:#1f6b45!important}.eng-exact-app .exact-embedded-accounts .payroll-pay-bar,.eng-exact-app .exact-embedded-accounts .accounts-directory-content{overflow:visible}.eng-exact-app .exact-embedded-accounts .payroll-pay-bar__controls{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;margin-left:auto}.eng-exact-app .exact-embedded-accounts .payroll-pay-bar__controls select,.eng-exact-app .exact-embedded-accounts .payroll-pay-bar__controls input{border:1px solid #cbd5e1!important;background:#fff!important;color:#102033!important;pointer-events:auto!important}.eng-exact-app .exact-embedded-accounts .payroll-pay-bar__controls select{cursor:pointer!important;-moz-appearance:auto!important;appearance:auto!important;-webkit-appearance:menulist!important}.eng-exact-app .exact-embedded-accounts .payroll-pay-bar__confirm{height:30px!important;min-height:30px!important;border-radius:8px!important}.eng-exact-app .exact-embedded-accounts .acct-attendance-panel{border:1px solid var(--line,#e2e8f0);border-radius:12px;background:#fff;overflow:hidden}.eng-exact-app .exact-embedded-accounts .acct-attendance-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 16px 12px;border-bottom:1px solid var(--hairline,#eef2f6);background:#fff}.eng-exact-app .exact-embedded-accounts .acct-attendance-head__title{min-width:0;flex:1 1 160px}.eng-exact-app .exact-embedded-accounts .acct-attendance-head h3{margin:0;font-size:12px;font-weight:800}.eng-exact-app .exact-embedded-accounts .acct-attendance-head p{margin:4px 0 0;font-size:10px;color:var(--muted)}.eng-exact-app .exact-embedded-accounts .acct-attendance-head__controls{display:flex;align-items:center;gap:10px;flex:1 1 320px;justify-content:flex-end;min-width:0}.eng-exact-app .exact-embedded-accounts .acct-attendance-search{flex:1 1 180px;max-width:280px;min-width:140px}.eng-exact-app .exact-embedded-accounts .acct-attendance-search .members-search{height:30px;border-radius:10px;background:var(--panel-soft,#fbfcfb);font-size:11px}.eng-exact-app .exact-embedded-accounts .acct-attendance-table-wrap{overflow:auto;-webkit-overflow-scrolling:touch;max-height:min(62vh,640px);scrollbar-gutter:stable}.eng-exact-app .exact-embedded-accounts .acct-attendance-table .acct-att-col-employee{width:18%}.eng-exact-app .exact-embedded-accounts .acct-attendance-table .acct-att-col-project{width:14%}.eng-exact-app .exact-embedded-accounts .acct-attendance-table .acct-att-col-clock{width:11%}.eng-exact-app .exact-embedded-accounts .acct-attendance-table .acct-att-col-emirates{width:16%}.eng-exact-app .exact-embedded-accounts .acct-attendance-table .acct-att-col-expiry,.eng-exact-app .exact-embedded-accounts .acct-attendance-table .acct-att-col-actions{width:12%}.eng-exact-app .exact-embedded-accounts .acct-attendance-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;min-width:920px}.eng-exact-app .exact-embedded-accounts .acct-attendance-table th,.eng-exact-app .exact-embedded-accounts .acct-attendance-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--hairline,#eef2f6);vertical-align:middle}.eng-exact-app .exact-embedded-accounts .acct-attendance-table th{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--surface-soft,#f8fafc);position:sticky;top:0;z-index:1;white-space:nowrap}.eng-exact-app .exact-embedded-accounts .acct-attendance-table td{font-size:11px;color:var(--ink,var(--text))}.eng-exact-app .exact-embedded-accounts .acct-attendance-table__employee .acct-attendance-ellipsis{font-weight:750}.eng-exact-app .exact-embedded-accounts .acct-attendance-table__employee,.eng-exact-app .exact-embedded-accounts .acct-attendance-table__project,.eng-exact-app .exact-embedded-accounts .acct-attendance-table__emirates{overflow:hidden}.eng-exact-app .exact-embedded-accounts .acct-attendance-ellipsis{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.eng-exact-app .exact-embedded-accounts .acct-attendance-table__clock,.eng-exact-app .exact-embedded-accounts .acct-attendance-table__expiry{white-space:nowrap;font-variant-numeric:tabular-nums}.eng-exact-app .exact-embedded-accounts .acct-attendance-table tbody tr:hover td{background:color-mix(in srgb,var(--brand-soft) 35%,#fff)}.eng-exact-app .exact-embedded-accounts .acct-attendance-table tbody tr:last-child td{border-bottom:0}.eng-exact-app .exact-embedded-accounts .acct-attendance-table__actions-col{text-align:right;white-space:nowrap}.eng-exact-app .exact-embedded-accounts .acct-attendance-table__view-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--brand-border,var(--line));background:var(--brand-soft,#f8fafc);color:var(--brand);font-size:10px;font-weight:750;letter-spacing:.02em;padding:5px 10px;border-radius:999px;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.eng-exact-app .exact-embedded-accounts .acct-attendance-table__view-btn:hover{background:var(--brand);color:#fff;border-color:var(--brand)}.eng-exact-app .exact-embedded-accounts .payroll-table-wrap{overflow:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:14px;background:var(--card,#fff)}.eng-exact-app .exact-embedded-accounts .payroll-table{width:100%;border-collapse:separate;border-spacing:0;min-width:780px}.eng-exact-app .exact-embedded-accounts .payroll-table th,.eng-exact-app .exact-embedded-accounts .payroll-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--hairline,#eef2f6);vertical-align:middle}.eng-exact-app .exact-embedded-accounts .payroll-table th{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--surface-soft,#f8fafc);position:sticky;top:0;z-index:1}.eng-exact-app .exact-embedded-accounts .payroll-table td{font-size:11px;color:var(--ink,var(--text))}.eng-exact-app .exact-embedded-accounts .payroll-table tbody tr:hover td{background:color-mix(in srgb,var(--brand-soft) 35%,var(--card,#fff))}.eng-exact-app .exact-embedded-accounts .payroll-table tbody tr:last-child td{border-bottom:0}.eng-exact-app .exact-embedded-accounts .payroll-table__name{display:block;max-width:150px;font-size:11px;font-weight:750;color:var(--ink,var(--text,#0f172a));line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eng-exact-app .exact-embedded-accounts .payroll-table__meta{display:block;max-width:150px;font-size:10px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eng-exact-app .exact-embedded-accounts .payroll-table__site{font-size:10px;color:var(--muted)}.eng-exact-app .exact-embedded-accounts .payroll-table__projects{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;max-width:160px}.eng-exact-app .exact-embedded-accounts .payroll-table__project-primary{display:block;max-width:100%;font-size:11px!important;font-weight:650!important;color:var(--ink,var(--text,#0f172a));line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:default}.eng-exact-app .exact-embedded-accounts .payroll-table__project-more{display:inline-block;font-size:10px!important;font-weight:700!important;color:var(--ink,var(--text,#0f172a));letter-spacing:.02em;line-height:1.2;cursor:default}.eng-exact-app .exact-embedded-accounts .payroll-table__projects-empty{font-size:10px!important;color:var(--muted,#94a3b8)}.eng-exact-app .exact-embedded-accounts .payroll-table__num{font-variant-numeric:tabular-nums;white-space:nowrap}.eng-exact-app .exact-embedded-accounts .payroll-table__ot{display:flex;flex-direction:column;gap:2px}.eng-exact-app .exact-embedded-accounts .payroll-table__ot-hrs{font-size:11px;color:var(--muted);font-weight:600}.eng-exact-app .exact-embedded-accounts .payroll-table__total strong{font-weight:800;color:var(--green,#15803d)}.eng-exact-app .exact-embedded-accounts .payroll-table__actions{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;justify-content:flex-end}.eng-exact-app .exact-embedded-accounts .payroll-table__check-col{width:36px;padding-left:12px;padding-right:4px;text-align:center}.eng-exact-app .exact-embedded-accounts .payroll-table tbody tr.is-selected td{background:color-mix(in srgb,var(--brand-soft,#fef3c7) 50%,var(--card,#fff))}.eng-exact-app .exact-embedded-accounts .payroll-action-group{display:inline-flex;align-items:stretch;border:1px solid color-mix(in srgb,var(--brand,#b45309) 22%,var(--line,#e2e8f0));border-radius:10px;overflow:hidden;background:var(--card,#fff)}.eng-exact-app .exact-embedded-accounts .payroll-action-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background:transparent;font-family:inherit;font-size:10px!important;font-weight:750;line-height:1;padding:6px 10px!important;border-radius:8px;cursor:pointer;white-space:nowrap;min-height:28px!important}.eng-exact-app .exact-embedded-accounts .payroll-action-btn:disabled{opacity:.5;cursor:not-allowed}.eng-exact-app .exact-embedded-accounts .payroll-action-group .payroll-action-btn{border:0;border-radius:0;min-height:28px!important;padding:0 10px!important}.eng-exact-app .exact-embedded-accounts .payroll-action-group .payroll-action-btn+.payroll-action-btn{border-left:1px solid color-mix(in srgb,var(--brand,#b45309) 16%,#e2e8f0)}.eng-exact-app .exact-embedded-accounts .payroll-action-btn--view,.eng-exact-app .exact-embedded-accounts .payroll-action-group .payroll-action-btn--view{background:#f8fafc!important;border:1px solid #cbd5e1!important;color:#1e293b!important}.eng-exact-app .exact-embedded-accounts .payroll-action-btn--view:hover:not(:disabled),.eng-exact-app .exact-embedded-accounts .payroll-action-group .payroll-action-btn--view:hover:not(:disabled){background:var(--brand-soft,#fef3c7)!important;border-color:color-mix(in srgb,var(--brand,#b45309) 35%,#e2e8f0)!important;color:var(--brand,#b45309)!important}.eng-exact-app .exact-embedded-accounts .payroll-action-btn--approve,.eng-exact-app .exact-embedded-accounts .payroll-action-group .payroll-action-btn--approve,.eng-exact-app .exact-embedded-accounts .payroll-banner-actions__review .payroll-action-btn--approve{background:var(--brand,#b45309);color:#fff!important}.eng-exact-app .exact-embedded-accounts .payroll-action-btn--approve:hover:not(:disabled),.eng-exact-app .exact-embedded-accounts .payroll-action-group .payroll-action-btn--approve:hover:not(:disabled),.eng-exact-app .exact-embedded-accounts .payroll-banner-actions__review .payroll-action-btn--approve:hover:not(:disabled){filter:brightness(.92);color:#fff!important}.eng-exact-app .exact-embedded-accounts .payroll-action-btn--hold,.eng-exact-app .exact-embedded-accounts .payroll-action-group .payroll-action-btn--hold{background:var(--card,#fff);color:#9a3412}.eng-exact-app .exact-embedded-accounts .payroll-action-btn--hold:hover:not(:disabled),.eng-exact-app .exact-embedded-accounts .payroll-action-group .payroll-action-btn--hold:hover:not(:disabled){background:color-mix(in srgb,#9a3412 12%,var(--card,#fff))}.eng-exact-app .exact-embedded-accounts .payroll-action-btn--revert,.eng-exact-app .exact-embedded-accounts .payroll-action-group .payroll-action-btn--revert{background:var(--card,#fff);color:var(--brand,#b45309)}.eng-exact-app .exact-embedded-accounts .payroll-action-btn--revert:hover:not(:disabled),.eng-exact-app .exact-embedded-accounts .payroll-action-group .payroll-action-btn--revert:hover:not(:disabled){background:var(--brand-soft,#fef3c7)}.eng-exact-app .exact-embedded-accounts .payroll-action-btn--approve-outline{border:1px solid var(--brand-border,color-mix(in srgb,var(--brand,#b45309) 35%,#e2e8f0));background:var(--brand-soft,#fef3c7);color:var(--brand,#b45309)}.eng-exact-app .exact-embedded-accounts .payroll-action-btn--approve-outline:hover:not(:disabled){border-color:var(--brand,#b45309)}.eng-exact-app .exact-embedded-accounts .payroll-action-btn--icon,.eng-exact-app .exact-embedded-accounts .payroll-action-group .payroll-action-btn--icon{min-width:30px;width:30px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center}.eng-exact-app .exact-embedded-accounts .payroll-action-btn--lg{min-height:30px;padding:6px 12px;font-size:10px;border-radius:999px}.eng-exact-app .exact-embedded-accounts .payroll-banner-actions__review{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.eng-exact-app .exact-embedded-accounts .payroll-review-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 12px;padding:10px 12px;border:1px solid #e8eef5;border-radius:12px;background:linear-gradient(180deg,#fffefb,#f8fafc)}.eng-exact-app .exact-embedded-accounts .payroll-review-toolbar--meta-only{justify-content:flex-start;padding:8px 12px}.eng-exact-app .exact-embedded-accounts .payroll-review-toolbar__meta{font-size:10px;color:var(--muted,#64748b)}.eng-exact-app .exact-embedded-accounts .payroll-review-toolbar__meta strong{color:var(--text,#0f172a);font-weight:800}.eng-exact-app .exact-embedded-accounts .payroll-review-toolbar__actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.eng-exact-app .exact-embedded-accounts .payroll-table__actions .req-approve-btn,.eng-exact-app .exact-embedded-accounts .payroll-table__actions .req-reject-btn{min-height:28px;padding:5px 9px;font-size:10px}.eng-exact-app .exact-embedded-procurement .list-toolbar.list-toolbar-row,.eng-exact-app .exact-embedded-screen .list-toolbar.list-toolbar-row{margin-bottom:10px;width:100%;gap:10px}.eng-exact-app .exact-embedded-procurement .list-toolbar.list-toolbar-row .list-toolbar-search,.eng-exact-app .exact-embedded-screen .list-toolbar.list-toolbar-row .list-toolbar-search{flex:1 1 220px;min-width:160px;max-width:none}.eng-exact-app .exact-embedded-procurement .list-toolbar.list-toolbar-row .members-search,.eng-exact-app .exact-embedded-screen .list-toolbar.list-toolbar-row .members-search{width:100%}.eng-exact-app .exact-embedded-procurement .list-toolbar-row__sort .list-sort-trigger,.eng-exact-app .exact-embedded-screen .list-toolbar-row__sort .list-sort-trigger{height:32px;font-size:var(--fs-xs,11px);font-weight:650;border-radius:9px}.eng-exact-app .exact-embedded-procurement .list-toolbar-row__sort .list-sort-kicker,.eng-exact-app .exact-embedded-screen .list-toolbar-row__sort .list-sort-kicker{font-size:var(--fs-2xs,10px)}.eng-exact-app .exact-embedded-procurement .list-toolbar-search .members-search,.eng-exact-app .exact-embedded-screen .list-toolbar-search .members-search{height:34px;padding:0 12px 0 36px;border-radius:10px;background:var(--panel-soft,#fbfcfb);border-color:var(--line)}.eng-exact-app .exact-embedded-procurement .list-toolbar-search .members-search:focus,.eng-exact-app .exact-embedded-screen .list-toolbar-search .members-search:focus{outline:none;background:#fff;border-color:color-mix(in srgb,var(--accent-base) 74%,white 26%);box-shadow:none}.eng-exact-app .exact-embedded-procurement .list-toolbar-search .search-icon,.eng-exact-app .exact-embedded-screen .list-toolbar-search .search-icon{left:12px;color:var(--muted)}.eng-exact-app .accounts-embedded-panel .list-toolbar-row,.eng-exact-app .exact-embedded-accounts .list-toolbar-row,.eng-exact-app .exact-embedded-procurement .list-toolbar-row{margin-bottom:10px}.eng-exact-app .accounts-embedded-panel .list-sort-bar,.eng-exact-app .exact-embedded-accounts .list-sort-bar{margin:0 0 10px}.eng-exact-app .accounts-embedded-panel .list-toolbar-filter,.eng-exact-app .exact-embedded-accounts .list-toolbar-filter,.eng-exact-app .exact-embedded-procurement .list-toolbar-filter{font-size:var(--fs-xs,11px);font-weight:650;padding:5px 10px}.eng-exact-app .accounts-embedded-panel .list-toolbar-filter.active,.eng-exact-app .exact-embedded-accounts .list-toolbar-filter.active,.eng-exact-app .exact-embedded-procurement .list-toolbar-filter.active,.eng-exact-app .exact-embedded-procurement .proc-subnav-btn.active{background:var(--accent-base);border-color:var(--accent-base);color:#fff;font-weight:750;box-shadow:0 1px 3px color-mix(in srgb,var(--accent-base) 24%,transparent)}.eng-exact-app .accounts-embedded-panel .list-toolbar-row__sort .list-sort-trigger,.eng-exact-app .exact-embedded-accounts .list-toolbar-row__sort .list-sort-trigger,.eng-exact-app .exact-embedded-procurement .list-toolbar-row__sort .list-sort-trigger{height:30px;font-size:var(--fs-xs,11px);font-weight:650;border-radius:9px}.eng-exact-app .accounts-embedded-panel .list-toolbar-row__sort .list-sort-kicker,.eng-exact-app .exact-embedded-accounts .list-toolbar-row__sort .list-sort-kicker,.eng-exact-app .exact-embedded-procurement .list-toolbar-row__sort .list-sort-kicker{font-size:var(--fs-2xs,10px)}.eng-exact-app .center .crew-table th{font-size:var(--fs-2xs,10px)!important}.eng-exact-app .center .crew-table td{font-size:var(--fs-xs,11px)!important}.eng-exact-app .center .worker-name b{font-size:var(--fs-sm,12px)!important}.eng-exact-app .center .worker-name small{font-size:var(--fs-2xs,10px)!important}.eng-exact-app .center .crew-filter,.eng-exact-app .center .crew-action-btn,.eng-exact-app .center .table-action{font-size:var(--fs-xs,11px)!important}.eng-exact-app .dock-head .eyebrow{font-size:var(--fs-2xs,10px)}.eng-exact-app .dock-head h2{font-size:var(--fs-md,14px)}.eng-exact-app .dock-head p{font-size:var(--fs-xs,11px)}.eng-exact-app .dock-filter{font-size:var(--fs-2xs,10px)}.eng-exact-app .dock-empty,.eng-exact-app .nav-item{font-size:var(--fs-sm,12px)}.eng-exact-app .nav-label{font-size:var(--fs-2xs,10px)}.eng-exact-app .project-meta b{font-size:var(--fs-sm,12px)}.eng-exact-app .project-meta small{font-size:var(--fs-2xs,10px)}.eng-progress-modal-overlay{z-index:12000}.eng-progress-modal-overlay:not(.admin-modal-overlay--center) .eng-progress-modal,.eng-progress-modal-overlay:not(.admin-modal-overlay--center) .eng-progress-modal--form{width:min(560px,100vw)!important;height:100%;max-height:100dvh;border-radius:0;margin:0}.eng-progress-modal{display:flex;flex-direction:column;overflow:hidden}.eng-progress-modal-body{flex:1;min-height:0;overflow-y:auto;padding:0 16px 8px;margin-bottom:0}.eng-progress-modal .proj-progress-history{max-height:none}.eng-progress-modal .proj-hist-details{display:block!important}.eng-progress-modal .admin-form-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:8px 10px;font-size:12px;font-weight:600}.eng-progress-modal-overlay.admin-modal-overlay--center .eng-progress-modal{width:min(1080px,calc(100vw - 28px))!important;height:auto;max-height:min(92vh,900px);overflow:auto;padding-bottom:16px}@media(max-width:900px){.eng-progress-modal-overlay.admin-modal-overlay--center .eng-progress-modal{width:min(96vw,calc(100vw - 16px))!important}}.eng-exact-app .upload-drawing-overlay.admin-modal-overlay,.upload-drawing-overlay.admin-modal-overlay,.eng-exact-app .rfi-raised-overlay.admin-modal-overlay,.rfi-raised-overlay.admin-modal-overlay{display:grid!important;place-items:center!important;justify-content:center!important;align-items:center!important;padding:24px!important}.eng-exact-app .rfi-raised-overlay .rfi-raised-modal,.rfi-raised-overlay .rfi-raised-modal{width:min(420px,calc(100vw - 40px))!important;height:auto!important;max-height:none!important;margin:auto!important;align-self:center!important;justify-self:center!important}.eng-exact-app .upload-drawing-overlay .admin-modal-card,.eng-exact-app .upload-drawing-overlay .project-modal-card{width:min(520px,calc(100vw - 40px))!important;height:auto!important;max-height:min(88dvh,calc(100dvh - 48px))!important;margin:auto!important;border-radius:20px!important}.eng-exact-app .upload-drawing-overlay .project-modal-card.project-modal-card--issue,.upload-drawing-overlay .project-modal-card.project-modal-card--issue{width:min(460px,calc(100vw - 40px))!important;height:auto!important;min-height:0!important;max-height:min(82dvh,calc(100dvh - 24px))!important;overflow:hidden!important}.eng-exact-app .upload-drawing-overlay .project-modal-card.project-modal-card--drawing-view{width:min(380px,calc(100vw - 40px))!important}.eng-exact-app .upload-drawing-current-file,.upload-drawing-current-file{border:0;padding:0;background:none;color:var(--accent-base, #9a6700);font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:2px;cursor:pointer;word-break:break-all;text-align:left}.eng-exact-app .upload-drawing-current-file:hover,.upload-drawing-current-file:hover{color:var(--forest, #3d2e12)}.upload-drawing-file-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0)}.upload-drawing-file-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-height:42px}.upload-drawing-file-name{font-size:13px;font-weight:600;color:var(--ink, #1f2937);word-break:break-all}.add-bill-overlay.admin-modal-overlay,.eng-exact-app .add-bill-overlay.admin-modal-overlay{overflow:hidden!important}.add-bill-overlay .project-modal-card--bill,.eng-exact-app .add-bill-overlay .project-modal-card--bill{display:flex!important;flex-direction:column!important;max-height:min(88dvh,calc(100dvh - 48px))!important;height:auto!important;min-height:0!important;overflow:hidden!important}.add-bill-overlay .project-modal-card--bill .admin-form-head,.eng-exact-app .add-bill-overlay .project-modal-card--bill .admin-form-head{flex-shrink:0}.add-bill-overlay .project-modal-card--bill .add-bill-form,.eng-exact-app .add-bill-overlay .project-modal-card--bill .add-bill-form{flex:1;min-height:0;display:flex;flex-direction:column;gap:0}.add-bill-overlay .project-modal-card--bill .project-modal-body,.eng-exact-app .add-bill-overlay .project-modal-card--bill .project-modal-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:16px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:12px 20px 8px}.add-bill-overlay .project-modal-card--bill .project-modal-footer,.eng-exact-app .add-bill-overlay .project-modal-card--bill .project-modal-footer{flex-shrink:0;margin:0;padding:12px 20px 16px;background:var(--card, #fff);border-top:1px solid var(--line, #e2e8f0)}.add-bill-overlay .project-modal-card--bill .media-upload-preview img,.eng-exact-app .add-bill-overlay .project-modal-card--bill .media-upload-preview img{max-height:88px}.eng-exact-app .upload-drawing-overlay .project-modal-card.view-bill-modal,.eng-exact-app .view-bill-modal{display:flex!important;flex-direction:column!important;width:min(480px,calc(100vw - 40px))!important;max-height:min(90dvh,calc(100dvh - 32px))!important;min-height:0!important;overflow:hidden!important}.eng-exact-app .view-bill-modal .admin-form-head{flex-shrink:0;align-items:center;padding:16px 18px 14px!important}.eng-exact-app .view-bill-modal .admin-form-head strong{font-size:16px;line-height:1.2}.eng-exact-app .view-bill-modal .admin-form-sub{margin:2px 0 0}.eng-exact-app .view-bill-modal-body{flex:1;min-height:0;display:flex;flex-direction:column}.eng-exact-app .view-bill-modal .project-modal-body{display:flex;flex-direction:column;gap:22px;padding:0}.eng-exact-app .view-bill-modal-scroll{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:18px 20px 24px;scrollbar-width:none;-ms-overflow-style:none}.eng-exact-app .view-bill-modal-scroll::-webkit-scrollbar{display:none}.eng-exact-app .view-bill-facts{display:grid;grid-template-columns:92px minmax(0,1fr);column-gap:16px;row-gap:16px;align-items:center;width:100%}.eng-exact-app .view-bill-fact-label{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#64748b);line-height:1.2;text-align:left}.eng-exact-app .view-bill-fact-value{min-width:0;font-size:13px;font-weight:700;color:var(--text,#0f172a);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.eng-exact-app .view-bill-fact-value .eng-proj-pill{vertical-align:middle}.eng-exact-app .view-bill-fact-value:has(.eng-proj-pill){overflow:visible;white-space:normal}.eng-exact-app .view-bill-file-link{display:block;min-width:0;margin:0;padding:0;border:0;background:none;font:inherit;font-size:13px;font-weight:700;line-height:1.35;color:var(--accent-base,#9a6700)!important;text-align:left;text-decoration:underline;text-underline-offset:2px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eng-exact-app .view-bill-file-link:hover{color:var(--accent-ink,#7a5200)}.eng-exact-app .view-bill-file-name{display:block;min-width:0;font-size:13px;line-height:1.35;color:var(--muted,#64748b);font-weight:500;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eng-exact-app .view-bill-comments{margin:0;border:1px solid var(--line,#e8e2d6);border-radius:10px;background:#fff;overflow:hidden}.eng-exact-app .view-bill-comments-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px;padding:0 14px;border-bottom:1px solid var(--line,#e8e2d6)}.eng-exact-app .view-bill-comments-head b{font-size:12px;font-weight:800;line-height:20px}.eng-exact-app .view-bill-comments-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;font-size:11px;font-weight:800;line-height:1;color:var(--muted,#64748b);background:#f1f5f9}.eng-exact-app .view-bill-comments-list{list-style:none;margin:0;padding:14px 14px 16px;display:flex;flex-direction:column;gap:10px;max-height:220px;overflow-y:auto}.eng-exact-app .view-bill-comment{min-width:0}.eng-exact-app .view-bill-comment-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.eng-exact-app .view-bill-comment-who{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0;min-width:0}.eng-exact-app .view-bill-comment-who strong{font-size:12px;font-weight:800;line-height:1.3}.eng-exact-app .view-bill-comment-who span{font-size:12px;color:var(--muted,#64748b);font-weight:500;line-height:1.3}.eng-exact-app .view-bill-comment-who em{font-style:normal;font-size:11px;font-weight:700;color:var(--accent-base,#9a6700);line-height:1.3}.eng-exact-app .view-bill-comment-time{flex-shrink:0;font-size:11px;color:var(--muted,#64748b);line-height:1.3;text-align:right}.eng-exact-app .view-bill-comment-text{margin:6px 0 0;font-size:13px;line-height:1.45;color:var(--text,#0f172a)}.eng-exact-app .view-bill-modal-foot{flex-shrink:0;display:flex;flex-direction:column;gap:10px;padding:14px 18px 16px;border-top:1px solid var(--line,#e2e8f0);background:var(--card,#fff)}.eng-exact-app .view-bill-modal-foot .eng-req-reject-field{gap:4px;font-size:12px}.eng-exact-app .view-bill-modal-foot .eng-req-reject-field textarea{min-height:40px!important;height:40px!important;max-height:40px!important;padding:8px 10px!important;border-radius:8px;resize:none;border-color:var(--line,#e2e8f0);line-height:1.35}.eng-exact-app .view-bill-modal-foot .eng-req-reject-field textarea:hover,.eng-exact-app .view-bill-modal-foot .eng-req-reject-field textarea:focus{border-color:color-mix(in srgb,var(--accent-base,#b8860b) 45%,var(--line,#e2e8f0));box-shadow:none}.eng-exact-app .view-bill-modal-actions,.eng-exact-app .view-bill-modal-actions.eng-req-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:0!important;margin:0;border:none;background:transparent}.eng-exact-app .view-bill-comment-hint{margin:0;font-size:11px;color:var(--muted,#64748b);font-weight:500}.eng-exact-app .view-bill-modal-foot .eng-req-reject-field.is-invalid textarea{border-color:#c44b43}.eng-exact-app .list-sort-bar{display:flex;justify-content:flex-end;align-items:center;margin:0 0 8px;padding:0 2px}.eng-exact-app .list-sort-trigger{height:30px;font-size:11px;border-radius:8px}.eng-exact-app .tile-list-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 4px 2px;margin-top:8px}.eng-exact-app .tile-list-page-summary{font-size:11px;color:var(--muted);font-weight:600}.eng-exact-app .tile-list-page-btn,.eng-exact-app .eng-req-page-btn,.eng-exact-app .proc-req-page-btn,.eng-exact-app .fm-page-btn{color:var(--forest)}.eng-exact-app .tile-list-page-btn.active,.eng-exact-app .eng-req-page-btn.active,.eng-exact-app .proc-req-page-btn.active,.eng-exact-app .fm-page-btn.active{background:linear-gradient(135deg,var(--forest),var(--forest-3));border-color:transparent;color:#fff;box-shadow:0 2px 8px color-mix(in srgb,var(--accent-base) 28%,transparent)}.eng-exact-app .dock-list .tile-list-footer{padding:8px 2px 4px}.eng-exact-app .module-panel .tile-list-footer{padding:10px 14px 12px}.eng-exact-app .project-area,.eng-exact-app .module-shell,.eng-exact-app .exact-embedded-screen,.eng-exact-app .exact-outlet{font-size:var(--fs-base,13px)}.eng-exact-app .eng-req-modal-title,.eng-exact-app .payroll-detail-modal .eng-req-modal-title{font-size:var(--fs-md,14px)!important;font-weight:750!important;line-height:1.25}.eng-exact-app .eng-req-modal-sub,.eng-exact-app .payroll-detail-modal .eng-req-modal-sub{font-size:var(--fs-xs,11px)!important;font-weight:600}.eng-exact-app .eng-req-modal-body,.eng-exact-app .eng-req-modal-footer{font-size:var(--fs-sm,12px)}.eng-exact-app .eng-req-modal-head{padding:14px 16px 12px}.eng-exact-app .payroll-detail-backdrop{padding:max(16px,env(safe-area-inset-top,0px)) 16px 20px;align-items:center;overflow:hidden}.eng-exact-app .payroll-detail-modal{max-height:min(760px,calc(100dvh - 32px));border-radius:16px;background:var(--card);overflow:hidden;display:flex;flex-direction:column}.eng-exact-app .payroll-detail-modal .eng-req-modal-head{flex:0 0 auto}.eng-exact-app .payroll-detail-body,.payroll-detail-modal .eng-req-modal-body.payroll-detail-body{padding:12px 16px 16px;flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:scroll!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}.eng-exact-app .payroll-detail-modal .payroll-active-projects,.payroll-detail-modal .payroll-active-projects{margin:0 0 12px;padding:10px 12px;border:1px solid var(--hairline,#eef2f6);border-radius:12px;background:linear-gradient(180deg,#fbfcfe,#f8fafc)}.eng-exact-app .payroll-detail-modal .payroll-active-projects__label,.payroll-detail-modal .payroll-active-projects__label{display:flex;align-items:center;gap:6px;margin:0 0 8px;font-size:9px!important;font-weight:800!important;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8!important;line-height:1.2}.eng-exact-app .payroll-detail-modal .payroll-active-projects__count,.payroll-detail-modal .payroll-active-projects__count{display:inline-grid;place-items:center;min-width:16px;height:16px;padding:0 5px;border-radius:999px;background:#e2e8f0;color:#64748b!important;font-size:9px!important;font-weight:800!important;letter-spacing:0;line-height:1}.eng-exact-app .payroll-detail-modal .payroll-active-projects__list,.payroll-detail-modal .payroll-active-projects__list{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px}.eng-exact-app .payroll-detail-modal .payroll-active-projects__name,.payroll-detail-modal .payroll-active-projects__name{display:inline-block;max-width:100%;padding:3px 8px;border-radius:999px;border:1px solid #e2e8f0;background:#fff;color:#64748b!important;font-size:10px!important;font-weight:550!important;line-height:1.35;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eng-exact-app .payroll-detail-modal .payroll-active-projects__empty,.payroll-detail-modal .payroll-active-projects__empty{margin:0;font-size:10px!important;font-weight:500!important;color:#94a3b8!important;line-height:1.4;font-style:italic}.eng-exact-app .accounts-embedded-panel .app-tile-title,.eng-exact-app .accounts-embedded-panel .proc-item-title,.eng-exact-app .exact-embedded-procurement .app-tile-title,.eng-exact-app .exact-embedded-procurement .proc-item-title,.eng-exact-app .exact-embedded-screen .app-tile-title,.eng-exact-app .exact-embedded-screen .proc-item-title{font-size:var(--fs-md,14px)!important;font-weight:750!important;line-height:1.3}.eng-exact-app .accounts-embedded-panel .app-tile-id,.eng-exact-app .accounts-embedded-panel .proc-item-id,.eng-exact-app .exact-embedded-procurement .app-tile-id,.eng-exact-app .exact-embedded-procurement .proc-item-id,.eng-exact-app .exact-embedded-screen .app-tile-id,.eng-exact-app .exact-embedded-screen .proc-item-id{font-size:var(--fs-2xs,10px)!important;font-weight:750;letter-spacing:.06em}.eng-exact-app .accounts-embedded-panel .proc-chip,.eng-exact-app .accounts-embedded-panel .app-tile-chips .proc-chip,.eng-exact-app .exact-embedded-screen .proc-chip{font-size:var(--fs-2xs,10px)!important;padding:3px 8px}.eng-exact-app .accounts-embedded-panel .proc-item-by,.eng-exact-app .exact-embedded-screen .proc-item-by{font-size:var(--fs-xs,11px)!important}.eng-exact-app .payroll-split-title,.eng-exact-app .payroll-member-card__name,.eng-exact-app .payroll-list-row__name{font-size:var(--fs-md,14px)!important;font-weight:750!important}.eng-exact-app .payroll-member-card__name,.eng-exact-app .payroll-list-row__name{font-size:var(--fs-base,13px)!important}.eng-exact-app .payroll-split-amount,.eng-exact-app .payroll-net,.eng-exact-app .payroll-cell-val{font-size:var(--fs-base,13px)!important;font-weight:750!important}.eng-exact-app .payroll-split-amount.is-message{font-size:var(--fs-xs,11px)!important;font-weight:650!important;color:var(--muted)!important}.eng-exact-app .payroll-split-eyebrow,.eng-exact-app .payroll-split-head,.eng-exact-app .payroll-member-card__hint,.eng-exact-app .payroll-cell-lbl,.eng-exact-app .payroll-calendar-weekday{font-size:var(--fs-2xs,10px)!important;font-weight:750}.eng-exact-app .payroll-split-date,.eng-exact-app .payroll-split-sub,.eng-exact-app .payroll-member-card__meta,.eng-exact-app .payroll-list-row__meta,.eng-exact-app .payroll-attendance-head p,.eng-exact-app .payroll-attendance-legend,.eng-exact-app .payroll-ot-note,.eng-exact-app .payroll-calc-line,.eng-exact-app .payroll-card-note{font-size:var(--fs-xs,11px)!important}.eng-exact-app .payroll-attendance-head h4,.eng-exact-app .payroll-ot-title{font-size:var(--fs-sm,12px)!important;font-weight:750!important}.eng-exact-app .payroll-ot-box{font-size:var(--fs-xs,11px)!important;line-height:1.6}.eng-exact-app .payroll-calendar-day{font-size:var(--fs-2xs,10px)!important;font-weight:700}.eng-exact-app .payroll-member-card,.eng-exact-app .payroll-month-banner,.eng-exact-app .payroll-attendance-calendar{padding:12px 14px}.eng-exact-app .accounts-embedded-panel .module-panel-head h3{font-size:var(--fs-md,14px)!important;font-weight:750}.eng-exact-app .accounts-embedded-panel .payroll-module-head h3{font-size:20px!important;font-weight:800;letter-spacing:-.01em}.eng-exact-app .accounts-embedded-panel .module-panel-head p,.eng-exact-app .accounts-embedded-panel .accounts-module-summary{margin:0;font-size:var(--fs-xs,11px)!important;color:var(--muted);line-height:1.45}.eng-exact-app .accounts-embedded-panel .payroll-module-head .payroll-module-head__summary,.eng-exact-app .accounts-embedded-panel .payroll-module-head .accounts-module-summary{font-size:14px!important;font-weight:650;color:var(--text);line-height:1.35}.eng-exact-app .accounts-embedded-panel .module-panel-head p strong,.eng-exact-app .accounts-embedded-panel .accounts-module-summary strong{color:var(--text);font-weight:750}.eng-exact-app .accounts-embedded-panel .payroll-module-head .payroll-module-head__summary strong,.eng-exact-app .accounts-embedded-panel .payroll-module-head .accounts-module-summary strong{font-size:15px!important;font-weight:800;color:var(--brand)}.eng-exact-app .section-title{font-size:var(--fs-lg,16px)!important;font-weight:750!important;letter-spacing:-.01em}.eng-exact-app .section-sub,.eng-exact-app .workspace-page-sub,.eng-exact-app .proc-section-heading-sub{font-size:var(--fs-xs,11px)!important}.eng-exact-app .proc-section-heading-title{font-size:var(--fs-sm,12px)!important;font-weight:750}.eng-exact-app .kpi .value,.eng-exact-app .dash-kpi-val,.eng-exact-app .ds-hc-num,.eng-exact-app .project-ov-stat-val,.eng-exact-app .dash-stat-val,.eng-exact-app .entry-mini .m-val,.eng-exact-app .site-time-stat b{font-size:var(--fs-stat,16px)!important;font-weight:800!important;line-height:1.1}.eng-exact-app .kpi .label,.eng-exact-app .kpi .hint,.eng-exact-app .dash-kpi-title,.eng-exact-app .dash-kpi-sub,.eng-exact-app .ds-hc-label{font-size:var(--fs-xs,11px)!important}.eng-exact-app .dash-site-name,.eng-exact-app .ds-site-name,.eng-exact-app .project-ov-name,.eng-exact-app .project-block-name,.eng-exact-app .vendor-card-name,.eng-exact-app .quote-group-material{font-size:var(--fs-sm,12px)!important;font-weight:750!important}.eng-exact-app .ds-site-big,.eng-exact-app .quote-offer-name{font-size:var(--fs-base,13px)!important;font-weight:750!important}.eng-exact-app .exact-embedded-screen .qa-btn,.eng-exact-app .accounts-embedded-panel .qa-btn,.eng-exact-app .module-shell .qa-btn,.eng-exact-app .module-btn,.eng-exact-app .table-action{font-size:var(--fs-2xs,10px)!important;font-weight:750}.eng-exact-app .exact-embedded-screen .req-status,.eng-exact-app .accounts-embedded-panel .req-status,.eng-exact-app .payroll-member-card .req-status{font-size:var(--fs-2xs,10px)!important;font-weight:750;padding:3px 8px}.eng-exact-app .module-table th,.eng-exact-app .exact-embedded-screen .module-table th{font-size:var(--fs-2xs,10px)!important;font-weight:750;letter-spacing:.07em}.eng-exact-app .module-table td,.eng-exact-app .exact-embedded-screen .module-table td{font-size:var(--fs-xs,11px)!important}.eng-exact-app .module-table tbody td,.eng-exact-app .exact-embedded-screen .module-table tbody td{font-weight:var(--fw-regular,400)}.eng-exact-app .module-table tbody td:first-child b,.eng-exact-app .exact-embedded-screen .module-table tbody td:first-child b,.eng-exact-app .module-table tbody td:first-child strong,.eng-exact-app .exact-embedded-screen .module-table tbody td:first-child strong{font-size:var(--fs-sm,12px)!important;font-weight:var(--fw-bold,700)}.eng-exact-app .module-table tbody td:not(:first-child) b,.eng-exact-app .exact-embedded-screen .module-table tbody td:not(:first-child) b,.eng-exact-app .module-table tbody td:not(:first-child) strong,.eng-exact-app .exact-embedded-screen .module-table tbody td:not(:first-child) strong{font-weight:var(--fw-regular,400)}.eng-progress-history-modal{width:min(560px,100vw)!important;height:100%;max-height:100dvh;display:flex;flex-direction:column;overflow:hidden}.eng-progress-history-modal-body{flex:1;min-height:0;overflow-y:auto;padding:0 12px 14px}.eng-exact-app .pm-crew-workspace{display:block;min-height:0;background:#fff;border-radius:12px;overflow:visible;border:1px solid color-mix(in srgb,var(--line,#c9d1dc) 85%,#64748b 15%);box-shadow:0 1px 3px #0f172a0f}.eng-exact-app .pm-crew-workspace.hub-open{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:0;overflow:hidden}.eng-exact-app .pm-crew-main{padding:16px 18px;display:flex;flex-direction:column;gap:14px;min-width:0;overflow:visible;background:#fff;border-radius:12px}.eng-exact-app .pm-crew-workspace.hub-open .pm-crew-main{border-radius:0;overflow:auto}.eng-exact-app .pm-crew-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.eng-exact-app .pm-kpi-card{border:1px solid color-mix(in srgb,var(--line,#d8dee8) 90%,#64748b 10%);border-radius:12px;background:#fff;padding:12px 14px;box-shadow:0 1px 2px #0f172a0a}.eng-exact-app .pm-kpi-card strong{display:block;font-size:24px;line-height:1.1;margin-top:4px;color:#0f172a}.eng-exact-app .pm-kpi-label{font-size:11px;color:var(--muted,#64748b);font-weight:600}.eng-exact-app .pm-kpi-card small{font-size:11px;color:var(--muted,#64748b)}.eng-exact-app .pm-kpi-card.tone-green strong{color:#15803d}.eng-exact-app .pm-kpi-card.tone-red strong{color:#dc2626}.eng-exact-app .pm-kpi-card.tone-amber strong{color:#d97706}.eng-exact-app .pm-kpi-card.tone-blue strong{color:#2563eb}.eng-exact-app .pm-section-title{margin:0;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#334155}.eng-exact-app .pm-reporting-card,.eng-exact-app .pm-shift-exceptions,.eng-exact-app .pm-roster-panel{border:1px solid color-mix(in srgb,var(--line,#d8dee8) 90%,#64748b 10%);border-radius:14px;background:#fff;padding:12px 14px;box-shadow:0 1px 2px #0f172a0a}.eng-exact-app .pm-reporting-card{padding:10px 14px 12px}.eng-exact-app .pm-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.eng-exact-app .pm-link-btn{border:0;background:none;color:var(--accent-base,#b8860b);font-size:12px;font-weight:600;cursor:pointer;padding:0;display:inline-flex;align-items:center;gap:4px}.eng-exact-app .pm-link-btn-arrow span{font-size:14px;line-height:1}.eng-exact-app .pm-link-btn.tone-red{color:#dc2626}.eng-exact-app .pm-link-btn.tone-amber{color:#d97706}.eng-exact-app .pm-link-btn.tone-blue{color:#2563eb}.eng-exact-app .pm-reporting-flow{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;overflow-x:auto;padding:2px 0;scrollbar-width:thin}.eng-exact-app .pm-reporting-node-wrap{display:flex;align-items:center;gap:4px;flex-shrink:0;min-width:0}.eng-exact-app .pm-reporting-chevron{color:var(--muted,#94a3b8);display:inline-flex;align-items:center;font-size:14px;font-weight:700;line-height:1;padding:0 2px;flex-shrink:0}.eng-exact-app .pm-reporting-node{min-width:0;border:1px solid color-mix(in srgb,var(--line,#d8dee8) 90%,#64748b 10%);border-radius:10px;padding:6px 10px 6px 6px;background:#fafbfd;display:inline-flex;align-items:center;gap:8px;box-shadow:0 1px 2px #0f172a08}.eng-exact-app .pm-reporting-badge{width:28px;height:28px;border-radius:999px;background:linear-gradient(180deg,#f5efe3,#ead9b8);color:#8c6a24;border:1px solid #e8dcc4;display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:800;flex-shrink:0;letter-spacing:.02em}.eng-exact-app .pm-reporting-copy{display:flex;align-items:baseline;gap:6px;min-width:0}.eng-exact-app .pm-reporting-node b{font-size:11px;line-height:1.2;color:#334155;font-weight:700;white-space:nowrap}.eng-exact-app .pm-reporting-count{font-size:12px;color:var(--accent-base,#b8860b);font-weight:800;line-height:1;flex-shrink:0}.eng-exact-app .pm-chevron-right{transform:rotate(-90deg)}.eng-exact-app .pm-exception-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.eng-exact-app .pm-exception-grid--three{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.eng-exact-app .pm-exception-card{border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px;background:#fff;display:flex;flex-direction:column;align-items:flex-start;min-height:132px;box-shadow:0 1px 2px #0f172a08}.eng-exact-app .pm-exception-icon{width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:10px;flex-shrink:0}.eng-exact-app .pm-exception-card b{display:block;font-size:26px;line-height:1;font-weight:700;margin-bottom:6px}.eng-exact-app .pm-exception-label{display:block;font-size:13px;margin:0 0 auto;color:#64748b;font-weight:500;line-height:1.3}.eng-exact-app .pm-exception-details{border:0;background:none;padding:0;margin-top:12px;font-size:13px;font-weight:700;color:#0f172a;cursor:pointer;text-align:left}.eng-exact-app .pm-exception-details:hover{text-decoration:underline}.eng-exact-app .pm-exception-card.tone-amber .pm-exception-icon{color:#d97706;background:#fef9c3;border:1px solid #fde68a}.eng-exact-app .pm-exception-card.tone-amber b{color:#ea580c}.eng-exact-app .pm-exception-card.tone-orange .pm-exception-icon{color:#ea580c;background:#ffedd5;border:1px solid #fed7aa}.eng-exact-app .pm-exception-card.tone-orange b{color:#ea580c}.eng-exact-app .pm-exception-card.tone-blue .pm-exception-icon{color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe}.eng-exact-app .pm-exception-card.tone-blue b{color:#2563eb}.eng-exact-app .pm-roster-toolbar{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.eng-exact-app .pm-roster-toolbar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.eng-exact-app .pm-roster-toolbar-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0;flex:1 1 auto}.eng-exact-app .pm-roster-toolbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto;flex-shrink:0}.eng-exact-app .pm-roster-date-picker,.eng-exact-app .pm-roster-date-picker .time-date-picker-wrap{flex-shrink:0}.eng-exact-app .pm-roster-date-picker .time-date-picker-btn,.eng-exact-app .pm-roster-date-picker .time-date-picker-nav{height:36px;min-height:36px}@media(max-width:720px){.eng-exact-app .pm-roster-toolbar-head{flex-direction:column;align-items:stretch}.eng-exact-app .pm-roster-toolbar-actions{margin-left:0;width:100%;justify-content:flex-end}}.eng-exact-app .pm-roster-filter-bar{display:flex;gap:10px;align-items:center;flex-wrap:nowrap;width:100%}.eng-exact-app .pm-roster-filter-bar__search{display:flex;align-items:center;gap:8px;min-width:0;flex:1.35 1 240px;height:38px;padding:0 12px;border:1px solid var(--line,#e8e2d6);border-radius:10px;background:#fff;color:#64748b}.eng-exact-app .pm-roster-filter-bar__search:focus-within{border-color:color-mix(in srgb,var(--accent-base,#b8860b) 40%,var(--line,#e8e2d6));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-base,#b8860b) 12%,transparent)}.eng-exact-app .pm-roster-filter-bar__search input{border:0;background:transparent;padding:0;font-size:12px;min-width:0;flex:1;height:100%;color:#0f172a}.eng-exact-app .pm-roster-filter-bar__search input:focus{outline:none}.eng-exact-app .pm-roster-filter-bar__controls{display:flex;align-items:center;gap:8px;flex:2 1 420px;min-width:0}.eng-exact-app .pm-roster-filter-bar__select{height:38px;flex:1 1 0;min-width:132px;max-width:none;padding:0 28px 0 10px;border:1px solid var(--line,#e8e2d6);border-radius:10px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:12px;font-weight:600;color:#334155;cursor:pointer}.eng-exact-app .pm-roster-filter-bar__select:focus-visible{outline:none;border-color:color-mix(in srgb,var(--accent-base,#b8860b) 40%,var(--line,#e8e2d6));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-base,#b8860b) 12%,transparent)}.eng-exact-app .pm-roster-filter-bar__clear{height:38px;padding:0 12px;border:0;border-radius:10px;background:transparent;font-size:12px;font-weight:700;color:var(--accent-base,#b8860b);cursor:pointer;white-space:nowrap;flex-shrink:0}.eng-exact-app .pm-roster-filter-bar__clear:hover{text-decoration:underline}@media(max-width:900px){.eng-exact-app .pm-roster-filter-bar{flex-direction:column;align-items:stretch;flex-wrap:wrap}.eng-exact-app .pm-roster-filter-bar__search{flex:1 1 auto;width:100%}.eng-exact-app .pm-roster-filter-bar__controls{width:100%;flex-wrap:wrap}.eng-exact-app .pm-roster-filter-bar__select{flex:1 1 calc(50% - 4px);min-width:0}.eng-exact-app .pm-roster-filter-bar__clear{width:100%;text-align:left;padding-left:0}}.eng-exact-app .pm-roster-meta{margin:0;font-size:12px;color:var(--muted,#64748b)}.eng-exact-app .pm-roster-meta--inline{padding:4px 10px;border-radius:999px;background:#f8fafc;border:1px solid var(--line,#e8e2d6);white-space:nowrap}.eng-exact-app .pm-roster-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.eng-exact-app .pm-search{display:flex;align-items:center;gap:8px;border:1px solid var(--line,#e8e2d6);border-radius:10px;padding:0 12px;background:#fff;min-width:180px;flex:1 1 180px;max-width:280px;height:36px}.eng-exact-app .pm-search input{border:0;background:transparent;padding:0;font-size:12px;min-width:0;flex:1;height:100%}.eng-exact-app .pm-search input:focus{outline:none}.eng-exact-app .pm-btn{border:1px solid var(--line,#e8e2d6);border-radius:10px;background:#fff;padding:0 12px;font-size:12px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;color:#334155;height:36px;white-space:nowrap;flex-shrink:0}.eng-exact-app .pm-btn:disabled{opacity:.55;cursor:not-allowed}.eng-exact-app .pm-btn.primary{background:linear-gradient(180deg,#ead9b8,#d4b56a);border-color:#c9a227;color:#1a1408;font-weight:700}.eng-exact-app .pm-btn.primary:hover:not(:disabled){background:linear-gradient(180deg,#f0e4cc,#dfc078)}.eng-exact-app .pm-btn.ghost{background:#fff}.eng-exact-app .pm-btn.ghost:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent-base,#b8860b) 35%,var(--line,#e8e2d6));background:#fafafa}.eng-exact-app .pm-btn.ghost.is-active{border-color:var(--accent-base,#b8860b);color:var(--accent-base,#b8860b);background:color-mix(in srgb,var(--accent-base,#b8860b) 8%,#fff)}.eng-exact-app .pm-roster-filter-wrap{position:relative;flex-shrink:0}.eng-exact-app .pm-filter-badge{width:7px;height:7px;border-radius:999px;background:var(--accent-base,#b8860b);margin-left:-2px}.eng-exact-app .pm-roster-filter-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:40;width:min(280px,calc(100vw - 32px));padding:12px;border:1px solid var(--line,#e8e2d6);border-radius:12px;background:#fff;box-shadow:0 10px 30px #0f172a1f;display:flex;flex-direction:column;gap:10px}.eng-exact-app .pm-roster-filter-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.eng-exact-app .pm-roster-filter-panel-head strong{font-size:13px;color:#0f172a}.eng-exact-app .pm-roster-filter-field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#475569}.eng-exact-app .pm-roster-filter-field select{height:34px;border:1px solid var(--line,#e8e2d6);border-radius:8px;padding:0 10px;background:#fff;font-size:12px;color:#0f172a}.eng-exact-app .pm-row-menu-wrap{position:relative;display:inline-flex;justify-content:center}.eng-exact-app .pm-row-menu-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:30;min-width:148px;padding:6px;border:1px solid var(--line,#e8e2d6);border-radius:10px;background:#fff;box-shadow:0 8px 24px #0f172a1f;display:flex;flex-direction:column;gap:2px}.eng-exact-app .pm-row-menu-panel button{border:0;background:transparent;border-radius:8px;padding:8px 10px;text-align:left;font-size:12px;font-weight:600;color:#334155;cursor:pointer}.eng-exact-app .pm-row-menu-panel button:hover{background:#f8fafc}@media(max-width:900px){.eng-exact-app .pm-roster-toolbar-controls{align-items:stretch}.eng-exact-app .pm-roster-controls-primary,.eng-exact-app .pm-roster-controls-secondary{width:100%}.eng-exact-app .pm-roster-controls-secondary{justify-content:flex-start}.eng-exact-app .pm-search{max-width:none}}.eng-exact-app .pm-roster-table-wrap{overflow-x:auto;overflow-y:visible;border:1px solid var(--line,#e8e2d6);border-radius:12px;-webkit-overflow-scrolling:touch}.eng-exact-app .pm-roster-table-wrap--all-people{border:0;border-radius:0;overflow:visible}.eng-exact-app .pm-roster-panel .all-people-roster{border:1px solid var(--line,#e5e7eb);border-radius:10px;overflow:hidden}.eng-exact-app .pm-roster-panel .all-people-roster__head{border-top:0}.eng-exact-app .all-people-roster__more-wrap{position:relative;display:inline-flex}.eng-exact-app .all-people-roster__more-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:30}.eng-exact-app .pm-roster-table{width:100%;min-width:980px;border-collapse:collapse;font-size:12px;table-layout:auto}.eng-exact-app .pm-roster-table th,.eng-exact-app .pm-roster-table td{padding:11px 12px;border-bottom:1px solid var(--line,#eef2f7);text-align:left;white-space:nowrap;vertical-align:middle}.eng-exact-app .pm-roster-table th:nth-child(2),.eng-exact-app .pm-roster-table td:nth-child(2){min-width:160px;white-space:normal}.eng-exact-app .pm-roster-table th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#64748b);background:#fafafa;font-weight:700}.eng-exact-app .pm-roster-table tbody tr:last-child td{border-bottom:0}.eng-exact-app .pm-empty-cell{text-align:center!important;color:var(--muted,#64748b);padding:24px!important}.eng-exact-app .pm-worker-cell{display:flex;align-items:center;gap:8px;font-weight:600;color:#0f172a}.eng-exact-app .pm-worker-avatar{width:28px;height:28px;font-size:11px}.eng-exact-app .pm-pill{display:inline-flex;align-items:center;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700;white-space:nowrap}.eng-exact-app .pm-pill.present{background:#dcfce7;color:#166534}.eng-exact-app .pm-pill.absent{background:#fee2e2;color:#991b1b}.eng-exact-app .pm-pill.late{background:#fef3c7;color:#92400e}.eng-exact-app .pm-pill.active{background:#dcfce7;color:#166534;font-size:10px;padding:2px 8px}.eng-exact-app .pm-pill.inactive{background:#fee2e2;color:#991b1b}.eng-exact-app .pm-pill.neutral{background:#f1f5f9;color:#475569}.eng-exact-app .pm-status-dot{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#334155;white-space:nowrap}.eng-exact-app .pm-status-dot-mark{width:7px;height:7px;border-radius:999px;background:#94a3b8;flex-shrink:0}.eng-exact-app .pm-status-dot.active .pm-status-dot-mark{background:#22c55e}.eng-exact-app .pm-status-dot.inactive .pm-status-dot-mark{background:#ef4444}.eng-exact-app .pm-icon-btn{width:28px;height:28px;border:1px solid var(--line,#e8e2d6);border-radius:8px;background:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:#64748b}.eng-exact-app .pm-row-menu{font-size:16px;line-height:1;letter-spacing:.08em}.eng-exact-app .pm-project-hub{display:flex;align-items:stretch;background:#fff;border-left:1px solid var(--line,#e8e2d6)}.eng-exact-app .pm-hub-panel{width:420px;background:#fff;display:flex;flex-direction:column;min-height:100%}.eng-exact-app .pm-hub-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line,#eef2f7)}.eng-exact-app .pm-hub-head strong{font-size:15px;color:#0f172a}.eng-exact-app .pm-hub-tabs{display:flex;gap:0;padding:0;border-bottom:1px solid var(--line,#eef2f7);overflow:visible}.eng-exact-app .pm-hub-tab-btn{flex:1;min-width:0;border:0;background:transparent;padding:12px 4px 10px;border-radius:0;font-size:11px;font-weight:500;cursor:pointer;white-space:nowrap;color:#334155;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-bottom:2px solid transparent;margin-bottom:-1px}.eng-exact-app .pm-hub-tab-btn .app-icon{color:#0f172a}.eng-exact-app .pm-hub-tab-btn.active{color:var(--accent-base,#b8860b);border-bottom-color:var(--accent-base,#b8860b);font-weight:600}.eng-exact-app .pm-hub-tab-btn.active .app-icon{color:var(--accent-base,#b8860b)}.eng-exact-app .pm-hub-body{padding:14px 16px;overflow:auto;flex:1}.eng-exact-app .pm-hub-panel-view{display:flex;flex-direction:column;gap:14px}.eng-exact-app .pm-hub-panel-head h4{margin:0;font-size:14px;font-weight:700;color:#0f172a}.eng-exact-app .pm-hub-panel-head p{margin:4px 0 0;font-size:11px;line-height:1.45;color:#64748b}.eng-exact-app .pm-hub-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}.eng-exact-app .pm-hub-field{display:flex;flex-direction:column;gap:3px;padding:8px 10px;border:1px solid #eef2f7;border-radius:8px;background:#fafbfd}.eng-exact-app .pm-hub-field>span{font-size:10px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.eng-exact-app .pm-hub-field>strong{font-size:12px;color:#0f172a;line-height:1.35;font-weight:600}.eng-exact-app .pm-hub-field>strong.tone-risk{color:#dc2626}.eng-exact-app .pm-hub-field>strong.tone-warn{color:#d97706}.eng-exact-app .pm-hub-field>strong.tone-ok{color:#059669}.eng-exact-app .pm-hub-subsection h5{margin:0 0 8px;font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.eng-exact-app .pm-hub-chip-list{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}.eng-exact-app .pm-hub-chip-list li{display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid #e2e8f0;border-radius:999px;background:#fff;font-size:11px;color:#334155}.eng-exact-app .pm-hub-chip-list li strong{font-size:12px;color:#0f172a}.eng-exact-app .pm-hub-callout{padding:10px 12px;border-radius:8px;border:1px solid #fecaca;background:#fef2f2}.eng-exact-app .pm-hub-callout b{display:block;font-size:12px;color:#991b1b}.eng-exact-app .pm-hub-callout small{display:block;margin-top:4px;font-size:11px;color:#b91c1c}.eng-exact-app .pm-hub-milestone-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.eng-exact-app .pm-hub-milestone-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid #eef2f7;border-radius:8px;background:#fff}.eng-exact-app .pm-hub-milestone-list li span{font-size:12px;font-weight:600;color:#0f172a}.eng-exact-app .pm-hub-milestone-list li small{font-size:11px;color:#64748b;white-space:nowrap}.eng-exact-app .pm-hub-contacts-groups{display:flex;flex-direction:column;gap:14px}.eng-exact-app .pm-hub-contact-group h5{margin:0 0 8px;font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.eng-exact-app .pm-hub-contact-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.eng-exact-app .pm-hub-contact-list li{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.eng-exact-app .pm-hub-contact-avatar{width:32px;height:32px;border-radius:999px;background:#f1f5f9;color:#334155;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.eng-exact-app .pm-hub-contact-copy{flex:1;min-width:0}.eng-exact-app .pm-hub-contact-copy b{display:block;font-size:12px;color:#0f172a}.eng-exact-app .pm-hub-contact-copy small{display:block;font-size:10px;color:#64748b;margin-top:2px}.eng-exact-app .pm-hub-doc-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.eng-exact-app .pm-hub-doc-list li{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border:1px solid #eef2f7;border-radius:8px;background:#fff}.eng-exact-app .pm-hub-doc-copy{flex:1;min-width:0}.eng-exact-app .pm-hub-doc-copy b{display:block;font-size:12px;color:#0f172a;line-height:1.3}.eng-exact-app .pm-hub-doc-copy small{display:block;margin-top:3px;font-size:10px;color:#64748b;line-height:1.35}.eng-exact-app .pm-hub-doc-status{font-size:10px;font-weight:600;color:#64748b;white-space:nowrap;padding:2px 6px;border-radius:999px;background:#f8fafc}.eng-exact-app .pm-hub-risk-metrics{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px}.eng-exact-app .pm-hub-risk-metrics li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid #eef2f7;border-radius:8px;background:#fff;font-size:11px;color:#334155}.eng-exact-app .pm-hub-risk-metrics li strong{font-size:14px;color:#0f172a}.eng-exact-app .pm-hub-risk-metrics li.tone-risk{border-color:#fecaca;background:#fef2f2}.eng-exact-app .pm-hub-risk-metrics li.tone-risk strong{color:#dc2626}.eng-exact-app .pm-hub-risk-metrics li.tone-warn{border-color:#fde68a;background:#fffbeb}.eng-exact-app .pm-hub-risk-metrics li.tone-warn strong{color:#d97706}.eng-exact-app .pm-hub-risk-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.eng-exact-app .pm-hub-risk-list li{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px;border:1px solid #eef2f7;border-radius:8px;background:#fff}.eng-exact-app .pm-hub-risk-copy{flex:1;min-width:0}.eng-exact-app .pm-hub-risk-kind{display:inline-block;font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#64748b;margin-bottom:4px}.eng-exact-app .pm-hub-risk-copy b{display:block;font-size:12px;color:#0f172a;line-height:1.3}.eng-exact-app .pm-hub-risk-copy small{display:block;margin-top:4px;font-size:10px;color:#64748b;line-height:1.35}.eng-exact-app .pm-hub-risk-status{font-size:10px;font-weight:600;white-space:nowrap;padding:3px 8px;border-radius:999px;background:#f8fafc;color:#64748b}.eng-exact-app .pm-hub-risk-status.tone-risk{background:#fef2f2;color:#dc2626}.eng-exact-app .pm-hub-risk-status.tone-warn{background:#fffbeb;color:#d97706}.eng-exact-app .pm-hub-empty-inline{margin-top:4px}.eng-exact-app .pm-hub-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.eng-exact-app .pm-hub-section-head h4{margin:0;font-size:13px;font-weight:700;color:#0f172a}.eng-exact-app .pm-hub-section-title{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:13px;font-weight:700;color:#0f172a}.eng-exact-app .pm-hub-section-icon{flex-shrink:0;color:#64748b}.eng-exact-app .pm-hierarchy-modal-head-copy{min-width:0;flex:1 1 auto}.eng-exact-app .pm-hierarchy-modal-head-copy strong{display:flex;align-items:center;flex-wrap:wrap;gap:8px;overflow:visible;white-space:normal;word-break:break-word}.eng-exact-app .pm-hierarchy-modal-head-copy .admin-form-sub{margin-top:4px;overflow:visible;white-space:normal;word-break:break-word}.eng-exact-app .pm-hub-hierarchy-view-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#475569;cursor:pointer;flex-shrink:0;transition:background .15s ease,border-color .15s ease,color .15s ease}.eng-exact-app .pm-hub-hierarchy-view-btn:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1;color:#0f172a}.eng-exact-app .pm-hub-hierarchy-view-btn:disabled{opacity:.45;cursor:not-allowed}.eng-exact-app .pm-hierarchy-modal-overlay{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:220px!important;width:auto!important;height:auto!important;z-index:40;padding:0!important;overflow:hidden!important;align-content:stretch!important;place-items:stretch!important;background:#fff}@media(max-width:1180px){.eng-exact-app .pm-hierarchy-modal-overlay{left:200px!important}}@media(max-width:1024px){.eng-exact-app .pm-hierarchy-modal-overlay{left:168px!important}}body.mobile-tab-shell .eng-exact-app .pm-hierarchy-modal-overlay,body.native-app .eng-exact-app .pm-hierarchy-modal-overlay,.eng-exact-app--mobile-shell .pm-hierarchy-modal-overlay{left:0!important}.eng-exact-app .pm-hierarchy-modal-card{width:100%;height:100%;max-width:100%;max-height:100%!important;border-radius:0;display:flex;flex-direction:column;overflow:hidden;margin:0!important;box-shadow:none;border:0}.eng-exact-app .pm-hierarchy-modal-head{flex-shrink:0;padding:12px 20px;border-bottom:1px solid #e2e8f0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;background:#fff}.eng-exact-app .pm-hierarchy-modal-head-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.eng-exact-app .pm-hierarchy-zoom-controls{display:inline-flex;align-items:center;gap:4px;padding:3px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.eng-exact-app .pm-hierarchy-zoom-btn{min-width:32px;height:32px;padding:0 8px;border:0;border-radius:8px;background:transparent;color:#334155;font-size:16px;font-weight:700;line-height:1;cursor:pointer}.eng-exact-app .pm-hierarchy-zoom-btn--fit{min-width:56px;font-size:12px;font-weight:800}.eng-exact-app .pm-hierarchy-zoom-btn:hover{background:#fff;color:#0f172a}.eng-exact-app .pm-hierarchy-modal-body{flex:1;min-height:0;position:relative;overflow:hidden;touch-action:none;cursor:grab;background:#f1f5f9;-webkit-user-select:none;user-select:none}.eng-exact-app .pm-hierarchy-modal-body:active{cursor:grabbing}.eng-exact-app .pm-hierarchy-modal-body--workspace{display:flex;flex-direction:column;touch-action:auto;cursor:default;background:transparent;-webkit-user-select:auto;user-select:auto}.eng-exact-app .pm-hierarchy-modal-body--workspace:active{cursor:default}.eng-exact-app .pm-hierarchy-modal-body--workspace .pm-hierarchy-workspace,.eng-exact-app .pm-hierarchy-modal-body--workspace .mp-canvas-workspace{flex:1;min-height:0;width:100%;height:100%}.eng-exact-app .pm-hierarchy-modal-body--workspace .pm-hierarchy-workspace.mp-amap.mp-canvas-workspace{min-height:0;border:0;border-radius:0}.eng-exact-app .pm-org-peek-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10130;display:grid;place-items:center;padding:24px;background:#0f172a47;cursor:default}.eng-exact-app .pm-org-peek-card{position:relative;width:min(360px,calc(100vw - 48px));border:1px solid #e2e8f0;border-radius:14px;background:#fff;box-shadow:0 18px 40px #0f172a2e;padding:18px 18px 16px}.eng-exact-app .pm-org-peek-close{position:absolute;top:10px;right:10px;width:28px;height:28px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#64748b;display:grid;place-items:center;padding:0;cursor:pointer}.eng-exact-app .pm-org-peek-close:hover{color:#0f172a;background:#f8fafc}.eng-exact-app .pm-org-peek-head{display:flex;align-items:center;gap:12px;padding-right:32px;margin-bottom:14px}.eng-exact-app .pm-org-peek-avatar{width:40px;height:40px;border-radius:12px;background:#f4ead6;color:#8a6a1f;display:grid;place-items:center;font-size:12px;font-weight:800;flex-shrink:0}.eng-exact-app .pm-org-peek-copy{min-width:0}.eng-exact-app .pm-org-peek-copy strong{display:block;font-size:15px;font-weight:800;color:#0f172a;line-height:1.3}.eng-exact-app .pm-org-peek-copy small{display:block;margin-top:2px;font-size:12px;color:#64748b}.eng-exact-app .pm-org-peek-list{margin:0;display:flex;flex-direction:column;gap:8px}.eng-exact-app .pm-org-peek-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;align-items:start;padding:8px 10px;border-radius:8px;background:#f8fafc}.eng-exact-app .pm-org-peek-row dt{font-size:11px;font-weight:700;color:#64748b}.eng-exact-app .pm-org-peek-row dd{margin:0;font-size:12px;font-weight:650;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eng-exact-app .pm-hierarchy-modal-canvas{position:absolute;top:0;left:0;transform-origin:0 0;will-change:transform}.eng-exact-app .pm-hierarchy-modal-content{display:inline-block;min-width:min-content}.eng-exact-app .pm-org-tree--modal{margin:0;padding:20px 24px;overflow:visible;min-width:min-content;width:max-content}.eng-exact-app .pm-org-tree--modal .pm-org-tree-top-row{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:flex-start;gap:32px;width:max-content}.eng-exact-app .pm-org-tree--modal .pm-org-tree-pm-branch{min-width:180px;max-width:none}.eng-exact-app .pm-org-tree--modal .pm-org-tree-card b{font-size:13px}.eng-exact-app .pm-org-tree--modal .pm-org-tree-card--role{min-height:40px;font-size:12px}.eng-exact-app .pm-org-tree--modal .pm-org-tree-person,.eng-exact-app .pm-org-tree--modal .pm-org-tree-empty{padding:8px 10px;min-width:200px;width:220px;max-width:260px;flex:0 0 auto}.eng-exact-app .pm-org-tree--modal .pm-org-tree-person b,.eng-exact-app .pm-org-tree--modal .pm-org-tree-person-head b,.eng-exact-app .pm-org-tree--modal .pm-org-tree-role,.eng-exact-app .pm-org-tree--modal .pm-org-tree-direct-reports{font-size:13px;overflow:visible;text-overflow:unset;white-space:normal;word-break:break-word}.eng-exact-app .pm-org-tree--modal .pm-org-tree-role,.eng-exact-app .pm-org-tree--modal .pm-org-tree-direct-reports,.eng-exact-app .pm-org-tree--modal .pm-org-tree-reports-to,.eng-exact-app .pm-org-tree--modal .pm-org-tree-crew-count{font-size:11px}.eng-exact-app .pm-org-tree--modal .pm-org-active{font-size:10px}.eng-exact-app .pm-org-tree--modal .pm-org-tree-card-copy small,.eng-exact-app .pm-org-tree--modal .pm-org-tree-card-copy em{font-size:11px}.eng-exact-app .pm-org-tree--compact{margin-bottom:0;padding:0;min-width:min-content;overflow:visible}.eng-exact-app .pm-org-tree--compact .pm-org-tree-pm-branch{min-width:180px;max-width:none}.eng-exact-app .pm-org-tree--compact .pm-org-tree-person,.eng-exact-app .pm-org-tree--compact .pm-org-tree-empty{padding:5px 7px}.eng-exact-app .pm-org-tree--compact .pm-org-tree-person b{font-size:9px}.eng-exact-app .pm-org-tree--compact .pm-org-tree-role,.eng-exact-app .pm-org-tree--compact .pm-org-tree-reports-to,.eng-exact-app .pm-org-tree--compact .pm-org-tree-direct-reports,.eng-exact-app .pm-org-tree--compact .pm-org-tree-crew-count{font-size:8px}.eng-exact-app .pm-org-tree--compact .pm-org-tree-card--role{min-height:28px;font-size:10px}.eng-exact-app .pm-org-chart{overflow-x:auto;padding-bottom:4px;margin-bottom:12px}.eng-exact-app .pm-org-tree{overflow-x:auto;padding:4px 2px 8px;margin-bottom:12px;min-width:min(100%,360px)}.eng-exact-app .pm-org-peer-row{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:flex-start;justify-content:flex-start;width:max-content;min-width:min-content}.eng-exact-app .pm-org-peer-item{position:relative;padding:20px 24px 0}.eng-exact-app .pm-org-peer-item:before{content:"";position:absolute;top:0;height:2px;background:#94a3b8}.eng-exact-app .pm-org-peer-item:first-child:before{left:50%;right:0}.eng-exact-app .pm-org-peer-item:last-child:before{left:0;right:50%}.eng-exact-app .pm-org-peer-item:not(:first-child):not(:last-child):before{left:0;right:0}.eng-exact-app .pm-org-peer-item:after{content:"";position:absolute;top:0;left:50%;width:2px;height:20px;margin-left:-1px;background:#94a3b8}.eng-exact-app .pm-org-peer-row.is-single>.pm-org-peer-item{padding-top:0;padding-left:8px;padding-right:8px}.eng-exact-app .pm-org-peer-row.is-single>.pm-org-peer-item:before,.eng-exact-app .pm-org-peer-row.is-single>.pm-org-peer-item:after{content:none}.eng-exact-app .pm-org-tree-top-row{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:flex-start;justify-content:flex-start;gap:32px;width:max-content;min-width:min-content}.eng-exact-app .pm-org-tree-top-row>*{flex:0 0 auto;width:max-content;max-width:none}.eng-exact-app .pm-org-tree-top-row>:first-child{border-left:none;padding-left:8px}.eng-exact-app .pm-org-tree-pm-branches{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:20px;min-width:min-content;padding-bottom:0;flex:0 0 auto}.eng-exact-app .pm-org-tree-pm-branch{flex:0 0 auto;min-width:180px;max-width:none;width:max-content;display:flex;flex-direction:column;align-items:center}.eng-exact-app .pm-org-tree-pm-branch .pm-org-tree-section--team{width:100%;overflow-x:auto;overflow-y:visible}.eng-exact-app .pm-org-tree-engineer-stack{display:flex;flex-direction:column;align-items:center;width:100%;min-width:0;gap:0;overflow:visible}.eng-exact-app .pm-org-tree-engineer-stack>.pm-org-tree-person{width:100%;max-width:140px}.eng-exact-app .pm-org-tree-foreman-spine{position:relative;width:100%;max-width:148px;margin:0 auto;padding:2px 0 2px 14px}.eng-exact-app .pm-org-tree-foreman-spine:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:#94a3b8}.eng-exact-app .pm-org-tree-foreman-spine-item{display:flex;align-items:center;gap:0;margin-bottom:6px}.eng-exact-app .pm-org-tree-foreman-spine-item:last-child{margin-bottom:0}.eng-exact-app .pm-org-tree-foreman-spine-tick{width:12px;height:2px;margin-left:-14px;background:#94a3b8;flex-shrink:0}.eng-exact-app .pm-org-tree-foreman-spine-item .pm-org-tree-person{flex:1;min-width:0;width:100%;max-width:130px}.eng-exact-app .pm-org-tree-crew-summary{margin-top:8px;text-align:center;font-size:11px;font-weight:600;color:#64748b}.eng-exact-app .pm-org-tree-section--accountants{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;margin-top:0;padding:0 8px 0 24px;border-top:none;border-left:1px dashed #e2e8f0;flex:0 0 auto;min-width:180px}.eng-exact-app .pm-org-tree-section--sales{display:flex;flex-direction:column;align-items:center;margin-top:0;padding:0 8px 0 24px;border-top:none;border-left:1px dashed #e2e8f0;flex:0 0 auto}.eng-exact-app .pm-org-tree-sales-branches{display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:flex-start;gap:20px;width:max-content}.eng-exact-app .pm-org-tree-sales-branch{display:flex;flex-direction:column;align-items:center;width:220px;flex:0 0 auto}.eng-exact-app .pm-org-tree-foreman-spine--sales{width:100%;align-items:center}.eng-exact-app .pm-org-tree-level--sales{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:16px;width:min(100%,520px)}.eng-exact-app .pm-org-tree-branch--sales{display:flex;flex-direction:column;align-items:center;width:100%}.eng-exact-app .pm-org-tree-level--accountants{display:flex;flex-direction:column;align-items:center;width:min(100%,240px)}.eng-exact-app .pm-org-tree-section--managers{display:flex;flex-direction:column;align-items:center;margin-bottom:4px}.eng-exact-app .pm-org-tree-section--team{display:flex;flex-direction:column}.eng-exact-app .pm-org-tree-level--pm-role,.eng-exact-app .pm-org-tree-level--pm-people{display:flex;justify-content:center;width:100%}.eng-exact-app .pm-org-tree-branch--pm{width:min(100%,240px)}.eng-exact-app .pm-org-tree-section--managers .pm-org-tree-vline--root{margin-top:2px}.eng-exact-app .pm-org-tree-level{display:grid;gap:0;position:relative}.eng-exact-app .pm-org-tree-level--pm{display:flex;justify-content:center;margin-bottom:0}.eng-exact-app .pm-org-tree-level--roles,.eng-exact-app .pm-org-tree-level--people,.eng-exact-app .pm-org-tree-level--engineer-people,.eng-exact-app .pm-org-tree-level--foreman-people{grid-template-columns:repeat(var(--pm-org-role-cols, 3),minmax(0,1fr))}.eng-exact-app .pm-org-tree-level--engineer-people .pm-org-tree-branch,.eng-exact-app .pm-org-tree-level--foreman-people .pm-org-tree-branch{align-items:stretch;overflow:visible}.eng-exact-app .pm-org-tree-level--engineer-people .pm-org-tree-people-row{flex-direction:column;align-items:stretch;flex-wrap:nowrap;overflow:visible}.eng-exact-app .pm-org-tree-foreman-group{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:6px;width:100%;min-width:0}.eng-exact-app .pm-org-tree-foreman-group .pm-org-tree-person,.eng-exact-app .pm-org-tree-foreman-group .pm-org-tree-empty{flex:1 1 88px;max-width:120px}.eng-exact-app .pm-org-tree-branch--spacer{visibility:hidden;pointer-events:none}.eng-exact-app .pm-org-tree-level--foreman-types,.eng-exact-app .pm-org-tree-level--foreman-people{grid-template-columns:repeat(var(--pm-org-foreman-cols, 3),minmax(0,1fr))}.eng-exact-app .pm-org-tree-branch{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;padding:0 4px}.eng-exact-app .pm-org-tree-branch--admin .pm-org-tree-vline--dashed{border-left-style:dashed}.eng-exact-app .pm-org-tree-hrail{position:absolute;top:0;left:calc(100% / (var(--pm-org-role-cols, 3) * 2));right:calc(100% / (var(--pm-org-role-cols, 3) * 2));height:2px;background:#94a3b8;pointer-events:none}.eng-exact-app .pm-org-tree-level--foreman-types .pm-org-tree-hrail,.eng-exact-app .pm-org-tree-level--foreman-people .pm-org-tree-hrail{left:calc(100% / (var(--pm-org-foreman-cols, 3) * 2));right:calc(100% / (var(--pm-org-foreman-cols, 3) * 2))}.eng-exact-app .pm-org-tree-vline{width:0;height:14px;border-left:2px solid #94a3b8;flex-shrink:0}.eng-exact-app .pm-org-tree-vline--root{width:0;height:16px;border-left:2px solid #94a3b8;margin:0 auto}.eng-exact-app .pm-org-tree-vline--dashed{border-left-style:dashed}.eng-exact-app .pm-org-tree-bracket-wrap{display:grid;grid-template-columns:repeat(var(--pm-org-role-cols, 3),minmax(0,1fr));margin:2px 0 0;min-height:18px}.eng-exact-app .pm-org-tree-bracket{grid-column:1 / span var(--pm-org-engineer-cols, 2);margin:0 18%;height:16px;border-left:2px solid #94a3b8;border-right:2px solid #94a3b8;border-bottom:2px solid #94a3b8;border-bottom-left-radius:8px;border-bottom-right-radius:8px}.eng-exact-app .pm-org-tree-card{width:100%;max-width:100%;border:1px solid #cbd5e1;border-radius:8px;background:#fff;padding:8px 10px;box-shadow:0 1px 2px #0f172a0a;text-align:center}.eng-exact-app .pm-org-tree-card b{display:block;font-size:11px;font-weight:700;color:#0f172a;line-height:1.25}.eng-exact-app .pm-org-tree-card--pm{display:flex;align-items:flex-start;gap:8px;text-align:left;max-width:100%;min-width:220px}.eng-exact-app .pm-org-tree-card--pm.is-empty{align-items:flex-start}.eng-exact-app .pm-org-tree-card-copy{flex:1;min-width:0}.eng-exact-app .pm-org-tree-card-copy small,.eng-exact-app .pm-org-tree-card-copy em{display:block;font-size:10px;color:#64748b;font-style:normal;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eng-exact-app .pm-org-tree-card--pm .pm-org-active{flex-shrink:0;font-size:9px}.eng-exact-app .pm-org-tree-card--role{margin-top:0;min-height:34px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.eng-exact-app .pm-org-tree-card-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;background:#f1f5f9;color:#475569;flex-shrink:0}.eng-exact-app .pm-org-node{display:flex;flex-direction:column;align-items:center;width:max-content}.eng-exact-app .pm-org-node-card{position:relative;z-index:1;display:flex;justify-content:center}.eng-exact-app .pm-org-node.has-children>.pm-org-node-card:after{content:"";position:absolute;left:50%;top:100%;width:2px;height:18px;margin-left:-1px;background:#94a3b8}.eng-exact-app .pm-org-node-children{display:flex;justify-content:center;align-items:flex-start;padding-top:18px;position:relative}.eng-exact-app .pm-org-node-child{position:relative;padding:18px 14px 0}.eng-exact-app .pm-org-node-child:before{content:"";position:absolute;top:0;height:2px;background:#94a3b8}.eng-exact-app .pm-org-node-child:first-child:before{left:50%;right:0}.eng-exact-app .pm-org-node-child:last-child:before{left:0;right:50%}.eng-exact-app .pm-org-node-child:not(:first-child):not(:last-child):before{left:0;right:0}.eng-exact-app .pm-org-node-child:after{content:"";position:absolute;top:0;left:50%;width:2px;height:18px;margin-left:-1px;background:#94a3b8}.eng-exact-app .pm-org-node.is-single>.pm-org-node-children>.pm-org-node-child{padding-top:0;padding-left:0;padding-right:0}.eng-exact-app .pm-org-node.is-single>.pm-org-node-children>.pm-org-node-child:before,.eng-exact-app .pm-org-node.is-single>.pm-org-node-children>.pm-org-node-child:after{content:none}.eng-exact-app .pm-org-node-card .pm-org-tree-person,.eng-exact-app .pm-org-node-card .pm-org-tree-empty{flex:0 0 auto;position:relative;width:188px;max-width:188px;min-width:188px;padding:8px 30px 8px 8px;overflow:visible}.eng-exact-app button.pm-org-tree-person-view{position:absolute;top:6px;right:6px;z-index:3;flex:none;width:24px;height:24px;margin:0;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#475569;display:grid;place-items:center;padding:0;cursor:pointer;box-shadow:0 1px 2px #0f172a14}.eng-exact-app button.pm-org-tree-person-view .app-icon{display:block;margin:0;color:#475569}.eng-exact-app button.pm-org-tree-person-view:hover{color:#0f172a;border-color:#94a3b8;background:#f8fafc}.eng-exact-app .pm-org-tree-person-head{display:flex;align-items:center;gap:6px;min-width:0}.eng-exact-app .pm-org-tree-person-head b{flex:1;min-width:0}.eng-exact-app .pm-org-tree-person-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;flex-shrink:0;background:#f1f5f9;color:#475569}.eng-exact-app .pm-org-tree-person-icon--user{background:#eff6ff;color:#2563eb}.eng-exact-app .pm-org-tree-person-icon--wrench{background:#ecfdf5;color:#059669}.eng-exact-app .pm-org-tree-person-icon--hardHat{background:#fff7ed;color:#ea580c}.eng-exact-app .pm-org-tree-person-icon--money{background:#fefce8;color:#ca8a04}.eng-exact-app .pm-org-tree-person-icon--crew{background:#f1f5f9;color:#475569}.eng-exact-app .pm-org-tree-person-icon--building{background:#eef2ff;color:#4f46e5}.eng-exact-app .pm-org-tree-person-icon--send{background:#ecfeff;color:#0891b2}.eng-exact-app .pm-org-tree-foreman-spine--crew{width:100%;max-width:130px;margin-top:0}.eng-exact-app .pm-org-tree-section--accountants .pm-org-tree-people-row{padding:0;flex-direction:column;align-items:center;flex-wrap:nowrap}.eng-exact-app .pm-org-tree-crew-count{display:inline-flex;align-items:center;gap:4px}.eng-exact-app .pm-org-tree-meta-icon{flex-shrink:0;opacity:.85}.eng-exact-app .pm-org-tree-empty{display:inline-flex;align-items:center;justify-content:center;gap:5px;font-style:italic}.eng-exact-app .pm-org-tree-empty-icon{flex-shrink:0;opacity:.65}.eng-exact-app .pm-org-tree-people-row{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;width:100%;padding:8px 0 4px}.eng-exact-app .pm-org-tree-people-col{display:flex;flex-direction:column;gap:12px;width:100%;padding:8px 0 4px}.eng-exact-app .pm-org-tree-engineer-branch{display:flex;flex-direction:column;align-items:center;width:100%;min-width:0}.eng-exact-app .pm-org-tree-foremen-stack{display:flex;flex-direction:column;gap:6px;width:100%;min-width:0}.eng-exact-app .pm-org-tree-vline--nested{height:10px}.eng-exact-app .pm-org-tree-person,.eng-exact-app .pm-org-tree-empty{border:1px solid #e2e8f0;border-radius:8px;background:#fff;padding:6px 8px;min-width:0;max-width:100%;flex:1 1 88px}.eng-exact-app .pm-org-tree-person b{display:block;font-size:10px;font-weight:700;color:#0f172a;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eng-exact-app .pm-org-tree-role,.eng-exact-app .pm-org-tree-reports-to,.eng-exact-app .pm-org-tree-direct-reports{display:block;margin-top:3px;font-size:9px;font-weight:600;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eng-exact-app .pm-org-tree-role{color:#475569}.eng-exact-app .pm-org-tree-reports-to{color:#6366f1}.eng-exact-app .pm-org-tree-direct-reports{color:#64748b}.eng-exact-app .pm-org-tree-person .pm-org-active{margin-top:4px;font-size:9px;gap:3px}.eng-exact-app .pm-org-tree-person.has-crew-count .pm-org-active{margin-top:3px}.eng-exact-app .pm-org-tree-crew-count{display:block;margin-top:5px;font-size:9px;font-weight:600;color:#64748b;font-style:normal}.eng-exact-app .pm-org-tree-crew-total{width:100%;margin-top:2px;padding:0 4px 4px;text-align:center;font-size:9px;font-weight:700;color:#475569}.eng-exact-app .pm-org-tree-empty{font-size:10px;color:#64748b;font-style:italic;text-align:center;flex:1 1 100%}.eng-exact-app .pm-org-tree-level--people .pm-org-tree-branch,.eng-exact-app .pm-org-tree-level--foreman-people .pm-org-tree-branch{padding-bottom:2px}.eng-exact-app .pm-org-tree-level--foreman-types{margin-top:2px}.eng-exact-app .pm-org-tree-level--foreman-people{margin-bottom:4px}.eng-exact-app .pm-org-root{display:flex;flex-direction:column;align-items:center;margin-bottom:0;width:100%}.eng-exact-app .pm-org-pm-row{display:flex;gap:8px;flex-wrap:wrap;width:100%}.eng-exact-app .pm-org-pm-row .pm-org-pm-card{flex:1;min-width:140px;max-width:100%}.eng-exact-app .pm-hub-empty,.eng-exact-app .pm-org-col-empty{margin:0;padding:8px;font-size:11px;color:#64748b;font-style:italic}.eng-exact-app .pm-org-level.no-pm{padding-top:0}.eng-exact-app .pm-org-pm-card{width:100%;max-width:100%;border:1px solid #e2e8f0;border-radius:10px;background:#fff;padding:10px 12px;display:flex;gap:10px;align-items:flex-start;box-shadow:0 1px 2px #0f172a0a}.eng-exact-app .pm-org-pm-body{flex:1;min-width:0}.eng-exact-app .pm-org-pm-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.eng-exact-app .pm-org-pm-ident b{display:block;font-size:13px;color:#0f172a;line-height:1.25}.eng-exact-app .pm-org-pm-ident small{display:block;font-size:11px;color:#64748b;margin-top:2px}.eng-exact-app .pm-org-pm-card em{display:block;margin-top:8px;font-size:10px;color:#64748b;font-style:normal;text-align:right}.eng-exact-app .pm-org-stem{width:2px;height:14px;background:#cbd5e1;flex-shrink:0}.eng-exact-app .pm-org-level{position:relative;width:100%;min-width:0}.eng-exact-app .pm-org-columns-wrap{display:flex;gap:8px;align-items:flex-start;width:100%}.eng-exact-app .pm-org-columns-row{flex:1;min-width:0;display:flex;gap:8px;position:relative;padding-top:14px}.eng-exact-app .pm-org-columns-row:before{content:"";position:absolute;top:0;left:calc(100% / (var(--pm-org-cols, 2) * 2));right:calc(100% / (var(--pm-org-cols, 2) * 2));height:2px;background:#cbd5e1}.eng-exact-app .pm-org-column{position:relative;flex:1 1 0;min-width:108px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;overflow:hidden;min-height:152px;display:flex;flex-direction:column;box-shadow:0 1px 2px #0f172a0a}.eng-exact-app .pm-org-column:before{content:"";position:absolute;top:-14px;left:50%;transform:translate(-50%);width:2px;height:14px;background:#cbd5e1}.eng-exact-app .pm-org-col-head{padding:8px;border-bottom:1px solid #f1f5f9;display:flex;align-items:flex-start;gap:6px}.eng-exact-app .pm-org-badge{width:28px;height:28px;border-radius:999px;background:linear-gradient(180deg,#f5efe3,#ead9b8);color:#9a7b2f;border:1px solid #e8dcc4;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;flex-shrink:0}.eng-exact-app .pm-org-badge.lg{width:36px;height:36px;font-size:12px}.eng-exact-app .pm-org-badge.sm{width:24px;height:24px;font-size:9px}.eng-exact-app .pm-org-col-head-copy{flex:1;min-width:0}.eng-exact-app .pm-org-col-head-copy b{display:block;font-size:11px;color:#0f172a;line-height:1.25;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eng-exact-app .pm-org-col-head-copy small{display:block;font-size:10px;color:#64748b;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eng-exact-app .pm-org-col-head>.pm-org-active{flex-shrink:0;align-self:flex-start;font-size:9px;gap:3px}.eng-exact-app .pm-org-col-head>.pm-org-active .pm-org-active-dot{width:5px;height:5px}.eng-exact-app .pm-org-col-list{list-style:none;margin:0;padding:8px;flex:1;display:flex;flex-direction:column;gap:2px}.eng-exact-app .pm-org-col-member{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;padding:2px 0}.eng-exact-app .pm-org-col-member-copy{flex:1;min-width:0}.eng-exact-app .pm-org-col-member-copy b{display:block;font-size:10px;color:#0f172a;line-height:1.3;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eng-exact-app .pm-org-col-member-copy small{display:block;font-size:9px;color:#64748b;margin-top:2px}.eng-exact-app .pm-org-col-member-copy .pm-org-active{margin-top:4px;font-size:9px;gap:3px}.eng-exact-app .pm-org-member-chevron{transform:rotate(-90deg);color:#94a3b8;flex-shrink:0;margin-top:4px}.eng-exact-app .pm-org-more-btn{border:0;background:none;color:#2563eb;font-size:10px;font-weight:700;cursor:pointer;padding:0 8px 6px;text-align:left}.eng-exact-app .pm-org-column.is-collapsed .pm-org-col-list,.eng-exact-app .pm-org-column.is-collapsed .pm-org-more-btn{display:none}.eng-exact-app .pm-org-active{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;color:#16a34a;white-space:nowrap}.eng-exact-app .pm-org-active-dot{width:6px;height:6px;border-radius:999px;background:#22c55e;flex-shrink:0}.eng-exact-app .pm-org-col-foot{margin-top:auto;padding:6px 8px 8px;font-size:9px;color:#64748b;text-align:right;border-top:1px solid #f1f5f9}.eng-exact-app .pm-org-admin-branch{flex:0 0 112px;display:flex;flex-direction:column;align-items:stretch;position:relative;padding-top:14px}.eng-exact-app .pm-org-columns-wrap.has-admin .pm-org-columns-row:before{right:0}.eng-exact-app .pm-org-admin-branch:before{content:"";position:absolute;top:0;left:-8px;right:50%;height:0;border-top:2px dashed #cbd5e1}.eng-exact-app .pm-org-admin-dash{display:flex;align-items:flex-start;height:14px;position:relative;margin-top:-14px}.eng-exact-app .pm-org-dash-h{display:none}.eng-exact-app .pm-org-dash-v{display:block;width:0;height:14px;border-left:2px dashed #cbd5e1;position:absolute;left:50%;top:0;transform:translate(-50%)}.eng-exact-app .pm-org-admin-stack{display:flex;flex-direction:column;gap:0;position:relative;width:100%}.eng-exact-app .pm-org-admin-card{border:1px solid #e2e8f0;border-radius:10px;background:#fff;box-shadow:0 1px 2px #0f172a0a;min-height:152px;display:flex;flex-direction:column;overflow:hidden}.eng-exact-app .pm-org-admin-head{margin:0}.eng-exact-app .pm-org-admin-body{flex:1;padding:8px;min-height:0}.eng-exact-app .pm-org-admin-name{display:block;font-size:10px;color:#0f172a;font-weight:700;margin-bottom:2px;line-height:1.3;overflow:hidden;text-overflow:ellipsis}.eng-exact-app .pm-org-admin-body small{display:block;font-size:9px;color:#64748b}.eng-exact-app .pm-org-admin-foot{text-align:left;padding-top:6px;padding-bottom:8px}.eng-exact-app .pm-org-admin-foot .pm-org-active{font-size:9px;gap:3px}.eng-exact-app .pm-org-admin-connector{width:0;height:12px;border-left:2px dashed #cbd5e1;margin:0 auto}.eng-exact-app .pm-hub-info-banner{margin-top:14px;padding:10px 12px;border-radius:10px;background:#eff6ff;border:1px solid #bfdbfe;display:flex;gap:8px;align-items:flex-start;color:#1e40af}.eng-exact-app .pm-hub-info-banner p{margin:0;font-size:11px;line-height:1.45}.eng-exact-app .pm-hub-summary{margin-top:14px;padding-top:14px;border-top:1px solid var(--line,#eef2f7)}.eng-exact-app .pm-hub-summary h4{margin:0 0 8px;font-size:13px;font-weight:700;color:#0f172a}.eng-exact-app .pm-hub-summary-total{font-size:12px;color:#334155;margin-bottom:10px}.eng-exact-app .pm-hub-summary-label{margin:0 0 8px;font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.eng-exact-app .pm-hub-empty-skills{margin:0;font-size:11px;color:#64748b}.eng-exact-app .pm-skill-row{margin-bottom:10px}.eng-exact-app .pm-skill-meta{display:flex;justify-content:space-between;font-size:11px;margin-bottom:5px;color:#334155;font-weight:600}.eng-exact-app .pm-skill-track{height:7px;border-radius:999px;background:#eef2f7;overflow:hidden}.eng-exact-app .pm-skill-track span{display:block;height:100%;border-radius:999px}.eng-exact-app .pm-hub-footer-btn{margin:0 16px 14px;border:1px solid var(--line,#e8e2d6);border-radius:10px;background:#fff;padding:11px 12px;font-size:12px;font-weight:600;cursor:pointer;width:calc(100% - 32px);display:flex;align-items:center;justify-content:center;gap:8px;color:#334155}.eng-exact-app .pm-hub-placeholder p{margin:6px 0;font-size:12px;color:var(--muted,#64748b)}@media(max-width:1200px){.eng-exact-app .pm-crew-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.eng-exact-app .pm-exception-grid--three{grid-template-columns:1fr}.eng-exact-app .pm-crew-workspace.hub-open{grid-template-columns:minmax(0,1fr) 380px}.eng-exact-app .pm-hub-panel{width:380px}}@media(max-width:900px){.eng-exact-app .pm-crew-workspace.hub-open{grid-template-columns:1fr}.eng-exact-app .pm-reporting-flow{flex-wrap:wrap;row-gap:6px}.eng-exact-app .pm-reporting-node-wrap:nth-child(n+2) .pm-reporting-chevron{display:none}.eng-exact-app .pm-project-hub{order:-1;border-left:0;border-bottom:1px solid var(--line,#e8e2d6)}.eng-exact-app .pm-hub-panel{width:100%}.eng-exact-app .pm-org-columns-wrap{flex-direction:column;gap:12px}.eng-exact-app .pm-org-columns-wrap:before{display:none}.eng-exact-app .pm-org-admin-branch{flex:1;width:100%}.eng-exact-app .pm-org-admin-dash{display:none}}.eng-exact-app .summary-main h3.tone-ok{color:#bbf7d0}.eng-exact-app .summary-main h3.tone-warn{color:#fde68a}.eng-exact-app .summary-main h3.tone-risk{color:#fecaca}.eng-exact-app .project-hub-card{position:relative;padding-right:46px}.eng-exact-app .project-hub-card .card-action{position:absolute;right:10px;top:9px;font-weight:800}.eng-exact-app .pm-project-hub--inline{display:block;width:100%;border:1px solid color-mix(in srgb,var(--line,#c9d1dc) 85%,#64748b 15%);border-radius:12px;margin:0 0 16px;overflow:visible;background:#fff;box-shadow:0 1px 3px #0f172a0f,0 0 0 1px #fff9 inset}.eng-exact-app .pm-project-hub--inline .pm-hub-panel{width:100%;min-height:auto;max-height:none;height:auto;border-radius:12px;overflow:hidden}.eng-exact-app .pm-project-hub--inline .pm-hub-head{border-bottom:1px solid var(--line,#e2e8f0);background:var(--panel-soft,#faf8f4)}.eng-exact-app .pm-project-hub--inline .pm-hub-tabs{border-bottom:1px solid var(--line,#e2e8f0);background:#fff}.eng-exact-app .pm-project-hub--inline .pm-hub-body{overflow:visible;flex:none;border-top:1px solid var(--line,#eef2f7)}.eng-exact-app .pm-project-hub--inline .pm-hub-footer-btn{border-top:1px solid var(--line,#e2e8f0)}.eng-exact-app .pm-project-hub--inline .pm-org-tree{overflow:visible}.eng-exact-app .project-hub-roster{margin:0 14px 12px;padding:12px 14px;border:1px solid var(--line,#e8e2d6);border-radius:12px;background:var(--panel-soft,#faf8f4)}.eng-exact-app .project-hub-roster-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.eng-exact-app .project-hub-roster-head strong{display:block;font-size:13px;color:#0f172a}.eng-exact-app .project-hub-roster-head span{display:block;margin-top:2px;font-size:11px;color:#64748b}.eng-exact-app .project-hub-roster-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.eng-exact-app .project-hub-roster-search,.eng-exact-app .project-hub-roster-role{border:1px solid var(--line,#e8e2d6);border-radius:8px;padding:6px 10px;font-size:12px;background:#fff;color:#0f172a}.eng-exact-app .project-hub-roster-search{min-width:180px}.eng-exact-app .project-hub-roster-empty{margin:0;font-size:12px;color:#64748b}.eng-exact-app .project-hub-roster-table-wrap{overflow:auto;border:1px solid var(--line,#e8e2d6);border-radius:10px;background:#fff}.eng-exact-app .project-hub-roster-table{width:100%;border-collapse:collapse;font-size:12px}.eng-exact-app .project-hub-roster-table th,.eng-exact-app .project-hub-roster-table td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--line,#eef2f7);vertical-align:top}.eng-exact-app .project-hub-roster-table th{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#64748b;background:#f8fafc}.eng-exact-app .project-hub-roster-table tbody tr:last-child td{border-bottom:0}.eng-exact-app .project-hub-roster-table td:first-child{font-weight:600;color:#0f172a}.eng-exact-app .project-hub-roster-table td:nth-child(2){font-family:var(--font-mono);font-size:11px;color:#475569}@media(max-width:720px){.eng-exact-app .project-hub-roster{margin-inline:10px}.eng-exact-app .project-hub-roster-filters{width:100%}.eng-exact-app .project-hub-roster-search{flex:1;min-width:0}}html:not(.theme-dark) .eng-exact-app .center:has(.projects-area-active),html:not(.theme-dark) .eng-exact-app .project-area.projects-area-active,html:not(.theme-dark) .eng-exact-app .center:has(.project-detail-active),html:not(.theme-dark) .eng-exact-app .project-area.project-detail-active{background:#f9f8f3}html:not(.theme-dark) .eng-exact-app .project-area.projects-area-active .context-strip{background:#f9f8f3f5;border-bottom-color:#e8e4dc}.eng-exact-app .project-area.projects-area-active{padding:18px 22px 24px}.eng-exact-app .projects-portfolio{--portfolio-bg: #f9f8f3;--portfolio-surface: #ffffff;--portfolio-surface-muted: #f3f1ea;--portfolio-line: #e8e4dc;--portfolio-line-strong: #d8d2c4;--portfolio-ink: #1f1c17;--portfolio-muted: #8a8478;--portfolio-accent: var(--accent-base, #8a6d2e);display:flex;flex-direction:column;gap:18px;width:100%;max-width:100%;min-width:0;box-sizing:border-box;padding:4px 2px 8px}.eng-exact-app .projects-portfolio-panel{display:flex;flex-direction:column;gap:16px}.eng-exact-app .projects-portfolio-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.eng-exact-app .projects-portfolio-head-copy h2{margin:0;color:var(--portfolio-ink);font-family:var(--font-sans);font-size:clamp(1.35rem,1.8vw,1.55rem);font-weight:700;letter-spacing:-.02em}.eng-exact-app .projects-portfolio-head-copy p{margin:5px 0 0;color:var(--portfolio-muted);font-size:11px}.eng-exact-app .projects-portfolio-add-btn{height:38px;padding:0 16px;border:0;border-radius:999px;background:var(--portfolio-accent);color:#fff!important;font-size:12px;font-weight:700;display:inline-flex;align-items:center;gap:8px;box-shadow:0 8px 18px color-mix(in srgb,var(--portfolio-accent) 24%,transparent 76%)}.eng-exact-app .projects-portfolio-add-btn .app-icon,.eng-exact-app .projects-portfolio-add-btn svg{color:#fff!important}.eng-exact-app .projects-portfolio-add-btn:hover{background:color-mix(in srgb,var(--portfolio-accent) 88%,#000 12%)}.eng-exact-app .projects-portfolio-metrics{gap:14px}.eng-exact-app .projects-portfolio-metric{background:var(--portfolio-surface);border:1px solid var(--portfolio-line);border-radius:14px;padding:16px 18px;box-shadow:0 1px 2px #1f1c170a}.eng-exact-app .projects-portfolio-metric--clickable{cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.eng-exact-app .projects-portfolio-metric--clickable:hover{border-color:color-mix(in srgb,var(--portfolio-accent, #8a6d2e) 45%,var(--portfolio-line));box-shadow:0 4px 12px #1f1c1714}.eng-exact-app .projects-portfolio-metric--clickable:focus-visible{outline:2px solid color-mix(in srgb,var(--portfolio-accent, #8a6d2e) 55%,transparent);outline-offset:2px}.eng-exact-app .projects-portfolio-metric--alerts.is-active{border-color:#dc2626!important;background:color-mix(in srgb,#dc2626 6%,#fff)!important;animation:projects-portfolio-alerts-pulse 1.6s ease-in-out infinite}.eng-exact-app .projects-portfolio-metric--alerts.is-active b{color:#dc2626}@keyframes projects-portfolio-alerts-pulse{0%,to{box-shadow:0 0 0 1px #dc2626,0 1px 2px #dc26261f}50%{box-shadow:0 0 0 4px #dc262647,0 4px 14px #dc26262e}}@media(prefers-reduced-motion:reduce){.eng-exact-app .projects-portfolio-metric--alerts.is-active{animation:none;box-shadow:0 0 0 1px #dc2626,0 1px 2px #dc26261f}}.eng-exact-app .projects-portfolio-metric small{display:block;color:var(--portfolio-muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.eng-exact-app .projects-portfolio-metric b{display:block;margin-top:8px;color:var(--portfolio-ink);font-size:clamp(1.5rem,2vw,1.85rem);font-weight:800;letter-spacing:-.03em;line-height:1}.eng-exact-app .projects-portfolio-metric span{display:block;margin-top:8px;color:var(--portfolio-muted);font-size:11px;line-height:1.35}.eng-exact-app .projects-portfolio-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.eng-exact-app .projects-portfolio-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.eng-exact-app .projects-portfolio-filter{height:36px;padding:0 16px;border:1px solid var(--portfolio-line);border-radius:999px;background:var(--portfolio-surface);color:var(--portfolio-muted);font-size:12px;font-weight:700;white-space:nowrap}.eng-exact-app .projects-portfolio-filter:hover{border-color:var(--portfolio-line-strong);color:var(--portfolio-ink)}.eng-exact-app .projects-portfolio-filter.active{background:var(--portfolio-accent);border-color:var(--portfolio-accent);color:#fff!important}.eng-exact-app .projects-portfolio-filter.active:hover{background:color-mix(in srgb,var(--portfolio-accent) 88%,#000 12%);border-color:color-mix(in srgb,var(--portfolio-accent) 88%,#000 12%);color:#fff!important}.eng-exact-app .projects-portfolio-search{display:flex;align-items:center;gap:8px;min-width:260px;height:40px;padding:0 14px;border:1px solid var(--portfolio-line);border-radius:999px;background:var(--portfolio-surface);color:var(--portfolio-muted)}.eng-exact-app .projects-portfolio-search input{flex:1;border:0;background:transparent;font-size:12px;color:var(--portfolio-ink);outline:none}.eng-exact-app .projects-portfolio-search input::placeholder{color:var(--portfolio-muted)}.eng-exact-app .projects-portfolio-grid{display:grid;grid-template-columns:repeat(var(--portfolio-columns, 3),minmax(0,1fr));gap:18px}.eng-exact-app .projects-portfolio-card{display:flex;flex-direction:column;gap:16px;padding:18px;border:1px solid var(--portfolio-line);border-radius:16px;background:var(--portfolio-surface);box-shadow:0 2px 8px #1f1c170a;min-height:248px}.eng-exact-app .projects-portfolio-card--clickable{cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.eng-exact-app .projects-portfolio-card--clickable:hover{border-color:color-mix(in srgb,var(--portfolio-accent) 35%,var(--portfolio-line) 65%);box-shadow:0 6px 18px #1f1c1714}.eng-exact-app .projects-portfolio-card--clickable:focus-visible{outline:2px solid var(--portfolio-accent);outline-offset:2px}.eng-exact-app .projects-portfolio-card--clickable:hover .projects-portfolio-open,.eng-exact-app .projects-portfolio-card--clickable:hover .projects-portfolio-procurement{border-color:var(--portfolio-accent);background:color-mix(in srgb,var(--portfolio-accent) 6%,#fff 94%)}.eng-exact-app .projects-portfolio-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.eng-exact-app .projects-portfolio-card-title h4{margin:0;font-size:16px;line-height:1.25;font-weight:800;color:var(--portfolio-ink)}.eng-exact-app .projects-portfolio-card-title p{margin:5px 0 0;color:var(--portfolio-muted);font-size:11px}.eng-exact-app .projects-portfolio-badge{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap}.eng-exact-app .projects-portfolio-badge.approved{background:#e8f5ec;color:#1f6e53}.eng-exact-app .projects-portfolio-badge.pending{background:#fff0dc;color:#93511f}.eng-exact-app .projects-portfolio-badge.delayed{background:#f9e6e2;color:#a33d2c}.eng-exact-app .projects-portfolio-badge.review{background:#eef2ff;color:#475569}.eng-exact-app .projects-portfolio-progress{display:flex;flex-direction:column;gap:8px}.eng-exact-app .projects-portfolio-progress-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:var(--portfolio-muted)}.eng-exact-app .projects-portfolio-progress-head strong{color:var(--portfolio-ink);font-size:13px;font-weight:800}.eng-exact-app .projects-portfolio-progress-track{height:9px;border-radius:999px;background:#ece8df;overflow:hidden}.eng-exact-app .projects-portfolio-progress-track span{display:block;height:100%;border-radius:inherit;background:var(--portfolio-accent)}.eng-exact-app .projects-portfolio-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--portfolio-line);border-radius:12px;overflow:hidden;background:var(--portfolio-surface-muted)}.eng-exact-app .projects-portfolio-stats>div{padding:12px 10px;text-align:center;border-right:1px solid var(--portfolio-line)}.eng-exact-app .projects-portfolio-stats>div:last-child{border-right:0}.eng-exact-app .projects-portfolio-stats small{display:block;color:var(--portfolio-muted);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.eng-exact-app .projects-portfolio-stats b{display:block;margin-top:6px;font-size:15px;font-weight:800;color:var(--portfolio-ink)}.eng-exact-app .projects-portfolio-card-foot{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:auto;padding-top:14px;border-top:1px solid var(--portfolio-line)}.eng-exact-app .projects-portfolio-card-note{font-size:10px;color:var(--portfolio-muted);line-height:1.35;min-width:0}.eng-exact-app .projects-portfolio-actions{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.eng-exact-app .projects-portfolio-open,.eng-exact-app .projects-portfolio-procurement{display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 14px;border:1px solid color-mix(in srgb,var(--portfolio-accent) 42%,var(--portfolio-line) 58%);border-radius:999px;background:var(--portfolio-surface);color:var(--portfolio-accent);font-size:11px;font-weight:800;white-space:nowrap;cursor:pointer}.eng-exact-app .projects-portfolio-procurement{border-color:color-mix(in srgb,var(--portfolio-accent) 55%,var(--portfolio-line) 45%);background:color-mix(in srgb,var(--portfolio-accent) 8%,var(--portfolio-surface) 92%)}.eng-exact-app .projects-portfolio-add-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:248px;padding:18px;border:1.5px dashed var(--portfolio-line-strong);border-radius:16px;background:color-mix(in srgb,var(--portfolio-bg) 65%,#fff 35%);color:var(--portfolio-muted);font-size:12px;font-weight:700}.eng-exact-app .projects-portfolio-add-card:hover{border-color:var(--portfolio-accent);color:var(--portfolio-accent);background:color-mix(in srgb,var(--portfolio-accent) 5%,#fff 95%)}.eng-exact-app .projects-portfolio-add-card-icon{width:42px;height:42px;border-radius:999px;border:1px solid var(--portfolio-line);background:var(--portfolio-surface);display:grid;place-items:center;font-size:22px;line-height:1;color:var(--portfolio-accent)}.eng-exact-app .projects-portfolio-empty{padding:40px 16px;text-align:center;color:var(--portfolio-muted);background:var(--portfolio-surface);border:1px dashed var(--portfolio-line-strong);border-radius:16px}.eng-exact-app .projects-portfolio-empty h4{margin:0 0 6px;color:var(--portfolio-ink);font-size:14px}.eng-exact-app .projects-portfolio-pagination{padding-top:6px}.eng-exact-app .projects-portfolio-pagination .tile-list-footer{border-top:1px solid var(--portfolio-line);padding-top:14px}.eng-exact-app .projects-portfolio-pagination .tile-list-page-summary{color:var(--portfolio-muted)}.eng-exact-app .projects-portfolio-pagination .tile-list-page-btn{background:var(--portfolio-surface);border-color:var(--portfolio-line);color:var(--portfolio-ink)}.eng-exact-app .projects-portfolio-pagination .tile-list-page-btn.active{background:var(--portfolio-accent);border-color:var(--portfolio-accent);color:#fff!important}@media(max-width:1100px){.eng-exact-app .projects-portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.eng-exact-app .projects-portfolio-toolbar{align-items:stretch}.eng-exact-app .projects-portfolio-search{min-width:0;width:100%}.eng-exact-app .projects-portfolio-grid{grid-template-columns:1fr}}.eng-exact-app .project-area.management-area-active,.eng-exact-app .project-area.admin-area-active{padding:14px 16px 88px}.eng-exact-app .project-area.admin-area-active>.exact-embedded-screen{overflow:visible;height:auto;min-height:0;padding:0 0 24px}.eng-exact-app .exact-embedded-screen #admin.route-screen--embedded-admin .admin-main-tabs{margin-top:0}.eng-exact-app .management-module{--portfolio-bg: #f9f8f3;--portfolio-surface: #ffffff;--portfolio-line: #e8e4dc;--portfolio-line-strong: #d8d2c4;--portfolio-ink: #1f1c17;--portfolio-muted: #8a8478;--portfolio-accent: var(--accent-base, #8a6d2e);display:flex;flex-direction:column;gap:18px;width:100%;max-width:100%;min-width:0;box-sizing:border-box;padding:4px 2px 8px}.eng-exact-app .management-panel{display:flex;flex-direction:column;gap:16px;width:100%;max-width:none;min-width:0}.eng-exact-app .management-head-copy h2{margin:0;font-family:var(--font-sans);font-size:clamp(1.35rem,2vw,1.65rem);font-weight:700;letter-spacing:-.02em;color:var(--portfolio-ink)}.eng-exact-app .management-head-copy p{margin:6px 0 0;color:var(--portfolio-muted);font-size:12px;line-height:1.45}.eng-exact-app .management-tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.eng-exact-app .management-tab{height:36px;padding:0 16px;border:1px solid var(--portfolio-line);border-radius:999px;background:var(--portfolio-surface);color:var(--portfolio-muted);font-size:12px;font-weight:700;white-space:nowrap}.eng-exact-app .management-tab:hover{border-color:var(--portfolio-line-strong);color:var(--portfolio-ink)}.eng-exact-app .management-tab.active{background:var(--portfolio-accent);border-color:var(--portfolio-accent);color:#fff!important}.eng-exact-app .management-card{background:var(--portfolio-surface);border:1px solid var(--portfolio-line);border-radius:16px;padding:18px 20px;box-shadow:0 1px 2px #1f1c170a;width:100%;max-width:none;min-width:0;box-sizing:border-box}.eng-exact-app .management-card--embedded{padding:12px;overflow:hidden}.eng-exact-app .management-card--embedded:has(.exact-embedded-procurement){background:transparent!important;border:none;box-shadow:none;padding:0;overflow:visible}.eng-exact-app .management-card-head h3{margin:0;font-size:18px;font-weight:800;color:var(--portfolio-ink)}.eng-exact-app .management-card-head--row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.eng-exact-app .management-card-head--row .management-action-btn{margin-top:0;flex-shrink:0}.eng-exact-app .management-card-head p{margin:6px 0 0;color:var(--portfolio-muted);font-size:12px;line-height:1.45}.eng-exact-app .management-card-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}.eng-exact-app .management-action-btn{height:38px;padding:0 16px;border:1px solid var(--portfolio-line);border-radius:999px;background:#fff;color:var(--portfolio-ink);font-size:12px;font-weight:700}.eng-exact-app .management-action-btn.primary{border:0;background:var(--portfolio-accent);color:#fff!important}.eng-exact-app .management-action-btn--cta{border-radius:10px;min-width:132px;height:40px;padding:0 18px}.eng-exact-app .management-payroll-switch{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.eng-exact-app .management-card--embedded .admin-payroll-panel{padding-top:4px}.eng-exact-app .management-action-btn:disabled{opacity:.55;cursor:not-allowed}.eng-exact-app .management-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:280px;text-align:center;padding:24px}.eng-exact-app .management-placeholder-icon{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:#f3f1ea;color:var(--portfolio-accent);border:1px solid var(--portfolio-line)}.eng-exact-app .management-placeholder h4{margin:0;font-size:18px;font-weight:800;color:var(--portfolio-ink)}.eng-exact-app .management-placeholder p{margin:0;max-width:420px;color:var(--portfolio-muted);font-size:12px;line-height:1.5}.eng-exact-app .management-placeholder-badge{margin-top:4px;padding:6px 12px;border-radius:999px;background:#f3f1ea;border:1px solid var(--portfolio-line);color:var(--portfolio-muted);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.eng-exact-app .nav-section{flex:0 0 auto}.eng-exact-app .nav-section+.nav-section{margin-top:14px}.eng-exact-app .nav-section .nav-label{margin-bottom:8px}.eng-exact-app .exact-sidebar .side-tools{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-gutter:stable}.eng-exact-app .exact-sidebar .side-tools .nav-list{flex:0 0 auto;overflow:visible}.eng-exact-app .project-area.assignments-area-active{padding:18px 22px 24px}.eng-exact-app .assignments-module{--portfolio-bg: #f9f8f3;--portfolio-surface: #ffffff;--portfolio-line: #e8e4dc;--portfolio-ink: #1f1c17;--portfolio-muted: #8a8478;--portfolio-accent: var(--accent-base, #8a6d2e);display:flex;flex-direction:column;gap:16px}.eng-exact-app .assignments-head h2{margin:0;font-size:22px;font-weight:800;color:var(--portfolio-ink)}.eng-exact-app .assignments-head p{margin:6px 0 0;color:var(--portfolio-muted);font-size:12px}.eng-exact-app .assignments-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.eng-exact-app .assignments-kpi{background:var(--portfolio-surface);border:1px solid var(--portfolio-line);border-radius:14px;padding:14px 16px}.eng-exact-app .assignments-kpi span{display:block;color:var(--portfolio-muted);font-size:11px;font-weight:700}.eng-exact-app .assignments-kpi strong{display:block;margin-top:6px;font-size:24px;color:var(--portfolio-ink)}.eng-exact-app .assignments-card{background:var(--portfolio-surface);border:1px solid var(--portfolio-line);border-radius:16px;padding:18px 20px}.eng-exact-app .assignments-card .module-table-wrap{max-height:none;overflow:visible}.eng-exact-app .assignments-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.eng-exact-app .assignments-card-head-copy h3{margin:0;font-size:18px;font-weight:800}.eng-exact-app .assignments-card-head-copy p{margin:4px 0 0;color:var(--portfolio-muted);font-size:12px;font-weight:600}.eng-exact-app .assignments-card-head h3{margin:0;font-size:18px;font-weight:800}.eng-exact-app .assignments-assign-btn{flex-shrink:0;height:36px;padding:0 14px;border:1px solid var(--portfolio-accent);border-radius:10px;background:var(--portfolio-accent);color:#fff!important;font-size:12px;font-weight:800;white-space:nowrap;cursor:pointer}.eng-exact-app .assignments-assign-btn:hover{filter:brightness(.96);color:#fff!important}.eng-exact-app .assignments-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.eng-exact-app .assignments-filter{height:34px;padding:0 14px;border:1px solid var(--portfolio-line);border-radius:999px;background:#fff;color:var(--portfolio-muted);font-size:12px;font-weight:700}.eng-exact-app .assignments-filter.active{background:var(--portfolio-accent);border-color:var(--portfolio-accent);color:#fff!important}.eng-exact-app .assignments-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;margin-bottom:14px}.eng-exact-app .assignments-search{flex:1 1 auto;min-width:0}.eng-exact-app .assignments-select{flex:0 0 auto;min-width:150px;height:38px;border:1px solid var(--portfolio-line);border-radius:10px;padding:0 10px;background:#fff}.eng-exact-app .assignments-toolbar-sort{flex:0 0 auto;margin-left:auto}.eng-exact-app .assignments-toolbar-sort .list-sort-trigger{height:38px}.eng-exact-app .assignments-employee-cell{display:flex;align-items:center;gap:10px}.eng-exact-app .assignments-employee-cell small{display:block;color:var(--portfolio-muted);font-size:11px}.eng-exact-app .assignments-avatar{width:34px;height:34px}.eng-exact-app .assignments-project-pill{display:inline-flex;padding:4px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--portfolio-accent) 35%,var(--portfolio-line));background:color-mix(in srgb,var(--portfolio-accent) 8%,#fff);font-size:11px;font-weight:700}.eng-exact-app .assignments-status{display:inline-flex;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700}.eng-exact-app .assignments-status.is-active{background:#ecfdf3;color:#166534}.eng-exact-app .assignments-status.is-available{background:#fff7ed;color:#9a3412}.eng-exact-app .assignments-action-btn{height:30px;padding:0 12px;border:1px solid var(--portfolio-line);border-radius:8px;background:#fff;font-size:11px;font-weight:800}.eng-exact-app .assignments-action-btn:disabled{opacity:.45;cursor:not-allowed}@media(max-width:960px){.eng-exact-app .assignments-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.eng-exact-app .org-skills,#admin .org-skills{--portfolio-bg: #f9f8f3;--portfolio-surface: #ffffff;--portfolio-line: #e8e4dc;--portfolio-ink: #1f1c17;--portfolio-muted: #8a8478;--portfolio-accent: var(--accent-base, #8a6d2e);display:flex;flex-direction:column;gap:18px;padding:4px 2px 8px}.eng-exact-app .org-skills-head,#admin .org-skills-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.eng-exact-app .org-skills-head-copy h2,#admin .org-skills-head-copy h2{margin:0;color:var(--portfolio-ink);font-family:var(--font-sans);font-size:clamp(1.35rem,1.8vw,1.55rem);font-weight:700;letter-spacing:-.02em}.eng-exact-app .org-skills-head-copy p,#admin .org-skills-head-copy p{margin:5px 0 0;color:var(--portfolio-muted);font-size:11px;max-width:52ch}.eng-exact-app .org-skills-add-btn,#admin .org-skills-add-btn{height:38px;padding:0 16px;border:0;border-radius:999px;background:var(--portfolio-accent);color:#fff!important;font-size:12px;font-weight:700;display:inline-flex;align-items:center;gap:8px;box-shadow:0 8px 18px color-mix(in srgb,var(--portfolio-accent) 24%,transparent 76%)}.eng-exact-app .org-skills-add-btn .app-icon,#admin .org-skills-add-btn .app-icon,.eng-exact-app .org-skills-add-btn svg,#admin .org-skills-add-btn svg{color:#fff!important}.eng-exact-app .org-skills-metrics,#admin .org-skills-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.eng-exact-app .org-skills-metric,#admin .org-skills-metric{background:var(--portfolio-surface);border:1px solid var(--portfolio-line);border-radius:14px;padding:16px 18px;box-shadow:0 1px 2px #1f1c170a}.eng-exact-app .org-skills-metric small,#admin .org-skills-metric small{display:block;color:var(--portfolio-muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.eng-exact-app .org-skills-metric b,#admin .org-skills-metric b{display:block;margin-top:8px;color:var(--portfolio-ink);font-size:clamp(1.5rem,2vw,1.85rem);font-weight:800;letter-spacing:-.03em;line-height:1}.eng-exact-app .org-skills-metric span,#admin .org-skills-metric span{display:block;margin-top:8px;color:var(--portfolio-muted);font-size:11px;line-height:1.35}.eng-exact-app .org-skills-body,#admin .org-skills-body{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}.eng-exact-app .org-skills-catalogue,#admin .org-skills-catalogue{background:var(--portfolio-surface);border:1px solid var(--portfolio-line);border-radius:16px;padding:18px;box-shadow:0 1px 2px #1f1c170a}.eng-exact-app .org-skills-catalogue-head,#admin .org-skills-catalogue-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.eng-exact-app .org-skills-catalogue-head h3,#admin .org-skills-catalogue-head h3{margin:0;color:var(--portfolio-ink);font-size:14px;font-weight:800}.eng-exact-app .org-skills-catalogue-head p,#admin .org-skills-catalogue-head p{margin:4px 0 0;color:var(--portfolio-muted);font-size:11px}.eng-exact-app .org-skills-link-btn,#admin .org-skills-link-btn{border:0;background:transparent;color:var(--portfolio-accent);font-size:11px;font-weight:800;white-space:nowrap}.eng-exact-app .org-skills-link-btn:disabled,#admin .org-skills-link-btn:disabled{opacity:.55;cursor:not-allowed}.eng-exact-app .org-skills-search,#admin .org-skills-search{display:flex;align-items:center;gap:8px;border:1px solid var(--portfolio-line);border-radius:10px;padding:8px 12px;margin-bottom:14px;background:#fff}.eng-exact-app .org-skills-search input,#admin .org-skills-search input{flex:1 1 auto;min-width:0;border:0;outline:0;background:transparent;font-size:12px}.eng-exact-app .org-skills-table-wrap,#admin .org-skills-table-wrap{overflow:auto}.eng-exact-app .org-skills-table,#admin .org-skills-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:12px}.eng-exact-app .org-skills-col-skill,.eng-exact-app .org-skills-col-category,.eng-exact-app .org-skills-col-employees,.eng-exact-app .org-skills-col-status,.eng-exact-app .org-skills-col-action,#admin .org-skills-col-skill,#admin .org-skills-col-category,#admin .org-skills-col-employees,#admin .org-skills-col-status,#admin .org-skills-col-action{width:20%}.eng-exact-app .org-skills-table th,#admin .org-skills-table th{text-align:left;padding:10px 14px;border-bottom:1px solid var(--portfolio-line);color:var(--portfolio-muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.eng-exact-app .org-skills-table td,#admin .org-skills-table td{padding:12px 14px;border-bottom:1px solid color-mix(in srgb,var(--portfolio-line) 70%,transparent);color:var(--portfolio-ink);vertical-align:middle}.eng-exact-app .org-skills-table-skill,#admin .org-skills-table-skill{font-weight:800;overflow-wrap:anywhere}.eng-exact-app .org-skills-table-category,#admin .org-skills-table-category{white-space:nowrap}.eng-exact-app .org-skills-table th.org-skills-table-employees,.eng-exact-app .org-skills-table td.org-skills-table-employees,#admin .org-skills-table th.org-skills-table-employees,#admin .org-skills-table td.org-skills-table-employees{text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums}.eng-exact-app .org-skills-table th.org-skills-table-status,.eng-exact-app .org-skills-table td.org-skills-table-status,#admin .org-skills-table th.org-skills-table-status,#admin .org-skills-table td.org-skills-table-status{text-align:center;white-space:nowrap}.eng-exact-app .org-skills-table th.org-skills-table-action,.eng-exact-app .org-skills-table td.org-skills-table-action,#admin .org-skills-table th.org-skills-table-action,#admin .org-skills-table td.org-skills-table-action{text-align:center}.eng-exact-app .org-skills-status,#admin .org-skills-status{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:10px;font-weight:800}.eng-exact-app .org-skills-status.is-active,#admin .org-skills-status.is-active{background:#ecfdf3;color:#166534}.eng-exact-app .org-skills-status.is-inactive,#admin .org-skills-status.is-inactive{background:#fef2f2;color:#b42318}.eng-exact-app .org-skills-edit-btn,#admin .org-skills-edit-btn{width:32px;height:32px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--portfolio-muted);display:inline-flex;align-items:center;justify-content:center}.eng-exact-app .org-skills-edit-btn .app-icon,#admin .org-skills-edit-btn .app-icon,.eng-exact-app .org-skills-edit-btn svg,#admin .org-skills-edit-btn svg{display:block;pointer-events:none}.eng-exact-app .org-skills-edit-btn:hover,#admin .org-skills-edit-btn:hover{background:color-mix(in srgb,var(--portfolio-accent) 10%,#fff);color:var(--portfolio-accent)}@media(max-width:1100px){.eng-exact-app .org-skills-metrics,#admin .org-skills-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.eng-exact-app .org-skills-metrics,#admin .org-skills-metrics{grid-template-columns:1fr}}.eng-exact-app .org-users,#admin .org-users,.eng-exact-app .org-users-roster-wrap .org-users{--portfolio-bg: #f9f8f3;--portfolio-surface: #ffffff;--portfolio-line: #e8e4dc;--portfolio-ink: #1f1c17;--portfolio-muted: #8a8478;--portfolio-accent: var(--accent-base, #8a6d2e);display:flex;flex-direction:column;gap:18px;width:100%;max-width:100%;min-width:0;box-sizing:border-box;padding:4px 2px 8px}.eng-exact-app .org-users-roster-wrap{padding:0;background:transparent;border:0;box-shadow:none}.eng-exact-app .org-users-head,#admin .org-users-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.eng-exact-app .org-users-head-copy h2,#admin .org-users-head-copy h2{margin:0;color:var(--portfolio-ink);font-family:var(--font-sans);font-size:clamp(1.35rem,1.8vw,1.55rem);font-weight:700;letter-spacing:-.02em}.eng-exact-app .org-users-head-copy p,#admin .org-users-head-copy p{margin:5px 0 0;color:var(--portfolio-muted);font-size:11px;max-width:62ch;line-height:1.45}.eng-exact-app .org-users-add-btn,#admin .org-users-add-btn{height:38px;padding:0 16px;border:0;border-radius:999px;background:var(--portfolio-accent);color:#fff!important;font-size:12px;font-weight:700;display:inline-flex;align-items:center;gap:8px;box-shadow:0 8px 18px color-mix(in srgb,var(--portfolio-accent) 24%,transparent 76%)}.eng-exact-app .org-users-metrics,#admin .org-users-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.eng-exact-app .org-users-metric,#admin .org-users-metric{background:var(--portfolio-surface);border:1px solid var(--portfolio-line);border-radius:14px;padding:14px 16px;min-width:0}.eng-exact-app .org-users-metric small,#admin .org-users-metric small{display:block;color:var(--portfolio-muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.eng-exact-app .org-users-metric b,#admin .org-users-metric b{display:block;margin-top:8px;color:var(--portfolio-ink);font-size:clamp(1.15rem,1.5vw,1.45rem);font-weight:800;letter-spacing:-.03em}.eng-exact-app .org-users-metric span,#admin .org-users-metric span{display:block;margin-top:6px;color:var(--portfolio-muted);font-size:10px}.eng-exact-app .org-users-body,#admin .org-users-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,280px);gap:14px;align-items:start;min-width:0}.eng-exact-app .org-users-body--roster,#admin .org-users-body--roster{grid-template-columns:minmax(0,1fr)}.eng-exact-app .org-users--roster-focus,#admin .org-users--roster-focus{gap:12px;min-height:0;height:100%}.eng-exact-app .org-users-toolbar,#admin .org-users-toolbar{display:grid;grid-template-columns:minmax(200px,1.6fr) minmax(120px,.9fr) minmax(120px,.9fr) minmax(120px,.9fr) minmax(120px,.9fr) auto;gap:8px;align-items:center;width:100%;min-width:0}.eng-exact-app .org-users-toolbar .org-users-search,#admin .org-users-toolbar .org-users-search,.eng-exact-app .org-users-toolbar .org-users-select,#admin .org-users-toolbar .org-users-select{width:100%;min-width:0}.eng-exact-app .org-users-toolbar-actions,#admin .org-users-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto;white-space:nowrap}.eng-exact-app .org-users-toolbar-actions .org-users-add-btn,#admin .org-users-toolbar-actions .org-users-add-btn{flex:0 0 auto}.eng-exact-app .org-users-head--roster,#admin .org-users-head--roster{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.eng-exact-app .org-users-head--roster .org-users-filters--roster,#admin .org-users-head--roster .org-users-filters--roster{flex:1 1 auto;margin:0;min-width:0}.eng-exact-app .org-users-head-actions,#admin .org-users-head-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.eng-exact-app .org-users-roster-panel,#admin .org-users-roster-panel{background:var(--portfolio-surface, #fff);border:1px solid var(--portfolio-line, #e8e4dc);border-radius:14px;overflow:hidden;min-width:0;box-shadow:0 1px 2px #1f1c170a}.eng-exact-app .org-users-roster-panel .all-people-roster,#admin .org-users-roster-panel .all-people-roster{border:0;border-radius:0}.eng-exact-app .org-users-filters--roster,#admin .org-users-filters--roster{display:grid;grid-template-columns:minmax(180px,1.4fr) repeat(4,minmax(110px,.8fr));gap:8px;margin-bottom:12px}.eng-exact-app .org-users-directory--roster,#admin .org-users-directory--roster{padding:16px 16px 0}.eng-exact-app .org-users-directory--roster .org-users-roster-wrap,#admin .org-users-directory--roster .org-users-roster-wrap{margin:0 -16px;padding:0;background:transparent;border:0;box-shadow:none}.eng-exact-app .org-users-directory--roster .all-people-roster,#admin .org-users-directory--roster .all-people-roster{border:0;border-top:1px solid var(--portfolio-line, #e8e4dc);border-radius:0 0 14px 14px}.eng-exact-app .org-users-directory,#admin .org-users-directory,.eng-exact-app .org-users-side,#admin .org-users-side{background:var(--portfolio-surface);border:1px solid var(--portfolio-line);border-radius:14px;padding:16px;min-width:0;box-shadow:0 1px 2px #1f1c170a}.eng-exact-app .org-users-directory-head,#admin .org-users-directory-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.eng-exact-app .org-users-directory-head h3,#admin .org-users-directory-head h3,.eng-exact-app .org-users-side h3,#admin .org-users-side h3{margin:0;color:var(--portfolio-ink);font-size:14px;font-weight:800}.eng-exact-app .org-users-directory-head p,#admin .org-users-directory-head p,.eng-exact-app .org-users-side p,#admin .org-users-side p{margin:4px 0 0;color:var(--portfolio-muted);font-size:10px}.eng-exact-app .org-users-link-btn,#admin .org-users-link-btn{border:0;background:transparent;color:var(--portfolio-accent);font-size:11px;font-weight:800}.eng-exact-app .org-users-link-btn:disabled,#admin .org-users-link-btn:disabled{opacity:.45;cursor:not-allowed}.eng-exact-app .org-users-filters,#admin .org-users-filters{display:grid;grid-template-columns:minmax(0,1fr) 140px 140px;gap:10px;margin-bottom:12px}.eng-exact-app .org-users-search,#admin .org-users-search{display:flex;align-items:center;gap:8px;padding:0 12px;height:38px;border:1px solid var(--portfolio-line);border-radius:10px;background:#fcfbfa}.eng-exact-app .org-users-search input,#admin .org-users-search input{border:0;background:transparent;width:100%;min-width:0;font-size:11px;color:var(--portfolio-ink)}.eng-exact-app .org-users-select,#admin .org-users-select{height:38px;border:1px solid var(--portfolio-line);border-radius:10px;background:#fff;font-size:11px;color:var(--portfolio-ink);padding:0 10px}.eng-exact-app .org-users-table-wrap,#admin .org-users-table-wrap{overflow:auto;max-width:100%}.eng-exact-app .org-users-table,#admin .org-users-table{width:100%;border-collapse:collapse;font-size:11px}.eng-exact-app .org-users-table th,#admin .org-users-table th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--portfolio-line);color:var(--portfolio-muted);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.eng-exact-app .org-users-table td,#admin .org-users-table td{padding:12px 10px;border-bottom:1px solid color-mix(in srgb,var(--portfolio-line) 70%,transparent);color:var(--portfolio-ink);vertical-align:middle}.eng-exact-app .org-users-table-user b,#admin .org-users-table-user b{display:block;font-size:12px}.eng-exact-app .org-users-table-user small,#admin .org-users-table-user small{display:block;margin-top:2px;color:var(--portfolio-muted);font-size:10px}.eng-exact-app .org-users-status,#admin .org-users-status{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap}.eng-exact-app .org-users-status.is-active,#admin .org-users-status.is-active{background:#ecfdf3;color:#166534}.eng-exact-app .org-users-status.is-pending,#admin .org-users-status.is-pending{background:#fff7ed;color:#9a3412}.eng-exact-app .org-users-status.is-disabled,#admin .org-users-status.is-disabled{background:#f3f4f6;color:#6b7280}.eng-exact-app .org-users-action-btn,#admin .org-users-action-btn{height:30px;padding:0 12px;border:1px solid var(--portfolio-line);border-radius:999px;background:#fff;color:var(--portfolio-ink);font-size:10px;font-weight:800}.eng-exact-app .org-users-governance-list,#admin .org-users-governance-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.eng-exact-app .org-users-governance-list li,#admin .org-users-governance-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px}.eng-exact-app .org-users-governance-list span,#admin .org-users-governance-list span{color:var(--portfolio-muted)}.eng-exact-app .org-users-governance-list strong,#admin .org-users-governance-list strong{color:var(--portfolio-ink);font-weight:800;text-align:right}.eng-exact-app .org-users-side-note,#admin .org-users-side-note{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--portfolio-line);color:var(--portfolio-muted);font-size:10px;line-height:1.45}@media(max-width:1100px){.eng-exact-app .org-users-body,#admin .org-users-body{grid-template-columns:1fr}.eng-exact-app .org-users-filters,#admin .org-users-filters,.eng-exact-app .org-users-filters--roster,#admin .org-users-filters--roster{grid-template-columns:1fr 1fr}.eng-exact-app .org-users-toolbar,#admin .org-users-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.eng-exact-app .org-users-toolbar .org-users-search,#admin .org-users-toolbar .org-users-search{grid-column:1 / -1}.eng-exact-app .org-users-toolbar-actions,#admin .org-users-toolbar-actions{grid-column:1 / -1;justify-content:flex-end}.eng-exact-app .org-users-search,#admin .org-users-search{grid-column:1 / -1}}@media(max-width:640px){.eng-exact-app .org-users-metrics,#admin .org-users-metrics{grid-template-columns:1fr 1fr}.eng-exact-app .org-users-filters,#admin .org-users-filters,.eng-exact-app .org-users-toolbar,#admin .org-users-toolbar{grid-template-columns:1fr}}.eng-exact-app .floor-workspace.proj-workspace-shell{display:flex!important;flex-direction:column;grid-template-rows:unset!important;gap:12px;width:100%;max-width:100%;min-width:0;box-sizing:border-box;align-self:stretch;min-height:0;overflow-x:hidden;overflow-y:auto;background:var(--proj-bg)!important;border:1px solid var(--proj-line)!important;border-radius:16px;box-shadow:0 1px 2px #1f1c170a;padding:0 0 16px}.eng-exact-app .floor-workspace.proj-workspace-shell>*{min-width:0;max-width:100%;box-sizing:border-box}.eng-exact-app .proj-workspace-shell{--proj-bg: #f9f8f3;--proj-surface: #ffffff;--proj-line: #e8e4dc;--proj-ink: #1f1c17;--proj-muted: #8a8478;--proj-accent: var(--accent-base, #8a6d2e);--proj-hero-top: color-mix(in srgb, var(--accent-base, #8a6d2e) 38%, #3a2d1d 62%);--proj-hero-bottom: color-mix(in srgb, var(--accent-base, #8a6d2e) 22%, #2f2418 78%)}.eng-exact-app .proj-workspace-hero{display:flex;flex-direction:column;align-items:stretch;gap:12px;flex:0 0 auto;width:100%;padding:18px 20px 20px;background:linear-gradient(135deg,var(--proj-hero-top) 0%,var(--proj-hero-bottom) 100%);color:#fff;border-bottom:1px solid rgba(255,255,255,.1);border-radius:15px 15px 0 0}.eng-exact-app .proj-workspace-back{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;margin:0;padding:0;border:0;background:transparent;color:#ffffffdb;font-size:12px;font-weight:700;letter-spacing:.01em;cursor:pointer}.eng-exact-app .proj-workspace-back:hover{color:#fff}.eng-exact-app .proj-workspace-back svg{display:block;flex-shrink:0}.eng-exact-app .proj-workspace-hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;width:100%;min-width:0}.eng-exact-app .proj-workspace-hero-copy{flex:1 1 auto;min-width:0}.eng-exact-app .proj-workspace-hero-copy h1{margin:0;font-family:var(--font-sans);font-size:clamp(1.35rem,2vw,1.7rem);font-weight:700;letter-spacing:-.02em}.eng-exact-app .proj-workspace-hero-copy p{margin:6px 0 0;color:#ffffffb8;font-size:11px}.eng-exact-app .proj-workspace-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:0}.eng-exact-app .proj-workspace-badge{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);font-size:10px;font-weight:700;color:#fff}.eng-exact-app .proj-workspace-badge.is-active{background:#ffffff2e}.eng-exact-app .proj-workspace-hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto;flex-wrap:nowrap;margin-top:2px}.eng-exact-app .proj-workspace-btn{height:36px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:#ffffff14;color:#fff!important;font-size:11px;font-weight:700}.eng-exact-app .proj-workspace-btn:hover{background:#ffffff24;border-color:#ffffff4d}.eng-exact-app .proj-workspace-btn--primary{border-color:transparent;background:var(--accent-base, var(--proj-accent))!important;color:#fff!important;box-shadow:0 8px 18px #0000002e}.eng-exact-app .proj-workspace-btn--primary:hover{background:color-mix(in srgb,var(--accent-base, var(--proj-accent)) 88%,white 12%)!important}.eng-exact-app .proj-workspace-kpis{gap:10px;flex:0 0 auto;position:relative;z-index:1;padding:0 20px;margin:0;width:100%;max-width:100%;box-sizing:border-box}.eng-exact-app .proj-workspace-kpi{background:var(--proj-surface);border:1px solid var(--proj-line);border-radius:12px;padding:12px 14px;min-width:0;box-shadow:0 1px 2px #1f1c170a}.eng-exact-app .proj-workspace-kpi small{display:block;color:var(--proj-muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.eng-exact-app .proj-workspace-kpi b{display:block;margin-top:6px;color:var(--proj-ink);font-size:clamp(1.05rem,1.2vw,1.35rem);font-weight:800;letter-spacing:-.03em;line-height:1.1}.eng-exact-app .proj-workspace-kpi span{display:block;margin-top:5px;color:var(--proj-muted);font-size:10px;line-height:1.35}.eng-exact-app .proj-workspace-progress-bar{margin-top:8px;height:5px;border-radius:999px;background:#ece7dc;overflow:hidden}.eng-exact-app .proj-workspace-progress-bar span{display:block;height:100%;margin:0;border-radius:inherit;background:linear-gradient(90deg,var(--proj-accent),color-mix(in srgb,var(--proj-accent) 70%,#fff))}.eng-exact-app .proj-workspace-shell .floor-tabs{margin:0 16px;padding-top:2px;flex:0 0 auto;display:flex;align-items:center;gap:8px;flex-wrap:nowrap;overflow:visible}.eng-exact-app .proj-workspace-shell .floor-tabs__primary{display:flex;align-items:center;gap:6px;flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none}.eng-exact-app .proj-workspace-shell .floor-tabs__primary::-webkit-scrollbar{display:none}.eng-exact-app .proj-workspace-shell .floor-tab--procurement{flex:0 0 auto;margin-left:auto;border-color:color-mix(in srgb,var(--accent-base,#b8860b) 50%,var(--line,#e8e2d6));background:color-mix(in srgb,var(--accent-base,#b8860b) 14%,#fff);color:color-mix(in srgb,var(--accent-base,#b8860b) 92%,#3d2e10);font-weight:800;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-base,#b8860b) 20%,transparent)}.eng-exact-app .proj-workspace-shell .floor-tab--procurement:hover{background:color-mix(in srgb,var(--accent-base,#b8860b) 22%,#fff);border-color:color-mix(in srgb,var(--accent-base,#b8860b) 58%,var(--line,#e8e2d6));color:color-mix(in srgb,var(--accent-base,#b8860b) 96%,#2a1f0a)}.eng-exact-app .proj-workspace-shell .floor-tab--procurement.active{background:linear-gradient(135deg,var(--accent-base,#b8860b),color-mix(in srgb,var(--accent-base,#b8860b) 82%,#6b4f2a));border-color:var(--accent-base,#b8860b);color:#fff;box-shadow:0 3px 12px color-mix(in srgb,var(--accent-base,#b8860b) 34%,transparent)}@media(max-width:720px){.eng-exact-app .proj-workspace-shell .floor-tabs{margin:0 10px}}.eng-exact-app .proj-workspace-attendance-tab{margin-top:8px;padding:0 16px 18px}.eng-exact-app .proj-workspace-attendance-tab .ar-page-head{display:none}.eng-exact-app .proj-workspace-procurement-tab{margin-top:8px;padding:0 16px 18px}.eng-exact-app .proj-workspace-procurement-tab .eng-proc-page{padding-top:0}.eng-exact-app .proj-workspace-procurement-tab .module-shell--embedded-procurement{margin:0;min-height:0;gap:14px}.eng-exact-app .proj-proc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:2px 2px 4px}.eng-exact-app .proj-proc-head__copy h2{margin:0;font-family:var(--font-sans);font-size:20px;font-weight:700;color:#1f1c17;letter-spacing:-.02em}.eng-exact-app .proj-proc-head__copy p{margin:6px 0 0;font-size:12px;line-height:1.45;color:#8a8478;max-width:640px}.eng-exact-app .proj-proc-head__actions{display:flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:wrap}.eng-exact-app .proj-proc-btn{height:34px;padding:0 14px;border:1px solid var(--line,#e8e2d6);border-radius:999px;background:#fff;color:#334155;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap}.eng-exact-app .proj-proc-btn:hover{background:#faf8f4}.eng-exact-app .proj-proc-btn--primary{border-color:transparent;background:var(--accent-base,#b8860b);color:#fff;box-shadow:0 2px 8px color-mix(in srgb,var(--accent-base,#b8860b) 28%,transparent)}.eng-exact-app .proj-proc-btn--primary:hover{background:color-mix(in srgb,var(--accent-base,#b8860b) 90%,#000);color:#fff}.eng-exact-app .proj-workspace-procurement-tab .proc-kpi-grid--project{display:flex;gap:10px;margin:0}.eng-exact-app .proj-workspace-procurement-tab .proc-kpi-card{background:#fff;border:1px solid var(--proj-line,#e8e4dc);border-radius:12px;padding:12px 14px;box-shadow:0 1px 2px #1f1c170a;min-width:0}.eng-exact-app .proj-workspace-procurement-tab .proc-kpi-label{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#8a8478;margin-bottom:4px}.eng-exact-app .proj-workspace-procurement-tab .proc-kpi-value{font-size:24px;font-weight:800;color:#1f1c17;line-height:1.1;letter-spacing:-.02em}.eng-exact-app .proj-workspace-procurement-tab .proc-kpi-value--muted{color:#94a3b8;font-size:20px}.eng-exact-app .proj-workspace-procurement-tab .proc-kpi-hint{margin-top:4px;font-size:11px;color:#9a9488;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eng-exact-app .proj-workspace-procurement-tab .proc-exact-tabs--project{margin:0;padding:8px;border:1px solid var(--line,#e8e2d6);border-radius:12px;background:#faf9f7;gap:6px;flex-wrap:nowrap;overflow-x:auto;align-items:stretch;justify-content:flex-start}.eng-exact-app .proj-workspace-procurement-tab .proc-exact-tabs--project .floor-tab{height:36px;min-height:36px;padding:0 14px;font-size:11px;font-weight:700;border-radius:8px;border:1px solid var(--line,#e8e2d6);background:#fff;color:#475569;display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:1 1 0;min-width:max-content;box-shadow:0 1px 2px #1f1c170a}.eng-exact-app .proj-workspace-procurement-tab .proc-exact-tabs--project .floor-tab:hover{border-color:#d9d0c4;color:#334155}.eng-exact-app .proj-workspace-procurement-tab .proc-exact-tabs--project .floor-tab.active{background:#f3ebe0;border-color:#e6d7c3;color:#6b4f2a;box-shadow:0 2px 6px #6b4f2a1a}@media(max-width:900px){.eng-exact-app .proj-workspace-procurement-tab .proc-exact-tabs--project .floor-tab{flex:0 0 auto}}.eng-exact-app .proj-workspace-procurement-tab .module-panel--project-proc{border-radius:12px;border-color:var(--proj-line,#e8e4dc);box-shadow:0 1px 2px #1f1c170a;overflow:hidden}.eng-exact-app .proj-workspace-procurement-tab .module-panel--project-proc .list-toolbar.list-toolbar-row{padding:12px 14px 0;margin-bottom:10px;border-bottom:0;display:flex;flex-wrap:nowrap;align-items:center;gap:10px}.eng-exact-app .proj-workspace-procurement-tab .module-panel--project-proc .list-toolbar.list-toolbar-row:not(.list-toolbar-row--with-filters){display:grid;grid-template-columns:minmax(140px,1fr) auto auto;align-items:center;flex-wrap:nowrap;gap:10px}.eng-exact-app .proj-workspace-procurement-tab .module-panel--project-proc .list-toolbar.list-toolbar-row:not(.list-toolbar-row--with-filters) .list-toolbar-search{grid-column:1;min-width:0}.eng-exact-app .proj-workspace-procurement-tab .module-panel--project-proc .list-toolbar.list-toolbar-row:not(.list-toolbar-row--with-filters) .list-toolbar-row__sort{grid-column:2}.eng-exact-app .proj-workspace-procurement-tab .module-panel--project-proc .list-toolbar.list-toolbar-row:not(.list-toolbar-row--with-filters) .list-toolbar-row__actions{grid-column:3}.eng-exact-app .proj-workspace-procurement-tab .module-panel--project-proc .list-toolbar.list-toolbar-row.list-toolbar-row--with-filters{display:grid;grid-template-columns:minmax(0,auto) minmax(140px,1fr) auto;grid-template-areas:"filters search sort";align-items:center}.eng-exact-app .proj-workspace-procurement-tab .module-panel--project-proc .list-toolbar-row--with-filters .list-toolbar-filters{grid-area:filters}.eng-exact-app .proj-workspace-procurement-tab .module-panel--project-proc .list-toolbar-row--with-filters .list-toolbar-search{grid-area:search;min-width:0}.eng-exact-app .proj-workspace-procurement-tab .module-panel--project-proc .list-toolbar-row--with-filters .list-toolbar-row__sort{grid-area:sort}.eng-exact-app .proj-workspace-procurement-tab .module-panel--project-proc .module-panel-head--embedded-rfq{padding:12px 14px 0;border-bottom:0}.eng-exact-app .proj-workspace-procurement-tab .module-panel--project-proc .module-panel-head--embedded-rfq h3{font-size:15px;margin:0 0 2px}.eng-exact-app .proj-workspace-procurement-tab .module-panel--project-proc .module-panel-head--embedded-rfq p{margin:0;font-size:12px;color:var(--muted,#8a8478)}.eng-exact-app .proj-workspace-procurement-tab .module-panel--project-proc .list-toolbar.list-toolbar-row .list-toolbar-search{grid-column:unset;min-width:0}.eng-exact-app .proj-workspace-procurement-tab .module-panel--project-proc .list-toolbar.list-toolbar-row .list-toolbar-row__sort,.eng-exact-app .proj-workspace-procurement-tab .module-panel--project-proc .list-toolbar.list-toolbar-row .list-toolbar-row__actions{grid-column:unset}.eng-exact-app .proj-workspace-procurement-tab .module-panel--project-proc .list-toolbar-row--sort-only{justify-content:flex-end;padding:10px 14px 0}.eng-exact-app .proj-workspace-procurement-tab .module-panel--project-proc .list-toolbar-row--sort-only .list-toolbar-row__sort{margin-left:0}.eng-exact-app .proj-workspace-procurement-tab .exact-embedded-procurement .proc-table-wrap{margin:0 14px 14px;border:1px solid var(--hairline,#e8e2d6);border-radius:10px;background:#fff}.eng-exact-app .proj-workspace-procurement-tab .exact-embedded-procurement .tile-list-footer{padding:10px 14px 12px}.eng-exact-app .proj-proc-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;border-bottom:1px solid var(--line,#e8e2d6);background:#fcfcfa}.eng-exact-app .proj-proc-toolbar--sort-only{justify-content:flex-end;padding:10px 14px;min-height:0}.eng-exact-app .proj-proc-toolbar__actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0;flex-wrap:nowrap}.eng-exact-app .proj-proc-toolbar__actions .list-sort-trigger{height:34px;padding:0 10px;border:1px solid var(--line,#e8e2d6);border-radius:9px;background:#fff;font-size:var(--fs-xs,11px);font-weight:650}.eng-exact-app .proj-proc-toolbar__actions .list-sort-kicker{font-size:var(--fs-2xs,10px)}.eng-exact-app .proj-proc-toolbar__search{display:flex;align-items:center;gap:8px;flex:1 1 220px;min-width:180px;height:36px;padding:0 12px;border:1px solid var(--line,#e8e2d6);border-radius:10px;background:#fff;color:#64748b}.eng-exact-app .proj-proc-toolbar__search input{border:0;background:transparent;padding:0;font-size:12px;min-width:0;flex:1;height:100%;color:#0f172a}.eng-exact-app .proj-proc-toolbar__search input:focus{outline:none}.eng-exact-app .proj-proc-toolbar__filters{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.eng-exact-app .proj-proc-chip{height:32px;padding:0 12px;border:1px solid var(--line,#e8e2d6);border-radius:999px;background:#fff;color:#64748b;font-size:11px;font-weight:700;cursor:pointer}.eng-exact-app .proj-proc-chip.is-active{background:#f3ebe0;border-color:#e6d7c3;color:#6b4f2a}.eng-exact-app .proj-workspace-procurement-tab .module-table-wrap{overflow-x:auto;overflow-y:auto;border:1px solid var(--hairline,#e8e2d6);border-radius:10px;background:#fff;-webkit-overflow-scrolling:touch}.eng-exact-app .proj-workspace-procurement-tab .module-table--project-proc{width:100%;min-width:100%;border-collapse:collapse;table-layout:auto}.eng-exact-app .proj-workspace-procurement-tab .module-table--project-proc thead th{position:sticky;top:0;z-index:1;background:var(--panel-soft,#f8fafc);padding:8px 10px;text-align:left;color:var(--muted,#64748b);font-size:var(--fs-2xs,10px)!important;font-weight:750;letter-spacing:.07em;text-transform:uppercase;border-bottom:1px solid var(--hairline,#e8e2d6);white-space:nowrap}.eng-exact-app .proj-workspace-procurement-tab .module-table--project-proc tbody td{padding:9px 10px;border-bottom:1px solid var(--hairline,#e8e2d6);vertical-align:middle;font-size:var(--fs-sm,12px)!important;color:var(--ink,#0f172a);font-weight:var(--fw-regular,400)}.eng-exact-app .exact-embedded-procurement .proc-status-soft,.eng-exact-app .proj-workspace-procurement-tab .proc-status-soft{display:inline-block;max-width:100%;padding:4px 10px;border-radius:999px;border:1px solid transparent;font-size:var(--fs-xs,11px);font-weight:600;line-height:1.25;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;vertical-align:middle}.eng-exact-app .proj-workspace-procurement-tab .module-table--project-proc tbody td:first-child b,.eng-exact-app .proj-workspace-procurement-tab .module-table--project-proc tbody td:first-child strong{display:block;font-size:inherit!important;font-weight:var(--fw-bold,700);color:var(--ink,#0f172a)}.eng-exact-app .proj-workspace-procurement-tab .module-table--project-proc tbody tr:hover{background:color-mix(in srgb,var(--accent-base) 4%,white 96%)}.eng-exact-app .proj-workspace-procurement-tab .module-table--project-proc tbody tr.proc-row-clickable{cursor:pointer}.eng-exact-app .proj-workspace-procurement-tab .module-table--project-proc tbody tr.proc-row-clickable:focus-visible{outline:2px solid color-mix(in srgb,var(--accent-base,#8c6a24) 45%,transparent);outline-offset:-2px}.eng-exact-app .proc-rfq-vendor-chip-wrap,#inventory .proc-rfq-vendor-chip-wrap,.exact-embedded-procurement .proc-rfq-vendor-chip-wrap{position:relative;display:inline-flex;z-index:1}.eng-exact-app .proc-rfq-vendor-chip-wrap:has(.proc-rfq-vendor-popover:not([hidden])),#inventory .proc-rfq-vendor-chip-wrap:has(.proc-rfq-vendor-popover:not([hidden])),.exact-embedded-procurement .proc-rfq-vendor-chip-wrap:has(.proc-rfq-vendor-popover:not([hidden])){z-index:40}.eng-exact-app .proc-rfq-vendor-chip,#inventory .proc-rfq-vendor-chip,.exact-embedded-procurement .proc-rfq-vendor-chip{height:30px;padding:0 12px;border:1px solid #e6d7c3;border-radius:999px;background:#f3ebe0;color:#6b4f2a;font-size:12px;font-weight:800;white-space:nowrap}.eng-exact-app .proc-rfq-vendor-chip:hover,#inventory .proc-rfq-vendor-chip:hover,.exact-embedded-procurement .proc-rfq-vendor-chip:hover{background:#eadfce}.eng-exact-app .proc-rfq-vendor-popover,#inventory .proc-rfq-vendor-popover,.exact-embedded-procurement .proc-rfq-vendor-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:30;min-width:220px;padding:10px;border:1px solid var(--line,#e8e2d6);border-radius:12px;background:#fff;box-shadow:0 12px 28px #1f1c171f}.eng-exact-app .proc-rfq-vendor-popover[hidden],#inventory .proc-rfq-vendor-popover[hidden],.exact-embedded-procurement .proc-rfq-vendor-popover[hidden]{display:none!important}.eng-exact-app .proc-rfq-vendor-popover__title,#inventory .proc-rfq-vendor-popover__title,.exact-embedded-procurement .proc-rfq-vendor-popover__title{margin-bottom:8px;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8}.eng-exact-app .proc-rfq-vendor-popover__list,#inventory .proc-rfq-vendor-popover__list,.exact-embedded-procurement .proc-rfq-vendor-popover__list{margin:0;padding:0;list-style:none}.eng-exact-app .proc-rfq-vendor-popover__list li,#inventory .proc-rfq-vendor-popover__list li,.exact-embedded-procurement .proc-rfq-vendor-popover__list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid #f1ede6;font-size:12px;font-weight:700;color:#334155}.eng-exact-app .proc-rfq-vendor-popover__list li:first-child,#inventory .proc-rfq-vendor-popover__list li:first-child,.exact-embedded-procurement .proc-rfq-vendor-popover__list li:first-child{border-top:none;padding-top:0}.eng-exact-app .proc-rfq-vendor-popover__list small,#inventory .proc-rfq-vendor-popover__list small,.exact-embedded-procurement .proc-rfq-vendor-popover__list small{font-size:10px;font-weight:700;color:#94a3b8;white-space:nowrap}.eng-exact-app .proc-cmp-panel{padding:16px;border:1px solid var(--line,#e8e2d6);border-radius:14px;background:#fff;box-shadow:0 1px 2px #1f1c170a}.eng-exact-app .proc-cmp-panel__head{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #f1ede6}.eng-exact-app .proc-cmp-panel__head h3{margin:0;font-size:18px;font-weight:800;color:#1f2937}.eng-exact-app .proc-cmp-panel__head p{margin:4px 0 0;font-size:12px;color:#64748b;font-weight:600}.eng-exact-app .proc-cmp-view-mode{display:inline-flex;align-items:center;gap:4px;margin:0 0 14px;padding:4px;border:1px solid var(--line,#e8e2d6);border-radius:999px;background:#faf8f4}.eng-exact-app .proc-cmp-view-mode__option{display:inline-flex;align-items:center;gap:6px;margin:0;padding:7px 14px;border-radius:999px;font-size:12px;font-weight:700;color:#64748b;cursor:pointer;-webkit-user-select:none;user-select:none}.eng-exact-app .proc-cmp-view-mode__option input{position:absolute;opacity:0;pointer-events:none}.eng-exact-app .proc-cmp-view-mode__option.is-active{background:var(--accent-base,#8c6a24);color:#fff;box-shadow:0 1px 2px #0f172a14}.eng-exact-app .proc-cmp-view-mode__option:hover:not(.is-active){color:#1f2937;background:#ffffffb3}.eng-exact-app .proc-compare__select{display:flex;align-items:flex-start;gap:8px;cursor:pointer}.eng-exact-app .proc-compare__select input{margin-top:3px;accent-color:var(--accent-base,#8c6a24)}.eng-exact-app .proc-cmp-quote-media{flex:1;min-height:280px;background:#f8fafc;display:flex;align-items:stretch;justify-content:center}.eng-exact-app .proc-cmp-quote-loading,.eng-exact-app .proc-cmp-quote-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;min-height:280px;padding:20px;text-align:center;color:#64748b;font-size:12px;font-weight:600}.eng-exact-app .proc-cmp-quote-download{color:var(--accent-base,#8c6a24);font-weight:700;text-decoration:underline;text-underline-offset:2px}.eng-exact-app .proc-cmp-quote-image{width:100%;height:100%;min-height:280px;object-fit:contain;background:#fff}#inventory .proc-cmp-view-mode,.module-panel--project-proc .proc-cmp-view-mode{display:inline-flex;align-items:center;gap:4px;margin:0 0 14px;padding:4px;border:1px solid var(--line,#e8e2d6);border-radius:999px;background:#faf8f4}#inventory .proc-cmp-view-mode__option,.module-panel--project-proc .proc-cmp-view-mode__option{display:inline-flex;align-items:center;gap:6px;margin:0;padding:7px 14px;border-radius:999px;font-size:12px;font-weight:700;color:#64748b;cursor:pointer;-webkit-user-select:none;user-select:none}#inventory .proc-cmp-view-mode__option input,.module-panel--project-proc .proc-cmp-view-mode__option input{position:absolute;opacity:0;pointer-events:none}#inventory .proc-cmp-view-mode__option.is-active,.module-panel--project-proc .proc-cmp-view-mode__option.is-active{background:var(--accent-base,#8c6a24);color:#fff}.eng-exact-app .proc-cmp-rfq-select:focus{outline:2px solid color-mix(in srgb,var(--portfolio-accent,var(--accent-base,#8a6d2e)) 28%,transparent);border-color:var(--portfolio-accent,var(--accent-base,#8a6d2e))}.eng-exact-app .proc-cmp-detail{padding-top:4px}.eng-exact-app .proc-cmp-detail__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.eng-exact-app .proc-cmp-detail__title h4{margin:0;font-size:17px;font-weight:800;color:#1f2937}.eng-exact-app .proc-cmp-detail__title p{margin:4px 0 0;font-size:12px;color:#64748b;font-weight:600}.eng-exact-app .proc-cmp-finalize-btn,.eng-exact-app .proc-cmp-generate-btn{height:36px;padding:0 14px;border:1px solid transparent;border-radius:10px;background:var(--metal-gradient);color:#fff!important;font-size:12px;font-weight:800;white-space:nowrap;cursor:pointer;box-shadow:inset 0 1px #ffffff40,0 1px 2px #0e26201f}.eng-exact-app .proc-cmp-finalize-btn:hover:not(:disabled),.eng-exact-app .proc-cmp-generate-btn:hover:not(:disabled){background:var(--metal-gradient-hover)}.eng-exact-app .proc-cmp-finalize-btn:disabled,.eng-exact-app .proc-cmp-generate-btn:disabled{opacity:.72;cursor:default;box-shadow:none}#inventory .proc-cmp-finalize-btn,#inventory .proc-cmp-generate-btn,.proc-cmp-gallery-modal .proc-cmp-finalize-btn,.proc-cmp-gallery-modal .proc-cmp-generate-btn{height:36px;padding:0 14px;border-radius:10px;font-size:12px;font-weight:800;white-space:nowrap;cursor:pointer;border:1px solid #6b4f2a;background:#6b4f2a;color:#fff!important}#inventory .proc-cmp-finalize-btn:hover:not(:disabled),#inventory .proc-cmp-generate-btn:hover:not(:disabled),.proc-cmp-gallery-modal .proc-cmp-finalize-btn:hover:not(:disabled),.proc-cmp-gallery-modal .proc-cmp-generate-btn:hover:not(:disabled){background:#5a4224;border-color:#5a4224}.eng-exact-app .proc-cmp-gallery-card.is-selected,#inventory .proc-cmp-gallery-card.is-selected,.proc-cmp-gallery-modal .proc-cmp-gallery-card.is-selected{border-color:#d4b896;box-shadow:0 0 0 1px #eadfce}.eng-exact-app .proc-cmp-gallery-select,#inventory .proc-cmp-gallery-select,.proc-cmp-gallery-modal .proc-cmp-gallery-select{display:flex;align-items:center;gap:6px;margin-bottom:6px;font-size:10px;font-weight:700;color:#64748b;cursor:pointer}.eng-exact-app .proc-cmp-gallery-select input,#inventory .proc-cmp-gallery-select input,.proc-cmp-gallery-modal .proc-cmp-gallery-select input{accent-color:#6b4f2a}.eng-exact-app .proc-cmp-action-error,#inventory .proc-cmp-action-error,.proc-cmp-gallery-modal .proc-cmp-action-error{margin:0 0 10px;padding:10px 12px;border-radius:10px;border:1px solid #fecaca;background:#fef2f2;color:#b91c1c;font-size:12px;font-weight:600}.eng-exact-app .proc-cmp-actions__hint,#inventory .proc-cmp-actions__hint{margin:0;font-size:12px;font-weight:600;color:#94a3b8}.proc-cmp-gallery-footer{padding:14px 18px 18px;border-top:1px solid #f1ede6;background:#fff}.proc-cmp-gallery-footer__actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.eng-exact-app .proc-cmp-meta-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:16px}.eng-exact-app .proc-cmp-meta-card{padding:12px 14px;border:1px solid var(--line,#e8e2d6);border-radius:10px;background:#fff;min-height:64px;display:flex;flex-direction:column;justify-content:center}.eng-exact-app .proc-cmp-meta-card span{display:block;margin-bottom:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8}.eng-exact-app .proc-cmp-meta-card strong{font-size:13px;line-height:1.35;color:#1f2937;word-break:break-word}.eng-exact-app .proc-cmp-meta-strip{display:flex;align-items:center;justify-content:space-between;gap:10px 14px;flex-wrap:wrap;margin-bottom:12px;padding:8px 10px;border:1px solid var(--line,#e8e2d6);border-radius:10px;background:#faf8f4}.eng-exact-app .proc-cmp-meta-chips{display:flex;flex-wrap:wrap;gap:6px 8px;min-width:0;flex:1 1 auto}.eng-exact-app .proc-cmp-meta-chip{display:inline-flex;align-items:baseline;gap:6px;max-width:100%;padding:4px 8px;border-radius:999px;background:#fff;border:1px solid #efe9df;font-size:11px;line-height:1.2}.eng-exact-app .proc-cmp-meta-chip span{color:#94a3b8;font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:9px}.eng-exact-app .proc-cmp-meta-chip strong{color:#1f2937;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.eng-exact-app .proc-cmp-lifecycle-pill{flex:0 0 auto;padding:5px 10px;border-radius:999px;font-size:11px;font-weight:800;color:#64748b;background:#fff;border:1px solid #e8e2d6}.eng-exact-app .proc-cmp-lifecycle-pill.is-finalized{color:#166534;background:#ecfdf5;border-color:#bbf7d0}.eng-exact-app .proc-cmp-readonly-banner{display:flex;flex-direction:column;gap:4px;margin-top:4px;padding:12px 14px;border-radius:10px;border:1px solid var(--line,#e8e2d6);background:#f8fafc}.eng-exact-app .proc-cmp-readonly-banner b{font-size:13px;color:#1f2937}.eng-exact-app .proc-cmp-readonly-banner span{font-size:12px;color:#64748b;line-height:1.4}.eng-exact-app .proc-cmp-readonly-banner.is-finalized{background:#ecfdf5;border-color:#bbf7d0}.eng-exact-app .proc-cmp-readonly-banner.is-finalized b{color:#166534}.eng-exact-app .proc-compare__final-badge{display:inline-block;margin-left:6px;margin-top:0;vertical-align:middle;width:fit-content;padding:2px 7px;border-radius:999px;font-size:9px;font-style:normal;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#166534;background:#dcfce7;border:1px solid #bbf7d0}.eng-exact-app .proc-compare__head.is-finalized,.eng-exact-app .proc-compare__cell.is-finalized,#inventory .proc-compare__head.is-finalized,#inventory .proc-compare__cell.is-finalized{background:color-mix(in srgb,var(--mint,#ecfdf5) 70%,#fff);box-shadow:inset 3px 0 0 var(--accent-base,#8c6a24)}.eng-exact-app .proc-compare__head.is-finalized.is-stripe,.eng-exact-app .proc-compare__cell.is-finalized.is-stripe,#inventory .proc-compare__head.is-finalized.is-stripe,#inventory .proc-compare__cell.is-finalized.is-stripe{background:color-mix(in srgb,var(--mint,#ecfdf5) 85%,var(--accent-soft,#f5efe4))}.eng-exact-app .proc-compare__select.is-locked,#inventory .proc-compare__select.is-locked,.eng-exact-app .proc-cmp-gallery-select.is-locked{cursor:default;opacity:.92}.eng-exact-app .proc-cmp-gallery-card.is-finalized,#inventory .proc-cmp-gallery-card.is-finalized{border-color:color-mix(in srgb,var(--accent-base,#8c6a24) 28%,#bbf7d0);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-base,#8c6a24) 12%,#bbf7d0)}.eng-exact-app .proc-cmp-recommendation.is-finalized,.eng-exact-app .proc-cmp-reco.is-finalized{border-color:#bbf7d0;background:#f0fdf4}.eng-exact-app .proc-cmp-panel--compact .proc-cmp-detail{gap:10px}.eng-exact-app .proc-cmp-panel--compact .proc-compare__head,.eng-exact-app .proc-cmp-panel--compact .proc-compare__cell,.eng-exact-app .proc-cmp-panel--compact .proc-compare__label{padding:10px 12px;min-width:0}.eng-exact-app .proc-cmp-panel--compact .proc-cmp-meta-chip strong{max-width:140px}.eng-exact-app .proc-cmp-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-bottom:14px}.eng-exact-app .proc-cmp-gallery-card{display:flex;flex-direction:column;min-height:360px;border:1px solid var(--line,#e8e2d6);border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 1px 2px #1f1c170a}.eng-exact-app .proc-cmp-gallery-head,#inventory .proc-cmp-gallery-head,.proc-cmp-gallery-modal .proc-cmp-gallery-head{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:12px 14px;border-bottom:1px solid #f1ede6;background:#faf8f4}.eng-exact-app .proc-cmp-gallery-head__copy{min-width:0}.eng-exact-app .proc-cmp-gallery-head__copy strong{display:block;font-size:13px;font-weight:800;color:#1f2937;line-height:1.3}.eng-exact-app .proc-cmp-gallery-head__copy small{display:block;margin-top:4px;font-size:11px;font-weight:600;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eng-exact-app .proc-cmp-gallery-head__meta,#inventory .proc-cmp-gallery-head__meta,.proc-cmp-gallery-modal .proc-cmp-gallery-head__meta{flex:0 0 auto;font-size:10px;font-weight:700;color:#94a3b8;white-space:nowrap}.eng-exact-app .proc-cmp-gallery-head__title-row,#inventory .proc-cmp-gallery-head__title-row,.proc-cmp-gallery-modal .proc-cmp-gallery-head__title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.eng-exact-app .proc-cmp-gallery-head__title-row strong,#inventory .proc-cmp-gallery-head__title-row strong,.proc-cmp-gallery-modal .proc-cmp-gallery-head__title-row strong{min-width:0;font-size:14px;font-weight:800;color:#1f2937;line-height:1.3}.eng-exact-app .proc-cmp-gallery-head__sub-row,#inventory .proc-cmp-gallery-head__sub-row,.proc-cmp-gallery-modal .proc-cmp-gallery-head__sub-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}.eng-exact-app .proc-cmp-gallery-head__file,#inventory .proc-cmp-gallery-head__file,.proc-cmp-gallery-modal .proc-cmp-gallery-head__file{flex:1 1 auto;min-width:0;font-size:11px;font-weight:600;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eng-exact-app .proc-cmp-quote-media{flex:1 1 auto;min-height:280px;display:grid;place-items:center;background:#fcfcfb;overflow:auto}.eng-exact-app .proc-cmp-quote-image{display:block;width:100%;height:100%;max-height:520px;object-fit:contain;background:#fff}.eng-exact-app .proc-cmp-quote-pdf{display:block;width:100%;height:100%;min-height:280px;border:none;background:#fff}.eng-exact-app .proc-cmp-quote-loading,.eng-exact-app .proc-cmp-quote-fallback{padding:20px 16px;text-align:center;color:#64748b;font-size:12px;font-weight:600;display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center}.eng-exact-app .proc-cmp-quote-fallback strong{color:#1f2937;font-size:13px}.eng-exact-app .proc-cmp-quote-download{margin-top:4px;color:var(--portfolio-accent,var(--accent-base,#8a6d2e));font-size:11px;font-weight:800;text-decoration:none}.eng-exact-app .proc-cmp-quote-download:hover{text-decoration:underline}@media(max-width:720px){.eng-exact-app .proc-cmp-gallery{grid-template-columns:1fr}}.eng-exact-app .proc-cmp-recommendation{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;padding:12px 14px;border:1px solid #bbf7d0;border-radius:10px;background:#f0fdf4;color:#166534;font-size:12px;font-weight:700}.eng-exact-app .proc-cmp-recommendation strong{font-size:13px}.eng-exact-app .proc-cmp-recommendation__hint{color:#15803d;font-weight:600}.eng-exact-app .proc-cmp-actions{display:flex;justify-content:flex-start}.eng-exact-app .proc-cmp-empty{padding:18px 14px;border:1px dashed var(--line,#e8e2d6);border-radius:12px;color:#64748b;font-size:13px;font-weight:600;background:#faf9f7}.eng-exact-app .proc-compare,#inventory .proc-compare{display:grid;width:100%;border:1px solid var(--line,#e8e2d6);border-radius:14px;overflow:hidden;margin-bottom:14px;background:#fff;align-items:stretch;box-shadow:0 1px 2px #1f1c170a}.eng-exact-app .proc-compare__label,#inventory .proc-compare__label{padding:12px 14px;background:color-mix(in srgb,var(--mint-soft,#f8fafc) 80%,#fff);color:var(--muted,#64748b);font-size:11px;font-weight:800;letter-spacing:.02em;border:0;border-right:1px solid color-mix(in srgb,var(--line,#e8e2d6) 70%,transparent);display:flex;align-items:center;min-width:0;box-sizing:border-box}.eng-exact-app .proc-compare__head,#inventory .proc-compare__head,.eng-exact-app .proc-compare__cell,#inventory .proc-compare__cell{padding:12px 14px;border:0;font-size:12px;font-weight:650;color:var(--text,#1f2937);min-width:0;max-width:100%;box-sizing:border-box;text-align:left;justify-self:stretch;overflow-wrap:anywhere;background:#fff}.eng-exact-app .proc-compare__head,#inventory .proc-compare__head{background:color-mix(in srgb,var(--accent-soft,#f5efe4) 55%,#fff);font-weight:800;border-bottom:1px solid color-mix(in srgb,var(--accent-base,#8c6a24) 16%,var(--line,#e8e2d6))}.eng-exact-app .proc-compare__label:first-child{background:color-mix(in srgb,var(--accent-soft,#f5efe4) 55%,#fff);border-bottom:1px solid color-mix(in srgb,var(--accent-base,#8c6a24) 16%,var(--line,#e8e2d6));color:var(--forest,var(--accent-base,#8c6a24));text-transform:uppercase;letter-spacing:.06em;font-size:10px}.eng-exact-app .proc-compare__label.is-stripe,.eng-exact-app .proc-compare__cell.is-stripe,#inventory .proc-compare__label.is-stripe,#inventory .proc-compare__cell.is-stripe{background:var(--mint-soft,#f8fafc)}.eng-exact-app .proc-compare__head.is-winner:not(.is-finalized),.eng-exact-app .proc-compare__cell.is-winner:not(.is-finalized),#inventory .proc-compare__head.is-winner:not(.is-finalized),#inventory .proc-compare__cell.is-winner:not(.is-finalized){background:color-mix(in srgb,var(--accent-soft,#f5efe4) 70%,#fff)}.eng-exact-app .proc-compare__cell.is-stripe.is-winner:not(.is-finalized),#inventory .proc-compare__cell.is-stripe.is-winner:not(.is-finalized){background:color-mix(in srgb,var(--accent-soft,#f5efe4) 55%,var(--mint-soft,#f8fafc))}.eng-exact-app .proc-compare__head.is-selected:not(.is-finalized),.eng-exact-app .proc-compare__cell.is-selected:not(.is-finalized),#inventory .proc-compare__head.is-selected:not(.is-finalized),#inventory .proc-compare__cell.is-selected:not(.is-finalized){box-shadow:inset 0 -2px color-mix(in srgb,var(--accent-base,#8c6a24) 55%,transparent)}.eng-exact-app .proc-compare__cell.is-emphasis,#inventory .proc-compare__cell.is-emphasis{font-weight:800;color:var(--forest-2,var(--accent-base,#8c6a24))}.eng-exact-app .proc-compare__vendor,#inventory .proc-compare__vendor{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:6px;width:100%;min-width:0}.eng-exact-app .proc-compare__select,#inventory .proc-compare__select{display:flex;align-items:flex-start;gap:8px;cursor:pointer;min-width:0;max-width:100%;width:100%;border:0;background:transparent;padding:0;text-align:left;font:inherit}.eng-exact-app .proc-compare__select input,#inventory .proc-compare__select input{margin-top:3px;flex:0 0 auto;accent-color:var(--accent-base,#8c6a24)}.eng-exact-app .proc-compare__select span,#inventory .proc-compare__select span{display:flex;flex-direction:column;min-width:0;flex:1 1 auto;gap:2px}.eng-exact-app .proc-compare__select b,#inventory .proc-compare__select b{display:block;max-width:100%;font-size:13px;color:var(--text,#1f2937);white-space:normal;line-height:1.35}.eng-exact-app .proc-compare__select small,#inventory .proc-compare__select small{color:var(--muted,#64748b);font-size:10px;font-weight:700}.eng-exact-app .proc-compare .proc-cmp-view-vendor,#inventory .proc-compare .proc-cmp-view-vendor{align-self:flex-start;margin-left:22px;color:var(--accent-base,#8c6a24);font-weight:800}.eng-exact-app .proc-cmp-reco,#inventory .proc-cmp-reco{display:flex;align-items:center;justify-content:space-between;gap:12px}.eng-exact-app .proc-cmp-reco>div,#inventory .proc-cmp-reco>div{display:flex;flex-direction:column;gap:4px;min-width:0}.eng-exact-app .proc-compare-preview,#inventory .proc-compare-preview{margin-top:14px;padding:12px;border:1px solid var(--line,#e8e2d6);border-radius:12px;background:#faf9f7}.eng-exact-app .proc-compare-preview h4,#inventory .proc-compare-preview h4{margin:0 0 10px;font-size:12px;font-weight:800}@media(max-width:900px){.eng-exact-app .proc-cmp-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.eng-exact-app .proc-cmp-rfq-toolbar__meta{width:100%;margin-left:0}}@media(max-width:560px){.eng-exact-app .proc-cmp-meta-grid{grid-template-columns:1fr}.eng-exact-app .proc-cmp-detail__head{flex-direction:column}.eng-exact-app .proc-cmp-rfq-select-wrap{max-width:none}}.eng-exact-app .proc-cmp-view-vendor,#inventory .proc-cmp-view-vendor,.proc-cmp-gallery-modal .proc-cmp-view-vendor{flex:0 0 auto;border:none;background:transparent;padding:0;color:#b45309;font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap;text-decoration:none}.eng-exact-app .proc-cmp-view-vendor:hover,#inventory .proc-cmp-view-vendor:hover,.proc-cmp-gallery-modal .proc-cmp-view-vendor:hover{text-decoration:underline}.eng-exact-app .proc-cmp-panel--compact{padding:0;border:0;background:transparent;box-shadow:none;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.eng-exact-app .proc-cmp-panel--compact .ar-table-card{flex:1 1 auto;min-height:0}.eng-exact-app .proc-cmp-list-action,.proc-cmp-panel .proc-cmp-list-action{text-align:right;width:1%;white-space:nowrap}.eng-exact-app .proc-cmp-list-action .btn,.proc-cmp-panel .proc-cmp-list-action .btn{padding:6px 12px;font-size:12px;font-weight:700;border-radius:8px}.admin-modal-overlay.proc-cmp-modal-overlay{z-index:10120;overflow:hidden!important;animation:none!important}.admin-modal-overlay.proc-cmp-modal-overlay--full{display:flex!important;justify-content:flex-start!important;align-items:stretch!important;align-content:stretch!important;padding:0!important;background:#0f172a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:none!important}.admin-modal-overlay.proc-cmp-modal-overlay--full .admin-modal-card.proc-cmp-modal{width:100vw!important;max-width:none!important;height:100dvh!important;max-height:100dvh!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;min-height:0!important;padding:0;margin:0;border:0!important;border-radius:0;box-shadow:none!important;animation:none!important}.admin-modal-overlay.proc-cmp-modal-overlay--full .admin-modal-card.proc-cmp-modal.eng-exact-app{height:100dvh!important;min-height:0!important;max-height:100dvh!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;grid-template-rows:unset!important;background:#fff;color:#1f2937;font-size:13px}.proc-cmp-modal .proc-cmp-view-mode{display:inline-flex;align-items:center;gap:4px;margin:0;padding:4px;border:1px solid var(--line,#e8e2d6);border-radius:999px;background:#faf8f4}.proc-cmp-modal-top{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px 12px;border-bottom:0}.proc-cmp-modal-top__main{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0}.proc-cmp-modal-title{margin:0;font-size:22px;font-weight:800;line-height:1.2;color:#1f2937}.proc-cmp-modal-close{flex:0 0 auto;margin-top:2px}.proc-cmp-modal .admin-form-head{flex:0 0 auto;padding:16px 20px 12px}.proc-cmp-modal-body{flex:1 1 0%!important;min-height:0!important;display:flex;flex-direction:column;overflow:hidden!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0 20px;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#94a3b8 transparent}.proc-cmp-modal-body .proc-cmp-detail{flex:1 1 auto;min-height:0;overflow:hidden}.proc-cmp-modal-body::-webkit-scrollbar{width:10px;height:10px}.proc-cmp-modal-body::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:999px;border:2px solid #fff}.proc-cmp-modal-foot{flex:0 0 auto;padding:14px 20px 18px;border-top:1px solid var(--line,#e8e2d6);background:#faf9f7}.proc-cmp-modal-foot--status{margin-top:auto;padding:0;border-top:0;background:transparent}.proc-cmp-modal-foot--status .proc-cmp-readonly-banner{margin:0;border-radius:0;border-left:0;border-right:0;border-bottom:0;padding:14px 20px 18px;width:100%}.proc-cmp-modal-foot--status .proc-cmp-readonly-banner:not(.is-finalized){background:#f8fafc;border-top:1px solid var(--line,#e8e2d6)}.proc-cmp-modal-foot .proc-cmp-recommendation{margin-bottom:10px}.proc-cmp-modal .proc-cmp-view-mode__option{display:inline-flex;align-items:center;gap:6px;margin:0;padding:7px 14px;border-radius:999px;font-size:12px;font-weight:700;color:#64748b;cursor:pointer;-webkit-user-select:none;user-select:none}.proc-cmp-modal .proc-cmp-view-mode__option input{position:absolute;opacity:0;pointer-events:none}.proc-cmp-modal .proc-cmp-view-mode__option.is-active{background:var(--accent-base,#8c6a24);color:#fff;box-shadow:0 1px 2px #0f172a14}.proc-cmp-modal .proc-cmp-view-mode__option:hover:not(.is-active){color:#1f2937;background:#ffffffb3}.proc-cmp-modal .proc-cmp-meta-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:16px}.proc-cmp-modal .proc-cmp-meta-card{padding:12px 14px;border:1px solid var(--line,#e8e2d6);border-radius:10px;background:#fff;min-height:64px;display:flex;flex-direction:column;justify-content:center}.proc-cmp-modal .proc-cmp-meta-card span{display:block;margin-bottom:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8}.proc-cmp-modal .proc-cmp-meta-card strong{font-size:13px;line-height:1.35;color:#1f2937;word-break:break-word}.proc-cmp-modal .proc-cmp-empty{padding:18px 14px;border:1px dashed var(--line,#e8e2d6);border-radius:12px;color:#64748b;font-size:13px;font-weight:600;background:#faf9f7}.proc-cmp-modal .proc-compare-scroll{flex:1 1 auto;width:100%;min-height:0;overflow:auto;margin-bottom:0;border:none;border-radius:0;background:transparent;box-shadow:none;-webkit-overflow-scrolling:touch}.proc-cmp-modal .proc-compare-scroll--documents{padding-bottom:4px}.proc-cmp-modal .proc-compare{display:grid;width:100%;min-width:0;border:1px solid var(--line,#e8e2d6);border-radius:14px;overflow:hidden;margin-bottom:0;background:#fff;align-items:stretch;box-shadow:0 1px 2px #1f1c170a}.proc-cmp-modal .proc-cmp-detail{display:flex;flex-direction:column;gap:12px;min-height:0;height:100%}.proc-cmp-modal .proc-cmp-meta-strip{flex:0 0 auto;width:100%;margin-bottom:0}.proc-cmp-modal .proc-compare__label{padding:12px 14px;background:color-mix(in srgb,var(--mint-soft,#f8fafc) 80%,#fff);color:var(--muted,#64748b);font-size:11px;font-weight:800;letter-spacing:.02em;border:0;border-right:1px solid color-mix(in srgb,var(--line,#e8e2d6) 70%,transparent);border-bottom:1px solid color-mix(in srgb,var(--line,#e8e2d6) 70%,transparent);display:flex;align-items:center;position:sticky;left:0;z-index:2;min-width:0;box-sizing:border-box}.proc-cmp-modal .proc-compare__label.is-stripe,.proc-cmp-modal .proc-compare__cell.is-stripe{background:var(--mint-soft,#f8fafc)}.proc-cmp-modal .proc-compare__label--corner{z-index:3;background:color-mix(in srgb,var(--accent-soft,#f5efe4) 55%,#fff);border-bottom:1px solid color-mix(in srgb,var(--accent-base,#8c6a24) 16%,var(--line,#e8e2d6));color:var(--forest,var(--accent-base,#8c6a24));text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:800}.proc-cmp-modal .proc-compare__head.is-finalized,.proc-cmp-modal .proc-compare__cell.is-finalized{background:color-mix(in srgb,var(--mint,#ecfdf5) 70%,#fff);box-shadow:inset 3px 0 0 var(--accent-base,#8c6a24)}.proc-cmp-modal .proc-compare__head.is-finalized.is-stripe,.proc-cmp-modal .proc-compare__cell.is-finalized.is-stripe{background:color-mix(in srgb,var(--mint,#ecfdf5) 85%,var(--accent-soft,#f5efe4))}.proc-cmp-modal .proc-compare__head,.proc-cmp-modal .proc-compare__cell{padding:12px 14px;border:0;border-right:1px solid color-mix(in srgb,var(--line,#e8e2d6) 70%,transparent);border-bottom:1px solid color-mix(in srgb,var(--line,#e8e2d6) 70%,transparent);font-size:12px;font-weight:650;color:var(--text,#1f2937);min-width:0;max-width:100%;box-sizing:border-box;text-align:left;justify-self:stretch;overflow-wrap:anywhere;line-height:1.45;background:#fff}.proc-cmp-modal .proc-compare__head{background:color-mix(in srgb,var(--accent-soft,#f5efe4) 55%,#fff);font-weight:800;vertical-align:top;border-bottom:1px solid color-mix(in srgb,var(--accent-base,#8c6a24) 16%,var(--line,#e8e2d6))}.proc-cmp-modal .proc-compare__head.is-winner:not(.is-finalized),.proc-cmp-modal .proc-compare__cell.is-winner:not(.is-finalized){background:color-mix(in srgb,var(--accent-soft,#f5efe4) 70%,#fff)}.proc-cmp-modal .proc-compare__cell.is-stripe.is-winner:not(.is-finalized){background:color-mix(in srgb,var(--accent-soft,#f5efe4) 55%,var(--mint-soft,#f8fafc))}.proc-cmp-modal .proc-compare__head.is-selected:not(.is-finalized),.proc-cmp-modal .proc-compare__cell.is-selected:not(.is-finalized){box-shadow:inset 0 -2px color-mix(in srgb,var(--accent-base,#8c6a24) 55%,transparent)}.proc-cmp-modal .proc-compare__cell.is-emphasis{font-weight:800;color:var(--forest-2,var(--accent-base,#8c6a24))}.proc-cmp-modal .proc-compare__vendor{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.proc-cmp-modal .proc-compare__select{display:flex;align-items:flex-start;gap:8px;cursor:pointer;min-width:0;width:100%;border:0;background:transparent;padding:0;text-align:left;font:inherit}.proc-cmp-modal .proc-compare__select input{margin-top:3px;flex:0 0 auto;accent-color:var(--accent-base,#8c6a24)}.proc-cmp-modal .proc-compare__select span{display:flex;flex-direction:column;min-width:0;flex:1 1 auto;gap:2px}.proc-cmp-modal .proc-compare__select b{display:block;max-width:100%;font-size:13px;color:var(--text,#1f2937);white-space:normal;line-height:1.35}.proc-cmp-modal .proc-cmp-view-vendor{align-self:flex-start;margin-left:22px;border:none;background:transparent;padding:0;color:var(--accent-base,#8c6a24);font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap;text-decoration:none}.proc-cmp-modal .proc-cmp-view-vendor:hover{text-decoration:underline}.proc-cmp-modal .eng-proc-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:6px;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.proc-cmp-modal .eng-proc-pill--ok{background:#e8f5ee;color:#16794a}.proc-cmp-modal .eng-proc-pill--warn{background:#fff7df;color:#9a6700}.proc-cmp-modal .eng-proc-pill--danger{background:#fdecec;color:#a23a3a}.proc-cmp-modal .eng-proc-pill--muted{background:#f3f4f6;color:#64748b}.proc-cmp-modal .proc-cmp-gallery{display:grid;gap:14px;margin-bottom:0;width:100%}.proc-cmp-modal .proc-cmp-gallery-card{display:flex;flex-direction:column;min-height:320px;border:1px solid var(--line,#e8e2d6);border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 1px 2px #1f1c170a}.proc-cmp-modal .proc-cmp-gallery-card.is-selected{border-color:#d4b896;box-shadow:0 0 0 1px #eadfce}.proc-cmp-modal-foot .proc-cmp-foot-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.proc-cmp-modal-foot .proc-cmp-foot-bar__actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.proc-cmp-modal-foot .proc-cmp-actions__hint{margin:0;flex:1 1 220px;font-size:12px;font-weight:600;color:#64748b;text-align:right}.proc-cmp-modal-foot .proc-cmp-actions__hint--success{color:#15803d}.proc-cmp-modal-foot .proc-cmp-action-error{margin:0 0 10px}@media(max-width:900px){.proc-cmp-modal .proc-cmp-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.proc-cmp-modal .proc-cmp-meta-grid{grid-template-columns:1fr}.proc-cmp-modal-foot .proc-cmp-foot-bar{flex-direction:column;align-items:stretch}.proc-cmp-modal-foot .proc-cmp-actions__hint{text-align:left}}.eng-exact-app .proc-cmp-rfq-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 16px;padding:12px 14px;border:1px solid var(--line,#e8e2d6);border-radius:12px;background:#faf9f7}.eng-exact-app .proc-cmp-rfq-toolbar__label{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#64748b;white-space:nowrap}.eng-exact-app .proc-cmp-rfq-select-wrap{position:relative;flex:1 1 280px;min-width:220px;max-width:520px}.eng-exact-app .proc-cmp-rfq-select{width:100%;height:38px;padding:0 36px 0 12px;border:1px solid var(--line,#e8e2d6);border-radius:10px;background:#fff;color:#1f2937;font-size:12px;font-weight:700;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.eng-exact-app .proc-cmp-rfq-select-icon{position:absolute;top:50%;right:12px;transform:translateY(-50%);color:#94a3b8;pointer-events:none}.eng-exact-app .proc-cmp-rfq-toolbar__meta{margin-left:auto;font-size:11px;font-weight:700;color:#64748b;white-space:nowrap}#inventory #proc-comparison .proc-cmp-inline-root{padding-top:4px}#inventory #proc-comparison .proc-cmp-rfq-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 16px;padding:12px 14px;border:1px solid var(--line,#e8e2d6);border-radius:12px;background:#faf9f7}#inventory #proc-comparison .proc-cmp-rfq-toolbar__label{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#64748b;white-space:nowrap}#inventory #proc-comparison .proc-cmp-rfq-select-wrap{position:relative;flex:1 1 280px;min-width:220px;max-width:520px}#inventory #proc-comparison .proc-cmp-rfq-select{width:100%;height:38px;padding:0 36px 0 12px;border:1px solid var(--line,#e8e2d6);border-radius:10px;background:#fff;color:#1f2937;font-size:12px;font-weight:700;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}#inventory #proc-comparison .proc-cmp-rfq-select-icon{position:absolute;top:50%;right:12px;transform:translateY(-50%);color:#94a3b8;pointer-events:none}#inventory #proc-comparison .proc-cmp-rfq-toolbar__meta{margin-left:auto;font-size:11px;font-weight:700;color:#64748b;white-space:nowrap}#inventory #proc-comparison .proc-cmp-detail__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}#inventory #proc-comparison .proc-cmp-detail__title h4{margin:0;font-size:17px;font-weight:800;color:#1f2937}#inventory #proc-comparison .proc-cmp-detail__title p{margin:4px 0 0;font-size:12px;color:#64748b;font-weight:600}#inventory #proc-comparison .proc-cmp-meta-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:16px}#inventory #proc-comparison .proc-cmp-meta-card{padding:12px 14px;border:1px solid var(--line,#e8e2d6);border-radius:10px;background:#fff;min-height:64px;display:flex;flex-direction:column;justify-content:center}#inventory #proc-comparison .proc-cmp-meta-card span{display:block;margin-bottom:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8}#inventory #proc-comparison .proc-cmp-meta-card strong{font-size:13px;line-height:1.35;color:#1f2937;word-break:break-word}#inventory #proc-comparison .proc-cmp-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-bottom:14px}#inventory #proc-comparison .proc-cmp-gallery-card{display:flex;flex-direction:column;min-height:360px;border:1px solid var(--line,#e8e2d6);border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 1px 2px #1f1c170a}#inventory #proc-comparison .proc-cmp-quote-media{flex:1 1 auto;min-height:220px;background:#f8fafc;display:flex;align-items:center;justify-content:center}#inventory #proc-comparison .proc-cmp-quote-loading{padding:24px;font-size:12px;font-weight:600;color:#94a3b8}#inventory #proc-comparison .proc-cmp-quote-image,#inventory #proc-comparison .proc-cmp-quote-pdf{width:100%;height:100%;min-height:220px;border:0;object-fit:contain;background:#fff}#inventory #proc-comparison .proc-cmp-quote-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;text-align:center;min-height:220px}#inventory #proc-comparison .proc-cmp-recommendation{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 12px;padding:12px 14px;border:1px solid #e8dcc0;border-radius:10px;background:#fffaf0;font-size:12px;font-weight:600;color:#7d5c17}#inventory #proc-comparison .proc-cmp-recommendation strong,#inventory #proc-comparison .proc-cmp-recommendation b{color:#5c4310}#inventory #proc-comparison .proc-cmp-recommendation__hint{margin-left:0;font-size:11px;color:#8a6d2e;font-weight:600}#inventory #proc-comparison .proc-cmp-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}#inventory #proc-comparison .proc-cmp-empty{padding:28px 16px;border:1px dashed #e8e2d6;border-radius:12px;text-align:center;font-size:13px;font-weight:600;color:#94a3b8;background:#faf9f7}@media(max-width:900px){#inventory #proc-comparison .proc-cmp-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.proc-vendor-drawer-backdrop[hidden]{display:none!important}.proc-vendor-drawer-backdrop,.eng-exact-app .proc-vendor-drawer-backdrop,#inventory .proc-vendor-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10120;background:#0f172a47;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;justify-content:flex-end}.proc-vendor-drawer,.eng-exact-app .proc-vendor-drawer,#inventory .proc-vendor-drawer{width:min(480px,100%);height:100%;background:#fff;box-shadow:-12px 0 32px #0f172a29;display:flex;flex-direction:column;padding:0;overflow:auto}.proc-vendor-drawer__head,.eng-exact-app .proc-vendor-drawer__head,#inventory .proc-vendor-drawer__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 22px 16px;border-bottom:1px solid #eef1f4;background:linear-gradient(180deg,#faf8f4,#fff);position:sticky;top:0;z-index:1}.proc-vendor-drawer__head h2,.eng-exact-app .proc-vendor-drawer__head h2,#inventory .proc-vendor-drawer__head h2{margin:0;font-size:22px;line-height:1.2;letter-spacing:-.02em;color:#1f2937;font-weight:800}.proc-vendor-drawer__head p,.eng-exact-app .proc-vendor-drawer__head p,#inventory .proc-vendor-drawer__head p{display:inline-flex;margin:6px 0 0;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:700;color:#6b4f2a;background:#f3ebe0;border:1px solid #e6d7c3}.proc-vendor-drawer__close,.eng-exact-app .proc-vendor-drawer__close,#inventory .proc-vendor-drawer__close{width:32px;height:32px;border-radius:10px;border:1px solid #e5e7eb;background:#fff;cursor:pointer;font-size:18px;line-height:1;color:#6b7280;display:grid;place-items:center;flex-shrink:0}.proc-vendor-drawer__close:hover,.eng-exact-app .proc-vendor-drawer__close:hover,#inventory .proc-vendor-drawer__close:hover{background:#f8fafc;color:#334155}.proc-vendor-drawer__section,.eng-exact-app .proc-vendor-drawer__section,#inventory .proc-vendor-drawer__section{margin:0;padding:16px 22px 0}.proc-vendor-drawer__section:last-child,.eng-exact-app .proc-vendor-drawer__section:last-child,#inventory .proc-vendor-drawer__section:last-child{padding-bottom:24px}.proc-vendor-drawer__section h3,.eng-exact-app .proc-vendor-drawer__section h3,#inventory .proc-vendor-drawer__section h3{margin:0 0 10px;font-size:13px;font-weight:800;color:#334155;letter-spacing:.02em}.proc-vendor-drawer__grid,.eng-exact-app .proc-vendor-drawer__grid,#inventory .proc-vendor-drawer__grid{display:grid;gap:0;border:1px solid #e8ecf0;border-radius:12px;overflow:hidden;background:#fff}.proc-vendor-drawer__grid--profile,.proc-vendor-drawer__grid--stats{grid-template-columns:repeat(2,minmax(0,1fr))}.proc-vendor-drawer__field,.eng-exact-app .proc-vendor-drawer__field,#inventory .proc-vendor-drawer__field{padding:11px 14px;border-top:1px solid #eef1f4;min-width:0}.proc-vendor-drawer__grid--profile .proc-vendor-drawer__field:nth-child(-n+2),.proc-vendor-drawer__grid--stats .proc-vendor-drawer__field:nth-child(-n+2){border-top:none}.proc-vendor-drawer__grid--profile .proc-vendor-drawer__field:nth-child(odd),.proc-vendor-drawer__grid--stats .proc-vendor-drawer__field:nth-child(odd){border-right:1px solid #eef1f4}.proc-vendor-drawer__field span,.eng-exact-app .proc-vendor-drawer__field span,#inventory .proc-vendor-drawer__field span{display:block;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;margin-bottom:5px}.proc-vendor-drawer__field strong,.eng-exact-app .proc-vendor-drawer__field strong,#inventory .proc-vendor-drawer__field strong{display:block;font-size:13px;font-weight:700;color:#1f2937;word-break:break-word;line-height:1.35}.proc-vendor-drawer__field a{color:#b45309;text-decoration:none}.proc-vendor-drawer__field a:hover{text-decoration:underline}.proc-vendor-drawer__table-wrap,.eng-exact-app .proc-vendor-drawer__table-wrap,#inventory .proc-vendor-drawer__table-wrap{border:1px solid #e8ecf0;border-radius:14px;overflow:auto}.proc-vendor-drawer__table,.eng-exact-app .proc-vendor-drawer__table,#inventory .proc-vendor-drawer__table{width:100%;border-collapse:collapse;font-size:12px}.proc-vendor-drawer__table th,.proc-vendor-drawer__table td,.eng-exact-app .proc-vendor-drawer__table th,.eng-exact-app .proc-vendor-drawer__table td,#inventory .proc-vendor-drawer__table th,#inventory .proc-vendor-drawer__table td{padding:10px 12px;border-top:1px solid #eef1f4;text-align:left}.proc-vendor-drawer__table thead th{border-top:none;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;background:#fafbfc}.proc-vendor-drawer__status.is-open{color:#15803d;font-weight:800}.proc-vendor-drawer__status.is-closed{color:#64748b;font-weight:700}.proc-vendor-drawer__empty,.eng-exact-app .proc-vendor-drawer__empty,#inventory .proc-vendor-drawer__empty{padding:14px;border:1px dashed #e2e8f0;border-radius:12px;color:#94a3b8;font-size:12px;font-weight:600}.proc-cmp-gallery-modal .proc-cmp-meta-grid,.proc-cmp-gallery-modal .proc-cmp-gallery{margin-top:14px}.proc-cmp-gallery-modal .proc-cmp-meta-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.proc-cmp-gallery-modal .proc-cmp-meta-card{padding:12px 14px;border:1px solid #e8e2d6;border-radius:12px;background:#faf8f4}.proc-cmp-gallery-modal .proc-cmp-meta-card span{display:block;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;margin-bottom:4px}.proc-cmp-gallery-modal .proc-cmp-meta-card strong{font-size:13px;font-weight:800;color:#334155}.proc-cmp-gallery-modal .proc-cmp-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.proc-cmp-gallery-modal .proc-cmp-gallery-card{border:1px solid #e8e2d6;border-radius:14px;overflow:hidden;background:#fff}.proc-cmp-gallery-modal .proc-cmp-gallery-head{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:12px 14px;border-bottom:1px solid #f1ede6;background:#faf8f4}.proc-cmp-gallery-modal .proc-cmp-gallery-head__copy strong{display:block;font-size:14px;font-weight:800}.proc-cmp-gallery-modal .proc-cmp-gallery-head__copy small{display:block;margin-top:4px;font-size:11px;color:#64748b;word-break:break-word}.proc-cmp-gallery-modal .proc-cmp-gallery-head__meta{font-size:10px;font-weight:700;color:#94a3b8;white-space:nowrap}.proc-cmp-gallery-modal .proc-cmp-quote-fallback{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:16px;color:#64748b;font-size:12px}@media(max-width:960px){.proc-cmp-gallery-modal .proc-cmp-gallery{grid-template-columns:1fr}.proc-cmp-gallery-modal .proc-cmp-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.quote-view-item-wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid #e8e4dc;border-radius:14px;background:#faf9f7}.quote-view-item{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;flex:1;border:none;background:transparent;text-align:left;cursor:pointer;padding:0}.quote-view-item strong{font-size:14px;font-weight:800;color:#1f1c17}.quote-view-item__file{font-size:12px;color:#64748b;word-break:break-word}.quote-view-item__date{font-size:11px;color:#8a8478}.quote-view-item__main{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.eng-exact-app .proj-workspace-procurement-tab .proj-proc-action-btn{min-width:72px;justify-content:center}.eng-exact-app .proj-workspace-procurement-tab .proj-proc-view-cell{width:52px;text-align:center;vertical-align:middle}.eng-exact-app .proj-workspace-procurement-tab .proj-proc-row-actions{min-width:0;max-width:none}.eng-exact-app .proj-workspace-procurement-tab .proj-proc-row-actions.proc-req-actions--icons{width:max-content}.eng-exact-app .proj-workspace-procurement-tab .proj-proc-row-actions.proc-req-actions--stacked{width:min(100%,200px)}.eng-exact-app .proj-workspace-procurement-tab .module-table--project-proc .proc-action-cell,.eng-exact-app .proj-workspace-procurement-tab .module-table--project-proc td:last-child{min-width:120px;vertical-align:middle}.eng-exact-app .proj-workspace-procurement-tab .proj-proc-row-actions .req-approve-btn,.eng-exact-app .proj-workspace-procurement-tab .proj-proc-row-actions .req-reject-btn{font-size:11px;padding:5px 8px}.eng-exact-app .proj-workspace-procurement-tab .module-grid{margin:0}@media(max-width:720px){.eng-exact-app .proj-proc-head{flex-direction:column;align-items:stretch}.eng-exact-app .proj-proc-head__actions{justify-content:flex-start}}.eng-exact-app .proj-workspace-shell #floorContent{padding:0 16px 16px;flex:0 0 auto}.eng-exact-app .proj-workspace-shell #floorContent:has(.proj-workspace-procurement-tab){padding-top:4px}.eng-exact-app .proj-workspace-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,min(320px,100%));gap:14px;align-items:start;width:100%;max-width:100%;min-width:0}.eng-exact-app .proj-workspace-overview-main{display:flex;flex-direction:column;gap:14px;min-width:0}.eng-exact-app .proj-workspace-panel{background:var(--proj-surface);border:1px solid var(--proj-line);border-radius:14px;padding:16px;min-width:0;max-width:100%;box-sizing:border-box;box-shadow:0 1px 2px #1f1c170a}.eng-exact-app .proj-workspace-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.eng-exact-app .proj-workspace-panel-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.eng-exact-app .proj-workspace-panel-head h3{margin:0;color:var(--proj-ink);font-size:14px;font-weight:800}.eng-exact-app .proj-workspace-link{border:0;background:transparent;color:var(--proj-accent);font-size:11px;font-weight:800}.eng-exact-app .proj-workspace-panel--split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;min-width:0;align-items:stretch}.eng-exact-app .proj-workspace-commercial,.eng-exact-app .proj-workspace-procurement{display:flex;flex-direction:column;min-width:0;min-height:100%}.eng-exact-app .proj-workspace-commercial-head,.eng-exact-app .proj-workspace-procurement-head{margin-bottom:12px}.eng-exact-app .proj-workspace-commercial-head h3,.eng-exact-app .proj-workspace-procurement-head h3{margin:0;color:var(--proj-ink);font-size:14px;font-weight:800;line-height:1.3}.eng-exact-app .proj-workspace-inline-link{margin-left:10px;padding:0;border:0;background:transparent;color:var(--proj-ink);font-size:12px;font-weight:800;vertical-align:baseline;cursor:pointer}.eng-exact-app .proj-workspace-inline-link:hover{color:var(--proj-accent)}.eng-exact-app .proj-workspace-commercial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;flex:1 1 auto}.eng-exact-app .proj-workspace-commercial-grid article{border:1px solid var(--proj-line);border-radius:12px;padding:12px 14px;background:var(--proj-surface, #fff);box-shadow:0 1px 2px #1f1c1708;min-height:64px}.eng-exact-app .proj-workspace-commercial-grid small{display:block;color:var(--proj-muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.eng-exact-app .proj-workspace-commercial-grid b{display:block;margin-top:6px;color:var(--proj-ink);font-size:15px;font-weight:800}.eng-exact-app .proj-workspace-table-wrap{overflow:auto;max-width:100%;min-width:0}.eng-exact-app .proj-workspace-procurement .proj-workspace-table-wrap{flex:1 1 auto;display:flex;flex-direction:column;border:1px solid var(--proj-line);border-radius:12px;overflow:hidden;background:var(--proj-surface, #fff);box-shadow:0 1px 2px #1f1c1708;min-height:0}.eng-exact-app .proj-workspace-procurement .proj-workspace-table,.eng-exact-app .proj-workspace-procurement .proj-workspace-table tbody,.eng-exact-app .proj-workspace-procurement .proj-workspace-empty-row{height:100%}.eng-exact-app .proj-workspace-procurement .proj-workspace-empty-cell{height:136px;text-align:center;vertical-align:middle;border-bottom:0!important}.eng-exact-app .proj-workspace-table{width:100%;border-collapse:collapse;font-size:11px}.eng-exact-app .proj-workspace-table th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--proj-line);color:var(--proj-muted);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.eng-exact-app .proj-workspace-table td{padding:10px;border-bottom:1px solid color-mix(in srgb,var(--proj-line) 70%,transparent);color:var(--proj-ink);vertical-align:middle}.eng-exact-app .proj-workspace-empty-cell{color:var(--proj-muted);font-size:11px;padding:18px 10px!important}.eng-exact-app .proj-workspace-table .proj-ms-status-control{vertical-align:middle}.eng-exact-app .proj-workspace-pill{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800;background:#eef2ff;color:#3730a3}.eng-exact-app .proj-workspace-pill.is-done{background:#ecfdf3;color:#166534}.eng-exact-app .proj-workspace-pill.is-working,.eng-exact-app .proj-workspace-pill.is-upcoming{background:#eff6ff;color:#1d4ed8}.eng-exact-app .proj-workspace-pill.is-risk{background:#fef2f2;color:#b91c1c}.eng-exact-app .proj-workspace-updates{display:flex;flex-direction:column;gap:10px}.eng-exact-app .proj-workspace-update-row{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid color-mix(in srgb,var(--proj-line) 70%,transparent)}.eng-exact-app .proj-workspace-update-row:last-child{border-bottom:0}.eng-exact-app .proj-workspace-update-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:#f3f1ea;color:var(--proj-accent);flex:0 0 auto}.eng-exact-app .proj-workspace-update-row b{display:block;color:var(--proj-ink);font-size:12px}.eng-exact-app .proj-workspace-update-row small{display:block;margin-top:2px;color:var(--proj-muted);font-size:10px}.eng-exact-app .proj-workspace-attention{position:sticky;top:12px}.eng-exact-app .proj-workspace-owner-actions{display:flex;flex-direction:column;min-height:0;margin-top:4px}.eng-exact-app .proj-workspace-owner-actions .dock-head--embedded{padding:0 0 8px;border-bottom:none}.eng-exact-app .proj-workspace-owner-actions .dock-head-summary{font-size:10px;color:var(--proj-muted);margin:0 0 8px}.eng-exact-app .proj-workspace-owner-actions .dock-head-summary span{font-weight:800;color:var(--proj-ink)}.eng-exact-app .proj-workspace-owner-actions .dock-head,.eng-exact-app .proj-workspace-owner-actions .dock-head--embedded{flex:0 0 auto}.eng-exact-app .proj-workspace-owner-actions .dock-list{flex:1 1 auto;min-height:0;max-height:min(520px,55vh)!important;height:auto!important;padding:0;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.eng-exact-app .proj-workspace-attention .proj-workspace-alerts{margin-top:12px;padding-top:12px;border-top:1px solid var(--proj-line, var(--line))}.eng-exact-app .proj-workspace-checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.eng-exact-app .proj-workspace-checklist li{display:flex;align-items:flex-start;gap:8px;font-size:11px;color:var(--proj-ink)}.eng-exact-app .proj-workspace-alerts{display:flex;flex-direction:column;gap:8px;margin-top:14px}.eng-exact-app .proj-workspace-alert{border-radius:10px;padding:10px 12px;font-size:11px;line-height:1.4}.eng-exact-app .proj-workspace-alert.is-warn{background:#fff7ed;color:#9a3412}.eng-exact-app .proj-workspace-alert.is-risk{background:#fef2f2;color:#b91c1c}.eng-exact-app .proj-workspace-alert.is-ok{background:#ecfdf3;color:#166534}.eng-exact-app .proj-workspace-modal{width:min(520px,92vw)}.eng-exact-app .proj-workspace-updates-modal{max-height:60vh;overflow:auto}@media(max-width:1100px){.eng-exact-app .proj-workspace-overview,.eng-exact-app .proj-workspace-panel--split{grid-template-columns:1fr}.eng-exact-app .proj-workspace-attention{position:static}}html.theme-dark .eng-exact-app .floor-workspace.proj-workspace-shell,body.theme-dark .eng-exact-app .floor-workspace.proj-workspace-shell{--proj-bg: #1c2129;--proj-surface: #242b34;--proj-line: #3a4553;--proj-ink: #f0f3f8;--proj-muted: #9aa3b2;--proj-hero-top: color-mix(in srgb, var(--accent-base, #8a6d2e) 32%, #1a1410 68%);--proj-hero-bottom: color-mix(in srgb, var(--accent-base, #8a6d2e) 18%, #12151a 82%);background:var(--proj-bg)!important;border-color:var(--proj-line)!important}.eng-exact-app .eng-ov{display:flex;flex-direction:column;gap:14px;padding:14px 16px 20px;width:100%;box-sizing:border-box}.eng-exact-app .eng-ov-actions{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:10px 12px}.eng-exact-app .eng-ov-action-group{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px}.eng-exact-app .eng-ov-action-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line, #e8e2d6);background:#fff;color:var(--ink, #1f1c17);border-radius:999px;padding:5px 14px 5px 5px;font-family:var(--font-sans);font-size:12px;font-weight:650;line-height:1.2;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;white-space:nowrap}.eng-exact-app .eng-ov-action-chip:hover{background:color-mix(in srgb,var(--accent-base, #8a6d2e) 6%,#fff);border-color:color-mix(in srgb,var(--accent-base, #8a6d2e) 24%,var(--line, #e8e2d6));box-shadow:0 1px 3px #1f1c170f}.eng-exact-app .eng-ov-action-chip:focus-visible{outline:2px solid color-mix(in srgb,var(--accent-base, #8a6d2e) 45%,transparent);outline-offset:2px}.eng-exact-app .eng-ov-action-chip .icon-badge{flex-shrink:0}.eng-exact-app .eng-ov-action-chip span{padding-right:2px}.eng-exact-app .eng-ov-raise{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.eng-exact-app .eng-ov-raise .btn.primary{min-height:34px;padding:0 14px;border-radius:8px;font-size:12px;font-weight:700;background:var(--accent-base, #1e3a5f)!important;border-color:transparent!important;color:#fff!important}.eng-exact-app .eng-ov-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.eng-exact-app .eng-ov-kpi{background:#fff;border:1px solid var(--proj-line, #e8e2d6);border-radius:12px;padding:14px 16px;box-shadow:0 1px 2px #1f1c170a;min-width:0}.eng-exact-app .eng-ov-kpi b{display:block;color:var(--proj-ink, #1f1c17);font-size:clamp(1.35rem,2vw,1.75rem);font-weight:800;letter-spacing:-.03em;line-height:1.1}.eng-exact-app .eng-ov-kpi span{display:block;margin-top:6px;color:var(--proj-muted, #7a7368);font-size:12px;font-weight:600}.eng-exact-app .eng-ov-mid{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:12px;align-items:stretch}.eng-exact-app .eng-ov-panel{background:#fff;border:1px solid var(--proj-line, #e8e2d6);border-radius:12px;padding:14px 16px;box-shadow:0 1px 2px #1f1c170a;min-width:0}.eng-exact-app .eng-ov-panel__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.eng-exact-app .eng-ov-panel__head h3{margin:0;font-size:14px;font-weight:800;color:var(--proj-ink, #1f1c17)}.eng-exact-app .eng-ov-empty{margin:0;color:var(--proj-muted, #7a7368);font-size:12px}.eng-exact-app .eng-ov-attention-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.eng-exact-app .eng-ov-attention-row{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0;padding:10px 12px;border:1px solid transparent;border-radius:10px;background:color-mix(in srgb,var(--proj-bg, #f7f4ee) 70%,#fff);text-align:left;cursor:pointer}.eng-exact-app .eng-ov-attention-row:hover{border-color:var(--proj-line, #e8e2d6);background:#fff}.eng-exact-app .eng-ov-attention-row b{display:block;color:var(--proj-ink, #1f1c17);font-size:13px;font-weight:700}.eng-exact-app .eng-ov-attention-row small{display:block;margin-top:3px;color:var(--proj-muted, #7a7368);font-size:11px}.eng-exact-app .eng-ov-tag{flex:0 0 auto;display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.eng-exact-app .eng-ov-tag--urgent{color:#b42318;background:#fef3f2}.eng-exact-app .eng-ov-tag--high{color:#175cd3;background:#eff8ff}.eng-exact-app .eng-ov-tag--pending,.eng-exact-app .eng-ov-tag--ok{color:#344054;background:#f2f4f7}.eng-exact-app .eng-ov-pulse-list{margin:0;display:flex;flex-direction:column;gap:10px}.eng-exact-app .eng-ov-pulse-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px;border-bottom:1px solid var(--proj-line, #e8e2d6)}.eng-exact-app .eng-ov-pulse-row:last-child{border-bottom:0;padding-bottom:0}.eng-exact-app .eng-ov-pulse-link{width:100%;margin:0;border:0;border-radius:8px;background:transparent;text-align:left;cursor:pointer}.eng-exact-app .eng-ov-pulse-link:hover{background:color-mix(in srgb,var(--proj-bg, #f7f4ee) 70%,#fff)}.eng-exact-app .eng-ov-pulse-link:hover .eng-ov-pulse-value{text-decoration:underline;text-underline-offset:3px}.eng-exact-app .eng-ov-pulse-link:focus-visible{outline:2px solid var(--gold, #8c6a24);outline-offset:1px}.eng-exact-app .eng-ov-pulse-label{color:var(--proj-muted, #7a7368);font-size:12px;font-weight:600}.eng-exact-app .eng-ov-pulse-value{color:var(--proj-ink, #1f1c17);font-size:14px;font-weight:800}.eng-exact-app .eng-ov-ms-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.eng-exact-app .eng-ov-ms-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--proj-bg, #f7f4ee) 70%,#fff)}.eng-exact-app .eng-ov-ms-row b{color:var(--proj-ink, #1f1c17);font-size:13px;font-weight:700;min-width:0}.eng-exact-app .eng-ov-ms-row>span{color:var(--proj-muted, #7a7368);font-size:12px;font-weight:600;text-align:right;white-space:nowrap}@media(max-width:900px){.eng-exact-app .eng-ov-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.eng-exact-app .eng-ov-mid{grid-template-columns:1fr}}@media(max-width:560px){.eng-exact-app .eng-ov-kpis{grid-template-columns:1fr}.eng-exact-app .eng-ov-actions{justify-content:flex-start}.eng-exact-app .eng-ov-action-group{flex:1 1 100%;justify-content:flex-start}.eng-exact-app .eng-ov-action-chip{flex:0 1 auto;justify-content:flex-start}.eng-exact-app .eng-ov-raise{justify-content:stretch}.eng-exact-app .eng-ov-raise .btn.primary{flex:1 1 auto}}.eng-exact-app .projects-portfolio--financial .projects-portfolio-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}.eng-exact-app .projects-portfolio-finance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.eng-exact-app .projects-portfolio-finance-grid small{display:block;color:var(--portfolio-muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.eng-exact-app .projects-portfolio-finance-grid b{display:block;margin-top:4px;color:var(--portfolio-ink);font-size:13px;font-weight:800}.eng-exact-app .accounting-project-financial{display:flex;flex-direction:column;gap:12px;min-height:0;background:transparent}.eng-exact-app .accounting-project-financial__head{display:flex;align-items:flex-start;gap:12px;padding:4px 2px 0}.eng-exact-app .accounting-project-financial__head h2{margin:0;font-size:18px;font-weight:800;letter-spacing:-.02em}.eng-exact-app .accounting-project-financial__head p{margin:4px 0 0;color:var(--muted);font-size:12px}.eng-exact-app .accounting-project-financial__back{border:1px solid var(--line);background:#fff;color:var(--text);border-radius:999px;padding:6px 12px;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap}@media(max-width:1100px){.eng-exact-app .projects-portfolio--financial .projects-portfolio-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.eng-exact-app .projects-portfolio--financial .projects-portfolio-metrics,.eng-exact-app .projects-portfolio-finance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.eng-req-view-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12040;display:grid;place-items:center;padding:20px;justify-content:center;align-items:center;background:#0f172a6b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);overflow:hidden;overscroll-behavior:none}.eng-req-view-dialog{width:min(780px,calc(100vw - 40px));height:auto;max-height:min(80vh,620px);min-height:0;display:flex;flex-direction:column;overflow:hidden;border-radius:16px;border:1px solid #dbe2ea;background:var(--card, #fff);box-shadow:0 24px 60px #0f172a33}.eng-req-view-head{display:flex;flex-direction:column;align-items:stretch;gap:0;flex:0 0 auto;padding:12px 16px 10px;border-bottom:1px solid #eef1f4;background:linear-gradient(180deg,#faf8f4,#fff)}.eng-req-view-head-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.eng-req-view-head-main{min-width:0}.eng-req-view-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.eng-req-view-title{margin:0;font-size:var(--fs-lg, 18px);line-height:1.2;letter-spacing:-.02em;font-weight:600;color:#0f172a}.eng-req-view-id{color:var(--accent-base, #8c6a24);font-weight:700}.eng-req-view-status{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-size:var(--fs-xs, 11px);font-weight:700;line-height:1.2;border:1px solid transparent}.eng-req-view-status--ok{color:#166534;background:#dcfce7;border-color:#bbf7d0}.eng-req-view-status--pending{color:#92400e;background:#fef3c7;border-color:#fde68a}.eng-req-view-status--progress{color:#1d4ed8;background:#dbeafe;border-color:#bfdbfe}.eng-req-view-status--bad{color:#991b1b;background:#fee2e2;border-color:#fecaca}.eng-req-view-head-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.eng-req-view-close{width:34px;height:34px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;color:#64748b;cursor:pointer;display:grid;place-items:center;flex-shrink:0;font-size:18px;line-height:1}.eng-req-view-close:hover{background:#f8fafc;border-color:#cbd5e1;color:#1f2937}.eng-req-view-body{padding:12px 14px 14px;overflow-y:auto;flex:1;min-height:0;background:#f7f8f7;-webkit-overflow-scrolling:touch}.eng-req-view-approval{background:#fff;border:1px solid #dbe2ea;border-radius:12px;padding:14px 14px 12px}.eng-req-view-approval h3{margin:0 0 8px;font-size:13px;font-weight:700}.eng-req-view-overlay .eng-req-view-btn:focus-visible{outline:2px solid var(--accent-base, #8c6a24);outline-offset:2px}.eng-req-view-overlay .eng-req-view-btn{border:1px solid #dbe2ea;background:#fff;color:#0f172a;border-radius:8px;padding:7px 10px;font-size:var(--fs-button);font-weight:600;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.eng-req-view-overlay .eng-req-view-btn:hover:not(:disabled){background:#f0f4f8}.eng-req-view-overlay .eng-req-view-btn:disabled{opacity:.55;cursor:not-allowed}.eng-req-view-overlay .eng-req-view-btn--primary{background:var(--accent-base, #8c6a24);border-color:var(--accent-base, #8c6a24);color:#fff}.eng-req-view-overlay .eng-req-view-btn--primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent-base, #8c6a24) 88%,#000);color:#fff}.eng-req-view-overlay .eng-req-view-btn--danger{background:#b42318;border-color:#b42318;color:#fff}.eng-req-view-overlay .eng-req-view-btn--danger:hover:not(:disabled){background:#9b1c14;color:#fff}.eng-req-view-overlay{z-index:13000}.eng-req-view-overlay{display:grid;place-items:center;padding:20px;justify-content:center;align-items:center;background:#0f172a6b}.eng-req-view-overlay .eng-req-view-dialog{width:min(640px,calc(100vw - 32px));height:auto;max-height:min(90vh,820px);border-radius:16px;border:1px solid #dbe2ea;box-shadow:0 24px 60px #0f172a33;animation:none}.eng-req-view-overlay .eng-req-view-dialog{width:min(780px,calc(100vw - 40px));height:auto;max-height:min(80vh,620px);overflow-x:hidden}.eng-req-view-overlay .eng-req-view-head{padding:12px 16px 10px}.eng-req-view-overlay .eng-req-view-head .eng-req-view-head-row{align-items:center}.eng-req-view-overlay .eng-req-view-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.eng-req-view-overlay .eng-req-view-body{padding:12px 14px 14px;background:#f7f8f7;overflow-x:hidden;min-width:0}.eng-req-view-overlay .eng-req-view-head .eng-req-view-title{font-size:var(--fs-lg, 18px);font-weight:600;color:#0f172a}.eng-req-view-overlay .eng-req-view-id{color:var(--accent-base, #8c6a24);font-weight:700}.eng-req-view-overlay .eng-req-view-head .eng-req-view-status{font-size:var(--fs-xs, 11px);font-weight:700}.eng-req-view-overlay .eng-req-view-detail{display:flex;flex-direction:column;gap:14px;font-family:inherit}.eng-req-view-overlay .eng-req-view-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #fcd34d;border-radius:10px;background:#fffbeb}.eng-req-view-overlay .eng-req-view-actions-copy{margin:0;flex:1 1 220px;font-size:13px;line-height:1.4;color:#92400e}.eng-req-view-overlay .eng-req-view-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.95fr);gap:12px;align-items:start;min-width:0}.eng-req-view-overlay .eng-req-view-main{display:flex;flex-direction:column;gap:12px;min-width:0}.eng-req-view-overlay .eng-req-view-review-slot{margin-top:10px}.eng-req-view-overlay .eng-req-view-head-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.eng-req-view-overlay .eng-req-view-review-slot-btn{width:auto;min-width:88px;padding:6px 14px}.eng-req-view-overlay .eng-req-view-side{min-width:0;display:flex;flex-direction:column;gap:12px;position:sticky;top:0}.eng-req-view-overlay .eng-req-view-side .eng-req-view-comments{margin-top:0;padding:12px 12px 10px;border:1px solid #dbe2ea;border-radius:12px;background:#fff;box-shadow:0 1px 2px #0f172a0a}.eng-req-view-overlay .eng-req-view-card{background:#fff;border:1px solid #dbe2ea;border-radius:12px;padding:14px 14px 12px;box-shadow:0 1px 2px #0f172a0a}.eng-req-view-overlay .eng-req-view-kicker{display:inline-flex;align-items:center;gap:8px;margin-bottom:6px;color:#64748b;font-size:var(--fs-caption, 11px);font-weight:600;letter-spacing:.05em;text-transform:uppercase}.eng-req-view-overlay .eng-req-view-headline{margin:0 0 10px;font-size:var(--fs-lg, 18px);font-weight:600;color:#0f172a;line-height:1.35}.eng-req-view-overlay .eng-req-view-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}.eng-req-view-overlay .eng-req-view-fact{display:flex;flex-direction:column;gap:4px;min-width:0}.eng-req-view-overlay .eng-req-view-fact-label{font-size:var(--fs-caption, 11px);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.eng-req-view-overlay .eng-req-view-fact-value{font-size:var(--fs-base, 14px);font-weight:500;color:#0f172a;word-break:break-word}.eng-req-view-overlay .eng-req-view-fact-value{display:flex;align-items:center;gap:6px;min-width:0}.eng-req-view-overlay .eng-req-view-fact-value .eng-review-count-change{display:inline-flex;margin-left:auto;color:#0f172a;cursor:pointer}.eng-req-view-overlay .eng-req-view-fact-value.is-emphasis,.eng-req-view-overlay .eng-req-view-date{color:#b42318;font-weight:500}.eng-req-view-overlay .eng-req-view-date{display:inline-flex;align-items:center;gap:6px}.eng-req-view-overlay .eng-req-view-reason{margin-top:16px;display:flex;flex-direction:column;gap:8px}.eng-req-view-overlay .eng-req-view-reason p{margin:0;padding:12px 14px;border-radius:10px;border:1px solid #e2e8f0;background:color-mix(in srgb,var(--accent-base, #8c6a24) 6%,#fff);color:#0f172a;font-size:var(--fs-base, 14px);font-weight:400;line-height:1.55}.eng-req-view-overlay .eng-req-view-card-title{margin:0 0 12px;font-size:var(--fs-md, 16px);font-weight:600;color:#0f172a}.eng-req-view-overlay .eng-req-view-empty-docs{margin:0;color:#64748b;font-size:var(--fs-sm, 13px);font-weight:400}.eng-req-view-overlay .eng-req-view-doc{width:100%;display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #dbe2ea;border-radius:10px;background:#fff;text-align:left}.eng-req-view-overlay .eng-req-view-doc-open{flex:1;min-width:0;display:flex;align-items:center;gap:12px;border:0;background:transparent;padding:0;margin:0;text-align:left;cursor:pointer;font:inherit;color:inherit}.eng-req-view-overlay .eng-req-view-doc-open:hover .eng-req-view-doc-copy b{text-decoration:underline}.eng-req-view-overlay .eng-req-view-doc:hover{background:color-mix(in srgb,var(--accent-base, #8c6a24) 8%,#fff)}.eng-req-view-overlay .eng-req-view-doc-download{display:grid;place-items:center;width:36px;height:36px;margin-left:auto;flex-shrink:0;border:0;background:transparent;border-radius:8px;color:var(--accent-base, #8c6a24);cursor:pointer;padding:0}.eng-req-view-overlay .eng-req-view-doc-download:hover{background:color-mix(in srgb,var(--accent-base, #8c6a24) 14%,#fff)}.eng-req-view-overlay .eng-req-view-doc-download:disabled{opacity:.55;cursor:wait}.eng-req-view-overlay .eng-req-view-doc-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.eng-req-view-overlay .eng-req-view-doc-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}.eng-req-view-overlay .eng-req-view-doc-action{border:0;background:transparent;color:var(--accent-base, #8c6a24);font:inherit;font-size:12px;font-weight:700;cursor:pointer;padding:0 2px}.eng-req-view-overlay .eng-req-view-doc-action:hover{text-decoration:underline}.eng-req-view-overlay .eng-req-view-doc-icon{width:40px;height:40px;border-radius:8px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent-base, #8c6a24) 14%,#fff);color:var(--accent-base, #8c6a24);flex-shrink:0}.eng-req-view-overlay .eng-req-view-doc-copy b{font-size:var(--fs-sm, 13px);font-weight:600;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eng-req-view-overlay .eng-req-view-doc-copy small{font-size:var(--fs-caption, 11px);font-weight:400;color:#64748b}.eng-req-view-overlay .fm-mvp-approval--mvp{background:#fff;border:1px solid #dbe2ea;border-radius:12px;padding:12px 12px 10px;box-shadow:0 1px 2px #0f172a0a;min-width:0;overflow:hidden}.eng-req-view-overlay .fm-mvp-approval--mvp h3{margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid #e2e8f0;font-size:13px;font-weight:650;color:#0f172a}.eng-req-view-overlay .fm-mvp-approval-cycle{display:flex;flex-direction:column;gap:8px;margin:0 0 12px}.eng-req-view-overlay .fm-mvp-approval-cycle-item{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc}.eng-req-view-overlay .fm-mvp-approval-cycle-item--returned{border-color:#fed7aa;background:#fff7ed}.eng-req-view-overlay .fm-mvp-approval-cycle-item--resubmitted{border-color:#fde047;background:#fefce8}.eng-req-view-overlay .fm-mvp-approval-cycle-badge{flex-shrink:0;padding:2px 7px;border-radius:999px;font-size:9px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;background:#fff;border:1px solid currentColor}.eng-req-view-overlay .fm-mvp-approval-cycle-item--returned .fm-mvp-approval-cycle-badge{color:#9a3412}.eng-req-view-overlay .fm-mvp-approval-cycle-item--resubmitted .fm-mvp-approval-cycle-badge{color:#854d0e}.eng-req-view-overlay .fm-mvp-approval-cycle-copy{min-width:0}.eng-req-view-overlay .fm-mvp-approval-cycle-copy b{display:block;font-size:12px;color:#0f172a}.eng-req-view-overlay .fm-mvp-approval-cycle-copy small{display:block;color:#64748b;font-size:10px}.eng-req-view-overlay .fm-mvp-approval-cycle-copy p{margin:4px 0 0;font-size:11px;line-height:1.35;color:#475569}.eng-req-view-overlay .fm-mvp-approval-mvp-list{list-style:none;margin:0;padding:0 4px 0 20px;position:relative;min-width:0;overflow:hidden}.eng-req-view-overlay .fm-mvp-approval-mvp-step{position:relative;margin-bottom:10px;background:transparent}.eng-req-view-overlay .fm-mvp-approval-mvp-step:not(:last-child):after{content:"";position:absolute;left:-14px;top:16px;bottom:-10px;width:2px;background:#d5dde6;z-index:0}.eng-req-view-overlay .fm-mvp-approval-mvp-step:last-child{margin-bottom:0}.eng-req-view-overlay .fm-mvp-approval-mvp-dot{position:absolute;left:-20px;top:2px;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid #9aa7b5;display:grid;place-items:center;z-index:1;color:#fff}.eng-req-view-overlay .fm-mvp-approval-mvp-step.is-done .fm-mvp-approval-mvp-dot{background:var(--accent-base, #8c6a24);border-color:var(--accent-base, #8c6a24)}.eng-req-view-overlay .fm-mvp-approval-mvp-step.is-current .fm-mvp-approval-mvp-dot{border-color:var(--accent-base, #8c6a24);background:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-base, #8c6a24) 22%,transparent)}.eng-req-view-overlay .fm-mvp-approval-mvp-step.is-pending{opacity:.72}.eng-req-view-overlay .fm-mvp-approval-mvp-kicker{display:block;margin-bottom:2px;font-size:10px;font-weight:650;letter-spacing:.05em;text-transform:uppercase;color:#64748b}.eng-req-view-overlay .fm-mvp-approval-mvp-card .fm-mvp-approval-mvp-kicker{color:var(--accent-base, #8c6a24)}.eng-req-view-overlay .fm-mvp-approval-mvp-plain-row{margin-top:2px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-width:0}.eng-req-view-overlay .fm-mvp-approval-mvp-who{min-width:0;flex:1 1 auto;overflow:hidden}.eng-req-view-overlay .fm-mvp-approval-mvp-card .fm-mvp-approval-mvp-plain-row,.eng-req-view-overlay .fm-mvp-approval-mvp-card .fm-mvp-approval-mvp-meta{align-items:center}.eng-req-view-overlay .fm-mvp-approval-mvp-plain b,.eng-req-view-overlay .fm-mvp-approval-mvp-person b{display:block;font-size:12px;font-weight:650;color:#0f172a;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eng-req-view-overlay .fm-mvp-approval-mvp-event{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;font-size:9px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;vertical-align:middle;color:#9a3412;background:#fff7ed}.eng-req-view-overlay .fm-mvp-approval-mvp-plain small,.eng-req-view-overlay .fm-mvp-approval-mvp-person small{display:block;color:#64748b;font-size:10px;font-weight:500;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eng-req-view-overlay .fm-mvp-approval-mvp-time{display:flex;flex-direction:column;align-items:flex-end;gap:1px;flex:0 1 auto;min-width:0;font-size:10px;font-weight:400;color:#64748b;font-variant-numeric:tabular-nums;line-height:1.25;text-align:right;white-space:nowrap}.eng-req-view-overlay .fm-mvp-approval-mvp-card{margin-top:2px;border:1px solid color-mix(in srgb,var(--accent-base, #8c6a24) 28%,#e8e4dc);border-radius:10px;background:color-mix(in srgb,var(--accent-base, #8c6a24) 8%,#fff);padding:10px}.eng-req-view-overlay .fm-mvp-approval-mvp-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:6px;margin-bottom:8px;border-bottom:1px solid color-mix(in srgb,var(--accent-base, #8c6a24) 18%,#e8e4dc)}.eng-req-view-overlay .fm-mvp-approval-mvp-pending{font-size:10px;font-weight:650;padding:2px 7px;border-radius:999px;background:color-mix(in srgb,var(--accent-base, #8c6a24) 14%,#fff);color:var(--accent-base, #8c6a24)}.eng-req-view-overlay .fm-mvp-approval-mvp-person{display:flex;align-items:flex-start;gap:8px}.eng-req-view-overlay .fm-mvp-approval-mvp-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--accent-base, #8c6a24);color:#fff;font-size:12px;font-weight:650;flex-shrink:0}.eng-req-view-overlay .fm-mvp-approval-mvp-copy{flex:1;min-width:0}.eng-req-view-overlay .fm-mvp-approval-mvp-tools{display:flex;align-items:center;gap:8px;margin-top:8px}.eng-req-view-overlay .fm-mvp-approval-mvp-meta{display:flex;align-items:flex-start;gap:6px;flex:0 0 auto;max-width:46%}.eng-req-view-overlay .fm-mvp-approval-mvp-note{position:relative;display:inline-grid;place-items:center;width:26px;height:26px;margin:0;padding:0;border:0;border-radius:999px;color:var(--accent-base, #8c6a24);background:color-mix(in srgb,var(--accent-base, #8c6a24) 10%,#fff);cursor:pointer;flex-shrink:0}.eng-req-view-overlay .fm-mvp-approval-mvp-note:hover,.eng-req-view-overlay .fm-mvp-approval-mvp-note:focus-visible{background:color-mix(in srgb,var(--accent-base, #8c6a24) 18%,#fff)}.eng-req-view-overlay .fm-mvp-approval-mvp-step.is-returned .fm-mvp-approval-mvp-dot,.eng-req-view-overlay .fm-mvp-approval-mvp-step.is-escalated .fm-mvp-approval-mvp-dot{background:#b45309;border-color:#b45309}.eng-req-view-overlay .fm-mvp-approval-contact--icons{margin-top:0;gap:6px}.eng-req-view-overlay .fm-mvp-contact-icon{position:relative;display:grid;place-items:center;width:28px;height:28px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent-base, #8c6a24) 35%,#e8e4dc);background:#fff;color:var(--accent-base, #8c6a24);text-decoration:none}.eng-req-view-overlay .fm-mvp-contact-icon:hover{background:color-mix(in srgb,var(--accent-base, #8c6a24) 10%,#fff)}.eng-req-view-overlay .fm-mvp-contact-icon[data-phone]:hover:after,.eng-req-view-overlay .fm-mvp-contact-icon[data-phone]:focus-visible:after{content:attr(data-phone);position:absolute;left:50%;bottom:calc(100% + 6px);transform:translate(-50%);white-space:nowrap;padding:5px 8px;background:#0f172a;color:#fff;font-size:11px;font-weight:600;border-radius:6px;z-index:6}.eng-req-view-overlay .fm-mvp-approval-mvp-card .fm-mvp-approval-contact{margin-top:0;padding-top:0;border-top:0}.eng-req-view-overlay .fm-mvp-approval-mvp-card .fm-mvp-contact-btn{flex:1;justify-content:center;color:var(--accent-base, #8c6a24);border-color:color-mix(in srgb,var(--accent-base, #8c6a24) 35%,#e8e4dc);background:#fff;font-weight:600;font-size:10px;padding:4px 8px}.eng-req-view-overlay .fm-mvp-approval-mvp-card .fm-mvp-contact-btn:hover{background:color-mix(in srgb,var(--accent-base, #8c6a24) 10%,#fff)}@media(max-width:900px){.eng-req-view-overlay .eng-req-view-layout{grid-template-columns:1fr}.eng-req-view-overlay .eng-req-view-side{position:static}.eng-req-view-overlay .eng-req-view-facts{grid-template-columns:1fr}}.eng-req-view-overlay .fm-mvp-approval--form{border:1px solid color-mix(in srgb,var(--accent-base, #8c6a24) 28%,#e8e4dc);background:color-mix(in srgb,var(--accent-base, #8c6a24) 8%,#fff);border-radius:8px;padding:10px 12px}.eng-req-view-overlay .fm-mvp-approval--form h4{margin:0 0 4px;color:var(--accent-base, #8c6a24);font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.eng-req-view-overlay .fm-mvp-approval-contact{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}.eng-req-view-overlay .fm-mvp-contact-btn{display:inline-flex;align-items:center;padding:5px 8px;border-radius:6px;border:1px solid color-mix(in srgb,var(--accent-base, #8c6a24) 35%,#e8e4dc);background:#fff;color:var(--accent-base, #8c6a24);font-size:10px;font-weight:700;text-decoration:none;cursor:pointer;transition:background-color .2s ease}.eng-req-view-overlay .fm-mvp-contact-btn:hover{background:color-mix(in srgb,var(--accent-base, #8c6a24) 10%,#fff)}.eng-req-view-overlay .fm-mvp-contact-btn[aria-disabled=true]{color:#475569}.eng-req-view-overlay .fm-mvp-approval-hint{margin:6px 0 0;font-size:10px;color:#b42318}.eng-req-view-overlay .fm-mvp-approval--detail h3{margin:0 0 12px;font-size:var(--fs-md)}.eng-req-view-overlay .fm-mvp-approval-timeline{list-style:none;margin:0;padding:0 0 0 18px;border-left:none}.eng-req-view-overlay .fm-mvp-approval-step{position:relative;margin-bottom:14px;background:transparent}.eng-req-view-overlay .fm-mvp-approval-step:not(:last-child):after{content:"";position:absolute;left:-18px;top:14px;bottom:-14px;width:2px;background:#d5dde6;z-index:0}.eng-req-view-overlay .fm-mvp-approval-step:last-child{margin-bottom:0}.eng-req-view-overlay .fm-mvp-approval-step:before{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid #9aa7b5;left:-23px;top:2px;z-index:1}.eng-req-view-overlay .fm-mvp-approval-step.is-done:before{background:var(--accent-base, #8c6a24);border-color:var(--accent-base, #8c6a24)}.eng-req-view-overlay .fm-mvp-approval-step.is-current:before{background:#fff;border-color:var(--accent-base, #8c6a24)}.eng-req-view-overlay .fm-mvp-approval-step b{display:block;font-size:12px;font-weight:650;color:#0f172a}.eng-req-view-overlay .fm-mvp-approval-step small{color:#475569;font-size:10px}@media(prefers-reduced-motion:reduce){.eng-req-view-overlay .eng-req-view-btn{transition:none}}.eng-req-view-overlay .eng-req-view-reject-box{margin-top:14px;padding:14px 16px 15px;border-radius:14px;background:linear-gradient(90deg,#fef2f2,#fff7f7);border:1px solid #fecaca;border-left:4px solid #ef4444;box-shadow:0 1px #ef444414}.eng-req-view-overlay .eng-req-view-reject-label{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#b91c1c;margin-bottom:6px}.eng-req-view-overlay .eng-req-view-reject-label:before{content:"!";width:18px;height:18px;border-radius:999px;background:#fee2e2;color:#b91c1c;font-size:12px;font-weight:800;display:grid;place-items:center;flex-shrink:0}.eng-req-view-overlay .eng-req-view-reject-text{margin:0;font-size:14px;line-height:1.55;color:#7f1d1d;font-weight:500}.eng-req-view-overlay .eng-req-view-reject-text-empty{color:#94a3b8;font-style:italic;font-weight:500}.eng-req-view-overlay .eng-req-view-comments{margin-top:12px;padding-top:12px;border-top:1px solid #eef1f4}.eng-req-view-overlay .eng-req-view-comments-title{margin:0 0 8px;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#8b6d45}.eng-req-view-overlay .eng-req-view-comments-list{display:flex;flex-direction:column;gap:6px}.eng-req-view-overlay .eng-req-view-comment{padding:7px 9px;border-radius:9px;border:1px solid #e8e4dc;background:#fff;box-shadow:0 1px 2px #0f172a08}.eng-req-view-overlay .eng-req-view-comment--approved{border-left:3px solid #22c55e}.eng-req-view-overlay .eng-req-view-comment--returned{border-left:3px solid #f59e0b}.eng-req-view-overlay .eng-req-view-comment--resubmitted{border-left:3px solid #ca8a04}.eng-req-view-overlay .eng-req-view-comment--rejected{border-left:3px solid #ef4444}.eng-req-view-overlay .eng-req-view-comment--reviewed{border-left:3px solid #8b6d45}.eng-req-view-overlay .eng-req-view-comment-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.eng-req-view-overlay .eng-req-view-comment-role{font-size:11px;font-weight:800;color:#1f2937;letter-spacing:.01em}.eng-req-view-overlay .eng-req-view-comment-outcome{flex-shrink:0;padding:2px 6px;border-radius:999px;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;line-height:1.2}.eng-req-view-overlay .eng-req-view-comment-outcome--approved{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.eng-req-view-overlay .eng-req-view-comment-outcome--returned{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}.eng-req-view-overlay .eng-req-view-comment-outcome--resubmitted{background:#fef9c3;color:#854d0e;border:1px solid #fde047}.eng-req-view-overlay .eng-req-view-comment-outcome--rejected{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.eng-req-view-overlay .eng-req-view-comment-outcome--reviewed{background:#f5f1ea;color:#6b4f2a;border:1px solid #e6d7c3}.eng-req-view-overlay .eng-req-view-comment-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:4px;min-width:0}.eng-req-view-overlay .eng-req-view-comment-reviewer{font-size:10px;font-weight:600;color:#64748b;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eng-req-view-overlay .eng-req-view-comment-sep{color:#cbd5e1;font-size:10px;line-height:1}.eng-req-view-overlay .eng-req-view-comment-time{font-size:9px;font-weight:500;color:#94a3b8;font-variant-numeric:tabular-nums;white-space:nowrap}.eng-req-view-overlay .eng-req-view-comment-text{margin:0;padding:6px 8px;border-radius:7px;background:#faf8f5;border:1px solid #efe8dc;font-size:11px;line-height:1.4;color:#374151;word-break:break-word}.eng-exact-app .pm-rpt-page{overflow:auto}.eng-exact-app .pm-rpt-sub{margin:3px 0 0;font-size:12px;color:var(--muted)}.eng-exact-app .pm-rpt-back{border:0;background:transparent;color:var(--forest);font:700 11px var(--font-sans);padding:0 0 6px;cursor:pointer}.eng-exact-app .pm-rpt-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.eng-exact-app .pm-rpt-card{background:var(--panel,#fff);border:1px solid var(--line);border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:8px;min-height:132px}.eng-exact-app .pm-rpt-card h3{margin:0;font-size:13px;font-weight:750;color:var(--ink)}.eng-exact-app .pm-rpt-card p{margin:0;flex:1;font-size:11px;color:var(--muted);line-height:1.45}.eng-exact-app .pm-rpt-card .module-btn{align-self:flex-start}.eng-exact-app .pm-rpt-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}.eng-exact-app .pm-rpt-filters label{display:flex;flex-direction:column;gap:4px;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.eng-exact-app .pm-rpt-filters select,.eng-exact-app .pm-rpt-filters input{min-width:160px;border:1px solid var(--line);border-radius:6px;padding:7px 8px;font:12px var(--font-sans);color:var(--ink);background:#fff}.eng-exact-app .pm-rpt-kpis{gap:8px;margin-bottom:10px}.eng-exact-app .pm-rpt-kpi{background:var(--panel,#fff);border:1px solid var(--line);border-radius:8px;padding:10px 12px}.eng-exact-app .pm-rpt-kpi b{display:block;font-size:18px;color:var(--ink)}.eng-exact-app .pm-rpt-kpi span{font-size:10px;color:var(--muted)}.eng-exact-app .pm-rpt-panel{background:var(--panel,#fff);border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:12px}.eng-exact-app .pm-rpt-panel-head{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line)}.eng-exact-app .pm-rpt-panel-head b{font-size:12px}.eng-exact-app .pm-rpt-panel-head small{font-size:10px;color:var(--muted)}.eng-exact-app .pm-rpt-table-wrap{overflow:auto}.eng-exact-app .pm-rpt-panel table{width:100%;border-collapse:collapse}.eng-exact-app .pm-rpt-panel th{font-size:9px;letter-spacing:.04em;text-align:left;color:var(--muted);background:var(--panel-soft,#f8fafb);padding:8px 10px}.eng-exact-app .pm-rpt-panel td{font-size:12px;padding:9px 10px;border-top:1px solid var(--line);vertical-align:middle}.eng-exact-app .pm-rpt-empty{text-align:center;color:var(--muted);padding:18px 10px!important}@media(max-width:1000px){.eng-exact-app .pm-rpt-kpis{grid-template-columns:1fr 1fr}}@media(max-width:700px){.eng-exact-app .pm-rpt-kpis{grid-template-columns:1fr}}.eng-exact-app .proc-compare-scroll--compact,#inventory .proc-compare-scroll--compact,.proc-cmp-modal .proc-compare-scroll--compact,.eng-exact-app .proc-compare--compact,#inventory .proc-compare--compact,.proc-cmp-modal .proc-compare--compact{width:fit-content;max-width:100%}.eng-exact-app .proc-compare--padded,.eng-exact-app .proc-compare--full,#inventory .proc-compare--padded,#inventory .proc-compare--full,.proc-cmp-modal .proc-compare--padded,.proc-cmp-modal .proc-compare--full{width:100%}.eng-exact-app .proc-compare__head--empty,.eng-exact-app .proc-compare__cell--empty,#inventory .proc-compare__head--empty,#inventory .proc-compare__cell--empty,.proc-cmp-modal .proc-compare__head--empty,.proc-cmp-modal .proc-compare__cell--empty{display:flex;align-items:center;justify-content:center;min-height:64px;background:#faf9f7;color:#94a3b8;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;border-right:1px dashed color-mix(in srgb,var(--line,#e8e2d6) 85%,transparent)}.eng-exact-app .proc-compare__head--empty,#inventory .proc-compare__head--empty,.proc-cmp-modal .proc-compare__head--empty{border-bottom:1px dashed color-mix(in srgb,var(--line,#e8e2d6) 85%,transparent)}.proc-cmp-modal .proc-cmp-gallery--compact,.eng-exact-app .proc-cmp-gallery--compact,#inventory .proc-cmp-gallery--compact{width:fit-content;max-width:100%}.proc-cmp-modal .proc-cmp-gallery--padded,.proc-cmp-modal .proc-cmp-gallery--full,.eng-exact-app .proc-cmp-gallery--padded,.eng-exact-app .proc-cmp-gallery--full,#inventory .proc-cmp-gallery--padded,#inventory .proc-cmp-gallery--full{width:100%}.proc-cmp-modal .proc-cmp-gallery-card--empty,.eng-exact-app .proc-cmp-gallery-card--empty,#inventory .proc-cmp-gallery-card--empty{border-style:dashed;background:#faf9f7;min-height:320px}.proc-cmp-modal .proc-cmp-gallery-empty,.eng-exact-app .proc-cmp-gallery-empty,#inventory .proc-cmp-gallery-empty{display:flex;align-items:center;justify-content:center;flex:1;min-height:280px;color:#94a3b8;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.eng-review-approval-host .fm-mvp-approval--mvp{margin:0;padding:0;background:transparent;border:none;box-shadow:none}.eng-review-approval-host .fm-mvp-approval--mvp h3{margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid #e2e8f0;font-size:13px;font-weight:650;color:#0f172a}.eng-review-approval-host .fm-mvp-approval-mvp-list{list-style:none;margin:0;padding:0 4px 0 20px;position:relative;min-width:0;overflow:hidden}.eng-review-approval-host .fm-mvp-approval-mvp-step{position:relative;margin-bottom:10px}.eng-review-approval-host .fm-mvp-approval-mvp-step:not(:last-child):after{content:"";position:absolute;left:-14px;top:16px;bottom:-10px;width:2px;background:#d5dde6}.eng-review-approval-host .fm-mvp-approval-mvp-dot{position:absolute;left:-20px;top:2px;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid #9aa7b5;display:grid;place-items:center;z-index:1;color:#fff}.eng-review-approval-host .fm-mvp-approval-mvp-step.is-done .fm-mvp-approval-mvp-dot{background:var(--accent-base, #8c6a24);border-color:var(--accent-base, #8c6a24)}.eng-review-approval-host .fm-mvp-approval-mvp-step.is-current .fm-mvp-approval-mvp-dot{border-color:var(--accent-base, #8c6a24);background:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-base, #8c6a24) 22%,transparent)}.eng-review-approval-host .fm-mvp-approval-mvp-step.is-pending{opacity:.72}.eng-review-approval-host .fm-mvp-approval-mvp-plain-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-width:0}.eng-review-approval-host .fm-mvp-approval-mvp-who{min-width:0;flex:1 1 auto;overflow:hidden}.eng-review-approval-host .fm-mvp-approval-mvp-card .fm-mvp-approval-mvp-plain-row{align-items:center}.eng-review-approval-host .fm-mvp-approval-mvp-card .fm-mvp-approval-mvp-meta{display:flex;align-items:center;gap:6px;flex:0 0 auto;max-width:46%}.eng-review-approval-host .fm-mvp-approval-mvp-plain b,.eng-review-approval-host .fm-mvp-approval-mvp-person b{display:block;font-size:12px;font-weight:650;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eng-review-approval-host .fm-mvp-approval-mvp-plain small,.eng-review-approval-host .fm-mvp-approval-mvp-person small{display:block;color:#64748b;font-size:10px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eng-review-approval-host .fm-mvp-approval-mvp-event{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;font-size:9px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#9a3412;background:#fff7ed}.eng-review-approval-host .fm-mvp-approval-mvp-time{display:flex;flex-direction:column;align-items:flex-end;gap:1px;flex:0 1 auto;min-width:0;font-size:10px;color:#64748b;line-height:1.25;text-align:right;white-space:nowrap}.eng-review-approval-host .fm-mvp-approval-mvp-card{border:1px solid color-mix(in srgb,var(--accent-base, #8c6a24) 28%,#e8e4dc);border-radius:10px;background:color-mix(in srgb,var(--accent-base, #8c6a24) 8%,#fff);padding:10px}.eng-review-approval-host .fm-mvp-approval-mvp-person{display:flex;align-items:flex-start;gap:8px}.eng-review-approval-host .fm-mvp-approval-mvp-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--accent-base, #8c6a24);color:#fff;font-size:12px;font-weight:650;flex-shrink:0}.eng-review-approval-host .fm-mvp-approval-mvp-copy{flex:1;min-width:0}.eng-review-approval-host .fm-mvp-approval-mvp-tools,.eng-review-approval-host .fm-mvp-approval-mvp-meta{display:flex;align-items:center;gap:8px}.eng-review-approval-host .fm-mvp-approval-mvp-tools{margin-top:8px}.eng-review-approval-host .fm-mvp-approval-mvp-note{position:relative;display:inline-grid;place-items:center;width:26px;height:26px;margin:0;padding:0;border:0;border-radius:999px;color:var(--accent-base, #8c6a24);background:color-mix(in srgb,var(--accent-base, #8c6a24) 10%,#fff);cursor:pointer}.eng-review-approval-host .fm-mvp-approval-mvp-note:hover,.eng-review-approval-host .fm-mvp-approval-mvp-note:focus-visible{background:color-mix(in srgb,var(--accent-base, #8c6a24) 18%,#fff)}.eng-review-approval-host .fm-mvp-approval-contact--icons{display:flex;gap:6px}.eng-review-approval-host .fm-mvp-contact-icon{position:relative;display:grid;place-items:center;width:28px;height:28px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent-base, #8c6a24) 35%,#e8e4dc);background:#fff;color:var(--accent-base, #8c6a24);text-decoration:none}.eng-review-approval-host .fm-mvp-contact-icon[data-phone]:hover:after,.eng-review-approval-host .fm-mvp-contact-icon[data-phone]:focus-visible:after{content:attr(data-phone);position:absolute;left:50%;bottom:calc(100% + 6px);transform:translate(-50%);white-space:nowrap;padding:5px 8px;border-radius:6px;background:#0f172a;color:#fff;font-size:11px;font-weight:600;z-index:6}.fm-mvp-comment-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:13120;display:flex;align-items:center;justify-content:center;padding:20px;background:#0f172a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.fm-mvp-comment-modal{width:min(420px,calc(100vw - 32px));max-height:min(80vh,560px);display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #dbe2ea;border-radius:16px;box-shadow:0 24px 60px #0f172a38}.fm-mvp-comment-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px 12px;border-bottom:1px solid #eef1f4}.fm-mvp-comment-head h3{margin:0;font-size:15px;font-weight:700;color:#0f172a}.fm-mvp-comment-sub{margin:2px 0 0;font-size:12px;font-weight:500;color:#64748b}.fm-mvp-comment-close{display:grid;place-items:center;width:28px;height:28px;margin:0;padding:0;border:0;border-radius:8px;background:transparent;color:#64748b;cursor:pointer}.fm-mvp-comment-close:hover{background:#f1f5f9;color:#0f172a}.fm-mvp-comment-body{padding:12px 16px;overflow:auto;min-height:0}.fm-mvp-comment-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.fm-mvp-comment-item{padding:10px 12px;border-radius:10px;background:#f8fafc;border:1px solid #e8eef4}.fm-mvp-comment-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:6px}.fm-mvp-comment-item-head b{display:block;font-size:12px;font-weight:650;color:#0f172a}.fm-mvp-comment-item-head small,.fm-mvp-comment-item-head time{font-size:11px;font-weight:500;color:#64748b}.fm-mvp-comment-item p,.fm-mvp-comment-empty{margin:0;font-size:13px;line-height:1.45;color:#334155;white-space:pre-wrap;word-break:break-word}.fm-mvp-comment-actions{display:flex;justify-content:flex-end;padding:10px 16px 14px;border-top:1px solid #eef1f4}.fm-mvp-comment-actions .qa-btn{min-height:34px;padding:0 14px;border-radius:8px;border:1px solid #dbe2ea;background:#fff;color:#0f172a;font-size:13px;font-weight:650;cursor:pointer}:root{--accent-base: #8c6a24;--accent-glow: color-mix(in srgb, var(--accent-base) 55%, white 45%);--metal-gradient: linear-gradient( 155deg, color-mix(in srgb, var(--accent-base) 45%, white 55%) 0%, var(--accent-base) 46%, color-mix(in srgb, var(--accent-base) 78%, black 22%) 100% );--fm-forest-950: color-mix(in srgb, var(--accent-base) 82%, black 30%);--fm-forest-900: color-mix(in srgb, var(--accent-base) 88%, black 18%);--fm-forest-800: var(--accent-base);--fm-forest-700: color-mix(in srgb, var(--accent-base) 88%, white 12%);--fm-forest-600: color-mix(in srgb, var(--accent-base) 74%, white 26%);--fm-forest-100: color-mix(in srgb, var(--accent-base) 12%, white 88%);--fm-forest-50: color-mix(in srgb, var(--accent-base) 6%, white 94%);--fm-amber-700: #8a3a1c;--fm-amber-600: #c2571f;--fm-amber-100: #f7ddc9;--fm-amber-50: #fdf1e8;--fm-slate-900: #3a4541;--fm-slate-800: #4a5651;--fm-slate-700: #5b6863;--fm-slate-500: #7a8a84;--fm-slate-300: #c3d0cb;--fm-slate-200: #dde5e1;--fm-slate-100: #ffffff;--fm-slate-50: #ffffff;--fm-bg: #ffffff;--fm-radius: 14px;--fm-radius-sm: 10px;--fm-hairline: #cbd5e1;--fm-shadow-1: 0 1px 2px rgba(14, 38, 32, .05);--fm-shadow-2: 0 6px 18px rgba(14, 38, 32, .06);--fm-ease: .15s cubic-bezier(.2, .7, .3, 1)}.shell-topbar.topbar{height:52px;min-height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 12px 0 10px;gap:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent-base) 6%,white 94%),#fff);border-bottom:1px solid color-mix(in srgb,var(--accent-base) 22%,var(--fm-hairline, #e7ece9));box-shadow:none}.shell-topbar.shell-topbar--field-ops{position:relative;z-index:200;flex-shrink:0;background:linear-gradient(180deg,color-mix(in srgb,var(--accent-base) 6%,white 94%),#fff);border-bottom:1px solid color-mix(in srgb,var(--accent-base) 18%,var(--fm-hairline));box-shadow:0 1px #152f270a;overflow:visible}body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) .app.fm-exact-host .shell-topbar.shell-topbar--field-ops{background:linear-gradient(180deg,color-mix(in srgb,var(--accent-base) 6%,white 94%),#fff)}body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) .app.fm-exact-host .main{position:relative}body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) .app.fm-exact-host .content{position:relative;z-index:1;overflow-x:hidden}.shell-topbar .shell-brand.brand{display:flex;align-items:center;gap:10px;min-width:0}.shell-topbar .brand-mark-wrap{position:relative;width:36px;height:36px;border-radius:10px;flex:0 0 auto}.shell-topbar .brand-mark-wrap:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:13px;background:conic-gradient(from 0deg,transparent 0%,color-mix(in srgb,var(--accent-glow) 85%,transparent) 12%,transparent 28%,transparent 72%,color-mix(in srgb,var(--accent-glow) 60%,transparent) 88%,transparent 100%);animation:fm-brand-ring-spin 10s linear infinite;z-index:0}.shell-topbar .brand-mark{position:relative;z-index:1;width:36px;height:36px;border-radius:10px;display:block;object-fit:cover;background:#0c0c0c;border:1px solid color-mix(in srgb,var(--accent-glow) 55%,transparent);box-shadow:0 1px 3px #0e26201f}@keyframes fm-brand-ring-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.shell-topbar .brand-mark-wrap:before{animation:none}}.shell-topbar .brand-word{font-weight:700;font-size:14px;letter-spacing:-.01em;line-height:1.1;color:var(--fm-slate-700);min-width:0}.shell-topbar .brand-word small{display:block;margin-top:1px;font-size:9.5px;font-weight:700;letter-spacing:.08em;color:var(--fm-slate-500)}.shell-topbar .topbar-actions{position:relative;z-index:201;display:flex;align-items:center;gap:8px;flex:0 0 auto;overflow:visible}.shell-topbar .shell-role-badge{font-size:11px;font-weight:700;color:var(--fm-slate-700);padding:5px 10px;border-radius:999px;border:1px solid var(--fm-hairline);background:#fff}.shell-topbar .burger{width:34px;height:34px;border:1px solid var(--fm-hairline);border-radius:var(--fm-radius-sm);background:#fff;color:var(--fm-slate-700);display:none;place-items:center;flex:0 0 auto}@media(max-width:960px){.shell-topbar .burger{display:grid}.shell-topbar .shell-role-badge{display:none}}.theme-picker{position:relative}.theme-picker .icon-btn,.shell-topbar .icon-btn,.shell-topbar .notif-btn,.shell-topbar .profile-btn{position:relative;width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--fm-hairline);border-radius:var(--fm-radius-sm);background:#fff;color:var(--fm-slate-700);padding:0;cursor:pointer;transition:transform var(--fm-ease),background var(--fm-ease),border-color var(--fm-ease)}.theme-picker .icon-btn:hover,.shell-topbar .icon-btn:hover,.shell-topbar .notif-btn:hover,.shell-topbar .profile-btn:hover{background:var(--fm-forest-50);border-color:var(--fm-slate-300);transform:translateY(-1px)}.theme-picker .icon-btn.active{background:var(--fm-forest-50);border-color:var(--fm-forest-600);color:var(--fm-forest-800)}.theme-popover{position:absolute;top:calc(100% + 8px);right:0;width:236px;padding:12px;background:#fff;border:1px solid var(--fm-slate-200);border-radius:var(--fm-radius);box-shadow:var(--fm-shadow-2);z-index:400;opacity:0;transform:translateY(-6px) scale(.98);pointer-events:none;transform-origin:top right;transition:opacity var(--fm-ease),transform var(--fm-ease)}.theme-popover.show{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.theme-popover-label{font-size:9.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--fm-slate-500);margin-bottom:9px}.swatch-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:12px}.swatch{position:relative;width:100%;aspect-ratio:1;border-radius:9px;border:2px solid transparent;padding:0;cursor:pointer;transition:transform var(--fm-ease),border-color var(--fm-ease)}.swatch:hover{transform:translateY(-1px) scale(1.06)}.swatch.active{border-color:var(--fm-slate-900)}.swatch.active:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px #00000026}.theme-popover-custom{display:flex;align-items:center;gap:7px;padding-top:11px;border-top:1px solid var(--fm-slate-100)}.theme-popover-footer{display:flex;justify-content:flex-end;padding-top:11px;border-top:1px solid var(--fm-slate-100)}.theme-popover-custom label{font-size:10.5px;font-weight:700;color:var(--fm-slate-700);flex:1}.theme-popover-custom input[type=color]{width:28px;height:28px;padding:0;border:1px solid var(--fm-slate-200);border-radius:8px;background:none;cursor:pointer}.theme-reset{display:flex;align-items:center;gap:5px;height:28px;padding:0 9px;border:1px solid var(--fm-slate-200);border-radius:8px;background:#fff;color:var(--fm-slate-700);font-size:10.5px;font-weight:700;cursor:pointer}.theme-reset:hover{background:var(--fm-slate-50)}.shell-topbar .profile-btn,.eng-exact-app .profile-btn{border:none;background:transparent;box-shadow:none}.shell-topbar .profile-btn:hover,.eng-exact-app .profile-btn:hover,.shell-topbar .profile-btn[aria-expanded=true],.eng-exact-app .profile-btn[aria-expanded=true]{transform:translateY(-1px);box-shadow:none;border:none}.shell-topbar .profile-avatar,.eng-exact-app .profile-avatar{width:34px;height:34px;border-radius:50%;background:var(--metal-gradient);color:#fff;font-weight:800;font-size:11.5px;box-shadow:inset 0 1px #ffffff4d,0 1px 3px #0e262026}body.shell-field-ops .main{background:var(--fm-bg)}body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) .app{background:var(--fm-bg)}body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) .app.fm-exact-host{background:var(--fm-bg)}body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) .app.fm-exact-host .main{width:auto;max-width:none;padding:0;margin:0;flex:1 1 0;min-width:0}body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) .app.fm-exact-host .content{padding:0;background:var(--fm-bg);border:none;border-radius:0;box-shadow:none}body.shell-field-ops #fmCleanWorkspace.fm-exact{max-width:none;width:100%;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;color:var(--fm-slate-700);box-sizing:border-box;background:#fff;flex:1 1 0;min-height:0}body.shell-field-ops #fmCleanWorkspace.fm-exact.fm-mvp{gap:0;background:#f7f8f7}body.shell-field-ops #fmCleanWorkspace.fm-exact b,body.shell-field-ops #fmCleanWorkspace.fm-exact strong{font-weight:650;color:var(--fm-slate-700)}body.shell-field-ops #fmCleanWorkspace.fm-exact .fm-exact-shell{display:flex;flex-direction:column;gap:0;overflow:hidden;flex:1 1 0;min-height:0}body.shell-field-ops #fmCleanWorkspace.fm-exact .fm-sig-line{display:none}body.shell-field-ops #fmCleanWorkspace.fm-exact .fm-hero{border-radius:0;margin:0;position:relative;z-index:0;overflow:hidden;box-shadow:inset 0 1px #ffffff14}body.shell-field-ops #fmCleanWorkspace.fm-exact .fm-console,body.shell-field-ops #fmCleanWorkspace.fm-exact .fm-section-divider,body.shell-field-ops #fmCleanWorkspace.fm-exact .fm-exact-workspace{margin:10px 16px 0;box-sizing:border-box}body.shell-field-ops #fmCleanWorkspace.fm-exact .fm-exact-workspace{margin-bottom:16px}.fm-sig-line{position:relative;height:3px;border-radius:999px;overflow:hidden;background:var(--fm-forest-950);animation:fm-sig-glow 3.6s ease-in-out infinite}.fm-sig-sweep{position:absolute;top:0;bottom:0;pointer-events:none}.fm-sig-sweep-1{width:34%;background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--accent-glow) 92%,white 8%) 52%,transparent 100%);animation:fm-sig-sweep-a 3.6s cubic-bezier(.4,0,.2,1) infinite}.fm-sig-sweep-2{width:18%;opacity:.5;background:linear-gradient(90deg,transparent 0%,var(--accent-glow) 55%,transparent 100%);animation:fm-sig-sweep-b 5.4s cubic-bezier(.4,0,.2,1) infinite;animation-delay:.5s}.fm-sig-alert-dot{position:absolute;top:50%;left:-3%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--fm-amber-600);box-shadow:0 0 9px 2px color-mix(in srgb,var(--fm-amber-600) 65%,transparent);opacity:0}.fm-sig-line.has-alert .fm-sig-alert-dot{animation:fm-sig-alert-travel 2.8s linear infinite}@keyframes fm-sig-glow{0%,to{box-shadow:0 0 7px color-mix(in srgb,var(--accent-glow) 30%,transparent)}50%{box-shadow:0 0 15px 2px color-mix(in srgb,var(--accent-glow) 52%,transparent)}}@keyframes fm-sig-sweep-a{0%{transform:translate(-140%)}to{transform:translate(400%)}}@keyframes fm-sig-sweep-b{0%{transform:translate(560%)}to{transform:translate(-160%)}}@keyframes fm-sig-alert-travel{0%{opacity:0;left:-3%}8%{opacity:1}92%{opacity:1}to{opacity:0;left:103%}}@media(prefers-reduced-motion:reduce){.fm-sig-line{animation:none;box-shadow:0 0 6px color-mix(in srgb,var(--accent-glow) 30%,transparent)}.fm-sig-sweep,.fm-sig-alert-dot{animation:none;display:none}}.fm-section-divider{height:1px;margin:0;background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--accent-glow) 45%,transparent) 50%,transparent 100%)}.fm-hero{position:relative;overflow:hidden;min-height:0;max-height:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-radius:var(--fm-radius);background:var(--fm-forest-950);color:#fff}.fm-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:linear-gradient(90deg,#000,transparent 85%);mask-image:linear-gradient(90deg,#000,transparent 85%);opacity:.55}.fm-hero:after{content:"";position:absolute;z-index:0;top:-40px;right:-40px;bottom:-40px;left:-40px;background:radial-gradient(circle at 14% 48%,color-mix(in srgb,var(--accent-glow) 34%,transparent) 0%,transparent 42%),radial-gradient(circle at 78% 12%,color-mix(in srgb,var(--accent-glow) 20%,transparent) 0%,transparent 30%),radial-gradient(circle at 58% 88%,color-mix(in srgb,var(--accent-base) 22%,transparent) 0%,transparent 36%);animation:fm-hero-aurora 38s ease-in-out infinite alternate;pointer-events:none}@keyframes fm-hero-aurora{0%{transform:translate(0) scale(1)}to{transform:translate(16px,-12px) scale(1.05)}}@media(prefers-reduced-motion:reduce){.fm-hero:after{animation:none}}.fm-hero-copy{position:relative;z-index:1;min-width:0}.fm-hero-copy--row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;width:100%}.fm-hero-title-col{display:flex;flex-direction:column;gap:4px;min-width:0}.fm-eyebrow{display:flex;align-items:center;gap:7px;margin-bottom:0;flex:0 0 auto;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#fff9}.fm-live-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-glow);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-glow) 35%,transparent)}.fm-hero h1{margin:0;flex:0 0 auto;font-size:18px;font-weight:800;letter-spacing:-.02em;line-height:1.15;text-shadow:0 1px 0 rgba(0,0,0,.35),0 -1px 0 rgba(255,255,255,.06)}.fm-hero-meta-row{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:flex-end;gap:8px;min-width:0}.fm-hero-meta-tile{display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:0;max-width:220px;padding:7px 12px;border-radius:10px;background:#ffffff17;border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.fm-hero-meta-tile--engineer{max-width:min(320px,42vw)}.fm-hero-meta-tile--project{max-width:min(280px,46vw);padding:7px 12px;justify-content:center}.fm-hero-meta-tile--project .fm-hero-project-select{height:auto;min-height:0;width:100%;max-width:100%;padding:0;border:none;border-radius:0;background:transparent;color:#ffffffeb;font-size:12px;font-weight:600;box-shadow:none;outline:none;cursor:pointer}.fm-hero-meta-tile--project .fm-hero-project-select:focus,.fm-hero-meta-tile--project .fm-hero-project-select:hover{border:none;background:transparent;box-shadow:none}.fm-hero-meta-tile--engineer .fm-hero-engineer-select{height:auto;min-height:0;width:100%;max-width:100%;padding:0;border:none;border-radius:0;background:transparent;color:#ffffffeb;font-size:12px;font-weight:600;box-shadow:none;outline:none;cursor:pointer}.fm-hero-meta-tile--engineer .fm-hero-engineer-select:focus,.fm-hero-meta-tile--engineer .fm-hero-engineer-select:hover{border:none;background:transparent;box-shadow:none}.fm-hero-engineer-select option{color:#111}.fm-hero-engineer-hint{display:block;margin-top:4px;font-size:11px;font-weight:600;color:var(--muted, #64748b);line-height:1.3}.fm-crew-scope-banner{display:flex;align-items:flex-start;gap:8px;margin:0 0 12px;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--brand-soft, #eff6ff) 65%,#fff);border:1px solid color-mix(in srgb,var(--brand-border, #bfdbfe) 55%,transparent);color:var(--text-secondary, #475569);font-size:13px;line-height:1.45}.fm-crew-scope-banner strong{color:var(--text, #0f172a);font-weight:650}.fm-crew-scope-banner--mobile{margin:10px 12px 0}.fm-mobile-meta-chip--select,.ws-meta-chip--select{align-items:center}.fm-mobile-meta-select-wrap,.ws-meta-select-wrap{display:inline-flex;align-items:center;gap:6px;min-width:0}.fm-mobile-engineer-select,.ws-engineer-select{max-width:min(180px,42vw);border:none;background:transparent;color:inherit;font:inherit;font-weight:600;padding:0;cursor:pointer}.fm-mobile-engineer-select:focus,.ws-engineer-select:focus{outline:none}.proc-empty-sub{margin-top:6px;font-size:13px;color:var(--muted, #64748b);line-height:1.45}.fm-hero-meta-tile-label{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffffff7a}.fm-hero-meta-tile-value{font-size:12px;font-weight:600;color:#ffffffeb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fm-hero-meta-tile--date{max-width:none;min-width:0;gap:4px}.fm-hero-meta-tile--date .time-date-picker-wrap{margin-top:1px}.fm-hero-meta-tile--date .time-date-picker-nav,.fm-hero-meta-tile--date .time-date-picker-btn{border-color:#ffffff38;background:#ffffff1f;color:#fffffff2}.fm-hero-meta-tile--date .time-date-picker-nav:hover:not(:disabled),.fm-hero-meta-tile--date .time-date-picker-btn:hover{border-color:#ffffff61;background:#fff3;color:#fff}.fm-hero-meta-tile--date .time-date-picker-wrap.active .time-date-picker-btn{border-color:#ffffff6b;background:#ffffff38}.fm-hero-meta-tile--date .time-date-picker-label{font-size:11px;font-weight:600}.fm-attendance-date-notice{margin:0 14px 8px;padding:8px 10px;border-radius:10px;border:1px solid color-mix(in srgb,var(--fm-amber-600) 28%,var(--fm-hairline));background:color-mix(in srgb,var(--fm-amber-100) 70%,#fff);color:var(--fm-slate-700);font-size:11px;font-weight:600;line-height:1.45}.fm-mobile-date-row{display:flex;justify-content:flex-start;padding:0 12px 8px}.fm-attendance-panel--mobile .fm-attendance-date-notice{margin:0 12px 8px}.fm-hero-meta-project{font-weight:650;color:#ffffffeb;font-size:12px;padding:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fm-hero-project-select option{color:#111}.fm-hero-stats{position:relative;z-index:1;display:flex;align-items:center;gap:10px;flex:0 0 auto}.fm-hero-stat{text-align:right;padding:6px 10px;border-radius:10px;background:#ffffff12;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.fm-hero-stat span{display:block;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#ffffff80}.fm-hero-stat b{display:block;margin-top:3px;font-size:14px;font-weight:700}.fm-weather-value{display:flex!important;align-items:center;gap:5px;justify-content:flex-end;color:var(--fm-amber-100, #f7ddc9)}.fm-hero-on-site{display:flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid rgba(255,255,255,.14);border-radius:999px;font-size:11px;font-weight:700;background:#ffffff12;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.fm-status-chip{display:flex;align-items:center;gap:6px;padding:9px 14px;border:1px solid rgba(255,255,255,.14);border-radius:999px;font-size:11px;font-weight:700;background:#ffffff12;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.fm-console{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;border:1px solid var(--fm-hairline);border-radius:var(--fm-radius);box-shadow:var(--fm-shadow-1);flex-wrap:nowrap;overflow:hidden}.fm-kpi-row{display:flex;align-items:center;gap:4px;flex:1 1 0;min-width:0;flex-wrap:nowrap;overflow:hidden}.fm-console .fm-kpi--raise-alert,.fm-console .fm-quick-actions,.fm-console .fm-console-divider{flex:0 0 auto}.fm-kpi{display:flex;align-items:center;gap:6px;padding:4px 6px;min-height:34px;flex:0 1 auto;min-width:0;border:none;border-radius:10px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:transform var(--fm-ease),background var(--fm-ease)}.fm-kpi:hover{transform:translateY(-1px);background:var(--fm-slate-50)}.fm-kpi:first-child{padding-left:2px}.fm-kpi.is-active{background:color-mix(in srgb,var(--fm-forest-100) 78%,var(--fm-forest-50) 22%);box-shadow:none}.fm-kpi.is-active:hover{background:color-mix(in srgb,var(--fm-forest-100) 88%,var(--fm-forest-50) 12%)}.fm-kpi.is-active .fm-kpi-label,.fm-kpi.is-active .fm-kpi-num{color:var(--fm-forest-800)}.fm-kpi:before{content:"";width:2px;align-self:stretch;border-radius:2px;background:var(--fm-forest-700);margin-right:4px;flex-shrink:0}.fm-kpi.warn:before{background:var(--fm-amber-600)}.fm-kpi-icon{width:24px;height:24px;flex:0 0 24px;border-radius:7px;display:grid;place-items:center;background:var(--metal-gradient);color:#fff;box-shadow:inset 0 1px #ffffff4d}.fm-kpi.warn .fm-kpi-icon{background:var(--fm-amber-50);color:var(--fm-amber-700);box-shadow:none}.fm-kpi-num{font-size:16px;font-weight:700;line-height:1;letter-spacing:-.01em;color:var(--fm-slate-700)}.fm-kpi-label{margin-top:2px;font-size:9.5px;font-weight:600;color:var(--fm-slate-500);white-space:nowrap}.fm-kpi--onsite,.fm-kpi--extra-hours,.fm-kpi--action{flex-shrink:0}.fm-kpi--action{padding-right:4px;margin-left:2px}.fm-kpi--raise-alert.is-active{background:color-mix(in srgb,#fef3c7 72%,#fff7ed 28%)}.fm-kpi--raise-alert.is-active .fm-kpi-label{color:#92400e}.fm-kpi-label--solo{margin-top:0;font-size:11px;line-height:1.2}.fm-kpi-icon--alert{background:linear-gradient(145deg,#f59e0b,#d97706)}.fm-console-divider{width:1px;align-self:stretch;min-height:32px;background:var(--fm-hairline);margin:0 2px;flex:0 0 1px}.fm-quick-actions{display:flex;align-items:center;flex:0 0 auto;white-space:nowrap}.fm-quick-actions-row{display:flex;gap:6px;flex-wrap:nowrap}.fm-console .fm-qa-btn{height:32px;padding:0 10px;font-size:11px;gap:5px}.fm-exact .fm-qa-btn{display:flex;align-items:center;gap:6px;height:34px;padding:0 12px;border:1px solid var(--fm-hairline);border-radius:var(--fm-radius-sm);background:#fff;color:var(--fm-forest-800);font-size:11.5px;font-weight:650;cursor:pointer;transition:transform var(--fm-ease),background var(--fm-ease),border-color var(--fm-ease),box-shadow var(--fm-ease);white-space:nowrap}.fm-exact .fm-qa-btn:hover{background:var(--fm-forest-50);border-color:var(--fm-slate-300);transform:translateY(-1px);box-shadow:var(--fm-shadow-1)}.fm-exact .fm-qa-btn.is-active{background:var(--fm-forest-50);border-color:var(--fm-forest-600)}.fm-exact .fm-workspace-tabs--desktop{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;padding:0}.fm-exact .fm-workspace-tabs--desktop .fm-workspace-tab{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 16px;border:1px solid var(--fm-hairline);border-radius:999px;background:#fff;color:var(--fm-slate-600);font-size:12.5px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}.fm-exact .fm-workspace-tabs--desktop .fm-workspace-tab:hover:not(.is-active){border-color:var(--fm-slate-300);color:var(--fm-slate-800)}.fm-exact .fm-workspace-tabs--desktop .fm-workspace-tab.is-active{background:var(--fm-forest-50);border-color:var(--fm-forest-600);color:var(--fm-forest-800);box-shadow:var(--fm-shadow-1)}.fm-exact-workspace--raise-alert{align-items:start}.fm-exact-workspace--raise-alert .fm-col-requests{grid-column:span 3}.fm-exact .fm-raise-alert-in-attendance{grid-column:span 9;padding:0;overflow-y:auto;max-height:calc(100dvh - 240px);align-self:start}.fm-exact .fm-raise-alert-in-attendance.fm-exact-panel{overflow-y:auto}.fm-exact .fm-raise-alert-panel--standalone{padding:18px 20px 24px}.fm-exact .fm-raise-alert-panel--standalone .raise-alert-panel{gap:14px}.fm-exact .fm-raise-alert-panel--standalone .raise-alert-head{position:sticky;top:0;z-index:2;margin-bottom:14px;padding-bottom:8px;background:#fff}.fm-exact .fm-raise-panel-desktop,.fm-exact .fm-requests-panel-desktop{grid-column:1 / -1}.fm-exact-workspace{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:10px;align-items:start}.fm-exact-workspace .fm-col-attendance{grid-column:span 9}.fm-exact-workspace .fm-col-requests{grid-column:span 3}.fm-exact-workspace.fm-exact-workspace--single .fm-col-attendance,.fm-exact-workspace.fm-exact-workspace--single .fm-col-requests{grid-column:span 12}.fm-exact-workspace .fm-col-requests:has(.fm-req-panel--empty){align-self:start}.fm-exact-panel{background:#fff;border:1px solid var(--fm-hairline);border-radius:var(--fm-radius);box-shadow:var(--fm-shadow-2);overflow:hidden}.fm-exact-panel.fm-col-requests.is-pulse-highlight,.fm-requests-panel.is-pulse-highlight{animation:fm-req-panel-pulse .65s ease-in-out 6;z-index:3;position:relative}.fm-workspace-tab.is-pulse-highlight{animation:fm-req-tab-pulse .65s ease-in-out 6;z-index:2}@keyframes fm-req-panel-pulse{0%,to{border-color:color-mix(in srgb,var(--fm-amber-600) 55%,var(--fm-forest-600));box-shadow:0 0 0 2px color-mix(in srgb,var(--fm-amber-600) 22%,transparent),0 0 0 0 transparent,var(--fm-shadow-2);background:color-mix(in srgb,var(--fm-amber-50) 35%,#fff)}50%{border-color:var(--fm-amber-600);box-shadow:0 0 0 4px color-mix(in srgb,var(--fm-amber-600) 38%,transparent),0 0 28px color-mix(in srgb,var(--fm-amber-600) 45%,transparent),0 10px 28px #0e26201f;background:color-mix(in srgb,var(--fm-amber-50) 72%,#fff)}}@keyframes fm-req-tab-pulse{0%,to{background:color-mix(in srgb,var(--fm-amber-100) 50%,transparent);box-shadow:0 0 0 0 transparent;color:var(--fm-amber-700)}50%{background:var(--fm-amber-100);box-shadow:0 0 0 3px color-mix(in srgb,var(--fm-amber-600) 40%,transparent),0 0 16px color-mix(in srgb,var(--fm-amber-600) 45%,transparent);color:var(--fm-amber-700)}}@media(prefers-reduced-motion:reduce){.fm-exact-panel.fm-col-requests.is-pulse-highlight,.fm-requests-panel.is-pulse-highlight{animation:none;border-color:var(--fm-amber-600);box-shadow:0 0 0 4px color-mix(in srgb,var(--fm-amber-600) 35%,transparent),0 0 20px color-mix(in srgb,var(--fm-amber-600) 30%,transparent);background:color-mix(in srgb,var(--fm-amber-50) 70%,#fff)}.fm-workspace-tab.is-pulse-highlight{animation:none;background:var(--fm-amber-100);box-shadow:0 0 0 3px color-mix(in srgb,var(--fm-amber-600) 35%,transparent)}}.fm-exact-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid var(--fm-hairline)}.fm-exact-panel-title small{display:block;margin-bottom:1px;font-size:9px;font-weight:650;letter-spacing:.09em;text-transform:uppercase;color:var(--fm-forest-700)}.fm-exact-panel-title h2{margin:0;font-size:var(--fs-section-title);font-weight:var(--fw-bold);letter-spacing:var(--ls-tight);color:#0f172a}.fm-exact-panel-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fm-header-clock-actions{display:flex;align-items:center;gap:8px;order:-1}.fm-exact .fm-header-clock-actions .fm-btn-sm{height:34px;padding:0 12px;border-radius:10px;font-size:12px;font-weight:700;display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;cursor:pointer;white-space:nowrap}.fm-exact .fm-header-clock-actions .fm-btn-secondary{background:#fff;border-color:var(--fm-forest-800);color:var(--fm-forest-800)}.fm-exact .fm-header-clock-actions .fm-btn-primary{background:var(--metal-gradient);color:#fff;box-shadow:inset 0 1px #ffffff40}.fm-exact .fm-header-clock-actions .fm-btn-sm:disabled{opacity:.55;cursor:not-allowed}.fm-exact .fm-worker-search-wrap{position:relative}.fm-exact .fm-worker-search{height:36px;width:248px;max-width:100%;padding:0 12px 0 34px;border:1px solid var(--fm-slate-200);border-radius:var(--fm-radius-sm);background:var(--fm-slate-50);font-size:12px;outline:none}.fm-exact .fm-worker-search:focus{background:#fff;border-color:var(--fm-forest-600);box-shadow:0 0 0 3px var(--fm-forest-50)}.fm-exact .fm-worker-search-icon-svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--fm-slate-500);pointer-events:none}.fm-exact .fm-clean-time-cell,.fm-exact .fm-bulk-time-controls input,.fm-exact .time-field{height:36px}.fm-selection-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;max-height:0;padding:0 20px;background:var(--fm-forest-50);border-top:0 solid var(--fm-hairline);overflow:hidden;opacity:0;transform:translateY(-4px);transition:max-height var(--fm-ease),opacity var(--fm-ease),transform var(--fm-ease),padding var(--fm-ease)}.fm-selection-bar.show{max-height:60px;padding:10px 20px;border-top-width:1px;opacity:1;transform:translateY(0)}.fm-selection-bar-text{font-size:11.5px;font-weight:650;color:var(--fm-forest-800)}.fm-selection-bar-actions{display:flex;align-items:center;gap:8px}.fm-exact .fm-btn-sm{height:30px;padding:0 11px;font-size:11px;border-radius:var(--fm-radius-sm);font-weight:700;display:inline-flex;align-items:center;gap:6px;cursor:pointer;border:1px solid transparent}.fm-exact .fm-btn-ghost{background:#fff;border-color:var(--fm-slate-200);color:var(--fm-slate-700)}.fm-exact .fm-btn-secondary{background:#fff;border-color:var(--fm-forest-800);color:var(--fm-forest-800)}.fm-exact .fm-btn-primary{background:var(--metal-gradient);color:#fff;box-shadow:inset 0 1px #ffffff40,0 1px 2px #0e26201f}.fm-exact .fm-btn-primary:disabled,.fm-exact .fm-btn-secondary:disabled{opacity:.45;cursor:not-allowed}.fm-exact .fm-desktop-table-scroll{max-height:min(52vh,440px);overflow:auto}.fm-exact .fm-attendance-panel .fm-desktop-table-scroll{flex:1 1 0;min-height:0;max-height:none;overflow:auto}.fm-exact .fm-desktop-table-scroll table,.fm-exact .fm-attendance-table{width:100%;min-width:0;max-width:100%;table-layout:fixed;border-collapse:collapse;border-spacing:0}.fm-exact .fm-desktop-table-scroll .fm-col-check{width:40px;min-width:40px;max-width:40px;padding:6px 4px;text-align:center;box-sizing:border-box}.fm-exact .fm-desktop-table-scroll .fm-col-worker{width:26%;min-width:140px;padding-left:8px;padding-right:10px;text-align:left}.fm-exact .fm-desktop-table-scroll .fm-col-trade{width:16%;min-width:96px;padding-left:8px;padding-right:8px;text-align:left}.fm-exact .fm-desktop-table-scroll .fm-col-clock-in,.fm-exact .fm-desktop-table-scroll .fm-col-clock-out{width:12%;min-width:80px;text-align:center;padding-left:6px;padding-right:6px}.fm-exact .fm-desktop-table-scroll .fm-col-hours,.fm-exact .fm-desktop-table-scroll .fm-col-extra-hours{width:10%;min-width:64px;text-align:center;padding-left:6px;padding-right:6px;font-variant-numeric:tabular-nums}.fm-exact .fm-desktop-table-scroll .fm-col-extra-hours.is-overtime,.fm-exact .fm-desktop-table-scroll tbody td.fm-col-extra-hours.is-overtime{color:#7c3aed;font-weight:600}.fm-exact .fm-desktop-table-scroll .fm-col-status{width:16%;min-width:112px;text-align:center;padding-left:8px;padding-right:8px}.fm-exact .fm-desktop-table-scroll .fm-col-edit{width:84px;min-width:84px;max-width:84px;padding-left:8px;padding-right:8px;text-align:center}.fm-exact .fm-desktop-table-scroll thead th,.fm-exact .fm-desktop-table-scroll tbody td{border:0;border-bottom:1px solid var(--fm-hairline)}.fm-exact .fm-desktop-table-scroll thead th{border-top:0;border-bottom:1px solid #dde4ec}.fm-exact .fm-desktop-table-scroll thead th:first-child,.fm-exact .fm-desktop-table-scroll tbody td:first-child{border-left:0}.fm-exact .fm-desktop-table-scroll thead th:last-child,.fm-exact .fm-desktop-table-scroll tbody td:last-child{border-right:0}.fm-exact .fm-desktop-table-scroll tbody tr:last-child td{border-bottom:0}.fm-exact .fm-desktop-table-scroll thead th{position:sticky;top:0;z-index:1;height:34px;padding:0 10px;background:linear-gradient(180deg,#faf8f5,#f5f1ea);border-bottom:1px solid #dde4ec;color:#8b6d45;font-size:10px;font-weight:var(--fw-extrabold, 800);letter-spacing:.07em;text-transform:uppercase;vertical-align:middle;text-align:center}.fm-exact .fm-desktop-table-scroll thead th.fm-col-worker,.fm-exact .fm-desktop-table-scroll thead th.fm-col-trade{text-align:left}.fm-exact .fm-desktop-table-scroll thead th.fm-col-check{padding:0 4px}.fm-exact .fm-desktop-table-scroll tbody td{padding:7px 10px;font-size:12px;vertical-align:middle;text-align:center}.fm-exact .fm-desktop-table-scroll tbody td.fm-col-worker{overflow:hidden;white-space:normal;text-align:left;padding-left:8px}.fm-exact .fm-desktop-table-scroll tbody td.fm-col-trade{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;padding-left:10px}.fm-exact .fm-desktop-table-scroll tbody td.fm-col-clock-in,.fm-exact .fm-desktop-table-scroll tbody td.fm-col-clock-out,.fm-exact .fm-desktop-table-scroll tbody td.fm-col-hours,.fm-exact .fm-desktop-table-scroll tbody td.fm-col-extra-hours{text-align:center;overflow:visible}.fm-exact .fm-desktop-table-scroll tbody td.fm-col-status{text-align:center;overflow:hidden;max-width:0}.fm-exact .fm-desktop-table-scroll tbody td.fm-col-status .fm-att-status{display:inline-block!important;width:auto;max-width:100%;margin-inline:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.fm-exact .fm-desktop-table-scroll tbody td.fm-col-edit{overflow:visible;text-align:center}.fm-exact .fm-desktop-table-scroll .fm-row-action-btns{justify-content:center;gap:4px;flex-wrap:nowrap;width:100%}.fm-exact .fm-desktop-table-scroll .fm-worker-cell,.fm-exact .fm-desktop-table-scroll .worker-profile-trigger--cell{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;width:100%;text-align:left}.fm-exact .fm-desktop-table-scroll .fm-worker-cell__text,.fm-exact .fm-desktop-table-scroll .fm-worker-name,.fm-exact .fm-desktop-table-scroll .fm-worker-id{width:100%;text-align:left}.fm-exact .fm-desktop-table-scroll tbody tr{min-height:40px;transition:background var(--fm-ease)}.fm-exact .fm-desktop-table-scroll .fm-trade-cell{max-width:100%;overflow:hidden;text-overflow:ellipsis;text-align:left}.fm-exact .fm-time-text,.fm-exact .fm-time-dash{font-variant-numeric:tabular-nums;font-size:11px;color:var(--fm-slate-700)}.fm-exact .fm-time-dash{color:var(--fm-slate-300)}.fm-exact .fm-desktop-table-scroll tbody tr:hover{background:#faf8f5}.fm-exact .fm-desktop-table-scroll tbody tr.fm-row-selected{background:color-mix(in srgb,#faf8f5 75%,#f5f1ea 25%);box-shadow:inset 3px 0 #8b6d45}.fm-exact .fm-worker-avatar{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--fm-forest-100);color:var(--fm-forest-800);font-weight:700;font-size:10px;flex:0 0 30px;overflow:hidden}.fm-exact .fm-worker-avatar .profile-photo-avatar__img{width:100%;height:100%;border-radius:inherit}.fm-exact .fm-worker-cell{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;width:100%;text-align:left}.fm-exact .fm-trade-cell{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;background:#f3f4f6;color:#4b5563;font-size:10.5px;font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-exact .fm-att-status{display:inline-flex;align-items:center;justify-content:center;gap:4px;width:fit-content;max-width:100%;padding:4px 10px;border-radius:999px!important;border:1px solid transparent;font-size:10px;font-weight:700;line-height:1.25;white-space:nowrap;box-sizing:border-box}.fm-exact .fm-att-status.fm-in{background:#f4efe3;border-color:#e0d3b2;color:#8d6a1f}.fm-exact .fm-att-status.fm-pending,.fm-exact .fm-att-status.fm-await{background:#fffbeb;border-color:#fcd34d;color:#b45309}.fm-exact .fm-att-status.fm-out{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.fm-exact .fm-att-status.fm-absent{background:#fef2f2;border-color:#fca5a5;color:#b91c1c}.fm-exact .fm-status-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;border:1px solid transparent;font-size:10px;font-weight:650}.fm-exact .fm-status-chip.fm-in{background:#f4efe3;border-color:#e0d3b2;color:#8d6a1f}.fm-exact .fm-status-chip.fm-pending,.fm-exact .fm-status-chip.fm-await{background:#fffbeb;border-color:#fcd34d;color:#b45309}.fm-exact .fm-status-chip.fm-out{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.fm-exact .fm-status-chip.fm-absent{background:#fef2f2;border-color:#fca5a5;color:#b91c1c}.fm-exact .fm-table-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 20px;color:var(--fm-slate-500);font-size:10.5px;background:var(--fm-slate-50);border-top:1px solid var(--fm-hairline)}.fm-exact .fm-table-footer-right{display:flex;align-items:center;gap:10px}.fm-exact .fm-count-pill{height:26px;padding:0 12px;border-radius:999px;background:var(--metal-gradient);color:#fff;font-size:11px;font-weight:650;border:none;box-shadow:inset 0 1px #ffffff4d;cursor:pointer}.fm-exact .fm-req-sidebar{margin:0}.fm-exact .fm-req-sidebar>.card{display:none}.fm-exact .fm-req-sidebar>.fm-req-panel.card{display:block;border:none;box-shadow:none;border-radius:0;background:transparent;margin:0}.fm-exact .fm-req-panel-sub{display:none}.fm-exact .fm-req-panel-head{display:flex;align-items:center;justify-content:flex-end;padding:10px 14px;border-bottom:1px solid var(--fm-hairline);margin:0}.fm-exact .fm-req-panel--desktop{display:flex;flex-direction:column;overflow:hidden}.fm-exact .fm-req-panel--empty{height:auto}.fm-exact .fm-req-panel--empty .fm-req-panel-head{padding:8px 12px;border-bottom:none}.fm-exact .fm-exact-panel-title--compact h2{font-size:14px}.fm-exact .fm-request-empty--compact{padding:8px 12px 12px;text-align:left;font-size:11.5px;line-height:1.4}.fm-exact .fm-request-filters{position:relative;display:flex;gap:16px;padding:0 20px;border-bottom:1px solid var(--fm-hairline)}.fm-exact .fm-rf-tab{position:relative;padding:10px 0;background:none;border:none;font-size:11.5px;font-weight:700;color:var(--fm-slate-500);cursor:pointer;transition:color var(--fm-ease)}.fm-exact .fm-rf-tab.active{color:var(--fm-forest-800)}.fm-exact .fm-rf-indicator{position:absolute;bottom:-1px;height:2px;background:var(--fm-forest-700);border-radius:2px 2px 0 0;transition:left var(--fm-ease),width var(--fm-ease)}.fm-exact .fm-request-list{max-height:min(360px,42vh);overflow:auto}.fm-exact .fm-request-row{position:relative;display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;padding:9px 14px 9px 18px;border:none;border-bottom:1px solid var(--fm-slate-100);background:transparent;text-align:left;cursor:pointer;transition:background var(--fm-ease);color:inherit;font:inherit}.fm-exact .fm-request-row:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:3px;background:var(--fm-slate-300)}.fm-exact .fm-request-row.approved:before{background:var(--fm-forest-700)}.fm-exact .fm-request-row.submitted:before{background:var(--fm-amber-600)}.fm-exact .fm-request-row.review:before{background:var(--fm-slate-500)}.fm-exact .fm-request-row:hover,.fm-exact .fm-request-row--highlight{background:var(--fm-forest-50)}.fm-exact .fm-req-icon{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:var(--metal-gradient);color:#fff;box-shadow:inset 0 1px #ffffff4d;flex:0 0 26px}.fm-exact .fm-req-copy{min-width:0;display:block}.fm-exact .fm-req-top{display:flex;align-items:center;gap:6px}.fm-exact .fm-priority-dot{width:6px;height:6px;border-radius:50%;flex:0 0 6px;background:var(--fm-slate-300)}.fm-exact .fm-priority-dot.high{background:var(--fm-amber-600)}.fm-exact .fm-priority-dot.urgent{background:var(--fm-amber-700);box-shadow:0 0 0 3px var(--fm-amber-100)}.fm-exact .fm-req-copy b{font-size:11.5px;font-weight:650;color:var(--fm-slate-700)}.fm-exact .fm-req-type{font-size:9.5px;font-weight:600;color:var(--fm-slate-500);text-transform:uppercase;letter-spacing:.04em}.fm-exact .fm-req-text{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--fm-slate-500)}.fm-exact .fm-req-right{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.fm-exact .fm-req-time{font-size:9.5px;color:var(--fm-slate-500);white-space:nowrap}.fm-exact .fm-req-state{padding:3px 8px;border-radius:999px;font-size:9px;font-weight:650;white-space:nowrap}.fm-exact .fm-req-state.approved{background:var(--fm-forest-100);color:var(--fm-forest-800)}.fm-exact .fm-req-state.submitted{background:var(--fm-amber-100);color:var(--fm-amber-700)}.fm-exact .fm-req-state.review{background:var(--fm-slate-100);color:var(--fm-slate-700)}.fm-exact .fm-request-empty{padding:26px 20px;text-align:center;color:var(--fm-slate-500);font-size:11.5px}.fm-exact .fm-view-all{display:flex;align-items:center;justify-content:center;gap:6px;margin:0;padding:12px 20px;border:none;border-top:1px solid var(--fm-hairline);background:var(--fm-white, #fff);color:var(--fm-forest-800);font-size:11.5px;font-weight:650;cursor:pointer;transition:background var(--fm-ease)}.fm-exact .fm-view-all:hover{background:var(--fm-slate-50)}@media(max-width:1180px){.fm-exact-workspace .fm-col-attendance,.fm-exact-workspace .fm-col-requests{grid-column:span 12}}@media(max-width:860px){.fm-console{flex-direction:column;align-items:stretch}.fm-console-divider{display:none}.fm-hero{flex-direction:column;align-items:flex-start}.fm-hero-stats{align-self:stretch;justify-content:space-between;flex-wrap:wrap}}body.shell-field-ops #fmCleanWorkspace.fm-exact.fm-shell--mobile{max-width:none;padding:0;gap:0}.fm-clock-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:220;display:flex;align-items:center;justify-content:center;padding:16px;background:#0e26206b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.fm-clock-modal{width:min(420px,100%);max-height:min(88vh,720px);display:flex;flex-direction:column;background:#fff;border-radius:14px;box-shadow:0 24px 60px #0e26203d;overflow:hidden}.fm-clock-modal--wide{width:min(520px,100%)}.fm-clock-modal--simple,.fm-clock-modal--compact{width:min(380px,calc(100vw - 32px));max-height:none}.fm-clock-modal-body--compact{padding:14px 18px 8px;gap:12px;overflow:visible;flex:0 0 auto}.fm-clock-modal--quick{width:min(360px,calc(100vw - 32px));max-height:none}.fm-clock-modal-body--quick{padding:14px 18px 8px;gap:12px;overflow:visible;flex:0 0 auto}.fm-clock-now-btn{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:0;border-radius:14px;padding:16px 16px 16px 18px;text-align:left;cursor:pointer;color:#fff;background:linear-gradient(135deg,#a67c2d,#8c6a24 55%,#7a5c1f);box-shadow:0 10px 24px #8c6a2447;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}.fm-clock-now-btn:hover:not(:disabled){filter:brightness(1.04);box-shadow:0 12px 28px #8c6a2457}.fm-clock-now-btn:active:not(:disabled){transform:translateY(1px)}.fm-clock-now-btn:disabled{opacity:.65;cursor:not-allowed}.fm-clock-now-btn-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.fm-clock-now-btn-copy b{font-size:16px;font-weight:750;letter-spacing:.01em}.fm-clock-now-btn-copy small{font-size:12px;font-weight:600;opacity:.88}.fm-clock-now-btn-arrow{flex:0 0 auto;width:34px;height:34px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#ffffff2e;color:#fff}.fm-clock-quick-links{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.fm-clock-quick-link{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:#64748b;font-size:12px;font-weight:650;cursor:pointer;padding:4px 2px}.fm-clock-quick-link:hover:not(:disabled),.fm-clock-quick-link.is-active{color:var(--accent-base, #8c6a24)}.fm-clock-quick-link:disabled{opacity:.55;cursor:not-allowed}.fm-clock-quick-link-sep{width:1px;height:14px;background:#d0d7e2}.fm-clock-custom-panel{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;background:#f6f1e7;border:1px solid #eadfca}.fm-clock-quick-time-row{display:flex;align-items:center;gap:6px;flex:1 1 auto;min-width:0}.fm-clock-quick-select{height:34px;border:1px solid #d7e3f0;border-radius:10px;background:#fff;color:#0f172a;font:inherit;font-size:12px;font-weight:750;padding:0 10px;max-width:120px}.fm-clock-quick-select--period{max-width:92px}.fm-clock-quick-time-sep{color:#94a3b8;font-weight:900;flex:0 0 auto}.fm-clock-custom-panel .fm-time-12h{flex:1 1 auto;min-width:0;background:transparent;border:0;box-shadow:none;padding:0}.fm-clock-use-now{flex:0 0 auto;border:0;background:transparent;color:var(--accent-base, #8c6a24);font-size:12px;font-weight:750;cursor:pointer;padding:4px 2px;white-space:nowrap}.fm-clock-use-now:hover:not(:disabled){text-decoration:underline}.fm-clock-note-panel{display:block;margin:0}.fm-clock-note-panel .fm-clock-modal-comment{background:#f6f1e7;border-color:#eadfca;min-height:64px}.fm-clock-modal-foot--quick{justify-content:center;border-top:0;padding:4px 18px 16px}.fm-clock-cancel-link{border:0;background:transparent;color:#64748b;font-size:13px;font-weight:650;cursor:pointer;padding:6px 10px}.fm-clock-cancel-link:hover:not(:disabled){color:#0f172a}.fm-clock-modal--edit{width:min(380px,calc(100vw - 32px));max-height:none}.fm-clock-modal-body--edit{padding:14px 18px 0;gap:12px;overflow:visible;flex:0 0 auto}.fm-clock-modal-foot--edit{margin:4px -18px 0;padding:12px 18px 16px;border-top:1px solid var(--fm-hairline, #e2e8f0);background:#fff;display:flex;justify-content:flex-end}.fm-edit-time-toggle{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:12px;background:#f3f4f6;border:1px solid #e5e7eb}.fm-edit-time-toggle-btn{height:34px;border:0;border-radius:9px;background:transparent;color:#64748b;font:inherit;font-size:12px;font-weight:750;cursor:pointer}.fm-edit-time-toggle-btn.is-active{background:#fff;color:var(--accent-base, #8c6a24);box-shadow:0 1px 2px #0f172a14}.fm-edit-time-note--inline{margin:0 18px}.fm-clock-modal--early{width:min(380px,calc(100vw - 32px));max-height:none}.fm-clock-modal-body{padding:16px 18px 14px;display:flex;flex-direction:column;gap:14px;min-height:0;overflow:hidden;flex:1}.fm-clock-modal-primary{display:flex;flex-direction:column;gap:8px;flex-shrink:0}.fm-clock-time-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:8px 10px;border:1px solid var(--fm-slate-200);border-radius:10px;background:var(--fm-slate-50)}.fm-clock-time-row__label{flex:0 0 auto;margin:0;white-space:nowrap}.fm-clock-time-row .fm-time-12h{display:inline-flex;align-items:center;flex:0 1 auto;min-width:0;margin-left:auto;padding:5px 10px;border-radius:999px;background:#fff;border-color:var(--fm-slate-200)}.fm-clock-time-row .fm-time-12h-select{font-size:12px}.fm-clock-time-row .fm-time-12h-sep{font-size:13px;font-weight:700}.fm-clock-modal-sub-early{color:#b45309;font-weight:700}.fm-clock-quick{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:10px;border:1px solid #fde68a;background:#fffbeb}.fm-clock-quick-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.fm-clock-quick-apply{height:28px;padding:0 10px;border-radius:8px;border:1px solid var(--fm-slate-200);background:#fff;color:var(--fm-slate-800);font:inherit;font-size:11.5px;font-weight:var(--fw-bold, 700);cursor:pointer;white-space:nowrap}.fm-clock-quick-apply:hover:not(:disabled){border-color:var(--fm-forest-600, #166534);color:var(--fm-forest-800, #14532d)}.fm-clock-quick-apply:disabled{opacity:.5;cursor:not-allowed}.fm-clock-quick-input{margin-top:0;min-height:56px;background:#fff}.fm-clock-quick-meta{margin:0;font-size:11px;font-weight:650;color:#92400e;line-height:1.35}.fm-clock-quick-error{margin:0;font-size:11.5px;font-weight:var(--fw-bold, 700);color:#b45309;line-height:1.35}.fm-clock-worker-panel{display:flex;flex-direction:column;gap:6px;min-height:0;flex:1}.fm-clock-worker-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-shrink:0}.fm-clock-worker-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;margin-left:6px;padding:0 5px;border-radius:999px;background:var(--fm-slate-100);color:var(--fm-slate-600);font-size:10px;font-weight:var(--fw-bold, 700);letter-spacing:0;text-transform:none;vertical-align:middle}.fm-clock-worker-panel-hint{font-size:11px;font-weight:600;color:var(--fm-slate-500)}.fm-clock-worker-list{display:flex;flex-direction:column;gap:0;min-height:0;max-height:min(36vh,280px);overflow:auto;border:1px solid var(--fm-slate-200);border-radius:12px;background:#fff}.fm-clock-worker-list--compact{max-height:none;overflow:visible}.fm-clock-worker-row{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-bottom:1px solid var(--fm-slate-100);background:#fff}.fm-clock-worker-row--simple .fm-clock-worker-line{grid-template-columns:minmax(0,1fr) auto;gap:12px}.fm-clock-worker-action-hint{flex-shrink:0;font-size:11px;font-weight:650;color:var(--fm-slate-500);white-space:nowrap}.fm-clock-worker-row:last-child{border-bottom:0}.fm-clock-worker-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px}.fm-clock-worker-identity{display:flex;align-items:center;gap:6px;min-width:0;font-size:13px;color:var(--fm-slate-700)}.fm-clock-worker-identity b{font-weight:650;color:var(--fm-slate-700);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-clock-worker-row.is-early{background:#fffdf7}.fm-clock-worker-row.is-custom{background:#f7fdf9}.fm-clock-worker-status,.fm-clock-worker-early{flex-shrink:0;font-size:10px;font-weight:650;letter-spacing:.02em;text-transform:uppercase;padding:2px 6px;border-radius:999px}.fm-clock-worker-status{color:var(--fm-slate-600);background:var(--fm-slate-100)}.fm-clock-worker-early{color:#92400e;background:#fde68a}.fm-clock-worker-times{font-size:11.5px;font-weight:650;color:var(--fm-slate-600);white-space:nowrap;font-variant-numeric:tabular-nums}.fm-clock-note-chip{height:26px;padding:0 8px;border-radius:999px;border:1px solid var(--fm-slate-200);background:#fff;color:var(--fm-slate-700);font:inherit;font-size:11px;font-weight:var(--fw-bold, 700);cursor:pointer;white-space:nowrap}.fm-clock-note-chip:hover:not(:disabled){border-color:var(--fm-forest-600, #166534);color:var(--fm-forest-800, #14532d)}.fm-clock-note-chip.is-on{border-color:#86efac;background:#ecfdf5;color:#166534}.fm-clock-note-chip:disabled{opacity:.5;cursor:not-allowed}.fm-clock-note-chip-spacer{width:88px}.fm-clock-worker-note-input{min-height:52px;margin-top:0}.fm-clock-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px 14px;border-bottom:1px solid var(--fm-hairline)}.fm-clock-modal-head h3{margin:0;font-size:17px;font-weight:var(--fw-bold, 700);color:var(--fm-slate-800);letter-spacing:-.01em}.fm-clock-modal-sub{margin:4px 0 0;font-size:12.5px;font-weight:600;color:var(--fm-slate-500)}.fm-clock-modal-close{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--fm-slate-200);border-radius:8px;background:#fff;color:var(--fm-slate-700);cursor:pointer}.fm-clock-modal-label{font-size:10px;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--fm-slate-500)}.fm-required-star{color:#dc2626;font-weight:700;margin-left:3px;letter-spacing:0;text-transform:none}.fm-clock-worker-custom-field{display:flex;flex-direction:column;gap:4px}.fm-clock-modal-hint{display:flex;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;border-radius:10px;border:1px solid var(--fm-slate-200);background:var(--fm-slate-50);font-size:12px;line-height:1.45;font-weight:600;color:var(--fm-slate-600)}.fm-clock-modal-hint svg{flex-shrink:0;margin-top:1px;color:var(--fm-slate-500)}.fm-clock-modal-comment{display:block;width:100%;margin-top:6px;padding:10px 12px;border:1px solid var(--fm-slate-200);border-radius:10px;background:var(--fm-slate-50);color:var(--fm-slate-700);font:inherit;font-size:13px;line-height:1.4;resize:vertical;min-height:72px}.fm-clock-modal-comment:focus{outline:none;border-color:var(--fm-forest-600);background:#fff;box-shadow:0 0 0 3px var(--fm-forest-50)}.fm-clock-modal-comment.is-error{border-color:var(--fm-amber-600)}.fm-clock-modal-error{display:block;margin-top:6px;font-size:11.5px;font-weight:700;color:var(--fm-amber-700);text-transform:none;letter-spacing:0}.fm-clock-modal-error--inline{flex-shrink:0;margin-top:0;padding:8px 10px;border-radius:8px;background:#fffbeb;border:1px solid #fde68a}.fm-clock-modal-alert{margin:0;padding:10px 12px;border-radius:10px;border:1px solid #fecaca;background:#fef2f2;color:#b91c1c;font-size:12.5px;font-weight:700;line-height:1.4}.fm-clock-modal-foot{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;flex-shrink:0;padding:14px 18px;border-top:1px solid var(--fm-hairline);background:var(--fm-slate-50)}.fm-clock-clear-btn{justify-self:start}.fm-clock-modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap}.fm-clock-modal .fm-btn-sm{height:36px;padding:0 14px;border-radius:10px;font-size:12.5px;font-weight:700;display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;cursor:pointer;white-space:nowrap}.fm-clock-modal .fm-btn-primary{min-width:108px;justify-content:center;background:var(--metal-gradient);color:#fff;box-shadow:inset 0 1px #ffffff40}.fm-clock-modal .fm-btn-ghost{background:#fff;border-color:var(--fm-slate-200);color:var(--fm-slate-700)}.fm-clock-modal .fm-btn-secondary{background:#fff;border-color:var(--fm-forest-800);color:var(--fm-forest-800)}.fm-clock-modal .fm-btn-sm:disabled{opacity:.55;cursor:not-allowed}.fm-conflict-modal{width:min(480px,100%);background:#fff;border-radius:14px;box-shadow:0 24px 60px #0e26203d;overflow:hidden}.fm-conflict-modal-body{padding:14px 16px 8px;display:flex;flex-direction:column;gap:10px}.fm-conflict-list{list-style:none;margin:0;padding:0;max-height:240px;overflow:auto;border:1px solid var(--fm-slate-100);border-radius:10px}.fm-conflict-item{padding:10px 12px;border-bottom:1px solid var(--fm-slate-100)}.fm-conflict-item:last-child{border-bottom:none}.fm-conflict-item-main{display:flex;align-items:center;justify-content:space-between;gap:8px}.fm-conflict-item-main b{font-size:13px;font-weight:650;color:var(--fm-slate-700)}.fm-conflict-status{font-size:10px;font-weight:650;padding:3px 8px;border-radius:999px;background:var(--fm-amber-100);color:var(--fm-amber-700)}.fm-conflict-item-meta{margin-top:3px;font-size:11px;color:var(--fm-slate-500)}.fm-conflict-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid var(--fm-hairline);background:var(--fm-slate-50)}.fm-conflict-modal .fm-btn-sm{height:34px;padding:0 12px;border-radius:10px;font-size:12px;font-weight:700;display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;cursor:pointer}.fm-conflict-modal .fm-btn-ghost{background:#fff;border-color:var(--fm-slate-200);color:var(--fm-slate-700)}.fm-conflict-modal .fm-btn-secondary{background:#fff;border-color:var(--fm-forest-800);color:var(--fm-forest-800)}.fm-conflict-modal .fm-btn-primary{background:var(--metal-gradient);color:#fff}.fm-deliveries-panel{display:flex;flex-direction:column;gap:16px;padding:2px 0 20px;min-height:0}.fm-deliveries-sub{margin:0;font-size:13px;line-height:1.4;color:var(--fm-muted, #64748b)}.fm-deliveries-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.fm-deliveries-metric{background:#fff;border:1px solid var(--fm-slate-200, #e2e8f0);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:6px;box-shadow:0 1px 2px #0f172a0a}.fm-deliveries-metric b{font-size:22px;font-weight:750;line-height:1;color:var(--fm-ink, #0f172a)}.fm-deliveries-metric span{font-size:11px;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--fm-muted, #64748b)}.fm-deliveries-empty{background:#fff;border:1px dashed var(--fm-slate-200, #e2e8f0);border-radius:12px;padding:36px 18px;text-align:center;color:var(--fm-muted, #64748b);font-size:13px}.fm-deliveries-table-wrap{background:#fff;border:1px solid var(--fm-slate-200, #e2e8f0);border-radius:12px;overflow:auto;max-height:min(58vh,520px);box-shadow:0 1px 2px #0f172a0a}.fm-deliveries-footer{margin-top:10px;padding:0 2px}.fm-deliveries-table{width:100%;border-collapse:collapse;font-size:13px}.fm-deliveries-table th,.fm-deliveries-table td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--fm-slate-100, #f1f5f9);vertical-align:middle}.fm-deliveries-table th{position:sticky;top:0;z-index:1;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--fm-muted, #64748b);background:#f8fafc}.fm-deliveries-table tbody tr:last-child td{border-bottom:0}.fm-deliveries-table tbody tr:hover td{background:#fafbfc}.fm-deliveries-id{border:0;background:transparent;padding:0;font:inherit;font-weight:700;color:var(--accent-base, #8c6a24);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.fm-deliveries-id:hover{color:color-mix(in srgb,var(--accent-base, #8c6a24) 80%,#000)}.fm-del-pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.02em;background:#f1f5f9;color:#475569;white-space:nowrap}.fm-del-pill--ok{background:#dcfce7;color:#166534}.fm-del-pill--warn{background:#fef3c7;color:#92400e}.fm-del-pill--danger{background:#fee2e2;color:#991b1b}.fm-del-pill--muted{background:#f1f5f9;color:#64748b}.fm-deliveries-panel .fm-btn-sm,.fm-del-modal .fm-btn-sm{height:34px;padding:0 14px;font-size:12px;border-radius:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;border:1px solid transparent;white-space:nowrap}.fm-deliveries-panel .fm-btn-ghost,.fm-del-modal .fm-btn-ghost{background:#fff;border-color:var(--fm-slate-200, #e2e8f0);color:var(--fm-slate-700, #334155)}.fm-deliveries-panel .fm-btn-ghost:hover:not(:disabled),.fm-del-modal .fm-btn-ghost:hover:not(:disabled){background:#f8fafc}.fm-deliveries-panel .fm-btn-primary,.fm-del-modal .fm-btn-primary{background:var(--accent-base, #8c6a24);border-color:var(--accent-base, #8c6a24);color:#fff}.fm-deliveries-panel .fm-btn-primary:hover:not(:disabled),.fm-del-modal .fm-btn-primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent-base, #8c6a24) 88%,#000);border-color:color-mix(in srgb,var(--accent-base, #8c6a24) 88%,#000)}.fm-deliveries-panel .fm-btn-sm:disabled,.fm-del-modal .fm-btn-sm:disabled{opacity:.5;cursor:not-allowed}.fm-del-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:240;display:flex;align-items:center;justify-content:center;padding:16px;background:#0e26206b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.fm-del-modal{width:min(420px,calc(100vw - 32px));max-height:min(88vh,640px);display:flex;flex-direction:column;background:#fff;border-radius:14px;box-shadow:0 24px 60px #0e26203d;overflow:hidden}.fm-del-modal--receipt{width:min(400px,calc(100vw - 32px))}.fm-del-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px 12px;border-bottom:1px solid var(--fm-slate-100, #f1f5f9);flex-shrink:0}.fm-del-modal-eyebrow{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-base, #8c6a24)}.fm-del-modal-head h3{margin:4px 0 0;font-size:17px;font-weight:750;color:var(--fm-ink, #0f172a);line-height:1.25}.fm-del-modal-close{flex-shrink:0;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:transparent;color:var(--fm-muted, #64748b);cursor:pointer}.fm-del-modal-close:hover:not(:disabled){background:#f1f5f9;color:var(--fm-ink, #0f172a)}.fm-del-modal-body{padding:14px 18px;display:flex;flex-direction:column;gap:14px;overflow:auto;min-height:0;flex:1 1 auto}.fm-del-kv{margin:0;display:grid;gap:0;border:1px solid var(--fm-slate-100, #f1f5f9);border-radius:10px;overflow:hidden;background:#fafbfc}.fm-del-kv-row{display:grid;grid-template-columns:110px 1fr;gap:8px;padding:9px 12px;font-size:12px;border-bottom:1px solid var(--fm-slate-100, #f1f5f9)}.fm-del-kv-row:last-child{border-bottom:0}.fm-del-kv-row dt{color:var(--fm-muted, #64748b);font-weight:600}.fm-del-kv-row dd{margin:0;font-weight:650;color:var(--fm-ink, #0f172a);word-break:break-word}.fm-del-form{display:grid;gap:12px}.fm-del-field{display:grid;gap:6px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--fm-muted, #64748b)}.fm-del-field input,.fm-del-field textarea{width:100%;box-sizing:border-box;border:1px solid var(--fm-slate-200, #e2e8f0);border-radius:10px;padding:10px 12px;font:inherit;font-size:13px;font-weight:600;letter-spacing:normal;text-transform:none;color:var(--fm-ink, #0f172a);background:#fff;resize:vertical}.fm-del-field textarea{min-height:64px;max-height:120px;font-weight:500}.fm-del-field input:focus,.fm-del-field textarea:focus{outline:none;border-color:var(--accent-base, #8c6a24);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-base, #8c6a24) 18%,transparent)}.fm-del-modal-foot{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:12px 18px 16px;border-top:1px solid var(--fm-slate-100, #f1f5f9);background:#fff;flex-shrink:0}@media(max-width:720px){.fm-deliveries-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.fm-deliveries-table-wrap{max-height:none}}body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) .app.fm-exact-host{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:stretch;height:100%;min-height:0;overflow:hidden;position:relative}body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) .app.fm-exact-host>.app-shell-overlays{position:absolute;width:0;height:0;overflow:visible;pointer-events:none}body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) .app.fm-exact-host>.app-shell-overlays>*{pointer-events:auto}body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) .app.fm-exact-host>.main{flex:1 1 0!important;width:auto!important;min-width:0;max-width:none;height:100%}body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) .app.fm-exact-host .content{padding:0;background:#f7f8f7;overflow:hidden;display:flex;flex-direction:column}body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) .app.fm-exact-host .content>.dashboard-screen,body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) .app.fm-exact-host .content>#dashboard{flex:1 1 0;min-height:0;height:100%;display:flex!important;flex-direction:column}body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) .app.fm-exact-host .content>.fm-mvp,body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) .app.fm-exact-host .content>#fmCleanWorkspace,body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) .app.fm-exact-host #dashboard #fmCleanWorkspace.fm-mvp{flex:1 1 0;min-height:0;height:100%;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;background:#f7f8f7!important}body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) .shell-topbar--field-ops .shell-brand{display:none}body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) .app.fm-exact-host .shell-topbar.shell-topbar--field-ops{position:sticky;top:0;z-index:220;justify-content:space-between;align-items:center;gap:16px;height:auto;min-height:76px;padding:10px 18px 10px 22px;background:#fff;border-bottom:1px solid #dbe2ea;box-shadow:0 1px #0f172a0a;overflow:visible}body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) .shell-topbar--field-ops .fm-topbar-head{display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:0;flex:1 1 auto;padding:0}body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) .shell-topbar--field-ops .fm-topbar-title{display:block;font-size:var(--fs-page-title);font-weight:700;letter-spacing:-.02em;color:#0f172a;line-height:1.15;margin:0}body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) .shell-topbar--field-ops .fm-mvp-crumb{margin:0}body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) .shell-topbar--field-ops .fm-topbar-project-pill{margin-top:4px;width:fit-content;max-width:min(420px,48vw)}body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) .shell-topbar--field-ops .topbar-actions{flex:0 0 auto;align-self:center}body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) .app.fm-exact-host .main{overflow:hidden}body.shell-field-ops .fm-mvp-nav-btn-label{display:inline-flex;align-items:center;gap:8px;min-width:0}body.shell-field-ops .fm-mvp-nav-soon{display:inline-flex;align-items:center;padding:1px 6px;border-radius:999px;background:#eef2f6;color:#64748b;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}body.shell-field-ops .fm-mvp-nav-btn.is-active .fm-mvp-nav-soon{background:#ffffff38;color:#fff}body.shell-field-ops .fm-mvp-under-dev{padding:48px 28px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}body.shell-field-ops .fm-mvp-under-dev h2{margin:0;font-size:var(--fs-page-title);color:#0f172a}body.shell-field-ops .fm-mvp-under-dev p{margin:0;color:#64748b;font-size:var(--fs-base)}body.shell-field-ops .fm-mvp-under-dev-badge{margin-top:6px;display:inline-flex;padding:5px 10px;border-radius:999px;background:#f3eee3;color:var(--accent-base, #8c6a24);font-size:var(--fs-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase}body.shell-field-ops .fm-mvp{display:flex;flex-direction:column;min-height:0;height:100%;background:#f7f8f7;color:#0f172a}body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) .app.fm-exact-host>.fm-mvp-sidebar{flex:0 0 280px;flex-shrink:0;width:280px;max-width:280px;height:100%;align-self:stretch;background:#fffffff7;border-right:1px solid var(--fm-hairline, #cbd5e1);padding:0 8px 10px;display:flex;flex-direction:column;gap:0;min-height:0;overflow:hidden;z-index:2;box-shadow:none}body.shell-field-ops .fm-mvp>.fm-mvp-sidebar{display:none}body.shell-field-ops .fm-mvp-sidebar-brand{flex:0 0 auto;padding:14px 12px 12px;margin:0 -8px;border-bottom:1px solid var(--fm-hairline, #cbd5e1)}body.shell-field-ops .fm-mvp-brand{display:flex;align-items:center;gap:11px;min-width:0;padding:0}body.shell-field-ops .fm-mvp-logo-mark{width:38px;height:38px;border-radius:11px;overflow:hidden;flex:0 0 auto;background:#0c0c0c;border:1px solid color-mix(in srgb,var(--accent-base, #8c6a24) 72%,#fff 28%);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-base, #8c6a24) 18%,transparent),0 3px 10px color-mix(in srgb,var(--accent-base, #8c6a24) 22%,transparent)}body.shell-field-ops .fm-mvp-logo-mark img,body.shell-field-ops .fm-mvp-brand img{width:100%;height:100%;display:block;object-fit:cover}body.shell-field-ops .fm-mvp-brand-name{font-weight:800;font-size:var(--fs-lg);letter-spacing:-.01em;color:#0f172a;line-height:var(--lh-tight)}body.shell-field-ops .fm-mvp-brand-role{margin-top:1px;font-size:var(--fs-2xs, 10px);font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#64748b}body.shell-field-ops .fm-mvp-nav-section{padding:12px 0 8px;min-height:0}body.shell-field-ops .fm-mvp-nav-label{font-size:var(--fs-2xs, 10px);font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:#94a3b8;padding:0 6px 6px}body.shell-field-ops .fm-mvp-nav{display:flex;flex-direction:column;gap:2px}body.shell-field-ops .fm-mvp-nav-btn{width:100%;display:flex;align-items:center;gap:8px;border:0;background:transparent;padding:7px 8px;border-radius:8px;text-align:left;font-size:var(--fs-nav);font-weight:700;color:#0f172a;cursor:pointer;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease}body.shell-field-ops .fm-mvp-nav-btn:hover:not(.is-active){background:#f1f5f9;color:#0f172a}body.shell-field-ops .fm-mvp-nav-btn:focus-visible{outline:2px solid var(--accent-base, #8c6a24);outline-offset:2px}body.shell-field-ops .fm-mvp-nav-btn.is-active{background:var(--metal-gradient);color:#fff;box-shadow:0 5px 14px color-mix(in srgb,var(--accent-base, #8c6a24) 28%,transparent),inset 0 1px #ffffff40}body.shell-field-ops .fm-mvp-nav-btn.is-active .app-icon{color:#fff}body.shell-field-ops .fm-mvp-main{flex:1;min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;overflow:auto;background:#f7f8f7}body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) .fm-mvp-main{overflow:hidden;display:flex;flex-direction:column;min-height:0}body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) .fm-mvp-quick{flex-shrink:0}body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) .fm-mvp-body{flex:1 1 0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:16px 26px}body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) .fm-mvp-body>:not(.fm-attendance-panel){flex:1 1 0;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto}body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) .fm-attendance-panel{flex:1 1 0;min-height:0;height:auto;display:flex;flex-direction:column}body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) .fm-exact .fm-attendance-panel .fm-mvp-card-head,body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) .fm-exact .fm-attendance-panel .fm-attendance-date-notice{flex-shrink:0}body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) .fm-exact .fm-attendance-panel .fm-clean-table{flex:1 1 0;min-height:280px;display:flex;flex-direction:column;margin-bottom:0}body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) .fm-exact .fm-attendance-panel .fm-desktop-table-scroll{flex:1 1 0;min-height:0;max-height:none;overflow-x:hidden;overflow-y:auto}body.shell-field-ops:not(.mobile-tab-shell):not(.native-app) .fm-exact .fm-attendance-panel .fm-table-footer{flex-shrink:0}body.shell-field-ops .fm-mvp-top{background:#fff;border-bottom:1px solid #dbe2ea;padding:18px 26px 16px}body.shell-field-ops .fm-mvp-crumb{font-size:var(--fs-xs);font-weight:700;color:var(--accent-base, #8c6a24);letter-spacing:.08em;text-transform:uppercase}body.shell-field-ops .fm-mvp-top h1{font-size:var(--fs-page-title);font-weight:700;margin:5px 0 0;color:#0f172a}body.shell-field-ops .fm-mvp-project-pill{display:inline-flex;align-items:center;gap:8px;margin-top:8px;padding:5px 9px;border:1px solid #dbe2ea;border-radius:99px;color:#475569;background:#fafbfd;font-size:var(--fs-sm);font-weight:600}body.shell-field-ops .fm-mvp-project-pill .fm-mvp-live-dot{width:7px;height:7px;border-radius:50%;background:#176b5c;flex:0 0 auto}body.shell-field-ops .fm-mvp-project-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:0;background:transparent;font:inherit;font-weight:600;color:#0f172a;cursor:pointer;width:100%;min-width:0;max-width:min(280px,42vw);padding:0 22px 0 0;line-height:1.35;text-overflow:ellipsis}body.shell-field-ops .fm-mvp-project-select:focus,body.shell-field-ops .fm-mvp-project-select:focus-visible{outline:none;box-shadow:none}body.shell-field-ops .fm-mvp-project-pill.fm-project-switcher:focus-within{border-color:#dbe2ea;box-shadow:none}body.shell-field-ops .fm-project-switcher__label{color:#0f172a;max-width:min(280px,42vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.shell-field-ops .fm-project-switcher__select-wrap{position:relative;display:inline-flex;align-items:center;min-width:0;max-width:min(300px,46vw)}body.shell-field-ops .fm-project-switcher__chevron{position:absolute;right:0;top:50%;transform:translateY(-50%);color:#64748b;pointer-events:none}body.shell-field-ops .fm-mvp-quick{padding:12px 26px;background:#fbfcfd;border-bottom:1px solid #dbe2ea;display:flex;align-items:center;gap:8px;flex-wrap:wrap}body.shell-field-ops .fm-mvp-quick-label{font-size:var(--fs-xs);font-weight:700;color:#475569;letter-spacing:.06em;margin-right:4px}body.shell-field-ops .fm-mvp-qa,body.shell-field-ops .fm-mvp-quick .eng-ov-action-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line, #e8e2d6);background:#fff;color:var(--ink, #1f1c17);border-radius:999px;padding:5px 14px 5px 5px;font-family:var(--font-sans);font-size:12px;font-weight:650;line-height:1.2;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;white-space:nowrap;flex-shrink:0}body.shell-field-ops .fm-mvp-qa:hover,body.shell-field-ops .fm-mvp-quick .eng-ov-action-chip:hover{background:color-mix(in srgb,var(--accent-base, #8a6d2e) 6%,#fff);border-color:color-mix(in srgb,var(--accent-base, #8a6d2e) 24%,var(--line, #e8e2d6));box-shadow:0 1px 3px #1f1c170f}body.shell-field-ops .fm-mvp-qa:focus-visible,body.shell-field-ops .fm-mvp-quick .eng-ov-action-chip:focus-visible,body.shell-field-ops .fm-mvp-btn:focus-visible,body.shell-field-ops .fm-mvp-req-card:focus-visible{outline:2px solid color-mix(in srgb,var(--accent-base, #8a6d2e) 45%,transparent);outline-offset:2px}body.shell-field-ops .fm-mvp-qa .icon-badge,body.shell-field-ops .fm-mvp-quick .eng-ov-action-chip .icon-badge{flex-shrink:0}body.shell-field-ops .fm-mvp-qa span,body.shell-field-ops .fm-mvp-quick .eng-ov-action-chip span{padding-right:2px}body.shell-field-ops .fm-mvp-body{padding:20px 26px 88px;flex:1}body.shell-field-ops .fm-mvp-card{background:#fff;border:1px solid #dbe2ea;border-radius:12px;box-shadow:0 1px 2px #00000008}body.shell-field-ops .fm-mvp-card-head{padding:16px 18px;border-bottom:1px solid #dbe2ea;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}body.shell-field-ops .fm-mvp-card-head-main{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}body.shell-field-ops .fm-mvp-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}body.shell-field-ops .fm-mvp-header-actions .fm-mvp-btn{padding:6px 12px;white-space:nowrap}body.shell-field-ops .fm-mvp-tools .time-date-picker-btn{min-width:168px;justify-content:center}body.shell-field-ops .fm-mvp-tools .time-date-picker-label{display:inline-block;min-width:9.6rem;text-align:left}body.shell-field-ops .fm-section-title,body.shell-field-ops .fm-mvp-card-head h2{margin:0;font-size:var(--fs-section-title);font-weight:var(--fw-bold);letter-spacing:var(--ls-tight);line-height:var(--lh-tight);color:#0f172a}body.shell-field-ops .fm-section-subtitle{margin:4px 0 0;font-size:var(--fs-base);font-weight:var(--fw-regular);line-height:var(--lh-normal);color:#64748b}body.shell-field-ops .fm-mvp-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center}body.shell-field-ops .fm-mvp-tools input,body.shell-field-ops .fm-mvp-tools select,body.shell-field-ops .fm-mvp-page-filters input,body.shell-field-ops .fm-mvp-page-filters select{border:1px solid #cfd8e3;border-radius:7px;padding:7px 9px;background:#fff;font-size:var(--fs-input);color:#0f172a;outline:none}body.shell-field-ops .fm-mvp-tools .fm-worker-search-wrap{position:relative;flex:0 0 auto}body.shell-field-ops .fm-mvp-tools .fm-worker-search-wrap .fm-worker-search-icon-svg,body.shell-field-ops .fm-mvp-tools .fm-worker-search-wrap .app-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none;z-index:1}body.shell-field-ops .fm-mvp-tools input.fm-worker-search{width:248px;max-width:100%;padding:7px 12px 7px 34px}body.shell-field-ops .fm-mvp-tools input:focus,body.shell-field-ops .fm-mvp-tools select:focus,body.shell-field-ops .fm-mvp-page-filters input:focus,body.shell-field-ops .fm-mvp-page-filters select:focus{border-color:var(--accent-base, #8c6a24);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-base, #8c6a24) 22%,transparent)}body.shell-field-ops .fm-mvp .fm-attendance-table{min-width:760px;width:100%;table-layout:fixed;border-collapse:collapse}body.shell-field-ops .fm-mvp .fm-attendance-table .fm-col-check{width:40px!important;min-width:40px!important;max-width:40px!important;padding:8px 4px!important;box-sizing:border-box;text-align:center!important}body.shell-field-ops .fm-mvp .fm-attendance-table .fm-col-worker{width:26%;padding-left:8px!important;padding-right:10px!important;text-align:left!important}body.shell-field-ops .fm-mvp .fm-attendance-table .fm-col-trade{width:16%;text-align:left!important}body.shell-field-ops .fm-mvp .fm-attendance-table .fm-col-clock-in,body.shell-field-ops .fm-mvp .fm-attendance-table .fm-col-clock-out{width:12%}body.shell-field-ops .fm-mvp .fm-attendance-table .fm-col-extra-hours{width:10%}body.shell-field-ops .fm-mvp .fm-attendance-table .fm-col-status{width:16%;max-width:11.5rem;overflow:hidden}body.shell-field-ops .fm-mvp .fm-attendance-table .fm-worker-cell,body.shell-field-ops .fm-mvp .fm-attendance-table .worker-profile-trigger--cell{align-items:flex-start;text-align:left}body.shell-field-ops .fm-mvp .fm-attendance-table th{background:#f7f9fb;color:#475569;font-size:var(--fs-table-head);font-weight:var(--fw-extrabold, 800)}body.shell-field-ops .fm-mvp .fm-attendance-table td{font-size:var(--fs-table)}body.shell-field-ops .fm-mvp .fm-attendance-table tr.fm-row-selected{background:color-mix(in srgb,var(--accent-base, #8c6a24) 10%,#fff);box-shadow:inset 3px 0 0 var(--accent-base, #8c6a24)}body.shell-field-ops .fm-mvp .fm-attendance-table tbody tr{cursor:pointer}body.shell-field-ops .fm-mvp .fm-att-status.fm-pending{background:#eef1f4;color:#475569}body.shell-field-ops .fm-mvp-selection-bar{position:fixed;z-index:40;bottom:22px;left:50%;transform:translate(-50%);display:none;align-items:center;gap:8px;flex-wrap:wrap;background:#fff;border:1px solid #dbe2ea;box-shadow:0 10px 30px #15223826;border-radius:11px;padding:10px 12px;max-width:min(720px,94vw)}body.shell-field-ops .fm-mvp-selection-bar.is-show{display:flex}@media(min-width:961px){body.shell-field-ops:not(.mobile-tab-shell) .fm-mvp-selection-bar{left:calc(232px + (100vw - 232px)/2)}}body.shell-field-ops .fm-mvp-selection-bar strong{margin-right:4px;font-size:var(--fs-base)}body.shell-field-ops .fm-mvp-selection-hint{font-size:var(--fs-sm);color:#475569}body.shell-field-ops .fm-mvp-btn{border:1px solid #dbe2ea;background:#fff;color:#0f172a;border-radius:8px;padding:7px 10px;font-size:var(--fs-button);font-weight:600;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease}body.shell-field-ops .fm-mvp-btn:hover:not(:disabled){background:#f0f4f8}body.shell-field-ops .fm-mvp-btn:disabled{opacity:.55;cursor:not-allowed}body.shell-field-ops .fm-mvp-btn--primary{background:var(--accent-base, #8c6a24);border-color:var(--accent-base, #8c6a24);color:#fff}body.shell-field-ops .fm-mvp-btn--primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent-base, #8c6a24) 88%,#000);color:#fff}body.shell-field-ops .fm-mvp-btn--danger{background:#b42318;border-color:#b42318;color:#fff}body.shell-field-ops .fm-mvp-btn--danger:hover:not(:disabled){background:#9b1c14;color:#fff}body.shell-field-ops .fm-mvp-btn.fm-mvp-btn--edit-time,body.shell-field-ops .fm-mvp-header-actions .fm-mvp-btn.fm-mvp-btn--edit-time,body.shell-field-ops .fm-mvp-selection-bar .fm-mvp-btn.fm-mvp-btn--edit-time{background:color-mix(in srgb,var(--accent-base, #8c6a24) 14%,#fff);border-color:color-mix(in srgb,var(--accent-base, #8c6a24) 28%,#e8e4dc);color:var(--accent-base, #8c6a24);font-weight:700}body.shell-field-ops .fm-mvp-btn.fm-mvp-btn--edit-time:hover:not(:disabled),body.shell-field-ops .fm-mvp-header-actions .fm-mvp-btn.fm-mvp-btn--edit-time:hover:not(:disabled),body.shell-field-ops .fm-mvp-selection-bar .fm-mvp-btn.fm-mvp-btn--edit-time:hover:not(:disabled){background:color-mix(in srgb,var(--accent-base, #8c6a24) 22%,#fff);border-color:color-mix(in srgb,var(--accent-base, #8c6a24) 40%,#e8e4dc);color:color-mix(in srgb,var(--accent-base, #8c6a24) 88%,#000)}body.shell-field-ops .fm-mvp-btn.fm-mvp-btn--edit-time:disabled{background:#f3f0ea;border-color:#e8e4dc;color:#a89b86;opacity:1}body.shell-field-ops .fm-mvp-page-filters{display:flex;gap:8px;margin-bottom:14px;align-items:center;flex-wrap:wrap;min-width:0;max-width:100%}body.role-foreman .fm-mvp-request-page{min-width:0;max-width:100%;overflow-x:hidden}body.shell-field-ops .fm-mvp-page-filters input{flex:1 1 160px;min-width:0}body.shell-field-ops .fm-mvp-page-filters select{flex:0 1 auto;min-width:0;max-width:100%}body.shell-field-ops .fm-mvp-req-filter-tail{display:flex;align-items:center;gap:8px;flex:1 1 auto;min-width:0}body.shell-field-ops .fm-mvp-req-filter-tail select{flex:1 1 8rem;min-width:0;max-width:11rem}body.shell-field-ops .fm-req-view-switch{display:inline-flex;align-items:center;gap:8px;border:none;border-radius:0;overflow:visible;background:transparent;flex:0 0 auto}body.shell-field-ops .fm-req-view-radio{position:relative;display:inline-flex;align-items:center;gap:5px;margin:0;padding:4px 6px;border-radius:6px;color:#64748b;font-size:12px;font-weight:750;letter-spacing:.02em;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .16s ease,color .16s ease}body.shell-field-ops .fm-req-view-radio:after{content:attr(data-view-tip);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%);padding:4px 8px;border-radius:6px;background:#0f172a;color:#fff;font-size:11px;font-weight:600;letter-spacing:0;line-height:1.2;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .14s ease,visibility .14s ease,transform .14s ease;z-index:5}body.shell-field-ops .fm-req-view-radio:hover:after,body.shell-field-ops .fm-req-view-radio:focus-within:after{opacity:1;visibility:visible;transform:translate(-50%) translateY(-2px)}body.shell-field-ops .fm-req-view-radio input{width:14px;height:14px;margin:0;accent-color:var(--accent-base, #8c6a24);cursor:pointer}body.shell-field-ops .fm-req-view-radio:hover{background:#f8fafc;color:#334155}body.shell-field-ops .fm-req-view-radio.is-active{color:var(--accent-base, #8c6a24);background:color-mix(in srgb,var(--accent-base, #8c6a24) 12%,#fff)}body.shell-field-ops .fm-req-view-radio:focus-within{outline:2px solid color-mix(in srgb,var(--accent-base, #8c6a24) 55%,transparent);outline-offset:1px}body.shell-field-ops .fm-mvp-request-page{min-width:0;max-width:100%;overflow-x:hidden}body.shell-field-ops .fm-req-table-card{background:#fff;border:1px solid #dbe2ea;border-radius:12px;overflow:hidden;min-width:0;max-width:100%}body.shell-field-ops .fm-req-table-wrap{overflow:hidden;max-width:100%;min-width:0}body.shell-field-ops .fm-req-table{width:100%;max-width:100%;min-width:0;border-collapse:collapse;table-layout:fixed}body.shell-field-ops .fm-req-table th,body.shell-field-ops .fm-req-table td{box-sizing:border-box;min-width:0;max-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.shell-field-ops .fm-req-table th{text-align:left;font-size:10px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:#64748b;background:#f8fafc;padding:11px 10px;border-bottom:1px solid #dbe2ea;overflow:hidden;text-overflow:ellipsis}body.shell-field-ops .fm-req-col-id,body.shell-field-ops .fm-req-col-type{width:12%}body.shell-field-ops .fm-req-col-project{width:20%}body.shell-field-ops .fm-req-col-request{width:28%}body.shell-field-ops .fm-req-col-status{width:18%}body.shell-field-ops .fm-req-col-age{width:10%}body.shell-field-ops .fm-req-col-action,body.shell-field-ops .fm-del-table .fm-req-col-id,body.shell-field-ops .fm-del-table .fm-req-col-type{width:12%}body.shell-field-ops .fm-del-table .fm-req-col-project{width:16%}body.shell-field-ops .fm-del-table .fm-req-col-request{width:24%}body.shell-field-ops .fm-del-table .fm-req-col-status{width:16%}body.shell-field-ops .fm-del-table .fm-req-col-age,body.shell-field-ops .fm-del-table .fm-req-col-action{width:10%}body.shell-field-ops .fm-req-table-card .fm-table-footer{margin:0}body.shell-field-ops .fm-req-table td{padding:13px 10px;border-bottom:1px solid #edf1f5;font-size:12px;color:#0f172a;vertical-align:middle}body.shell-field-ops .fm-req-table-row{cursor:pointer}body.shell-field-ops .fm-req-table-row:hover td{background:#f8fafc}body.shell-field-ops .fm-req-table-row.is-highlight td{background:color-mix(in srgb,var(--accent-base, #8c6a24) 8%,#fff)}body.shell-field-ops .fm-req-table-id{display:inline-flex;align-items:center;gap:8px;max-width:100%;min-width:0;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.shell-field-ops .fm-req-table-status{display:block;max-width:100%;min-width:0;font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.shell-field-ops .fm-req-table-dot{width:7px;height:7px;border-radius:50%;background:#cbd5e1;flex:0 0 auto}body.shell-field-ops .fm-req-table-dot.is-approved{background:#16a34a}body.shell-field-ops .fm-req-table-dot.is-returned{background:#ca8a04}body.shell-field-ops .fm-req-table-dot.is-rejected{background:#ef4444}body.role-foreman .fm-req-table-dot.is-progress{background:#cbd5e1}body.shell-field-ops .fm-req-table-request-cell{max-width:0;min-width:0}body.shell-field-ops .fm-req-table-request{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#334155}body.shell-field-ops .fm-req-table-type{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;border-radius:999px;padding:3px 8px;background:#eef2f6;color:#475569;font-size:11px;font-weight:700}body.shell-field-ops .fm-req-table-status--pending,body.shell-field-ops .fm-req-table-status--progress{color:#0f172a}body.shell-field-ops .fm-req-table-status--approved{color:#16794a}body.shell-field-ops .fm-req-table-status--returned{color:#9a6700}body.shell-field-ops .fm-req-table-status--rejected{color:#b42318}body.shell-field-ops .fm-req-table-age{color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.shell-field-ops .fm-req-table-view{border:0;background:transparent;color:var(--accent-base, #8c6a24);font:inherit;font-size:12px;font-weight:700;cursor:pointer;padding:0}body.shell-field-ops .fm-req-table-view:hover{text-decoration:underline}body.shell-field-ops .fm-mvp-req-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}body.shell-field-ops .fm-mvp-docs-panel .fm-mvp-card-head{display:none}body.shell-field-ops .fm-mvp-docs-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px 0}body.shell-field-ops .fm-mvp-docs-subtabs{display:inline-flex;align-items:center;gap:0;padding:3px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}body.shell-field-ops .fm-mvp-docs-subtab{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:#64748b;border-radius:8px;padding:8px 14px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .16s ease,color .16s ease,box-shadow .16s ease}body.shell-field-ops .fm-mvp-docs-subtab:hover{color:#334155}body.shell-field-ops .fm-mvp-docs-subtab.is-active{background:#fff;color:#0f172a;box-shadow:0 1px 2px #0f172a14}body.shell-field-ops .fm-mvp-docs-subtab-count{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#eef2f6;color:#64748b;font-size:11px;font-weight:700;display:inline-grid;place-items:center}body.shell-field-ops .fm-mvp-docs-subtab.is-active .fm-mvp-docs-subtab-count{background:color-mix(in srgb,var(--accent-base, #8c6a24) 16%,#fff);color:var(--accent-base, #8c6a24)}body.shell-field-ops .fm-mvp-docs-sub{margin:4px 0 0;font-size:var(--fs-sm);color:#64748b;font-weight:500;max-width:42rem}body.shell-field-ops .fm-mvp-docs-stats{display:flex;flex-wrap:wrap;gap:8px;font-size:var(--fs-xs);font-weight:700;color:#64748b}body.shell-field-ops .fm-mvp-docs-stats span{padding:4px 10px;border-radius:999px;background:#f1f5f9;border:1px solid #e2e8f0}body.shell-field-ops .fm-mvp-docs-empty{margin:0 16px 16px;padding:28px 18px;text-align:center;border:1px dashed #d0d7e2;border-radius:12px;background:#f8fafc}body.shell-field-ops .fm-mvp-docs-empty strong{display:block;font-size:var(--fs-md);color:#0f172a}body.shell-field-ops .fm-mvp-docs-empty p{margin:6px 0 0;font-size:var(--fs-sm);color:#64748b}body.shell-field-ops .fm-mvp-docs-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:12px 14px 14px}body.shell-field-ops .fm-mvp-docs-card{background:#fff;border:1px solid #dbe2ea;border-radius:9px;padding:8px 9px;display:flex;flex-direction:column;gap:3px;min-width:0}body.shell-field-ops .fm-mvp-docs-card-top{display:flex;align-items:center;justify-content:space-between;gap:6px}body.shell-field-ops .fm-mvp-docs-card-top b{color:var(--accent-base, #8c6a24);font-size:var(--fs-xs)}body.shell-field-ops .fm-mvp-docs-card h3{margin:0;font-size:var(--fs-sm);font-weight:700;color:#0f172a;line-height:1.25;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}body.shell-field-ops .fm-mvp-docs-thumb{position:relative;margin-top:2px;width:100%;max-width:132px;height:74px;border-radius:6px;overflow:hidden;border:1px solid #e2e8f0;background:#0f172a;flex-shrink:0}body.shell-field-ops .fm-mvp-docs-thumb-img{display:block;width:100%;height:100%;object-fit:cover}body.shell-field-ops .fm-mvp-docs-thumb--loading,body.shell-field-ops .fm-mvp-docs-thumb--empty,body.shell-field-ops .fm-mvp-docs-thumb--file{display:flex;align-items:center;justify-content:center;height:74px;padding:4px 6px;text-align:center;color:#94a3b8;font-size:10px;font-weight:600;background:#f1f5f9;word-break:break-word;line-height:1.2;box-sizing:border-box}body.shell-field-ops .fm-mvp-docs-thumb--file span,body.shell-field-ops .fm-mvp-docs-thumb--empty span,body.shell-field-ops .fm-mvp-docs-thumb--loading span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}body.shell-field-ops .fm-mvp-docs-card--drawing:hover .fm-mvp-docs-thumb-img{transform:scale(1.03);transition:transform .2s ease}body.shell-field-ops .fm-mvp-docs-file{margin:0;font-size:11px;color:#64748b;word-break:break-word;line-height:1.25;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}body.shell-field-ops .fm-mvp-docs-file.is-muted{color:#94a3b8;font-style:italic}body.shell-field-ops .fm-mvp-docs-comment{margin:2px 0 0;padding:5px 8px;border-radius:6px;background:#f8fafc;border:1px solid #e2e8f0;font-size:11px;color:#334155;line-height:1.3;white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}body.shell-field-ops .fm-mvp-docs-comment-label{display:block;margin-bottom:2px;font-size:9px;font-weight:750;letter-spacing:.05em;text-transform:uppercase;color:#64748b}body.shell-field-ops .fm-mvp-docs-card.is-clickable{cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease}body.shell-field-ops .fm-mvp-docs-card.is-clickable:hover{border-color:color-mix(in srgb,var(--accent-base, #8c6a24) 35%,#dbe2ea);box-shadow:0 6px 16px #0f172a0f}body.shell-field-ops .fm-mvp-docs-modal-body{display:flex;flex-direction:column}body.shell-field-ops .fm-mvp-docs-preview{min-height:360px;border:1px solid #dbe2ea;border-radius:10px;overflow:hidden;background:#fff}body.shell-field-ops .fm-mvp-docs-preview-frame,body.shell-field-ops .fm-mvp-docs-preview-img{display:block;width:100%;height:min(70vh,720px);border:0;background:#f8fafc}body.shell-field-ops .fm-mvp-docs-preview-img{object-fit:contain}body.shell-field-ops .fm-mvp-docs-preview-empty{min-height:220px;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;color:#64748b;font-size:13px}body.shell-field-ops .fm-mvp-docs-card-meta{display:flex;justify-content:space-between;gap:6px;font-size:10px;color:#64748b;margin-top:1px;line-height:1.2}body.shell-field-ops .fm-mvp-docs-actions{display:flex;gap:8px;margin-top:8px}body.shell-field-ops .fm-mvp-docs-actions .fm-mvp-btn{flex:1}body.shell-field-ops .fm-mvp-docs-card .fm-att-status{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:var(--fs-xs);font-weight:700;line-height:1.2;white-space:nowrap}body.shell-field-ops .fm-mvp-docs-card .fm-att-status.fm-in{background:#e8f5ef;color:#166534}body.shell-field-ops .fm-mvp-docs-card .fm-att-status.fm-pending{background:#fef3c7;color:#92400e}body.shell-field-ops .fm-mvp-docs-card .fm-att-status.fm-absent{background:#fee2e2;color:#991b1b}@media(max-width:1400px){body.shell-field-ops .fm-mvp-docs-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1100px){body.shell-field-ops .fm-mvp-docs-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:860px){body.shell-field-ops .fm-mvp-docs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){body.shell-field-ops .fm-mvp-docs-grid{grid-template-columns:1fr}}body.shell-field-ops .fm-mvp-req-card-top .fm-att-status{display:inline-flex;align-items:center;gap:0;padding:3px 9px;border-radius:999px;font-size:var(--fs-xs);font-weight:700;line-height:1.2;white-space:nowrap}body.shell-field-ops .fm-mvp-req-card-top .fm-att-status:before,body.shell-field-ops .fm-mvp-req-card-top .fm-att-status:after{content:none!important;display:none!important}body.shell-field-ops .fm-mvp-req-footer{margin-top:14px;border:1px solid #dbe2ea;border-radius:12px;background:#fff}body.shell-field-ops .fm-mvp-req-card{background:#fff;border:1px solid #dbe2ea;border-radius:11px;padding:14px;cursor:pointer;text-align:left;width:100%;color:inherit;font:inherit;transition:box-shadow .2s ease,border-color .2s ease}body.shell-field-ops .fm-mvp-req-card:hover{box-shadow:0 3px 14px #1d2d4214}body.shell-field-ops .fm-mvp-req-card.is-highlight{border-color:var(--accent-base, #8c6a24)}body.shell-field-ops .fm-mvp-req-card-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}body.shell-field-ops .fm-mvp-req-card-top b{font-size:var(--fs-base);font-weight:700;color:var(--accent-base, #8c6a24);letter-spacing:.01em}body.shell-field-ops .fm-mvp-req-card h3{margin:10px 0 4px;font-size:var(--fs-md);font-weight:700;color:#0f172a}body.shell-field-ops .fm-mvp-req-card p{margin:0;color:#475569;font-size:var(--fs-sm)}body.shell-field-ops .fm-mvp-req-card-meta{border-top:1px solid #edf1f5;margin-top:12px;padding-top:10px;display:flex;justify-content:space-between;gap:8px;font-size:var(--fs-xs);color:#475569}body.shell-field-ops .fm-mvp-req-empty{grid-column:1 / -1;padding:32px 16px;text-align:center;color:#475569;font-size:var(--fs-base)}body.shell-field-ops .view-po-overlay:not(.open),body.shell-field-ops #viewPoOverlay:not(.open),body.shell-field-ops .project-workspace-overlay:not(.open),body.shell-field-ops #procRejectOverlay:not(.open),body.shell-field-ops #procMaterialReviewOverlay:not(.open),body.shell-field-ops #viewMaterialRequestOverlay:not(.open),body.shell-field-ops .view-material-request-overlay:not(.open){display:none!important}body.shell-field-ops .material-request-overlay.material-request-overlay--center{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;z-index:10150!important;display:grid!important;place-items:center!important;align-items:center!important;justify-content:center!important;align-content:center!important;padding:max(20px,env(safe-area-inset-top,0px)) 24px max(20px,env(safe-area-inset-bottom,0px))!important;background:#0f172a6b!important;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);overflow:auto!important;overscroll-behavior:contain;animation:none!important}body.shell-field-ops .material-request-overlay--center .material-request-card{width:min(560px,calc(100vw - 48px))!important;height:auto!important;max-height:min(88vh,780px)!important;margin:auto!important;border:1px solid #dbe2ea!important;border-left:1px solid #dbe2ea!important;border-radius:16px!important;box-shadow:0 24px 60px #0f172a33!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;animation:none!important}body.shell-field-ops .material-request-overlay--center .crew-profile-request-card{width:min(780px,calc(100vw - 48px))!important;max-height:min(90vh,860px)!important}body.shell-field-ops .material-request-overlay--center .manpower-request-card{width:min(920px,calc(100vw - 48px))!important;max-height:min(88vh,860px)!important}body.shell-field-ops .material-request-overlay--center .manpower-request-card .material-request-form-scroll{overflow-x:auto}body.shell-field-ops .fm-mvp .fm-table-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:12px 18px;border-top:1px solid #dbe2ea;background:#fafbfc}body.shell-field-ops .fm-mvp .fm-mvp-footer-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}body.shell-field-ops .fm-mvp .fm-mvp-footer-actions strong{font-size:var(--fs-sm);font-weight:700;color:#334155;white-space:nowrap}body.shell-field-ops .fm-mvp .fm-mvp-footer-actions .fm-mvp-btn{padding:6px 12px;white-space:nowrap}body.shell-field-ops .fm-mvp .fm-table-footer-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}body.shell-field-ops .fm-mvp .fm-page-summary{font-size:var(--fs-sm);color:#64748b;font-weight:600}body.shell-field-ops .fm-mvp .fm-pagination{display:flex;align-items:center;gap:4px}body.shell-field-ops .fm-mvp .fm-page-btn{min-width:30px;height:30px;border:1px solid #dbe2ea;border-radius:8px;background:#fff;font-size:var(--fs-sm);font-weight:700;color:#0f172a;cursor:pointer}body.shell-field-ops .fm-mvp .fm-page-btn.active{background:var(--accent-base, #8c6a24);border-color:var(--accent-base, #8c6a24);color:#fff}body.shell-field-ops .fm-mvp .fm-page-btn:disabled{opacity:.45;cursor:not-allowed}body.shell-field-ops .material-request-btn-submit{background:var(--accent-base, #8c6a24);border-color:var(--accent-base, #8c6a24);color:#fff}body.shell-field-ops .material-request-btn-submit:hover:not(:disabled){background:color-mix(in srgb,var(--accent-base, #8c6a24) 88%,#000);color:#fff}body.shell-field-ops .material-combobox.is-open .material-combobox-input,body.shell-field-ops .scrollable-select-trigger.is-open{border-color:var(--accent-base, #8c6a24);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-base, #8c6a24) 18%,transparent)}body.shell-field-ops .material-combobox.is-open .material-combobox-chevron,body.shell-field-ops .scrollable-select-trigger.is-open .scrollable-select-chevron{color:var(--accent-base, #8c6a24);background:color-mix(in srgb,var(--accent-base, #8c6a24) 12%,#fff)}body.shell-field-ops .material-request-form .entry-input:focus,body.shell-field-ops .material-request-form .entry-select:focus,body.shell-field-ops .material-request-form .material-request-textarea:focus{border-color:var(--accent-base, #8c6a24);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-base, #8c6a24) 16%,transparent);outline:none}body.shell-field-ops .fm-req-overlay.open,body.shell-field-ops .fm-req-overlay.fm-req-overlay--center{display:grid;place-items:center;padding:24px;justify-content:center;align-items:center;background:#0f172a7a;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}body.shell-field-ops .fm-req-overlay.open .fm-req-dialog,body.shell-field-ops .fm-req-overlay--center .fm-req-dialog,.eng-req-view-mvp.fm-req-overlay.open .fm-req-dialog,.eng-req-view-mvp.fm-req-overlay--center .fm-req-dialog{width:min(960px,calc(100vw - 48px));height:auto;max-height:min(92vh,900px);border-radius:16px;border:1px solid #dbe2ea;box-shadow:0 24px 60px #0f172a33;animation:none}body.shell-field-ops .fm-req-overlay--center .fm-req-dialog.fm-req-dialog--mvp-detail,.eng-req-view-mvp.fm-req-overlay--center .fm-req-dialog.fm-req-dialog--mvp-detail{width:min(1120px,calc(100vw - 48px));height:auto;max-height:min(92vh,920px)}body.shell-field-ops .fm-req-overlay--center .fm-req-dialog.fm-mvp-docs-modal{width:min(960px,calc(100vw - 32px));max-height:min(92vh,860px)}body.shell-field-ops .fm-req-dialog-head--mvp{padding:12px 16px 10px}body.shell-field-ops .fm-req-dialog-head--mvp .fm-req-dialog-head-row{align-items:center}body.shell-field-ops .fm-mvp-docs-modal-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}body.shell-field-ops .fm-mvp-docs-download{display:grid;place-items:center;width:36px;height:36px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#0f172a;cursor:pointer;padding:0}body.shell-field-ops .fm-mvp-docs-download:hover{background:#f1f5f9}body.shell-field-ops .fm-req-dialog-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}body.shell-field-ops .fm-req-dialog-body--mvp,.eng-req-view-mvp .fm-req-dialog-body--mvp{padding:16px 18px 18px;background:#f7f8f7;flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto}body.shell-field-ops .fm-req-dialog-head--mvp .fm-req-dialog-title{font-size:var(--fs-lg, 18px);font-weight:600;color:#0f172a}body.shell-field-ops .fm-req-detail-id-accent{color:var(--accent-base, #8c6a24);font-weight:700}body.shell-field-ops .fm-req-dialog-head--mvp .fm-req-detail-status{font-size:var(--fs-xs, 11px);font-weight:700}body.shell-field-ops .fm-mvp-detail-body{display:flex;flex-direction:column;gap:14px;font-family:inherit}body.shell-field-ops .fm-mvp-detail-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #fcd34d;border-radius:10px;background:#fffbeb}body.shell-field-ops .fm-mvp-detail-actions-copy{margin:0;flex:1 1 220px;font-size:13px;line-height:1.4;color:#92400e}body.shell-field-ops .fm-mvp-detail-form-error{margin:0;flex:1 1 100%;color:#b91c1c;font-size:12px;font-weight:650}body.shell-field-ops .fm-mvp-detail-fact--edit{gap:6px}body.shell-field-ops .fm-mvp-detail-input,body.shell-field-ops .fm-mvp-detail-textarea{width:100%;border:1px solid #dbe2ea;border-radius:8px;padding:8px 10px;font:inherit;font-size:13px;color:#0f172a;background:#fff;box-sizing:border-box}body.shell-field-ops .fm-mvp-detail-input:focus,body.shell-field-ops .fm-mvp-detail-textarea:focus{outline:none;border-color:color-mix(in srgb,var(--accent-base, #8c6a24) 55%,#94a3b8);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-base, #8c6a24) 16%,transparent)}body.shell-field-ops .fm-mvp-detail-textarea.is-error{border-color:#dc2626;background:#fef2f2}body.shell-field-ops .fm-mvp-detail-qty{display:grid;grid-template-columns:1fr 1fr;gap:8px}body.shell-field-ops .fm-mvp-detail-reason--edit{display:flex;flex-direction:column;gap:6px}body.shell-field-ops .fm-mvp-detail-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.9fr);gap:16px;align-items:start}body.shell-field-ops .fm-mvp-detail-main{display:flex;flex-direction:column;gap:12px;min-width:0}body.shell-field-ops .fm-mvp-detail-review{margin-top:10px}body.shell-field-ops .fm-req-dialog-head-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}body.shell-field-ops .fm-mvp-detail-side{min-width:0;display:flex;flex-direction:column;gap:12px;position:sticky;top:0}body.shell-field-ops .fm-mvp-detail-side .fm-req-review-section{margin-top:0;padding:12px 12px 10px;border:1px solid #dbe2ea;border-radius:12px;background:#fff;box-shadow:0 1px 2px #0f172a0a}body.shell-field-ops .fm-req-review-section--main .fm-req-review-section,.eng-req-view-mvp .fm-req-review-section--main .fm-req-review-section{margin-top:0;padding-top:0;border-top:0}body.shell-field-ops .fm-mvp-detail-card,.eng-req-view-mvp .fm-mvp-detail-card{background:#fff;border:1px solid #dbe2ea;border-radius:12px;padding:14px 14px 12px;box-shadow:0 1px 2px #0f172a0a}body.shell-field-ops .fm-mvp-detail-card-kicker{display:inline-flex;align-items:center;gap:8px;margin-bottom:6px;color:#64748b;font-size:var(--fs-caption, 11px);font-weight:600;letter-spacing:.05em;text-transform:uppercase}body.shell-field-ops .fm-mvp-detail-headline{margin:0 0 10px;font-size:var(--fs-lg, 18px);font-weight:600;color:#0f172a;line-height:1.35}body.shell-field-ops .fm-mvp-detail-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}body.shell-field-ops .fm-mvp-detail-fact{display:flex;flex-direction:column;gap:4px;min-width:0}body.shell-field-ops .fm-mvp-detail-fact-label{font-size:var(--fs-caption, 11px);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#64748b}body.shell-field-ops .fm-mvp-detail-fact-value{font-size:var(--fs-base, 14px);font-weight:500;color:#0f172a;word-break:break-word}body.shell-field-ops .fm-mvp-detail-fact-value{display:inline-flex;align-items:center;gap:6px;min-width:0}body.shell-field-ops .fm-mvp-detail-fact-value .eng-review-count-change{display:inline-flex;margin-left:auto;color:#0f172a;cursor:pointer}body.shell-field-ops .fm-mvp-detail-fact-value.is-emphasis,body.shell-field-ops .fm-mvp-detail-date{color:#b42318;font-weight:500}body.shell-field-ops .fm-mvp-detail-date{display:inline-flex;align-items:center;gap:6px}body.shell-field-ops .fm-mvp-detail-reason{margin-top:16px;display:flex;flex-direction:column;gap:8px}body.shell-field-ops .fm-mvp-detail-reason p{margin:0;padding:12px 14px;border-radius:10px;border:1px solid #e2e8f0;background:color-mix(in srgb,var(--accent-base, #8c6a24) 6%,#fff);color:#0f172a;font-size:var(--fs-base, 14px);font-weight:400;line-height:1.55}body.shell-field-ops .fm-mvp-detail-section-title{margin:0 0 12px;font-size:var(--fs-md, 16px);font-weight:600;color:#0f172a}body.shell-field-ops .fm-mvp-detail-empty-docs{margin:0;color:#64748b;font-size:var(--fs-sm, 13px);font-weight:400}body.shell-field-ops .fm-mvp-detail-doc{width:100%;display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #dbe2ea;border-radius:10px;background:#fff;text-align:left}body.shell-field-ops .fm-mvp-detail-doc-open{flex:1;min-width:0;display:flex;align-items:center;gap:12px;border:0;background:transparent;padding:0;margin:0;text-align:left;cursor:pointer;font:inherit;color:inherit}body.shell-field-ops .fm-mvp-detail-doc-open:hover .fm-mvp-detail-doc-copy b{text-decoration:underline}body.shell-field-ops .fm-mvp-detail-doc:hover{background:color-mix(in srgb,var(--accent-base, #8c6a24) 8%,#fff)}body.shell-field-ops .fm-mvp-detail-doc-download{display:grid;place-items:center;width:36px;height:36px;margin-left:auto;flex-shrink:0;border:0;background:transparent;border-radius:8px;color:var(--accent-base, #8c6a24);cursor:pointer;padding:0}body.shell-field-ops .fm-mvp-detail-doc-download:hover{background:color-mix(in srgb,var(--accent-base, #8c6a24) 14%,#fff)}body.shell-field-ops .fm-mvp-detail-doc-download:disabled{opacity:.55;cursor:wait}body.shell-field-ops .fm-mvp-detail-doc-action{border:0;background:transparent;color:var(--accent-base, #8c6a24);font:inherit;font-size:12px;font-weight:700;cursor:pointer;padding:0 2px}body.shell-field-ops .fm-mvp-detail-doc-action:hover{text-decoration:underline}body.shell-field-ops .fm-mvp-detail-doc-icon{width:40px;height:40px;border-radius:8px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent-base, #8c6a24) 14%,#fff);color:var(--accent-base, #8c6a24);flex-shrink:0}body.shell-field-ops .fm-mvp-detail-doc-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}body.shell-field-ops .fm-mvp-detail-doc-copy b{font-size:var(--fs-sm, 13px);font-weight:600;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.shell-field-ops .fm-mvp-detail-doc-copy small{font-size:var(--fs-caption, 11px);font-weight:400;color:#64748b}body.shell-field-ops .fm-mvp-approval--mvp{background:#fff;border:1px solid #dbe2ea;border-radius:12px;padding:12px 12px 10px;box-shadow:0 1px 2px #0f172a0a;min-width:0;overflow:hidden}body.shell-field-ops .fm-mvp-approval--mvp h3{margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid #e2e8f0;font-size:13px;font-weight:650;color:#0f172a}body.shell-field-ops .fm-mvp-approval-cycle{display:flex;flex-direction:column;gap:8px;margin:0 0 12px}body.shell-field-ops .fm-mvp-approval-cycle-item{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc}body.shell-field-ops .fm-mvp-approval-cycle-item--returned{border-color:#fed7aa;background:#fff7ed}body.shell-field-ops .fm-mvp-approval-cycle-item--resubmitted{border-color:#fde047;background:#fefce8}body.shell-field-ops .fm-mvp-approval-cycle-badge{flex-shrink:0;padding:2px 7px;border-radius:999px;font-size:9px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;background:#fff;border:1px solid currentColor}body.shell-field-ops .fm-mvp-approval-cycle-item--returned .fm-mvp-approval-cycle-badge{color:#9a3412}body.shell-field-ops .fm-mvp-approval-cycle-item--resubmitted .fm-mvp-approval-cycle-badge{color:#854d0e}body.shell-field-ops .fm-mvp-approval-cycle-copy{min-width:0}body.shell-field-ops .fm-mvp-approval-cycle-copy b{display:block;font-size:12px;color:#0f172a}body.shell-field-ops .fm-mvp-approval-cycle-copy small{display:block;color:#64748b;font-size:10px}body.shell-field-ops .fm-mvp-approval-cycle-copy p{margin:4px 0 0;font-size:11px;line-height:1.35;color:#475569}body.shell-field-ops .fm-mvp-approval-mvp-list{list-style:none;margin:0;padding:0 4px 0 20px;position:relative;min-width:0;overflow:hidden}body.shell-field-ops .fm-mvp-approval-mvp-step{position:relative;margin-bottom:10px;background:transparent}body.shell-field-ops .fm-mvp-approval-mvp-step:not(:last-child):after{content:"";position:absolute;left:-14px;top:16px;bottom:-10px;width:2px;background:#d5dde6;z-index:0}body.shell-field-ops .fm-mvp-approval-mvp-step:last-child{margin-bottom:0}body.shell-field-ops .fm-mvp-approval-mvp-dot{position:absolute;left:-20px;top:2px;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid #9aa7b5;display:grid;place-items:center;z-index:1;color:#fff}body.shell-field-ops .fm-mvp-approval-mvp-step.is-done .fm-mvp-approval-mvp-dot{background:var(--accent-base, #8c6a24);border-color:var(--accent-base, #8c6a24)}body.shell-field-ops .fm-mvp-approval-mvp-step.is-current .fm-mvp-approval-mvp-dot{border-color:var(--accent-base, #8c6a24);background:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-base, #8c6a24) 22%,transparent)}body.shell-field-ops .fm-mvp-approval-mvp-step.is-pending{opacity:.72}body.shell-field-ops .fm-mvp-approval-mvp-kicker{display:block;margin-bottom:2px;font-size:10px;font-weight:650;letter-spacing:.05em;text-transform:uppercase;color:#64748b}body.shell-field-ops .fm-mvp-approval-mvp-card .fm-mvp-approval-mvp-kicker{color:var(--accent-base, #8c6a24)}body.shell-field-ops .fm-mvp-approval-mvp-plain-row{margin-top:2px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-width:0}body.shell-field-ops .fm-mvp-approval-mvp-who{min-width:0;flex:1 1 auto;overflow:hidden}body.shell-field-ops .fm-mvp-approval-mvp-card .fm-mvp-approval-mvp-plain-row,body.shell-field-ops .fm-mvp-approval-mvp-card .fm-mvp-approval-mvp-meta{align-items:center}body.shell-field-ops .fm-mvp-approval-mvp-plain b,body.shell-field-ops .fm-mvp-approval-mvp-person b{display:block;font-size:12px;font-weight:650;color:#0f172a;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.shell-field-ops .fm-mvp-approval-mvp-event{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;font-size:9px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;vertical-align:middle;color:#9a3412;background:#fff7ed}body.shell-field-ops .fm-mvp-approval-mvp-plain small,body.shell-field-ops .fm-mvp-approval-mvp-person small{display:block;color:#64748b;font-size:10px;font-weight:500;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.shell-field-ops .fm-mvp-approval-mvp-time{display:flex;flex-direction:column;align-items:flex-end;gap:1px;flex:0 1 auto;min-width:0;font-size:10px;font-weight:400;color:#64748b;font-variant-numeric:tabular-nums;line-height:1.25;text-align:right;white-space:nowrap}body.shell-field-ops .fm-mvp-approval-mvp-card{margin-top:2px;border:1px solid color-mix(in srgb,var(--accent-base, #8c6a24) 28%,#e8e4dc);border-radius:10px;background:color-mix(in srgb,var(--accent-base, #8c6a24) 8%,#fff);padding:10px}body.shell-field-ops .fm-mvp-approval-mvp-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:6px;margin-bottom:8px;border-bottom:1px solid color-mix(in srgb,var(--accent-base, #8c6a24) 18%,#e8e4dc)}body.shell-field-ops .fm-mvp-approval-mvp-pending{font-size:10px;font-weight:650;padding:2px 7px;border-radius:999px;background:color-mix(in srgb,var(--accent-base, #8c6a24) 14%,#fff);color:var(--accent-base, #8c6a24)}body.shell-field-ops .fm-mvp-approval-mvp-person{display:flex;align-items:flex-start;gap:8px}body.shell-field-ops .fm-mvp-approval-mvp-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--accent-base, #8c6a24);color:#fff;font-size:12px;font-weight:650;flex-shrink:0}body.shell-field-ops .fm-mvp-approval-mvp-copy{flex:1;min-width:0}body.shell-field-ops .fm-mvp-approval-mvp-tools{display:flex;align-items:center;gap:8px;margin-top:8px}body.shell-field-ops .fm-mvp-approval-mvp-meta{display:flex;align-items:flex-start;gap:6px;flex:0 0 auto;max-width:46%}body.shell-field-ops .fm-mvp-approval-mvp-note{position:relative;display:inline-grid;place-items:center;width:26px;height:26px;margin:0;padding:0;border:0;border-radius:999px;color:var(--accent-base, #8c6a24);background:color-mix(in srgb,var(--accent-base, #8c6a24) 10%,#fff);cursor:pointer;flex-shrink:0}body.shell-field-ops .fm-mvp-approval-mvp-note:hover,body.shell-field-ops .fm-mvp-approval-mvp-note:focus-visible{background:color-mix(in srgb,var(--accent-base, #8c6a24) 18%,#fff)}body.shell-field-ops .fm-mvp-approval-mvp-step.is-returned .fm-mvp-approval-mvp-dot,body.shell-field-ops .fm-mvp-approval-mvp-step.is-escalated .fm-mvp-approval-mvp-dot{background:#b45309;border-color:#b45309}body.shell-field-ops .fm-mvp-approval-contact--icons{margin-top:0;gap:6px}body.shell-field-ops .fm-mvp-contact-icon{position:relative;display:grid;place-items:center;width:28px;height:28px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent-base, #8c6a24) 35%,#e8e4dc);background:#fff;color:var(--accent-base, #8c6a24);text-decoration:none}body.shell-field-ops .fm-mvp-contact-icon:hover{background:color-mix(in srgb,var(--accent-base, #8c6a24) 10%,#fff)}body.shell-field-ops .fm-mvp-contact-icon[data-phone]:hover:after,body.shell-field-ops .fm-mvp-contact-icon[data-phone]:focus-visible:after{content:attr(data-phone);position:absolute;left:50%;bottom:calc(100% + 6px);transform:translate(-50%);white-space:nowrap;padding:5px 8px;border-radius:6px;background:#0f172a;color:#fff;font-size:11px;font-weight:600;z-index:6}body.shell-field-ops .fm-mvp-approval-mvp-card .fm-mvp-contact-btn{flex:1;justify-content:center;color:var(--accent-base, #8c6a24);border-color:color-mix(in srgb,var(--accent-base, #8c6a24) 35%,#e8e4dc);background:#fff;font-weight:600;font-size:10px;padding:4px 8px}body.shell-field-ops .fm-mvp-approval-mvp-card .fm-mvp-contact-btn:hover{background:color-mix(in srgb,var(--accent-base, #8c6a24) 10%,#fff)}@media(max-width:900px){body.shell-field-ops .fm-mvp-detail-layout{grid-template-columns:1fr}body.shell-field-ops .fm-mvp-detail-side{position:static}body.shell-field-ops .fm-mvp-detail-facts{grid-template-columns:1fr}}body.shell-field-ops .fm-mvp-approval--form{border:1px solid color-mix(in srgb,var(--accent-base, #8c6a24) 28%,#e8e4dc);background:color-mix(in srgb,var(--accent-base, #8c6a24) 8%,#fff);border-radius:8px;padding:10px 12px}body.shell-field-ops .fm-mvp-approval--form h4{margin:0 0 4px;color:var(--accent-base, #8c6a24);font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:700}body.shell-field-ops .fm-mvp-approval--form .fm-mvp-approval-flow{display:flex;flex-wrap:wrap;align-items:center;gap:2px 0;margin:2px 0;font-size:11px;line-height:1.45;font-weight:550;color:#0f172a}body.shell-field-ops .fm-mvp-approval--form .fm-mvp-approval-arrow{display:inline-block;margin:0 6px;font-size:12px;font-weight:400;line-height:1;color:#94a3b8;transform:none}body.shell-field-ops .fm-mvp-approval--form small{color:#475569;font-size:10px}.fm-mvp-approval--form{margin-top:12px;border:1px solid color-mix(in srgb,var(--accent-base, #8c6a24) 28%,#e8e4dc);background:color-mix(in srgb,var(--accent-base, #8c6a24) 8%,#fff);border-radius:10px;padding:12px 14px}.fm-mvp-approval--form h4{margin:0 0 8px;color:var(--accent-base, #8c6a24);font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.fm-mvp-approval--form .fm-mvp-approval-flow{display:flex;flex-wrap:wrap;align-items:center;gap:6px 0;margin:0;font-size:12px;line-height:1.4;font-weight:600;color:#0f172a}.fm-mvp-approval--form .fm-mvp-approval-node{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent-base, #8c6a24) 22%,#e8e4dc);background:#fff;white-space:nowrap}.fm-mvp-approval--form .fm-mvp-approval-arrow{display:inline-flex;align-items:center;margin:0 8px;font-size:13px;font-weight:400;line-height:1;color:#94a3b8}body.shell-field-ops .fm-mvp-approval-contact{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}body.shell-field-ops .fm-mvp-contact-btn{display:inline-flex;align-items:center;padding:5px 8px;border-radius:6px;border:1px solid color-mix(in srgb,var(--accent-base, #8c6a24) 35%,#e8e4dc);background:#fff;color:var(--accent-base, #8c6a24);font-size:10px;font-weight:700;text-decoration:none;cursor:pointer;transition:background-color .2s ease}body.shell-field-ops .fm-mvp-contact-btn:hover{background:color-mix(in srgb,var(--accent-base, #8c6a24) 10%,#fff)}body.shell-field-ops .fm-mvp-contact-btn[aria-disabled=true]{color:#475569}body.shell-field-ops .fm-mvp-approval-hint{margin:6px 0 0;font-size:10px;color:#b42318}body.shell-field-ops .fm-mvp-approval--detail h3{margin:0 0 12px;font-size:var(--fs-md)}body.shell-field-ops .fm-mvp-approval-timeline{list-style:none;margin:0;padding:0 0 0 18px;border-left:none}body.shell-field-ops .fm-mvp-approval-step{position:relative;margin-bottom:14px;background:transparent}body.shell-field-ops .fm-mvp-approval-step:not(:last-child):after{content:"";position:absolute;left:-18px;top:14px;bottom:-14px;width:2px;background:#d5dde6;z-index:0}body.shell-field-ops .fm-mvp-approval-step:last-child{margin-bottom:0}body.shell-field-ops .fm-mvp-approval-step:before{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid #9aa7b5;left:-23px;top:2px;z-index:1}body.shell-field-ops .fm-mvp-approval-step.is-done:before{background:var(--accent-base, #8c6a24);border-color:var(--accent-base, #8c6a24)}body.shell-field-ops .fm-mvp-approval-step.is-current:before{background:#fff;border-color:var(--accent-base, #8c6a24)}body.shell-field-ops .fm-mvp-approval-step b{display:block;font-size:12px;font-weight:650;color:#0f172a}body.shell-field-ops .fm-mvp-approval-step small{color:#475569;font-size:10px}body.shell-field-ops.mobile-tab-shell .fm-mvp,body.shell-field-ops.native-app .fm-mvp{display:block;height:auto;min-height:100%}body.shell-field-ops.mobile-tab-shell .fm-mvp-sidebar,body.shell-field-ops.native-app .fm-mvp-sidebar{display:none}body.shell-field-ops.mobile-tab-shell .fm-mvp-top,body.shell-field-ops.native-app .fm-mvp-top{padding:14px 16px 12px}body.shell-field-ops.mobile-tab-shell .fm-mvp-quick,body.shell-field-ops.native-app .fm-mvp-quick{padding:10px 16px;overflow-x:auto;flex-wrap:nowrap}body.shell-field-ops.mobile-tab-shell .fm-mvp-body,body.shell-field-ops.native-app .fm-mvp-body{padding:14px 16px 120px}body.shell-field-ops.mobile-tab-shell .fm-mvp-req-grid,body.shell-field-ops.native-app .fm-mvp-req-grid{grid-template-columns:1fr}body.shell-field-ops.mobile-tab-shell .fm-mvp .fm-workspace-tabs,body.shell-field-ops.native-app .fm-mvp .fm-workspace-tabs{margin:0 16px 8px}body.shell-field-ops.mobile-tab-shell .fm-mvp .fm-workspace-tab.is-active,body.shell-field-ops.native-app .fm-mvp .fm-workspace-tab.is-active{background:var(--accent-base, #8c6a24);color:#fff}body.shell-field-ops .fm-mvp-mobile-card{background:#fff;border:1px solid #dbe2ea;border-radius:11px;padding:12px;cursor:pointer}body.shell-field-ops .fm-mvp-mobile-card.is-selected{background:color-mix(in srgb,var(--accent-base, #8c6a24) 10%,#fff);border-color:color-mix(in srgb,var(--accent-base, #8c6a24) 35%,#dbe2ea);box-shadow:inset 3px 0 0 var(--accent-base, #8c6a24)}body.shell-field-ops .fm-mvp-mobile-list{display:flex;flex-direction:column;gap:10px}@media(max-width:1050px){body.shell-field-ops .fm-mvp-req-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){body.shell-field-ops .fm-mvp-req-grid{grid-template-columns:1fr}body.shell-field-ops .fm-mvp-page-filters{flex-direction:column;align-items:stretch}body.shell-field-ops .fm-mvp-req-filter-tail{width:100%}body.shell-field-ops .fm-mvp-req-filter-tail select{flex:1 1 auto;min-width:0}body.shell-field-ops .material-request-overlay--center .material-request-card,body.shell-field-ops .material-request-overlay--center .manpower-request-card{width:100%;max-height:100dvh;border-radius:16px 16px 0 0}}body.shell-field-ops .profile-menu-wrap--field-ops{position:relative}body.shell-field-ops .shell-topbar .profile-btn.profile-btn--field-ops,body.shell-field-ops .shell-topbar--field-ops .profile-btn.profile-btn--field-ops,body.shell-field-ops .profile-btn--field-ops{width:auto;height:auto;min-height:40px;padding:0;border:none;border-radius:0;background:transparent;color:var(--accent-base, #8c6a24);box-shadow:none;display:inline-flex;align-items:center;gap:10px;transform:none}body.shell-field-ops .shell-topbar .profile-btn.profile-btn--field-ops:hover,body.shell-field-ops .shell-topbar .profile-btn.profile-btn--field-ops[aria-expanded=true],body.shell-field-ops .shell-topbar--field-ops .profile-btn.profile-btn--field-ops:hover,body.shell-field-ops .shell-topbar--field-ops .profile-btn.profile-btn--field-ops[aria-expanded=true],body.shell-field-ops .profile-btn--field-ops:hover,body.shell-field-ops .profile-btn--field-ops[aria-expanded=true]{background:transparent;border:none;transform:none;box-shadow:none}body.shell-field-ops .profile-btn--field-ops .profile-avatar{width:36px;height:36px;font-size:12px;font-weight:700;background:var(--accent-base, #8c6a24);color:#fff}body.shell-field-ops .profile-btn-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;max-width:160px;text-align:left;gap:1px}body.shell-field-ops .profile-btn-name-row{display:inline-flex;align-items:center;gap:4px;min-width:0;max-width:100%}body.shell-field-ops .profile-btn-name{font-size:var(--fs-sm, 13px);font-weight:700;color:#0f172a;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.shell-field-ops .profile-btn-role{font-size:var(--fs-caption, 11px);font-weight:600;color:var(--accent-base, #8c6a24);line-height:1.2}body.shell-field-ops .profile-btn-chevron{display:grid;place-items:center;color:var(--accent-base, #8c6a24);flex-shrink:0;line-height:1}body.shell-field-ops .profile-btn-chevron svg{width:12px;height:12px}body.shell-field-ops .profile-panel--field-ops{width:min(240px,calc(100vw - 24px));border-radius:12px;border:1px solid #dbe2ea;box-shadow:0 12px 32px #0f172a1f;padding:0}body.shell-field-ops .profile-foreman-head{padding:14px 16px 12px;border-bottom:1px solid #edf1f5}body.shell-field-ops .profile-foreman-head .profile-name{font-size:var(--fs-base, 14px);font-weight:700;color:#0f172a}body.shell-field-ops .profile-foreman-role{margin-top:4px;font-size:var(--fs-sm, 12px);font-weight:600;color:var(--accent-base, #8c6a24)}body.shell-field-ops .profile-foreman-links{display:flex;flex-direction:column;padding:6px 0}body.shell-field-ops .profile-foreman-link{width:100%;border:none;background:transparent;text-align:left;padding:10px 16px;font-size:var(--fs-sm, 13px);font-weight:500;color:#334155;cursor:pointer;transition:background-color .16s ease,color .16s ease}body.shell-field-ops .profile-foreman-link:hover{background:color-mix(in srgb,var(--accent-base, #8c6a24) 8%,#fff);color:#0f172a}body.shell-field-ops .profile-foreman-util{padding:0 8px 8px}body.shell-field-ops .profile-theme-btn--foreman{border-radius:8px;font-size:var(--fs-sm, 13px)}body.shell-field-ops .profile-foreman-foot{padding:8px 12px 12px;border-top:1px solid #edf1f5}body.shell-field-ops .profile-logout-btn--foreman{border:none;border-radius:8px;background:transparent;color:#b42318;font-size:var(--fs-sm, 13px);font-weight:600;padding:8px 4px;justify-content:flex-start}body.shell-field-ops .profile-logout-btn--foreman:hover{background:#fef2f2;border-color:transparent}@media(max-width:960px){body.shell-field-ops .profile-btn-copy{display:none}body.shell-field-ops .profile-btn--field-ops{padding:0;border:none;background:transparent}}@media(prefers-reduced-motion:reduce){body.shell-field-ops .fm-mvp-nav-btn,body.shell-field-ops .fm-mvp-qa,body.shell-field-ops .fm-mvp-quick .eng-ov-action-chip,body.shell-field-ops .fm-mvp-btn,body.shell-field-ops .fm-mvp-req-card,body.shell-field-ops .fm-mvp-contact-btn,body.shell-field-ops .fm-req-view-radio{transition:none}body.shell-field-ops .fm-req-view-radio:after{transition:none}}body.shell-field-ops .fm-mvp-nav-group{display:flex;flex-direction:column;gap:2px}body.shell-field-ops .fm-mvp-nav-btn--parent{justify-content:flex-start}body.shell-field-ops .fm-mvp-nav-btn-label{flex:1;text-align:left}body.shell-field-ops .fm-mvp-nav-chevron{margin-left:auto;font-size:10px;opacity:.7;transition:transform .15s ease}body.shell-field-ops .fm-mvp-nav-group.is-open .fm-mvp-nav-chevron{transform:rotate(180deg)}body.shell-field-ops .fm-mvp-nav-sublist{display:flex;flex-direction:column;gap:2px;padding-left:12px;margin-left:18px;border-left:1px solid color-mix(in srgb,var(--accent-base, #8c6a24) 22%,#e8e4dc)}body.shell-field-ops .fm-mvp-nav-subitem{border:0;background:transparent;color:#64748b;font:inherit;font-size:12px;font-weight:600;text-align:left;padding:8px 10px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px}body.shell-field-ops .fm-mvp-nav-subitem:hover{background:color-mix(in srgb,var(--accent-base, #8c6a24) 8%,#fff);color:#334155}body.shell-field-ops .fm-mvp-nav-subitem.is-active{background:color-mix(in srgb,var(--accent-base, #8c6a24) 14%,#fff);color:#1e293b}body.shell-field-ops .fm-mvp-nav-badge{width:8px;height:8px;border-radius:50%;background:#ef4444;flex-shrink:0}body.shell-field-ops .fm-mvp-nav-sub-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#ef4444;color:#fff;font-size:10px;font-weight:800}body.shell-field-ops .fm-att-week-module{display:flex;flex-direction:column;gap:14px}body.shell-field-ops .fm-att-week-head{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}body.shell-field-ops .fm-att-week-sub{margin:4px 0 0;color:#64748b;font-size:13px}body.shell-field-ops .fm-att-week-nav{display:inline-flex;align-items:center;gap:8px}body.shell-field-ops .fm-att-week-range{font-size:13px;font-weight:600;color:#334155;min-width:140px;text-align:center}body.shell-field-ops .fm-att-week-card{background:#fff;border:1px solid #dbe2ea;border-radius:12px;padding:14px}body.shell-field-ops .fm-att-week-meta{margin:4px 0 0;color:#64748b;font-size:12px}body.shell-field-ops .fm-att-week-status{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}body.shell-field-ops .fm-att-week-status--returned{background:#fff7ed;color:#c2410c}body.shell-field-ops .fm-att-week-status--approved{background:#ecfdf5;color:#047857}body.shell-field-ops .fm-att-week-status--pending{background:#eff6ff;color:#1d4ed8}body.shell-field-ops .fm-att-week-status--btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;font:inherit;cursor:pointer;letter-spacing:.03em;text-transform:uppercase}body.shell-field-ops .fm-att-week-status--btn:hover{filter:brightness(.97)}body.shell-field-ops .fm-att-week-status--btn:focus-visible{outline:2px solid #c2410c;outline-offset:2px}body.shell-field-ops .fm-att-week-return-box{margin:12px 0;padding:10px 12px;border-radius:10px;border:1px solid #fed7aa;background:#fff7ed}body.shell-field-ops .fm-att-week-return-box p{margin:4px 0 0;color:#9a3412}body.shell-field-ops .fm-att-week-return-box small{color:#c2410c}body.shell-field-ops .fm-att-week-hint,body.shell-field-ops .fm-att-week-locked,body.shell-field-ops .fm-att-week-loading{margin:10px 0;color:#64748b;font-size:13px}body.shell-field-ops .fm-att-week-foot{margin-top:12px;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}body.shell-field-ops .fm-att-week-pagination{margin-top:12px;padding-top:10px;border-top:1px solid #eef2f6}body.shell-field-ops .fm-att-week-action-cell{text-align:center}body.shell-field-ops .fm-att-week-action-btn{display:inline-flex;align-items:center;justify-content:center;min-width:58px;padding:5px 12px;border:1px solid #dbe2ea;border-radius:8px;background:#fff;color:var(--accent-base, #8c6a24);font:inherit;font-size:11px;font-weight:700;cursor:pointer;transition:background .15s ease,border-color .15s ease}body.shell-field-ops .fm-att-week-action-btn:hover{background:color-mix(in srgb,var(--accent-base, #8c6a24) 8%,#fff);border-color:color-mix(in srgb,var(--accent-base, #8c6a24) 35%,#dbe2ea)}body.shell-field-ops .fm-att-week-action-btn.is-returned{border-color:#fdba74;background:#fff7ed;color:#c2410c}body.shell-field-ops .fm-att-week-confirm-overlay{z-index:14000}body.shell-field-ops .fm-req-overlay--center .fm-req-dialog.fm-att-week-confirm-dialog{width:min(460px,calc(100vw - 32px));height:auto;max-height:min(90vh,420px);border-radius:14px;border:1px solid #dbe2ea;border-left:1px solid #dbe2ea;box-shadow:0 24px 60px #0f172a33;animation:none;overflow:hidden}body.shell-field-ops .fm-att-week-confirm-head{padding:16px 18px 12px}body.shell-field-ops .fm-att-week-confirm-body{padding:4px 18px 16px}body.shell-field-ops .fm-att-week-confirm-body p{margin:0 0 10px;color:#334155;font-size:14px;line-height:1.5}body.shell-field-ops .fm-att-week-confirm-note{color:#64748b!important;font-size:13px!important}body.shell-field-ops .fm-att-week-confirm-dialog .fm-att-week-confirm-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px 18px;border-top:1px solid #eef2f6;background:#fafafa}body.shell-field-ops .fm-att-week-worker-flag{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;background:#fff7ed;color:#c2410c;font-size:10px;font-weight:700;text-transform:uppercase}body.shell-field-ops .att-mark{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:11px;font-weight:800}body.shell-field-ops .att-mark--p{background:#dcfce7;color:#166534}body.shell-field-ops .att-mark--a{background:#fee2e2;color:#b91c1c}body.shell-field-ops .att-mark--c{background:#ffedd5;color:#c2410c}body.shell-field-ops .att-mark--empty{background:#f1f5f9;color:#94a3b8}body.shell-field-ops .engineer-attendance-week-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}body.shell-field-ops .fm-att-week-head-left{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}body.shell-field-ops .fm-att-week-head-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;flex-shrink:0}body.shell-field-ops .engineer-attendance-week-head h2,body.shell-field-ops .engineer-attendance-week-head h4{margin:0;font-size:var(--fs-section-title);font-weight:var(--fw-bold);letter-spacing:var(--ls-tight);line-height:var(--lh-tight);color:#0f172a}body.shell-field-ops .engineer-attendance-table-wrap{overflow-x:auto}body.shell-field-ops .engineer-attendance-week-table{width:100%;border-collapse:collapse;font-size:12px}body.shell-field-ops .engineer-attendance-week-table th,body.shell-field-ops .engineer-attendance-week-table td{padding:8px 6px;border-bottom:1px solid #eef2f6;text-align:center;white-space:nowrap}body.shell-field-ops .engineer-attendance-week-table th:first-child,body.shell-field-ops .engineer-attendance-week-table td:first-child{text-align:left}body.shell-field-ops .engineer-attendance-week-table small{display:block;color:#64748b;font-size:11px}body.shell-field-ops .engineer-attendance-week-table tr.is-returned td{background:color-mix(in srgb,#f97316 7%,#fff)}body.shell-field-ops .fm-att-week-action-btn.is-returned:hover{background:#ffedd5;border-color:#fb923c;color:#9a3412}body.shell-field-ops .fm-week-worker-backdrop{z-index:1360}body.shell-field-ops .fm-week-worker-modal{width:min(960px,calc(100vw - 32px));max-height:min(88dvh,calc(100vh - 32px));display:flex;flex-direction:column;background:#fff;border:1px solid #e8edf2;border-radius:18px;box-shadow:0 24px 60px #0f172a2e;overflow:hidden}body.shell-field-ops .fm-week-worker-modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px 12px;border-bottom:1px solid #eef2f6}body.shell-field-ops .fm-week-worker-modal__eyebrow{margin:0 0 4px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#64748b}body.shell-field-ops .fm-week-worker-modal__intro h3{margin:0;font-size:20px;line-height:1.2;color:#0f172a}body.shell-field-ops .fm-week-worker-modal__sub{margin:4px 0 0;font-size:13px;color:#64748b}body.shell-field-ops .fm-week-worker-modal__close{width:34px;height:34px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#64748b;display:inline-grid;place-items:center;cursor:pointer;flex-shrink:0}body.shell-field-ops .fm-week-worker-modal__close:hover:not(:disabled){background:#f8fafc;color:#0f172a}body.shell-field-ops .fm-week-worker-modal__meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:10px 20px 14px;font-size:12px;color:#64748b}body.shell-field-ops .fm-week-worker-modal__meta-sep{color:#cbd5e1;-webkit-user-select:none;user-select:none}body.shell-field-ops .fm-week-worker-modal__hint{margin:0 20px 10px;padding:8px 12px;font-size:12px;font-weight:600;line-height:1.4;color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px}body.shell-field-ops .fm-week-worker-modal__meta-flag{padding:2px 8px;border-radius:999px;background:#fff7ed;color:#c2410c;font-weight:700;font-size:11px}body.shell-field-ops .fm-week-worker-modal__table-wrap{margin:0 20px;border:1px solid #e8edf2;border-radius:12px;overflow:auto;flex:1 1 auto;min-height:0}body.shell-field-ops .fm-week-worker-table{width:100%;border-collapse:collapse;font-size:13px}body.shell-field-ops .fm-week-worker-table th{position:sticky;top:0;z-index:1;padding:10px 12px;background:#f8fafc;border-bottom:1px solid #e8edf2;text-align:left;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b;white-space:nowrap}body.shell-field-ops .fm-week-worker-table td{padding:10px 12px;border-bottom:1px solid #f1f5f9;vertical-align:middle}body.shell-field-ops .fm-week-worker-table tr:last-child td{border-bottom:none}body.shell-field-ops .fm-week-worker-table tr.is-absent-row td{background:#fafafa}body.shell-field-ops .fm-week-worker-table tr.has-note td{background:color-mix(in srgb,#fff7ed 35%,#fff)}body.shell-field-ops .fm-week-worker-table__day{display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-weight:600;color:#0f172a;white-space:nowrap}body.shell-field-ops .fm-week-worker-table__time{width:180px;min-width:180px;max-width:180px;vertical-align:top}body.shell-field-ops .fm-week-worker-table__time .fm-time-12h{width:168px;max-width:168px;flex-shrink:0}body.shell-field-ops .fm-week-worker-table__ot{white-space:nowrap;color:#475569}body.shell-field-ops .fm-week-worker-table__note{min-width:120px;max-width:180px;font-size:12px;line-height:1.4;color:#64748b;white-space:normal}body.shell-field-ops .fm-week-worker-time{display:inline-block;width:168px;font-weight:600;color:#0f172a;white-space:nowrap}body.shell-field-ops .fm-week-worker-status{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}body.shell-field-ops .fm-week-worker-status.is-present{background:#dcfce7;color:#166534}body.shell-field-ops .fm-week-worker-status.is-absent{background:#fee2e2;color:#b91c1c}body.shell-field-ops .fm-week-worker-status--btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;font:inherit;cursor:pointer}body.shell-field-ops .fm-week-worker-status--toggle{flex-direction:column;align-items:flex-start;gap:1px;padding:5px 12px 6px;border:1px solid transparent;box-shadow:0 1px 2px #0f172a14;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}body.shell-field-ops .fm-week-worker-status--toggle.is-absent{border-color:#fca5a5;background:#fff1f2;color:#b91c1c}body.shell-field-ops .fm-week-worker-status--toggle.is-present{border-color:#86efac;background:#ecfdf5;color:#166534}body.shell-field-ops .fm-week-worker-status__label{font-size:11px;font-weight:700;line-height:1.2}body.shell-field-ops .fm-week-worker-status__action{font-size:10px;font-weight:600;letter-spacing:.01em;opacity:.85;line-height:1.2}body.shell-field-ops .fm-week-worker-status--btn:hover:not(:disabled){filter:brightness(.97);box-shadow:0 2px 6px #0f172a1f}body.shell-field-ops .fm-week-worker-status--btn:focus-visible{outline:2px solid #b8860b;outline-offset:2px}body.shell-field-ops .fm-week-worker-status--btn:active:not(:disabled){transform:translateY(1px)}body.shell-field-ops .fm-week-worker-time-error{display:block;margin-top:4px;font-size:11px;font-weight:600;color:#b91c1c;line-height:1.3}body.shell-field-ops .fm-week-worker-time-edit .fm-week-worker-time-pill.fm-time-12h,body.shell-field-ops .fm-week-worker-time-edit .fm-time-12h--compact{width:168px;max-width:168px;border-radius:999px;border:1px solid #cbd5e1;background:#fff;padding:6px 10px;box-shadow:none}body.shell-field-ops .fm-week-worker-modal__comment{padding:14px 20px 0;flex:0 0 auto}body.shell-field-ops .fm-week-worker-modal__comment-label{display:block;margin-bottom:6px;font-size:12px;font-weight:700;color:#334155}body.shell-field-ops .fm-week-worker-modal__comment-input{width:100%;min-height:76px;padding:10px 12px;border:1px solid #dbe3ec;border-radius:10px;font:inherit;font-size:13px;line-height:1.45;resize:vertical;color:#0f172a;background:#fff}body.shell-field-ops .fm-week-worker-modal__comment-input:focus{outline:none;border-color:#94a3b8;box-shadow:0 0 0 3px #94a3b833}body.shell-field-ops .fm-week-worker-modal__comment-input.is-error{border-color:#f87171}body.shell-field-ops .fm-week-worker-modal__error{display:block;margin-top:6px;font-size:12px;color:#dc2626}body.shell-field-ops .fm-week-worker-modal__foot{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:16px 20px 18px;border-top:1px solid #eef2f6;margin-top:14px;flex:0 0 auto;background:#fafbfc}body.shell-field-ops .fm-week-worker-modal__foot .fm-week-worker-modal__btn{min-width:96px;justify-content:center;padding:9px 18px;font-size:13px;font-weight:600;border-radius:10px}body.shell-field-ops .fm-att-week-pending-badge{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:10px;font-weight:700;text-transform:uppercase}body.shell-field-ops .fm-week-worker-table tr.is-dirty-row td{background:color-mix(in srgb,#dbeafe 40%,#fff)}body.shell-field-ops .fm-week-worker-table tr.is-pending-row td{background:color-mix(in srgb,#fef3c7 45%,#fff)}body.shell-field-ops .fm-week-worker-table tr.has-engineer-note td.fm-week-worker-table__engineer-note{background:color-mix(in srgb,#fff7ed 35%,#fff)}body.shell-field-ops .fm-week-worker-row-chip{display:inline-flex;padding:1px 6px;border-radius:999px;font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}body.shell-field-ops .fm-week-worker-row-chip--dirty{background:#dbeafe;color:#1d4ed8}body.shell-field-ops .fm-week-worker-row-chip--pending{background:#fef3c7;color:#b45309}body.shell-field-ops .fm-week-worker-modal__meta-flag--dirty{background:#eff6ff;color:#1d4ed8}body.shell-field-ops .fm-week-worker-modal__meta-flag--pending{background:#fffbeb;color:#b45309}body.shell-field-ops .fm-week-worker-time-edit{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:168px}body.shell-field-ops .fm-week-worker-time-edit .fm-time-12h--compact{width:168px;max-width:168px}body.shell-field-ops .fm-week-worker-time-edit__meta{min-height:16px;width:100%}body.shell-field-ops .fm-week-worker-pending-time{display:flex;flex-direction:column;gap:2px;width:168px}body.shell-field-ops .fm-week-worker-pending-time__label{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8}body.shell-field-ops .fm-week-worker-time-edit .fm-time-12h--compact .fm-time-12h-select{flex:1 1 0;justify-content:center;min-width:0}body.shell-field-ops .fm-week-worker-time-edit .fm-time-12h--compact .fm-time-12h-ampm{flex:0 0 auto}body.shell-field-ops .fm-week-worker-time-edit .fm-time-12h--compact .fm-time-12h-select-text{min-width:0;text-align:center}body.shell-field-ops .fm-week-worker-was{font-size:11px;color:#64748b;line-height:16px}body.shell-field-ops .fm-week-worker-pending-time__value{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:13px;color:#0f172a}body.shell-field-ops .fm-week-worker-pending-time__value s{color:#94a3b8}body.shell-field-ops .fm-week-worker-table__engineer-note,body.shell-field-ops .fm-week-worker-table__comment{min-width:120px;max-width:180px;font-size:12px;line-height:1.4;white-space:normal;vertical-align:top}body.shell-field-ops .fm-week-worker-engineer-note{color:#9a3412}body.shell-field-ops .fm-week-worker-day-comment{width:100%;min-height:52px;padding:6px 8px;border:1px solid #dbe3ec;border-radius:8px;font:inherit;font-size:12px;line-height:1.4;resize:vertical;color:#0f172a;background:#fff}body.shell-field-ops .fm-week-worker-day-comment:focus{outline:none;border-color:#93c5fd;box-shadow:0 0 0 2px #93c5fd59}body.shell-field-ops .fm-week-worker-saved-comment{color:#334155;font-style:italic}body.shell-field-ops .fm-week-worker-modal__error--foot{margin:0 20px;padding-top:8px}@media(max-width:720px){body.shell-field-ops .fm-week-worker-modal{width:calc(100vw - 16px);max-height:calc(100vh - 16px)}body.shell-field-ops .fm-week-worker-modal__table-wrap{margin:0 12px}body.shell-field-ops .fm-week-worker-modal__head,body.shell-field-ops .fm-week-worker-modal__meta,body.shell-field-ops .fm-week-worker-modal__comment,body.shell-field-ops .fm-week-worker-modal__foot{padding-left:12px;padding-right:12px}}body.shell-field-ops .fm-project-switcher{max-width:min(320px,100%)}body.shell-field-ops .fm-topbar-project-pill.fm-project-switcher{margin-top:4px}body.shell-field-ops .fm-topbar-project-pill.fm-project-switcher .fm-project-switcher__select-wrap{max-width:min(260px,38vw)}body.shell-field-ops .fm-topbar-project-pill.fm-project-switcher .fm-mvp-project-select{max-width:100%}body.shell-field-ops .fm-crew-roster{padding:0 26px 24px}body.shell-field-ops .fm-crew-roster__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}body.shell-field-ops .fm-crew-roster__sub{margin:0;font-size:var(--fs-base);color:#64748b}body.shell-field-ops .fm-crew-roster__project-switcher{margin-top:0;flex-shrink:0}body.shell-field-ops .fm-crew-roster__chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}body.shell-field-ops .fm-crew-roster__chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:#f1f5f9;border:1px solid #e2e8f0;font-size:12px;font-weight:600;color:#475569;cursor:pointer;transition:background .15s,border-color .15s,color .15s}body.shell-field-ops .fm-crew-roster__chip:hover{background:#e8eef5;color:#334155}body.shell-field-ops .fm-crew-roster__chip.is-active{background:#fff;border-color:#cbd5e1;color:#0f172a;box-shadow:0 1px 2px #0f172a0f}body.shell-field-ops .fm-crew-roster__toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px}body.shell-field-ops .fm-crew-roster__skill-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex:0 0 auto;min-width:148px;height:38px;padding:8px 32px 8px 12px;border:1px solid #dbe2ea;border-radius:10px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 10px center;font-size:13px;font-weight:600;color:#0f172a;cursor:pointer}body.shell-field-ops .fm-crew-roster__skill-select:focus{outline:none;border-color:#cbd5e1;box-shadow:0 0 0 3px #94a3b82e}body.shell-field-ops .fm-crew-roster__footer{margin-top:12px;padding:0 2px}body.shell-field-ops .fm-crew-roster__search{display:inline-flex;align-items:center;gap:8px;flex:0 1 360px;min-width:0;max-width:360px;padding:8px 12px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#64748b}body.shell-field-ops .fm-crew-roster__search input{border:0;background:transparent;font:inherit;color:#0f172a;width:100%;min-width:0}body.shell-field-ops .fm-crew-roster__search input:focus{outline:none}body.shell-field-ops .fm-crew-roster__count{font-size:12px;font-weight:600;color:#94a3b8;white-space:nowrap}body.shell-field-ops .fm-crew-roster__table-wrap{border:1px solid #e8edf2;border-radius:14px;overflow:auto;background:#fff}body.shell-field-ops .fm-crew-roster__table{width:100%;border-collapse:collapse;font-size:13px}body.shell-field-ops .fm-crew-roster__table th{padding:10px 14px;text-align:left;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#64748b;background:#f8fafc;border-bottom:1px solid #eef2f6}body.shell-field-ops .fm-crew-roster__table td{padding:12px 14px;border-bottom:1px solid #f1f5f9;color:#334155;vertical-align:middle}body.shell-field-ops .fm-crew-roster__table tbody tr:last-child td{border-bottom:0}body.shell-field-ops .fm-crew-roster__table tbody tr:hover{background:#fafbfd}body.shell-field-ops .fm-crew-roster__worker{border:0;background:transparent;padding:0;font:inherit;color:#0f172a;font-weight:600;cursor:pointer;text-align:left}body.shell-field-ops .fm-crew-roster__worker:hover{color:var(--accent-base, #8c6a24);text-decoration:underline}body.shell-field-ops .fm-crew-roster__mono{font-family:var(--font-mono, ui-monospace, monospace);font-size:12px;color:#475569}body.shell-field-ops .fm-crew-roster__empty{padding:32px 14px!important;text-align:center;color:#94a3b8}@media(max-width:720px){body.shell-field-ops .fm-crew-roster{padding:0 12px 20px}body.shell-field-ops .fm-crew-roster__head{flex-direction:column}body.shell-field-ops .fm-project-switcher,body.shell-field-ops .fm-project-switcher__select-wrap,body.shell-field-ops .fm-mvp-project-select{max-width:100%}}html:not(.theme-dark),body:not(.theme-dark){--bg: #ffffff;--card: #ffffff;--soft: #ffffff;--surface-muted: #ffffff;--panel-soft: #ffffff;--line: #cbd5e1;--line-strong: #94a3b8;--hairline: #cbd5e1}html:not(.theme-dark) body,html:not(.theme-dark) #root,html:not(.theme-dark) .app,html:not(.theme-dark) .main{background:#fff}html:not(.theme-dark) .content{background:#fff}html:not(.theme-dark) .eng-exact-app,html:not(.theme-dark) body.shell-compact-ops .app.eng-exact-host,html:not(.theme-dark) body.role-manager .app.eng-exact-host,html:not(.theme-dark) body.shell-finance .app.eng-exact-host{--bg: #ffffff;--panel: #ffffff;--panel-soft: #ffffff;--surface-soft: #ffffff;--line: #cbd5e1;--line-dark: #94a3b8;--hairline: #cbd5e1;background:#fff}html:not(.theme-dark) .eng-exact-app .workspace,html:not(.theme-dark) .eng-exact-app .center,html:not(.theme-dark) .eng-exact-app .project-area,html:not(.theme-dark) .eng-exact-app .crew-page{background:#fff}html:not(.theme-dark) .eng-exact-app .exact-sidebar,html:not(.theme-dark) .eng-exact-app .right-dock{background:#fff;border-color:var(--line)}html:not(.theme-dark) .eng-exact-app .exact-sidebar{border-right:1px solid var(--line)}html:not(.theme-dark) .eng-exact-app .right-dock{border-left:1px solid var(--line)}html:not(.theme-dark) .eng-exact-app .topbar{background:#fff;border-bottom:1px solid var(--line)}html:not(.theme-dark) .eng-exact-app .side-footer{background:#fff;border:1px solid var(--line)}html:not(.theme-dark) .fm-exact-app,html:not(.theme-dark) body.shell-field-ops .app.fm-exact-host{--fm-bg: #ffffff;--fm-slate-50: #ffffff;--fm-slate-100: #ffffff;--fm-hairline: #cbd5e1;background:#fff}html:not(.theme-dark) .sidebar{background:#fff;border-right:1px solid var(--line)}html:not(.theme-dark) .topbar{border-bottom:1px solid var(--line)}html:not(.theme-dark) .card,html:not(.theme-dark) .kpi,html:not(.theme-dark) .rpt-card,html:not(.theme-dark) .roster-summary-card,html:not(.theme-dark) .eng-req-card,html:not(.theme-dark) .crew-dir-card,html:not(.theme-dark) .crew-dir-list--tiles .crew-dir-card,html:not(.theme-dark) .member-tile,html:not(.theme-dark) article.mem-group-card,html:not(.theme-dark) button.mem-group-card{border:1px solid var(--line);background:#fff}html:not(.theme-dark) .eng-req-card.is-settled,html:not(.theme-dark) .crew-dir-card.is-onsite{background:#fff}html:not(.theme-dark) .eng-exact-app .building-card,html:not(.theme-dark) .eng-exact-app .floor-workspace:not(.proj-workspace-shell),html:not(.theme-dark) .eng-exact-app .task,html:not(.theme-dark) .eng-exact-app .notice,html:not(.theme-dark) .eng-exact-app .crew-toolbar,html:not(.theme-dark) .eng-exact-app .proc-exact-tabs,html:not(.theme-dark) .eng-exact-app .module-shell>.floor-tabs{border:none;background:transparent}html:not(.theme-dark) .eng-exact-app .floor-summary .summary-main{border:1px solid color-mix(in srgb,var(--accent-base, #18765f) 70%,#0f172a 30%)}html:not(.theme-dark) .eng-exact-app .floor-summary .mini-stat,html:not(.theme-dark) .eng-exact-app .project-pulse .pulse-card,html:not(.theme-dark) .eng-exact-app .compact-row{border:1px solid var(--line);background:#fff}html:not(.theme-dark) .eng-exact-app .panel-head,html:not(.theme-dark) .eng-exact-app .floor-tabs,html:not(.theme-dark) .eng-exact-app .quick-action-strip,html:not(.theme-dark) .eng-exact-app .floor-summary,html:not(.theme-dark) .eng-exact-app .dock-head,html:not(.theme-dark) .eng-exact-app .dock-footer,html:not(.theme-dark) .eng-exact-app .task-actions{border-color:var(--line)}html:not(.theme-dark) .eng-exact-app .floor-workspace .floor-tabs,html:not(.theme-dark) .eng-exact-app .quick-action-strip,html:not(.theme-dark) .eng-exact-app .view-toggle{background:#fff}html:not(.theme-dark) .proc-table-wrap,html:not(.theme-dark) .tablewrap{border:1px solid var(--line);background:#fff}html:not(.theme-dark) .proc-data-table thead th,html:not(.theme-dark) .proc-data-table tbody td,html:not(.theme-dark) .tablewrap th,html:not(.theme-dark) .tablewrap td{border-bottom:1px solid var(--line)}html:not(.theme-dark) .proc-data-table thead th,html:not(.theme-dark) .tablewrap th{background:#fff}html:not(.theme-dark) .eng-exact-app .module-table th,html:not(.theme-dark) .eng-exact-app .module-table td,html:not(.theme-dark) .eng-exact-app .crew-table th,html:not(.theme-dark) .eng-exact-app .crew-table td,html:not(.theme-dark) .eng-exact-app .issue-table th,html:not(.theme-dark) .eng-exact-app .issue-table td{border-color:var(--line)}html:not(.theme-dark) .eng-exact-app .crew-table th,html:not(.theme-dark) .eng-exact-app .module-table th,html:not(.theme-dark) .eng-exact-app .issue-table th{background:#fff}html:not(.theme-dark) .eng-exact-app .crew-table tbody tr:nth-child(2n),html:not(.theme-dark) .proc-data-table tbody tr:hover{background:#fff}html:not(.theme-dark) .eng-exact-app .crew-table tbody tr:hover{background:color-mix(in srgb,var(--accent-base) 4%,#ffffff 96%)}html:not(.theme-dark) .eng-exact-app .issue-table-wrap{border:1px solid var(--line);background:#fff}html:not(.theme-dark) .crew-directory__panel,html:not(.theme-dark) .crew-directory__nav{background:#fff;border-color:var(--line)}html:not(.theme-dark) .sitebox,html:not(.theme-dark) .pill,html:not(.theme-dark) .member-tile-pill,html:not(.theme-dark) .mem-gc-pill,html:not(.theme-dark) .roster-view-toggle{background:#fff;border-color:var(--line)}html:not(.theme-dark) .sh-item{background:#fff;border-color:var(--line)}html:not(.theme-dark){--shell-border: 1px solid var(--line);--shell-divider: 1px solid var(--line)}html:not(.theme-dark) .eng-exact-app,html:not(.theme-dark) .eng-exact-app .exact-embedded-screen,html:not(.theme-dark) .eng-exact-app .project-area,html:not(.theme-dark) .fm-exact-app,html:not(.theme-dark) .content{--line: #cbd5e1;--hairline: #cbd5e1;--line-strong: #94a3b8}html:not(.theme-dark) :is(.module-panel,.accounts-embedded-panel,.metric-card,.report-card,.module-side-card,.app-tile,.proc-item-card,.payroll-member-card,.payroll-card,.payroll-month-banner,.payroll-attendance-calendar,.payroll-detail-summary,.ds-headcount-row,.ds-site-card,.ds-avail-card,.ds-mat-card,.dash-site-card,.dash-kpi,.checklist-card,.ops-health-card,.ops-queue-row,.rbac-accordion-item,.rbac-create-card,.crew-panel,.crew-metric,.crew-attention-strip,.calendar-grid,.quote-group,.approval-card,.po-card,.rfq-card,.data-row,.photo-card,.compact-row,.task,.notice,.sitebox,.rpt-card,.vendor-tag,.payroll-cell,.quot-preview,.quote-supplier-row,.enq-col-empty,.rbac-module-content){border:var(--shell-border);border-color:var(--line);background:#fff}html:not(.theme-dark) .eng-exact-app .crew-focus{background:linear-gradient(135deg,var(--forest-2),var(--forest-3));color:#fff;box-shadow:0 8px 20px #163f3729}html:not(.theme-dark) :is(.module-panel,.accounts-embedded-panel,.metric-card,.report-card,.app-tile,.proc-item-card,.ds-site-card,.dash-site-card,.checklist-card,.ops-health-card,.payroll-member-card,.rbac-accordion-item,.crew-panel,.building-card,.floor-workspace){box-shadow:0 4px 14px #0f172a0d}html:not(.theme-dark) .ds-site-card-amber,html:not(.theme-dark) .dash-site-amber{border-color:#fdba74}html:not(.theme-dark) .ds-site-card-red,html:not(.theme-dark) .dash-site-red{border-color:#fca5a5}html:not(.theme-dark) .dash-site-green,html:not(.theme-dark) .ds-site-card-green{border-color:var(--brand-border, var(--line))}html:not(.theme-dark) .ops-ai-box{border:var(--shell-border);border-color:var(--brand-border, var(--line))}html:not(.theme-dark) .crew-alert-card{border:var(--shell-border);border-color:var(--line)}html:not(.theme-dark) .crew-alert-card.danger,html:not(.theme-dark) .crew-alert-card.warning{border-color:var(--line)}html:not(.theme-dark) :is(.module-panel-head,.section-head,.ds-section-head,.panel-head,.workspace-page-header,.ws-page-head,.fm-clean-head,.payroll-split-head,.dock-head,.dock-footer,.proc-section-heading,.crew-directory__head,.crew-roster-head,.crew-attention-head,.filter-bar,.calendar-head,.quote-group-head,.proc-item-head,.app-tile-head,.rfq-card-top,.approval-card-top,.po-card-top,.module-dialog-head,.module-dialog-actions,.notif-head,.admin-form-head){border-bottom:var(--shell-divider);border-bottom-color:var(--line)}html:not(.theme-dark) .payroll-member-card__foot{border-top:var(--shell-divider);border-top-color:var(--line);border-bottom:none}html:not(.theme-dark) .context-strip,html:not(.theme-dark) .module-hero{border-bottom:none}html:not(.theme-dark) :is(.proc-exact-tabs,.floor-tabs,.module-tabs,.proc-tabs,.rpt-tabs,.tabs,.crew-directory__nav,.mem-subtabs,.roster-view-toggle,.eng-crew-req-tabs){border:none;background:transparent;box-shadow:none}html:not(.theme-dark) .eng-exact-app .proc-exact-tabs,html:not(.theme-dark) .eng-exact-app .module-shell>.floor-tabs,html:not(.theme-dark) .eng-exact-app .exact-embedded-procurement .proc-tabs,html:not(.theme-dark) .eng-exact-app .exact-embedded-procurement .tabs{border:none;border-bottom:none;background:transparent;box-shadow:none}html:not(.theme-dark) .floor-tab,html:not(.theme-dark) .tab,html:not(.theme-dark) .module-tab,html:not(.theme-dark) .proc-tab{border-color:var(--line)}html:not(.theme-dark) .crew-directory__tab{border:1px solid var(--line);background:#fff}html:not(.theme-dark) .floor-tab.active,html:not(.theme-dark) .tab.active,html:not(.theme-dark) .module-tab.active{border-color:transparent}html:not(.theme-dark) .crew-directory__tab.is-active{border-color:var(--brand, var(--accent-base, #18765f));background:var(--brand, var(--accent-base, #18765f));color:#fff}html:not(.theme-dark) .crew-directory__tab.is-active span,html:not(.theme-dark) .crew-directory__tab.is-active .app-icon,html:not(.theme-dark) .crew-directory__tab.is-active svg{color:#fff}html:not(.theme-dark) .eng-exact-app .ppe-enq-view-toggle .roster-view-btn.active{color:#fff!important}html:not(.theme-dark) .eng-exact-app .exact-embedded-screen :is(.card,.kpi,.app-tile,.proc-item-card,.proc-table-wrap,.tablewrap,.rbac-accordion-item){border-color:var(--line)}html:not(.theme-dark) .eng-exact-app .exact-outlet,html:not(.theme-dark) .eng-exact-app .module-shell{background:#fff}html:not(.theme-dark) :is(.proc-table-wrap,.tablewrap,.issue-table-wrap,.module-table-wrap,.crew-table-wrap){border:var(--shell-border);border-color:var(--line);background:#fff}html:not(.theme-dark) :is(.proc-data-table,.module-table,.crew-table,.issue-table,.tablewrap table) :is(th,td){border-bottom:var(--shell-divider);border-bottom-color:var(--line)}html:not(.theme-dark) :is(.proc-data-table thead th,.module-table th,.crew-table th,.issue-table th,.tablewrap th){background:#fff;border-bottom-color:var(--line)}html:not(.theme-dark) :is(.proc-data-table tbody tr:last-child td,.module-table tbody tr:last-child td,.crew-table tbody tr:last-child td,.issue-table tbody tr:last-child td,.tablewrap tr:last-child td){border-bottom:none}html:not(.theme-dark) :is(.notif-item,.ds-avail-item,.ds-mat-item,.dash-todo-item,.dash-mat-item,.check-row,.crew-card-hours,.wc-footer,.ops-exception-row,.ops-timeline-row,.ops-health-stats,.est-row,.pc-est-table td,.pc-quot-table td,.quote-group-foot,.rfq-card-footer,.approval-actions,.calendar-row,.calendar-head,.crew-name,.slot,.gsr-section-foot,.mem-gc-foot,.site-time-stats,.proc-item-actions,.app-tile-actions,.activity-item,.rbac-accordion-item.open .rbac-accordion-trigger){border-bottom-color:var(--line)}html:not(.theme-dark) :is(.ops-health-stats,.quote-group-foot,.rfq-card-footer,.approval-actions,.site-time-stats){border-top-color:var(--line)}html:not(.theme-dark) .calendar-row .slot,html:not(.theme-dark) .calendar-row .crew-name{border-right-color:var(--line)}html:not(.theme-dark) .payroll-calendar-cell:not(.is-empty):not(.is-present):not(.is-absent){border-color:var(--line)}html:not(.theme-dark) .accounts-embedded-panel .module-panel-head{border-bottom-color:var(--line)}html:not(.theme-dark) :is(.pill,.proc-chip,.app-chip,.ds-trade-pill,.rfq-sup-chip,.ec-rev-pill,.project-selector-wrap,.time-date-picker-btn,.notif-btn,.profile-btn,.module-btn:not(.primary):not(.navy),.btn:not(.primary),.action:not(.primary),.qa-btn,.table-action,.entry-input,.entry-select,.gsearch-input,.quot-input){border-color:var(--line)}html:not(.theme-dark) :is(.module-btn.primary,.module-btn.navy,.btn.primary,.action.primary,.floor-tab.active,.nav-item.active){border-color:transparent}html:not(.theme-dark) .fm-exact-app :is(.fm-panel,.fm-card,.fm-stat,.fm-clean-card,.fm-task,.fm-table-wrap){border:var(--shell-border);border-color:var(--fm-hairline, var(--line));background:#fff}html:not(.theme-dark) .eng-exact-app .center:has(.projects-area-active),html:not(.theme-dark) .eng-exact-app .project-area.projects-area-active,html:not(.theme-dark) .eng-exact-app .center:has(.project-detail-active),html:not(.theme-dark) .eng-exact-app .project-area.project-detail-active{background:#f9f8f3!important}html:not(.theme-dark) .eng-exact-app .center:has(.exact-embedded-accounts),html:not(.theme-dark) .eng-exact-app .project-area:has(.exact-embedded-accounts),html:not(.theme-dark) .eng-exact-app .center:has(.accounting-project-financial),html:not(.theme-dark) .eng-exact-app .project-area:has(.accounting-project-financial){background:#f7f8f7!important}html:not(.theme-dark) .eng-exact-app .center:has(.management-area-active),html:not(.theme-dark) .eng-exact-app .project-area.management-area-active,html:not(.theme-dark) .eng-exact-app .center:has(.assignments-area-active),html:not(.theme-dark) .eng-exact-app .project-area.assignments-area-active{background:#f9f8f3!important}html:not(.theme-dark) .eng-exact-app .projects-portfolio-metric,html:not(.theme-dark) .eng-exact-app .projects-portfolio-card,html:not(.theme-dark) .eng-exact-app .projects-portfolio-filter:not(.active),html:not(.theme-dark) .eng-exact-app .projects-portfolio-search,html:not(.theme-dark) .eng-exact-app .projects-portfolio-open,html:not(.theme-dark) .eng-exact-app .projects-portfolio-procurement,html:not(.theme-dark) .eng-exact-app .projects-portfolio-empty,html:not(.theme-dark) .eng-exact-app .projects-portfolio-add-card-icon,html:not(.theme-dark) .eng-exact-app .management-card,html:not(.theme-dark) .eng-exact-app .management-tab:not(.active){background:#fff!important}html:not(.theme-dark) .eng-exact-app .projects-portfolio-filter.active{background:var(--portfolio-accent, var(--accent-base, #8a6d2e))!important;border-color:var(--portfolio-accent, var(--accent-base, #8a6d2e))!important;color:#fff!important}html:not(.theme-dark) .eng-exact-app .management-tab.active{background:var(--portfolio-accent, var(--accent-base, #8a6d2e))!important;border-color:var(--portfolio-accent, var(--accent-base, #8a6d2e))!important;color:#fff!important}html:not(.theme-dark) .eng-exact-app .projects-portfolio-add-btn{color:#fff!important}html:not(.theme-dark) .eng-exact-app .assignments-assign-btn{color:#fff!important}html:not(.theme-dark) .eng-exact-app .proc-cmp-finalize-btn,html:not(.theme-dark) .eng-exact-app .proc-cmp-generate-btn{color:#fff!important}html:not(.theme-dark) .eng-exact-app .projects-portfolio-add-btn .app-icon,html:not(.theme-dark) .eng-exact-app .projects-portfolio-add-btn svg{color:#fff!important}.eng-exact-app .workspace{grid-template-columns:minmax(168px,220px) minmax(0,1fr) minmax(220px,300px)}.eng-exact-app .exact-sidebar,.eng-exact-app .center,.eng-exact-app .right-dock{min-width:0}.eng-exact-app .center{display:flex;flex-direction:column;min-height:0}.eng-exact-app .project-area{flex:1 1 auto;min-height:0;min-width:0;width:100%;max-width:100%;box-sizing:border-box;overflow:auto}.eng-exact-app .project-area>*,.eng-exact-app .project-area.projects-area-active>*,.eng-exact-app .project-area.project-detail-active>*,.eng-exact-app .project-area.management-area-active>*,.eng-exact-app .project-area.admin-area-active>*,.eng-exact-app .project-area.assignments-area-active>*{width:100%;max-width:100%;min-width:0;box-sizing:border-box}html:not(.theme-dark) .eng-exact-app .management-card--embedded:has(.exact-embedded-procurement),.eng-exact-app .management-card--embedded:has(.exact-embedded-procurement){width:100%!important;max-width:none!important;background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important;overflow:visible!important}.eng-exact-app .exact-embedded-procurement,.eng-exact-app .exact-embedded-procurement #inventory,.eng-exact-app .exact-embedded-procurement .html-screen-mount,.eng-exact-app .exact-embedded-procurement .proc-kpi-grid,.eng-exact-app .exact-embedded-procurement .proc-tabs,.eng-exact-app .exact-embedded-procurement .proc-tabs--org,.eng-exact-app .exact-embedded-procurement .proc-panel,.eng-exact-app .exact-embedded-procurement .proc-panel--card{width:100%!important;max-width:none!important;box-sizing:border-box}@media(max-width:1280px){.eng-exact-app .workspace{grid-template-columns:minmax(160px,200px) minmax(0,1fr) minmax(200px,260px)}}@media(max-width:1180px){.eng-exact-app .workspace{grid-template-columns:minmax(152px,188px) minmax(0,1fr) minmax(188px,240px)}.eng-exact-app.decision-dock-off .workspace{grid-template-columns:minmax(152px,188px) minmax(0,1fr)}}@media(max-width:1024px){.eng-exact-app .workspace{grid-template-columns:minmax(140px,168px) minmax(0,1fr) minmax(168px,220px)}}@media(max-height:760px){.eng-exact-app .exact-sidebar,.eng-exact-app .right-dock{position:relative;max-height:100%}.eng-exact-app .dock-list,.eng-exact-app .center,.eng-exact-app .exact-sidebar .side-tools{overflow-y:auto;-webkit-overflow-scrolling:touch}}.admin-modal-overlay--center,.material-request-overlay--center{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;align-content:center;place-items:center;padding:max(12px,env(safe-area-inset-top,0px)) 16px max(12px,env(safe-area-inset-bottom,0px))}.admin-modal-overlay:not(.admin-modal-overlay--center),.material-request-overlay:not(.material-request-overlay--center){overflow:hidden;overscroll-behavior:none;padding:0}#viewMaterialRequestOverlay.view-material-request-overlay.open:not(.view-material-request-overlay--center),.view-material-request-overlay.open:not(.view-material-request-overlay--center),#viewPoOverlay.view-po-overlay.open,.view-po-overlay.open{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;height:100dvh!important;max-height:100dvh!important;display:flex!important;align-items:stretch!important;justify-content:flex-end!important;overflow:hidden!important}#viewMaterialRequestOverlay .view-material-request-card:not(.view-material-request-card--modal),.view-material-request-card:not(.view-material-request-card--modal),#viewPoOverlay .view-po-card,#viewPoModal,.view-po-card{height:100%!important;max-height:100dvh!important;min-height:0!important;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;overflow:hidden!important}#viewPoModal .proc-view-drawer-head,.view-po-card .proc-view-drawer-head,.view-material-request-card .proc-view-drawer-head{grid-row:1;min-height:0}#viewPoModal .material-request-footer,.view-po-card .material-request-footer,.view-material-request-card .material-request-footer{grid-row:3;margin-top:0!important;flex:none!important}#viewMaterialRequestOverlay .proc-view-modal-body,.view-material-request-card.view-material-request-card--compact .proc-view-modal-body,#viewPoOverlay .proc-view-modal-body,.view-po-card .proc-view-modal-body,#viewPoBody,#viewMaterialRequestBody{grid-row:2;flex:1 1 0%!important;align-self:stretch!important;display:flex!important;flex-direction:column!important;gap:14px;min-height:0!important;max-height:none!important;height:auto!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:16px 22px 48px!important;scrollbar-width:thin;scrollbar-color:#94a3b8 transparent}#viewMaterialRequestOverlay .view-material-request-card--compact .proc-view-modal-body,.view-material-request-card.view-material-request-card--compact .proc-view-modal-body,#viewMaterialRequestBody.view-material-request-card--compact{overflow-y:visible!important;padding:10px 18px 12px!important;gap:10px;flex:0 0 auto!important;touch-action:auto}#viewPoBody::-webkit-scrollbar-thumb,#viewMaterialRequestBody::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:999px}.admin-modal-overlay.admin-modal-overlay--manpower-full{justify-content:stretch;align-items:stretch;padding:0!important}.admin-modal-overlay.admin-modal-overlay--manpower-full .admin-modal-card.project-modal-card--manpower{width:100vw!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;border-radius:0!important;border-left:none!important}.admin-modal-overlay--center .admin-modal-card,.admin-modal-overlay--center .project-modal-card,.material-request-overlay--center .material-request-card{max-height:min(92dvh,calc(100dvh - 32px));margin:auto;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}.project-workspace-overlay.open,#procRejectOverlay.open{display:grid!important;place-items:center;align-content:center;justify-content:center;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:max(12px,env(safe-area-inset-top,0px)) 16px max(12px,env(safe-area-inset-bottom,0px))}.admin-modal-card--center,.project-workspace-card{max-height:min(92dvh,calc(100dvh - 32px));margin:auto}.admin-modal-card .admin-form-body,.material-request-body{max-height:min(70dvh,560px)}.admin-modal-overlay:not(.admin-modal-overlay--center) .admin-modal-card .admin-form-body{max-height:none;flex:1;min-height:0}.project-modal-card .project-modal-body{display:flex;flex-direction:column;flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.project-modal-card .project-modal-form{display:flex;flex-direction:column;flex:1;min-height:0}.project-modal-card .project-modal-footer,.admin-modal-card .admin-form-footer{flex-shrink:0;display:flex;justify-content:flex-end;gap:10px;margin-top:auto;padding:14px 20px;border-top:1px solid #ece8e1;background:#fff}@media(max-width:640px){.admin-modal-card,.admin-modal-card.project-modal-card,.admin-modal-card.project-modal-card--manpower,.admin-modal-card.admin-modal-card--wide{width:100vw}}.admin-modal-card--user .admin-form-body{max-height:none}body.modal-open{overflow:hidden}html.modal-open,html.modal-open body,body.modal-open .app,body.modal-open .main,body.modal-open .content,body.modal-open .eng-exact-app,body.modal-open .eng-exact-app .workspace,body.modal-open .eng-exact-app .center,body.modal-open .eng-exact-app .exact-sidebar,body.modal-open .eng-exact-app .exact-sidebar.projects-expanded,body.modal-open .eng-exact-app .project-area,body.modal-open .eng-exact-app .pm-hub-body,body.modal-open .eng-exact-app .dock-list,body.modal-open .eng-exact-app .floor-stack,body.modal-open .eng-exact-app .exact-embedded-crew-directory,body.modal-open .eng-exact-app .exact-embedded-crew-directory .crew-directory__body,body.modal-open .eng-exact-app .exact-embedded-crew-directory .crew-directory__view,body.modal-open .eng-exact-app .exact-embedded-crew-allocation{overflow:hidden!important;overscroll-behavior:none}html:has(.admin-modal-overlay,.admin-sheet-overlay,.material-request-overlay,.fm-req-overlay){overflow:hidden!important;overscroll-behavior:none}html:has(.admin-modal-overlay,.admin-sheet-overlay,.material-request-overlay,.fm-req-overlay) .app,html:has(.admin-modal-overlay,.admin-sheet-overlay,.material-request-overlay,.fm-req-overlay) .main,html:has(.admin-modal-overlay,.admin-sheet-overlay,.material-request-overlay,.fm-req-overlay) .content,html:has(.admin-modal-overlay,.admin-sheet-overlay,.material-request-overlay,.fm-req-overlay) .eng-exact-app,html:has(.admin-modal-overlay,.admin-sheet-overlay,.material-request-overlay,.fm-req-overlay) .eng-exact-app .workspace,html:has(.admin-modal-overlay,.admin-sheet-overlay,.material-request-overlay,.fm-req-overlay) .eng-exact-app .center,html:has(.admin-modal-overlay,.admin-sheet-overlay,.material-request-overlay,.fm-req-overlay) .eng-exact-app .exact-sidebar,html:has(.admin-modal-overlay,.admin-sheet-overlay,.material-request-overlay,.fm-req-overlay) .eng-exact-app .exact-sidebar.projects-expanded,html:has(.admin-modal-overlay,.admin-sheet-overlay,.material-request-overlay,.fm-req-overlay) .eng-exact-app .project-area,html:has(.admin-modal-overlay,.admin-sheet-overlay,.material-request-overlay,.fm-req-overlay) .eng-exact-app .pm-hub-body,html:has(.admin-modal-overlay,.admin-sheet-overlay,.material-request-overlay,.fm-req-overlay) .eng-exact-app .dock-list,html:has(.admin-modal-overlay,.admin-sheet-overlay,.material-request-overlay,.fm-req-overlay) .eng-exact-app .floor-stack,html:has(.admin-modal-overlay,.admin-sheet-overlay,.material-request-overlay,.fm-req-overlay) .eng-exact-app .exact-embedded-crew-directory,html:has(.admin-modal-overlay,.admin-sheet-overlay,.material-request-overlay,.fm-req-overlay) .eng-exact-app .exact-embedded-crew-directory .crew-directory__body,html:has(.admin-modal-overlay,.admin-sheet-overlay,.material-request-overlay,.fm-req-overlay) .eng-exact-app .exact-embedded-crew-directory .crew-directory__view,html:has(.admin-modal-overlay,.admin-sheet-overlay,.material-request-overlay,.fm-req-overlay) .eng-exact-app .exact-embedded-crew-allocation{overflow:hidden!important;overscroll-behavior:none}@media(max-width:1280px){.eng-exact-app .toast{right:16px;left:auto;max-width:min(360px,calc(100vw - 32px))}}.eng-exact-app .right-dock[data-testid=workspace-dock]:empty{display:none}.eng-exact-app .center:has(.projects-area-active),.eng-exact-app .center:has(.project-detail-active){overflow:hidden!important;display:flex!important;flex-direction:column!important;min-height:0!important;height:100%!important}.eng-exact-app .center:has(.projects-area-active)>.context-strip,.eng-exact-app .center:has(.project-detail-active)>.context-strip{flex:0 0 auto!important}.eng-exact-app .center>.project-area.projects-area-active,.eng-exact-app .center>.project-area.project-detail-active{flex:1 1 auto!important;min-height:0!important;height:auto!important;max-height:none!important;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.eng-exact-app.decision-dock-off .center:has(.projects-area-active),.eng-exact-app.decision-dock-off .center:has(.project-detail-active){overflow:hidden!important}.eng-exact-app .project-area.project-detail-active .floor-workspace.proj-workspace-shell{overflow:visible!important;min-height:auto!important;height:auto!important;max-height:none!important}.eng-exact-app .center:has(.management-area-active),.eng-exact-app .center:has(.admin-area-active),.eng-exact-app .center:has(.assignments-area-active){overflow:hidden!important;display:flex!important;flex-direction:column!important;min-height:0!important;height:100%!important}.eng-exact-app .center>.project-area.management-area-active,.eng-exact-app .center>.project-area.admin-area-active,.eng-exact-app .center>.project-area.assignments-area-active{flex:1 1 auto!important;min-height:0!important;height:auto!important;max-height:none!important;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.eng-exact-app.decision-dock-off .center:has(.management-area-active),.eng-exact-app.decision-dock-off .center:has(.admin-area-active),.eng-exact-app.decision-dock-off .center:has(.assignments-area-active){overflow:hidden!important}.eng-exact-app .topbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:0!important;padding:0!important;background:#fff!important}.eng-exact-app .workspace-shell{display:grid!important;grid-template-columns:220px minmax(0,1fr)!important;height:100%!important;min-height:0!important;overflow:hidden!important}.eng-exact-app .workspace-main{display:grid!important;grid-template-rows:54px minmax(0,1fr)!important;min-height:0!important;overflow:hidden!important}.eng-exact-app .workspace-main>.workspace{grid-template-columns:minmax(0,1fr) 300px!important}.eng-exact-app.decision-dock-off .workspace-main>.workspace{grid-template-columns:minmax(0,1fr)!important}.eng-exact-app.decision-dock-off .topbar{grid-template-columns:minmax(0,1fr) auto!important}@media(max-width:1180px){.eng-exact-app .workspace-shell{grid-template-columns:200px minmax(0,1fr)!important}.eng-exact-app .workspace-main>.workspace{grid-template-columns:minmax(0,1fr) 280px!important}.eng-exact-app.decision-dock-off .workspace-main>.workspace{grid-template-columns:minmax(0,1fr)!important}}@media(max-width:1024px){.eng-exact-app .workspace-shell{grid-template-columns:168px minmax(0,1fr)!important}}.eng-exact-app .exact-sidebar-brand{flex:0 0 auto}.eng-exact-app .exact-sidebar .side-tools{flex:1 1 auto!important;min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-gutter:stable}.eng-exact-app .exact-sidebar .side-tools .nav-list{flex:0 0 auto!important;overflow:visible!important}.eng-exact-app .exact-sidebar .nav-section{flex:0 0 auto}.eng-exact-app .right-dock>.dock-head{flex-shrink:0}.eng-exact-app .right-dock>.dock-list{grid-row:2;min-height:0!important;height:auto!important;max-height:100%!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.eng-exact-app .proj-workspace-owner-actions .dock-list{max-height:min(520px,55vh)!important;height:auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important}body.mobile-tab-shell.eng-exact-mobile-dashboard .main,body.native-app.eng-exact-mobile-dashboard .main,body.mobile-tab-shell .main:has(.eng-exact-mobile-host),body.native-app .main:has(.eng-exact-mobile-host){display:flex;flex-direction:column;min-height:0;overflow:hidden}body.mobile-tab-shell.eng-exact-mobile-dashboard .content,body.native-app.eng-exact-mobile-dashboard .content,body.mobile-tab-shell .content:has(.eng-exact-mobile-host),body.native-app .content:has(.eng-exact-mobile-host){display:flex;flex-direction:column;flex:1 1 0;min-height:0;padding:0;overflow:hidden;background:var(--bg, #fff)}body.mobile-tab-shell .content>.eng-exact-mobile-host,body.native-app .content>.eng-exact-mobile-host{display:flex;flex-direction:column;flex:1 1 0;min-height:0;width:100%;padding:0;margin:0;border:none;border-radius:0;box-shadow:none;background:var(--bg, #fff);overflow:hidden}.eng-exact-app--mobile-shell{display:flex!important;flex-direction:column!important;grid-template-rows:unset!important;grid-template-columns:unset!important;flex:1 1 0;min-height:0;width:100%;height:100%!important;overflow:hidden!important;font-family:var(--font-sans);font-size:13px;color:var(--ink, #1c2320);background:var(--bg, #fff)}.eng-exact-app.eng-exact-app--mobile-shell{display:flex!important;grid-template-rows:unset!important;grid-template-columns:unset!important}.eng-exact-app--mobile-shell>.topbar{display:none!important}.eng-exact-app--mobile-shell .workspace{display:block!important;flex:1 1 0!important;min-height:0!important;height:auto!important;max-height:none!important;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;grid-template-columns:unset!important}@media(max-width:950px){.eng-exact-app--mobile-shell .workspace{display:block!important;overflow-y:auto!important}}.eng-exact-app--mobile-shell .exact-sidebar,.eng-exact-app--mobile-shell .exact-sidebar--mobile{width:100%!important;max-width:100%!important;min-height:0!important;max-height:none!important;height:auto!important;flex:none!important;border-right:none;border-bottom:1px solid var(--line, #cbd5e1);overflow:visible!important;background:var(--bg, #fff);position:relative!important;display:block!important}.eng-exact-app--mobile-shell .exact-sidebar--mobile .side-projects{max-height:none!important;overflow:visible!important}.eng-exact-app--mobile-shell .exact-sidebar--mobile .side-title{padding:10px 14px 6px}.eng-exact-app--mobile-shell .exact-sidebar--mobile .project-list{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:8px;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0 12px 10px}.eng-exact-app--mobile-shell .exact-sidebar--mobile .project-list::-webkit-scrollbar{display:none}.eng-exact-app--mobile-shell .exact-sidebar--mobile .project-item{flex:0 0 auto;min-width:148px;max-width:200px;text-align:left}.eng-exact-app--mobile-shell .exact-sidebar--mobile .project-view-all{flex:0 0 auto;align-self:center;white-space:nowrap;margin-left:4px}.eng-exact-app--mobile-shell .side-divider--mobile-hidden{display:none!important}.eng-exact-app--mobile-shell .side-quick-actions,.eng-exact-app--mobile-shell .side-quick-actions--horizontal,.eng-exact-app--mobile-shell .exact-sidebar--mobile .side-quick-actions{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center;gap:6px;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scroll-padding-inline:12px;scrollbar-width:none;padding:8px 12px 10px!important;margin:0;border-bottom:1px solid var(--line, #cbd5e1);background:var(--panel, #fcfdfc)}.eng-exact-app--mobile-shell .side-quick-actions::-webkit-scrollbar,.eng-exact-app--mobile-shell .exact-sidebar--mobile .side-quick-actions::-webkit-scrollbar{display:none}.eng-exact-app--mobile-shell .side-quick-actions .side-quick-btn,.eng-exact-app--mobile-shell .exact-sidebar--mobile .side-quick-btn{flex:0 0 auto!important;flex-direction:row!important;align-items:center;gap:6px;white-space:nowrap;width:auto!important;min-width:auto;border-radius:999px!important;padding:8px 14px!important;font-size:12px!important;font-weight:700;scroll-snap-align:start;touch-action:manipulation;transform:none!important}.eng-exact-app--mobile-shell .side-quick-btn--primary{background:color-mix(in srgb,var(--accent-base, #8c6a24) 14%,var(--card, #fff))!important;border-color:color-mix(in srgb,var(--accent-base, #8c6a24) 35%,var(--line, #cbd5e1))!important}.eng-exact-app--mobile-shell .side-quick-btn.active{background:var(--accent-base, #8c6a24)!important;color:#fff!important;border-color:var(--accent-base, #8c6a24)!important;box-shadow:0 2px 8px color-mix(in srgb,var(--accent-base, #8c6a24) 28%,transparent)!important}.eng-exact-app--mobile-shell .side-quick-btn .app-icon{width:14px;height:14px;flex-shrink:0}.eng-exact-app--mobile-shell .center{flex:none!important;min-height:0!important;height:auto!important;max-height:none!important;width:100%!important;display:block!important;overflow:visible!important;position:relative!important}.eng-exact-app--mobile-shell .center>.context-strip{flex:none!important;height:auto!important;min-height:68px;display:flex!important}.eng-exact-app--mobile-shell .center>.project-area{flex:none!important;min-height:0!important;height:auto!important;display:block!important;overflow:visible!important}.eng-exact-app--mobile-shell .context-strip{flex-shrink:0;display:flex;flex-wrap:nowrap;align-items:stretch;gap:10px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:12px 14px!important}.eng-exact-app--mobile-shell .context-strip::-webkit-scrollbar{display:none}.eng-exact-app--mobile-shell .context-primary{flex:0 0 auto;min-width:140px}.eng-exact-app--mobile-shell .progress-wrap,.eng-exact-app--mobile-shell .context-stat,.eng-exact-app--mobile-shell .context-actions{flex:0 0 auto}.eng-exact-app--mobile-shell .project-area{flex:none!important;min-height:0!important;height:auto!important;overflow:visible!important;padding:0 0 12px!important;display:block!important}.eng-exact-app--mobile-shell .floor-workspace,.eng-exact-app--mobile-shell #floorContent{min-height:0!important;height:auto!important;overflow:visible!important}.eng-exact-app--mobile-shell .floor-workspace{display:flex;flex-direction:column;min-height:0}.eng-exact-app--mobile-shell .floor-tabs{position:sticky;top:0;z-index:3;display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center;gap:6px;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scroll-padding-inline:12px;scrollbar-width:none;padding:10px 12px!important;margin:0;background:var(--panel, #fcfdfc);border-bottom:1px solid var(--line, #cbd5e1)}.eng-exact-app--mobile-shell .floor-tabs--mobile-scroll{overscroll-behavior-x:contain}.eng-exact-app--mobile-shell .floor-tabs::-webkit-scrollbar{display:none}.eng-exact-app--mobile-shell .floor-tab{flex:0 0 auto!important;min-width:auto!important;white-space:nowrap;font-size:12px!important;font-weight:700;padding:8px 14px!important;border-radius:999px;gap:6px;scroll-snap-align:start;touch-action:manipulation}.eng-exact-app--mobile-shell .floor-tab .app-icon{width:14px;height:14px;flex-shrink:0}.eng-exact-app--mobile-shell .floor-tab.active{background:var(--accent-base, #8c6a24)!important;color:#fff!important;border-color:var(--accent-base, #8c6a24)!important;box-shadow:0 2px 8px color-mix(in srgb,var(--accent-base, #8c6a24) 28%,transparent)!important}.eng-exact-app--mobile-shell .floor-tab-dot{width:7px;height:7px}.eng-exact-app--mobile-shell #floorContent{padding:0 12px 12px}.eng-exact-app--mobile-shell .quick-action-strip{min-width:0}.eng-exact-app--mobile-shell .quick-actions{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}.eng-exact-app--mobile-shell .quick-actions::-webkit-scrollbar{display:none}.eng-exact-app--mobile-shell .quick-action{flex:0 0 auto;min-width:120px}.eng-exact-app--mobile-shell .floor-summary,.eng-exact-app--mobile-shell .project-pulse{min-width:0}.eng-exact-app--mobile-shell .qa-grid{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}.eng-exact-app--mobile-shell .qa-grid::-webkit-scrollbar{display:none}.eng-exact-app--mobile-shell .qa-btn{flex:0 0 auto;min-width:88px}.eng-exact-app--mobile-shell .floor-summary{grid-template-columns:1fr 1fr;gap:8px}.eng-exact-app--mobile-shell .summary-main{grid-column:1 / -1}.eng-exact-app--mobile-shell .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.eng-exact-app--mobile-shell .data-row{grid-template-columns:1fr!important}.eng-exact-app--mobile-shell .entry-command{flex-direction:column;align-items:flex-start}.eng-exact-app--mobile-shell .entry-command-actions{width:100%;flex-wrap:wrap;justify-content:flex-start}.eng-exact-app--mobile-shell .right-dock{width:100%!important;max-width:100%!important;min-height:0!important;max-height:none!important;height:auto!important;flex:none!important;border-left:none!important;border-top:1px solid var(--line, #cbd5e1);overflow:visible!important;display:block!important;position:relative!important}.eng-exact-app--mobile-shell .right-dock .dock-list{max-height:360px!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch}.eng-exact-app--mobile-shell.decision-dock-off .right-dock{display:none!important}.eng-exact-app--mobile-shell .exact-embedded-screen{min-height:0}.eng-exact-app--mobile-shell .toast{bottom:calc(72px + env(safe-area-inset-bottom,0px));right:12px;left:auto;max-width:min(360px,calc(100vw - 24px))}@media(max-width:520px){.eng-exact-app--mobile-shell .floor-tab{font-size:11px!important;padding:7px 12px!important}.eng-exact-app--mobile-shell .floor-summary,.eng-exact-app--mobile-shell .project-pulse{grid-template-columns:1fr}}.mobile-project-hub{flex-shrink:0;padding:12px 14px 10px;background:var(--card, #fff);border-bottom:1px solid var(--line, #e2e8f0)}.mph-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.mph-head-label{font-size:13px;font-weight:600;color:var(--ink, #1c2320)}.mph-head-all,.mph-head-count{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--accent-base, #8c6a24)}.mph-head-all{border:none;background:transparent;padding:4px 0;cursor:pointer}.mph-card{width:100%;text-align:left;border:1px solid color-mix(in srgb,var(--accent-base, #8c6a24) 22%,var(--line, #e2e8f0));border-radius:16px;padding:14px;background:var(--card, #fff);box-shadow:0 2px 10px #0f172a0f;touch-action:pan-y}.mph-card-loading{font-size:13px;color:var(--muted, #64748b)}.mph-card-top{display:flex;align-items:flex-start;gap:10px}.mph-card-dot{width:10px;height:10px;border-radius:50%;margin-top:5px;flex-shrink:0}.mph-card-title{flex:1;min-width:0}.mph-card-title strong{display:block;font-size:17px;font-weight:800;line-height:1.25;color:var(--ink, #1c2320);word-break:break-word}.mph-card-title small{display:block;margin-top:2px;font-size:12px;color:var(--muted, #64748b)}.mph-card-alert{flex-shrink:0;font-size:11px;font-weight:800;color:#b91c1c;background:#fee2e2;border-radius:999px;padding:2px 8px}.mph-card-sub{margin:10px 0 0;font-size:12px;line-height:1.45;color:var(--muted, #64748b);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mph-card-stats{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;padding-top:10px;border-top:1px solid #f1f5f9;font-size:11px;color:var(--muted, #64748b)}.mph-card-stats b{color:var(--ink, #1c2320);font-weight:800}.mph-dots{display:flex;justify-content:center;gap:5px;margin-top:10px}.mph-dot{width:6px;height:6px;border-radius:50%;background:#cbd5e1}.mph-dot.is-active{background:var(--accent-base, #8c6a24);width:18px;border-radius:999px}.mph-dot--more{width:auto;background:transparent;font-size:10px;color:var(--muted, #94a3b8)}.mph-actions-scroll-wrap{position:relative;margin:12px -14px 0;background:var(--soft, #fcfdfc);border-top:1px solid var(--line, #f1f5f9)}.mph-actions-scroll-wrap:after{content:"";position:absolute;right:0;top:0;bottom:0;width:36px;background:linear-gradient(to right,transparent,var(--soft, #fcfdfc) 85%);pointer-events:none;z-index:1}.mph-actions-label{display:block;padding:10px 14px 0;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted, #64748b)}.mph-actions{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:6px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:14px;scrollbar-width:none;padding:8px 14px 10px}.mph-actions::-webkit-scrollbar{display:none}.mph-action{flex:0 0 auto;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line, #cbd5e1);border-radius:999px;background:var(--card, #fff);font-size:12px;font-weight:700;color:var(--ink, #1c2320);padding:8px 14px;white-space:nowrap;scroll-snap-align:start;touch-action:manipulation;cursor:pointer}.mph-action .app-icon{width:14px;height:14px;flex-shrink:0}.mph-action--primary{background:color-mix(in srgb,var(--accent-base, #8c6a24) 10%,var(--card, #fff));border-color:color-mix(in srgb,var(--accent-base, #8c6a24) 35%,var(--line, #cbd5e1));color:var(--accent-base, #8c6a24)}.mph-action--active{background:color-mix(in srgb,var(--accent-base, #8c6a24) 12%,var(--card, #fff));border-color:color-mix(in srgb,var(--accent-base, #8c6a24) 40%,var(--line, #cbd5e1));color:var(--accent-base, #8c6a24)}.mph-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10150;background:#0f172a73;display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s ease}.mph-sheet-overlay.open{opacity:1;pointer-events:auto}.mph-sheet{width:100%;max-width:480px;height:min(78vh,640px);height:min(78dvh,640px);max-height:min(78vh,640px);max-height:min(78dvh,640px);min-height:min(52vh,420px);min-height:min(52dvh,420px);background:var(--card, #fff);border-radius:20px 20px 0 0;display:flex;flex-direction:column;overflow:hidden;padding-bottom:env(safe-area-inset-bottom,0px);animation:mph-sheet-up .28s ease}body.mobile-tab-shell .mph-sheet,body.native-app .mph-sheet{height:min(72vh,560px);height:min(72dvh,560px);max-height:min(72vh,560px);max-height:min(72dvh,560px)}@keyframes mph-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.mph-sheet-handle{width:40px;height:4px;border-radius:999px;background:var(--line, #cbd5e1);margin:10px auto 0;flex-shrink:0}.mph-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;padding:14px 16px 8px;flex-shrink:0}.mph-sheet-head h2{margin:0;font-size:18px;font-weight:800}.mph-sheet-head p{margin:4px 0 0;font-size:12px;color:var(--muted, #64748b)}.mph-sheet-close{border:none;background:var(--soft, #f1f5f9);border-radius:999px;width:36px;height:36px;display:grid;place-items:center;cursor:pointer;color:var(--text, #102033)}.mph-sheet-search{display:flex;align-items:center;gap:8px;margin:0 16px 10px;padding:0 12px;height:44px;border:1px solid var(--line, #e2e8f0);border-radius:12px;background:var(--soft, #f8fafc);flex-shrink:0}.mph-sheet-search input{flex:1;border:none;background:transparent;font-size:14px;outline:none}.mph-sheet-list{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:0 12px calc(16px + env(safe-area-inset-bottom,0px))}.mph-sheet-empty{padding:24px 16px;text-align:center;color:var(--muted, #64748b);font-size:13px}.mph-sheet-item{width:100%;display:flex;align-items:center;gap:10px;text-align:left;border:1px solid transparent;background:transparent;border-radius:12px;padding:12px 10px;min-height:56px;cursor:pointer;flex-shrink:0}.mph-sheet-item.is-active{background:color-mix(in srgb,var(--accent-base, #8c6a24) 8%,var(--card, #fff));border-color:color-mix(in srgb,var(--accent-base, #8c6a24) 22%,var(--line, #e2e8f0))}.mph-sheet-item-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.mph-sheet-item-body{flex:1;min-width:0}.mph-sheet-item-body strong{display:block;font-size:14px;font-weight:700}.mph-sheet-item-body small{display:block;font-size:12px;color:var(--muted, #64748b);margin-top:2px}.mph-sheet-item-badge{font-size:10px;font-weight:800;color:#b91c1c}.eng-exact-app--mobile-shell .floor-tabs-scroll-wrap{position:sticky;top:0;z-index:4;background:var(--soft, #fcfdfc)}.eng-exact-app--mobile-shell .floor-tabs-scroll-wrap:after{content:"";position:absolute;right:0;top:0;bottom:0;width:32px;background:linear-gradient(to right,transparent,var(--soft, #fcfdfc) 85%);pointer-events:none}.eng-exact-app--mobile-shell .proj-workspace-shell .floor-tabs-scroll-wrap:after{display:none}.eng-exact-app--mobile-shell .floor-tabs-scroll-wrap .floor-tabs{position:static;border-bottom:1px solid var(--line, #cbd5e1)}body.mobile-tab-shell .crew-directory__nav-scroll-wrap,body.native-app .crew-directory__nav-scroll-wrap{position:relative;margin:0 -4px;background:transparent}body.mobile-tab-shell .crew-directory__nav-scroll-wrap:after,body.native-app .crew-directory__nav-scroll-wrap:after{content:"";position:absolute;right:0;top:0;bottom:0;width:36px;background:linear-gradient(to right,transparent,var(--surface-muted, #f4f3f0) 85%);pointer-events:none;z-index:1}body.mobile-tab-shell .crew-directory__nav,body.native-app .crew-directory__nav{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:4px;scrollbar-width:none;padding:0 4px 8px}body.mobile-tab-shell .crew-directory__nav::-webkit-scrollbar,body.native-app .crew-directory__nav::-webkit-scrollbar{display:none}body.mobile-tab-shell .crew-directory__tab,body.native-app .crew-directory__tab{flex:0 0 auto;height:36px;padding:0 14px;border-radius:999px;font-size:12px;font-weight:700;scroll-snap-align:start;touch-action:manipulation}body.mobile-tab-shell .crew-directory__tab.is-active,body.native-app .crew-directory__tab.is-active{background:var(--accent-base, var(--brand, #8c6a24));border-color:var(--accent-base, var(--brand, #8c6a24));color:#fff;box-shadow:0 2px 8px color-mix(in srgb,var(--accent-base, #8c6a24) 28%,transparent)}body.mobile-tab-shell .crew-directory__tab.is-active span,body.mobile-tab-shell .crew-directory__tab.is-active .app-icon,body.mobile-tab-shell .crew-directory__tab.is-active svg,body.native-app .crew-directory__tab.is-active span,body.native-app .crew-directory__tab.is-active .app-icon,body.native-app .crew-directory__tab.is-active svg{color:#fff}body.mobile-tab-shell .crew-directory__filters,body.native-app .crew-directory__filters{flex-direction:column;align-items:stretch;gap:8px;width:100%}body.mobile-tab-shell .crew-directory__filter-trigger,body.native-app .crew-directory__filter-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:40px;padding:0 12px;border:1px solid var(--line, #e2e8f0);border-radius:12px;background:var(--card, #fff);color:var(--ink, var(--text, #1c2320));font-size:13px;font-weight:650;text-align:left;cursor:pointer}body.mobile-tab-shell .crew-directory__filter-trigger span,body.native-app .crew-directory__filter-trigger span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.mobile-tab-shell .crew-directory__sort,body.native-app .crew-directory__sort{width:100%;margin-left:0}body.mobile-tab-shell .crew-directory__sort .list-sort,body.mobile-tab-shell .crew-directory__sort .list-sort-trigger,body.native-app .crew-directory__sort .list-sort,body.native-app .crew-directory__sort .list-sort-trigger{width:100%}body.mobile-tab-shell .eng-crew-req-tabs-scroll-wrap,body.native-app .eng-crew-req-tabs-scroll-wrap{position:relative;overflow:hidden;flex:1 1 100%;width:100%;max-width:100%}body.mobile-tab-shell .eng-crew-req-tabs-scroll-wrap:after,body.native-app .eng-crew-req-tabs-scroll-wrap:after{content:"";position:absolute;right:0;top:0;bottom:0;width:28px;background:linear-gradient(to right,transparent,var(--card, #fff) 85%);pointer-events:none;z-index:1}body.mobile-tab-shell .eng-crew-req-tabs,body.native-app .eng-crew-req-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:6px}body.mobile-tab-shell .eng-crew-req-tabs::-webkit-scrollbar,body.native-app .eng-crew-req-tabs::-webkit-scrollbar{display:none}body.mobile-tab-shell .eng-crew-req-tabs .mem-subtab,body.native-app .eng-crew-req-tabs .mem-subtab{flex:0 0 auto;min-width:auto;padding:0 14px;border-radius:999px;border:1px solid var(--line, #e2e8f0);background:var(--card, #fff);white-space:nowrap}body.mobile-tab-shell .eng-crew-req-tabs .mem-subtab.active,body.native-app .eng-crew-req-tabs .mem-subtab.active{background:var(--accent-base, var(--brand, #8c6a24));border-color:var(--accent-base, var(--brand, #8c6a24));color:#fff}body.mobile-tab-shell .eng-crew-req-tabs .mem-subtab.active span,body.mobile-tab-shell .eng-crew-req-tabs .mem-subtab.active .app-icon,body.native-app .eng-crew-req-tabs .mem-subtab.active span,body.native-app .eng-crew-req-tabs .mem-subtab.active .app-icon{color:#fff}.mobile-filter-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10150;background:#0f172a73;display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s ease}.mobile-filter-sheet-overlay.open{opacity:1;pointer-events:auto}.mobile-filter-sheet{width:100%;max-width:480px;height:min(58vh,480px);height:min(58dvh,480px);max-height:min(58vh,480px);max-height:min(58dvh,480px);min-height:min(36vh,280px);min-height:min(36dvh,280px);background:var(--card, #fff);border-radius:20px 20px 0 0;display:flex;flex-direction:column;overflow:hidden;padding-bottom:env(safe-area-inset-bottom,0px);animation:mobile-filter-sheet-up .28s ease}@keyframes mobile-filter-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.mobile-filter-sheet-handle{width:40px;height:4px;border-radius:999px;background:#cbd5e1;margin:10px auto 0;flex-shrink:0}.mobile-filter-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;padding:14px 16px 8px;flex-shrink:0}.mobile-filter-sheet-head h2{margin:0;font-size:18px;font-weight:800}.mobile-filter-sheet-head p{margin:4px 0 0;font-size:12px;color:var(--muted, #64748b)}.mobile-filter-sheet-close{border:none;background:#f1f5f9;border-radius:999px;width:36px;height:36px;display:grid;place-items:center;cursor:pointer}.mobile-filter-sheet-list{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 12px calc(16px + env(safe-area-inset-bottom,0px))}.mobile-filter-sheet-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid transparent;background:transparent;border-radius:12px;padding:14px 12px;min-height:48px;font-size:14px;font-weight:600;text-align:left;color:var(--ink, #1c2320);cursor:pointer;flex-shrink:0}.mobile-filter-sheet-item.is-active{background:color-mix(in srgb,var(--accent-base, #8c6a24) 8%,#fff);border-color:color-mix(in srgb,var(--accent-base, #8c6a24) 22%,#e2e8f0);color:var(--accent-base, #8c6a24)}.crew-workspace-panel .eng-exact-app.eng-exact-app--crew-host{display:block!important;overflow:visible!important;height:auto!important;min-height:0!important;max-height:none!important;grid-template-rows:none!important;grid-template-columns:none!important;background:transparent;font-family:var(--font-sans);color:var(--ink, #1c2320)}.crew-workspace-panel .eng-exact-app.eng-exact-app--crew-host .crew-page,.crew-workspace-panel .eng-exact-app.eng-exact-app--crew-host .crew-page-streamlined{display:flex;flex-direction:column;gap:12px;padding:0;overflow:visible;height:auto;min-height:0;width:100%}html:not(.theme-dark) .crew-workspace-panel .eng-exact-app.eng-exact-app--crew-host .crew-focus{background:var(--card, #fff);color:var(--ink, #1c2320);box-shadow:0 1px 3px #0f172a0d;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:12px}html:not(.theme-dark) .crew-workspace-panel .eng-exact-app.eng-exact-app--crew-host .crew-focus h2{color:var(--ink, #1c2320)}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host,body.native-app .crew-workspace-panel .eng-exact-app--crew-host{display:block;overflow:visible;height:auto;min-height:0;grid-template-rows:unset;background:transparent;font-family:var(--font-sans);color:var(--ink, #1c2320)}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host .crew-page,body.native-app .crew-workspace-panel .eng-exact-app--crew-host .crew-page{display:flex;flex-direction:column;gap:12px;padding:0}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host .crew-hero,body.native-app .crew-workspace-panel .eng-exact-app--crew-host .crew-hero,.crew-workspace-panel .crew-page--mobile-ws .crew-hero{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto auto;gap:8px}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host .crew-focus,body.native-app .crew-workspace-panel .eng-exact-app--crew-host .crew-focus,.crew-workspace-panel .crew-page--mobile-ws .crew-focus{grid-column:1 / -1;padding:12px}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host .crew-metric,body.native-app .crew-workspace-panel .eng-exact-app--crew-host .crew-metric,.crew-workspace-panel .crew-page--mobile-ws .crew-metric{border:1px solid var(--line, #e2e8f0);border-radius:12px;background:var(--card, #fff);padding:10px 8px;box-shadow:0 1px 2px #0f172a0a;color:var(--ink, #1c2320);text-align:center;min-height:0}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host .crew-focus,body.native-app .crew-workspace-panel .eng-exact-app--crew-host .crew-focus,.crew-workspace-panel .crew-page--mobile-ws .crew-focus{border:1px solid var(--line, #e2e8f0);border-radius:14px;background:var(--card, #fff);box-shadow:0 1px 3px #0f172a0d;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:10px;text-align:left}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host .crew-focus .eyebrow,body.native-app .crew-workspace-panel .eng-exact-app--crew-host .crew-focus .eyebrow{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-base, #8c6a24);margin-bottom:6px}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host .crew-focus h2,body.native-app .crew-workspace-panel .eng-exact-app--crew-host .crew-focus h2,.crew-workspace-panel .crew-page--mobile-ws .crew-focus h2{margin:0;font-size:17px;font-weight:800;line-height:1.25;color:var(--ink, #1c2320)}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host .crew-focus .eyebrow,body.native-app .crew-workspace-panel .eng-exact-app--crew-host .crew-focus .eyebrow,.crew-workspace-panel .crew-page--mobile-ws .crew-focus .eyebrow{margin-bottom:4px}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host .crew-focus-request-btn,body.native-app .crew-workspace-panel .eng-exact-app--crew-host .crew-focus-request-btn,.crew-workspace-panel .crew-page--mobile-ws .crew-focus-request-btn{width:100%;min-height:40px;padding:0 14px;border-radius:10px;border:1px solid color-mix(in srgb,var(--accent-base, #8c6a24) 35%,#cbd5e1);background:color-mix(in srgb,var(--accent-base, #8c6a24) 10%,#fff);color:var(--accent-base, #8c6a24);font-size:13px;font-weight:700}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host .crew-focus p,body.native-app .crew-workspace-panel .eng-exact-app--crew-host .crew-focus p{margin:0 0 12px;font-size:13px;line-height:1.45;color:var(--muted, #64748b)}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host .crew-focus>div>button,body.native-app .crew-workspace-panel .eng-exact-app--crew-host .crew-focus>div>button{min-height:40px;padding:0 14px;border-radius:10px;border:1px solid color-mix(in srgb,var(--accent-base, #8c6a24) 35%,#cbd5e1);background:color-mix(in srgb,var(--accent-base, #8c6a24) 10%,#fff);color:var(--accent-base, #8c6a24);font-size:13px;font-weight:700}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host .crew-metric span,body.native-app .crew-workspace-panel .eng-exact-app--crew-host .crew-metric span,.crew-workspace-panel .crew-page--mobile-ws .crew-metric span{display:block;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted, #64748b);line-height:1.2}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host .crew-metric b,body.native-app .crew-workspace-panel .eng-exact-app--crew-host .crew-metric b,.crew-workspace-panel .crew-page--mobile-ws .crew-metric b{display:block;font-size:20px;margin:4px 0 1px;line-height:1.1}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host .crew-metric small,body.native-app .crew-workspace-panel .eng-exact-app--crew-host .crew-metric small,.crew-workspace-panel .crew-page--mobile-ws .crew-metric small{display:block;font-size:10px;color:var(--muted, #64748b);line-height:1.2}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host .crew-metric.alert b,body.native-app .crew-workspace-panel .eng-exact-app--crew-host .crew-metric.alert b{color:#b91c1c}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host .crew-attention-strip,body.native-app .crew-workspace-panel .eng-exact-app--crew-host .crew-attention-strip,.crew-workspace-panel .crew-page--mobile-ws .crew-attention-strip{border:1px solid var(--line, #e2e8f0);border-radius:14px;background:var(--card, #fff);padding:12px;box-shadow:0 1px 3px #0f172a0d}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host .crew-attention-head,body.native-app .crew-workspace-panel .eng-exact-app--crew-host .crew-attention-head,.crew-workspace-panel .crew-page--mobile-ws .crew-attention-head{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin-bottom:10px}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host .crew-action-btn.primary,body.native-app .crew-workspace-panel .eng-exact-app--crew-host .crew-action-btn.primary,.crew-workspace-panel .crew-page--mobile-ws .crew-action-btn.primary{width:100%;border:none;background:var(--accent-base, #8c6a24);color:#fff}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host .crew-section-kicker,body.native-app .crew-workspace-panel .eng-exact-app--crew-host .crew-section-kicker{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-base, #8c6a24)}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host .crew-attention-head h3,body.native-app .crew-workspace-panel .eng-exact-app--crew-host .crew-attention-head h3{margin:4px 0 0;font-size:16px;font-weight:800}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host .crew-action-btn,body.native-app .crew-workspace-panel .eng-exact-app--crew-host .crew-action-btn{min-height:40px;padding:0 14px;border-radius:10px;font-size:13px;font-weight:700}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host .crew-attention-grid,body.native-app .crew-workspace-panel .eng-exact-app--crew-host .crew-attention-grid{display:flex;flex-direction:column;gap:10px}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host .crew-attention-grid--horizontal,body.native-app .crew-workspace-panel .eng-exact-app--crew-host .crew-attention-grid--horizontal,.crew-workspace-panel .crew-page--mobile-ws .crew-attention-grid--horizontal{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:10px;padding-bottom:4px;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:none}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host .crew-attention-grid--horizontal::-webkit-scrollbar,body.native-app .crew-workspace-panel .eng-exact-app--crew-host .crew-attention-grid--horizontal::-webkit-scrollbar,.crew-workspace-panel .crew-page--mobile-ws .crew-attention-grid--horizontal::-webkit-scrollbar{display:none}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host .crew-attention-grid--horizontal .crew-alert-card,body.native-app .crew-workspace-panel .eng-exact-app--crew-host .crew-attention-grid--horizontal .crew-alert-card,.crew-workspace-panel .crew-page--mobile-ws .crew-attention-grid--horizontal .crew-alert-card{flex:0 0 min(72vw,200px);scroll-snap-align:start;min-height:108px}@media(max-width:960px){.crew-workspace-panel .eng-exact-app.eng-exact-app--crew-host .crew-hero,.crew-workspace-panel .crew-page--mobile-ws .crew-hero{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.crew-workspace-panel .eng-exact-app.eng-exact-app--crew-host .crew-attention-grid,.crew-workspace-panel .crew-page--mobile-ws .crew-attention-grid--horizontal{flex-direction:row;overflow-x:auto}}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host .crew-alert-card,body.native-app .crew-workspace-panel .eng-exact-app--crew-host .crew-alert-card,.crew-workspace-panel .crew-page--mobile-ws .crew-alert-card{display:grid;grid-template-columns:32px minmax(0,1fr);grid-template-rows:auto auto;align-items:start;gap:8px 10px;padding:10px 12px;border-radius:12px;border:1px solid var(--line, #e2e8f0);background:var(--soft, #f8fafc)}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host .crew-alert-card .crew-alert-icon,body.native-app .crew-workspace-panel .eng-exact-app--crew-host .crew-alert-card .crew-alert-icon,.crew-workspace-panel .crew-page--mobile-ws .crew-alert-card .crew-alert-icon{grid-row:1;grid-column:1;width:32px;height:32px;border-radius:9px;display:grid;place-items:center;font-size:13px;font-weight:900}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host .crew-alert-card>div,body.native-app .crew-workspace-panel .eng-exact-app--crew-host .crew-alert-card>div,.crew-workspace-panel .crew-page--mobile-ws .crew-alert-card>div{grid-row:1;grid-column:2;min-width:0}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host .crew-alert-card b,body.native-app .crew-workspace-panel .eng-exact-app--crew-host .crew-alert-card b,.crew-workspace-panel .crew-page--mobile-ws .crew-alert-card b{display:block;font-size:13px;font-weight:700;margin-bottom:0;line-height:1.3}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host .crew-alert-card button,body.native-app .crew-workspace-panel .eng-exact-app--crew-host .crew-alert-card button,.crew-workspace-panel .crew-page--mobile-ws .crew-alert-card button{grid-row:2;grid-column:1 / -1;width:100%;min-height:36px;padding:0 12px;border:1px solid var(--line, #cbd5e1);border-radius:8px;background:var(--card, #fff);font-size:12px;font-weight:700;color:var(--accent-base, #8c6a24);white-space:nowrap}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host .crew-roster-panel,body.native-app .crew-workspace-panel .eng-exact-app--crew-host .crew-roster-panel{border:1px solid var(--line, #e2e8f0);border-radius:14px;background:var(--card, #fff);overflow:hidden;box-shadow:0 1px 3px #0f172a0d}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host .crew-roster-head,body.native-app .crew-workspace-panel .eng-exact-app--crew-host .crew-roster-head,.crew-workspace-panel .crew-page--mobile-ws .crew-roster-head{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:14px;border-bottom:1px solid var(--line, #eef2f7)}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host .crew-roster-copy h3,body.native-app .crew-workspace-panel .eng-exact-app--crew-host .crew-roster-copy h3,.crew-workspace-panel .crew-page--mobile-ws .crew-roster-copy h3{margin:0;font-size:18px}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host .crew-roster-actions,body.native-app .crew-workspace-panel .eng-exact-app--crew-host .crew-roster-actions,.crew-workspace-panel .crew-page--mobile-ws .crew-roster-actions{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px;width:max-content;max-width:100%;margin-left:0}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host .crew-roster-actions .crew-roster-date-picker,body.native-app .crew-workspace-panel .eng-exact-app--crew-host .crew-roster-actions .crew-roster-date-picker,.crew-workspace-panel .crew-page--mobile-ws .crew-roster-actions .crew-roster-date-picker{width:max-content;flex:0 0 auto}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host .crew-roster-search,body.native-app .crew-workspace-panel .eng-exact-app--crew-host .crew-roster-search,.crew-workspace-panel .crew-page--mobile-ws .crew-roster-search{width:240px;max-width:240px;min-width:180px;flex:0 0 auto}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host .crew-roster-actions .list-sort,body.native-app .crew-workspace-panel .eng-exact-app--crew-host .crew-roster-actions .list-sort,.crew-workspace-panel .crew-page--mobile-ws .crew-roster-actions .list-sort{grid-column:1 / -1}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host .crew-roster-actions>button,body.native-app .crew-workspace-panel .eng-exact-app--crew-host .crew-roster-actions>button,.crew-workspace-panel .crew-page--mobile-ws .crew-roster-actions>button{min-height:40px;width:100%}body.mobile-tab-shell .crew-workspace-panel .eng-exact-app--crew-host .crew-roster-actions .list-sort-trigger,body.native-app .crew-workspace-panel .eng-exact-app--crew-host .crew-roster-actions .list-sort-trigger{min-height:40px;border-radius:10px;font-size:12px}body.mobile-tab-shell .crew-workspace-panel .crew-table-wrap--mobile-table,body.native-app .crew-workspace-panel .crew-table-wrap--mobile-table{overflow:visible;padding:0;border:none;background:transparent}.crew-ws-table-scroll{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;border:1px solid var(--line, #e2e8f0);border-radius:12px;background:var(--card, #fff);max-width:100%;position:relative}.crew-ws-table-scroll .crew-ws-data-table{width:100%;min-width:1040px;border-collapse:collapse;table-layout:fixed}.crew-ws-table-scroll .crew-ws-data-table col.crew-ws-col-worker{width:14%}.crew-ws-table-scroll .crew-ws-data-table col.crew-ws-col-emirates{width:13%}.crew-ws-table-scroll .crew-ws-data-table col.crew-ws-col-visa{width:10%}.crew-ws-table-scroll .crew-ws-data-table col.crew-ws-col-trade{width:11%}.crew-ws-table-scroll .crew-ws-data-table col.crew-ws-col-project{width:8%}.crew-ws-table-scroll .crew-ws-data-table col.crew-ws-col-status,.crew-ws-table-scroll .crew-ws-data-table col.crew-ws-col-clock-in,.crew-ws-table-scroll .crew-ws-data-table col.crew-ws-col-clock-out{width:9%}.crew-ws-table-scroll .crew-ws-data-table col.crew-ws-col-hours{width:7%}.crew-ws-table-scroll .crew-ws-data-table col.crew-ws-col-actions{width:10%}.crew-ws-table-scroll .crew-ws-data-table thead th{position:sticky;top:0;z-index:1;background:var(--soft, #f8fafc);padding:11px 10px;text-align:center;color:var(--muted, #64748b);font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid var(--line, #e2e8f0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crew-ws-table-scroll .crew-ws-data-table thead th .crew-hours-heading{display:inline-flex;align-items:center;justify-content:center;gap:4px}.crew-ws-table-scroll .crew-ws-data-table tbody td{padding:10px;border-bottom:1px solid var(--line, #eef2f7);font-size:12px;color:var(--ink, #1c2320);vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.crew-ws-table-scroll .crew-ws-data-table tbody td.crew-ws-td-worker{text-align:left}.crew-ws-table-scroll .crew-ws-data-table tbody td.crew-ws-td-status{text-align:center}.crew-ws-table-scroll .crew-ws-data-table tbody td.crew-ws-td-emirates,.crew-ws-table-scroll .crew-ws-data-table tbody td.crew-ws-td-visa{font-size:11px;color:var(--muted, #64748b)}.crew-ws-table-scroll .crew-ws-data-table tbody tr:last-child td{border-bottom:none}.crew-ws-table-scroll .crew-ws-data-table tbody tr:nth-child(2n){background:var(--panel-soft, #fafbfc)}.crew-ws-table-scroll .crew-ws-data-table tbody tr.crew-row-clickable{cursor:pointer}.crew-ws-table-scroll .crew-ws-data-table tbody tr.crew-row-clickable:hover{background:color-mix(in srgb,var(--accent-base, #8a6d2e) 6%,white)}.crew-ws-table-scroll .crew-ws-data-table tbody tr.crew-row-clickable:focus-visible{outline:2px solid var(--brand-border, var(--accent-base, #8a6d2e));outline-offset:-2px}.crew-ws-table-scroll .crew-ws-data-table .worker-name{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-width:0;max-width:100%}.crew-ws-table-scroll .crew-ws-data-table .worker-name strong{font-size:12px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crew-ws-table-scroll .crew-ws-data-table .worker-avatar{width:28px;height:28px;flex-shrink:0;border-radius:8px;font-size:10px}.crew-ws-table-scroll .crew-ws-data-table .worker-status{display:inline-flex;align-items:center;justify-content:center;margin:0 auto;font-size:10px;font-weight:700;padding:3px 8px;border-radius:999px;white-space:nowrap}.crew-ws-table-scroll .crew-ws-data-table .worker-status.present{background:#dcfce7;color:#166534}.crew-ws-table-scroll .crew-ws-data-table .worker-status.absent{background:#fee2e2;color:#991b1b}.crew-ws-table-scroll .crew-ws-data-table .worker-status.edit-pending{background:#fef3c7;color:#92400e}.crew-ws-table-scroll .crew-ws-data-table .crew-row-review-btns{display:flex;gap:4px;flex-wrap:nowrap}.crew-ws-table-scroll .crew-ws-data-table .crew-review-btn{min-height:28px;padding:0 8px;font-size:10px;border-radius:6px}body.mobile-tab-shell .crew-workspace-panel .tile-list-footer,body.native-app .crew-workspace-panel .tile-list-footer{margin-top:12px;padding-top:8px}body.mobile-tab-shell .crew-workspace-panel .toast,body.native-app .crew-workspace-panel .toast{position:fixed;left:50%;bottom:calc(88px + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:10040;max-width:min(92vw,360px)}body.mobile-tab-shell .crew-screen--mobile-alloc .crew-main-tabs,body.native-app .crew-screen--mobile-alloc .crew-main-tabs{position:sticky;top:0;z-index:5;margin:0 0 8px;padding:8px 12px;background:var(--soft, #f6f7f9)}body.mobile-tab-shell .crew-tab-body--alloc,body.native-app .crew-tab-body--alloc{padding:0;margin:0;min-width:0}body.mobile-tab-shell .crew-allocation-mobile-host,body.native-app .crew-allocation-mobile-host{min-width:0;width:100%}body.mobile-tab-shell .crew-allocation-mobile-host #crewAllocation,body.mobile-tab-shell .crew-allocation-mobile-host #crewAllocation.view,body.mobile-tab-shell .crew-allocation-mobile-host #crewAllocation .html-screen-mount,body.mobile-tab-shell .crew-allocation-mobile-host #crewAllocation .html-screen-mount>.crew-alloc-root,body.native-app .crew-allocation-mobile-host #crewAllocation,body.native-app .crew-allocation-mobile-host #crewAllocation.view,body.native-app .crew-allocation-mobile-host #crewAllocation .html-screen-mount,body.native-app .crew-allocation-mobile-host #crewAllocation .html-screen-mount>.crew-alloc-root{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;display:block!important;width:100%;margin:0;padding:0}body.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .crew-alloc-grid,body.native-app .crew-allocation-mobile-host .crew-alloc-root .crew-alloc-grid{height:auto!important;min-height:0!important;overflow:visible!important;display:block!important}body.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .crew-alloc-main,body.native-app .crew-allocation-mobile-host .crew-alloc-root .crew-alloc-main{height:auto!important;min-height:0!important;overflow:visible!important;padding:0 12px calc(96px + env(safe-area-inset-bottom,0px))}body.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .hero h1,body.native-app .crew-allocation-mobile-host .crew-alloc-root .hero h1{font-size:17px}body.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .hero p,body.native-app .crew-allocation-mobile-host .crew-alloc-root .hero p{font-size:12px}body.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .hero,body.native-app .crew-allocation-mobile-host .crew-alloc-root .hero{background:linear-gradient(118deg,#fff8eb,#f3e4c4 52%,#e8d4a0)!important;border-bottom:1px solid rgba(184,134,11,.28)!important;color:#1a1610!important;box-shadow:none!important}body.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .hero h1,body.native-app .crew-allocation-mobile-host .crew-alloc-root .hero h1{color:#1a1610!important}body.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .hero p,body.native-app .crew-allocation-mobile-host .crew-alloc-root .hero p{color:#1a1610a6!important}body.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .hero-actions button,body.native-app .crew-allocation-mobile-host .crew-alloc-root .hero-actions button{border-color:#8c6a2459!important;background:#ffffffa6!important;color:#1a1610!important}html.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .hero,html.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .hero,body.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .hero,body.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .hero{background:linear-gradient(118deg,#12151a,#1a1610 45%,#2a2418)!important;border-bottom:1px solid rgba(196,154,69,.28)!important;color:#f7f1e4!important}html.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .hero h1,html.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .hero h1,body.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .hero h1,body.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .hero h1{color:#f7f1e4!important}html.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .hero p,html.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .hero p,body.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .hero p,body.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .hero p{color:#f7f1e4b8!important}html.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .hero-actions button:not(.primary),html.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .hero-actions button:not(.primary),body.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .hero-actions button:not(.primary),body.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .hero-actions button:not(.primary){border-color:#e8d4a066!important;background:#ffffff14!important;color:#f7f1e4!important}body.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .sum b,body.native-app .crew-allocation-mobile-host .crew-alloc-root .sum b{font-size:20px}body.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .sum small,body.native-app .crew-allocation-mobile-host .crew-alloc-root .sum small{font-size:10px}body.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .section-title,body.native-app .crew-allocation-mobile-host .crew-alloc-root .section-title{font-size:11px}body.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .project-card .pc-top b,body.native-app .crew-allocation-mobile-host .crew-alloc-root .project-card .pc-top b{font-size:12px}body.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .project-card>button,body.native-app .crew-allocation-mobile-host .crew-alloc-root .project-card>button{min-height:40px;font-size:11px;font-weight:700}body.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .request-card b,body.native-app .crew-allocation-mobile-host .crew-alloc-root .request-card b{font-size:13px}body.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .request-card small,body.native-app .crew-allocation-mobile-host .crew-alloc-root .request-card small{font-size:11px;line-height:1.35}html.theme-dark.mobile-tab-shell .crew-screen--mobile-alloc .crew-main-tabs,html.theme-dark.native-app .crew-screen--mobile-alloc .crew-main-tabs,body.theme-dark.mobile-tab-shell .crew-screen--mobile-alloc .crew-main-tabs,body.theme-dark.native-app .crew-screen--mobile-alloc .crew-main-tabs{background:#0f1218}body.mobile-tab-shell #accounts.route-screen,body.native-app #accounts.route-screen{display:flex;flex-direction:column;gap:0;min-height:0}body.mobile-tab-shell #accounts .fm-mobile-hero,body.native-app #accounts .fm-mobile-hero{margin:-14px -14px 0}body.mobile-tab-shell #accounts .fm-mobile-hero-inner,body.native-app #accounts .fm-mobile-hero-inner{padding:10px 14px 0}body.mobile-tab-shell #accounts .fm-mobile-curve,body.native-app #accounts .fm-mobile-curve{height:14px}body.mobile-tab-shell #accounts .module-shell,body.mobile-tab-shell #accounts .accounts-module-shell,body.native-app #accounts .module-shell,body.native-app #accounts .accounts-module-shell{margin-top:8px;gap:0;min-width:0}body.mobile-tab-shell #accounts .accounts-module.crew-directory,body.native-app #accounts .accounts-module.crew-directory{gap:10px}body.mobile-tab-shell #accounts .accounts-section-tabs,body.native-app #accounts .accounts-section-tabs{padding-bottom:4px}body.mobile-tab-shell #accounts .crew-directory__view,body.native-app #accounts .crew-directory__view{min-width:0}body.mobile-tab-shell #accounts .exact-embedded-accounts,body.native-app #accounts .exact-embedded-accounts{gap:10px;min-width:0}body.mobile-tab-shell #accounts .accounts-directory-panel,body.native-app #accounts .accounts-directory-panel{border:1px solid var(--line, #e2e8f0);border-radius:14px;background:var(--card, #fff);overflow:hidden;box-shadow:0 1px 3px #0f172a0d}body.mobile-tab-shell #accounts .accounts-directory-toolbar,body.native-app #accounts .accounts-directory-toolbar{padding:12px 12px 10px;border-bottom:1px solid var(--hairline, #eef2f6);background:var(--card, #fff)}body.mobile-tab-shell #accounts .accounts-directory-toolbar .crew-directory__toolbar-top,body.native-app #accounts .accounts-directory-toolbar .crew-directory__toolbar-top{margin:0}body.mobile-tab-shell #accounts .accounts-directory-summary,body.native-app #accounts .accounts-directory-summary{margin:8px 0 0;font-size:12px;line-height:1.45;color:var(--muted, #64748b)}body.mobile-tab-shell #accounts .accounts-directory-toolbar--with-aside,body.native-app #accounts .accounts-directory-toolbar--with-aside{flex-direction:row;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}body.mobile-tab-shell #accounts .accounts-directory-toolbar--with-aside .accounts-directory-summary,body.native-app #accounts .accounts-directory-toolbar--with-aside .accounts-directory-summary{margin:0}body.mobile-tab-shell #accounts .accounts-directory-toolbar__aside,body.native-app #accounts .accounts-directory-toolbar__aside{margin-left:auto}body.mobile-tab-shell #accounts .accounts-directory-body,body.native-app #accounts .accounts-directory-body{padding:10px 12px 12px;min-width:0;background:var(--card, #fff)}body.mobile-tab-shell #accounts .accounts-directory-content,body.native-app #accounts .accounts-directory-content{min-width:0}body.mobile-tab-shell #accounts .accounts-embedded-panel,body.native-app #accounts .accounts-embedded-panel{border:1px solid var(--line, #e2e8f0);border-radius:14px;background:var(--card, #fff);box-shadow:0 1px 4px #0f172a0d;overflow:hidden}body.mobile-tab-shell #accounts .list-toolbar-row--with-filters,body.native-app #accounts .list-toolbar-row--with-filters{flex-direction:column;align-items:stretch;flex-wrap:wrap;gap:8px;margin-bottom:10px}body.mobile-tab-shell #accounts .list-toolbar-row--with-filters .list-toolbar-filters,body.native-app #accounts .list-toolbar-row--with-filters .list-toolbar-filters{width:100%;min-width:0;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}body.mobile-tab-shell #accounts .list-toolbar-row--with-filters .list-toolbar-filters::-webkit-scrollbar,body.native-app #accounts .list-toolbar-row--with-filters .list-toolbar-filters::-webkit-scrollbar{display:none}body.mobile-tab-shell #accounts .list-toolbar-filter,body.native-app #accounts .list-toolbar-filter{flex:0 0 auto;min-height:34px;padding:6px 12px;font-size:12px}body.mobile-tab-shell #accounts .list-toolbar-row__sort,body.native-app #accounts .list-toolbar-row__sort{margin-left:0;width:100%}body.mobile-tab-shell #accounts .list-toolbar-row__sort .list-sort-trigger,body.native-app #accounts .list-toolbar-row__sort .list-sort-trigger{width:100%;min-height:38px;font-size:12px}body.mobile-tab-shell #accounts .app-tile-grid,body.native-app #accounts .app-tile-grid{gap:10px}body.mobile-tab-shell #accounts .app-tile,body.native-app #accounts .app-tile{padding:12px 14px;gap:8px;border-radius:14px}body.mobile-tab-shell #accounts .app-tile-head,body.native-app #accounts .app-tile-head{display:flex;flex-direction:row;align-items:flex-end;justify-content:space-between;gap:10px;min-width:0}body.mobile-tab-shell #accounts .app-tile-head>:first-child,body.native-app #accounts .app-tile-head>:first-child{flex:1 1 auto;min-width:0;overflow:hidden}body.mobile-tab-shell #accounts .app-tile-head .acc-status-badge,body.native-app #accounts .app-tile-head .acc-status-badge,body.mobile-tab-shell #accounts .app-tile-head .req-status,body.native-app #accounts .app-tile-head .req-status{flex:0 0 auto;align-self:flex-end;box-sizing:border-box;width:max-content;min-width:max-content;max-width:none;margin:0;padding:5px 10px!important;font-size:11px!important;font-weight:700;line-height:1.25!important;border-radius:999px;white-space:nowrap!important;text-align:center;overflow:visible!important;text-overflow:clip!important;display:inline-flex!important;align-items:center;justify-content:center;-webkit-line-clamp:unset!important;line-clamp:unset!important;-webkit-box-orient:initial!important}body.mobile-tab-shell #accounts .app-tile-id,body.native-app #accounts .app-tile-id{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.mobile-tab-shell #accounts .app-tile-title,body.native-app #accounts .app-tile-title{font-size:16px;font-weight:800;-webkit-line-clamp:1}body.mobile-tab-shell #accounts .app-tile-chips,body.native-app #accounts .app-tile-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}body.mobile-tab-shell #accounts .app-tile-chips .proc-chip:first-child,body.native-app #accounts .app-tile-chips .proc-chip:first-child{grid-column:1 / -1;text-align:left}body.mobile-tab-shell #accounts .app-tile-chips .proc-chip,body.native-app #accounts .app-tile-chips .proc-chip{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;padding:5px 8px;border-radius:8px}body.mobile-tab-shell #accounts .acc-bill-reject-note,body.native-app #accounts .acc-bill-reject-note{font-size:11px;line-height:1.35;margin:0}body.mobile-tab-shell #accounts .app-tile-actions,body.native-app #accounts .app-tile-actions{padding-top:8px;margin-top:2px}body.mobile-tab-shell #accounts .acc-bill-actions,body.native-app #accounts .acc-bill-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;white-space:normal}body.mobile-tab-shell #accounts .acc-bill-actions:not(:has(.req-approve-btn)),body.native-app #accounts .acc-bill-actions:not(:has(.req-approve-btn)){grid-template-columns:1fr}body.mobile-tab-shell #accounts .acc-bill-actions .proj-doc-action,body.mobile-tab-shell #accounts .acc-bill-actions .req-approve-btn,body.mobile-tab-shell #accounts .acc-bill-actions .req-reject-btn,body.native-app #accounts .acc-bill-actions .proj-doc-action,body.native-app #accounts .acc-bill-actions .req-approve-btn,body.native-app #accounts .acc-bill-actions .req-reject-btn{min-height:42px;width:100%;margin:0;padding:8px 6px;font-size:12px;font-weight:700;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.2}body.mobile-tab-shell #accounts .acc-bill-view-error,body.native-app #accounts .acc-bill-view-error{margin:0 0 8px;padding:8px 10px;font-size:12px;border-radius:10px;background:#fef2f2;color:#991b1b}body.mobile-tab-shell #accounts .tile-list-footer,body.native-app #accounts .tile-list-footer{flex-wrap:wrap;gap:8px;padding-top:8px}body.mobile-tab-shell #accounts .tile-list-page-summary,body.native-app #accounts .tile-list-page-summary{font-size:11px}body.mobile-tab-shell #accounts .tile-list-page-btn,body.native-app #accounts .tile-list-page-btn{min-width:34px;height:34px}body.mobile-tab-shell #accounts .payroll-table-wrap,body.native-app #accounts .payroll-table-wrap,body.mobile-tab-shell #accounts .acct-attendance-table-wrap,body.native-app #accounts .acct-attendance-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px}body.mobile-tab-shell #accounts .payroll-table,body.native-app #accounts .payroll-table,body.mobile-tab-shell #accounts .acct-attendance-table,body.native-app #accounts .acct-attendance-table{min-width:640px}body.mobile-tab-shell #accounts .payroll-banner-actions,body.native-app #accounts .payroll-banner-actions{flex-direction:column;align-items:stretch;gap:8px}body.mobile-tab-shell #accounts .payroll-banner-actions .payroll-action-btn,body.native-app #accounts .payroll-banner-actions .payroll-action-btn{min-height:42px;width:100%}body.mobile-tab-shell #accounts .acc-attendance-content,body.native-app #accounts .acc-attendance-content{display:flex;flex-direction:column;gap:10px;min-width:0}body.mobile-tab-shell #accounts .acc-attendance-controls,body.native-app #accounts .acc-attendance-controls{display:flex;flex-direction:column;align-items:stretch;gap:8px;width:100%}body.mobile-tab-shell #accounts .acc-attendance-controls .crew-directory__search,body.native-app #accounts .acc-attendance-controls .crew-directory__search{width:100%;min-height:40px}body.mobile-tab-shell #accounts .acc-attendance-controls .crew-directory__search input,body.native-app #accounts .acc-attendance-controls .crew-directory__search input{width:100%;font-size:13px}body.mobile-tab-shell #accounts .acc-attendance-date,body.native-app #accounts .acc-attendance-date{width:100%}body.mobile-tab-shell #accounts .acc-attendance-date .time-date-picker-wrap,body.native-app #accounts .acc-attendance-date .time-date-picker-wrap{display:grid;grid-template-columns:auto 1fr auto;width:100%;gap:6px}body.mobile-tab-shell #accounts .acc-attendance-date .time-date-picker-btn,body.native-app #accounts .acc-attendance-date .time-date-picker-btn{min-width:0;width:100%}body.mobile-tab-shell #accounts .acc-attendance-content .eng-req-empty.proc-empty-wide,body.native-app #accounts .acc-attendance-content .eng-req-empty.proc-empty-wide{display:flex;flex-direction:column;align-items:center;gap:6px;padding:24px 16px;text-align:center;font-size:13px;line-height:1.45;color:var(--muted, #64748b);border:1px dashed var(--line, #e2e8f0);border-radius:12px;background:#fafbfc}body.mobile-tab-shell #accounts .acc-attendance-content .eng-req-empty.proc-empty-wide strong,body.native-app #accounts .acc-attendance-content .eng-req-empty.proc-empty-wide strong{font-size:14px;font-weight:700;color:var(--text, #0f172a)}body.mobile-tab-shell #accounts .acc-attendance-card-grid,body.native-app #accounts .acc-attendance-card-grid{gap:10px}body.mobile-tab-shell #accounts .acc-attendance-card .app-tile-actions,body.native-app #accounts .acc-attendance-card .app-tile-actions{padding-top:8px}body.mobile-tab-shell #accounts .acc-attendance-card__view,body.native-app #accounts .acc-attendance-card__view{width:100%;min-height:40px;font-size:12px;font-weight:700;border-radius:10px}.acct-workspace{display:flex;flex-direction:column;gap:18px;min-width:0}.acct-workspace>.acct-proto-kpis{flex:0 0 auto}.acct-workspace>.acct-tab-content,.acct-workspace>.acct-proto-grid2,.acct-workspace>.acct-panel-body,.acct-workspace>.acct-card{width:100%;min-width:0}.acct-tab-content{min-width:0}.acct-tab-content--stack{display:grid;gap:12px;align-content:start}.accounts-module.crew-directory{display:flex;flex-direction:column;min-width:0}.accounts-module.crew-directory .crew-directory__view{padding:22px 20px 20px;min-width:0;display:flex;flex-direction:column;background:var(--acct-canvas, #f7f8f7)}.exact-embedded-accounts{display:flex;flex-direction:column;gap:18px;min-width:0;background:var(--acct-canvas, #f7f8f7)}.accounts-module-shell{display:flex;flex-direction:column;min-width:0;background:transparent}#accounts.route-screen--accounts{display:flex;flex-direction:column;background:var(--acct-canvas, #f7f8f7)}#accounts.route-screen--accounts>.accounts-module-shell{flex:1 1 auto;min-width:0}.accounts-module-toolbar{display:flex;align-items:center;gap:10px;padding:6px 20px 22px;margin-bottom:0;border-bottom:1px solid var(--line, #e2e8f0);min-width:0;background:var(--acct-canvas, #f7f8f7)}.accounts-module-toolbar .crew-directory__nav-scroll-wrap{flex:1 1 auto;min-width:0}.accounts-global-search{flex:0 1 360px;max-width:420px;margin-left:auto}.accounts-global-search__icon{flex-shrink:0;color:var(--muted, #64748b)}.accounts-global-search__clear{flex-shrink:0;width:22px;height:22px;border:0;border-radius:999px;background:#e2e8f0;color:var(--muted, #64748b);font-size:14px;line-height:1;cursor:pointer}.accounts-global-search__clear:hover{background:#cbd5e1;color:var(--text, #102033)}.acct-search-results .acct-card-head span{display:block;margin-top:4px;font-size:10px;color:var(--muted, #64748b)}@media(max-width:900px){.accounts-module-toolbar{flex-direction:column;align-items:stretch}.accounts-global-search{flex:1 1 auto;max-width:none;margin-left:0}}.acct-panel-body,.acct-card{background:var(--card, #fff);border:1px solid var(--acct-line, #e3e7e4);border-radius:14px;box-shadow:0 4px 16px #19251f06}.acct-panel-body{padding:18px;display:flex;flex-direction:column;gap:12px}.acct-panel-body>.acct-proto-grid2,.acct-panel-body>.acct-overview-shortcuts{flex:1 1 auto}.acct-card{padding:14px;min-width:0;overflow:visible}.acct-card .acct-card{box-shadow:none}.acct-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:0 0 12px;border-bottom:0}.acct-panel-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.acct-action-cell{text-align:right;vertical-align:middle;white-space:normal}.acct-action-group{display:inline-flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;align-items:center}.acct-table th.acct-table-actions,.acct-table td.acct-action-cell{text-align:right;white-space:normal}.acct-table td.acct-action-cell .acct-btn{margin:0}.acct-project-name{display:inline-block;cursor:default}.acct-muted{color:var(--muted, #64748b);font-size:11px}.acct-table-currency-note{margin:8px 0 0;padding:0 2px;color:var(--muted, #64748b);font-size:11px;line-height:1.45}.acct-table__amount{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}.acct-table__amount-value{font-weight:700;color:var(--text, #202624)}.acct-table__currency{font-weight:700}.acct-table__amount--outstanding{font-weight:600}.admin-modal-card.acc-bills-modal{width:min(720px,100vw)}.admin-modal-card.acc-payroll-modal{width:min(800px,100vw)}.admin-modal-card.acc-payroll-modal .eng-req-modal-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.admin-modal-overlay>.admin-modal-card.acct-side-sheet{width:min(720px,100vw);height:100%;max-height:100dvh;border-radius:0;margin:0;display:flex;flex-direction:column;overflow:hidden}.admin-modal-overlay>.admin-modal-card.acct-side-sheet .eng-req-modal-head{flex-shrink:0}.admin-modal-overlay>.admin-modal-card.acct-side-sheet .eng-req-modal-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.admin-modal-overlay>.admin-modal-card.acct-side-sheet.acc-payroll-modal{width:min(800px,100vw)}.admin-modal-card.acc-bills-modal .eng-req-modal-body{flex:1;min-height:0;overflow-y:auto}.acct-checkbox-row{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:13px;cursor:pointer;-webkit-user-select:none;user-select:none}.acct-checkbox-row input[type=checkbox]{margin:0;flex-shrink:0}.acct-billing-quote-banner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px;padding:12px;border:1px solid var(--line, #e2e8f0);border-radius:12px;background:color-mix(in srgb,var(--accent-base, #8c6a24) 6%,white 94%)}.acct-billing-quote-banner__label{display:block;margin-bottom:4px;font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted, #64748b)}.acct-billing-quote-banner strong{display:block;font-size:12px;line-height:1.35;word-break:break-word}.acct-billing-quote-banner--deal{background:#fffdf8}.acct-table-col-notes{max-width:280px;width:32%}.acct-table.acct-table--with-notes{table-layout:fixed}.acct-table td.acct-table-col-notes{white-space:normal;overflow:hidden}.acct-note-clamp{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--text, #0f172a)}.acct-table tbody tr.acct-row-clickable{cursor:pointer}.acct-table tbody tr.acct-row-clickable:hover td{background:color-mix(in srgb,var(--brand, #1d4ed8) 4%,white 96%)}.acct-table tbody tr.acct-row-clickable:focus-visible{outline:2px solid color-mix(in srgb,var(--brand, #1d4ed8) 45%,white 55%);outline-offset:-2px}.acct-proforma-desc-clamp{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.acct-proforma-converted-hint{margin-top:3px;font-size:10px}.acct-proforma-detail-section{margin-top:18px}.acct-proforma-detail-section h4{margin:0 0 10px;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted, #64748b)}.acct-proforma-purpose{margin:0;padding:12px;border:1px solid var(--line, #e2e8f0);border-radius:12px;background:#fff;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.acct-proforma-timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.acct-proforma-timeline__item{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;padding-bottom:14px}.acct-proforma-timeline__item:last-child{padding-bottom:0}.acct-proforma-timeline__track{position:relative;display:flex;justify-content:center}.acct-proforma-timeline__track:after{content:"";position:absolute;top:14px;bottom:-14px;width:2px;background:var(--line, #e2e8f0)}.acct-proforma-timeline__item:last-child .acct-proforma-timeline__track:after{display:none}.acct-proforma-timeline__dot{width:10px;height:10px;margin-top:4px;border-radius:999px;background:var(--line, #cbd5e1);border:2px solid #fff;box-shadow:0 0 0 1px var(--line, #e2e8f0);z-index:1}.acct-proforma-timeline__item--brand .acct-proforma-timeline__dot{background:var(--brand, #1d4ed8);box-shadow:0 0 0 1px color-mix(in srgb,var(--brand, #1d4ed8) 35%,white 65%)}.acct-proforma-timeline__item--success .acct-proforma-timeline__dot{background:var(--ok-ink, #15803d);box-shadow:0 0 0 1px color-mix(in srgb,var(--ok-ink, #15803d) 35%,white 65%)}.acct-proforma-timeline__head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.acct-proforma-timeline__title{font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted, #64748b)}.acct-proforma-timeline__date{flex-shrink:0;font-size:10px;color:var(--muted, #64748b)}.acct-proforma-timeline__detail{display:block;margin-top:3px;font-size:12px;line-height:1.35;word-break:break-word}.acct-proforma-timeline__meta{margin:4px 0 0;font-size:11px;color:var(--muted, #64748b)}@media(max-width:640px){.acct-billing-quote-banner{grid-template-columns:1fr}}.acct-card-head h3{margin:0;font-size:12px;font-weight:800}.acct-card-head span,.acct-card-head p{display:block;margin:4px 0 0;font-size:10px;color:var(--muted, #64748b)}.acct-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:8px;margin:0 0 12px}.acct-panel-body>.acct-kpis{margin:0}.acct-kpi{background:var(--card, #fff);border:1px solid var(--line, #e2e8f0);border-radius:12px;padding:10px 12px}.acct-panel-body .acct-kpi{background:color-mix(in srgb,var(--accent-base, #8c6a24) 6%,white 94%)}.acct-kpi label{display:block;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted, #64748b)}.acct-kpi b{display:block;margin-top:4px;font-size:13px}.acct-kpi small{display:block;margin-top:3px;font-size:10px;color:var(--muted, #64748b)}.acct-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,.7fr);gap:12px}.acct-stack{display:grid;gap:12px;min-width:0}.acct-table-wrap{overflow:auto;margin:0 -14px;padding:0 14px 8px}.acct-panel-body>.acct-table-wrap,.acct-card-head+.acct-subtabs+.acct-kpis+.acct-table-wrap,.acct-card-head+.acct-table-wrap{margin-inline:-18px;padding-inline:18px}.acct-table{width:100%;border-collapse:collapse;font-size:11px}.acct-table th,.acct-table td{text-align:left;padding:9px 8px;border-bottom:1px solid var(--acct-line, #e3e7e4);vertical-align:middle}.acct-table th{font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:#8c9691;font-weight:800;padding-top:8px;padding-bottom:8px;white-space:nowrap}.acct-table td{font-size:11px;color:var(--text, #202624);white-space:normal}.acct-table tbody tr:last-child td{border-bottom:0}.acct-table tbody tr:hover td{background:color-mix(in srgb,var(--accent-base, #8c6a24) 4%,white 96%)}.acct-table th.acct-table__amount,.acct-table td.acct-table__amount,.acct-table th.acct-table__num,.acct-table td.acct-table__num{text-align:right}.acct-table td.acct-action-cell,.acct-table th.acct-table-actions{text-align:right;white-space:nowrap}.acct-empty-cell,.acct-empty{text-align:center;color:var(--muted, #64748b);padding:18px 0;font-size:11px}.acct-export-msg{margin:0 0 10px;padding:8px 12px;border-radius:8px;background:#eef6f1;color:#166534;font-size:11px;font-weight:650}.acct-subtabs{display:flex;flex-wrap:wrap;gap:5px;padding:4px 0 14px}.acct-subtab,.acct-btn{border:1px solid var(--line, #e2e8f0);background:#fff;color:var(--text, #102033);border-radius:999px;padding:5px 10px;font-size:10px;font-weight:800;cursor:pointer;line-height:1.2;transition:background .15s ease,border-color .15s ease,color .15s ease}.acct-subtab:hover,.acct-btn:hover{border-color:#cbd5e1;background:#f8fafc}.acct-subtab.is-active{background:#202624;border-color:#202624;color:#fff!important}.acct-subtab.is-active:hover{background:#2a312e;border-color:#2a312e;color:#fff}.acct-btn.primary{background:var(--accent-base, #8c6a24);border-color:var(--accent-base, #8c6a24);color:#fff}.acct-btn.primary:hover{filter:brightness(.96);background:var(--accent-base, #8c6a24);border-color:var(--accent-base, #8c6a24);color:#fff}.acct-btn--icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border-radius:8px}.acct-status{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:800;background:#f1f5f9;color:#475569}.acct-status.good{background:#ecfdf5;color:#047857}.acct-status.warn{background:#fff7ed;color:#c2410c}.acct-status.bad{background:#fef2f2;color:#b91c1c}.acct-status.neutral{background:#f8fafc;color:#475569}.acct-list{display:grid;gap:0;padding:0 0 8px}.acct-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 8px;border-top:1px solid var(--hairline, #eef2f6);font-size:11px}.acct-row:first-child{border-top:0}.acct-embedded{padding:0 0 8px}.acct-card>.acct-proto-stack{margin-top:12px}.acct-card .acct-proto-actionitem{margin-inline:-14px;padding-inline:14px}.acct-embedded .accounts-directory-panel,.acct-embedded .crew-directory__panel{border:0;box-shadow:none}.accounts-directory-subtabs{padding:0 16px;border-bottom:1px solid var(--line, #e2e8f0);background:var(--card, #fff)}.accounts-directory-subtabs .acct-subtabs,.accounts-directory-subtabs .payroll-section-tabs{padding:8px 0 10px;border-bottom:0}.exact-embedded-accounts .payroll-proto-page,.acct-payroll-flow-wrap .payroll-proto-page{display:grid;gap:12px;padding:0}.payroll-proto-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.payroll-proto-head__title{margin:0;font-size:22px;font-weight:800;color:var(--text, #102033)}.payroll-proto-head__sub{margin:6px 0 0;font-size:12px;color:var(--muted, #64748b);max-width:640px;line-height:1.45}.payroll-proto-head__actions{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.payroll-proto-month-btn{pointer-events:none}.payroll-proto-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.payroll-proto-kpi{background:#fff;border:1px solid var(--line, #e2e8f0);border-radius:12px;padding:12px 14px;min-height:68px;display:grid;align-content:center;gap:4px}.payroll-proto-kpi label{font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted, #64748b)}.payroll-proto-kpi b{font-size:18px;font-weight:800;color:var(--text, #102033);line-height:1.1}.payroll-proto-filters{display:flex;flex-wrap:wrap;gap:6px}.payroll-proto-section-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:0;background:transparent;border:0}.payroll-proto-tab{border:0;border-radius:999px;background:transparent;color:var(--text, #202624);padding:7px 14px;font-size:11px;font-weight:700;cursor:pointer;line-height:1.2;white-space:nowrap;transition:background .15s ease,color .15s ease}.payroll-proto-tab:hover{background:#ffffff8c;color:var(--text, #202624)}.payroll-proto-tab.is-active,.payroll-proto-tab.is-active:hover{background:#f4efe3;color:#8d6a1f}.payroll-proto-scroll-tabs{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px;min-width:0}.payroll-proto-scroll-tabs__arrow{width:28px;height:28px;border:1px solid var(--line, #e2e8f0);border-radius:999px;background:#fff;color:var(--text, #202624);font-size:18px;line-height:1;cursor:pointer;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.payroll-proto-scroll-tabs__arrow:hover{border-color:#e0d3b2;background:#fffdf8}.payroll-proto-scroll-tabs__track{display:flex;align-items:center;gap:6px;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;min-width:0;padding:2px 0}.payroll-proto-scroll-tabs__track::-webkit-scrollbar{display:none}.payroll-proto-filter{border:0;border-radius:999px;background:transparent;color:var(--text, #202624);padding:7px 14px;font-size:11px;font-weight:700;cursor:pointer}.payroll-proto-filter.is-active{background:#f4efe3;color:#8d6a1f}.payroll-proto-body,.payroll-proto-content{display:grid;gap:12px}.payroll-proto-card{margin:0}.payroll-proto-card__head{align-items:flex-start}.payroll-proto-table__role{display:block;margin-top:2px;font-size:11px;color:var(--muted, #64748b);font-weight:500}.payroll-proto-table__check{width:40px;text-align:center}.payroll-proto-table__check-input{width:15px;height:15px;margin:0;cursor:pointer;accent-color:#8d6a1f}.payroll-proto-head-btn{white-space:nowrap}.payroll-proto-action{height:28px;padding:0 10px;font-size:10px}.payroll-proto-status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:10px;font-weight:800;white-space:nowrap}.payroll-proto-status--good{background:#edf7f1;color:#1f6b45}.payroll-proto-status--warn{background:#fff4e8;color:#a85f18}.payroll-proto-status--neutral{background:#f1f4f2;color:#5f6964}.payroll-proto-note{padding:10px 12px;border-radius:10px;background:#f8fafc;border:1px solid var(--line, #e2e8f0);font-size:11px;color:var(--muted, #64748b)}.payroll-proto-toolbar{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.payroll-proto-paybar{margin-bottom:0}@media(max-width:1100px){.payroll-proto-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.payroll-proto-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.vendor-proto-page,.management-card--vendor-proto .vendor-proto-page,.module-panel--vendor-proto .vendor-proto-page{display:grid;gap:10px;font-size:11px}.vendor-proto-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}.vendor-proto-head__title{margin:0;font-size:15px;font-weight:800;color:var(--text, #102033)}.vendor-proto-head__sub{margin:2px 0 0;font-size:10px;color:var(--muted, #64748b);line-height:1.4;max-width:56ch}.vendor-proto-head-btn{display:inline-flex;align-items:center;gap:5px;border-radius:8px;padding:6px 11px;font-size:10px;font-weight:700;border:1px solid var(--line, #e2e8f0);background:transparent;cursor:pointer}.vendor-proto-head-btn.primary{background:var(--primary, #8d6a1f);border-color:var(--primary, #8d6a1f);color:#fff}.vendor-proto-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.vendor-proto-kpi{display:grid;align-content:center;gap:3px;min-height:52px;padding:8px 10px;background:#ffffffb8;border:1px solid var(--line, #e2e8f0);border-radius:10px}.vendor-proto-kpi label{font-size:8px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted, #64748b)}.vendor-proto-kpi b{font-size:13px;font-weight:800;color:var(--text, #102033);line-height:1.15}.vendor-proto-directory{display:grid;gap:8px}.vendor-proto-directory__head{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-bottom:8px}.vendor-proto-directory__tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.vendor-proto-page .vendor-row-clickable{cursor:pointer}.vendor-proto-page .vendor-row-clickable:hover{background:#00000005}.vendor-proto-directory__head h4{margin:0;font-size:12px;font-weight:800;color:var(--text, #102033)}.vendor-proto-directory__head p{margin:2px 0 0;font-size:10px;color:var(--muted, #64748b)}.vendor-proto-type-filter{display:inline-flex;align-items:center;gap:6px;font-size:10px;color:var(--muted, #64748b)}.vendor-proto-type-filter__label{font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.vendor-proto-type-filter__select{min-width:148px;border:1px solid var(--line, #e2e8f0);border-radius:8px;background:transparent;color:var(--text, #102033);font-size:10px;font-weight:600;padding:5px 8px;cursor:pointer}.vendor-proto-table-wrap{border:0}.vendor-proto-table{font-size:10px}.vendor-proto-table th{font-size:8px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted, #64748b)}.vendor-proto-table td b{font-size:10px;font-weight:700}.vendor-proto-table__action{display:flex;align-items:center;gap:5px;white-space:nowrap}.vendor-proto-action{border:1px solid var(--line, #e2e8f0);background:transparent;border-radius:6px;padding:4px 8px;font-size:9px;font-weight:700;cursor:pointer;color:var(--text, #102033)}.vendor-proto-action:hover{background:#00000008}.vendor-proto-status{display:inline-flex;align-items:center;border-radius:999px;padding:2px 8px;font-size:9px;font-weight:700;line-height:1.2}.vendor-proto-status--good{background:#ecfdf3;color:#067647}.vendor-proto-status--warn{background:#fff7ed;color:#c2410c}.vendor-proto-status--neutral{background:#f1f5f9;color:#64748b}.management-card--vendor-proto{padding:0;background:transparent;border:0;box-shadow:none}.vendor-proto-page .list-sort-bar{margin-top:0}.vendor-proto-page .list-sort-bar,.vendor-proto-page .list-sort-bar button,.vendor-proto-page .list-sort-bar select{font-size:10px}@media(max-width:1100px){.vendor-proto-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.vendor-proto-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.vendor-proto-directory__tools{width:100%;margin-left:0}}.acct-payroll-flow-wrap{display:grid;gap:12px}.payroll-period-filters{display:inline-flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.payroll-period-field{display:grid;gap:4px;min-width:120px}.payroll-period-field span{font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted, #64748b)}.payroll-period-field select{height:30px;border:1px solid var(--line, #e2e8f0);border-radius:8px;background:#fff;color:var(--text, #102033);padding:0 8px;font-size:11px;font-weight:700}.payroll-new-run-btn{height:30px;border:0;border-radius:8px;padding:0 12px;background:var(--accent-base, #8c6a24);color:#fff;font-size:10px;font-weight:800;cursor:pointer;white-space:nowrap}.payroll-new-run-btn:hover{filter:brightness(.96)}.payroll-section-tabs{display:flex;flex-wrap:wrap;gap:5px;padding:0 0 10px}.acct-payroll-flow,.payroll-stage-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:0 0 10px;padding:0}.acct-flow-step,.payroll-stage-tab{border:1px solid #cbd5e1;border-radius:8px;padding:6px 8px;text-align:center;font-size:10px;font-weight:800;background:#fff;color:var(--text, #102033);cursor:pointer;width:100%;line-height:1.2;box-shadow:0 1px 2px #0f172a0a;transition:background .15s ease,border-color .15s ease,color .15s ease}.acct-flow-step:hover,.payroll-stage-tab:hover{border-color:#cbb77f;background:#fffdf8}.acct-flow-step.is-done,.payroll-stage-tab.is-done{background:#edf7f1;color:#1f6b45;border-color:#d6eadf}.acct-flow-step.is-active,.payroll-stage-tab.is-active{background:#f4efe3;color:#8d6a1f;border-color:#e0d3b2}.acct-flow-step.is-active:hover,.payroll-stage-tab.is-active:hover{background:#f4efe3;border-color:#e0d3b2;color:#8d6a1f}.acct-flow-step.is-done.is-active,.payroll-stage-tab.is-done.is-active{background:#edf7f1;color:#1f6b45;border-color:#d6eadf}.payroll-stage-tab.is-locked,.payroll-stage-tab.is-locked:hover{opacity:.55;cursor:not-allowed;background:#f8fafc;color:#94a3b8;border-color:#e2e8f0}.payroll-pay-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;position:relative;z-index:2;overflow:visible}.payroll-pay-bar__message{flex:1 1 200px;min-width:0;font-size:10px;line-height:1.4;color:var(--muted, #64748b)}.payroll-pay-bar__message b{color:var(--text, #102033);font-size:10px}.payroll-pay-bar__message--paid{flex:1 1 100%;font-size:10px}.payroll-pay-bar__message--paid b{font-size:10px}.payroll-pay-bar__payslip-link{margin-left:4px;padding:0;border:0;background:none;color:var(--brand, #2563eb);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}.payroll-pay-bar__payslip-link:hover{color:color-mix(in srgb,var(--brand, #2563eb) 80%,black 20%)}.payroll-pay-bar__controls{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;flex:0 0 auto;margin-left:auto}.payroll-pay-bar__controls .payroll-pay-field__control{flex:0 0 auto}.payroll-pay-bar__controls select.payroll-pay-field__control{min-width:168px;max-width:190px}.payroll-pay-bar__controls input.payroll-pay-field__control{min-width:160px;width:180px}.payroll-pay-bar__confirm{height:30px;min-height:30px;padding:0 12px;border-radius:8px;flex-shrink:0;font-size:10px}.payroll-pay-field{display:flex;flex-direction:column;gap:4px;min-width:0}.payroll-pay-field__label{font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted, #64748b)}.payroll-pay-bar select,.payroll-pay-bar input,.payroll-pay-field__control,.payroll-status-select{height:30px;min-height:30px;border:1px solid #cbd5e1;border-radius:8px;padding:0 8px;font-size:10px;font-weight:700;background:#fff;color:var(--text, #102033);cursor:pointer;-moz-appearance:auto;appearance:auto;-webkit-appearance:menulist}.payroll-pay-bar input,.payroll-pay-field__control[type=text],.payroll-pay-field__control:not(select){cursor:text;min-width:180px}.payroll-pay-bar select,.payroll-pay-field__control:is(select){min-width:190px;padding-right:28px}.payroll-pay-bar select:disabled,.payroll-pay-bar input:disabled,.payroll-pay-field__control:disabled{opacity:.65;cursor:not-allowed;background:#f8fafc}@media(max-width:900px){.payroll-pay-bar__controls{flex-wrap:wrap;width:100%;margin-left:0}.payroll-pay-bar__controls select.payroll-pay-field__control,.payroll-pay-bar__controls input.payroll-pay-field__control{flex:1 1 140px;min-width:0;width:auto;max-width:none}}.payroll-payslips__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px}.payroll-payslips__hint{font-size:10px;color:var(--muted, #64748b);font-weight:600}.acct-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:0 0 10px}.payroll-adjustments__actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.payroll-adjustments__actions select,.payroll-adjustments__actions input{height:30px;border:1px solid var(--line, #e2e8f0);border-radius:8px;padding:0 10px;font-size:10px}.payroll-stage-copy.payroll-pay-bar{align-items:center}.payroll-stage-copy{margin:0 0 10px;padding:8px 10px;border:1px solid var(--line, #e2e8f0);border-radius:8px;background:#fffdf8;font-size:10px;color:var(--text, #102033);display:flex;flex-wrap:wrap;align-items:center;gap:8px}@media(max-width:960px){.acct-grid{grid-template-columns:1fr}.acct-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.acct-payroll-flow,.payroll-stage-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:560px){.acct-payroll-flow,.payroll-stage-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}.acct-note-view-body{white-space:pre-wrap;line-height:1.5;padding:12px 14px;border:1px solid var(--line, #e2e8f0);border-radius:8px;background:#f8fafc;font-size:13px}.acct-btn.danger,.admin-sheet-btn.danger{color:#b42318;border-color:#fecdca;background:#fff7f5}.notes-screen-toolbar,.notes-module-search{margin-bottom:12px}.account-notes-module--embedded .notes-module-search{margin:0 0 12px}.acct-overview-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}.acct-overview-shortcut__lead{margin:0 0 4px;font-size:13px}.acct-overview-shortcut__hint{margin:0 0 12px;color:var(--muted, #64748b);font-size:11px;line-height:1.45}@media(max-width:900px){.acct-overview-shortcuts{grid-template-columns:1fr}}.eng-exact-app{--acct-gold: #8d6a1f;--acct-gold-2: #a9842f;--acct-gold-soft: #f4efe3;--acct-line: #e3e7e4;--acct-muted: #76817c;--acct-green: #2e7d57;--acct-green-soft: #edf7f1;--acct-orange: #a85f18;--acct-orange-soft: #fff4e8;--acct-red: #b64848;--acct-red-soft: #fdf0f0;--acct-canvas: #f7f8f7}.acct-proto-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin:0 0 18px}.acct-proto-kpi{background:#fff;border:1px solid var(--acct-line);border-radius:12px;padding:11px}.acct-proto-kpi label{display:block;font-size:8px;text-transform:uppercase;color:#89938e;font-weight:800;letter-spacing:.06em}.acct-proto-kpi b{display:block;font-size:13px;margin-top:4px;color:#202624;font-weight:800;letter-spacing:-.02em}.acct-proto-kpi small{display:block;margin-top:3px;font-size:9px;color:var(--acct-muted)}.acct-proto-grid2{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);gap:11px}.acct-proto-grid2.acct-tab-content{align-content:start;align-items:stretch}.acct-proto-stack{display:grid;gap:10px}.acct-proto-breakdown{padding:0 0 12px}.acct-proto-barrow{display:grid;grid-template-columns:120px 1fr 70px;gap:8px;align-items:center;padding:6px 0;font-size:11px}.acct-proto-barrow .bar{height:6px;background:#edf0ee;border-radius:999px;overflow:hidden}.acct-proto-barrow .bar i{display:block;height:100%;background:#9d7a2b;border-radius:999px}.acct-proto-actionitem{padding:10px 12px;border-top:1px solid var(--acct-line)}.acct-proto-actionitem:first-of-type{border-top:0}.acct-proto-actionitem b{font-size:11px}.acct-proto-actionitem p{font-size:10px;color:var(--acct-muted);margin:3px 0 0}.eng-exact-app .projects-portfolio--financial .projects-portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.eng-exact-app .projects-portfolio--financial .acct-proto-project-card{background:#fff;border:1px solid var(--acct-line);border-radius:14px;padding:14px;box-shadow:0 4px 16px #19251f06;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.eng-exact-app .projects-portfolio--financial .acct-proto-project-card:hover{border-color:#cdbb91;box-shadow:0 8px 24px #19251f0d}.eng-exact-app .acct-proto-project-top{display:flex;justify-content:space-between;gap:10px}.eng-exact-app .acct-proto-project-top h4{font-size:14px;margin:0 0 4px}.eng-exact-app .acct-proto-project-top p{font-size:10px;color:var(--acct-muted);margin:0}.eng-exact-app .acct-proto-project-badge{font-size:9px;border-radius:999px;padding:5px 7px;background:var(--acct-green-soft);color:var(--acct-green);height:max-content;font-weight:800}.eng-exact-app .acct-proto-project-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:12px}.eng-exact-app .acct-proto-project-stat{background:#fafbfa;border:1px solid #edf0ee;border-radius:9px;padding:8px}.eng-exact-app .acct-proto-project-stat small{display:block;font-size:8px;color:#8a948f;text-transform:uppercase;font-weight:800;letter-spacing:.05em}.eng-exact-app .acct-proto-project-stat b{display:block;font-size:12px;margin-top:3px;font-weight:800}.eng-exact-app .acct-proto-attention-line{margin-top:10px;padding-top:9px;border-top:1px solid var(--acct-line);font-size:9px;color:#7d5c17;display:flex;gap:8px;flex-wrap:wrap}.eng-exact-app .acct-proto-quickrow{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:10px}.eng-exact-app .acct-proto-quickrow button{border:1px solid var(--acct-line);background:#fff;border-radius:8px;padding:6px 4px;font-size:9px;cursor:pointer;font-weight:700;color:#4e5954}.eng-exact-app .acct-proto-quickrow button:hover{background:var(--acct-gold-soft);color:#795918}.eng-exact-app .projects-portfolio--financial .projects-portfolio-head-copy h2{font-size:20px;letter-spacing:-.02em}.eng-exact-app .projects-portfolio--financial .projects-portfolio-head-copy p{font-size:11px;line-height:1.45}.eng-exact-app .projects-portfolio--financial .projects-portfolio-metrics{gap:9px}.eng-exact-app .projects-portfolio--financial .projects-portfolio-metric{padding:10px 11px;border-radius:12px}.eng-exact-app .projects-portfolio--financial .projects-portfolio-metric small{font-size:8px;letter-spacing:.06em}.eng-exact-app .projects-portfolio--financial .projects-portfolio-metric b{font-size:13px;margin-top:4px;letter-spacing:-.02em;line-height:1.15}.eng-exact-app .projects-portfolio--financial .projects-portfolio-metric span{font-size:9px;margin-top:3px;line-height:1.3}.eng-exact-app .projects-portfolio--financial .projects-portfolio-filter{font-size:10px;padding:6px 10px}.eng-exact-app .projects-portfolio--financial .projects-portfolio-search input{font-size:11px}.eng-exact-app .projects-portfolio--financial .acct-proto-project-top h4{font-size:13px}.eng-exact-app .projects-portfolio--financial .acct-proto-project-top p{font-size:9px}.eng-exact-app .projects-portfolio--financial .acct-proto-project-stat{padding:7px}.eng-exact-app .projects-portfolio--financial .acct-proto-project-stat small{font-size:7px;letter-spacing:.05em}.eng-exact-app .projects-portfolio--financial .acct-proto-project-stat b{font-size:11px;margin-top:2px;line-height:1.2;word-break:break-word}.eng-exact-app .projects-portfolio--financial .acct-proto-quickrow button{font-size:8px;padding:5px 3px}.eng-exact-app .accounting-project-financial__head h2{font-size:16px}.eng-exact-app .accounting-project-financial__head p{font-size:10px}.eng-exact-app .accounting-project-financial .accounts-section-tabs .crew-directory__tab,.eng-exact-app .accounting-project-financial .accounts-global-search input{font-size:11px}.eng-exact-app .accounting-project-financial__head{background:linear-gradient(120deg,#7d5c17,#a47d2c);color:#fff;border-radius:15px;padding:14px 16px;margin-bottom:11px}.eng-exact-app .accounting-project-financial__head h2{color:#fff}.eng-exact-app .accounting-project-financial__head p{color:#ffffffd1}.eng-exact-app .accounting-project-financial__back{border:1px solid rgba(255,255,255,.3);background:#ffffff1f;color:#fff;border-radius:8px}@media(max-width:1150px){.acct-proto-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.acct-proto-grid2{grid-template-columns:1fr}.eng-exact-app .projects-portfolio--financial .projects-portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.acct-proto-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.eng-exact-app .projects-portfolio--financial .projects-portfolio-grid{grid-template-columns:1fr}.eng-exact-app .acct-proto-quickrow{grid-template-columns:repeat(2,1fr)}}.admin-sheet .acct-finance-sheet-form .admin-sheet-body{display:flex;flex-direction:column;gap:12px;padding-top:14px}.admin-sheet .acct-finance-sheet-form .entry-field,.admin-sheet .acct-finance-sheet-form .project-modal-row .entry-field{gap:3px}.admin-sheet .acct-finance-sheet-form .entry-field>label{margin:0;padding:0;line-height:1.15}.admin-sheet .acct-finance-sheet-form .project-modal-row{gap:12px}.admin-sheet .acct-finance-sheet-form .field-error{margin:2px 0 0}.admin-sheet .acct-finance-sheet-form .upload-drawing-file-row{margin-top:3px}.admin-sheet .acct-finance-sheet-form .entry-field .admin-form-sub{margin-top:4px}.admin-sheet .acct-finance-sheet-form .entry-input,.admin-sheet .acct-finance-sheet-form .entry-select,.admin-sheet .acct-finance-sheet-form .entry-textarea{margin-top:0}html.theme-dark .eng-exact-app,body.theme-dark .eng-exact-app{--bg: #12151a;--panel: #1c2129;--panel-soft: #181c23;--surface: #12151a;--surface-soft: #181c23;--card: #1c2129;--ink: #f0f3f8;--text: #f0f3f8;--muted: #a8b4c4;--faint: #8b96a5;--line: #2c3440;--line-dark: #3d4654;--mint: #2a2418;--amber-bg: #3d2e14;--red-bg: #3d1f1c;--blue-bg: #1a2a3d;--shadow: 0 10px 30px rgba(0, 0, 0, .4);--shadow-2: 0 12px 30px rgba(0, 0, 0, .45);background:var(--bg);color:var(--ink)}html.theme-dark.mobile-tab-shell.eng-exact-mobile-dashboard .content,html.theme-dark.native-app.eng-exact-mobile-dashboard .content,html.theme-dark.mobile-tab-shell .content:has(.eng-exact-mobile-host),html.theme-dark.native-app .content:has(.eng-exact-mobile-host),body.theme-dark.mobile-tab-shell.eng-exact-mobile-dashboard .content,body.theme-dark.native-app.eng-exact-mobile-dashboard .content,body.theme-dark.mobile-tab-shell .content:has(.eng-exact-mobile-host),body.theme-dark.native-app .content:has(.eng-exact-mobile-host),html.theme-dark.mobile-tab-shell .content>.eng-exact-mobile-host,html.theme-dark.native-app .content>.eng-exact-mobile-host,body.theme-dark.mobile-tab-shell .content>.eng-exact-mobile-host,body.theme-dark.native-app .content>.eng-exact-mobile-host,html.theme-dark .eng-exact-app--mobile-shell,body.theme-dark .eng-exact-app--mobile-shell,html.theme-dark .eng-exact-app--mobile-shell .exact-sidebar,html.theme-dark .eng-exact-app--mobile-shell .exact-sidebar--mobile,body.theme-dark .eng-exact-app--mobile-shell .exact-sidebar,body.theme-dark .eng-exact-app--mobile-shell .exact-sidebar--mobile{background:var(--bg, #12151a)!important;color:var(--ink, #f0f3f8)}html.theme-dark .eng-exact-app--mobile-shell .floor-workspace,body.theme-dark .eng-exact-app--mobile-shell .floor-workspace,html.theme-dark .eng-exact-app .floor-workspace,body.theme-dark .eng-exact-app .floor-workspace,html.theme-dark .eng-exact-app .center-panel,body.theme-dark .eng-exact-app .center-panel,html.theme-dark .eng-exact-app .building-body,body.theme-dark .eng-exact-app .building-body{background:var(--bg, #12151a);color:var(--ink, #f0f3f8)}html.theme-dark .eng-exact-app .mini-stat,body.theme-dark .eng-exact-app .mini-stat,html.theme-dark .eng-exact-app .pulse-card,body.theme-dark .eng-exact-app .pulse-card,html.theme-dark .eng-exact-app .data-row,body.theme-dark .eng-exact-app .data-row,html.theme-dark .eng-exact-app .photo-card,body.theme-dark .eng-exact-app .photo-card,html.theme-dark .eng-exact-app .entry-command,body.theme-dark .eng-exact-app .entry-command,html.theme-dark .eng-exact-app .module-panel,body.theme-dark .eng-exact-app .module-panel,html.theme-dark .eng-exact-app .module-card,body.theme-dark .eng-exact-app .module-card{background:var(--panel-soft, #181c23);border-color:var(--line, #2c3440);color:var(--ink, #f0f3f8)}html.theme-dark .eng-exact-app .entry-btn,body.theme-dark .eng-exact-app .entry-btn,html.theme-dark .eng-exact-app .module-btn:not(.primary):not(.navy),body.theme-dark .eng-exact-app .module-btn:not(.primary):not(.navy){background:var(--card, #1c2129);border-color:var(--line, #2c3440);color:var(--ink, #f0f3f8)}html.theme-dark .mobile-project-hub,body.theme-dark .mobile-project-hub{background:var(--card, #1c2129);border-bottom-color:var(--line, #2c3440)}html.theme-dark .mph-head-label,body.theme-dark .mph-head-label{color:var(--text, #f0f3f8)}html.theme-dark .mph-card,body.theme-dark .mph-card,html.theme-dark .mph-action,body.theme-dark .mph-action,html.theme-dark .mph-sheet,body.theme-dark .mph-sheet{background:var(--card, #1c2129);border-color:var(--line, #2c3440);color:var(--text, #f0f3f8);box-shadow:0 2px 10px #00000059}html.theme-dark .mph-card-title strong,body.theme-dark .mph-card-title strong,html.theme-dark .mph-action span,body.theme-dark .mph-action span{color:var(--text, #f0f3f8)}html.theme-dark .mph-card-meta,body.theme-dark .mph-card-meta,html.theme-dark .mph-card-loading,body.theme-dark .mph-card-loading{color:var(--muted, #a8b4c4)}html.theme-dark .mph-actions-scroll-wrap,body.theme-dark .mph-actions-scroll-wrap,html.theme-dark .mph-sheet-list-fade,body.theme-dark .mph-sheet-list-fade{background:var(--soft, #181c23);border-top-color:var(--line, #2c3440)}html.theme-dark .mph-actions-scroll-wrap:after,body.theme-dark .mph-actions-scroll-wrap:after{background:linear-gradient(to right,transparent,var(--soft, #181c23) 85%)}html.theme-dark .mph-action--primary,body.theme-dark .mph-action--primary,html.theme-dark .mph-action--active,body.theme-dark .mph-action--active{background:color-mix(in srgb,var(--accent-base, #c49a45) 18%,var(--card, #1c2129));border-color:var(--brand-border, #a8822f);color:var(--text, #f0f3f8)}html.theme-dark .mph-sheet-search,body.theme-dark .mph-sheet-search,html.theme-dark .mph-sheet-close,body.theme-dark .mph-sheet-close{background:var(--soft, #181c23);border-color:var(--line, #2c3440);color:var(--text, #f0f3f8)}html.theme-dark .mph-sheet-search input,body.theme-dark .mph-sheet-search input{color:var(--text, #f0f3f8);background:transparent}html.theme-dark.mobile-tab-shell .accounts-directory-panel,html.theme-dark.native-app .accounts-directory-panel,body.theme-dark.mobile-tab-shell .accounts-directory-panel,body.theme-dark.native-app .accounts-directory-panel,html.theme-dark.mobile-tab-shell .accounts-directory-toolbar,html.theme-dark.native-app .accounts-directory-toolbar,body.theme-dark.mobile-tab-shell .accounts-directory-toolbar,body.theme-dark.native-app .accounts-directory-toolbar,html.theme-dark.mobile-tab-shell .accounts-directory-body,html.theme-dark.native-app .accounts-directory-body,body.theme-dark.mobile-tab-shell .accounts-directory-body,body.theme-dark.native-app .accounts-directory-body,html.theme-dark.mobile-tab-shell .accounts-embedded-panel,html.theme-dark.native-app .accounts-embedded-panel,body.theme-dark.mobile-tab-shell .accounts-embedded-panel,body.theme-dark.native-app .accounts-embedded-panel,html.theme-dark #accounts .accounts-directory-panel,body.theme-dark #accounts .accounts-directory-panel,html.theme-dark #accounts .accounts-directory-toolbar,body.theme-dark #accounts .accounts-directory-toolbar,html.theme-dark #accounts .accounts-directory-body,body.theme-dark #accounts .accounts-directory-body{background:#1c2129!important;border-color:#2c3440;color:#f0f3f8}html.theme-dark.mobile-tab-shell .app-tile,html.theme-dark.native-app .app-tile,body.theme-dark.mobile-tab-shell .app-tile,body.theme-dark.native-app .app-tile,html.theme-dark.mobile-tab-shell .admin-user-tile,html.theme-dark.native-app .admin-user-tile,body.theme-dark.mobile-tab-shell .admin-user-tile,body.theme-dark.native-app .admin-user-tile,html.theme-dark.mobile-tab-shell .crew-directory__panel,html.theme-dark.native-app .crew-directory__panel,body.theme-dark.mobile-tab-shell .crew-directory__panel,body.theme-dark.native-app .crew-directory__panel,html.theme-dark.mobile-tab-shell .proc-table-wrap,html.theme-dark.native-app .proc-table-wrap,body.theme-dark.mobile-tab-shell .proc-table-wrap,body.theme-dark.native-app .proc-table-wrap,html.theme-dark.mobile-tab-shell .po-mobile-strip,html.theme-dark.native-app .po-mobile-strip,body.theme-dark.mobile-tab-shell .po-mobile-strip,body.theme-dark.native-app .po-mobile-strip,html.theme-dark.mobile-tab-shell .members-search-wrap,html.theme-dark.native-app .members-search-wrap,body.theme-dark.mobile-tab-shell .members-search-wrap,body.theme-dark.native-app .members-search-wrap{background:var(--card, #1c2129);border-color:var(--line, #2c3440);color:var(--text, #f0f3f8)}html.theme-dark.mobile-tab-shell .members-search,html.theme-dark.native-app .members-search,body.theme-dark.mobile-tab-shell .members-search,body.theme-dark.native-app .members-search,html.theme-dark.mobile-tab-shell .list-sort-trigger,html.theme-dark.native-app .list-sort-trigger,body.theme-dark.mobile-tab-shell .list-sort-trigger,body.theme-dark.native-app .list-sort-trigger{background:var(--soft, #181c23);border-color:var(--line, #2c3440);color:var(--text, #f0f3f8)}html.theme-dark.mobile-tab-shell .app-tile-title,html.theme-dark.native-app .app-tile-title,body.theme-dark.mobile-tab-shell .app-tile-title,body.theme-dark.native-app .app-tile-title,html.theme-dark.mobile-tab-shell .app-tile-id,html.theme-dark.native-app .app-tile-id,body.theme-dark.mobile-tab-shell .app-tile-id,body.theme-dark.native-app .app-tile-id{color:var(--text, #f0f3f8)}html.theme-dark.mobile-tab-shell .proc-chip,html.theme-dark.native-app .proc-chip,body.theme-dark.mobile-tab-shell .proc-chip,body.theme-dark.native-app .proc-chip{background:var(--soft, #181c23);border-color:var(--line, #2c3440);color:var(--text, #f0f3f8)}html.theme-dark.mobile-tab-shell .proc-data-table,html.theme-dark.native-app .proc-data-table,body.theme-dark.mobile-tab-shell .proc-data-table,body.theme-dark.native-app .proc-data-table{background:var(--card, #1c2129);color:var(--text, #f0f3f8)}html.theme-dark.mobile-tab-shell .proc-data-table thead th,html.theme-dark.native-app .proc-data-table thead th,body.theme-dark.mobile-tab-shell .proc-data-table thead th,body.theme-dark.native-app .proc-data-table thead th{background:var(--soft, #181c23);color:var(--muted, #a8b4c4);border-bottom-color:var(--line, #2c3440)}html.theme-dark.mobile-tab-shell .proc-data-table tbody td,html.theme-dark.native-app .proc-data-table tbody td,body.theme-dark.mobile-tab-shell .proc-data-table tbody td,body.theme-dark.native-app .proc-data-table tbody td{color:var(--text, #f0f3f8);border-bottom-color:var(--line, #2c3440)}html.theme-dark.mobile-tab-shell .proc-data-table tbody tr:hover,html.theme-dark.native-app .proc-data-table tbody tr:hover,body.theme-dark.mobile-tab-shell .proc-data-table tbody tr:hover,body.theme-dark.native-app .proc-data-table tbody tr:hover{background:#ffffff08}html.theme-dark .admin-form-head,body.theme-dark .admin-form-head,html.theme-dark .admin-modal-card .admin-form-head,body.theme-dark .admin-modal-card .admin-form-head{background:var(--soft, #181c23)!important;border-bottom-color:var(--line, #2c3440)}html.theme-dark .admin-form-head strong,body.theme-dark .admin-form-head strong{color:var(--text, #f0f3f8)!important}html.theme-dark .admin-form-sub,body.theme-dark .admin-form-sub{color:var(--muted, #a8b4c4)!important}html.theme-dark .admin-modal-card,body.theme-dark .admin-modal-card,html.theme-dark .admin-form-body,body.theme-dark .admin-form-body,html.theme-dark .admin-modal-card--user .admin-form-footer,body.theme-dark .admin-modal-card--user .admin-form-footer{background:var(--card, #1c2129);color:var(--text, #f0f3f8)}html.theme-dark .admin-modal-close,body.theme-dark .admin-modal-close,html.theme-dark .admin-form-body input,body.theme-dark .admin-form-body input,html.theme-dark .admin-form-body select,body.theme-dark .admin-form-body select,html.theme-dark .admin-form-body textarea,body.theme-dark .admin-form-body textarea,html.theme-dark .clock-input,body.theme-dark .clock-input,html.theme-dark .members-select,body.theme-dark .members-select{background:var(--soft, #181c23);border-color:var(--line, #2c3440);color:var(--text, #f0f3f8)}html.theme-dark .admin-form-body label,body.theme-dark .admin-form-body label,html.theme-dark .clock-label,body.theme-dark .clock-label{color:var(--muted, #a8b4c4)}html.theme-dark .eng-exact-app .floor-tabs,body.theme-dark .eng-exact-app .floor-tabs,html.theme-dark .eng-exact-app .floor-tab:not(.active),body.theme-dark .eng-exact-app .floor-tab:not(.active){background:var(--card, #1c2129);border-color:var(--line, #2c3440);color:var(--muted, #a8b4c4)}html.theme-dark .eng-exact-app .qa-btn:not(.qa-btn-primary),body.theme-dark .eng-exact-app .qa-btn:not(.qa-btn-primary),html.theme-dark.mobile-tab-shell .qa-btn:not(.qa-btn-primary),body.theme-dark.mobile-tab-shell .qa-btn:not(.qa-btn-primary),html.theme-dark.native-app .qa-btn:not(.qa-btn-primary),body.theme-dark.native-app .qa-btn:not(.qa-btn-primary){background:var(--card, #1c2129);border-color:var(--line, #2c3440);color:var(--text, #f0f3f8)}html.theme-dark .eng-exact-app .section-head,body.theme-dark .eng-exact-app .section-head,html.theme-dark .eng-exact-app .dock-head,body.theme-dark .eng-exact-app .dock-head{background:var(--card, #1c2129);border-color:var(--line, #2c3440);color:var(--text, #f0f3f8)}html.theme-dark.mobile-tab-shell .route-screen,html.theme-dark.native-app .route-screen,body.theme-dark.mobile-tab-shell .route-screen,body.theme-dark.native-app .route-screen,html.theme-dark.mobile-tab-shell .module-shell,html.theme-dark.native-app .module-shell,body.theme-dark.mobile-tab-shell .module-shell,body.theme-dark.native-app .module-shell{background:var(--surface-muted, #12151a);color:var(--text, #f0f3f8)}html.theme-dark.mobile-tab-shell .card,html.theme-dark.native-app .card,body.theme-dark.mobile-tab-shell .card,body.theme-dark.native-app .card{background:var(--card, #1c2129);border-color:var(--line, #2c3440);color:var(--text, #f0f3f8)}html.theme-dark.mobile-tab-shell #crew .project-worker-card,html.theme-dark.native-app #crew .project-worker-card,body.theme-dark.mobile-tab-shell #crew .project-worker-card,body.theme-dark.native-app #crew .project-worker-card{background:var(--card, #1c2129)!important;border-color:var(--line, #2c3440);color:var(--text, #f0f3f8)}html.theme-dark .eng-exact-app .center,body.theme-dark .eng-exact-app .center,html.theme-dark .eng-exact-app .floor-workspace,body.theme-dark .eng-exact-app .floor-workspace,html.theme-dark .eng-exact-app .building-card,body.theme-dark .eng-exact-app .building-card,html.theme-dark .eng-exact-app .building-body,body.theme-dark .eng-exact-app .building-body,html.theme-dark .eng-exact-app .quick-action-strip,body.theme-dark .eng-exact-app .quick-action-strip,html.theme-dark .eng-exact-app .project-area,body.theme-dark .eng-exact-app .project-area{background:var(--panel, #1c2129)!important;color:var(--ink, #f0f3f8);border-color:var(--line, #2c3440)}html.theme-dark .eng-exact-app .floor-tabs,body.theme-dark .eng-exact-app .floor-tabs{background:var(--panel-soft, #181c23)!important;border-bottom-color:var(--line, #2c3440)}html.theme-dark .eng-exact-app .floor-tab:not(.active),body.theme-dark .eng-exact-app .floor-tab:not(.active){background:var(--card, #1c2129);border-color:var(--line, #2c3440);color:var(--muted, #a8b4c4)}html.theme-dark .eng-exact-app .quick-action,body.theme-dark .eng-exact-app .quick-action{background:var(--card, #1c2129);border-color:var(--line, #2c3440);color:var(--ink, #f0f3f8)}html.theme-dark .eng-exact-app .quick-action:hover,body.theme-dark .eng-exact-app .quick-action:hover{background:color-mix(in srgb,var(--accent-base, #c49a45) 12%,var(--card, #1c2129))}html.theme-dark .eng-exact-app .quick-action b,body.theme-dark .eng-exact-app .quick-action b,html.theme-dark .eng-exact-app .quick-action-head strong,body.theme-dark .eng-exact-app .quick-action-head strong{color:var(--ink, #f0f3f8)}html.theme-dark .crew-directory__panel,body.theme-dark .crew-directory__panel,html.theme-dark .crew-directory__toolbar,body.theme-dark .crew-directory__toolbar,html.theme-dark .crew-dir-card,body.theme-dark .crew-dir-card,html.theme-dark .member-tile,body.theme-dark .member-tile{background:var(--card, #1c2129)!important;border-color:var(--line, #2c3440);color:var(--text, #f0f3f8)}html.theme-dark .crew-dir-card.is-onsite,body.theme-dark .crew-dir-card.is-onsite,html.theme-dark .member-tile-onsite,body.theme-dark .member-tile-onsite{background:color-mix(in srgb,var(--brand-soft, #2a2418) 70%,var(--card, #1c2129))!important;border-color:var(--brand-border, #a8822f)}html.theme-dark .crew-dir-card__name,body.theme-dark .crew-dir-card__name,html.theme-dark .member-tile-name,body.theme-dark .member-tile-name{color:var(--text, #f0f3f8)!important}html.theme-dark .crew-dir-card__meta-item,body.theme-dark .crew-dir-card__meta-item{color:var(--muted, #a8b4c4)}html.theme-dark .crew-dir-card__avatar,body.theme-dark .crew-dir-card__avatar{background:var(--soft, #181c23);color:var(--muted, #a8b4c4)}html.theme-dark .crew-directory__filter-trigger,body.theme-dark .crew-directory__filter-trigger,html.theme-dark .crew-directory__search,body.theme-dark .crew-directory__search,html.theme-dark .crew-directory__search input,body.theme-dark .crew-directory__search input{background:var(--soft, #181c23)!important;border-color:var(--line, #2c3440);color:var(--text, #f0f3f8)!important}html.theme-dark .roster-dir-edit-btn,body.theme-dark .roster-dir-edit-btn{background:var(--soft, #181c23);border-color:var(--line, #2c3440);color:var(--muted, #a8b4c4)}html.theme-dark .vendor-card,body.theme-dark .vendor-card{background:var(--card, #1c2129)!important;border-color:var(--line, #2c3440);color:var(--text, #f0f3f8);box-shadow:0 4px 10px #00000059}html.theme-dark .vendor-card-name,body.theme-dark .vendor-card-name{color:var(--text, #f0f3f8)!important}html.theme-dark .vendor-card-date,body.theme-dark .vendor-card-date{color:var(--muted, #a8b4c4)!important}html.theme-dark .vendor-status-badge,body.theme-dark .vendor-status-badge,html.theme-dark .vendor-status-badge.active,body.theme-dark .vendor-status-badge.active{background:var(--brand-soft, #2a2418)!important;border:1px solid var(--brand-border, #a8822f);color:var(--brand-ink, #e8d4a0)!important}html.theme-dark .vendor-edit-btn,body.theme-dark .vendor-edit-btn{background:var(--soft, #181c23);border-color:var(--line, #2c3440);color:var(--text, #f0f3f8)}html.theme-dark .tile-list-page-btn,body.theme-dark .tile-list-page-btn{background:var(--card, #1c2129)!important;border-color:var(--line, #2c3440);color:var(--text, #f0f3f8)!important}html.theme-dark .tile-list-page-btn:hover:not(:disabled):not(.active),body.theme-dark .tile-list-page-btn:hover:not(:disabled):not(.active){background:var(--soft, #181c23)!important}html.theme-dark .tile-list-page-btn.active,body.theme-dark .tile-list-page-btn.active{background:color-mix(in srgb,var(--brand, #c49a45) 78%,black 22%)!important;border-color:color-mix(in srgb,var(--brand, #c49a45) 78%,black 22%)!important;color:#fff!important}html.theme-dark .tile-list-page-summary,body.theme-dark .tile-list-page-summary{color:var(--muted, #a8b4c4)}html.theme-dark .proj-doc-action,body.theme-dark .proj-doc-action,html.theme-dark.mobile-tab-shell .acc-bill-actions .proj-doc-action,body.theme-dark.mobile-tab-shell .acc-bill-actions .proj-doc-action,html.theme-dark.native-app .acc-bill-actions .proj-doc-action,body.theme-dark.native-app .acc-bill-actions .proj-doc-action{background:var(--soft, #181c23)!important;border-color:var(--line, #2c3440)!important;color:var(--text, #f0f3f8)!important}html.theme-dark.mobile-tab-shell #inventory .card.kpi,html.theme-dark.native-app #inventory .card.kpi,body.theme-dark.mobile-tab-shell #inventory .card.kpi,body.theme-dark.native-app #inventory .card.kpi{background:var(--card, #1c2129);border-color:var(--line, #2c3440);color:var(--text, #f0f3f8)}html.theme-dark.mobile-tab-shell #inventory .kpi .label,html.theme-dark.native-app #inventory .kpi .label,body.theme-dark.mobile-tab-shell #inventory .kpi .label,body.theme-dark.native-app #inventory .kpi .label{color:var(--muted, #a8b4c4)}html.theme-dark .eng-exact-app--mobile-shell,body.theme-dark .eng-exact-app--mobile-shell,html.theme-dark .eng-exact-mobile-host,body.theme-dark .eng-exact-mobile-host{--bg: #12151a;--panel: #1c2129;--panel-soft: #181c23;--surface: #12151a;--surface-soft: #181c23;--card: #1c2129;--soft: #181c23;--ink: #f0f3f8;--text: #f0f3f8;--muted: #a8b4c4;--faint: #8b96a5;--line: #2c3440;--line-dark: #3d4654;--hairline: #2c3440}html.theme-dark .eng-exact-app .quick-action-strip,body.theme-dark .eng-exact-app .quick-action-strip,html.theme-dark .eng-exact-app .center .quick-action-strip,body.theme-dark .eng-exact-app .center .quick-action-strip{background:var(--panel-soft, #181c23)!important;border-bottom-color:var(--line, #2c3440)!important;color:var(--ink, #f0f3f8)}html.theme-dark .eng-exact-app .quick-action,body.theme-dark .eng-exact-app .quick-action,html.theme-dark .eng-exact-app .center .quick-action,body.theme-dark .eng-exact-app .center .quick-action{background:var(--card, #1c2129)!important;border-color:var(--line, #2c3440)!important;color:var(--ink, #f0f3f8)!important;box-shadow:none!important}html.theme-dark .eng-exact-app .quick-action:hover,body.theme-dark .eng-exact-app .quick-action:hover{background:color-mix(in srgb,var(--accent-base, #c49a45) 14%,var(--card, #1c2129))!important;border-color:var(--brand-border, #a8822f)!important;transform:none}html.theme-dark .eng-exact-app .quick-action b,body.theme-dark .eng-exact-app .quick-action b,html.theme-dark .eng-exact-app .quick-action-head strong,body.theme-dark .eng-exact-app .quick-action-head strong{color:var(--ink, #f0f3f8)!important}html.theme-dark .eng-exact-app .quick-action small,body.theme-dark .eng-exact-app .quick-action small,html.theme-dark .eng-exact-app .quick-action-head span,body.theme-dark .eng-exact-app .quick-action-head span{color:var(--muted, #a8b4c4)!important}html.theme-dark .eng-exact-app .quick-action .qa-icon,body.theme-dark .eng-exact-app .quick-action .qa-icon,html.theme-dark .eng-exact-app .quick-action:nth-child(n) .qa-icon,body.theme-dark .eng-exact-app .quick-action:nth-child(n) .qa-icon{background:color-mix(in srgb,var(--accent-base, #c49a45) 18%,var(--soft, #181c23))!important;color:var(--brand-ink, #e8d4a0)!important}html.theme-dark .eng-exact-app .floor-summary,body.theme-dark .eng-exact-app .floor-summary{background:var(--bg, #12151a)!important;border-bottom-color:var(--line, #2c3440)!important}html.theme-dark .eng-exact-app .summary-main,body.theme-dark .eng-exact-app .summary-main{background:color-mix(in srgb,var(--accent-base, #c49a45) 22%,#1a1610)!important;border-color:var(--brand-border, #a8822f)!important;color:#f7f1e4!important}html.theme-dark .eng-exact-app .mini-stat,body.theme-dark .eng-exact-app .mini-stat,html.theme-dark .eng-exact-app .pulse-card,body.theme-dark .eng-exact-app .pulse-card{background:var(--card, #1c2129)!important;border-color:var(--line, #2c3440)!important;color:var(--ink, #f0f3f8)!important;box-shadow:none!important}html.theme-dark .eng-exact-app .mini-stat span,body.theme-dark .eng-exact-app .mini-stat span,html.theme-dark .eng-exact-app .pulse-card .label,body.theme-dark .eng-exact-app .pulse-card .label,html.theme-dark .eng-exact-app .mini-stat em,body.theme-dark .eng-exact-app .mini-stat em,html.theme-dark .eng-exact-app .pulse-card small,body.theme-dark .eng-exact-app .pulse-card small{color:var(--muted, #a8b4c4)!important}html.theme-dark .eng-exact-app .mini-stat b,body.theme-dark .eng-exact-app .mini-stat b,html.theme-dark .eng-exact-app .pulse-card b,body.theme-dark .eng-exact-app .pulse-card b{color:var(--ink, #f0f3f8)!important}html.theme-dark .eng-exact-app .card-action,body.theme-dark .eng-exact-app .card-action{background:#ffffff14!important;border-color:var(--line, #2c3440)!important;color:var(--ink, #f0f3f8)!important}html.theme-dark .eng-exact-app .floor-milestones-panel,body.theme-dark .eng-exact-app .floor-milestones-panel,html.theme-dark .eng-exact-app .proj-panel,body.theme-dark .eng-exact-app .proj-panel,html.theme-dark .eng-exact-app .proj-overview-panel,body.theme-dark .eng-exact-app .proj-overview-panel{background:var(--panel, #1c2129)!important;border-color:var(--line, #2c3440)!important;color:var(--ink, #f0f3f8)!important}html.theme-dark .eng-exact-app .proj-panel-title,body.theme-dark .eng-exact-app .proj-panel-title,html.theme-dark .eng-exact-app .proj-ms-name,body.theme-dark .eng-exact-app .proj-ms-name{color:var(--ink, #f0f3f8)!important}html.theme-dark .eng-exact-app .proj-panel-sub,body.theme-dark .eng-exact-app .proj-panel-sub,html.theme-dark .eng-exact-app .proj-panel-empty-hint,body.theme-dark .eng-exact-app .proj-panel-empty-hint,html.theme-dark .eng-exact-app .proj-ms-date,body.theme-dark .eng-exact-app .proj-ms-date{color:var(--muted, #a8b4c4)!important}html.theme-dark .eng-exact-app .proj-panel-empty,body.theme-dark .eng-exact-app .proj-panel-empty,html.theme-dark .eng-exact-app .proj-milestone,body.theme-dark .eng-exact-app .proj-milestone,html.theme-dark .eng-exact-app .proj-milestone-list,body.theme-dark .eng-exact-app .proj-milestone-list,html.theme-dark .eng-exact-app .proj-milestone-list.compact .proj-milestone,body.theme-dark .eng-exact-app .proj-milestone-list.compact .proj-milestone{background:var(--card, #1c2129)!important;border-color:var(--line, #2c3440)!important;color:var(--ink, #f0f3f8)!important}html.theme-dark .eng-exact-app .proj-panel-empty-title,body.theme-dark .eng-exact-app .proj-panel-empty-title{color:var(--ink, #f0f3f8)!important}html.theme-dark .eng-exact-app .proj-ms-add-btn,body.theme-dark .eng-exact-app .proj-ms-add-btn{background:color-mix(in srgb,var(--accent-base, #c49a45) 82%,black 18%)!important;border-color:transparent!important;color:#fff!important}html.theme-dark .eng-exact-app .proj-ms-dropdown-select,body.theme-dark .eng-exact-app .proj-ms-dropdown-select,html.theme-dark .eng-exact-app .proj-ms-status-control,body.theme-dark .eng-exact-app .proj-ms-status-control{background:var(--soft, #181c23)!important;border-color:var(--line, #2c3440)!important;color:var(--ink, #f0f3f8)!important}html.theme-dark .eng-exact-app .work-content,body.theme-dark .eng-exact-app .work-content{background:var(--bg, #12151a)!important;color:var(--ink, #f0f3f8)}html.theme-dark .eng-exact-app .entry-command,body.theme-dark .eng-exact-app .entry-command{background:var(--panel-soft, #181c23)!important;border-color:var(--line, #2c3440)!important;color:var(--ink, #f0f3f8)!important}html.theme-dark .eng-exact-app .entry-command-copy b,body.theme-dark .eng-exact-app .entry-command-copy b,html.theme-dark .eng-exact-app .section-head strong,body.theme-dark .eng-exact-app .section-head strong{color:var(--ink, #f0f3f8)!important}html.theme-dark .eng-exact-app .entry-command-copy small,body.theme-dark .eng-exact-app .entry-command-copy small{color:var(--muted, #a8b4c4)!important}html.theme-dark .eng-exact-app .entry-btn,body.theme-dark .eng-exact-app .entry-btn,html.theme-dark .eng-exact-app .status-action,body.theme-dark .eng-exact-app .status-action{background:var(--card, #1c2129)!important;border-color:var(--line, #2c3440)!important;color:var(--ink, #f0f3f8)!important}html.theme-dark .eng-exact-app .data-row,body.theme-dark .eng-exact-app .data-row,html.theme-dark .eng-exact-app .compact-row,body.theme-dark .eng-exact-app .compact-row,html.theme-dark .eng-exact-app .compact-row:nth-child(2n),body.theme-dark .eng-exact-app .compact-row:nth-child(2n),html.theme-dark .eng-exact-app .photo-card,body.theme-dark .eng-exact-app .photo-card,html.theme-dark .eng-exact-app .notice,body.theme-dark .eng-exact-app .notice,html.theme-dark .eng-exact-app .trade-row,body.theme-dark .eng-exact-app .trade-row{background:var(--card, #1c2129)!important;border-color:var(--line, #2c3440)!important;color:var(--ink, #f0f3f8)!important}html.theme-dark .eng-exact-app .data-row small,body.theme-dark .eng-exact-app .data-row small,html.theme-dark .eng-exact-app .data-row span,body.theme-dark .eng-exact-app .data-row span,html.theme-dark .eng-exact-app .notice small,body.theme-dark .eng-exact-app .notice small{color:var(--muted, #a8b4c4)!important}html.theme-dark .eng-exact-app .data-row b,body.theme-dark .eng-exact-app .data-row b,html.theme-dark .eng-exact-app .notice b,body.theme-dark .eng-exact-app .notice b{color:var(--ink, #f0f3f8)!important}html.theme-dark .eng-exact-app .row-actions-inline button,body.theme-dark .eng-exact-app .row-actions-inline button,html.theme-dark .eng-exact-app .photo-meta button,body.theme-dark .eng-exact-app .photo-meta button,html.theme-dark .eng-exact-app .notice button,body.theme-dark .eng-exact-app .notice button{background:var(--soft, #181c23)!important;border-color:var(--line, #2c3440)!important;color:var(--ink, #f0f3f8)!important}html.theme-dark .eng-exact-app .pulse-grid,body.theme-dark .eng-exact-app .pulse-grid,html.theme-dark .eng-exact-app .module-panel,body.theme-dark .eng-exact-app .module-panel{background:transparent!important;color:var(--ink, #f0f3f8)}html.theme-dark .eng-exact-app .decision-dock,body.theme-dark .eng-exact-app .decision-dock,html.theme-dark .eng-exact-app .dock-panel,body.theme-dark .eng-exact-app .dock-panel,html.theme-dark .eng-exact-app .dock-body,body.theme-dark .eng-exact-app .dock-body,html.theme-dark .eng-exact-app .dock-head,body.theme-dark .eng-exact-app .dock-head,html.theme-dark .eng-exact-app .dock-footer,body.theme-dark .eng-exact-app .dock-footer{background:var(--panel, #1c2129)!important;border-color:var(--line, #2c3440)!important;color:var(--ink, #f0f3f8)!important}html.theme-dark .eng-exact-app .dock-list,body.theme-dark .eng-exact-app .dock-list{background:var(--bg, #12151a)!important}html.theme-dark .eng-exact-app .task,body.theme-dark .eng-exact-app .task,html.theme-dark .eng-exact-app .dock-list>.task,body.theme-dark .eng-exact-app .dock-list>.task{background:var(--card, #1c2129)!important;border-color:var(--line, #2c3440)!important;color:var(--ink, #f0f3f8)!important}html.theme-dark .eng-exact-app .task-top,body.theme-dark .eng-exact-app .task-top,html.theme-dark .eng-exact-app .task-body,body.theme-dark .eng-exact-app .task-body{color:var(--ink, #f0f3f8)!important}html.theme-dark .eng-exact-app .task-actions button,body.theme-dark .eng-exact-app .task-actions button,html.theme-dark .eng-exact-app .dock-filter,body.theme-dark .eng-exact-app .dock-filter,html.theme-dark .eng-exact-app .dock-footer button,body.theme-dark .eng-exact-app .dock-footer button{background:var(--soft, #181c23)!important;border-color:var(--line, #2c3440)!important;color:var(--ink, #f0f3f8)!important}html.theme-dark .eng-exact-app .dock-empty,body.theme-dark .eng-exact-app .dock-empty,html.theme-dark .eng-exact-app .empty-filter,body.theme-dark .eng-exact-app .empty-filter,html.theme-dark .eng-exact-app .dock-list .empty-state,body.theme-dark .eng-exact-app .dock-list .empty-state{background:var(--card, #1c2129)!important;border-color:var(--line, #2c3440)!important;color:var(--muted, #a8b4c4)!important}html.theme-dark .eng-exact-app--mobile-shell .side-quick-actions,body.theme-dark .eng-exact-app--mobile-shell .side-quick-actions,html.theme-dark .eng-exact-app--mobile-shell .floor-tabs,body.theme-dark .eng-exact-app--mobile-shell .floor-tabs{background:var(--panel-soft, #181c23)!important;border-bottom-color:var(--line, #2c3440)!important}html.theme-dark .eng-exact-app--mobile-shell .side-quick-btn:not(.active):not(.side-quick-btn--primary),body.theme-dark .eng-exact-app--mobile-shell .side-quick-btn:not(.active):not(.side-quick-btn--primary),html.theme-dark .eng-exact-app--mobile-shell .floor-tab:not(.active),body.theme-dark .eng-exact-app--mobile-shell .floor-tab:not(.active){background:var(--card, #1c2129)!important;border-color:var(--line, #2c3440)!important;color:var(--muted, #a8b4c4)!important}html.theme-dark .eng-exact-app--mobile-shell .side-quick-btn--primary,body.theme-dark .eng-exact-app--mobile-shell .side-quick-btn--primary{background:color-mix(in srgb,var(--accent-base, #c49a45) 18%,var(--card, #1c2129))!important;border-color:var(--brand-border, #a8822f)!important;color:var(--ink, #f0f3f8)!important}html.theme-dark .eng-exact-app--mobile-shell .mph-sheet,body.theme-dark .eng-exact-app--mobile-shell .mph-sheet,html.theme-dark .eng-exact-app--mobile-shell .mph-sheet-list,body.theme-dark .eng-exact-app--mobile-shell .mph-sheet-list{background:var(--panel, #1c2129)!important;color:var(--ink, #f0f3f8)!important}html.theme-dark.mobile-tab-shell .bottom-tab-bar,html.theme-dark.native-app .bottom-tab-bar,body.theme-dark.mobile-tab-shell .bottom-tab-bar,body.theme-dark.native-app .bottom-tab-bar{background:var(--card, #1c2129)!important;border-top-color:var(--line, #2c3440)!important}html.theme-dark .eng-exact-app .right-dock,body.theme-dark .eng-exact-app .right-dock{background:var(--panel, #1c2129)!important;border-color:var(--line, #2c3440)!important;box-shadow:none!important;color:var(--ink, #f0f3f8)!important}html.theme-dark .eng-exact-app .dock-head,body.theme-dark .eng-exact-app .dock-head{background:var(--panel-soft, #181c23)!important;border-bottom-color:var(--line, #2c3440)!important}html.theme-dark .eng-exact-app .dock-head h2,body.theme-dark .eng-exact-app .dock-head h2,html.theme-dark .eng-exact-app .dock-head .eyebrow,body.theme-dark .eng-exact-app .dock-head .eyebrow{color:var(--ink, #f0f3f8)!important}html.theme-dark .eng-exact-app .dock-head p,body.theme-dark .eng-exact-app .dock-head p{color:var(--muted, #a8b4c4)!important}html.theme-dark .eng-exact-app .dock-tab,body.theme-dark .eng-exact-app .dock-tab,html.theme-dark .eng-exact-app .dock-tab:not(.active),body.theme-dark .eng-exact-app .dock-tab:not(.active){background:var(--card, #1c2129)!important;border-color:var(--line, #2c3440)!important;color:var(--muted, #a8b4c4)!important}html.theme-dark .eng-exact-app .dock-tab:hover,body.theme-dark .eng-exact-app .dock-tab:hover{background:var(--soft, #181c23)!important;color:var(--ink, #f0f3f8)!important}html.theme-dark .eng-exact-app .dock-tab.active,body.theme-dark .eng-exact-app .dock-tab.active{background:color-mix(in srgb,var(--accent-base, #c49a45) 82%,black 18%)!important;border-color:transparent!important;color:#fff!important}html.theme-dark .eng-exact-app .dock-filter:not(.active),body.theme-dark .eng-exact-app .dock-filter:not(.active){background:var(--card, #1c2129)!important;border-color:var(--line, #2c3440)!important;color:var(--muted, #a8b4c4)!important}html.theme-dark .eng-exact-app .dock-filter:hover,body.theme-dark .eng-exact-app .dock-filter:hover,html.theme-dark .eng-exact-app .dock-footer button:hover,body.theme-dark .eng-exact-app .dock-footer button:hover{background:color-mix(in srgb,var(--accent-base, #c49a45) 14%,var(--card, #1c2129))!important;color:var(--ink, #f0f3f8)!important}html.theme-dark .eng-exact-app .dock-empty,body.theme-dark .eng-exact-app .dock-empty{background:var(--card, #1c2129)!important;color:var(--muted, #a8b4c4)!important;border:1px solid var(--line, #2c3440);border-radius:12px}html.theme-dark .eng-exact-app .progress-ring:after,body.theme-dark .eng-exact-app .progress-ring:after{background:var(--card, #1c2129)!important}html.theme-dark.mobile-tab-shell .crew-workspace-panel,html.theme-dark.native-app .crew-workspace-panel,body.theme-dark.mobile-tab-shell .crew-workspace-panel,body.theme-dark.native-app .crew-workspace-panel,html.theme-dark .crew-workspace-panel .eng-exact-app--crew-host,body.theme-dark .crew-workspace-panel .eng-exact-app--crew-host,html.theme-dark .crew-workspace-panel .crew-page--mobile-ws,body.theme-dark .crew-workspace-panel .crew-page--mobile-ws{--bg: #12151a;--panel: #1c2129;--panel-soft: #181c23;--soft: #181c23;--card: #1c2129;--ink: #f0f3f8;--text: #f0f3f8;--muted: #a8b4c4;--faint: #8b96a5;--line: #2c3440;--hairline: #2c3440;color:var(--ink, #f0f3f8)}html.theme-dark .crew-workspace-panel .eng-exact-app--crew-host,body.theme-dark .crew-workspace-panel .eng-exact-app--crew-host{color:var(--ink, #f0f3f8)!important}html.theme-dark .crew-workspace-panel .crew-focus,body.theme-dark .crew-workspace-panel .crew-focus,html.theme-dark .crew-workspace-panel .crew-metric,body.theme-dark .crew-workspace-panel .crew-metric,html.theme-dark .eng-exact-app .crew-focus,body.theme-dark .eng-exact-app .crew-focus,html.theme-dark .eng-exact-app .crew-metric,body.theme-dark .eng-exact-app .crew-metric{background:var(--card, #1c2129)!important;border-color:var(--line, #2c3440)!important;color:var(--ink, #f0f3f8)!important;box-shadow:none!important}html.theme-dark .crew-workspace-panel .crew-focus h2,body.theme-dark .crew-workspace-panel .crew-focus h2,html.theme-dark .crew-workspace-panel .crew-metric b,body.theme-dark .crew-workspace-panel .crew-metric b,html.theme-dark .eng-exact-app .crew-focus h2,body.theme-dark .eng-exact-app .crew-focus h2,html.theme-dark .eng-exact-app .crew-metric b,body.theme-dark .eng-exact-app .crew-metric b{color:var(--ink, #f0f3f8)!important}html.theme-dark .crew-workspace-panel .crew-focus .eyebrow,body.theme-dark .crew-workspace-panel .crew-focus .eyebrow,html.theme-dark .crew-workspace-panel .crew-metric span,body.theme-dark .crew-workspace-panel .crew-metric span,html.theme-dark .crew-workspace-panel .crew-metric small,body.theme-dark .crew-workspace-panel .crew-metric small,html.theme-dark .eng-exact-app .crew-metric span,body.theme-dark .eng-exact-app .crew-metric span,html.theme-dark .eng-exact-app .crew-metric small,body.theme-dark .eng-exact-app .crew-metric small{color:var(--muted, #a8b4c4)!important}html.theme-dark .crew-workspace-panel .crew-metric.alert b,body.theme-dark .crew-workspace-panel .crew-metric.alert b,html.theme-dark .eng-exact-app .crew-metric.alert b,body.theme-dark .eng-exact-app .crew-metric.alert b{color:#f87171!important}html.theme-dark .crew-workspace-panel .crew-focus-request-btn,body.theme-dark .crew-workspace-panel .crew-focus-request-btn{background:color-mix(in srgb,var(--accent-base, #c49a45) 18%,var(--soft, #181c23))!important;border:1px solid var(--brand-border, #a8822f)!important;color:var(--ink, #f0f3f8)!important}html.theme-dark .crew-workspace-panel .crew-attention-strip,body.theme-dark .crew-workspace-panel .crew-attention-strip,html.theme-dark .eng-exact-app .crew-attention-strip,body.theme-dark .eng-exact-app .crew-attention-strip{background:var(--card, #1c2129)!important;border-color:var(--line, #2c3440)!important;color:var(--ink, #f0f3f8)!important;box-shadow:none!important}html.theme-dark .crew-workspace-panel .crew-attention-head h3,body.theme-dark .crew-workspace-panel .crew-attention-head h3,html.theme-dark .crew-workspace-panel .crew-section-kicker,body.theme-dark .crew-workspace-panel .crew-section-kicker,html.theme-dark .eng-exact-app .crew-attention-head h3,body.theme-dark .eng-exact-app .crew-attention-head h3{color:var(--ink, #f0f3f8)!important}html.theme-dark .crew-workspace-panel .crew-alert-card,body.theme-dark .crew-workspace-panel .crew-alert-card,html.theme-dark .eng-exact-app .crew-alert-card,body.theme-dark .eng-exact-app .crew-alert-card,html.theme-dark .eng-exact-app .crew-alert-card.neutral,body.theme-dark .eng-exact-app .crew-alert-card.neutral{background:var(--soft, #181c23)!important;border-color:var(--line, #2c3440)!important;color:var(--ink, #f0f3f8)!important}html.theme-dark .crew-workspace-panel .crew-alert-card b,body.theme-dark .crew-workspace-panel .crew-alert-card b,html.theme-dark .eng-exact-app .crew-alert-card b,body.theme-dark .eng-exact-app .crew-alert-card b{color:var(--ink, #f0f3f8)!important}html.theme-dark .crew-workspace-panel .crew-alert-card small,body.theme-dark .crew-workspace-panel .crew-alert-card small,html.theme-dark .eng-exact-app .crew-alert-card small,body.theme-dark .eng-exact-app .crew-alert-card small{color:var(--muted, #a8b4c4)!important}html.theme-dark .crew-workspace-panel .crew-alert-card button,body.theme-dark .crew-workspace-panel .crew-alert-card button,html.theme-dark .eng-exact-app .crew-alert-card button,body.theme-dark .eng-exact-app .crew-alert-card button{background:var(--card, #1c2129)!important;border-color:var(--line, #2c3440)!important;color:var(--brand-ink, #e8d4a0)!important}html.theme-dark .crew-workspace-panel .crew-alert-card.danger,body.theme-dark .crew-workspace-panel .crew-alert-card.danger,html.theme-dark .eng-exact-app .crew-alert-card.danger,body.theme-dark .eng-exact-app .crew-alert-card.danger{background:var(--red-bg, #3d1f1c)!important;border-color:color-mix(in srgb,#ef4444 35%,var(--line, #2c3440))!important}html.theme-dark .crew-workspace-panel .crew-alert-card.warning,body.theme-dark .crew-workspace-panel .crew-alert-card.warning,html.theme-dark .eng-exact-app .crew-alert-card.warning,body.theme-dark .eng-exact-app .crew-alert-card.warning{background:var(--amber-bg, #3d2e14)!important;border-color:color-mix(in srgb,#f59e0b 35%,var(--line, #2c3440))!important}html.theme-dark .crew-workspace-panel .crew-alert-card .crew-alert-icon,body.theme-dark .crew-workspace-panel .crew-alert-card .crew-alert-icon,html.theme-dark .eng-exact-app .crew-alert-card .crew-alert-icon,body.theme-dark .eng-exact-app .crew-alert-card .crew-alert-icon,html.theme-dark .eng-exact-app .crew-alert-card.danger .crew-alert-icon,body.theme-dark .eng-exact-app .crew-alert-card.danger .crew-alert-icon,html.theme-dark .eng-exact-app .crew-alert-card.warning .crew-alert-icon,body.theme-dark .eng-exact-app .crew-alert-card.warning .crew-alert-icon{background:var(--card, #1c2129)!important}html.theme-dark .crew-workspace-panel .crew-roster-panel,body.theme-dark .crew-workspace-panel .crew-roster-panel,html.theme-dark .eng-exact-app .crew-roster-panel,body.theme-dark .eng-exact-app .crew-roster-panel,html.theme-dark .eng-exact-app .crew-panel,body.theme-dark .eng-exact-app .crew-panel,html.theme-dark .crew-ws-table-scroll,body.theme-dark .crew-ws-table-scroll{background:var(--card, #1c2129)!important;border-color:var(--line, #2c3440)!important;color:var(--ink, #f0f3f8)!important;box-shadow:none!important}html.theme-dark .crew-workspace-panel .crew-roster-head,body.theme-dark .crew-workspace-panel .crew-roster-head,html.theme-dark .eng-exact-app .crew-roster-head,body.theme-dark .eng-exact-app .crew-roster-head{background:var(--panel-soft, #181c23)!important;border-bottom-color:var(--line, #2c3440)!important}html.theme-dark .crew-workspace-panel .crew-roster-copy h3,body.theme-dark .crew-workspace-panel .crew-roster-copy h3,html.theme-dark .crew-workspace-panel .crew-roster-copy p,body.theme-dark .crew-workspace-panel .crew-roster-copy p,html.theme-dark .eng-exact-app .crew-roster-copy h3,body.theme-dark .eng-exact-app .crew-roster-copy h3{color:var(--ink, #f0f3f8)!important}html.theme-dark .crew-workspace-panel .crew-roster-actions>button,body.theme-dark .crew-workspace-panel .crew-roster-actions>button,html.theme-dark .eng-exact-app .crew-roster-actions>button,body.theme-dark .eng-exact-app .crew-roster-actions>button{background:var(--soft, #181c23)!important;border-color:var(--line, #2c3440)!important;color:var(--ink, #f0f3f8)!important}html.theme-dark .crew-workspace-panel .crew-add-btn,body.theme-dark .crew-workspace-panel .crew-add-btn,html.theme-dark .eng-exact-app .crew-add-btn,body.theme-dark .eng-exact-app .crew-add-btn,html.theme-dark .crew-workspace-panel .crew-roster-actions>button.crew-add-btn,body.theme-dark .crew-workspace-panel .crew-roster-actions>button.crew-add-btn,html.theme-dark .eng-exact-app .crew-roster-actions>button.crew-add-btn,body.theme-dark .eng-exact-app .crew-roster-actions>button.crew-add-btn{background:var(--accent-base, #8c6a24)!important;border-color:transparent!important;color:#fff!important}html.theme-dark .crew-workspace-panel .crew-roster-search,body.theme-dark .crew-workspace-panel .crew-roster-search,html.theme-dark .eng-exact-app .crew-roster-search,body.theme-dark .eng-exact-app .crew-roster-search{background:var(--card, #1c2129)!important;border-color:var(--line, #2c3440)!important;color:var(--muted, #a8b4c4)!important}html.theme-dark .crew-ws-table-scroll .crew-ws-data-table thead th,body.theme-dark .crew-ws-table-scroll .crew-ws-data-table thead th,html.theme-dark .eng-exact-app .crew-table th,body.theme-dark .eng-exact-app .crew-table th,html.theme-dark .eng-exact-app.crew-roster-view .crew-table-pro th,body.theme-dark .eng-exact-app.crew-roster-view .crew-table-pro th{background:var(--soft, #181c23)!important;color:var(--muted, #a8b4c4)!important;border-bottom-color:var(--line, #2c3440)!important}html.theme-dark .crew-ws-table-scroll .crew-ws-data-table tbody td,body.theme-dark .crew-ws-table-scroll .crew-ws-data-table tbody td,html.theme-dark .eng-exact-app .crew-table td,body.theme-dark .eng-exact-app .crew-table td,html.theme-dark .eng-exact-app.crew-roster-view .crew-table-pro td,body.theme-dark .eng-exact-app.crew-roster-view .crew-table-pro td{color:var(--ink, #f0f3f8)!important;border-bottom-color:var(--line, #2c3440)!important}html.theme-dark .crew-ws-table-scroll .crew-ws-data-table tbody tr:nth-child(2n),body.theme-dark .crew-ws-table-scroll .crew-ws-data-table tbody tr:nth-child(2n),html.theme-dark .eng-exact-app .crew-table tbody tr:nth-child(2n),body.theme-dark .eng-exact-app .crew-table tbody tr:nth-child(2n),html.theme-dark .eng-exact-app.crew-roster-view .crew-table-pro tbody tr:nth-child(2n),body.theme-dark .eng-exact-app.crew-roster-view .crew-table-pro tbody tr:nth-child(2n){background:var(--panel-soft, #181c23)!important}html.theme-dark .crew-ws-table-scroll .crew-ws-data-table tbody tr:nth-child(odd),body.theme-dark .crew-ws-table-scroll .crew-ws-data-table tbody tr:nth-child(odd),html.theme-dark .eng-exact-app.crew-roster-view .crew-table-pro tbody tr:nth-child(odd),body.theme-dark .eng-exact-app.crew-roster-view .crew-table-pro tbody tr:nth-child(odd){background:var(--card, #1c2129)!important}html.theme-dark .crew-ws-table-scroll .crew-ws-data-table .worker-name strong,body.theme-dark .crew-ws-table-scroll .crew-ws-data-table .worker-name strong,html.theme-dark .eng-exact-app .worker-name b,body.theme-dark .eng-exact-app .worker-name b{color:var(--ink, #f0f3f8)!important}html.theme-dark .crew-ws-table-scroll .list-sort-trigger,body.theme-dark .crew-ws-table-scroll .list-sort-trigger,html.theme-dark .crew-workspace-panel .list-sort-trigger,body.theme-dark .crew-workspace-panel .list-sort-trigger{background:var(--soft, #181c23)!important;border-color:var(--line, #2c3440)!important;color:var(--ink, #f0f3f8)!important}html.theme-dark.mobile-tab-shell #crew .empty-state,html.theme-dark.native-app #crew .empty-state,body.theme-dark.mobile-tab-shell #crew .empty-state,body.theme-dark.native-app #crew .empty-state,html.theme-dark .crew-directory__empty,body.theme-dark .crew-directory__empty{background:transparent!important;color:var(--muted, #a8b4c4)!important}html.theme-dark.mobile-tab-shell #crew .empty-state-title,html.theme-dark.native-app #crew .empty-state-title,body.theme-dark.mobile-tab-shell #crew .empty-state-title,body.theme-dark.native-app #crew .empty-state-title{color:var(--ink, #f0f3f8)!important}html.theme-dark.mobile-tab-shell #crew .empty-state-sub,html.theme-dark.native-app #crew .empty-state-sub,body.theme-dark.mobile-tab-shell #crew .empty-state-sub,body.theme-dark.native-app #crew .empty-state-sub{color:var(--muted, #a8b4c4)!important}html.theme-dark .crew-dir-card__chip,body.theme-dark .crew-dir-card__chip,html.theme-dark .crew-directory__tab:not(.is-active),body.theme-dark .crew-directory__tab:not(.is-active),html.theme-dark .crew-view-toggle button:not(.active),body.theme-dark .crew-view-toggle button:not(.active){background:var(--soft, #181c23)!important;border-color:var(--line, #2c3440)!important;color:var(--muted, #a8b4c4)!important}html.theme-dark .crew-directory__tab.is-active,body.theme-dark .crew-directory__tab.is-active,html.theme-dark .crew-view-toggle button.active,body.theme-dark .crew-view-toggle button.active{color:#fff!important}html.theme-dark .material-request-overlay,body.theme-dark .material-request-overlay,html.theme-dark.mobile-tab-shell .material-request-overlay,html.theme-dark.native-app .material-request-overlay,body.theme-dark.mobile-tab-shell .material-request-overlay,body.theme-dark.native-app .material-request-overlay{background:var(--card, #1c2129)!important;color:var(--text, #f0f3f8)}html.theme-dark .material-request-card,body.theme-dark .material-request-card,html.theme-dark .manpower-request-card,body.theme-dark .manpower-request-card,html.theme-dark .material-request-head,body.theme-dark .material-request-head,html.theme-dark .material-request-form-scroll,body.theme-dark .material-request-form-scroll,html.theme-dark .material-request-footer,body.theme-dark .material-request-footer{background:var(--card, #1c2129)!important;border-color:var(--line, #2c3440)!important;color:var(--text, #f0f3f8)!important}html.theme-dark .material-request-title,body.theme-dark .material-request-title,html.theme-dark .material-request-sub,body.theme-dark .material-request-sub,html.theme-dark .material-request-field--full label,body.theme-dark .material-request-field--full label,html.theme-dark .mp-specialization-cell-label,body.theme-dark .mp-specialization-cell-label,html.theme-dark .material-request-form label,body.theme-dark .material-request-form label{color:var(--muted, #a8b4c4)!important}html.theme-dark .material-request-title,body.theme-dark .material-request-title{color:var(--text, #f0f3f8)!important}html.theme-dark .mp-specialization-row,body.theme-dark .mp-specialization-row{background:var(--soft, #181c23)!important;border-color:var(--line, #2c3440)!important}html.theme-dark .mp-specialization-remove,body.theme-dark .mp-specialization-remove,html.theme-dark .mp-specialization-add,body.theme-dark .mp-specialization-add,html.theme-dark .material-request-close,body.theme-dark .material-request-close,html.theme-dark .material-request-date-btn,body.theme-dark .material-request-date-btn{background:var(--card, #1c2129)!important;border-color:var(--line, #2c3440)!important;color:var(--muted, #a8b4c4)!important;box-shadow:none!important}html.theme-dark .mp-specialization-add:hover,body.theme-dark .mp-specialization-add:hover{background:color-mix(in srgb,var(--accent-base, #c49a45) 12%,var(--soft, #181c23))!important;border-color:var(--brand-border, #a8822f)!important;color:var(--text, #f0f3f8)!important}html.theme-dark .material-request-card .entry-input,body.theme-dark .material-request-card .entry-input,html.theme-dark .material-request-card .entry-select,body.theme-dark .material-request-card .entry-select,html.theme-dark .material-request-card .entry-textarea,body.theme-dark .material-request-card .entry-textarea,html.theme-dark .material-request-card .material-request-textarea,body.theme-dark .material-request-card .material-request-textarea,html.theme-dark .material-request-card .material-request-date-text,body.theme-dark .material-request-card .material-request-date-text,html.theme-dark .manpower-request-card .entry-input,body.theme-dark .manpower-request-card .entry-input,html.theme-dark .manpower-request-card .entry-select,body.theme-dark .manpower-request-card .entry-select,html.theme-dark .manpower-request-card textarea,body.theme-dark .manpower-request-card textarea,html.theme-dark .trade-select-wrap .entry-select,body.theme-dark .trade-select-wrap .entry-select,html.theme-dark .trade-select-wrap .entry-input,body.theme-dark .trade-select-wrap .entry-input{background:var(--soft, #181c23)!important;border:1px solid var(--line, #2c3440)!important;color:var(--text, #f0f3f8)!important;box-shadow:none!important}html.theme-dark .material-request-card .entry-input::placeholder,body.theme-dark .material-request-card .entry-input::placeholder,html.theme-dark .material-request-card .material-request-textarea::placeholder,body.theme-dark .material-request-card .material-request-textarea::placeholder,html.theme-dark .manpower-request-card .entry-input::placeholder,body.theme-dark .manpower-request-card .entry-input::placeholder,html.theme-dark .manpower-request-card textarea::placeholder,body.theme-dark .manpower-request-card textarea::placeholder{color:var(--faint, #8b96a5)!important;opacity:1!important}html.theme-dark .material-request-card .entry-input:focus,body.theme-dark .material-request-card .entry-input:focus,html.theme-dark .material-request-card .entry-select:focus,body.theme-dark .material-request-card .entry-select:focus,html.theme-dark .material-request-card .material-request-textarea:focus,body.theme-dark .material-request-card .material-request-textarea:focus,html.theme-dark .manpower-request-card .entry-input:focus,body.theme-dark .manpower-request-card .entry-input:focus,html.theme-dark .trade-select-wrap .entry-select:focus,body.theme-dark .trade-select-wrap .entry-select:focus{background:var(--card, #1c2129)!important;border-color:var(--brand-border, #a8822f)!important;color:var(--text, #f0f3f8)!important}html.theme-dark .material-request-card .entry-select option,body.theme-dark .material-request-card .entry-select option,html.theme-dark .trade-select-wrap .entry-select option,body.theme-dark .trade-select-wrap .entry-select option{background:var(--card, #1c2129);color:var(--text, #f0f3f8)}html.theme-dark .material-request-date-inputs,body.theme-dark .material-request-date-inputs,html.theme-dark .material-request-date-inputs--infield,body.theme-dark .material-request-date-inputs--infield{background:transparent!important}html.theme-dark .material-request-date-cal,body.theme-dark .material-request-date-cal{background:var(--card, #1c2129)!important;border-color:var(--line, #2c3440)!important;color:var(--text, #f0f3f8)!important}html.theme-dark .material-request-btn-cancel,body.theme-dark .material-request-btn-cancel{background:transparent!important;border-color:transparent!important;color:var(--text, #f0f3f8)!important}html.theme-dark .material-request-btn-submit,body.theme-dark .material-request-btn-submit{border-color:var(--brand-border, #a8822f)!important}html.theme-dark .payroll-table-wrap,body.theme-dark .payroll-table-wrap,html.theme-dark .exact-embedded-accounts .payroll-table-wrap,body.theme-dark .exact-embedded-accounts .payroll-table-wrap,html.theme-dark .eng-exact-app .exact-embedded-accounts .payroll-table-wrap,body.theme-dark .eng-exact-app .exact-embedded-accounts .payroll-table-wrap,html.theme-dark.mobile-tab-shell .payroll-table-wrap,html.theme-dark.native-app .payroll-table-wrap,body.theme-dark.mobile-tab-shell .payroll-table-wrap,body.theme-dark.native-app .payroll-table-wrap{background:#1c2129!important;border-color:#2c3440!important;color:#f0f3f8!important}html.theme-dark .payroll-table th,body.theme-dark .payroll-table th,html.theme-dark .exact-embedded-accounts .payroll-table th,body.theme-dark .exact-embedded-accounts .payroll-table th,html.theme-dark.mobile-tab-shell .payroll-table th,html.theme-dark.native-app .payroll-table th,body.theme-dark.mobile-tab-shell .payroll-table th,body.theme-dark.native-app .payroll-table th{background:#181c23!important;color:#a8b4c4!important;border-bottom-color:#2c3440!important}html.theme-dark .payroll-table td,body.theme-dark .payroll-table td,html.theme-dark .exact-embedded-accounts .payroll-table td,body.theme-dark .exact-embedded-accounts .payroll-table td,html.theme-dark.mobile-tab-shell .payroll-table td,html.theme-dark.native-app .payroll-table td,body.theme-dark.mobile-tab-shell .payroll-table td,body.theme-dark.native-app .payroll-table td{color:#f0f3f8!important;border-bottom-color:#2c3440!important;background:transparent!important}html.theme-dark .payroll-table tbody tr:nth-child(2n) td,body.theme-dark .payroll-table tbody tr:nth-child(2n) td{background:#181c23!important}html.theme-dark .payroll-table tbody tr:hover td,body.theme-dark .payroll-table tbody tr:hover td,html.theme-dark .payroll-table tbody tr.is-selected td,body.theme-dark .payroll-table tbody tr.is-selected td{background:color-mix(in srgb,var(--accent-base, #c49a45) 14%,#1c2129)!important}html.theme-dark .payroll-table__name,body.theme-dark .payroll-table__name,html.theme-dark .payroll-table__project-primary,body.theme-dark .payroll-table__project-primary,html.theme-dark .payroll-table__project-more,body.theme-dark .payroll-table__project-more,html.theme-dark .exact-embedded-accounts .payroll-table__name,body.theme-dark .exact-embedded-accounts .payroll-table__name,html.theme-dark .exact-embedded-accounts .payroll-table__project-primary,body.theme-dark .exact-embedded-accounts .payroll-table__project-primary,html.theme-dark .exact-embedded-accounts .payroll-table__project-more,body.theme-dark .exact-embedded-accounts .payroll-table__project-more,html.theme-dark .eng-exact-app .exact-embedded-accounts .payroll-table__name,body.theme-dark .eng-exact-app .exact-embedded-accounts .payroll-table__name,html.theme-dark .eng-exact-app .exact-embedded-accounts .payroll-table__project-primary,body.theme-dark .eng-exact-app .exact-embedded-accounts .payroll-table__project-primary,html.theme-dark .eng-exact-app .exact-embedded-accounts .payroll-table__project-more,body.theme-dark .eng-exact-app .exact-embedded-accounts .payroll-table__project-more{color:#f0f3f8!important}html.theme-dark .payroll-table__meta,body.theme-dark .payroll-table__meta,html.theme-dark .payroll-table__site,body.theme-dark .payroll-table__site,html.theme-dark .payroll-table__ot-hrs,body.theme-dark .payroll-table__ot-hrs,html.theme-dark .payroll-table__projects-empty,body.theme-dark .payroll-table__projects-empty,html.theme-dark .payroll-table__muted,body.theme-dark .payroll-table__muted{color:var(--muted, #a8b4c4)!important}html.theme-dark .payroll-table__total strong,body.theme-dark .payroll-table__total strong{color:#4ade80!important}html.theme-dark .payroll-action-group,body.theme-dark .payroll-action-group,html.theme-dark .payroll-action-btn--view,body.theme-dark .payroll-action-btn--view,html.theme-dark .payroll-action-btn--hold,body.theme-dark .payroll-action-btn--hold,html.theme-dark .payroll-table__view-btn,body.theme-dark .payroll-table__view-btn{background:#181c23!important;border-color:#2c3440!important;color:#f0f3f8!important;box-shadow:none!important}html.theme-dark .payroll-action-group .payroll-action-btn+.payroll-action-btn,body.theme-dark .payroll-action-group .payroll-action-btn+.payroll-action-btn{border-left-color:var(--line, #2c3440)!important}html.theme-dark .payroll-banner-actions,body.theme-dark .payroll-banner-actions,html.theme-dark .payroll-month-nav,body.theme-dark .payroll-month-nav,html.theme-dark .payroll-review-toolbar,body.theme-dark .payroll-review-toolbar{color:var(--text, #f0f3f8)}html.theme-dark .payroll-month-nav__label,body.theme-dark .payroll-month-nav__label,html.theme-dark .payroll-run-badge,body.theme-dark .payroll-run-badge{background:var(--soft, #181c23)!important;border-color:var(--line, #2c3440)!important;color:var(--text, #f0f3f8)!important}html.theme-dark .exact-embedded-accounts,body.theme-dark .exact-embedded-accounts,html.theme-dark .accounts-module-shell,body.theme-dark .accounts-module-shell,html.theme-dark .accounts-module,body.theme-dark .accounts-module{background:transparent!important;color:var(--text, #f0f3f8)}html.theme-dark .rbac-accordion-item,body.theme-dark .rbac-accordion-item,html.theme-dark #admin .rbac-accordion-item,body.theme-dark #admin .rbac-accordion-item,html.theme-dark.mobile-tab-shell #admin .rbac-accordion-item,body.theme-dark.mobile-tab-shell #admin .rbac-accordion-item,html.theme-dark.native-app #admin .rbac-accordion-item,body.theme-dark.native-app #admin .rbac-accordion-item{background:#1c2129!important;border-color:#2c3440!important;color:#f0f3f8!important;box-shadow:none!important}html.theme-dark .rbac-accordion-header,body.theme-dark .rbac-accordion-header,html.theme-dark .rbac-accordion-item.open .rbac-accordion-header,body.theme-dark .rbac-accordion-item.open .rbac-accordion-header,html.theme-dark .rbac-accordion-trigger,body.theme-dark .rbac-accordion-trigger,html.theme-dark .rbac-accordion-item.open .rbac-accordion-trigger,body.theme-dark .rbac-accordion-item.open .rbac-accordion-trigger,html.theme-dark .rbac-accordion-body,body.theme-dark .rbac-accordion-body{background:#1c2129!important;border-color:#2c3440!important;color:#f0f3f8!important}html.theme-dark .rbac-role-name,body.theme-dark .rbac-role-name,html.theme-dark .rbac-role-key,body.theme-dark .rbac-role-key,html.theme-dark .rbac-module-title,body.theme-dark .rbac-module-title,html.theme-dark .rbac-toggle-label,body.theme-dark .rbac-toggle-label{color:#f0f3f8!important}html.theme-dark .rbac-role-desc,body.theme-dark .rbac-role-desc,html.theme-dark .rbac-role-summary,body.theme-dark .rbac-role-summary,html.theme-dark .rbac-info-details,body.theme-dark .rbac-info-details{color:#a8b4c4!important}html.theme-dark .rbac-role-key,body.theme-dark .rbac-role-key,html.theme-dark .rbac-role-avatar.is-system,body.theme-dark .rbac-role-avatar.is-system,html.theme-dark .rbac-role-tag,body.theme-dark .rbac-role-tag,html.theme-dark .rbac-role-action,body.theme-dark .rbac-role-action,html.theme-dark .rbac-module-nav,body.theme-dark .rbac-module-nav,html.theme-dark .rbac-module-content,body.theme-dark .rbac-module-content,html.theme-dark .rbac-section,body.theme-dark .rbac-section,html.theme-dark .rbac-toggle-row,body.theme-dark .rbac-toggle-row,html.theme-dark .rbac-create-card,body.theme-dark .rbac-create-card{background:#181c23!important;border-color:#2c3440!important;color:#f0f3f8!important;box-shadow:none!important}html.theme-dark .rbac-create-card .entry-input,body.theme-dark .rbac-create-card .entry-input,html.theme-dark .rbac-role-edit-form input,body.theme-dark .rbac-role-edit-form input{background:#1c2129!important;border-color:#2c3440!important;color:#f0f3f8!important}html.theme-dark .rbac-create-card .entry-field label,body.theme-dark .rbac-create-card .entry-field label,html.theme-dark .rbac-create-card .entry-actions,body.theme-dark .rbac-create-card .entry-actions{color:#a8b4c4!important;border-color:#2c3440!important}html.theme-dark .rbac-role-action.is-danger,body.theme-dark .rbac-role-action.is-danger{background:#3d1f1c!important;border-color:#7f1d1d!important;color:#fca5a5!important}html.theme-dark .admin-payroll-item,body.theme-dark .admin-payroll-item,html.theme-dark .admin-payroll-item.is-pending,body.theme-dark .admin-payroll-item.is-pending,html.theme-dark .admin-payroll-item:hover,body.theme-dark .admin-payroll-item:hover,html.theme-dark .admin-payroll-tile,body.theme-dark .admin-payroll-tile,html.theme-dark #admin .admin-payroll-item,body.theme-dark #admin .admin-payroll-item,html.theme-dark.mobile-tab-shell #admin .admin-payroll-item,body.theme-dark.mobile-tab-shell #admin .admin-payroll-item,html.theme-dark.native-app #admin .admin-payroll-item,body.theme-dark.native-app #admin .admin-payroll-item{background:#1c2129!important;border-color:#2c3440!important;color:#f0f3f8!important;box-shadow:none!important}html.theme-dark .admin-payroll-name,body.theme-dark .admin-payroll-name,html.theme-dark .admin-payroll-salary,body.theme-dark .admin-payroll-salary,html.theme-dark .admin-payroll-empid,body.theme-dark .admin-payroll-empid{color:#f0f3f8!important}html.theme-dark .admin-payroll-empid,body.theme-dark .admin-payroll-empid{color:#e8d4a0!important}html.theme-dark .admin-payroll-trade,body.theme-dark .admin-payroll-trade,html.theme-dark .admin-payroll-settings,body.theme-dark .admin-payroll-settings{color:#a8b4c4!important}html.theme-dark .admin-payroll-filter,body.theme-dark .admin-payroll-filter,html.theme-dark .admin-payroll-search,body.theme-dark .admin-payroll-search,html.theme-dark .admin-payroll-avatar.is-pending,body.theme-dark .admin-payroll-avatar.is-pending,html.theme-dark .admin-payroll-action,body.theme-dark .admin-payroll-action{background:#181c23!important;border-color:#2c3440!important;color:#f0f3f8!important}html.theme-dark .admin-payroll-filter.active,body.theme-dark .admin-payroll-filter.active{background:#2a2418!important;border-color:#a8822f!important;color:#e8d4a0!important}html.theme-dark .admin-user-tile,body.theme-dark .admin-user-tile,html.theme-dark .admin-user-row,body.theme-dark .admin-user-row,html.theme-dark #admin .admin-user-tile,body.theme-dark #admin .admin-user-tile{background:#1c2129!important;border-color:#2c3440!important;color:#f0f3f8!important}html.theme-dark #admin .card,body.theme-dark #admin .card,html.theme-dark #admin-roles.card,body.theme-dark #admin-roles.card,html.theme-dark #admin .admin-tab-body,body.theme-dark #admin .admin-tab-body{background:transparent!important;border-color:transparent!important;box-shadow:none!important;color:#f0f3f8}html.theme-dark .project-modal-form .entry-time-input.fm-time-12h,body.theme-dark .project-modal-form .entry-time-input.fm-time-12h,html.theme-dark .admin-user-form .entry-time-input.fm-time-12h,body.theme-dark .admin-user-form .entry-time-input.fm-time-12h,html.theme-dark .eng-req-modal-body .entry-time-input.fm-time-12h,body.theme-dark .eng-req-modal-body .entry-time-input.fm-time-12h,html.theme-dark .project-modal-form .entry-time-input.fm-time-12h:focus-within,body.theme-dark .project-modal-form .entry-time-input.fm-time-12h:focus-within,html.theme-dark .admin-user-form .entry-time-input.fm-time-12h:focus-within,body.theme-dark .admin-user-form .entry-time-input.fm-time-12h:focus-within,html.theme-dark .eng-req-modal-body .entry-time-input.fm-time-12h:focus-within,body.theme-dark .eng-req-modal-body .entry-time-input.fm-time-12h:focus-within{background:#181c23!important;border-color:#2c3440!important;color:#f0f3f8!important;box-shadow:none!important}html.theme-dark .project-modal-form .entry-time-input.fm-time-12h.invalid,body.theme-dark .project-modal-form .entry-time-input.fm-time-12h.invalid,html.theme-dark .admin-user-form .entry-time-input.fm-time-12h.invalid,body.theme-dark .admin-user-form .entry-time-input.fm-time-12h.invalid{background:#3d1f1c!important;border-color:#7f1d1d!important}html.theme-dark .project-modal-form .fm-time-12h-select,body.theme-dark .project-modal-form .fm-time-12h-select,html.theme-dark .project-modal-form .fm-time-12h-select-text,body.theme-dark .project-modal-form .fm-time-12h-select-text,html.theme-dark .project-modal-form .fm-time-12h-sep,body.theme-dark .project-modal-form .fm-time-12h-sep,html.theme-dark .project-modal-form .fm-time-12h-chevron,body.theme-dark .project-modal-form .fm-time-12h-chevron,html.theme-dark .admin-user-form .fm-time-12h-select,body.theme-dark .admin-user-form .fm-time-12h-select,html.theme-dark .admin-user-form .fm-time-12h-select-text,body.theme-dark .admin-user-form .fm-time-12h-select-text,html.theme-dark .eng-req-modal-body .fm-time-12h-select,body.theme-dark .eng-req-modal-body .fm-time-12h-select,html.theme-dark .eng-req-modal-body .fm-time-12h-select-text,body.theme-dark .eng-req-modal-body .fm-time-12h-select-text{color:#f0f3f8!important;background:transparent!important}html.theme-dark .project-modal-form .fm-time-12h-select:hover:not(:disabled),body.theme-dark .project-modal-form .fm-time-12h-select:hover:not(:disabled),html.theme-dark .project-modal-form .fm-time-12h-select[aria-expanded=true],body.theme-dark .project-modal-form .fm-time-12h-select[aria-expanded=true]{background:#ffffff0f!important}html.theme-dark .project-modal-form .fm-time-12h-menu,body.theme-dark .project-modal-form .fm-time-12h-menu,html.theme-dark .admin-user-form .fm-time-12h-menu,body.theme-dark .admin-user-form .fm-time-12h-menu{background:#1c2129!important;border-color:#2c3440!important;color:#f0f3f8!important}html.theme-dark .manpower-selected-banner,body.theme-dark .manpower-selected-banner{background:linear-gradient(135deg,#2a2418,#1c2129 55%,#181c23)!important;border-color:#3d4654!important;box-shadow:none!important;color:#f0f3f8!important}html.theme-dark .manpower-selected-banner-copy strong,body.theme-dark .manpower-selected-banner-copy strong{color:#f0f3f8!important}html.theme-dark .manpower-selected-banner-meta,body.theme-dark .manpower-selected-banner-meta{color:#a8b4c4!important}html.theme-dark .manpower-assign-guide,body.theme-dark .manpower-assign-guide,html.theme-dark .manpower-team-section,body.theme-dark .manpower-team-section,html.theme-dark .project-team-list,body.theme-dark .project-team-list,html.theme-dark .project-team-empty,body.theme-dark .project-team-empty,html.theme-dark .manpower-team-field .project-team-row-wrap,body.theme-dark .manpower-team-field .project-team-row-wrap,html.theme-dark .manpower-team-inline-reports,body.theme-dark .manpower-team-inline-reports,html.theme-dark .checkbox-dropdown-menu,body.theme-dark .checkbox-dropdown-menu{background:#1c2129!important;border-color:#2c3440!important;color:#f0f3f8!important;box-shadow:none!important}html.theme-dark .manpower-team-field .project-team-row-wrap.selected,body.theme-dark .manpower-team-field .project-team-row-wrap.selected{background:color-mix(in srgb,var(--brand-soft, #2a2418) 45%,#1c2129)!important;border-color:#a8822f!important}html.theme-dark .manpower-assign-guide-title,body.theme-dark .manpower-assign-guide-title,html.theme-dark .manpower-team-section-copy p,body.theme-dark .manpower-team-section-copy p,html.theme-dark .manpower-crew-flow-hint,body.theme-dark .manpower-crew-flow-hint,html.theme-dark .manpower-team-inline-reports-label,body.theme-dark .manpower-team-inline-reports-label{color:#a8b4c4!important}html.theme-dark .manpower-assign-guide-steps,body.theme-dark .manpower-assign-guide-steps,html.theme-dark .manpower-team-section-copy strong,body.theme-dark .manpower-team-section-copy strong,html.theme-dark .manpower-team-name,body.theme-dark .manpower-team-name,html.theme-dark .project-team-row,body.theme-dark .project-team-row,html.theme-dark .checkbox-dropdown-option,body.theme-dark .checkbox-dropdown-option{color:#f0f3f8!important}html.theme-dark .manpower-assign-tabs,body.theme-dark .manpower-assign-tabs{border-bottom-color:#2c3440!important}html.theme-dark .manpower-assign-tab,body.theme-dark .manpower-assign-tab{color:#a8b4c4!important}html.theme-dark .manpower-assign-tab.is-active,body.theme-dark .manpower-assign-tab.is-active{color:#f0f3f8!important}html.theme-dark .mp-vmap-mgr,body.theme-dark .mp-vmap-mgr,html.theme-dark .mp-vmap-node,body.theme-dark .mp-vmap-node{background:#1c2129!important;border-color:#2c3440!important;color:#f0f3f8!important}html.theme-dark .mp-vmap-node-name,body.theme-dark .mp-vmap-node-name{color:#f0f3f8!important}html.theme-dark .manpower-team-type-row select,body.theme-dark .manpower-team-type-row select,html.theme-dark .manpower-team-reports-row select,body.theme-dark .manpower-team-reports-row select,html.theme-dark .manpower-assign-form .entry-input,body.theme-dark .manpower-assign-form .entry-input,html.theme-dark .manpower-assign-form .entry-select,body.theme-dark .manpower-assign-form .entry-select,html.theme-dark .manpower-assign-form .checkbox-dropdown-trigger,body.theme-dark .manpower-assign-form .checkbox-dropdown-trigger,html.theme-dark .manpower-crew-search .entry-input,body.theme-dark .manpower-crew-search .entry-input{background:#181c23!important;border-color:#2c3440!important;color:#f0f3f8!important}html.theme-dark .manpower-team-avatar,body.theme-dark .manpower-team-avatar{background:#181c23!important;border-color:#2c3440!important;color:#a8b4c4!important}html.theme-dark .manpower-team-type-badge,body.theme-dark .manpower-team-type-badge{background:#1a2a3d!important;color:#93c5fd!important}html.theme-dark .manpower-team-type-badge.is-missing,body.theme-dark .manpower-team-type-badge.is-missing{background:#3d1f1c!important;color:#fca5a5!important}html.theme-dark .manpower-team-reports-badge,body.theme-dark .manpower-team-reports-badge{background:#12303a!important;color:#67e8f9!important}html.theme-dark .manpower-team-projects-badge,body.theme-dark .manpower-team-projects-badge{background:#181c23!important;color:#a8b4c4!important}html.theme-dark .checkbox-dropdown-option:hover,body.theme-dark .checkbox-dropdown-option:hover{background:#181c23!important}html.theme-dark .checkbox-dropdown-option.is-selected,body.theme-dark .checkbox-dropdown-option.is-selected{background:#2a2418!important;color:#e8d4a0!important}html.theme-dark .manpower-crew-foreman-warn,body.theme-dark .manpower-crew-foreman-warn{background:#3d2e14!important;border-color:#a8822f!important;color:#f0f3f8!important}html.theme-dark .manpower-project-card,body.theme-dark .manpower-project-card{background:#1c2129!important;border-color:#2c3440!important;color:#f0f3f8!important}html.theme-dark .cmd-back-bar,body.theme-dark .cmd-back-bar,html.theme-dark .eng-exact-app .exact-embedded-ppe .cmd-back-bar,body.theme-dark .eng-exact-app .exact-embedded-ppe .cmd-back-bar,html.theme-dark #proj-ppe-view .cmd-back-bar,body.theme-dark #proj-ppe-view .cmd-back-bar,html.theme-dark.mobile-tab-shell #proj-ppe-view .cmd-back-bar,body.theme-dark.mobile-tab-shell #proj-ppe-view .cmd-back-bar,html.theme-dark.native-app #proj-ppe-view .cmd-back-bar,body.theme-dark.native-app #proj-ppe-view .cmd-back-bar{background:#1c2129!important;border-color:#2c3440!important;box-shadow:none!important;color:#f0f3f8!important}html.theme-dark .cmd-breadcrumb,body.theme-dark .cmd-breadcrumb,html.theme-dark #proj-ppe-view .cmd-breadcrumb,body.theme-dark #proj-ppe-view .cmd-breadcrumb{color:#a8b4c4!important}html.theme-dark .cmd-breadcrumb strong,body.theme-dark .cmd-breadcrumb strong,html.theme-dark #proj-ppe-view .cmd-breadcrumb strong,body.theme-dark #proj-ppe-view .cmd-breadcrumb strong{color:#f0f3f8!important}html.theme-dark .cmd-back-btn,body.theme-dark .cmd-back-btn,html.theme-dark .cmd-action-btn,body.theme-dark .cmd-action-btn,html.theme-dark #proj-ppe-view .cmd-back-btn,body.theme-dark #proj-ppe-view .cmd-back-btn,html.theme-dark #proj-ppe-view .cmd-action-btn,body.theme-dark #proj-ppe-view .cmd-action-btn{background:#181c23!important;border-color:#2c3440!important;color:#f0f3f8!important}html.theme-dark .cmd-action-btn.primary,body.theme-dark .cmd-action-btn.primary,html.theme-dark #proj-ppe-view .cmd-action-btn.primary,body.theme-dark #proj-ppe-view .cmd-action-btn.primary{background:#2a2418!important;border-color:#a8822f!important;color:#e8d4a0!important}html.theme-dark .eng-exact-app .exact-embedded-ppe .ds-headcount-row,body.theme-dark .eng-exact-app .exact-embedded-ppe .ds-headcount-row,html.theme-dark #proj-ppe-view .ds-headcount-row,body.theme-dark #proj-ppe-view .ds-headcount-row{background:#1c2129!important;border-color:#2c3440!important;box-shadow:none!important}html.theme-dark .enq-col-header,body.theme-dark .enq-col-header,html.theme-dark #proj-ppe-view .enq-col-header,body.theme-dark #proj-ppe-view .enq-col-header,html.theme-dark .enq-kanban-hdr,body.theme-dark .enq-kanban-hdr{background:#181c23!important;border:1px solid #2c3440}html.theme-dark .enq-col[data-enq-stage=New] .enq-col-header,body.theme-dark .enq-col[data-enq-stage=New] .enq-col-header{background:#1c2129!important;color:#cbd5e1!important}html.theme-dark .enq-col[data-enq-stage="Under Review"] .enq-col-header,body.theme-dark .enq-col[data-enq-stage="Under Review"] .enq-col-header,html.theme-dark .enq-col[data-enq-stage=Qualified] .enq-col-header,body.theme-dark .enq-col[data-enq-stage=Qualified] .enq-col-header{background:#2563eb2e!important;color:#93c5fd!important;border-color:#3b82f659}html.theme-dark .enq-col[data-enq-stage="Quotation Preparing"] .enq-col-header,body.theme-dark .enq-col[data-enq-stage="Quotation Preparing"] .enq-col-header,html.theme-dark .enq-col[data-enq-stage="Project Visit"] .enq-col-header,body.theme-dark .enq-col[data-enq-stage="Project Visit"] .enq-col-header{background:#ea580c2e!important;color:#fdba74!important;border-color:#fb923c59}html.theme-dark .enq-col[data-enq-stage="Quotation Sent"] .enq-col-header,body.theme-dark .enq-col[data-enq-stage="Quotation Sent"] .enq-col-header,html.theme-dark .enq-col[data-enq-stage=Quotation] .enq-col-header,body.theme-dark .enq-col[data-enq-stage=Quotation] .enq-col-header{background:#9333ea2e!important;color:#d8b4fe!important;border-color:#a855f759}html.theme-dark .enq-col[data-enq-stage=Negotiation] .enq-col-header,body.theme-dark .enq-col[data-enq-stage=Negotiation] .enq-col-header{background:#ca8a042e!important;color:#fde047!important;border-color:#eab30859}html.theme-dark .enq-col[data-enq-stage=Finalized] .enq-col-header,body.theme-dark .enq-col[data-enq-stage=Finalized] .enq-col-header,html.theme-dark .enq-col[data-enq-stage=Won] .enq-col-header,body.theme-dark .enq-col[data-enq-stage=Won] .enq-col-header{background:#16a34a2e!important;color:#86efac!important;border-color:#4ade8059}html.theme-dark .enq-col[data-enq-stage=Lost] .enq-col-header,body.theme-dark .enq-col[data-enq-stage=Lost] .enq-col-header{background:#dc26262e!important;color:#fca5a5!important;border-color:#f8717159}html.theme-dark .enq-col-title,body.theme-dark .enq-col-title{color:inherit!important}html.theme-dark .enq-col,body.theme-dark .enq-col,html.theme-dark #proj-ppe-view .enq-col,body.theme-dark #proj-ppe-view .enq-col,html.theme-dark.mobile-tab-shell #proj-ppe-view .enq-col,body.theme-dark.mobile-tab-shell #proj-ppe-view .enq-col{background:#1c2129!important;border-color:#2c3440!important;box-shadow:none!important}html.theme-dark .enq-col-empty,body.theme-dark .enq-col-empty,html.theme-dark .ppe-status-tab,body.theme-dark .ppe-status-tab,html.theme-dark .ppe-enq-view-toggle .roster-view-btn,body.theme-dark .ppe-enq-view-toggle .roster-view-btn{background:#181c23!important;border-color:#2c3440!important;color:#a8b4c4!important}html.theme-dark .ppe-status-tab.active,body.theme-dark .ppe-status-tab.active,html.theme-dark .ppe-enq-view-toggle .roster-view-btn.active,body.theme-dark .ppe-enq-view-toggle .roster-view-btn.active{background:#2a2418!important;border-color:#a8822f!important;color:#e8d4a0!important}html.theme-dark .raise-alert-btn--ghost,body.theme-dark .raise-alert-btn--ghost,html.theme-dark .raise-alert-form-actions .raise-alert-btn--ghost,body.theme-dark .raise-alert-form-actions .raise-alert-btn--ghost,html.theme-dark .eng-exact-app .raise-alert-btn--ghost,body.theme-dark .eng-exact-app .raise-alert-btn--ghost{background:#181c23!important;border-color:#2c3440!important;color:#f0f3f8!important;box-shadow:none!important}html.theme-dark .raise-alert-btn--ghost:hover:not(:disabled),body.theme-dark .raise-alert-btn--ghost:hover:not(:disabled){background:#1c2129!important;border-color:#3d4654!important;color:#f0f3f8!important}html.theme-dark .raise-alert-field input,body.theme-dark .raise-alert-field input,html.theme-dark .raise-alert-field select,body.theme-dark .raise-alert-field select,html.theme-dark .raise-alert-field textarea,body.theme-dark .raise-alert-field textarea{background:#181c23!important;border-color:#2c3440!important;color:#f0f3f8!important}html.theme-dark .raise-alert-list-head strong,body.theme-dark .raise-alert-list-head strong,html.theme-dark .raise-alert-head h3,body.theme-dark .raise-alert-head h3{color:#f0f3f8!important}html.theme-dark .raise-alert-list-head,body.theme-dark .raise-alert-list-head,html.theme-dark .raise-alert-head p,body.theme-dark .raise-alert-head p,html.theme-dark .raise-alert-embedded-hint,body.theme-dark .raise-alert-embedded-hint{color:#a8b4c4!important}html.theme-dark .eng-exact-app .project-item,body.theme-dark .eng-exact-app .project-item,html.theme-dark .eng-exact-app--mobile-shell .project-item,body.theme-dark .eng-exact-app--mobile-shell .project-item{background:#1c2129!important;border-color:#2c3440!important;color:#f0f3f8!important}html.theme-dark .eng-exact-app .project-item:hover,body.theme-dark .eng-exact-app .project-item:hover,html.theme-dark .eng-exact-app .project-item.active,body.theme-dark .eng-exact-app .project-item.active,html.theme-dark .eng-exact-app--mobile-shell .project-item.active,body.theme-dark .eng-exact-app--mobile-shell .project-item.active,html.theme-dark .eng-exact-app .side-projects--tenant-wide .project-item.is-locked,body.theme-dark .eng-exact-app .side-projects--tenant-wide .project-item.is-locked,html.theme-dark .eng-exact-app .side-projects--tenant-wide .project-item.is-locked:hover,body.theme-dark .eng-exact-app .side-projects--tenant-wide .project-item.is-locked:hover{background:color-mix(in srgb,var(--accent-base, #c49a45) 16%,#1c2129)!important;border-color:#a8822f!important;color:#f0f3f8!important;box-shadow:inset 3px 0 0 var(--accent-base, #c49a45)!important}html.theme-dark .eng-exact-app .project-item .project-meta b,body.theme-dark .eng-exact-app .project-item .project-meta b,html.theme-dark .eng-exact-app .project-item.active .project-meta b,body.theme-dark .eng-exact-app .project-item.active .project-meta b{color:#f0f3f8!important}html.theme-dark .eng-exact-app .project-item .project-meta small,body.theme-dark .eng-exact-app .project-item .project-meta small{color:#a8b4c4!important}html.theme-dark .eng-exact-app--mobile-shell .side-quick-actions,body.theme-dark .eng-exact-app--mobile-shell .side-quick-actions,html.theme-dark .eng-exact-app--mobile-shell .exact-sidebar--mobile .side-quick-actions,body.theme-dark .eng-exact-app--mobile-shell .exact-sidebar--mobile .side-quick-actions{background:#12151a!important;border-bottom-color:#2c3440!important}html.theme-dark .eng-exact-app--mobile-shell .side-quick-btn--primary,body.theme-dark .eng-exact-app--mobile-shell .side-quick-btn--primary{background:color-mix(in srgb,var(--accent-base, #c49a45) 16%,#1c2129)!important;border-color:#a8822f!important;color:#e8d4a0!important}html.theme-dark .mph-card,body.theme-dark .mph-card,html.theme-dark .mobile-project-hub .mph-card,body.theme-dark .mobile-project-hub .mph-card{background:#1c2129!important;border-color:#2c3440!important;color:#f0f3f8!important;box-shadow:none!important}html.theme-dark .mph-card-title strong,body.theme-dark .mph-card-title strong{color:#f0f3f8!important}html.theme-dark .notif-panel,body.theme-dark .notif-panel,html.theme-dark .alert-panel,body.theme-dark .alert-panel,html.theme-dark .notif-panel.open,body.theme-dark .notif-panel.open{background:#12151a!important;border-color:#2c3440!important;color:#f0f3f8!important;box-shadow:none!important}html.theme-dark .notif-header,body.theme-dark .notif-header,html.theme-dark .alert-panel .notif-header,body.theme-dark .alert-panel .notif-header{background:#1c2129!important;border-bottom-color:#2c3440!important;color:#f0f3f8!important}html.theme-dark .notif-heading,body.theme-dark .notif-heading,html.theme-dark .alert-panel .notif-heading,body.theme-dark .alert-panel .notif-heading,html.theme-dark .notif-title,body.theme-dark .notif-title,html.theme-dark .notif-body-text,body.theme-dark .notif-body-text{color:#f0f3f8!important}html.theme-dark .notif-clear-btn,body.theme-dark .notif-clear-btn,html.theme-dark .notif-time,body.theme-dark .notif-time,html.theme-dark .notif-panel .gsr-empty,body.theme-dark .notif-panel .gsr-empty,html.theme-dark .alert-panel .gsr-empty,body.theme-dark .alert-panel .gsr-empty,html.theme-dark .gsr-empty,body.theme-dark .gsr-empty{color:#a8b4c4!important}html.theme-dark .notif-clear-btn:hover,body.theme-dark .notif-clear-btn:hover{color:#f0f3f8!important}html.theme-dark .notif-item,body.theme-dark .notif-item,html.theme-dark .alert-panel .notif-item,body.theme-dark .alert-panel .notif-item{background:transparent!important;border-bottom-color:#2c3440!important;color:#f0f3f8!important}html.theme-dark .notif-item:hover,body.theme-dark .notif-item:hover{background:#181c23!important}html.theme-dark .notif-unread,body.theme-dark .notif-unread,html.theme-dark .alert-item.notif-unread,body.theme-dark .alert-item.notif-unread{background:#c49a451a!important}html.theme-dark .alert-type-tag,body.theme-dark .alert-type-tag{background:#181c23!important;color:#e8d4a0!important}html.theme-dark .alert-panel-error,body.theme-dark .alert-panel-error{background:#3d1f1c!important;color:#fca5a5!important}html.theme-dark .notif-count-tag,body.theme-dark .notif-count-tag{background:#3d1f1c!important;border-color:#7f1d1d!important;color:#fca5a5!important}html.theme-dark .eng-exact-app .floor-workspace,body.theme-dark .eng-exact-app .floor-workspace,html.theme-dark .eng-exact-app .building-card,body.theme-dark .eng-exact-app .building-card,html.theme-dark .eng-exact-app--mobile-shell .floor-workspace,body.theme-dark .eng-exact-app--mobile-shell .floor-workspace{background:var(--panel, #1c2129)!important;border-color:var(--line, #2c3440)!important;color:var(--ink, #f0f3f8)!important;box-shadow:none!important}html.theme-dark .eng-exact-app .floor-tabs,body.theme-dark .eng-exact-app .floor-tabs{background:var(--panel-soft, #181c23)!important;border-bottom-color:var(--line, #2c3440)!important}html.theme-dark .eng-exact-app .floor-tab:not(.active),body.theme-dark .eng-exact-app .floor-tab:not(.active){background:var(--card, #1c2129)!important;border-color:var(--line, #2c3440)!important;color:var(--muted, #a8b4c4)!important}html.theme-dark .eng-exact-app .floor-tab-dot,body.theme-dark .eng-exact-app .floor-tab-dot{box-shadow:0 0 0 2px var(--card, #1c2129)!important}html.theme-dark .eng-exact-app .mini-stat.project-hub-card,body.theme-dark .eng-exact-app .mini-stat.project-hub-card,html.theme-dark .eng-exact-app .project-hub-card,body.theme-dark .eng-exact-app .project-hub-card{background:var(--card, #1c2129)!important;border-color:var(--line, #2c3440)!important;color:var(--ink, #f0f3f8)!important}html.theme-dark .eng-exact-app .project-hub-card em,body.theme-dark .eng-exact-app .project-hub-card em,html.theme-dark .eng-exact-app .crew-summary-count-sub,body.theme-dark .eng-exact-app .crew-summary-count-sub{color:var(--muted, #a8b4c4)!important}html.theme-dark .eng-exact-app .pm-project-hub,body.theme-dark .eng-exact-app .pm-project-hub,html.theme-dark .eng-exact-app .pm-project-hub--inline,body.theme-dark .eng-exact-app .pm-project-hub--inline,html.theme-dark .eng-exact-app .pm-hub-panel,body.theme-dark .eng-exact-app .pm-hub-panel{background:var(--panel, #1c2129)!important;border-color:var(--line, #2c3440)!important;color:var(--ink, #f0f3f8)!important}html.theme-dark .eng-exact-app .pm-hub-head,body.theme-dark .eng-exact-app .pm-hub-head,html.theme-dark .eng-exact-app .pm-hub-tabs,body.theme-dark .eng-exact-app .pm-hub-tabs{border-color:var(--line, #2c3440)!important;background:var(--panel-soft, #181c23)!important}html.theme-dark .eng-exact-app .pm-hub-head strong,body.theme-dark .eng-exact-app .pm-hub-head strong,html.theme-dark .eng-exact-app .pm-hub-panel-head h4,body.theme-dark .eng-exact-app .pm-hub-panel-head h4,html.theme-dark .eng-exact-app .pm-hub-field>strong,body.theme-dark .eng-exact-app .pm-hub-field>strong,html.theme-dark .eng-exact-app .pm-hub-contact-copy b,body.theme-dark .eng-exact-app .pm-hub-contact-copy b,html.theme-dark .eng-exact-app .pm-hub-doc-copy b,body.theme-dark .eng-exact-app .pm-hub-doc-copy b,html.theme-dark .eng-exact-app .pm-hub-milestone-list li span,body.theme-dark .eng-exact-app .pm-hub-milestone-list li span,html.theme-dark .eng-exact-app .pm-hub-chip-list li strong,body.theme-dark .eng-exact-app .pm-hub-chip-list li strong,html.theme-dark .eng-exact-app .project-hub-roster-head strong,body.theme-dark .eng-exact-app .project-hub-roster-head strong,html.theme-dark .eng-exact-app .project-hub-roster-table td:first-child,body.theme-dark .eng-exact-app .project-hub-roster-table td:first-child{color:var(--ink, #f0f3f8)!important}html.theme-dark .eng-exact-app .pm-hub-tab-btn,body.theme-dark .eng-exact-app .pm-hub-tab-btn,html.theme-dark .eng-exact-app .pm-hub-tab-btn .app-icon,body.theme-dark .eng-exact-app .pm-hub-tab-btn .app-icon{color:var(--muted, #a8b4c4)!important}html.theme-dark .eng-exact-app .pm-hub-tab-btn.active,body.theme-dark .eng-exact-app .pm-hub-tab-btn.active,html.theme-dark .eng-exact-app .pm-hub-tab-btn.active .app-icon,body.theme-dark .eng-exact-app .pm-hub-tab-btn.active .app-icon{color:var(--brand-ink, #e8d4a0)!important}html.theme-dark .eng-exact-app .pm-hub-field,body.theme-dark .eng-exact-app .pm-hub-field,html.theme-dark .eng-exact-app .pm-hub-chip-list li,body.theme-dark .eng-exact-app .pm-hub-chip-list li,html.theme-dark .eng-exact-app .pm-hub-milestone-list li,body.theme-dark .eng-exact-app .pm-hub-milestone-list li,html.theme-dark .eng-exact-app .pm-hub-contact-list li,body.theme-dark .eng-exact-app .pm-hub-contact-list li,html.theme-dark .eng-exact-app .pm-hub-doc-list li,body.theme-dark .eng-exact-app .pm-hub-doc-list li,html.theme-dark .eng-exact-app .pm-icon-btn,body.theme-dark .eng-exact-app .pm-icon-btn{background:var(--card, #1c2129)!important;border-color:var(--line, #2c3440)!important;color:var(--ink, #f0f3f8)!important}html.theme-dark .eng-exact-app .pm-hub-field>span,body.theme-dark .eng-exact-app .pm-hub-field>span,html.theme-dark .eng-exact-app .pm-hub-panel-head p,body.theme-dark .eng-exact-app .pm-hub-panel-head p,html.theme-dark .eng-exact-app .pm-hub-subsection h5,body.theme-dark .eng-exact-app .pm-hub-subsection h5,html.theme-dark .eng-exact-app .pm-hub-contact-group h5,body.theme-dark .eng-exact-app .pm-hub-contact-group h5,html.theme-dark .eng-exact-app .pm-hub-contact-copy small,body.theme-dark .eng-exact-app .pm-hub-contact-copy small,html.theme-dark .eng-exact-app .pm-hub-doc-copy small,body.theme-dark .eng-exact-app .pm-hub-doc-copy small,html.theme-dark .eng-exact-app .pm-hub-milestone-list li small,body.theme-dark .eng-exact-app .pm-hub-milestone-list li small,html.theme-dark .eng-exact-app .project-hub-roster-head span,body.theme-dark .eng-exact-app .project-hub-roster-head span,html.theme-dark .eng-exact-app .project-hub-roster-empty,body.theme-dark .eng-exact-app .project-hub-roster-empty{color:var(--muted, #a8b4c4)!important}html.theme-dark .eng-exact-app .pm-hub-contact-avatar,body.theme-dark .eng-exact-app .pm-hub-contact-avatar{background:var(--soft, #181c23)!important;color:var(--ink, #f0f3f8)!important}html.theme-dark .eng-exact-app .project-hub-roster,body.theme-dark .eng-exact-app .project-hub-roster,html.theme-dark .eng-exact-app .project-hub-roster-table-wrap,body.theme-dark .eng-exact-app .project-hub-roster-table-wrap{background:var(--panel, #1c2129)!important;border-color:var(--line, #2c3440)!important}html.theme-dark .eng-exact-app .project-hub-roster-search,body.theme-dark .eng-exact-app .project-hub-roster-search,html.theme-dark .eng-exact-app .project-hub-roster-role,body.theme-dark .eng-exact-app .project-hub-roster-role{background:var(--card, #1c2129)!important;border-color:var(--line, #2c3440)!important;color:var(--ink, #f0f3f8)!important}html.theme-dark .eng-exact-app .project-hub-roster-table th,body.theme-dark .eng-exact-app .project-hub-roster-table th{background:var(--soft, #181c23)!important;color:var(--muted, #a8b4c4)!important;border-color:var(--line, #2c3440)!important}html.theme-dark .eng-exact-app .project-hub-roster-table td,body.theme-dark .eng-exact-app .project-hub-roster-table td{border-color:var(--line, #2c3440)!important;color:var(--ink, #f0f3f8)!important}html.theme-dark .eng-exact-app .row-action-btn--pdf,body.theme-dark .eng-exact-app .row-action-btn--pdf,html.theme-dark .eng-exact-app .row-action-btn--update,body.theme-dark .eng-exact-app .row-action-btn--update{background:var(--card, #1c2129)!important;border-color:var(--line, #2c3440)!important;color:var(--ink, #f0f3f8)!important}html.theme-dark .eng-exact-app .data-row--issue.is-rfi,body.theme-dark .eng-exact-app .data-row--issue.is-rfi{background:color-mix(in srgb,var(--accent-base, #c49a45) 10%,var(--card, #1c2129))!important;border-color:var(--brand-border, #a8822f)!important}html.theme-dark .eng-exact-app .issue-kind-filter:not(.active),body.theme-dark .eng-exact-app .issue-kind-filter:not(.active){background:var(--card, #1c2129)!important;border-color:var(--line, #2c3440)!important;color:var(--muted, #a8b4c4)!important}html.theme-dark .eng-exact-app .issue-kind-chip:not(.is-rfi),body.theme-dark .eng-exact-app .issue-kind-chip:not(.is-rfi){background:var(--soft, #181c23)!important;border-color:var(--line, #2c3440)!important;color:var(--muted, #a8b4c4)!important}html.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root,html.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root,body.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root,body.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root{background:#0f1218!important;color:#e8eaed!important}html.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .crew-alloc-summary,html.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .crew-alloc-summary,body.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .crew-alloc-summary,body.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .crew-alloc-summary,html.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .project-card,html.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .project-card,body.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .project-card,body.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .project-card,html.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .crew-alloc-pending-panel,html.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .crew-alloc-pending-panel,body.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .crew-alloc-pending-panel,body.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .crew-alloc-pending-panel,html.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .roster-panel,html.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .roster-panel,body.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .roster-panel,body.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .roster-panel,html.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .request-card,html.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .request-card,body.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .request-card,body.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .request-card{background:#161b22!important;border-color:#2a313c!important;color:#e8eaed!important}html.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .sum,html.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .sum,body.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .sum,body.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .sum{border-color:#2a313c!important}html.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .sum small,html.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .sum small,body.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .sum small,body.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .sum small,html.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .section-title,html.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .section-title,body.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .section-title,body.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .section-title,html.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .pc-top small,html.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .pc-top small,body.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .pc-top small,body.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .pc-top small,html.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .request-card small,html.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .request-card small,body.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .request-card small,body.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .request-card small{color:#9aa3b2!important}html.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .sum b,html.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .sum b,body.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .sum b,body.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .sum b,html.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .pc-top b,html.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .pc-top b,body.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .pc-top b,body.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .pc-top b,html.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .request-card b,html.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .request-card b,body.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .request-card b,body.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .request-card b,html.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .roster-head,html.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .roster-head,body.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .roster-head,body.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .roster-head{color:#e8eaed!important}html.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .filters input,html.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .filters input,body.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .filters input,body.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .filters input,html.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .filters select,html.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .filters select,body.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .filters select,body.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .filters select,html.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .filters button,html.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .filters button,body.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .filters button,body.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .filters button,html.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .tabs button,html.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .tabs button,body.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .tabs button,body.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .tabs button,html.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .request-actions button,html.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .request-actions button,body.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .request-actions button,body.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .request-actions button,html.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .project-card>button,html.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .project-card>button,body.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .project-card>button,body.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .project-card>button{background:#0f1218!important;border-color:#2a313c!important;color:#e8eaed!important}html.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .tabs button.active,html.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .tabs button.active,body.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .tabs button.active,body.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .tabs button.active{background:#3b6fd9!important;border-color:transparent!important;color:#fff!important}html.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .request-actions .approve,html.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .request-actions .approve,body.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .request-actions .approve,body.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .request-actions .approve{background:#143528!important;color:#86efac!important;border-color:#166534!important}html.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .request-actions .reject,html.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .request-actions .reject,body.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .request-actions .reject,body.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .request-actions .reject{background:#3d1f1c!important;color:#fca5a5!important;border-color:#7f1d1d!important}html.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root th,html.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root th,body.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root th,body.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root th{background:#12161d!important;color:#9aa3b2!important;border-color:#2a313c!important}html.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root td,html.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root td,body.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root td,body.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root td{border-color:#2a313c!important;color:#e8eaed!important}html.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .crew-alloc-bar,html.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .crew-alloc-bar,body.theme-dark.mobile-tab-shell .crew-allocation-mobile-host .crew-alloc-root .crew-alloc-bar,body.theme-dark.native-app .crew-allocation-mobile-host .crew-alloc-root .crew-alloc-bar{background:#2a313c!important}:root{--scrollbar-size: 6px;--scrollbar-thumb: rgba(148, 163, 184, .28);--scrollbar-thumb-hover: rgba(148, 163, 184, .42);--scrollbar-track: transparent}html.theme-dark,body.theme-dark{--scrollbar-thumb: rgba(168, 180, 196, .22);--scrollbar-thumb-hover: rgba(168, 180, 196, .36);--scrollbar-track: transparent}html,body,*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}*::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}*::-webkit-scrollbar-track{background:var(--scrollbar-track)}*::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:999px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);background-clip:padding-box}*::-webkit-scrollbar-corner{background:transparent}.assign-worker-list::-webkit-scrollbar-thumb,.admin-modal-card--assign::-webkit-scrollbar-thumb,.clock-modal-body::-webkit-scrollbar-thumb,.view-material-request-card .proc-view-modal-body::-webkit-scrollbar-thumb,.proj-progress-history-scroll::-webkit-scrollbar-thumb,.proc-tabs::-webkit-scrollbar-thumb,.rbac-module-nav::-webkit-scrollbar-thumb,.rbac-module-content::-webkit-scrollbar-thumb,.rbac-proc-scroll-matrix .rbac-crew-section .rbac-crew-groups-flat::-webkit-scrollbar-thumb,.rbac-projects-matrix .rbac-crew-section .rbac-crew-groups-flat::-webkit-scrollbar-thumb,.fm-time-12h-menu::-webkit-scrollbar-thumb,.fm-req-card-list-preview::-webkit-scrollbar-thumb,.eng-exact-app .center>.project-area:has(.exact-embedded-accounts)::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb)}.assign-worker-list,.admin-modal-card--assign,.clock-modal-body,.view-material-request-card .proc-view-modal-body,.rbac-module-nav,.rbac-module-content,.rbac-proc-scroll-matrix .rbac-crew-section .rbac-crew-groups-flat,.rbac-projects-matrix .rbac-crew-section .rbac-crew-groups-flat{scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}#viewPoBody,#viewMaterialRequestBody{scrollbar-width:thin;scrollbar-color:#94a3b8 transparent}#viewPoBody::-webkit-scrollbar,#viewMaterialRequestBody::-webkit-scrollbar{width:8px}#viewPoBody::-webkit-scrollbar-thumb,#viewMaterialRequestBody::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:999px;border:0;background-clip:border-box}
