.construction-pending-alert{display:flex;align-items:center;gap:10px;flex-wrap:wrap;width:100%;box-sizing:border-box;padding:10px 14px;margin:0 0 12px;border:1px solid #f5c2b8;border-radius:8px;background:#fff7f5;color:#7a271a;font-size:13px}.construction-pending-alert>svg{flex:0 0 auto;color:#b42318}.construction-pending-alert-text{display:flex;flex-wrap:wrap;gap:4px 14px;min-width:0}.construction-pending-alert-text strong{white-space:nowrap}.construction-pending-alert-text span{color:#9a3412;font-size:12px}.construction-pending-alert-action{margin-left:auto;white-space:nowrap}.construction-pending-alert.is-muted{border-color:var(--border);background:#f8fafc;color:var(--text-secondary);font-size:12px}@media (max-width: 720px){.construction-pending-alert{align-items:flex-start}.construction-pending-alert-action{margin-left:0}}.arrival-panel{display:flex;flex-direction:column;gap:12px;padding:14px;color:var(--text, #1f2937)}.arrival-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}.arrival-head h2{margin:0 0 3px;font-size:20px}.arrival-head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.arrival-muted{color:#6b7280;font-size:12px;font-weight:400}.arrival-toolbar{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;padding:10px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px}.arrival-toolbar label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#374151}.arrival-toolbar .input{min-width:160px}.arrival-banner{display:flex;gap:8px;align-items:center;padding:8px 10px;border-radius:6px;font-size:13px}.arrival-banner.is-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.arrival-banner.is-warn{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.arrival-banner.is-ok{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.arrival-chip{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:11px;white-space:nowrap}.arrival-chip.is-ok{background:#dcfce7;color:#166534}.arrival-chip.is-warn{background:#fef3c7;color:#92400e}.arrival-status{display:inline-flex;padding:2px 8px;border-radius:999px;font-size:11px;white-space:nowrap}.arrival-status.is-draft{background:#e5e7eb;color:#374151}.arrival-status.is-returned{background:#fef3c7;color:#92400e}.arrival-status.is-submitted{background:#dcfce7;color:#166534}.arrival-form-panel,.arrival-photo-panel,.arrival-list-panel,.arrival-member-panel{border:1px solid #e5e7eb;border-radius:10px;padding:12px;background:#fff}.arrival-form-panel>header,.arrival-photo-panel>header,.arrival-list-panel>header,.arrival-member-panel>header{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.arrival-form-panel>header h3,.arrival-photo-panel>header h3,.arrival-list-panel>header h3,.arrival-member-panel>header h3{margin:0;font-size:15px;display:inline-flex;align-items:center;gap:6px}.arrival-form-panel>header .btn{margin-left:auto}.arrival-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.arrival-form-grid label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#374151}.arrival-form-grid .arrival-check{flex-direction:row;align-items:center;gap:6px;padding-top:18px}.arrival-span-2{grid-column:span 2}.arrival-subhead{margin:16px 0 8px;font-size:13px;color:#111827}.arrival-line-wrap{overflow-x:auto;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:8px}.arrival-lines{width:100%;border-collapse:collapse;font-size:12px}.arrival-lines th,.arrival-lines td{border-bottom:1px solid #f1f5f9;padding:4px;text-align:left;vertical-align:middle}.arrival-lines th{background:#f8fafc;white-space:nowrap}.arrival-lines .input{min-width:84px;padding:4px 6px}.arrival-form-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.arrival-return-box{display:flex;gap:8px;align-items:flex-end;margin-top:10px;padding:10px;background:#fffbeb;border-radius:6px}.arrival-return-box label{display:flex;flex-direction:column;gap:4px;font-size:12px;flex:1}.arrival-photo-group{margin-top:10px}.arrival-photo-group h4{margin:0 0 6px;font-size:13px;color:#374151}.arrival-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}.arrival-photo-card{border:1px solid #e5e7eb;border-radius:8px;padding:8px;background:#fcfdff;display:flex;flex-direction:column;gap:6px}.arrival-photo-card.is-missing{border-style:dashed;background:#fafafa}.arrival-photo-card>header{display:flex;justify-content:space-between;align-items:center;gap:4px;font-size:12px}.arrival-photo-thumb{width:100%;height:120px;object-fit:cover;border-radius:6px;background:#e5e7eb}.arrival-photo-empty{height:120px;border-radius:6px;background:#f3f4f6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#9ca3af;font-size:11px}.arrival-photo-loading,.arrival-photo-failed{height:120px;display:flex;align-items:center;justify-content:center;gap:4px;color:#9ca3af;font-size:11px;background:#f3f4f6;border-radius:6px}.arrival-photo-card>footer{display:flex;justify-content:flex-start}.arrival-photo-strip{display:flex;gap:6px;overflow-x:auto;padding:2px 0 4px}.arrival-photo-pick{position:relative;flex:0 0 64px;width:64px;height:64px;padding:0;border:2px solid transparent;border-radius:6px;background:#e5e7eb;cursor:pointer;overflow:hidden}.arrival-photo-pick.is-selected{border-color:#2563eb}.arrival-photo-pick .arrival-photo-thumb,.arrival-photo-pick .arrival-photo-loading,.arrival-photo-pick .arrival-photo-failed{width:100%;height:100%;border-radius:0}.arrival-photo-pick .arrival-photo-loading,.arrival-photo-pick .arrival-photo-failed{font-size:10px}.arrival-photo-pick>span{position:absolute;left:2px;bottom:2px;min-width:15px;padding:0 3px;border-radius:999px;background:#111827b8;color:#fff;font-size:10px;line-height:15px;text-align:center}.arrival-photo-evidence{display:flex;flex-direction:column;gap:6px}.arrival-photo-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center;justify-content:flex-start}.arrival-photo-actions .arrival-danger{flex-basis:100%}.arrival-manual-summary{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 6px;margin:4px 0 0;font-size:11px}.arrival-manual-summary>div{display:contents}.arrival-manual-summary dt{color:#6b7280}.arrival-manual-summary dd{margin:0;color:#111827;word-break:break-all}.arrival-history-photos{margin-top:14px;border-top:1px solid #e5e7eb;padding-top:10px}.arrival-history-photos>h4{margin:0 0 6px;font-size:13px;display:flex;align-items:center;gap:4px}.arrival-history-revision{border:1px solid #e5e7eb;border-radius:6px;padding:6px 8px;margin-top:6px}.arrival-history-revision>summary{cursor:pointer;font-size:12px;color:#374151}.arrival-history-revision .arrival-photo-grid{margin-top:8px}.arrival-history-photo{border:1px solid #e5e7eb;border-radius:8px;padding:8px;background:#fafafa;display:flex;flex-direction:column;gap:6px}.arrival-history-photo>header{display:flex;justify-content:space-between;align-items:center;gap:4px;font-size:12px}.arrival-ocr-box{border-top:1px dashed #e5e7eb;padding-top:6px;font-size:11px}.arrival-ocr-head{display:flex;justify-content:space-between;gap:4px;color:#374151}.arrival-ocr-box pre{margin:4px 0;max-height:110px;overflow:auto;white-space:pre-wrap;word-break:break-all;background:#f8fafc;padding:5px;border-radius:4px;font-size:11px}.arrival-confirm-grid{display:flex;flex-direction:column;gap:5px;margin-top:5px}.arrival-confirm-grid label{display:flex;flex-direction:column;gap:2px;font-size:11px}.arrival-confirm-grid .input{padding:4px 6px}.arrival-danger{color:#b91c1c;font-size:11px;margin:3px 0}.arrival-ok{color:#047857;font-size:11px;display:inline-flex;align-items:center;gap:3px}.arrival-list{display:flex;flex-direction:column;gap:6px}.arrival-list-row{display:grid;grid-template-columns:90px minmax(0,1fr) 72px 60px;gap:8px;align-items:center;text-align:left;border:1px solid #e5e7eb;background:#fff;border-radius:7px;padding:8px;cursor:pointer}.arrival-list-row:hover{border-color:#93c5fd;background:#f8fbff}.arrival-list-date{font-size:12px;color:#374151}.arrival-list-main{display:flex;flex-direction:column;gap:2px;min-width:0}.arrival-list-main strong{font-size:13px}.arrival-list-main small{color:#6b7280;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.arrival-empty{padding:22px;text-align:center;color:#6b7280;font-size:13px;display:flex;align-items:center;justify-content:center;gap:6px}.arrival-history{margin-top:14px;border-top:1px solid #e5e7eb;padding-top:10px}.arrival-history h4{margin:0 0 6px;font-size:13px;display:flex;align-items:center;gap:4px}.arrival-history ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}.arrival-history li{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;font-size:12px}.arrival-history li span{color:#4b5563}.arrival-history li small{color:#6b7280}.arrival-member-grid{display:flex;flex-direction:column;gap:5px;max-height:420px;overflow:auto}.arrival-member-row{display:grid;grid-template-columns:minmax(0,1fr) repeat(3,82px);gap:8px;align-items:center;padding:6px 8px;border-bottom:1px solid #f1f5f9;font-size:13px}.arrival-member-row span{display:flex;flex-direction:column}.arrival-member-row small{color:#6b7280;font-size:11px}.arrival-member-row label{display:flex;align-items:center;gap:4px;font-size:12px;color:#374151}.arrival-spin{animation:arrival-spin .9s linear infinite}@keyframes arrival-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 760px){.arrival-form-grid{grid-template-columns:1fr}.arrival-span-2{grid-column:span 1}.arrival-list-row{grid-template-columns:78px minmax(0,1fr)}.arrival-list-row .arrival-status,.arrival-list-row .arrival-muted{display:none}.arrival-member-row{grid-template-columns:1fr}}.ops-nav{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 16px 0}.ops-nav .ops-nav-btn{background:var(--surface);border-color:var(--border);color:var(--text);white-space:normal}.ops-nav .ops-nav-btn:hover{background:#f1f5f9}.ops-nav .ops-nav-active,.ops-nav .ops-nav-active:hover{background:var(--primary);border-color:var(--primary);color:#fff}@media (max-width: 480px){.ops-nav{padding:8px 10px 0;gap:6px}.ops-nav-btn{font-size:12px;padding:4px 8px}}.ops-summary-body{padding:12px 16px 24px;display:flex;flex-direction:column;gap:12px;min-width:0}.ops-summary-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.ops-summary-filters label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-secondary);min-width:140px}.ops-summary-filters .btn{align-self:flex-end}.ops-summary-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px;min-width:0}.ops-summary-table-wrap{overflow:auto;max-height:calc(100vh - 260px);-webkit-overflow-scrolling:touch}.ops-summary-table{--ops-summary-division-w: 96px;min-width:1080px;border-collapse:separate;border-spacing:0}.ops-summary-table th,.ops-summary-table td{padding:6px 8px;border-bottom:1px solid var(--border);background:var(--surface);white-space:nowrap}.ops-summary-table thead th{position:sticky;top:0;z-index:3;height:36px;background:#f1f5f9}.ops-summary-table .ops-summary-th-row-2 th{top:36px}.ops-summary-table .ops-summary-col-division{position:sticky;left:0;z-index:2;min-width:var(--ops-summary-division-w);max-width:var(--ops-summary-division-w);width:var(--ops-summary-division-w);white-space:normal;overflow-wrap:anywhere;background:var(--surface);box-shadow:1px 0 0 var(--border)}.ops-summary-table .ops-summary-col-project{position:sticky;left:var(--ops-summary-division-w);z-index:2;min-width:150px;max-width:220px;background:var(--surface);box-shadow:1px 0 0 var(--border)}.ops-summary-table thead .ops-summary-col-division,.ops-summary-table thead .ops-summary-col-project{z-index:4;background:#f1f5f9}.ops-summary-th-title{display:block;font-weight:600;font-size:13px;color:var(--text)}.ops-summary-th-sub{display:block;font-weight:400;font-size:11px;color:var(--text-secondary)}.ops-summary-th-day{text-align:right}.ops-summary-num{text-align:right;font-variant-numeric:tabular-nums}.ops-summary-notes{max-width:220px;overflow:hidden}.ops-summary-note-line{max-width:220px;overflow:hidden;text-overflow:ellipsis;font-size:12px;color:var(--text-secondary)}.ops-summary-indent{padding-left:28px}.ops-summary-site-row td,.ops-summary-site-row td.ops-summary-col-project,.ops-summary-site-row td.ops-summary-col-division{background:#fbfdff}.ops-summary-total-row td{background:#eef4ff;font-weight:600}.ops-summary-total-row td.ops-summary-col-project,.ops-summary-total-row td.ops-summary-col-division{background:#eef4ff}.ops-summary-expand{display:inline-flex;align-items:center;border:none;background:none;padding:0 4px 0 0;color:var(--text-secondary);vertical-align:middle}.ops-summary-manual{color:#1e3a8a;font-weight:600}.ops-summary-incomplete{background:#fff7ed}.ops-summary-cell-input{width:84px;padding:3px 6px;font-size:12px;text-align:right}.ops-summary-legend{display:flex;flex-wrap:wrap;gap:14px;padding:8px 4px 2px;font-size:12px;color:var(--text-secondary)}.ops-summary-legend i{display:inline-block;width:10px;height:10px;margin-right:4px;border-radius:2px}.ops-summary-legend-manual{background:#1e3a8a}.ops-summary-legend-incomplete{background:#fff7ed;border:1px solid var(--warning)}.ops-divisions-body{padding:12px 16px 24px;display:flex;flex-direction:column;gap:12px;min-width:0}.ops-divisions-panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px}.ops-divisions-panel h4{margin:0 0 8px;font-size:14px}.ops-divisions-create{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.ops-divisions-create .input{width:240px}.ops-divisions-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.ops-division-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--border);border-radius:14px;background:#f8fafc;font-size:13px}.ops-division-chip .btn{padding:2px 6px;font-size:12px}.ops-division-chip-edit{flex-wrap:wrap;border-radius:10px}.ops-division-chip-edit .input{width:180px}.ops-divisions-table select{min-width:160px}.ops-divisions-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.ops-divisions-hint{font-size:12px;color:var(--text-secondary);margin:4px 0 0}@media (max-width: 480px){.ops-summary-body,.ops-divisions-body{padding:8px 10px 16px}.ops-summary-filters label{min-width:120px;flex:1 1 40%}.ops-summary-table{min-width:960px;--ops-summary-division-w: 80px}.ops-summary-table .ops-summary-col-project{min-width:120px}.ops-divisions-create .input{width:100%}}.modal.bm-collection-modal{max-width:860px}.collection-ledger{min-width:0;font-size:13px}.collection-ledger-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;margin:8px 0}.collection-ledger h5{margin:0;font-size:13px;font-weight:600;overflow-wrap:anywhere}.collection-ledger h5 span{display:inline-block;margin-left:10px;color:var(--text-secondary);font-size:12px;font-weight:400}.collection-ledger-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.collection-ledger .btn{min-height:32px}.collection-ledger .collection-ledger-icon{width:32px;height:32px;padding:0;justify-content:center;flex-shrink:0}.collection-ledger-state,.collection-ledger-warning,.collection-ledger-error{display:flex;align-items:center;gap:8px;padding:10px 0;overflow-wrap:anywhere}.collection-ledger-state{color:var(--text-secondary)}.collection-ledger-error{color:#b42318;flex-wrap:wrap}.collection-ledger-error span{flex:1 1 180px;min-width:0}.collection-ledger-error svg,.collection-ledger-warning svg,.collection-ledger-state svg{flex-shrink:0}.collection-ledger-warning,.collection-ledger-issues{color:#946200}.collection-ledger-issues{padding-left:20px;margin:0 0 10px;line-height:1.6;overflow-wrap:anywhere}.collection-ledger-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 18px;margin:0 0 14px;padding:12px 0;border-block:1px solid var(--border)}.collection-ledger-totals>div{min-width:0}.collection-ledger-totals dt{color:var(--text-secondary);margin-bottom:5px;font-size:12px}.collection-ledger-totals dd{margin:0;font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.collection-ledger-pending dd{color:#b42318}.collection-ledger-contracts h5{margin-bottom:8px}.collection-ledger-scroll{max-width:100%;max-height:340px;overflow:auto;border-block:1px solid var(--border)}.collection-ledger-scroll:focus-visible{outline:2px solid var(--primary, #2563eb);outline-offset:2px}.collection-ledger-table{border-collapse:collapse;width:100%;min-width:720px;font-size:12px}.collection-ledger-table th,.collection-ledger-table td{padding:9px 10px;border-bottom:1px solid var(--border);vertical-align:middle;text-align:left}.collection-ledger-table thead th{position:sticky;top:0;z-index:1;background:var(--surface, #fff);color:var(--text-secondary);font-weight:500;white-space:nowrap}.collection-ledger-table tbody th{min-width:130px;max-width:220px;overflow-wrap:anywhere;font-weight:500}.collection-ledger-table td{white-space:nowrap}.collection-ledger-table th:nth-child(n+4),.collection-ledger-table td:nth-child(n+4){text-align:right;font-variant-numeric:tabular-nums}.collection-ledger-current{background:#f0f7f3}.collection-ledger-archive{display:flex;flex-wrap:wrap;gap:6px 12px;color:var(--text-secondary);font-size:12px;padding:8px 0 12px}.collection-ledger .bm-plan-head{gap:8px}.collection-ledger .bm-plan-amounts{display:flex;gap:4px 14px;flex-wrap:wrap;min-width:0;white-space:normal}.collection-ledger .bm-plan-amounts>span{overflow-wrap:anywhere}.collection-ledger-note{border-top:1px solid var(--border);margin-top:12px;padding-top:8px}.collection-ledger-note-meta{display:flex;flex-wrap:wrap;gap:4px 16px;margin-bottom:8px;font-size:12px;color:var(--text-secondary);overflow-wrap:anywhere}.collection-ledger-note-content,.collection-ledger-conflict p{margin:6px 0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.collection-ledger .collection-ledger-textarea{display:block;min-height:120px;resize:vertical;font:inherit;line-height:1.6}.collection-ledger-note-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:8px}.collection-ledger-note-count{color:var(--text-secondary);font-size:12px;font-variant-numeric:tabular-nums}.collection-ledger-conflict{border-left:3px solid #d4a72c;padding-left:10px;margin:10px 0}.collection-ledger-spin{animation:collection-ledger-spin 1s linear infinite}@keyframes collection-ledger-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.collection-ledger-spin{animation:none}}@media (max-width: 600px){.bm-business-management .bm-top{height:auto;flex-basis:auto;flex-wrap:wrap;padding-block:8px;gap:8px}.bm-business-management .bm-brand{flex-basis:100%}.bm-business-management .bm-user{width:100%;flex-wrap:wrap}.bm-business-management .sync-status-control{flex-direction:row;align-items:center;margin-right:auto}.bm-business-management .sync-last-time{display:none}.bm-business-management .sync-update-btn{white-space:nowrap}.collection-ledger-totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.collection-ledger .bm-plan-amounts{flex:1 1 100%}.collection-ledger-scroll{max-height:280px}}.mcr-page{min-width:0;font-size:13px}.mcr-page h5{margin:0;font-size:13px;font-weight:600;overflow-wrap:anywhere}.mcr-toolbar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin-bottom:12px}.mcr-field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-secondary);min-width:0}.mcr-field .input,.mcr-field select{min-width:120px}.mcr-toolbar-end{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mcr-disabled-banner{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;margin-bottom:12px;border:1px solid var(--border);border-radius:8px;background:#f8fafc;color:var(--text-secondary);overflow-wrap:anywhere}.mcr-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 18px;margin:0 0 14px;padding:12px 0;border-block:1px solid var(--border)}.mcr-summary>div{min-width:0}.mcr-summary dt{color:var(--text-secondary);margin-bottom:5px;font-size:12px}.mcr-summary dd{margin:0;font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.mcr-summary .mcr-unallocated dd{color:#b45309}.mcr-summary-hint{grid-column:1 / -1;color:var(--text-secondary);font-size:12px;margin:-6px 0 0;overflow-wrap:anywhere}.mcr-scroll{max-width:100%;max-height:460px;overflow:auto;border-block:1px solid var(--border)}.mcr-scroll:focus-visible{outline:2px solid var(--primary, #2563eb);outline-offset:-2px}.mcr-table{border-collapse:collapse;width:100%;min-width:880px;font-size:12px}.mcr-table th,.mcr-table td{padding:9px 10px;border-bottom:1px solid var(--border);vertical-align:middle;text-align:left}.mcr-table thead th{position:sticky;top:0;z-index:1;background:var(--surface, #fff);color:var(--text-secondary);font-weight:500;white-space:nowrap}.mcr-table tbody th{font-weight:500;max-width:220px;overflow-wrap:anywhere}.mcr-table td{white-space:nowrap}.mcr-table .mcr-num{text-align:right;font-variant-numeric:tabular-nums}.mcr-table thead th.mcr-num,.mcr-actions-cell{text-align:right}.mcr-row-actions{display:flex;gap:6px;flex-wrap:nowrap;justify-content:flex-end}.mcr-row-actions .btn{white-space:nowrap;flex:0 0 auto}.mcr-name-cell{min-width:130px;max-width:240px}.mcr-status-tag{display:inline-block;padding:1px 8px;border-radius:10px;font-size:11px;line-height:1.7;background:#eef2ff;color:#3730a3;white-space:nowrap}.mcr-status-tag.mcr-confirmed{background:#ecfdf5;color:#065f46}.mcr-status-tag.mcr-partial{background:#fffbeb;color:#92400e}.mcr-status-tag.mcr-reference{background:#f1f5f9;color:#475569}.mcr-derived-row{background:#fafaff}.mcr-derived-tag,.mcr-family-tag{display:inline-block;padding:1px 8px;border-radius:10px;font-size:11px;line-height:1.7;background:#eef2ff;color:#3730a3;white-space:nowrap}.mcr-family-tag{margin-left:6px}.mcr-origin{color:var(--text-secondary)}.mcr-manual-amount{color:#1d4ed8;font-weight:600}.mcr-warn{color:#b45309}.mcr-state{display:flex;align-items:center;gap:8px;padding:10px 0;color:var(--text-secondary);overflow-wrap:anywhere}.mcr-error{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 0;color:#b42318;overflow-wrap:anywhere}.mcr-error span{flex:1 1 180px;min-width:0}.mcr-error svg,.mcr-state svg,.mcr-warning svg{flex-shrink:0}.mcr-warning{display:flex;align-items:center;gap:8px;padding:6px 0;color:#946200;overflow-wrap:anywhere}.mcr-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding:10px 0;font-size:12px;color:var(--text-secondary)}.mcr-pagination .mcr-page-info{font-variant-numeric:tabular-nums}.mcr-spin{animation:mcr-spin 1s linear infinite}@keyframes mcr-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.mcr-spin{animation:none}}.mcr-modal{width:min(920px,calc(100vw - 24px));min-width:0;max-width:920px}.mcr-modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;flex-wrap:wrap}.mcr-modal-head h3{font-size:16px;min-width:0;margin:0;overflow-wrap:anywhere}.mcr-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;flex-wrap:wrap}.mcr-modal-actions .mcr-spacer{margin-right:auto}.mcr-receipt-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 16px;padding:10px 12px;margin-bottom:12px;background:#f8fafc;border:1px solid var(--border);border-radius:8px}.mcr-receipt-totals>div{min-width:0}.mcr-receipt-totals dt{color:var(--text-secondary);font-size:12px;margin-bottom:3px}.mcr-receipt-totals dd{margin:0;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.mcr-section{border-top:1px solid var(--border);padding-top:10px;margin-top:4px}.mcr-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;flex-wrap:wrap}.mcr-section-head h4{font-size:14px;margin:0}.mcr-muted{font-size:12px;color:var(--text-secondary);line-height:1.5;overflow-wrap:anywhere}.mcr-ro-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px 14px;padding:10px 12px;background:#f8fafc;border:1px solid var(--border);border-radius:8px;margin-bottom:10px}.mcr-ro-field{display:flex;gap:6px;font-size:13px;min-width:0}.mcr-ro-field span{color:var(--text-secondary);flex:0 0 auto}.mcr-ro-field strong{font-weight:600;font-variant-numeric:tabular-nums;word-break:break-all}.mcr-manual-badge{display:inline-block;font-style:normal;font-size:11px;color:#1d4ed8;border:1px solid #93b4f5;background:#eef4ff;border-radius:4px;padding:0 4px;margin-left:4px;vertical-align:1px;cursor:help}.mcr-manual-amount-hover{color:#1d4ed8;font-weight:600;border-bottom:1px dashed #93b4f5;cursor:help}.mcr-alloc-list{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.mcr-alloc-row{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.mcr-alloc-row .input,.mcr-alloc-row select{min-width:0}.mcr-alloc-select{flex:1 1 260px}.mcr-alloc-amount{flex:0 0 160px;font-variant-numeric:tabular-nums}.mcr-alloc-row-remove{flex:0 0 auto;width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center}.mcr-alloc-settled-tag{flex:0 0 auto;font-size:11px;color:#92400e;white-space:nowrap}.mcr-alloc-max-hint{flex:0 0 auto;font-size:11px;color:var(--text-secondary);white-space:nowrap}.mcr-alloc-add{margin-bottom:8px}.mcr-alloc-preview{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--text-secondary);padding:6px 0}.mcr-alloc-preview strong{font-variant-numeric:tabular-nums;color:inherit}.mcr-alloc-error{color:#b42318}.mcr-legacy-box{border:1px solid #fcd34d;background:#fffbeb;border-radius:8px;padding:10px 12px;margin-bottom:10px}.mcr-legacy-box h4{margin:0 0 6px;font-size:13px;color:#92400e}.mcr-legacy-options{display:flex;flex-direction:column;gap:6px}.mcr-legacy-options label{display:flex;gap:6px;align-items:flex-start;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.mcr-legacy-options input{margin-top:3px;flex:0 0 auto}.mcr-hist-tag{display:inline-block;font-size:11px;color:#92400e;border:1px solid #fcd34d;background:#fffbeb;border-radius:4px;padding:0 4px;margin-left:4px;vertical-align:1px;white-space:nowrap}.mcr-hist-banner{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;margin:6px 0 10px;border:1px solid #93b4f5;background:#eef4ff;border-radius:8px;color:#1e3a8a;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.mcr-hist-confirm{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.6;margin:8px 0;padding:8px 10px;border:1px solid #fcd34d;background:#fffbeb;border-radius:8px;overflow-wrap:anywhere}.mcr-hist-confirm input{margin-top:3px;flex:0 0 auto}.mcr-hist-dup-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.mcr-hist-candidates{display:flex;flex-direction:column;gap:8px}.mcr-hist-candidates .mcr-table{font-size:12px}.mcr-hist-modal{width:min(980px,calc(100vw - 24px));max-width:none}.mcr-history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.mcr-history li{border-left:3px solid var(--border);padding:4px 8px;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.mcr-history li .mcr-history-meta{color:var(--text-secondary)}.mcr-history li .mcr-history-amount{font-variant-numeric:tabular-nums;font-weight:600}.mcr-reason-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.mcr-entry-modal{width:min(1180px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 32px);overflow:auto}.mcr-textarea{display:block;min-height:80px;resize:vertical;font:inherit;line-height:1.6}.mcr-source-warn{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;margin:6px 0;border:1px solid #fcd34d;background:#fffbeb;border-radius:8px;color:#92400e;font-size:12px;overflow-wrap:anywhere}@media (max-width: 600px){.mcr-summary,.mcr-receipt-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.mcr-toolbar-end{margin-left:0;width:100%;justify-content:flex-end}.mcr-alloc-row{flex-wrap:wrap}.mcr-alloc-select{flex:1 1 100%}.mcr-alloc-amount{flex:1 1 120px}.mcr-scroll{max-height:320px}.mcr-pagination{justify-content:flex-start}}.project-excel-modal{width:min(980px,96vw);max-height:90vh;overflow:auto}.project-excel-note{margin:8px 0 14px;line-height:1.6}.project-excel-picker{margin-bottom:10px}.project-excel-meta{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13px;color:var(--muted);margin-bottom:10px}.project-excel-counts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.project-excel-count{padding:4px 10px;border-radius:999px;font-size:13px;border:1px solid var(--border);background:var(--surface)}.project-excel-count.is-create{color:#0f766e;border-color:#99f6e4;background:#f0fdfa}.project-excel-count.is-update{color:#1d4ed8;border-color:#bfdbfe;background:#eff6ff}.project-excel-count.is-unchanged{color:var(--muted)}.project-excel-count.is-omitted{color:#92400e;border-color:#fde68a;background:#fffbeb}.project-excel-change-scroll,.project-excel-error-scroll{max-height:42vh;overflow:auto;border:1px solid var(--border);border-radius:8px;margin-bottom:12px}.project-excel-change-table,.project-excel-error-table{margin:0}.project-excel-change-list{margin:0;padding-left:18px;line-height:1.6}.project-excel-errors{margin:10px 0 14px}.project-excel-errors>strong{display:block;margin-bottom:8px;color:var(--danger)}.project-excel-result{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 14px;margin:12px 0;border-radius:8px;background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.bm-ledger-table .bm-ledger-sort{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;font-weight:inherit;line-height:1.5;white-space:nowrap;cursor:pointer}.bm-ledger-table .bm-ledger-sort:hover{color:var(--text)}.bm-ledger-table .bm-ledger-sort:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}.bm-ledger-table .bm-ledger-sort-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 13px;width:13px;height:13px}.bm-ledger-table th[aria-sort=ascending] .bm-ledger-sort,.bm-ledger-table th[aria-sort=descending] .bm-ledger-sort{color:var(--text);font-weight:600}.bm-ledger-table th.bm-num .bm-ledger-sort{justify-content:flex-end}.pq-panel{min-width:0;max-width:100%}.pq-shortcuts{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px}.pq-shortcuts-label{font-size:12px;color:var(--text-secondary);margin-right:2px}.pq-shortcut{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:500;color:var(--text-secondary);border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:4px 12px;white-space:nowrap}.pq-shortcut:hover{background:#f1f5f9;color:var(--text)}.pq-shortcut.active{background:var(--primary);border-color:var(--primary);color:#fff}.pq-shortcut:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.pq-toolbar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:10px}.pq-field{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-secondary);min-width:0}.pq-field>span:first-child{font-size:12px}.pq-field .input{min-width:170px}.pq-field-grow{flex:1 1 240px}.pq-field-grow .input{width:100%;min-width:0}.pq-toolbar-end{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pq-count{font-size:12px;color:var(--text-secondary);padding:2px 4px 8px}.pq-empty{padding:18px 10px;color:var(--text-secondary);text-align:center;font-size:13px}.pq-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden}.pq-scroll{max-width:100%;max-height:min(64vh,680px);overflow:auto;scrollbar-gutter:stable both-edges;overscroll-behavior:contain}.pq-scroll:focus-visible{outline:2px solid #2563eb;outline-offset:-2px}.pq-table{width:100%;min-width:1040px;border-collapse:collapse}.pq-table th{font-size:12px;color:var(--text-secondary);white-space:nowrap;padding:8px 10px;text-align:left}.pq-table td{padding:8px 10px;border-top:1px solid var(--border);font-size:13px}.pq-scroll .pq-table thead th{position:sticky;top:0;z-index:3;background:#f8fafc;box-shadow:inset 0 -1px 0 var(--border)}.pq-td-name{font-weight:600}.pq-link-project{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:0;font:inherit;color:#2563eb;cursor:pointer;text-align:left;text-decoration:underline;text-decoration-color:#bfdbfe;text-underline-offset:2px}.pq-link-project:hover{color:#1d4ed8;text-decoration-color:currentColor}.pq-link-project:focus-visible{outline:2px solid #2563eb;outline-offset:2px;border-radius:2px}.pq-split-tag{display:inline-block;font-style:normal;font-size:11px;color:var(--text-secondary);border:1px solid var(--border);border-radius:4px;padding:0 4px;margin-left:6px;vertical-align:1px}.pq-nowrap{white-space:nowrap}.pq-badge-no-extension{background:#e2e8f0;color:var(--text-secondary)}@media (max-width: 720px){.pq-field,.pq-field-grow{flex:1 1 100%}.pq-field .input,.pq-field-grow .input{width:100%;min-width:0}.pq-toolbar-end{margin-left:0;width:100%;justify-content:flex-end}.pq-shortcuts-label{width:100%}}.procurement-insights{min-width:0}.procurement-insights-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.procurement-insights-heading h1{font-size:18px;margin:0 0 4px}.procurement-insights-heading p{color:var(--text-secondary);font-size:13px;margin:0;max-width:760px}.procurement-insights-sync{color:var(--text-secondary);font-size:12px;white-space:nowrap}.procurement-insights-source{display:flex;flex-wrap:wrap;gap:8px 20px;padding:10px 12px;margin-bottom:12px;border:1px solid var(--border);border-radius:8px;background:#f8fafc;color:var(--text-secondary);font-size:12px}.procurement-insights-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:12px}.procurement-insights-filters label{display:flex;flex:1 1 140px;flex-direction:column;gap:4px;min-width:0;color:var(--text-secondary);font-size:12px}.procurement-insights-filters label:nth-child(2){flex-basis:200px}.procurement-insights-filters .btn{min-height:36px}.procurement-insights-error{display:flex;align-items:center;gap:8px;margin-bottom:10px}.procurement-insights-period{color:var(--text-secondary);font-size:13px;margin:0 0 10px}.procurement-insights-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:12px}.procurement-insights-card{border:1px solid var(--border);border-radius:8px;padding:10px 12px;min-width:0}.procurement-insights-card span{display:block;color:var(--text-secondary);font-size:12px;margin-bottom:4px}.procurement-insights-card strong{display:block;font-size:14px;font-weight:600;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.procurement-insights-subtitle{font-size:15px;margin:14px 0 8px}.procurement-insights-table-wrap{max-width:100%;max-height:min(520px,70vh);overflow:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:8px}.procurement-tabs{display:flex;gap:16px;border-bottom:1px solid var(--border);margin-bottom:18px;overflow-x:auto}.procurement-tabs button{flex:0 0 auto;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-secondary);padding:10px 4px;cursor:pointer;font:inherit}.procurement-tabs button.is-active{border-bottom-color:#087f6d;color:var(--text);font-weight:600}.procurement-tabs button:focus-visible{outline:2px solid #087f6d;outline-offset:-2px}.procurement-insights-groups-wrap{max-height:320px}.procurement-insights-table{min-width:1680px;font-size:12px}.procurement-insights-groups-table{min-width:860px}.procurement-insights-table th{position:sticky;top:0;z-index:1;background:#f8fafc}.procurement-insights-table td{vertical-align:top}.modal.procurement-insights-drill,.modal.procurement-insights-detail{min-width:0;max-width:calc(100vw - 24px);box-sizing:border-box}.procurement-insights-drill .ops-icon-btn,.procurement-insights-detail .ops-icon-btn{color:var(--text);background:#fff;border:1px solid var(--border);flex:0 0 34px}.procurement-insights-drill .ops-icon-btn:hover,.procurement-insights-detail .ops-icon-btn:hover{background:#f1f5f9}.procurement-insights-table small{display:block;color:var(--text-secondary);font-size:11px}.procurement-insights-note{min-width:120px;max-width:220px;white-space:normal;overflow-wrap:anywhere}.procurement-insights-row{cursor:pointer}.procurement-insights-row:hover td{background:#f0fdfa}.procurement-insights-group-row{cursor:pointer}.procurement-insights-group-row:hover td{background:#f0fdfa}.procurement-insights-cancelled{color:#b42318;font-weight:600}.procurement-insights-hint{color:var(--text-secondary);font-size:12px;margin:8px 0 0}.procurement-insights-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;color:var(--text-secondary);font-size:12px}.procurement-insights-footer>div{display:flex;gap:6px}.procurement-insights-coverage{margin-top:4px}.procurement-insights-coverage ul{margin:0;padding-left:18px;color:var(--text-secondary);font-size:13px;display:grid;gap:6px}.procurement-insights-drill{width:min(1120px,calc(100vw - 24px));min-width:0;max-height:calc(100vh - 48px);display:flex;flex-direction:column}.procurement-insights-drill .procurement-insights-table-wrap{flex:1 1 auto;min-height:0}.procurement-insights-detail{width:min(560px,calc(100vw - 24px));min-width:0}.procurement-insights-detail-list{margin:12px 0 4px;display:grid;gap:6px 12px;font-size:13px}.procurement-insights-detail-item{display:grid;grid-template-columns:96px 1fr;gap:8px}.procurement-insights-detail-list dt{color:var(--text-secondary)}.procurement-insights-detail-list dd{margin:0;overflow-wrap:anywhere}.procurement-process{min-width:0}.procurement-process-steps{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:10px;counter-reset:proc-step}.procurement-process-steps li{display:grid;grid-template-columns:120px 1fr;gap:10px;border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:13px;min-width:0}.procurement-process-steps strong{font-size:13px}.procurement-process-steps span{color:var(--text-secondary);overflow-wrap:anywhere}.procurement-process-notes{margin:0;padding-left:18px;color:var(--text-secondary);font-size:13px;display:grid;gap:8px;max-width:860px}@media (max-width: 720px){.procurement-insights-heading{flex-direction:column;gap:4px}.procurement-insights-sync{white-space:normal}.procurement-insights-filters label,.procurement-insights-filters label:nth-child(2){flex-basis:100%}.procurement-insights-filters .btn{width:100%}.procurement-process-steps li{grid-template-columns:1fr;gap:4px}}.procurement-projects{min-width:0}.procurement-projects-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.procurement-projects-heading h1{font-size:18px;margin:0 0 4px}.procurement-projects-heading p{color:var(--text-secondary);font-size:13px;margin:0;max-width:720px}.procurement-projects-sync{color:var(--text-secondary);font-size:12px;white-space:nowrap}.procurement-projects-summary{display:flex;flex-wrap:wrap;gap:20px;padding:0 0 12px;font-size:13px;color:var(--text-secondary)}.procurement-projects-summary strong{margin-left:6px;font-variant-numeric:tabular-nums}.procurement-projects-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:10px}.procurement-projects-filters label{display:flex;flex:1 1 180px;flex-direction:column;gap:4px;min-width:0;color:var(--text-secondary);font-size:12px}.procurement-projects-filters .btn{min-height:36px}.procurement-projects-create{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:10px;padding:10px 12px;border:1px dashed var(--border);border-radius:8px}.procurement-projects-create label{display:flex;flex:1 1 220px;flex-direction:column;gap:4px;min-width:0;color:var(--text-secondary);font-size:12px}.procurement-projects-batch{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:10px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#f8fafc}.procurement-projects-batch>span{font-size:13px;color:var(--text-secondary);align-self:center}.procurement-projects-batch label{display:flex;flex:1 1 160px;flex-direction:column;gap:4px;min-width:0;color:var(--text-secondary);font-size:12px}.procurement-projects-error{display:flex;align-items:center;gap:8px;margin-bottom:10px}.procurement-projects-table-wrap{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:8px}.procurement-projects-table{min-width:1380px;font-size:12px}.procurement-projects-table th{position:sticky;top:0;z-index:1;background:#f8fafc}.procurement-projects-table td{vertical-align:top}.procurement-projects-table small{display:block;color:var(--text-secondary);font-size:11px}.procurement-projects-check{width:34px}.procurement-projects-manual{color:#1e3a8a;font-weight:600}.procurement-projects-warn{color:#b42318;font-weight:600}.procurement-projects-actions{display:flex;flex-wrap:wrap;gap:6px}.procurement-projects-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;color:var(--text-secondary);font-size:12px}.procurement-projects-footer>div{display:flex;gap:6px}.procurement-projects-readonly{color:var(--text-secondary);font-size:12px}.modal.procurement-projects-dialog{width:min(640px,calc(100vw - 24px));max-width:calc(100vw - 24px);min-width:0;max-height:calc(100vh - 48px);overflow-y:auto}.procurement-projects-field{display:flex;flex-direction:column;gap:5px;margin:12px 0;color:var(--text-secondary);font-size:12px}.procurement-projects-detail-list{margin:12px 0 4px;display:grid;gap:8px 12px;font-size:13px}.procurement-projects-detail-list>div{display:grid;grid-template-columns:96px 1fr;gap:8px}.procurement-projects-detail-list dt{color:var(--text-secondary)}.procurement-projects-detail-list dd{margin:0;overflow-wrap:anywhere}.procurement-projects-detail-list small{display:block;color:var(--text-secondary);font-size:11px}@media (max-width: 720px){.procurement-projects-heading{flex-direction:column;gap:4px}.procurement-projects-sync{white-space:normal}.procurement-projects-filters label{flex-basis:100%}.procurement-projects-filters .btn{width:100%}.procurement-projects-create label,.procurement-projects-batch label{flex-basis:100%}.procurement-projects-create .btn,.procurement-projects-batch .btn{width:100%}}.procurement-construction{min-width:0}.procurement-construction-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.procurement-construction-heading h1{font-size:18px;margin:0 0 4px}.procurement-construction-heading p{color:var(--text-secondary);font-size:13px;margin:0;max-width:760px}.procurement-construction-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:12px}.procurement-construction-filters label{display:flex;flex:1 1 200px;flex-direction:column;gap:4px;min-width:0;color:var(--text-secondary);font-size:12px}.procurement-construction-filters .btn{min-height:36px}.procurement-construction-error{display:flex;align-items:center;gap:8px;margin-bottom:10px}.procurement-construction-table-wrap{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:8px}.procurement-construction-table{min-width:1200px;font-size:12px}.procurement-construction-list-table{min-width:1080px}.procurement-construction-groups-table{min-width:760px}.procurement-construction-table th{position:sticky;top:0;z-index:1;background:#f8fafc}.procurement-construction-table td{vertical-align:top}.procurement-construction-table small{display:block;color:var(--text-secondary);font-size:11px}.procurement-construction-warn{color:#b42318;font-weight:600}.procurement-construction-unavailable{color:var(--text-secondary);font-size:12px}.procurement-construction-matching{padding:8px 12px;margin-bottom:12px;border:1px solid var(--border);border-radius:8px;background:#f8fafc;color:var(--text-secondary);font-size:12px}.procurement-construction-global{display:grid;gap:4px;padding:8px 12px;margin-bottom:12px;border:1px dashed var(--border);border-radius:8px;color:var(--text-secondary);font-size:12px}.procurement-construction-note{min-width:160px;max-width:260px;white-space:normal;overflow-wrap:anywhere}.procurement-construction-coverage{margin-top:4px}.procurement-construction-coverage ul{margin:0 0 8px;padding-left:18px;color:var(--text-secondary);font-size:12px;display:grid;gap:6px}.procurement-construction-cancelled{color:#b42318;font-weight:600}.procurement-construction-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;color:var(--text-secondary);font-size:12px}.procurement-construction-footer>div{display:flex;gap:6px}.modal.procurement-construction-dialog{width:min(1080px,calc(100vw - 24px));max-width:calc(100vw - 24px);min-width:0;max-height:calc(100vh - 48px);overflow-y:auto}.procurement-construction-detail-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:12px}.procurement-construction-detail-filters label{display:flex;flex:1 1 140px;flex-direction:column;gap:4px;min-width:0;color:var(--text-secondary);font-size:12px}.procurement-construction-detail-filters .btn{min-height:36px}.procurement-construction-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:12px}.procurement-construction-card{border:1px solid var(--border);border-radius:8px;padding:10px 12px;min-width:0}.procurement-construction-card span{display:block;color:var(--text-secondary);font-size:12px;margin-bottom:4px}.procurement-construction-card strong{display:block;font-size:14px;font-weight:600;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.procurement-construction-groups{margin-bottom:12px}.procurement-construction-groups-title{font-size:14px;margin:12px 0 8px}@media (max-width: 720px){.procurement-construction-heading{flex-direction:column;gap:4px}.procurement-construction-filters label{flex-basis:100%}.procurement-construction-filters .btn{width:100%}.procurement-construction-detail-filters label{flex-basis:100%}.procurement-construction-detail-filters .btn{width:100%}}.proc-ops{display:flex;flex-direction:column;gap:12px;min-width:0}.proc-ops-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.proc-ops-heading h1{margin:0 0 4px;font-size:20px}.proc-ops-heading p{margin:0;max-width:900px;color:#4b5563;font-size:13px;line-height:1.55}.proc-ops-source{color:#6b7280;font-size:12px;white-space:nowrap}.proc-ops-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.proc-ops-card{border:1px solid #e5e7eb;border-radius:8px;background:#fff;padding:10px 12px;min-width:0}.proc-ops-card span{display:block;color:#6b7280;font-size:12px}.proc-ops-card strong{display:block;margin-top:2px;font-size:18px;color:#111827}.proc-ops-card-warn{background:#fffaf0;border-color:#fcd9a4}.proc-ops-filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:8px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.proc-ops-filters label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#4b5563;min-width:150px}.proc-ops-filters label:nth-child(3){flex:1 1 220px}.proc-ops-filters .input{min-height:32px}.proc-ops-error{margin:0}.proc-ops-table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.proc-ops-table{width:100%;min-width:1080px;border-collapse:collapse;font-size:12.5px}.proc-ops-table th,.proc-ops-table td{padding:8px 9px;border-bottom:1px solid #f0f1f3;text-align:left;vertical-align:top}.proc-ops-table th{position:sticky;top:0;z-index:1;background:#f8fafc;color:#374151;font-weight:600;white-space:nowrap}.proc-ops-table tbody tr:hover{background:#fafcff}.proc-ops-table tbody tr.is-open{background:#f7fbff}.proc-ops-project{border:0;background:transparent;padding:0;color:#0f5b9e;font:inherit;font-weight:600;text-align:left;cursor:pointer}.proc-ops-project small,.proc-ops-number small{display:block;margin-top:2px;color:#6b7280;font-weight:400}.proc-ops-number{white-space:nowrap;font-variant-numeric:tabular-nums}.proc-ops-note{max-width:280px;line-height:1.45;word-break:break-word}.proc-ops-muted{color:#9ca3af}.proc-ops-amount{display:flex;flex-direction:column;gap:2px;min-width:150px;font-variant-numeric:tabular-nums;line-height:1.4}.proc-ops-tag,.proc-ops-warehouse{display:inline-block;border-radius:6px;padding:1px 6px;font-size:11.5px;line-height:1.6;background:#eef6ff;color:#0f5b9e;white-space:nowrap}.proc-ops-status{display:inline-block;border-radius:6px;padding:1px 7px;font-size:11.5px;line-height:1.7;white-space:nowrap;background:#f3f4f6;color:#374151}.proc-ops-status-auto{background:#ecfdf5;color:#047857}.proc-ops-status-confirmed{background:#eff6ff;color:#1d4ed8}.proc-ops-status-pending,.proc-ops-status-target_catalog_missing{background:#fff7ed;color:#b45309}.proc-ops-status-stale,.proc-ops-status-source_conflict,.proc-ops-status-invalid{background:#fef2f2;color:#b91c1c}.proc-ops-status-list{display:flex;flex-direction:column;gap:3px}.proc-ops-status-item{display:inline-flex;align-items:center;gap:4px;color:#4b5563;white-space:nowrap}.proc-ops-candidates{margin:0;padding-left:16px;display:flex;flex-direction:column;gap:2px}.proc-ops-candidates span{color:#6b7280}.proc-ops-detail-row>td{background:#fbfdff;padding:0}.proc-ops-detail{display:flex;flex-direction:column;gap:12px;padding:12px}.proc-ops-detail h4{display:flex;align-items:center;gap:6px;margin:0 0 6px;font-size:13px}.proc-ops-doc{border:1px solid #eef0f3;border-radius:8px;margin-bottom:8px;overflow:hidden}.proc-ops-doc-head{display:flex;flex-wrap:wrap;gap:10px;padding:7px 9px;background:#f8fafc;font-size:12px;color:#4b5563}.proc-ops-detail-table{width:100%;min-width:760px;border-collapse:collapse;font-size:12px}.proc-ops-detail-table th,.proc-ops-detail-table td{padding:6px 8px;border-top:1px solid #f0f1f3;text-align:left;vertical-align:top}.proc-ops-detail-table th{background:#fff;color:#6b7280;font-weight:600;white-space:nowrap}.proc-ops-notes{margin:0;padding-left:16px;display:flex;flex-direction:column;gap:6px}.proc-ops-note-text{white-space:pre-wrap;word-break:break-word}.proc-ops-note-meta{color:#6b7280;font-size:11.5px}.proc-ops-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;color:#4b5563;font-size:12px}.proc-ops-footer>div{display:flex;gap:6px}.proc-ops-hint{margin:0;color:#6b7280;font-size:12px;line-height:1.5}.proc-ops-empty{text-align:center;color:#6b7280;padding:18px 10px}.proc-ops-expand{white-space:nowrap}@media (max-width: 720px){.proc-ops-heading h1{font-size:18px}.proc-ops-source{white-space:normal}.proc-ops-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.proc-ops-filters{align-items:stretch}.proc-ops-filters label,.proc-ops-filters label:nth-child(3){flex:1 1 100%;min-width:0}.proc-ops-filters .btn{flex:1 1 auto}.proc-ops-table{min-width:980px}}@media (max-width: 420px){.proc-ops-cards{grid-template-columns:1fr 1fr}.proc-ops-card{padding:8px 10px}.proc-ops-card strong{font-size:16px}.proc-ops-detail{padding:8px}}.pa{display:flex;flex-direction:column;gap:14px;min-width:0}.pa-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.pa-heading h2{margin:0 0 4px;font-size:20px}.pa-heading p{margin:0;color:#5c6b7a;font-size:13px}.pa-source{color:#6b7a89;font-size:12px;white-space:nowrap}.pa-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.pa-card{background:#fff;border:1px solid #dfe6ee;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}.pa-card span{color:#6b7a89;font-size:12px}.pa-card strong{font-size:20px}.pa-card-warn{border-color:#f0c27a;background:#fffaf0}.pa-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;background:#fff;border:1px solid #dfe6ee;border-radius:10px;padding:12px}.pa-filters label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#5c6b7a;min-width:150px}.pa-filter-actions{display:flex;gap:8px;margin-left:auto}.pa-error{margin:0}.pa-warning{background:#fff7e6;border:1px solid #f0c27a;color:#7a5200;border-radius:8px;padding:8px 10px;font-size:13px}.pa-table-wrap{overflow:auto;background:#fff;border:1px solid #dfe6ee;border-radius:10px;max-width:100%}.pa-table{border-collapse:collapse;min-width:1280px;width:100%;font-size:13px}.pa-table th,.pa-table td{border-bottom:1px solid #edf1f5;padding:8px 10px;text-align:left;vertical-align:top}.pa-table thead th{position:sticky;top:0;background:#f6f9fc;z-index:1;white-space:nowrap}.pa-table tbody tr:hover{background:#f9fbfd}.pa-table tr.is-disputed{background:#fffaf0}.pa-table small{display:block;color:#6b7a89;font-size:11px;margin-top:2px}.pa-number{white-space:nowrap;font-variant-numeric:tabular-nums}.pa-note{max-width:220px;overflow-wrap:anywhere}.pa-muted{color:#8794a1}.pa-warn{color:#a15c00}.pa-evidence{display:inline-block;border-radius:999px;padding:2px 8px;font-size:12px;background:#eef2f6;color:#40505f}.pa-evidence-direct{background:#e5f4ea;color:#1f6b3a}.pa-evidence-manual{background:#e8f0fe;color:#1f4f9a}.pa-evidence-conflict{background:#fdecec;color:#9b2c2c}.pa-evidence-none{background:#fff3d6;color:#7a5200}.pa-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#5c6b7a;font-size:13px}.pa-footer>div{display:flex;gap:8px}.pa-empty{color:#6b7a89;text-align:center;padding:18px}.pa .modal.pa-dialog{min-width:0;width:min(1040px,calc(100vw - 32px));max-width:calc(100% - 24px);max-height:92vh;overflow:auto}.pa-dialog .ops-icon-btn{color:#334155;background:#fff;border-color:#d4dce5}.pa-dialog .ops-icon-btn:hover{color:#172b4d;background:#edf2f7}.pa-detail-section{border-top:1px solid #edf1f5;padding-top:10px;margin-top:10px}.pa-detail-section h4{display:flex;align-items:center;gap:6px;margin:0 0 8px;font-size:14px}.pa-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px 16px;margin:0}.pa-facts>div{display:flex;gap:8px;min-width:0}.pa-facts dt{color:#6b7a89;min-width:84px;font-size:12px}.pa-facts dd{margin:0;min-width:0;overflow-wrap:anywhere;font-size:13px}.pa-long{max-width:100%}.pa-hint{color:#6b7a89;font-size:12px;margin:6px 0 0}.pa-field{display:flex;flex-direction:column;gap:4px;margin-top:10px}.pa-field label{font-size:12px;color:#5c6b7a}.pa-field .input{min-width:0;width:100%;max-width:100%}.pa-field small{color:#6b7a89;font-size:11px}.pa-arrival-projects{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.pa-project-match,.pa-project-cross{border-radius:8px;padding:4px 8px;font-size:12px}.pa-project-match{background:#e5f4ea;color:#1f6b3a}.pa-project-cross{background:#fdecec;color:#9b2c2c}.pa-arrival-list{display:flex;flex-direction:column;gap:6px;max-height:220px;overflow:auto}.pa-arrival{border:1px solid #dfe6ee;border-radius:8px;padding:6px 8px;display:flex;flex-direction:column;gap:2px;font-size:12px}.pa-arrival.is-cross{border-color:#e7a7a7;background:#fff6f6}.pa-arrival small{color:#6b7a89}.pa-audits{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.pa-audits li{border:1px solid #edf1f5;border-radius:8px;padding:6px 8px;display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}.pa-audits small{color:#5c6b7a;flex-basis:100%}.pa-notice{background:#fdecec;color:#9b2c2c;border:1px solid #e7a7a7;border-radius:8px;padding:8px 10px;font-size:13px}.pa-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.pa-readonly{color:#6b7a89;font-size:13px}@media (max-width: 720px){.pa-heading{flex-direction:column}.pa-filters label{flex:1 1 100%;min-width:0}.pa-filter-actions{margin-left:0;width:100%}.pa .modal.pa-dialog{width:calc(100vw - 24px);max-height:94vh;padding:14px}.pa-dialog-actions{flex-wrap:wrap}.pa-table{min-width:980px}}.pa-evidence-stale{background:#fdecec;color:#9b2c2c}.pa-evidence-text_only{background:#eef2f6;color:#40505f}.pa-evidence-manual_photo,.pa-evidence-manual_stock{background:#e8f0fe;color:#1f4f9a}.purchase-manual-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:16px;background:#00000073}.purchase-manual-dialog{box-sizing:border-box;width:min(820px,100%);max-height:calc(100dvh - 32px);min-width:0;display:flex;flex-direction:column;background:#fff;color:#222;border-radius:8px;box-shadow:0 12px 40px #0003;overflow:hidden;letter-spacing:0}.purchase-manual-header,.purchase-manual-footer{display:flex;align-items:center;gap:12px;padding:14px 20px;flex-shrink:0}.purchase-manual-header{justify-content:space-between;border-bottom:1px solid #dedede}.purchase-manual-header h2{margin:0;font-size:18px;overflow-wrap:anywhere}.purchase-manual-icon{display:grid;place-items:center;width:32px;height:32px;border:0;background:transparent;cursor:pointer;flex-shrink:0}.purchase-manual-form{display:flex;flex-direction:column;min-height:0}.purchase-manual-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 20px 20px}.purchase-manual-body h3{font-size:15px;margin:18px 0 10px}.purchase-manual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;margin:0}.purchase-manual-field{min-width:0}.purchase-manual-field dt{color:#666;font-size:12px;margin-bottom:3px}.purchase-manual-field dd{margin:0;font-size:14px;overflow-wrap:anywhere;white-space:pre-wrap}.purchase-manual-value,.procurement-page .procurement-manual-value{color:#123f85;font-weight:600}.purchase-manual-note{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;margin:0}.purchase-manual-muted{color:#666;font-size:13px}.purchase-manual-timeline{list-style:none;margin:0;padding:0 0 0 12px;border-left:2px solid #ddd}.purchase-manual-timeline li{margin:0 0 14px}.purchase-manual-timeline li>div{margin-top:5px;color:#666;font-size:12px;overflow-wrap:anywhere}.purchase-manual-timeline time{display:inline-block;margin-left:8px}.purchase-manual-edit{margin:20px 0 0;padding:16px 0 0;border:0;border-top:1px solid #dedede;min-width:0}.purchase-manual-edit legend{font-weight:600;font-size:15px;padding-right:8px}.purchase-manual-edit label{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:13px}.purchase-manual-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}.purchase-manual-edit .input{box-sizing:border-box;width:100%;min-width:0}.purchase-manual-edit textarea{resize:vertical}.purchase-manual-error{color:#a32626;background:#fff1f1;padding:10px;overflow-wrap:anywhere;font-size:14px}.purchase-manual-footer{border-top:1px solid #dedede;justify-content:flex-end}.purchase-manual-footer .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}.purchase-manual-dialog button:focus-visible{outline:2px solid #123f85;outline-offset:2px}.procurement-page .procurement-note-preview{max-width:240px;min-width:150px;white-space:pre-wrap;overflow-wrap:anywhere}.procurement-page .procurement-list .procurement-table{min-width:1680px}.procurement-page .procurement-list .procurement-table th{white-space:nowrap}.procurement-page .procurement-list .procurement-table-wrap{max-width:100%;overflow:auto}.procurement-page .procurement-note-preview small,.procurement-page .procurement-revision-info small{display:block;color:#666;margin-top:4px;white-space:normal}@media (max-width: 600px){.purchase-manual-overlay{padding:8px}.purchase-manual-dialog{max-height:calc(100dvh - 16px)}.purchase-manual-header,.purchase-manual-footer{padding:12px}.purchase-manual-body{padding:0 12px 16px}.purchase-manual-grid{gap:12px}.purchase-manual-inputs{grid-template-columns:minmax(0,1fr)}.purchase-manual-footer{gap:8px}.purchase-manual-footer .btn{min-height:40px}}.construction-page,.construction-body{min-width:0}.construction-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.construction-heading h1{font-size:18px;margin:0 0 4px}.construction-heading p{color:var(--text-secondary);font-size:13px;margin:0;max-width:820px}.construction-status-line{font-variant-numeric:tabular-nums}.construction-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.construction-tabs [role=tab]{border:1px solid var(--border);background:#fff;border-radius:8px;padding:8px 14px;font-size:13px;cursor:pointer}.construction-tabs [role=tab].is-active{background:var(--primary, #1d4ed8);border-color:var(--primary, #1d4ed8);color:#fff}.construction-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px}.construction-period{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.construction-period button{border:0;background:#fff;padding:8px 14px;font-size:13px;cursor:pointer}.construction-period button.is-active{background:var(--primary, #1d4ed8);color:#fff}.construction-search{display:flex;flex:1 1 260px;gap:8px;min-width:0}.construction-search .input{flex:1 1 auto;min-width:0}.construction-search .btn{flex:0 0 auto;white-space:nowrap}.construction-bulk{display:flex;flex-wrap:wrap;gap:8px}.construction-error{display:flex;align-items:center;gap:8px;margin-bottom:10px}.construction-matching{padding:8px 12px;margin-bottom:12px;border:1px solid var(--border);border-radius:8px;background:#f8fafc;color:var(--text-secondary);font-size:12px}.construction-table-wrap{max-width:100%;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:8px}.construction-table{min-width:1280px;font-size:12px;border-collapse:separate;border-spacing:0;width:100%}.construction-settings-table{min-width:860px}.construction-detail-table{min-width:1180px}.construction-linked-table{min-width:720px;margin-top:6px}.construction-table th{position:sticky;top:0;z-index:2;background:#f8fafc;text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);white-space:nowrap}.construction-table td{vertical-align:top;padding:8px 10px;border-bottom:1px solid var(--border);background:#fff}.construction-table small{display:block;color:var(--text-secondary);font-size:11px}.construction-sticky-col{position:sticky;left:0;z-index:1;background:#fff;box-shadow:1px 0 0 var(--border);min-width:150px}.construction-table th.construction-sticky-col{z-index:3;background:#f8fafc}.construction-linked-ineffective td{color:var(--text-secondary);background:#fafafa}.construction-linked-row>td{background:#f8fafc}.construction-linked{margin:4px 0 8px}.construction-linked h4{font-size:12px;margin:6px 0 4px;color:var(--text-secondary)}.construction-empty{text-align:center;color:var(--text-secondary);padding:18px 8px;font-size:12px}.construction-warn,.construction-cancelled{color:#b42318;font-weight:600}.construction-readonly{color:var(--text-secondary);font-size:12px;margin:10px 0 0}.construction-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;color:var(--text-secondary);font-size:12px}.construction-footer>div{display:flex;gap:6px}.construction-footer-actions{align-items:center}.construction-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:12px}.construction-card{border:1px solid var(--border);border-radius:8px;padding:10px 12px;min-width:0}.construction-card span{display:block;color:var(--text-secondary);font-size:12px;margin-bottom:4px}.construction-card strong{display:block;font-size:13px;font-weight:600;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.modal.construction-dialog{width:min(1180px,calc(100vw - 24px));max-width:calc(100vw - 24px);min-width:0;max-height:calc(100vh - 48px);overflow-y:auto}.construction-dialog .ops-icon-btn{color:var(--text-primary, #1f2937);background:#fff;border:1px solid var(--border)}.construction-dialog .ops-icon-btn:hover{background:#f3f4f6}.procurement-number{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.construction-pending-table{min-width:1160px}.construction-correspondence-table{min-width:1120px}.construction-table small em{font-style:normal;color:var(--text-secondary)}.construction-candidates{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;border:1px solid var(--border);border-radius:8px;padding:8px 10px}.construction-candidate{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;font-size:12px}.construction-candidate>span{min-width:0}.construction-candidate small{display:block;color:var(--text-secondary)}.construction-confirm-dialog{width:min(1180px,calc(100vw - 24px));max-width:calc(100vw - 24px);min-width:0;max-height:calc(100vh - 48px);overflow-y:auto}.construction-confirm-lines{max-height:46vh;margin-bottom:10px}.construction-confirm-actions{display:flex;flex-direction:column;gap:8px;margin-top:10px}.construction-confirm-field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-secondary)}.construction-confirm-field .input{width:100%;box-sizing:border-box;font-size:13px}.construction-confirm-actions .construction-footer-actions{justify-content:flex-end;margin-top:2px}.construction-review-table{min-width:1260px}.construction-view-toggle{flex-wrap:wrap}.construction-review-badge{display:inline-block;margin-right:6px;padding:1px 6px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:11px;font-weight:600;white-space:nowrap}.construction-review-priority-0 td{background:#fff7ed}.construction-review-priority-1 td{background:#fefce8}.construction-review-priority-2 td{background:#fef2f2}.construction-review-row strong{display:block;overflow-wrap:anywhere}.construction-review-actions{display:flex;flex-wrap:wrap;gap:6px}.construction-review-table th.construction-review-actions-col,.construction-review-table td.construction-review-actions-col{position:sticky;right:0;z-index:1;background:#fff;box-shadow:-1px 0 0 var(--border);min-width:150px}.construction-review-table th.construction-review-actions-col{z-index:3;background:#f8fafc}.construction-candidate-disputed{border-left:3px solid #b42318;padding-left:6px}.construction-candidate.is-disputed{border-left:3px solid #b42318;padding-left:8px}.construction-ops-tag{color:#6d28d9;font-style:normal;font-weight:600}.construction-doc-numbers{display:flex;flex-direction:column;gap:2px;min-width:110px;max-width:260px;overflow-wrap:anywhere}.construction-doc-numbers details summary{cursor:pointer;color:var(--primary, #1d4ed8);font-size:11px}.construction-doc-number-list{display:flex;flex-wrap:wrap;gap:4px 8px;max-height:180px;overflow:auto;margin-top:4px}.construction-review-expanded>td{background:#f8fafc;padding:10px}.construction-review-notes{display:flex;flex-direction:column;gap:8px;min-width:0}.construction-review-note{min-width:0;border:1px solid var(--border);border-radius:8px;padding:8px 10px;background:#fff}.construction-review-note-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:12px}.construction-review-note-head strong,.construction-review-note small{overflow-wrap:anywhere}.construction-review-raw{margin-top:4px;overflow-wrap:anywhere}.construction-identifier{font:inherit;color:inherit;background:transparent;padding:0;border:0;border-bottom:1px dotted currentColor;cursor:pointer;text-align:left}.construction-identifier:focus{outline:2px solid var(--primary, #1d4ed8);outline-offset:1px}.construction-identifier-tooltip{position:fixed;z-index:12000;pointer-events:none;box-sizing:border-box;max-width:min(440px,calc(100vw - 16px));max-height:calc(100vh - 16px);overflow:auto;padding:8px 10px;border:1px solid #d1d5db;border-radius:4px;background:#fff;color:#111827;box-shadow:0 3px 12px #0002;font:12px/1.5 monospace;overflow-wrap:anywhere}.construction-identifier-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12010;display:flex;align-items:center;justify-content:center;padding:16px;background:#0006}.construction-identifier-dialog{box-sizing:border-box;width:560px;max-width:100%;max-height:calc(100dvh - 32px);overflow:auto;background:#fff;color:#111827;border:1px solid #d1d5db;border-radius:8px;padding:18px;box-shadow:0 8px 32px #0003}.construction-identifier-dialog header{display:flex;align-items:center;justify-content:space-between;gap:16px}.construction-identifier-dialog h2{margin:0;font-size:16px;line-height:1.4}.construction-identifier-close{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border:1px solid #d1d5db;border-radius:4px;background:#fff;color:#374151;cursor:pointer}.construction-identifier-dialog pre{margin:16px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;font:14px/1.7 monospace}@media (max-width: 720px){.construction-heading{flex-direction:column;gap:4px}.construction-search{flex-basis:100%}.construction-table-wrap{max-height:55vh}.construction-sticky-col{min-width:120px}.construction-review-actions{flex-direction:column;align-items:stretch}.construction-review-actions .btn{width:100%}.construction-review-note-head .btn{max-width:100%}.construction-candidate{flex-direction:column;align-items:stretch}.construction-doc-numbers{max-width:100%}}.exec-shell{min-height:100vh;background:#fbfcfe;color:var(--text, #1a1d23)}.exec-top{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;padding:0 16px;background:#1f3a5f;color:#f8fbff;box-shadow:0 2px 8px #0f1e3740}.exec-brand{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden}.exec-brand em{font-style:normal;font-size:12px;font-weight:400;color:#b9cbe4;margin-left:4px}.exec-top-right{display:flex;align-items:center;gap:10px;font-size:13px;white-space:nowrap}.exec-clock{display:inline-flex;align-items:center;gap:4px;color:#dbe6f5;font-variant-numeric:tabular-nums}.exec-user{max-width:140px;overflow:hidden;text-overflow:ellipsis}.exec-workspace-link{color:#f8fbff;background:#ffffff1f;border:1px solid rgba(255,255,255,.25)}.exec-top-right .btn:hover{background:#ffffff38}.exec-body{max-width:1440px;margin:0 auto;padding:0 20px 24px}.exec-grid{display:grid;grid-template-columns:minmax(0,1fr)}.exec-section{padding:20px 0 14px;border-bottom:1px solid var(--border, #e1e5eb)}.exec-section:last-child{border-bottom:none}.exec-section-business .exec-section-icon{color:#2188ee}.exec-section-finance .exec-section-icon{color:#0e7490}.exec-section-operations .exec-section-icon{color:#0f766e}.exec-section-construction .exec-section-icon{color:#0369a1}.exec-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.exec-section-title{display:flex;align-items:center;gap:8px;min-width:0}.exec-section-icon{display:inline-flex;flex:0 0 auto}.exec-section-title h2{margin:0;font-size:16px;font-weight:700;white-space:nowrap}.exec-period{font-size:12px;color:var(--text-secondary, #6b7280);background:#f1f5f9;border-radius:999px;padding:2px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exec-section-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.exec-module-link{font-size:12px;color:var(--primary, #2188ee);text-decoration:none;white-space:nowrap}.exec-module-link:hover{text-decoration:underline}.exec-refresh{display:inline-flex;align-items:center;gap:4px}.exec-spin{animation:exec-spin .9s linear infinite}@keyframes exec-spin{to{transform:rotate(360deg)}}.exec-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:4px 0 6px}.exec-metric{position:relative;min-width:0;padding:2px 14px 2px 0}.exec-metric+.exec-metric{border-left:1px solid var(--border, #e1e5eb);padding-left:14px}.exec-metric-clickable{cursor:pointer}.exec-metric-clickable:hover .exec-metric-drill,.exec-metric-clickable:focus-visible .exec-metric-drill{color:var(--primary, #2188ee)}.exec-metric-clickable:focus-visible{outline:none}.exec-metric-label{font-size:12px;color:var(--text-secondary, #6b7280);margin-bottom:4px}.exec-metric-value{font-size:24px;font-weight:700;line-height:1.3;color:var(--text, #1a1d23);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;word-break:break-all}.exec-section-operations .exec-metric-value,.exec-section-finance .exec-metric-value{color:#0f5c52}.exec-section-business .exec-metric-value{color:#14477e}.exec-section-construction .exec-metric-value{color:#0b4f77}.exec-metric-unit{font-size:12px;color:var(--text-secondary, #6b7280);margin-left:4px;font-weight:400}.exec-target-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin-top:2px;min-width:0;font-size:12px;color:var(--text-secondary, #6b7280);font-variant-numeric:tabular-nums}.exec-target-figure{white-space:normal;overflow-wrap:anywhere}.exec-fullmonth{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:2px 4px;min-width:0;font-size:11px;color:#6b7280;line-height:1.5}.exec-fullmonth-rate{font-weight:600;color:#0f5c52}.exec-fullmonth-formula{font-size:10px;color:#8a94a6;overflow-wrap:anywhere}.exec-metric-money{font-size:17px}.exec-currency-amount{display:block;white-space:nowrap;word-break:normal;overflow-wrap:normal}.exec-missing{color:var(--text-secondary, #6b7280)!important;font-weight:600}.exec-missing-tag{font-size:11px;font-weight:400;background:#eef1f5;color:#6b7280;border-radius:4px;padding:1px 5px;margin-left:6px;vertical-align:middle}.exec-metric-issues{display:inline-flex;gap:6px;flex-wrap:wrap;font-size:15px}.exec-issue{border-radius:6px;padding:1px 7px;font-weight:600}.exec-issue-missing{background:#fef3c7;color:#92400e}.exec-issue-returned{background:#fee2e2;color:#b91c1c}.exec-issue-abnormal{background:#ffedd5;color:#c2410c}.exec-metric-hint{font-size:11px;color:var(--text-secondary, #6b7280);margin-top:4px;line-height:1.5}.exec-metric-drill{margin-top:6px;font-size:12px;color:#7c8ba1;display:inline-flex;align-items:center;gap:2px}.exec-section-foot{margin-top:4px;padding-top:8px}.exec-updated{font-size:11px;color:var(--text-secondary, #6b7280);font-variant-numeric:tabular-nums;display:flex;gap:10px;flex-wrap:wrap;align-items:center}.exec-time-note{color:#94a3b8}.exec-unavailable{margin-top:6px;display:flex;gap:6px;flex-wrap:wrap}.exec-notes{margin:6px 0 0;padding:0;list-style:none}.exec-notes li{font-size:11px;color:var(--text-secondary, #6b7280);line-height:1.5;padding-left:10px;position:relative}.exec-notes li:before{content:"·";position:absolute;left:0;color:#94a3b8;font-weight:700}.exec-currency-list{display:flex;gap:6px;flex-wrap:wrap;padding:2px 0 6px}.exec-currency-chip{font-size:12px;background:#eef6fb;color:#0b4f77;border:1px solid #d3e6f5;border-radius:6px;padding:2px 8px;font-variant-numeric:tabular-nums}.exec-ops-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:0 0 6px}.exec-date-label{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary, #6b7280)}.exec-date-input{width:auto;padding:4px 8px;font-size:13px}.exec-ops-bizdate{font-size:12px;color:var(--text-secondary, #6b7280)}.exec-chart{margin:2px 0 6px;padding:8px 10px 6px}.exec-chart-title{font-size:12px;color:var(--text-secondary, #6b7280);margin-bottom:6px}.exec-chart-bars{display:flex;align-items:flex-end;gap:2px;height:72px}.exec-chart-col{flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0;height:100%}.exec-chart-bar-wrap{flex:0 0 52px;height:52px;width:70%;display:flex;align-items:flex-end;min-height:0}.exec-chart-bar{width:100%;background:#2188ee;border-radius:3px 3px 0 0;min-height:2px;opacity:.85}.exec-chart-manual{background:#0f766e}.exec-chart-empty{background:#dde3ea}.exec-methodology{margin-top:8px;font-size:11px;color:var(--text-secondary, #6b7280)}.exec-methodology summary{cursor:pointer;width:fit-content}@media (min-width: 1100px){.exec-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}.exec-section{padding:18px 0}.exec-section:nth-child(odd){padding-right:24px;border-right:1px solid var(--border, #e1e5eb)}.exec-section:nth-last-child(2){border-bottom:none}}.exec-chart-day{font-size:10px;color:#94a3b8;font-variant-numeric:tabular-nums}.exec-chart-legend{margin-top:6px;font-size:11px;color:var(--text-secondary, #6b7280);display:flex;gap:10px;align-items:center}.exec-legend-dot{display:inline-block;width:8px;height:8px;border-radius:2px;background:#2188ee;margin-right:4px}.exec-legend-dot.exec-chart-manual{background:#0f766e}.exec-loading{padding:16px 0;color:var(--text-secondary, #6b7280);font-size:13px}.exec-error{display:flex;align-items:center;gap:8px;margin:4px 0 10px;padding:8px 10px;border:1px solid #fecaca;background:#fef2f2;color:#b91c1c;border-radius:8px;font-size:13px;flex-wrap:wrap}.exec-error-page{margin:14px 0}.exec-error .btn{margin-left:auto}.exec-empty{padding:26px 14px;text-align:center;color:var(--text-secondary, #6b7280);font-size:13px}.exec-badge{display:inline-block;font-size:12px;border-radius:6px;padding:1px 7px;white-space:nowrap}.exec-badge-ok{background:#dcfce7;color:#166534}.exec-badge-warn{background:#fef3c7;color:#92400e}.exec-badge-unknown{background:#eef1f5;color:#6b7280}.exec-badge-missing{background:#fef3c7;color:#92400e}.exec-badge-returned{background:#fee2e2;color:#b91c1c}.exec-badge-abnormal{background:#ffedd5;color:#c2410c}.exec-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f1e3773;z-index:100;display:flex;justify-content:flex-end}.exec-drawer{width:min(920px,100%);max-width:100%;min-width:0;height:100vh;max-height:100vh;background:#fff;display:flex;flex-direction:column;box-shadow:-8px 0 30px #0f1e374d}.exec-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px 10px;border-bottom:1px solid var(--border, #e1e5eb);background:#f8fafc}.exec-drawer-head h3{margin:0;font-size:16px}.exec-drawer-head>div{min-width:0;flex:1}.exec-drawer-head .btn{flex-shrink:0;white-space:nowrap}.exec-drawer-sub{font-size:12px;color:var(--text-secondary, #6b7280);margin-top:4px;line-height:1.5}.exec-drawer-kinds{display:flex;gap:6px;padding:8px 16px 0}.exec-kind{border:1px solid var(--border, #e1e5eb);background:#fff;color:var(--text-secondary, #6b7280);border-radius:999px;padding:3px 12px;font-size:13px;cursor:pointer}.exec-kind.active{background:var(--primary, #2188ee);border-color:var(--primary, #2188ee);color:#fff}.exec-drawer-search{display:flex;gap:8px;padding:10px 16px 4px}.exec-drawer-search .input{max-width:320px}.exec-drawer-body{flex:1 1 auto;overflow:hidden;display:flex;flex-direction:column;padding:4px 16px;min-height:0}.exec-table-wrap{flex:1 1 auto;overflow:auto;border:1px solid var(--border, #e1e5eb);border-radius:8px}.exec-table{width:100%;border-collapse:collapse;font-size:13px;min-width:640px}.exec-table th,.exec-table td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--border, #e1e5eb);vertical-align:top;white-space:nowrap}.exec-table th{position:sticky;top:0;background:#f1f5f9;color:#475569;font-weight:600;z-index:1}.exec-table tbody tr:hover td{background:#f8fafc}.exec-cell-main{display:block;font-weight:600;max-width:260px;overflow:hidden;text-overflow:ellipsis}.exec-cell-sub{display:block;font-size:11px;color:var(--text-secondary, #6b7280)}.exec-pending{color:#b45309!important;font-weight:700}.exec-row-action{padding:2px 8px;font-size:12px}.exec-drawer-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;border-top:1px solid var(--border, #e1e5eb)}.exec-page-info{font-size:12px;color:var(--text-secondary, #6b7280)}.exec-page-actions{display:flex;gap:8px}@media (max-width: 900px){.exec-metrics{grid-template-columns:minmax(0,1fr);gap:10px}.exec-metric{padding:0 0 10px;border-left:none!important;border-bottom:1px dashed var(--border, #e1e5eb)}.exec-metric:last-child{border-bottom:none}}@media (max-width: 720px){.exec-top{flex-wrap:wrap;min-height:auto;padding:8px 12px}.exec-top-right{flex-wrap:wrap;gap:8px}.exec-body{padding:0 12px 20px}.exec-section-head{flex-wrap:wrap}.exec-section-actions{margin-left:auto}.exec-drawer{width:100%}.exec-drawer-search .input{max-width:100%;flex:1 1 auto}.exec-drawer-foot{flex-wrap:wrap}}@media (max-width: 480px){.exec-metric-value{font-size:20px}.exec-period{display:none}.exec-chart-bars{height:60px}}@media (prefers-reduced-motion: reduce){.exec-spin{animation:none}.exec-metric-clickable{transition:none}}.finance-shell{min-height:100vh;background:var(--bg);color:var(--text)}.finance-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 22px;background:#1f2a44;color:#f8fbff;flex-wrap:wrap}.finance-title{display:flex;align-items:center;gap:12px}.finance-title h1{margin:0;font-size:20px;letter-spacing:.02em}.finance-title span{display:block;margin-top:2px;font-size:12px;color:#c7d4e6}.finance-top-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.finance-top-actions .btn{background:#ffffff1f;color:#fff;border-color:#ffffff38}.finance-top-actions .btn:hover{background:#fff3}.finance-main{max-width:1440px;margin:0 auto;padding:16px 20px 40px;display:flex;flex-direction:column;gap:14px}.finance-readiness{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:14px 16px;border-radius:10px;border:1px solid var(--border);background:var(--surface);flex-wrap:wrap}.finance-tone-ok{border-left:4px solid var(--success)}.finance-tone-warn{border-left:4px solid var(--warning)}.finance-tone-neutral{border-left:4px solid #8a94a6}.finance-readiness-main{display:flex;gap:10px;align-items:flex-start;min-width:280px}.finance-readiness-main strong{font-size:15px}.finance-readiness-main p{margin:3px 0 0;color:var(--text-secondary);font-size:13px;max-width:720px}.finance-readiness-facts{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:6px 18px;margin:0}.finance-readiness-facts dt{color:var(--text-secondary);font-size:11px}.finance-readiness-facts dd{margin:0;font-size:12px;font-weight:600}.finance-profile-errors{flex-basis:100%;margin:2px 0 0 32px;color:#92400e;font-size:12px}.finance-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);gap:14px;align-items:start}.finance-panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.finance-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px;flex-wrap:wrap}.finance-panel-head h2{margin:0;font-size:15px}.finance-panel-head p{margin:4px 0 0}.finance-muted{color:var(--text-secondary);font-size:12px}.finance-block{display:block;margin-top:4px}.finance-warn-text{color:#b45309;font-size:12px;display:inline-flex;align-items:center;gap:4px;margin:8px 0 0}.finance-ok-text{color:#15803d;font-size:12px}.finance-scope-predicates{border:1px dashed var(--border);border-radius:7px;padding:8px 10px;margin-bottom:10px;font-size:12px}.finance-scope-predicates ul{margin:5px 0;padding-left:18px}.finance-scope-predicates li{margin:2px 0}.finance-row-table td{white-space:normal}.finance-summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}.finance-summary-card{border:1px solid var(--border);border-radius:8px;padding:10px 12px;background:#fbfdff;display:flex;flex-direction:column;gap:3px}.finance-summary-label{color:var(--text-secondary);font-size:12px}.finance-summary-card strong{font-size:22px;font-variant-numeric:tabular-nums}.finance-not-computed{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.finance-not-computed span{font-size:11px;color:#475569;background:#f1f5f9;border-radius:999px;padding:3px 8px}.finance-empty{display:flex;align-items:flex-start;gap:10px;border:1px dashed #cbd5e1;border-radius:8px;padding:12px;color:#475569;background:#f8fafc}.finance-empty strong{display:block;color:var(--text);font-size:13px}.finance-empty p{margin:4px 0 0;font-size:12px}.finance-empty-ok{border-style:solid;border-color:#bbf7d0;background:#f0fdf4;color:#166534}.finance-state-error{align-items:flex-start}.finance-state-error>div{flex:1;min-width:220px}.finance-state-error strong{display:block;margin-bottom:2px}.finance-state-error p{margin:3px 0 0}.finance-state-error .btn{flex-shrink:0}.finance-sync-body{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.finance-sync-body p{margin:0 0 4px;font-size:13px}.finance-sync-countdown{color:#b45309}.finance-sync-action{display:flex;flex-direction:column;gap:6px;align-items:flex-end;max-width:260px}.finance-sync-action small{text-align:right}.finance-legacy-table-wrap{overflow-x:auto}.finance-table{width:100%;border-collapse:collapse;font-size:12px}.finance-table th,.finance-table td{border-bottom:1px solid var(--border);padding:7px 8px;text-align:left;vertical-align:top}.finance-table th{color:var(--text-secondary);font-weight:600;background:#f8fafc;white-space:nowrap}.finance-tabs{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.finance-tabs button{border:0;background:#fff;padding:7px 12px;font-size:12px;cursor:pointer;color:var(--text-secondary)}.finance-tabs button.active{background:#1f2a44;color:#fff}.finance-filters{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:8px;padding:10px;background:#f8fafc;border:1px solid var(--border);border-radius:8px}.finance-filters label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--text-secondary)}.finance-filters input,.finance-filters select{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:6px;padding:6px 7px;font-size:12px;background:#fff;color:var(--text)}.finance-filter-actions{display:flex;align-items:flex-end;gap:6px}.finance-issue-summary{display:flex;justify-content:space-between;gap:12px;margin:10px 0;color:var(--text-secondary);font-size:12px;flex-wrap:wrap}.finance-issues-list{display:flex;flex-direction:column;gap:8px}.finance-issue{border:1px solid var(--border);border-left-width:4px;border-radius:8px;padding:10px 12px;background:#fff}.finance-issue.finance-badge-info{border-left-color:#64748b}.finance-issue.finance-badge-review{border-left-color:var(--warning)}.finance-issue.finance-badge-error{border-left-color:var(--danger)}.finance-issue-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.finance-badge{font-size:11px;border-radius:999px;padding:2px 8px;font-weight:600;white-space:nowrap}.finance-badge-info{background:#eef2f7;color:#475569}.finance-badge-review{background:#fef3c7;color:#92400e}.finance-badge-error{background:#fee2e2;color:#991b1b}.finance-issue-code{font-family:Consolas,Courier New,monospace;font-size:11px;color:#475569}.finance-issue-severity,.finance-issue-fact{font-size:11px;color:var(--text-secondary);border-left:1px solid var(--border);padding-left:8px}.finance-issue-message{margin:6px 0;font-size:13px}.finance-issue-meta{display:flex;flex-wrap:wrap;gap:6px 12px;color:var(--text-secondary);font-size:11px}.finance-issue-meta span{display:inline-flex;align-items:center;gap:4px}.finance-candidates{margin-top:7px;background:#fff7ed;border:1px solid #fed7aa;border-radius:7px;padding:7px 9px;font-size:12px}.finance-candidates strong{color:#9a3412}.finance-candidates ul{margin:4px 0 0;padding-left:18px}.finance-issue-action{margin:7px 0 0;color:#475569;font-size:11px;display:flex;align-items:flex-start;gap:4px}.finance-pagination{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:12px;font-size:12px;color:var(--text-secondary)}.finance-coverage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px 14px;margin-bottom:10px}.finance-coverage-grid dt{font-size:11px;color:var(--text-secondary)}.finance-coverage-grid dd{margin:1px 0 0;font-size:12px;font-weight:600}.finance-source-coverage{display:flex;flex-direction:column;gap:6px}.finance-source-row{border:1px solid var(--border);border-radius:7px;padding:7px 9px;display:flex;flex-direction:column;gap:2px;font-size:12px}.finance-source-row small{color:var(--text-secondary)}.finance-tech-details .finance-source-row{border:0;border-bottom:1px solid var(--border);border-radius:0;padding:6px 0}.finance-tech-details .finance-source-row:last-child{border-bottom:0}.finance-tech-details{border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:10px 16px}.finance-tech-details>summary{cursor:pointer;color:var(--text-secondary);font-size:12px}.finance-tech-body{margin-top:10px;display:flex;flex-direction:column;gap:10px}.finance-tech-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px 16px;margin:0}.finance-tech-grid dt{color:var(--text-secondary);font-size:11px}.finance-tech-grid dd{margin:1px 0 0;font-size:12px;font-weight:600}.finance-tech-inline{margin-top:6px}.finance-tech-inline>summary{cursor:pointer;color:var(--text-secondary);font-size:11px}.finance-tech-inline-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 12px;margin:6px 0 0}.finance-tech-inline-grid dt{color:var(--text-secondary);font-size:11px}.finance-tech-inline-grid dd{margin:1px 0 0;font-size:12px}.finance-evidence{margin:6px 0 0;padding:7px 9px;background:#f8fafc;border:1px solid var(--border);border-radius:6px;font-size:11px;white-space:pre-wrap;word-break:break-word;max-height:220px;overflow:auto}.finance-break{word-break:break-all}.finance-loading{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:13px;padding:12px}.finance-error{display:flex;align-items:center;gap:8px;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;border-radius:8px;padding:9px 12px;font-size:13px}.finance-notice{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;border-radius:8px;padding:9px 12px;font-size:13px}.finance-notice-success{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.finance-notice-warn{background:#fffbeb;border-color:#fde68a;color:#92400e}.finance-notice-error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.finance-spin{animation:finance-spin 1s linear infinite}@keyframes finance-spin{to{transform:rotate(360deg)}}@media (max-width: 1100px){.finance-grid{grid-template-columns:1fr}.finance-filters{grid-template-columns:repeat(3,minmax(120px,1fr))}}@media (max-width: 720px){.finance-main{padding:10px}.finance-readiness{flex-direction:column}.finance-readiness-facts{grid-template-columns:1fr 1fr;width:100%}.finance-filters{grid-template-columns:1fr 1fr}.finance-sync-action{align-items:flex-start;max-width:none}.finance-sync-action small{text-align:left}.finance-top{padding:12px}.finance-title h1{font-size:17px}.finance-issue-summary{flex-direction:column}.finance-state-error{flex-direction:column;align-items:flex-start}.finance-tech-grid,.finance-tech-inline-grid{grid-template-columns:1fr}}.finance-view-tabs{display:inline-flex;align-self:flex-start;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#fff}.finance-view-tabs button{border:0;background:#fff;padding:8px 14px;font-size:13px;cursor:pointer;color:var(--text-secondary)}.finance-view-tabs button.active{background:#1f2a44;color:#fff}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #e8edf3;--surface: #ffffff;--border: #e1e5eb;--text: #1a1d23;--text-secondary: #6b7280;--primary: #2188ee;--primary-hover: #126fd2;--danger: #dc2626;--success: #16a34a;--warning: #f59e0b;--sidebar-bg: #4774b4;--sidebar-text: #f8fbff;--sidebar-active: #3d67a0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;color:var(--text);background:var(--bg);line-height:1.5}a{color:var(--primary);text-decoration:none}button{cursor:pointer;font-family:inherit;font-size:inherit}input,select,textarea{font-family:inherit;font-size:inherit}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-weight:500;transition:all .15s}.btn:hover{background:#f1f5f9}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover{background:var(--primary-hover)}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-sm{padding:5px 10px;font-size:13px}.card{background:var(--surface);border:1px solid var(--border);border-radius:8px}.input{padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface);outline:none;width:100%}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}table{width:100%;border-collapse:collapse}th,td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--border)}th{background:#f8fafc;font-weight:600;font-size:13px;color:var(--text-secondary);white-space:nowrap}tr:hover td{background:#f8fafc}.badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:500}.badge-active{background:#dcfce7;color:var(--success)}.badge-completed{background:#dbeafe;color:var(--primary)}.badge-paused{background:#fef3c7;color:var(--warning)}.badge-cancelled{background:#fee2e2;color:var(--danger)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.page-header h2{font-size:18px;font-weight:600}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:100;display:flex;align-items:center;justify-content:center}.modal{background:var(--surface);border-radius:8px;padding:24px;min-width:480px;max-width:640px;max-height:80vh;overflow-y:auto}.modal h3{margin-bottom:16px;font-size:16px}.form-group{margin-bottom:14px}.form-group label{display:block;margin-bottom:4px;font-weight:500;font-size:13px;color:var(--text-secondary)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.toast{position:fixed;top:16px;right:16px;z-index:200;padding:12px 20px;border-radius:6px;font-weight:500;animation:slideIn .3s ease}.toast-success{background:var(--success);color:#fff}.toast-error{background:var(--danger);color:#fff}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card{padding:20px}.stat-card .stat-value{font-size:28px;font-weight:700;line-height:1.2}.stat-card .stat-label{font-size:13px;color:var(--text-secondary);margin-top:4px}.tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:20px}.tab{padding:10px 18px;border:none;background:none;color:var(--text-secondary);font-weight:500;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.kis-shell{min-height:100vh;display:flex;flex-direction:column;background:#e6ebf1;color:#222}.kis-windowbar{height:30px;display:flex;align-items:center;justify-content:space-between;padding:0 14px 0 4px;background:#fbfbfb;border-bottom:1px solid #d9dde4;font-size:13px}.kis-title{display:flex;align-items:center;gap:6px;color:#111}.kis-menu{color:#111;font-size:13px}.kis-tabbar{height:25px;display:flex;align-items:end;background:#f3f5f8;border-bottom:1px solid #d7dce3;padding-left:35px}.kis-main-tab,.kis-add-tab{height:25px;border:1px solid #bfc9d8;border-bottom:none;background:#fff;color:#111;padding:0 13px;font-size:13px}.kis-add-tab{width:28px;color:#2d72c8;font-weight:700;padding:0}.kis-body{flex:1;display:flex;min-height:0}.kis-sidebar{width:240px;flex:0 0 240px;background:#4775b7;padding-top:8px}.kis-sidebar nav{display:flex;flex-direction:column}.kis-nav-item{height:38px;display:flex;align-items:center;gap:18px;padding:0 20px;color:#fff;font-size:17px;text-decoration:none}.kis-nav-item:hover,.kis-nav-item.active{background:#1e4f8f57}.kis-nav-item span{white-space:nowrap}.kis-main{flex:1;min-width:0;display:flex;flex-direction:column}.kis-statusbar{height:25px;display:flex;align-items:center;justify-content:flex-end;gap:18px;padding:0 8px;background:#f7f7f7;border-top:1px solid #d7d7d7;font-size:12px;color:#222}.kis-statusbar span:first-child{margin-right:auto}.kis-logout{display:inline-flex;align-items:center;gap:3px;border:none;background:transparent;color:#444;font-size:12px}.kis-workspace{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border:1px solid #cbd5e1;border-radius:4px;background:#fff;color:#334155;font-size:12px;white-space:nowrap}.kis-workspace:hover{background:#f1f5f9;color:#1d4ed8}.kis-console{flex:1;display:grid;grid-template-columns:minmax(700px,1fr) 320px;gap:16px;padding:16px;overflow:auto}.kis-workspace{min-width:0}.kis-company-card{height:72px;display:flex;align-items:center;gap:16px;background:#fff;padding:12px 24px;margin-bottom:16px}.kis-logo-mark{width:48px;height:48px;display:grid;place-items:center;background:#f5d83b;color:#12aee8;font-size:29px;font-weight:900}.kis-company-card h1{font-size:16px;font-weight:700;margin-bottom:3px}.kis-company-card p{font-size:13px;color:#5f6b79}.kis-search{margin-left:auto;display:flex;height:35px;min-width:426px}.kis-search select,.kis-search input{border:1px solid #e1e5eb;background:#fff;height:35px;padding:0 10px;outline:none}.kis-search select{width:110px;font-weight:600}.kis-search input{width:250px;border-left:none;color:#788390}.kis-search button{width:96px;border:none;background:#2089ef;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:4px}.kis-tabs{display:flex;gap:1px;margin-bottom:16px}.kis-tabs button{height:29px;border:none;background:#2188ee;color:#fff;padding:0 22px;font-weight:600}.kis-panel{background:#fff;border:1px solid #e4e7eb;margin-bottom:16px}.kis-panel h2{height:39px;display:flex;align-items:center;padding:0 10px;border-bottom:1px solid #e7eaee;font-size:15px;font-weight:500}.kis-shortcut-strip{height:128px;display:grid;grid-template-columns:repeat(10,minmax(78px,1fr));align-items:center;gap:8px;padding:18px 24px 10px}.kis-shortcut{display:flex;flex-direction:column;align-items:center;gap:7px;border:none;background:transparent;color:#222;font-size:13px;min-width:0}.kis-shortcut-icon{width:48px;height:48px;border-radius:7px;display:grid;place-items:center;color:#fff}.kis-shortcut-icon.cyan{background:linear-gradient(135deg,#2ac8cd,#65dce5)}.kis-shortcut-icon.teal{background:linear-gradient(135deg,#22bcc0,#67d7d0)}.kis-shortcut-icon.indigo{background:linear-gradient(135deg,#6177f0,#8ca2ff)}.kis-shortcut-icon.orange{background:linear-gradient(135deg,#ff8b36,#ffb05f)}.kis-shortcut-icon.pink{background:linear-gradient(135deg,#ff5fa1,#ff8bc0)}.kis-shortcut-icon.blue{background:linear-gradient(135deg,#2e8bf7,#69b1ff)}.kis-shortcut-icon.violet{background:linear-gradient(135deg,#6370f4,#8b9cff)}.kis-panel-head{height:39px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e7eaee}.kis-panel-head h2{border:none}.kis-panel-head button{border:none;background:transparent;color:#555;margin-right:14px}.kis-warning-panel{min-height:600px}.kis-warning-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:16px 112px;padding:26px 14px}.kis-warning{height:35px;display:grid;grid-template-columns:28px 1fr auto;align-items:center;background:#f6f6f6;padding:0 14px;color:#333}.kis-warning-dot{width:21px;height:21px;border:2px solid #b8b8b8;border-radius:50%;display:grid;place-items:center;color:#999;font-weight:700}.kis-warning strong{color:#ff6b00;font-size:18px;font-weight:500}.kis-rightbar{display:flex;flex-direction:column;gap:16px}.kis-banner{height:176px;background:linear-gradient(135deg,#c9fff3,#dce9ff 52%,#b4d6ff);padding:50px 10px 0;color:#061b42;font-size:28px;font-weight:800;overflow:hidden}.kis-banner strong{display:block;font-size:28px;color:#0f2f6f;margin-top:4px}.kis-side-panel{background:#fff;border:1px solid #e4e7eb}.kis-side-panel h2{height:38px;display:flex;align-items:center;border-bottom:1px solid #e8ebef;padding:0 10px;font-size:16px;font-weight:500;color:#444}.kis-side-panel ul{list-style:none;padding:18px 22px;min-height:545px}.kis-side-panel li{display:flex;align-items:center;gap:5px;font-size:13px;color:#555;margin-bottom:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kis-side-panel li span{width:16px;height:16px;border-radius:50%;display:inline-grid;place-items:center;background:#e33;color:#fff;font-size:11px;flex:0 0 16px}.kis-side-panel li span.new{background:#1a8fff}.kis-side-panel li span.hot{background:#ff5d2c}.app-service{height:132px;text-align:center}.app-service button{margin-top:18px;width:34px;height:34px;border:1px dashed #4775b7;color:#4775b7;background:#fff;border-radius:7px;font-size:26px;line-height:1}.app-service p{margin-top:8px;color:#444;font-size:13px}@media (max-width: 1100px){.kis-console{grid-template-columns:1fr}.kis-rightbar{display:none}.kis-search{min-width:320px}.kis-shortcut-strip{grid-template-columns:repeat(5,minmax(76px,1fr));height:auto}.kis-warning-grid{grid-template-columns:1fr;gap:12px}}.ops-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:500;white-space:nowrap}.ops-badge-draft{background:#f1f5f9;color:var(--text-secondary)}.ops-badge-submitted{background:#fef3c7;color:var(--warning)}.ops-badge-reviewed{background:#dcfce7;color:var(--success)}.ops-badge-rejected{background:#fee2e2;color:var(--danger)}.ops-badge-locked{background:#e2e8f0;color:var(--text-secondary)}.ops-mobile{min-height:100vh;background:#eef2f6;display:flex;flex-direction:column}.ops-mobile-top{position:sticky;top:0;z-index:20;height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:var(--primary);color:#fff}.ops-mobile-brand{font-weight:700;font-size:15px}.ops-mobile-top-actions{display:flex;gap:6px}.ops-mobile-clock{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-variant-numeric:tabular-nums;color:#ffffffeb;white-space:nowrap}.ops-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;background:#ffffff1f;color:#fff;border-radius:6px}.ops-icon-btn:hover{background:#ffffff3d}@media (max-width: 640px){.ops-mobile-top{height:auto;display:grid;grid-template-columns:minmax(0,1fr);padding:8px;gap:4px}.ops-mobile-brand{font-size:14px;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.ops-mobile-clock{font-size:11px;gap:3px;justify-self:start}.ops-mobile-top-actions{grid-column:1 / -1;justify-content:flex-end}.ops-mobile-top-actions .btn{white-space:nowrap}}.ops-mobile-body{flex:1;width:100%;max-width:480px;margin:0 auto;padding:12px 12px 20px;display:flex;flex-direction:column;gap:12px}.ops-section{background:#fff;border:1px solid var(--border);border-radius:10px;padding:12px}.ops-section-title{font-size:14px;font-weight:700;margin-bottom:10px;color:var(--text)}.ops-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px}.ops-form-row label,.ops-field{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-secondary)}.ops-project-status-row{display:grid;grid-template-columns:minmax(140px,1fr) auto;align-items:end;gap:10px;margin-bottom:8px}.ops-project-status-row>label{min-width:0;display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-secondary)}.ops-project-status{min-height:38px;align-self:end;flex-wrap:wrap}.ops-field{flex-direction:row;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.ops-field span{flex:0 0 auto}.ops-field em{font-style:normal;color:var(--text-secondary);font-size:12px;margin-left:4px}.ops-field .input{width:140px;text-align:right}.ops-field-group{border:1px solid var(--border);border-radius:8px;padding:8px;margin-bottom:8px}.ops-field-group-head{font-size:13px;font-weight:600;margin-bottom:6px}.ops-field-group-head em{font-style:normal;color:var(--text-secondary);font-size:12px}.ops-inline-end{display:flex;align-items:center;justify-content:flex-end;gap:8px}.ops-block{width:100%;justify-content:center;margin-top:4px}.ops-muted{font-size:12px;color:var(--text-secondary);line-height:1.5}.ops-textarea{resize:vertical;min-height:60px}.ops-check-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px dashed var(--border);font-size:13px}.ops-check-row.abnormal{background:#fef2f2;border-radius:6px;padding:6px 8px}.ops-check-code{font-weight:600}.ops-check-val{margin-left:auto}.ops-check-status{color:var(--danger);font-weight:600}.ops-record-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ops-record-actions .btn{min-height:40px;justify-content:center;padding:8px}.ops-record-actions .btn:disabled{cursor:not-allowed;opacity:.5}.ops-record-title{margin:14px 0 6px}.ops-record-list{max-height:105px;border:1px solid var(--border);border-radius:6px;overflow-x:hidden;overflow-y:auto}.ops-record-row{width:100%;min-height:42px;display:grid;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:12px;padding:8px 10px;border:0;border-bottom:1px solid var(--border);background:#fff;color:var(--text);text-align:left}.ops-record-row:last-child{border-bottom:0}.ops-record-row:hover{background:#f8fafc}.ops-record-row.is-selected{background:#eaf4ff;box-shadow:inset 3px 0 0 var(--primary)}.ops-record-row time{font-variant-numeric:tabular-nums;font-weight:600}.ops-record-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ops-record-empty{padding:18px 10px;color:var(--text-secondary);text-align:center;font-size:13px}.ops-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:200px;color:var(--text-secondary);font-size:14px}.ops-empty.ops-error{color:var(--danger)}.ops-readonly{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px;font-size:13px}.ops-readonly>div{display:flex;gap:6px;min-width:0}.ops-readonly span{color:var(--text-secondary);flex:0 0 auto}.ops-readonly>div{overflow-wrap:anywhere}@media (max-width: 360px){.ops-readonly{grid-template-columns:minmax(0,1fr)}}.ops-mini-table{font-size:13px;width:100%;table-layout:fixed}.ops-mini-table th,.ops-mini-table td{padding:6px 4px;overflow-wrap:anywhere}.ops-modal{min-width:320px;max-width:520px;width:calc(100vw - 32px)}.ops-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.ops-modal-head h3{display:flex;align-items:center;gap:8px}.ops-close{border:none;background:transparent;color:var(--text-secondary);display:inline-flex}.ops-modal-tip{font-size:13px;color:var(--text-secondary);margin-bottom:12px}.ops-confirm-list{display:flex;flex-direction:column;gap:12px;max-height:50vh;overflow-y:auto}.ops-confirm-item{border:1px solid #fecaca;background:#fef2f2;border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:8px}.ops-confirm-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px}.ops-confirm-dot{width:8px;height:8px;border-radius:50%;background:var(--danger);flex:0 0 8px}.ops-confirm-value{font-weight:700;color:var(--danger)}.ops-confirm-range{color:var(--text-secondary);font-size:12px}.ops-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.ops-record-overlay{align-items:flex-start;padding:8px}.ops-record-modal{width:min(520px,calc(100vw - 16px));max-height:calc(100vh - 16px);padding:14px}.ops-record-modal .ops-modal-head h3{margin-bottom:0}.ops-recorded-at{padding:8px 10px;margin-bottom:10px;background:#f1f5f9;border-radius:6px;font-size:12px;color:var(--text-secondary)}.ops-recorded-at strong{color:var(--text);font-variant-numeric:tabular-nums}.ops-record-modal>.ops-section{border:0;border-top:1px solid var(--border);border-radius:0;padding:12px 0 4px}.ops-record-modal-actions{position:sticky;bottom:-14px;margin:8px -14px -14px;padding:10px 14px;background:#fff;border-top:1px solid var(--border)}.ops-record-modal-actions .btn{flex:1;justify-content:center;min-height:40px}.ops-mgmt{min-height:100vh;background:var(--bg);display:flex;flex-direction:column}.ops-mgmt-top{position:sticky;top:0;z-index:20;height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:#1f3a5f;color:#fff}.ops-mgmt-brand{font-weight:700;font-size:15px}.ops-mgmt-actions{display:flex;align-items:center;gap:8px}.ops-mgmt-actions .btn{background:#ffffff1a;border-color:#fff3;color:#fff}.ops-mgmt-subnav{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:0 16px 12px;background:#1f3a5f}.ops-mgmt-subnav .btn{background:#ffffff1a;border-color:#fff3;color:#fff;white-space:normal;text-align:left;min-height:34px}.ops-mgmt-subnav .btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.ops-subnav-btn{flex:0 0 auto}.ops-mgmt-subnav .ops-staff-entry{white-space:normal}@media (max-width: 720px){.ops-mgmt-top{height:auto;min-height:52px;flex-wrap:wrap;gap:8px;padding:8px 12px}.ops-mgmt-actions{flex:1 1 auto;justify-content:flex-end;flex-wrap:wrap}.ops-mgmt-subnav{padding:0 12px 10px}.ops-mgmt-subnav .btn{width:100%;justify-content:flex-start}}.ops-mgmt-body{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:16px}.ops-mgmt-filters{display:flex;align-items:flex-end;gap:12px;margin-bottom:16px}.ops-mgmt-filters label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-secondary)}.ops-stat-grid{grid-template-columns:repeat(6,minmax(120px,1fr))}.ops-stat-wrap{position:relative;min-width:0}.ops-stat-card{width:100%;height:100%;text-align:left}button.ops-stat-card{display:block;border:1px solid var(--border);font:inherit;cursor:pointer}button.ops-stat-card:hover,button.ops-stat-card:focus-visible{border-color:var(--primary)}button.ops-stat-card.is-active{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary);background:#eff6ff}.ops-stat-tooltip{display:none;position:absolute;z-index:30;left:8px;top:calc(100% + 6px);width:max-content;min-width:150px;max-width:min(320px,calc(100vw - 40px));max-height:220px;overflow-y:auto;padding:9px 11px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;box-shadow:0 8px 24px #0f172a29;color:var(--text);font-size:12px}.ops-stat-tooltip strong,.ops-stat-tooltip span{display:block}.ops-stat-tooltip strong{margin-bottom:5px}.ops-stat-tooltip span{padding:2px 0;color:var(--text-secondary)}.ops-stat-wrap:nth-child(n+4) .ops-stat-tooltip{left:auto;right:0}.ops-stat-wrap:hover .ops-stat-tooltip,.ops-stat-wrap:focus-within .ops-stat-tooltip{display:block}.ops-daily-title{font-size:14px;font-weight:700;margin:0 0 10px;color:var(--text)}.ops-error-banner{padding:12px 16px;margin-bottom:12px;background:#fef2f2;border:1px solid #fecaca;color:var(--danger);border-radius:8px;font-size:13px}.ops-retry{display:flex;align-items:center;gap:10px}.ops-retry .btn{flex:0 0 auto}.ops-queue{overflow:hidden}.ops-perf{overflow:auto}.ops-queue-filter{position:sticky;left:0;display:flex;align-items:center;gap:14px;min-width:min(100%,680px);padding:10px 12px;border-bottom:1px solid var(--border);background:#f8fafc;font-size:13px}.ops-queue-filter .btn{margin-left:auto}.ops-missing-row{background:#fff7ed}.ops-missing-message{color:var(--danger);font-weight:600;text-align:center}.ops-missing-badge{display:inline-block;padding:2px 7px;border:1px solid #fca5a5;border-radius:4px;background:#fef2f2;color:var(--danger);font-size:12px;white-space:nowrap}.ops-queue-empty{padding:24px!important;text-align:center;color:var(--text-secondary)}.ops-actions{display:flex;gap:6px;flex-wrap:nowrap}.ops-actions .btn{white-space:nowrap;flex:0 0 auto}.ops-queue-table .ops-actions{flex-direction:column;align-items:stretch;min-width:92px;background:#fff}.ops-queue-table .ops-actions .btn{width:100%}.ops-th-actions{min-width:108px}.ops-inline-edit-value{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-bottom:1px dashed #1677ff;background:transparent;color:#0f5fbf;font:inherit;font-weight:600;padding:1px 2px;cursor:pointer;white-space:nowrap}.ops-inline-edit-value:hover,.ops-inline-edit-value:focus-visible{background:#eff6ff;outline:2px solid transparent;border-bottom-style:solid}.ops-rejected-resubmit{margin:0 0 12px;border:1px solid #f59e0b;border-left-width:4px;background:#fffbeb;color:#78350f;padding:10px 12px;display:grid;gap:4px;font-size:13px}.ops-td-revision{white-space:nowrap}.ops-perf-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.ops-perf-head strong{font-size:24px;margin:0 6px}.ops-perf-status{font-size:12px;color:var(--text-secondary);margin-left:8px}.ops-perf-hint{font-size:12px;color:var(--text-secondary);white-space:nowrap}.ops-perf .ops-muted{font-size:11px}@media (max-width: 720px){.ops-stat-grid{grid-template-columns:repeat(3,1fr)}.ops-mgmt-filters{flex-wrap:wrap}.ops-stat-wrap .ops-stat-tooltip{left:0;right:auto;max-width:calc(100vw - 32px);overflow-wrap:anywhere}.ops-stat-wrap:nth-child(3n+2) .ops-stat-tooltip{left:50%;transform:translate(-50%)}.ops-stat-wrap:nth-child(3n) .ops-stat-tooltip{left:auto;right:0}.ops-queue-filter{gap:8px;flex-wrap:wrap}.ops-queue-filter .btn{margin-left:0}.ops-range-inputs{width:100%;flex-wrap:wrap}.ops-project-timeline-head{align-items:stretch;flex-direction:column}.ops-project-timeline-head label{width:100%}}.ops-user-bar{padding:10px 12px}.ops-user-line{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.ops-user-name{font-weight:700;font-size:14px}.ops-perm-tag{background:#dbeafe;color:var(--primary);padding:2px 10px;border-radius:10px;font-size:12px;font-weight:600;white-space:nowrap}.ops-rev-label{background:#fef3c7;color:var(--warning);padding:2px 10px;border-radius:10px;font-size:12px;font-weight:600;white-space:nowrap}.ops-loading-sm{min-height:40px}.ops-business-date{background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;padding:10px 12px;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px}.ops-business-date.is-missing{background:#fffbeb;border-color:#fcd34d}.ops-business-date-main{display:flex;align-items:baseline;gap:8px}.ops-business-date-label{font-size:12px;color:var(--text-secondary)}.ops-business-date-value{font-size:18px;letter-spacing:0;color:#065f46;font-variant-numeric:tabular-nums}.ops-business-date.is-missing .ops-business-date-value{font-size:15px;color:#92400e}.ops-editor-date{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin-bottom:8px;padding:10px 12px;border-radius:8px;background:#ecfdf5;border:1px solid #a7f3d0}.ops-editor-date span{font-size:12px;color:var(--text-secondary)}.ops-editor-date strong{font-size:18px;color:#065f46;font-variant-numeric:tabular-nums}.ops-editor-date.is-missing{background:#fffbeb;border-color:#fcd34d}.ops-editor-date.is-missing strong{color:#92400e;font-size:15px}.ops-meter-card{border:1px solid var(--border);border-radius:8px;padding:8px;margin-bottom:8px}.ops-meter-card.is-regressed{border-color:var(--danger);background:#fef2f2}.ops-meter-head{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:600;margin-bottom:6px;flex-wrap:wrap}.ops-meter-head em{font-style:normal;color:var(--text-secondary);font-size:12px}.ops-electricity-multiplier{display:inline-flex;align-items:center;gap:6px;margin-left:10px;font-weight:600;color:var(--text-primary)}.ops-electricity-multiplier-input{display:inline-flex;align-items:center;gap:4px}.ops-electricity-multiplier-input .input{width:82px;min-width:82px;height:32px;padding:4px 8px}.ops-electricity-multiplier strong{color:var(--primary)}.ops-required-tag{display:inline-block;font-style:normal;font-size:11px;font-weight:600;color:#b91c1c;border:1px solid #fca5a5;background:#fef2f2;border-radius:4px;padding:0 4px;margin-left:4px;vertical-align:1px}.ops-meter-warn{color:var(--danger);font-size:11px;font-weight:600;margin-left:auto}.ops-meter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.ops-meter-cell{display:flex;flex-direction:column;gap:2px;padding:6px 8px;background:#f8fafc;border-radius:6px;min-width:0}.ops-meter-cell>span{font-size:11px;color:var(--text-secondary)}.ops-meter-cell>strong{font-size:14px;word-break:break-all}.ops-meter-cell .input{text-align:right}@media (min-width: 560px){.ops-meter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.ops-item-card{border:1px solid var(--border);border-radius:8px;padding:8px;margin-bottom:8px}.ops-item-head{font-size:13px;font-weight:600;margin-bottom:6px}.ops-item-head em{font-style:normal;color:var(--text-secondary);font-size:12px;margin-left:4px}.ops-item-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.ops-stock-hint{font-size:12px;color:var(--text-secondary)}.ops-stock-hint strong{color:var(--text)}.ops-stock-date{font-style:normal;font-size:11px;color:var(--text-secondary);margin-left:6px}.ops-item-input{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.ops-item-input .input{width:110px;text-align:right}.ops-item-usage{font-size:12px;color:var(--text-secondary)}.ops-item-usage strong{color:var(--text)}.ops-revision-limit{flex:1;display:flex;align-items:center;gap:10px;color:var(--danger);font-size:12px}.ops-revision-limit .btn{flex:0 0 auto}.ops-revision-limit-hint{color:var(--danger);font-size:12px;white-space:nowrap}.ops-modal-wide{max-width:760px;width:calc(100vw - 32px)}.ops-hq-editor{max-height:88vh;overflow-y:auto}.ops-hq-badge{background:#1f3a5f;color:#fff;padding:4px 10px;border-radius:6px;font-size:14px;font-weight:600}.ops-hq-meta{display:flex;gap:14px;font-size:12px;color:var(--text-secondary);margin-bottom:10px;flex-wrap:wrap}.ops-version-history{margin-top:12px}.ops-version-item{border:1px solid var(--border);border-radius:8px;margin-bottom:8px;overflow:hidden}.ops-version-head{width:100%;display:flex;align-items:center;gap:8px;padding:8px 10px;background:#f8fafc;border:none;cursor:pointer;text-align:left;font-size:13px;flex-wrap:wrap}.ops-version-head strong{margin-right:auto}.ops-version-body{padding:10px;border-top:1px solid var(--border)}.ops-version-body h5{color:var(--text-secondary);font-size:12px}.ops-version-fees{display:flex;flex-wrap:wrap;gap:16px;margin:4px 0 8px;font-size:13px}.ops-version-fees strong{font-variant-numeric:tabular-nums}.ops-mgmt-clock{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-variant-numeric:tabular-nums;color:#ffffffeb}.ops-queue-table-wrap{max-width:100%;max-height:min(64vh,680px);overflow-x:auto;overflow-y:auto;scrollbar-gutter:stable;overscroll-behavior-inline:contain}.ops-queue-table{width:max-content;min-width:max(100%,1120px);border-collapse:collapse}.ops-queue-table th{position:sticky;top:0;z-index:2;background:#fff;box-shadow:inset 0 -1px 0 var(--border);font-size:12px;color:var(--text-secondary);white-space:nowrap;padding:8px;text-align:left}.ops-queue-table td{padding:8px;border-top:1px solid var(--border);font-size:13px}.ops-queue-table th.ops-th-actions{right:0;z-index:4;box-shadow:-4px 0 8px #0f172a14,inset 0 -1px 0 var(--border)}.ops-queue-table td.ops-actions{position:sticky;right:0;z-index:1;box-shadow:-4px 0 8px #0f172a14}.ops-range-details-table{table-layout:fixed;width:100%;min-width:700px}.ops-range-details-table th:first-child{width:220px}.ops-range-details-table th.ops-th-actions{width:120px}.ops-th-project{min-width:120px}.ops-th-date{min-width:110px}.ops-queue-table th.ops-th-meter{background:#f1f5f9}.ops-queue-table th.ops-th-usage{background:#fef9ec}.ops-project-total-row td{background:#eef4ff;font-weight:600}.ops-th-unit{font-style:normal;font-size:11px;color:var(--text-secondary);margin-left:3px;font-weight:400}.ops-td-project{font-weight:600;white-space:nowrap}.ops-td-date{white-space:nowrap}.ops-td-qty{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.ops-td-operator{white-space:nowrap}.ops-unit{font-size:11px;color:var(--text-secondary);margin-left:2px}.ops-operating{padding:12px 16px;border-bottom:1px solid var(--border)}.ops-operating-totals{display:flex;flex-direction:column;gap:12px}.ops-operating-group{display:flex;flex-direction:column;gap:6px}.ops-operating-group-title{font-size:12px;font-weight:600;color:var(--text-secondary)}.ops-operating-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));column-gap:24px;row-gap:6px}.ops-operating-cell{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:4px 0;border-bottom:1px dashed var(--border);min-width:0}.ops-operating-label{font-size:12px;color:var(--text-secondary)}.ops-operating-cell strong{font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap}.ops-detail{max-height:88vh;overflow-y:auto}@media (max-width: 720px){.ops-mgmt-clock{font-size:12px}.ops-operating-grid{grid-template-columns:1fr}}.ops-projects-toolbar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:16px}.ops-projects-toolbar label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-secondary)}.ops-projects-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.ops-project-cell{display:flex;align-items:stretch;gap:6px;max-width:100%}.ops-project-btn{flex:0 1 auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;max-width:100%;min-height:40px;padding:8px 14px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-weight:500;overflow:hidden;text-align:center}.ops-project-btn-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ops-project-multisite-label{flex:0 0 auto;padding-left:8px;border-left:1px solid #bfdbfe;color:var(--primary);font-size:13px;font-weight:500;white-space:nowrap}.ops-project-btn:hover{background:#f1f5f9}.ops-project-btn.active{border-color:var(--primary);background:#eaf4ff;color:var(--primary);font-weight:600}.ops-project-btn.is-multisite.active{background:var(--surface)}.ops-contract-status{flex:0 0 auto;padding:2px 8px;border-radius:10px;font-size:12px;line-height:18px;white-space:nowrap;border:1px solid var(--border);background:#fff7ed;color:#b45309}.ops-contract-no_extension,.ops-contract-expired{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.ops-contract-missing_dates{background:#f8fafc;color:var(--text-secondary)}.ops-contract-not_started{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.ops-project-detail{padding:16px}.ops-project-detail-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.ops-project-detail-title{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}.ops-project-detail-name-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.ops-project-detail-title h3{font-size:16px;font-weight:700;word-break:break-word;overflow-wrap:anywhere}.ops-project-detail-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto}.ops-project-detail-actions .btn{flex:0 0 auto;white-space:nowrap}.ops-project-range{display:flex;flex-wrap:wrap;gap:8px 20px;padding:10px 12px;background:#f8fafc;border-radius:6px;margin-bottom:14px;font-size:13px;color:var(--text-secondary)}.ops-project-range span{display:inline-flex;gap:4px;white-space:nowrap}.ops-project-range strong{color:var(--text);font-variant-numeric:tabular-nums}.ops-project-table-wrap{overflow-x:auto}.ops-project-table{width:100%;min-width:820px;border-collapse:collapse;table-layout:fixed}.ops-project-table th{font-size:12px;color:var(--text-secondary);white-space:nowrap;padding:8px;text-align:left}.ops-project-table td{padding:8px;border-top:1px solid var(--border);font-size:13px}.ops-project-table .ops-th-name,.ops-project-table .ops-td-name{width:170px;text-align:left}.ops-project-table .ops-th-qty,.ops-project-table .ops-td-qty{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.ops-project-table .ops-td-name{white-space:nowrap}.ops-project-table .ops-td-name strong{margin-right:6px}.ops-project-table .ops-metric-input{width:104px;text-align:right;padding:4px 6px;font-variant-numeric:tabular-nums}.ops-project-table .ops-row-dirty td{background:#fefce8}.ops-project-editor{max-height:88vh;overflow-y:auto}.ops-target-month{margin-bottom:10px}.ops-target-month .ops-section-title{margin-bottom:6px;font-weight:700;color:var(--text)}.ops-target-month .input{max-width:240px}.ops-target-groups{display:flex;flex-direction:column;gap:10px}.ops-target-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.ops-target-cell{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-secondary);min-width:0}.ops-target-cell .input{width:100%}@media (max-width: 720px){.ops-projects-toolbar{gap:8px}.ops-project-btn{min-height:38px;padding:8px 10px}.ops-target-grid{grid-template-columns:1fr 1fr}}.ops-info-banner{padding:10px 14px;margin-bottom:12px;background:#f0f9ff;border:1px solid #bae6fd;color:#075985;border-radius:8px;font-size:13px;line-height:1.5}.ops-site-picker{display:flex;flex-direction:column;gap:8px}.ops-site-buttons{display:flex;flex-wrap:wrap;gap:8px}.ops-site-btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:14px;white-space:nowrap}.ops-site-btn .ops-unit{color:var(--text-secondary);font-size:12px;font-style:normal}.ops-site-btn:hover{background:#f1f5f9}.ops-site-btn.active{border-color:var(--primary);background:#eaf4ff;color:var(--primary);font-weight:600}.ops-site-hint{font-size:13px;color:var(--text-secondary)}.ops-site-panel{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.ops-site-panel-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:8px}.ops-site-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.ops-site-tab{flex:0 0 auto;min-height:36px;padding:6px 14px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);font-size:13px;white-space:nowrap}.ops-site-tab:hover{background:#f1f5f9}.ops-site-tab.active{border-color:var(--primary);background:#eaf4ff;color:var(--primary);font-weight:600}.ops-site-detail{display:flex;flex-direction:column;gap:12px}.ops-site-profile{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px;background:#f8fafc;border-radius:8px}.ops-site-profile-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px 16px;flex:1 1 auto;min-width:0}.ops-site-profile-fields>div{display:flex;flex-direction:column;gap:2px;font-size:13px;min-width:0}.ops-site-profile-fields span{color:var(--text-secondary);font-size:12px}.ops-site-profile-fields .input{width:100%}.ops-site-profile-actions{display:flex;flex-wrap:wrap;gap:8px}.ops-site-panel-note{font-size:13px;color:var(--text-secondary);margin:0}.ops-site-metric-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin:12px 0 8px}@media (max-width: 720px){.ops-project-cell{flex-wrap:wrap}.ops-site-profile-fields{grid-template-columns:1fr}.ops-site-tab{min-height:34px;padding:6px 12px}}.workspace{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.workspace-top{flex:0 0 56px;height:56px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 20px;background:var(--surface);border-bottom:1px solid var(--border)}.workspace-brand{font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-user{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-secondary);min-width:0}.workspace-user .workspace-realname{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-user .workspace-account{white-space:nowrap;font-variant-numeric:tabular-nums}.workspace-user .btn{flex:0 0 auto}.workspace-console-link{color:var(--text)}.workspace-body{flex:1;width:100%;max-width:1120px;margin:0 auto;padding:32px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px}.workspace-heading{text-align:center;min-width:0}.workspace-heading h1{font-size:22px;font-weight:700}.workspace-heading p{margin-top:6px;font-size:13px;color:var(--text-secondary)}.workspace-groups{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}.workspace-group{min-width:0}.workspace-group h2{margin:0 0 10px;font-size:15px;font-weight:700;color:var(--text-secondary)}.workspace-entries{width:100%;display:flex;flex-direction:column;gap:10px}.workspace-entry{display:flex;align-items:center;gap:14px;width:100%;min-height:64px;padding:0 18px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);text-decoration:none;font-size:15px;font-weight:600}.workspace-entry:hover{border-color:var(--primary);background:#f8fafc}.workspace-entry-icon{flex:0 0 36px;width:36px;height:36px;display:grid;place-items:center;border-radius:8px;background:#eef3f9;color:var(--primary)}.workspace-entry-text{min-width:0;display:flex;flex-direction:column}.workspace-entry-text small{font-weight:400;font-size:12px;color:var(--text-secondary)}.workspace-notice{width:100%;padding:10px 14px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:var(--danger);font-size:13px;text-align:center}.workspace-loading{min-height:100vh;display:grid;place-items:center;color:var(--text-secondary);font-size:14px}@media (max-width: 720px){.workspace-top{padding:0 12px}.workspace-brand{font-size:13px}.workspace-user{gap:8px}.workspace-body{padding:24px 12px;gap:20px}.workspace-groups{grid-template-columns:1fr;gap:18px}.workspace-heading h1{font-size:19px}.workspace-entry{min-height:60px;padding:0 14px;gap:12px}}.su-card{overflow:auto}.su-page{flex:1;min-width:0;padding:16px;overflow:hidden}.su-table{width:100%;min-width:880px;border-collapse:collapse}.su-perm-tags{display:flex;flex-wrap:wrap;gap:4px}.su-perm-tag{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;white-space:nowrap;background:#dbeafe;color:var(--primary)}.su-perm-none{font-size:12px;color:var(--text-secondary)}.su-modal{width:min(640px,calc(100vw - 24px));min-width:0}.su-perm-checks{display:flex;flex-wrap:wrap;gap:6px 18px}.su-check{display:inline-flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap;cursor:pointer}.su-check input{accent-color:var(--primary)}@media (max-width: 560px){.su-modal .form-row{grid-template-columns:1fr}.su-perm-checks{flex-direction:column;align-items:flex-start;gap:6px}}@media (max-width: 640px){.kis-windowbar{padding-right:6px}.kis-menu{display:none}.kis-tabbar{padding-left:0}.kis-sidebar{width:56px;flex-basis:56px}.kis-nav-item{height:40px;justify-content:center;gap:0;padding:0}.kis-nav-item span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.kis-main{overflow:hidden}.kis-statusbar{gap:6px}.kis-statusbar span:nth-child(2),.kis-statusbar span:nth-child(3){display:none}.su-page{padding:12px}.su-page .page-header{gap:8px;margin-bottom:12px}.su-page .page-header h2{font-size:17px}.su-page .page-header .btn{padding:8px 10px}}.pm-page{min-height:100vh;background:var(--bg);display:flex;flex-direction:column}.pm-top{position:sticky;top:0;z-index:20;flex:0 0 52px;height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;background:var(--surface);border-bottom:1px solid var(--border)}.pm-brand{font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pm-user{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-secondary);min-width:0}.pm-user .pm-realname,.pm-user .pm-account{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pm-user .btn{flex:0 0 auto}.pm-body{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:16px;min-width:0}.pm-hint{font-size:12px;color:var(--text-secondary);line-height:1.5}.pm-personnel-badge{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;color:#1f2937}.pm-personnel-badge strong{font-variant-numeric:tabular-nums}.pm-personnel-badge small{color:#16794b;font-size:11px;font-weight:600}.pm-personnel-badge-empty{color:var(--text-secondary)}.pm-personnel-badge-field{min-height:38px;display:flex;align-items:center;padding:7px 10px;border:1px solid var(--border);background:#f6f8fa}.pm-confirm-text{font-size:13px;color:var(--text);line-height:1.6}.pm-card{overflow:auto}.pm-table{width:100%;min-width:1080px;border-collapse:collapse}.pm-table .pm-th-sort{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:none;color:inherit;font:inherit;font-weight:inherit;line-height:1.5;white-space:nowrap;cursor:pointer;writing-mode:horizontal-tb}.pm-table .pm-th-sort:hover{color:var(--text)}.pm-table .pm-th-sort:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}.pm-table .pm-th-sort-icon{display:inline-flex;align-items:center;flex:0 0 auto}.pm-table th[aria-sort] .pm-th-sort{color:var(--text);font-weight:600}.pm-summary{display:flex;flex-wrap:wrap;gap:4px 12px;min-width:0}.pm-summary-item{font-size:12px;color:var(--text-secondary);white-space:nowrap}.pm-summary-item strong{color:var(--text);font-weight:600;margin-right:4px}.pm-actions{display:flex;gap:6px;flex-wrap:nowrap}.pm-actions .btn{white-space:nowrap;flex:0 0 auto}.pm-modal{width:min(720px,calc(100vw - 24px));min-width:0}.pm-matrix{overflow-x:auto}.pm-matrix-table{width:100%;min-width:520px;border-collapse:collapse}.pm-matrix-table th{font-size:12px;color:var(--text-secondary);white-space:nowrap;padding:8px;text-align:left}.pm-matrix-table td{padding:8px;border-top:1px solid var(--border);font-size:13px}.pm-matrix-table input[type=checkbox]{accent-color:var(--primary);cursor:pointer}.pm-matrix-table input[type=checkbox]:disabled{opacity:.4;cursor:not-allowed}@media (max-width: 720px){.pm-body{padding:12px}.pm-top{padding:0 12px}.pm-user{gap:8px}}@media (max-width: 480px){.pm-brand{font-size:13px}.pm-user .pm-realname{display:none}.pm-user .btn{padding:5px 8px;font-size:12px}.pm-modal .form-row{grid-template-columns:1fr}.pm-body .page-header{gap:8px;margin-bottom:12px}.pm-body .page-header h2{font-size:17px}.pm-body .page-header .btn{padding:8px 10px}}.pm-field-error{display:block;color:var(--danger);font-size:12px;line-height:1.4;margin:0 0 6px}.form-group>.pm-field-error{margin-top:2px}.pm-profile-block{border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin:14px 0;background:#fbfcfe}.pm-profile-title{font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:10px}.pm-profile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:4px 12px}.pm-profile-field{margin-bottom:8px;min-width:0}.pm-profile-field label{font-size:12px;color:var(--text-secondary)}.pm-profile-field .input{padding:6px 10px;font-size:13px}.pm-pw-note{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary);line-height:1.5;margin-top:6px}.pm-pw-history{margin-top:8px;border-left:3px solid var(--border);padding:2px 0 2px 10px}.pm-pw-history-title{font-size:12px;color:var(--text-secondary);margin-bottom:4px}.pm-pw-history-item{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--text);font-variant-numeric:tabular-nums;padding:2px 0;border-bottom:1px dashed var(--border)}.pm-pw-history-item:last-child{border-bottom:0}.pm-pw-history-item span:first-child{white-space:nowrap}.pm-pw-history-item span:last-child{color:var(--text-secondary)}.pm-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sal-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.sal-month-label{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--text-secondary);white-space:nowrap}.sal-month-input{width:160px}.sal-ro-tip{font-size:12px;color:var(--text-secondary);white-space:nowrap}.sal-table-wrap{overflow:auto;max-height:min(62vh,640px)}.sal-table{min-width:1980px;border-collapse:separate;border-spacing:0}.sal-table thead th{position:sticky;top:0;z-index:3;background:#f8fafc;box-shadow:0 1px 0 var(--border)}.sal-table th{padding:7px 8px;font-size:12px}.sal-table td{padding:4px 6px;vertical-align:middle}.sal-table td:not(.sal-total){white-space:nowrap}.sal-input{min-width:104px;width:104px;padding:5px 8px;font-size:13px;text-align:right;font-variant-numeric:tabular-nums}.sal-input:disabled{background:#f8fafc;color:var(--text-secondary);cursor:not-allowed}.sal-total{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap;color:var(--text)}.sal-seq{text-align:center;color:var(--text-secondary);font-variant-numeric:tabular-nums}.sal-notice{color:var(--warning);margin-left:2px}.sal-row-dirty{background:#fffbeb}.sal-row-error{margin-top:4px;color:var(--danger);font-size:12px;line-height:1.4;max-width:180px}.sal-footnote{margin-top:10px;font-size:12px;color:var(--text-secondary);line-height:1.7}.sal-filter-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}.sal-filter-label{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);white-space:nowrap}.sal-filter-input{width:180px}.sal-filter-hint{font-size:12px;color:var(--text-secondary)}.sal-preview-card{margin-top:14px;padding:12px 14px 14px}.sal-preview-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px}.sal-preview-title{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font-size:14px}.sal-preview-title span{font-size:12px;color:var(--text-secondary)}.sal-preview-actions{display:flex;gap:8px}.sal-preview-tip{font-size:12px;color:var(--text-secondary);margin:0 0 10px;line-height:1.6}.sal-import-cell{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}@media (max-width: 720px){.sal-toolbar{justify-content:flex-start}.pm-header-actions{width:100%;justify-content:flex-end}}.ops-reporter-area{border:1px dashed #b9c6d8;border-radius:8px;padding:10px 12px 12px;margin-bottom:10px;background:#f8fafc}.ops-reporter-area .ops-section-title,.ops-reporter-area .ops-form-row{margin-bottom:6px}.ops-reporter-area label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-secondary);min-width:0}.ops-reporter-area .input[readonly]{background:#eef2f7;color:var(--text);cursor:default}.ops-pw-status{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border:1px solid var(--border);border-radius:6px;background:#eef2f7;color:var(--text);font-size:13px}.ops-field-error{display:block;color:var(--danger);font-size:12px;line-height:1.4;margin-top:2px}@media (max-width: 720px){.ops-reporter-area .ops-form-row{grid-template-columns:1fr}}.biz-page{min-height:100vh;background:var(--bg);color:var(--text)}.biz-page .pm-brand{display:inline-flex;align-items:center;gap:7px}.biz-body{width:100%;max-width:1480px;margin:0 auto;padding:16px;min-width:0}.biz-subtitle{margin-top:3px;font-size:12px;color:var(--text-secondary)}.biz-tabs{display:flex;gap:0;margin-bottom:14px;border-bottom:1px solid var(--border)}.biz-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;padding:9px 18px;color:var(--text-secondary);cursor:pointer}.biz-tabs button.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.biz-period-kpis{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));border:1px solid var(--border);border-radius:8px;background:var(--surface);margin-bottom:14px;overflow:hidden}.biz-period-band{padding:12px 14px;border-right:1px solid var(--border);min-width:0}.biz-period-band:last-child{border-right:0}.biz-period-band h3{font-size:13px;margin-bottom:8px;color:var(--text-secondary)}.biz-completion{display:grid;grid-template-columns:minmax(76px,auto) 1fr auto;align-items:baseline;gap:8px;padding:5px 0;font-size:12px}.biz-completion strong{text-align:right;font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}.biz-completion b{min-width:58px;text-align:right;color:var(--primary);font-variant-numeric:tabular-nums}.biz-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 0}.biz-segment{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.biz-segment button{min-height:34px;padding:0 11px;border:0;border-right:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;white-space:nowrap}.biz-segment button:last-child{border-right:0}.biz-segment button.active{background:#eaf4ff;color:var(--primary);font-weight:600}.biz-period-parts{display:flex;gap:6px}.biz-period-parts .input{width:96px}.biz-period-input{width:150px}.biz-sync{min-height:32px;display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--text-secondary);font-size:12px}.biz-sync-dot{width:7px;height:7px;border-radius:50%;background:#94a3b8}.biz-sync-dot.ready{background:#16a34a}.biz-legend{display:inline-flex;gap:10px;margin-left:auto}.biz-source-local{color:#111827}.biz-source-kd{color:#1f2937cc}.biz-source-mixed{color:#475569;text-decoration:underline dotted #94a3b8;text-underline-offset:3px}.biz-summary-wrap,.biz-project-wrap{overflow-x:auto}.biz-summary-table{width:100%;min-width:1120px;border-collapse:collapse}.biz-summary-table th,.biz-summary-table td{padding:8px;border:1px solid var(--border);font-size:12px;white-space:nowrap;text-align:left}.biz-summary-table thead th{background:#f8fafc;color:var(--text-secondary);text-align:center}.biz-summary-table .biz-sign-head{background:#fff1e9;color:#7c2d12}.biz-summary-table .biz-collection-head{background:#edf7f1;color:#14532d}.biz-summary-table tbody td:nth-child(1){font-weight:700}.biz-summary-table tbody td:nth-child(3),.biz-summary-table tbody td:nth-child(5),.biz-summary-table tbody td:nth-child(6),.biz-summary-table tbody td:nth-child(8),.biz-summary-table tbody td:nth-child(10){text-align:right;font-variant-numeric:tabular-nums}.biz-summary-table tr.biz-group-last td{border-bottom:2px solid #b8c4d2}.biz-summary-table tfoot th{background:#e8eef5;font-variant-numeric:tabular-nums}.biz-project-table{min-width:1040px}.biz-link{border:0;background:none;padding:0;color:var(--primary);cursor:pointer;font-weight:600}.biz-empty{text-align:center!important;color:var(--text-secondary);padding:22px!important}.biz-modal{width:min(720px,calc(100vw - 24px));max-height:90vh;overflow-y:auto}.biz-modal-wide{width:min(980px,calc(100vw - 24px))}.biz-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.biz-modal-head h3{font-size:17px}.biz-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px}.biz-form-grid .form-group{min-width:0}.biz-form-grid .form-group span{font-size:12px;color:var(--text-secondary)}.biz-form-grid small{color:#64748b}.biz-kd-field .input{color:#1f2937cc;background:#f4f6f8}.biz-modal-actions{margin-top:16px;display:flex;justify-content:flex-end;gap:8px}.biz-detail-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;padding:10px 12px;margin-bottom:14px;background:#f8fafc;border-radius:6px;font-size:13px}.biz-detail-meta strong{margin-left:auto;font-variant-numeric:tabular-nums}.biz-modal h4{font-size:14px;margin:14px 0 8px}.biz-inline-form{display:flex;flex-wrap:wrap;gap:7px;align-items:center;padding:9px 0}.biz-inline-form .input{flex:0 1 150px;min-width:112px}.biz-inline-form .biz-grow{flex:1 1 220px}.biz-timeline article,.biz-plan-list article{padding:10px 0;border-bottom:1px solid var(--border)}.biz-timeline article{display:grid;grid-template-columns:160px 180px 1fr;gap:5px 12px;font-size:13px}.biz-timeline time,.biz-follow-line time{color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.biz-timeline p{grid-column:2 / -1}.biz-plan-head,.biz-follow-line{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}.biz-follow-line{justify-content:flex-start;padding:5px 0 0 14px;color:var(--text-secondary)}.biz-history{display:flex;flex-direction:column;gap:4px}.biz-history .biz-completion{border-bottom:1px solid var(--border);padding:10px 0}@media (max-width: 960px){.biz-period-kpis{grid-template-columns:repeat(2,minmax(220px,1fr))}.biz-period-band:nth-child(2){border-right:0}.biz-period-band:nth-child(-n+2){border-bottom:1px solid var(--border)}.biz-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 600px){.biz-body{padding:12px}.biz-page .pm-user>span{display:none}.biz-period-kpis{grid-template-columns:1fr}.biz-period-band,.biz-period-band:nth-child(2){border-right:0;border-bottom:1px solid var(--border)}.biz-period-band:last-child{border-bottom:0}.biz-form-grid{grid-template-columns:1fr}.biz-toolbar{align-items:stretch}.biz-toolbar>*{max-width:100%}.biz-legend{width:100%;margin-left:0}.biz-timeline article{grid-template-columns:1fr}.biz-timeline p{grid-column:1}.biz-inline-form .input,.biz-inline-form .biz-grow,.biz-inline-form .btn{flex:1 1 100%;width:100%}}.bm-page{min-height:100vh;background:var(--bg);display:flex;flex-direction:column}.bm-top{position:sticky;top:0;z-index:20;flex:0 0 52px;height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;background:var(--surface);border-bottom:1px solid var(--border)}.bm-brand{font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bm-user{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-secondary);min-width:0}.bm-realname,.bm-account{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bm-user .btn{flex:0 0 auto}.bm-body{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:16px;min-width:0}.bm-tab-inner{display:inline-flex;align-items:center;gap:6px}.bm-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.bm-kpi{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px 14px;min-width:0}.bm-kpi-title{font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.bm-kpi-error{color:var(--danger);font-size:12px}.bm-kpi-loading{grid-column:1 / -1}.bm-completion{display:flex;align-items:baseline;gap:8px;min-width:0;padding:4px 0}.bm-completion+.bm-completion{border-top:1px dashed var(--border)}.bm-completion-label{flex:0 0 auto;font-size:12px;color:var(--text-secondary)}.bm-completion-amount{flex:1 1 auto;min-width:0;font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bm-completion-plan-link{border:0;padding:0;background:transparent;color:#1d4ed8;font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;text-decoration:underline dotted;text-underline-offset:2px;white-space:nowrap}.bm-completion-plan-link:hover{color:#1e3a8a}.bm-completion-plan-link:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.bm-completion-ratio{flex:0 0 auto;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.bm-toolbar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:12px}.bm-field{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-secondary);min-width:0}.bm-field>span:first-child{font-size:12px}.bm-period-select{min-width:150px}.bm-keyword{min-width:200px}.bm-toolbar-end{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bm-segment{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.bm-segment button{border:none;background:var(--surface);color:var(--text-secondary);padding:7px 12px;font-size:13px;font-weight:500}.bm-segment button+button{border-left:1px solid var(--border)}.bm-segment button.active{background:var(--primary);color:#fff}.bm-sync{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;font-size:13px}.bm-sync-badge{display:inline-block;padding:2px 10px;border-radius:10px;font-size:12px;font-weight:600;background:#e2e8f0;color:var(--text-secondary);white-space:nowrap}.bm-muted{font-size:12px;color:var(--text-secondary);line-height:1.5}.bm-legend{margin-left:auto;display:inline-flex;gap:10px;font-size:12px;color:var(--text-secondary)}.bm-warn-banner{color:var(--warning);background:#fffbeb;border-color:#fde68a}.bm-group{margin-bottom:16px;overflow:hidden}.bm-group-head{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid var(--border);background:#f8fafc}.bm-group-name{font-size:14px;font-weight:700;margin-right:auto}.bm-dual{display:grid;grid-template-columns:1fr 1fr}.bm-half{min-width:0}.bm-half+.bm-half{border-left:1px solid var(--border)}.bm-half-title{font-size:13px;font-weight:600;color:var(--text-secondary);padding:8px 14px 0}.bm-table-wrap{overflow-x:auto}.bm-table{width:100%;min-width:560px;border-collapse:collapse}.bm-table th{font-size:12px;color:var(--text-secondary);white-space:nowrap;padding:8px 10px;text-align:left}.bm-table td{padding:8px 10px;border-top:1px solid var(--border);font-size:13px}.bm-num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.bm-table th.bm-num{text-align:right;font-variant-numeric:tabular-nums}.bm-history-table th.bm-num,.bm-history-table td.bm-num{min-width:112px}.bm-history-table td.bm-num{font-size:13px}.bm-nowrap{white-space:nowrap}.bm-td-name{font-weight:600}.bm-cell-sub{font-size:11px;color:var(--text-secondary);font-weight:400}.bm-empty{padding:18px 10px;color:var(--text-secondary);text-align:center;font-size:13px}.bm-subtotal td{background:#f8fafc;font-weight:600}.bm-total{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:10px 14px;margin-bottom:16px}.bm-total strong{font-size:14px;margin-right:auto}.bm-src-kingdee{color:#9aa3af}.bm-src-mixed-tag{display:inline-block;font-style:normal;font-size:11px;color:var(--text-secondary);border:1px solid var(--border);border-radius:4px;padding:0 4px;margin-left:4px;vertical-align:1px}.bm-local-value{color:#1d4ed8;font-weight:600}.bm-local-badge{display:inline-block;font-style:normal;font-size:11px;color:#1d4ed8;border:1px solid #93b4f5;background:#eef4ff;border-radius:4px;padding:0 4px;margin-left:4px;vertical-align:1px;cursor:help}.bm-local-meta{position:relative;display:inline-block}.bm-local-note{display:none;position:absolute;z-index:60;left:0;top:calc(100% + 4px);min-width:200px;max-width:320px;padding:6px 8px;background:#0f172a;color:#f8fafc;border-radius:6px;font-size:11px;line-height:1.5;box-shadow:0 6px 18px #0f172a40}.bm-local-meta:hover .bm-local-note,.form-group:focus-within .bm-local-note,.bm-local-value:focus .bm-local-note{display:block}.bm-local-note-line{display:flex;gap:6px}.bm-local-note-line b{color:#93c5fd;font-weight:600;flex:0 0 auto}.bm-local-note-line span{word-break:break-all}.bm-ledger-table .bm-local-value{position:relative;display:inline-block;max-width:100%}.bm-section-title{font-size:14px;margin:14px 0 6px}.bm-sign-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.bm-sign-cell{min-width:0}.bm-sign-empty{display:block}.bm-date{min-width:150px}.bm-modal{width:min(680px,calc(100vw - 24px));min-width:0}.bm-modal-wide{width:min(860px,calc(100vw - 24px))}.bm-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.bm-modal-head h3{font-size:16px;min-width:0}.bm-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;flex-wrap:wrap}.bm-modal-delete{margin-right:auto}.bm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.bm-kd-tag{display:inline-block;font-style:normal;font-size:11px;color:var(--text-secondary);border:1px solid var(--border);border-radius:4px;padding:0 4px;margin-left:4px}.bm-textarea{resize:vertical;min-height:60px}.bm-confirm-text{font-size:13px;line-height:1.6;margin-bottom:4px}.bm-ro-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px 14px;padding:10px 12px;background:#f8fafc;border:1px solid var(--border);border-radius:8px;margin-bottom:12px}.bm-ro-field{display:flex;gap:6px;font-size:13px;min-width:0}.bm-ro-field span{color:var(--text-secondary);flex:0 0 auto}.bm-ro-field strong{font-weight:600;font-variant-numeric:tabular-nums;word-break:break-all}.bm-detail-section{border-top:1px solid var(--border);padding-top:10px;margin-top:4px}.bm-detail-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;flex-wrap:wrap}.bm-detail-head h4{font-size:14px}.bm-follow-item{border-top:1px dashed var(--border);padding:8px 0;font-size:13px}.bm-follow-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bm-follow-head time{font-variant-numeric:tabular-nums;font-weight:600}.bm-follow-text{margin-top:4px;white-space:pre-wrap;word-break:break-word}.bm-contact-form{border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin:8px 0;background:#fbfcfe}.bm-inline-actions{display:flex;justify-content:flex-end;margin-top:8px}.bm-plan-item{border-top:1px dashed var(--border);padding:8px 0}.bm-plan-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.bm-plan-head strong{font-variant-numeric:tabular-nums}.bm-plan-amounts{font-size:13px;font-variant-numeric:tabular-nums;margin-right:auto}.bm-plan-follow{margin:8px 0 4px;padding-left:10px;border-left:3px solid var(--border)}.bm-table-card{overflow:hidden}.bm-data-scroll{max-width:100%;max-height:min(64vh,680px);overflow:auto;scrollbar-gutter:stable both-edges;overscroll-behavior:contain}.bm-data-scroll:focus-visible{outline:2px solid #2563eb;outline-offset:-2px}.bm-data-scroll .bm-table thead th{position:sticky;top:0;z-index:3;background:#f8fafc;box-shadow:inset 0 -1px 0 var(--border)}.bm-ledger-table{min-width:1040px}.bm-row-actions{display:flex;gap:6px;flex-wrap:nowrap}.bm-row-actions .btn{white-space:nowrap;flex:0 0 auto}.bm-row-actions-vertical{flex-direction:column;align-items:stretch}.bm-ledger-action-col{position:sticky;right:0;z-index:2;min-width:78px;background:var(--surface);box-shadow:-1px 0 0 var(--border)}.bm-ledger-table thead .bm-ledger-action-col{z-index:5;background:#f8fafc}.bm-ps-hint{margin:-4px 0 12px}.bm-ps-wrap{max-width:100%}.bm-ps-table{min-width:1480px}.bm-ps-table thead tr:first-child th{height:42px}.bm-data-scroll .bm-ps-table thead tr:nth-child(2) th{top:42px}.bm-ps-table th.bm-ps-month,.bm-ps-table td.bm-ps-cell{min-width:92px}.bm-ps-month-sub{text-align:center;color:var(--text-secondary);font-weight:400}.bm-ps-actual-h{display:block;font-style:normal;font-size:10px;color:var(--text-secondary);font-weight:400}.bm-ps-cell{vertical-align:top}.bm-ps-cell-empty{background:#fbfcfe}.bm-num-input{width:100%;min-width:76px;padding:4px 6px;font-variant-numeric:tabular-nums}.bm-ps-cell .bm-num-input{padding:3px 5px;font-size:12px}.bm-ps-actual{min-height:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bm-warn-sub{color:var(--warning)}.bm-contract-missing{margin-top:10px}@media (max-width: 900px){.bm-dual{grid-template-columns:1fr}.bm-half+.bm-half{border-left:0;border-top:1px solid var(--border)}.bm-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.bm-body{padding:12px}.bm-top{padding:0 12px}.bm-user{gap:8px}.bm-toolbar-end{margin-left:0;width:100%;justify-content:flex-end}.bm-body>.tabs{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden}.bm-body>.tabs .tab{flex:0 0 auto;white-space:nowrap}}@media (max-width: 480px){.bm-brand{font-size:13px}.bm-realname{display:none}.bm-user .btn{padding:5px 8px;font-size:12px}.bm-kpi-grid,.bm-form-grid,.bm-sign-grid{grid-template-columns:1fr}.bm-sign-empty{display:none}.bm-legend{margin-left:0;width:100%}.bm-keyword{min-width:0}}.sync-status-control{display:inline-flex;align-items:center;gap:8px;min-width:0}.sync-last-time{display:inline-flex;align-items:center;gap:4px;color:var(--text-secondary);font-size:12px;white-space:nowrap}.sync-run-state{color:var(--text-secondary);font-size:12px;white-space:nowrap}.sync-run-state.is-failed{color:#b42318;font-weight:600}.sync-countdown{color:#b45309;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.sync-scope-note{color:var(--text-secondary);font-size:11px;padding:1px 6px;border:1px dashed var(--border);border-radius:999px;white-space:nowrap}.sync-update-btn.is-cooling{opacity:.55;cursor:not-allowed}@media (max-width: 760px){.sync-status-control{align-items:flex-end;flex-direction:column;gap:3px}.sync-last-time{white-space:normal;text-align:right}}.pm-tabs{margin-bottom:16px}.pm-emp-view{min-width:0}.pm-emp-notice{display:flex;align-items:flex-start;gap:6px;font-size:12px;line-height:1.6;color:#7c2d12;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:8px 10px;margin-bottom:12px}.pm-emp-notice svg{flex:0 0 auto;margin-top:2px}.pm-emp-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:12px}.pm-emp-filter-grow{flex:1 1 260px;min-width:0}.pm-emp-filter-grow .input{width:100%}.pm-emp-filter-actions{display:flex;gap:8px;padding-bottom:2px}.pm-emp-count{font-size:12px;color:var(--text-secondary);padding:8px 4px 0}.pm-emp-loaded{color:var(--text-secondary)}.pm-emp-table{min-width:1280px}.pm-emp-table td{white-space:nowrap}.pm-emp-synced{color:var(--text-secondary);font-variant-numeric:tabular-nums}.badge-emp-active{background:#dcfce7;color:#15803d}.badge-emp-left{background:#f1f5f9;color:#64748b}.badge-emp-deleted{background:#fee2e2;color:#b91c1c}@media (max-width: 640px){.pm-emp-filters{align-items:stretch}.pm-emp-filters .form-group{flex:1 1 100%}.pm-emp-filter-actions .btn{flex:1 1 50%;justify-content:center}}.bm-quality{margin-top:14px}.bm-quality-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.bm-quality-head strong{display:inline-flex;align-items:center;gap:6px}.bm-quality-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}.bm-quality-item{border:1px solid var(--border);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:2px;min-width:0}.bm-quality-num{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}.bm-quality-label{font-size:12px;color:var(--text-secondary)}.bm-quality-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:0;width:fit-content;max-width:100%;color:#2563eb;font:inherit;text-align:left;line-height:1.45;cursor:pointer;text-decoration:underline;text-decoration-color:#bfdbfe;text-underline-offset:2px}.bm-quality-link:hover{color:#1d4ed8;text-decoration-color:currentColor}.bm-quality-link:focus-visible{outline:2px solid #2563eb;outline-offset:2px;border-radius:2px}.bm-quality-plan-entry{width:100%;background:#fff;color:inherit;font:inherit;text-align:left;cursor:pointer}.bm-quality-plan-entry:hover{border-color:#93b4f5;background:#f8fbff}.bm-quality-plan-entry:focus-visible{outline:2px solid #2563eb;outline-offset:1px}.bm-pending{margin-top:10px;border-top:1px dashed var(--border);padding-top:8px}.bm-pending-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bm-pending-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.bm-chip{display:inline-flex;gap:4px;align-items:center;font-size:12px;border:1px solid #fcd34d;background:#fffbeb;color:#92400e;border-radius:999px;padding:3px 10px}.bm-pending-detail{margin-top:8px}.bm-pending-month{margin-top:10px}.bm-pending-month-title{font-weight:600;margin-bottom:4px}.bm-pending-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.bm-pending-list li{font-size:13px}.bm-event-item{border:1px solid var(--border);border-radius:8px;padding:8px 10px;margin-top:8px}.bm-event-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bm-event-amount{font-variant-numeric:tabular-nums}.bm-plan-amounts{white-space:nowrap}.bm-quality-detail-modal{width:min(1180px,calc(100vw - 24px));min-width:0;max-width:1180px;max-height:calc(100vh - 24px);display:flex;flex-direction:column;overflow:hidden}.bm-quality-detail-modal .bm-modal-head>div{min-width:0}.bm-quality-detail-modal .bm-modal-head h3{margin:0 0 4px}.bm-quality-detail-modal .bm-modal-head p{margin:0}.bm-quality-detail-scroll{flex:1 1 auto;min-height:120px;max-height:calc(100vh - 190px);overflow:auto}.bm-quality-detail-table{min-width:900px}.bm-quality-detail-table thead th{position:sticky;top:0;z-index:1;background:#f8fafc}.bm-quality-detail-actions{justify-content:space-between}@media (max-width: 480px){.bm-quality-grid{grid-template-columns:1fr}.bm-event-head{flex-direction:column;align-items:flex-start}}.bm-deleted-note{margin:0 0 12px;color:var(--text-muted);font-size:13px}.pm-emp-import-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 12px}.pm-emp-import-btn{display:inline-flex;align-items:center;gap:6px}.pm-emp-import-hint{font-size:12px;color:var(--text-secondary)}.pm-import-modal{max-width:860px;width:92vw}.pm-import-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.pm-import-body{display:flex;flex-direction:column;gap:12px;max-height:58vh;overflow:auto;padding-right:4px}.pm-import-counts{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px}.pm-import-stat{border:1px solid var(--border);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:2px}.pm-import-stat strong{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}.pm-import-stat span{font-size:12px;color:var(--text-secondary)}.pm-import-stat-strong{border-color:#93c5fd;background:#eff6ff}.pm-import-stat-strong strong{color:#1d4ed8}.pm-import-note{font-size:12px;line-height:1.7;color:var(--text-secondary);border:1px dashed var(--border);border-radius:8px;padding:8px 10px}.pm-import-security{border:1px solid var(--border);border-radius:8px;padding:8px 10px}.pm-import-security-title{font-weight:600;display:block;margin-bottom:4px}.pm-import-security ul{margin:0;padding-left:18px;font-size:12px;color:var(--text-secondary)}.pm-import-block{border-top:1px dashed var(--border);padding-top:10px}.pm-import-block-title{font-weight:600;font-size:13px;margin-bottom:6px}.pm-import-chips{display:flex;flex-wrap:wrap;gap:6px}.pm-import-chip{font-size:12px;border:1px solid var(--border);background:#f8fafc;border-radius:999px;padding:3px 10px}.pm-import-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.pm-import-list li,.pm-import-table{font-size:13px}.pm-import-result{border:1px solid #bbf7d0;background:#f0fdf4;color:#15803d;border-radius:8px;padding:8px 10px;font-size:13px}.pm-import-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}@media (max-width: 720px){.pm-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.pm-tabs .tab{flex:0 0 auto;padding:8px 12px;white-space:nowrap}}.bm-link-project{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:0;margin:0;font:inherit;color:#1d4ed8;text-align:left;cursor:pointer;text-decoration:underline;text-underline-offset:2px;word-break:break-word}.bm-link-project:hover{color:#1e40af}.bm-split-tag{display:inline-block;font-style:normal;font-size:11px;line-height:1;color:var(--text-secondary);border:1px solid var(--border);border-radius:4px;padding:1px 4px;margin-left:6px;vertical-align:1px;background:#f8fafc}.bm-identity-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;color:var(--text-primary);background:#f1f5f9;border-radius:4px;padding:1px 5px;white-space:nowrap}.bm-identity-source{display:inline-block;font-size:11px;line-height:1.3;color:var(--text-secondary);border:1px solid var(--border);border-radius:4px;padding:1px 5px;background:#f8fafc}.bm-identity-kingdee{color:#2563eb;font-size:11px;white-space:nowrap}.bm-split-group{border-bottom:1px solid var(--border);padding:8px 10px}.bm-split-group:last-child{border-bottom:none}.bm-split-group-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:4px 0 8px}.bm-split-group-head strong{font-size:14px}.bm-split-group-head .bm-muted{font-size:12px}.bm-split-exec{margin-left:auto}.bm-split-table th,.bm-split-table td{font-size:12px}.bm-split-table{min-width:860px}.bm-split-pending{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 10px;border-bottom:1px dashed var(--border)}.bm-split-pending:last-child{border-bottom:none}.bm-split-pending strong{font-size:13px}.bm-split-child-event{display:flex;flex-direction:column;gap:2px;border-top:1px dashed var(--border);margin:0 4px;padding:6px 8px}.bm-split-child-name{font-size:12px;font-weight:600;color:var(--text-secondary)}.bm-split-event{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;line-height:1.8}.bm-split-event span{white-space:nowrap}.bm-split-origin{border-top:2px solid var(--border);margin-top:8px}.bm-split-pending-review{margin:0 0 8px;padding:8px 10px;border:1px solid #fcd34d;background:#fffbeb;border-radius:6px}.bm-split-pending-review-head{display:flex;align-items:center;gap:6px 12px;flex-wrap:wrap;margin-bottom:6px}.bm-split-pending-review-head strong{font-size:13px;color:#92400e}.bm-split-pending-review-head .bm-muted{font-size:12px}.bm-split-pending-review .bm-table-wrap{max-width:100%}.bm-split-review-table{min-width:640px}.bm-split-review-table th,.bm-split-review-table td{font-size:12px}.bm-split-review-table td.bm-num,.bm-split-review-table th.bm-num{min-width:110px}.bm-split-review-reason{color:#78350f;line-height:1.5;min-width:260px}@media (max-width: 720px){.bm-split-group-head{align-items:flex-start}.bm-split-exec{margin-left:0}.bm-split-event{flex-direction:column;gap:2px}}.ops-staff-readonly-note{color:var(--warning);font-size:13px;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;padding:6px 10px}.ops-staff-no-site-hint{padding:10px 12px;margin-bottom:12px;background:#eff6ff;border:1px solid #bfdbfe;color:var(--primary);border-radius:8px;font-size:13px}.ops-staff-entry{white-space:nowrap}.ops-staff-table-card{padding:8px 0 0;overflow:hidden}.ops-staff-table-wrap{overflow-x:auto}.ops-staff-table{width:100%;min-width:900px;border-collapse:collapse}.ops-staff-table th{font-size:12px;color:var(--text-secondary);white-space:nowrap;padding:8px 10px;text-align:left}.ops-staff-table td{padding:8px 10px;border-top:1px solid var(--border);font-size:13px}.ops-staff-table .ops-td-name{white-space:nowrap}.ops-staff-table .ops-td-name strong{margin-right:6px}.ops-staff-table .ops-td-person{white-space:nowrap}.ops-staff-th-check,.ops-staff-td-check{text-align:center}.ops-staff-th-action,.ops-staff-td-action{text-align:right}.ops-staff-td-action{white-space:nowrap}.ops-staff-td-action .btn{white-space:nowrap;flex:0 0 auto}.ops-staff-status{font-size:12px;white-space:nowrap}.ops-staff-status.ops-staff-mixed{color:#b45309;font-weight:600}.ops-staff-status.ops-staff-ok{color:#15803d}.ops-staff-legend{font-size:12px;margin-top:10px;line-height:1.7}.ops-staff-check{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.ops-staff-check.disabled{cursor:not-allowed;opacity:.45}.ops-staff-check-box{position:relative;width:16px;height:16px;display:inline-block;border:1px solid var(--border);border-radius:4px;background:#fff;box-sizing:border-box}.ops-staff-check.on .ops-staff-check-box{background:#2563eb;border-color:#2563eb}.ops-staff-check.on .ops-staff-check-mark:after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.ops-staff-check.mixed .ops-staff-check-box{background:#dbeafe;border-color:#93c5fd}.ops-staff-check.mixed .ops-staff-check-mark:after{content:"";position:absolute;left:3px;top:6px;width:8px;height:2px;background:#2563eb;border-radius:1px}@media (max-width: 720px){.ops-staff-check{padding:8px}.ops-staff-check-box{width:18px;height:18px}.ops-staff-readonly-note{display:block;width:100%}}.la-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.la-toolbar .btn{white-space:nowrap}.la-date-label{font-size:13px;color:var(--text-secondary);white-space:nowrap}.la-date-input{width:150px}.la-summary{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}.la-summary-card{flex:0 0 auto;min-width:140px;padding:10px 16px;background:var(--surface);border:1px solid var(--border);border-radius:8px;display:flex;align-items:baseline;gap:10px}.la-summary-num{font-size:20px;font-weight:700}.la-summary-label{font-size:13px;color:var(--text-secondary)}.la-summary-ok .la-summary-num{color:#15803d}.la-summary-fail .la-summary-num{color:var(--danger)}.la-table-card{padding:0;overflow:hidden}.la-table-wrap{overflow:auto;max-height:calc(100vh - 280px)}.la-table{width:100%;min-width:760px;border-collapse:collapse}.la-table th{position:sticky;top:0;z-index:2;font-size:12px;color:var(--text-secondary);white-space:nowrap;padding:10px 12px;text-align:left;background:var(--surface);border-bottom:1px solid var(--border)}.la-table td{padding:8px 12px;border-top:1px solid var(--border);font-size:13px}.la-td-time{white-space:nowrap}.la-td-mono{font-family:monospace;white-space:nowrap}.la-td-reason{color:var(--text-secondary)}.la-person-cell{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:150px}.la-person-cell small{color:var(--text-secondary);line-height:1.35}.la-person-link{border:0;padding:0;background:transparent;color:#2563eb;font:inherit;font-weight:600;cursor:pointer;text-align:left;text-decoration:underline;text-underline-offset:2px}.la-person-link:hover{color:#1d4ed8}.la-person-link:focus-visible{outline:2px solid #2563eb;outline-offset:2px;border-radius:2px}.la-td-reason>span{display:block}.la-reset-btn{margin-top:5px;white-space:nowrap}.la-result{font-size:12px;font-weight:600;white-space:nowrap}.la-result-ok{color:#15803d}.la-result-fail{color:var(--danger)}.la-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-top:1px solid var(--border);flex-wrap:wrap}.la-pager-info{font-size:13px;color:var(--text-secondary);white-space:nowrap}.la-pager-btns{display:flex;gap:8px}.la-pager-btns .btn{white-space:nowrap}@media (max-width: 640px){.la-toolbar{gap:8px}.la-toolbar .btn{white-space:nowrap}.la-date-input{width:130px}.la-summary-card{min-width:0;flex:1 1 30%;padding:8px 10px}.la-table-wrap{max-height:calc(100vh - 320px)}.la-table{min-width:720px}.la-pager{align-items:flex-start}.la-pager-btns .btn{padding:6px 8px;font-size:12px;white-space:nowrap}}.bm-due{margin-bottom:12px;border:1px solid #fbbf24}.bm-due-loading{color:var(--text-secondary);padding:10px 14px}.bm-due-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px;border-bottom:1px dashed var(--border)}.bm-due-head strong{color:#b45309;display:inline-flex;align-items:center;gap:6px}.bm-due-list{margin:0;padding:6px 10px 10px;list-style:none}.bm-due-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:7px 6px;border-bottom:1px solid var(--border);font-size:13px}.bm-due-row:last-child{border-bottom:none}.bm-due-name{font-weight:600;min-width:180px}.bm-due-name-link{border:0;background:transparent;padding:0;color:#2563eb;text-align:left;cursor:pointer;text-decoration:underline;text-decoration-color:#bfdbfe;text-underline-offset:2px}.bm-due-name-link:hover{color:#1d4ed8;text-decoration-color:currentColor}.bm-due-name-link:focus-visible{outline:2px solid #2563eb;outline-offset:2px;border-radius:2px}.bm-due-client{color:var(--text-secondary);min-width:120px}.bm-due-date{color:#b45309;white-space:nowrap}.bm-due-badges{display:inline-flex;gap:6px}.bm-due-reason{color:var(--text-secondary)}.bm-hint-warn{margin:4px 0 0;font-size:12px;color:#b45309}.bm-fulfillment .bm-detail-head h4{margin:0}.bm-fulfillment .bm-detail-head h5{margin:0;font-size:13px}.bm-fulfill-actions{padding:2px 0 6px}.bm-extend-form{margin-top:6px}.bm-fulfillment .bm-follow-item{background:#f8fafc}.password-field{position:relative}.password-field .input{padding-right:44px}.password-toggle{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer}.password-toggle:hover{color:var(--text);background:#f1f5f9}.password-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.password-toggle svg{pointer-events:none}.pm-scope-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:10px}.pm-scope-label{font-size:12px;color:var(--text-secondary);margin-right:4px;white-space:nowrap}.pm-scope-link{padding:5px 16px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-secondary);font-size:13px;cursor:pointer;line-height:1.4;white-space:nowrap}.pm-scope-link:hover{color:var(--text);border-color:var(--text-secondary)}.pm-scope-link.active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600;cursor:default}.pm-loading{padding:16px;text-align:center;color:var(--text-secondary);font-size:13px}.login-wait{margin-bottom:12px;padding:8px 10px;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;color:#b45309;font-size:13px;line-height:1.5;overflow-wrap:anywhere;word-break:break-word}.login-wait-count{font-weight:600;font-variant-numeric:tabular-nums}.login-wait-until{margin-top:2px;font-size:12px;color:#92400e;font-variant-numeric:tabular-nums}.bm-inline-field{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.bm-inline-field .input{flex:1 1 180px;min-width:0}.bm-inline-field .btn{flex:0 0 auto;white-space:nowrap}.bm-inline-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px;min-width:0}.bm-inline-form .input{flex:1 1 200px;min-width:0}.bm-picker-input{text-align:left;background:var(--surface);color:var(--text);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bm-picker-input:disabled{cursor:not-allowed;color:var(--text-secondary)}.bm-product-type-cell{min-width:0}.bm-customer-modal{max-width:560px;width:100%;box-sizing:border-box}.bm-customer-search{margin-bottom:8px}.bm-customer-search-box{display:flex;align-items:center;gap:6px}.bm-customer-search-box .input{flex:1 1 auto;min-width:0}.bm-customer-list{max-height:320px;overflow-y:auto;border:1px solid var(--border);border-radius:8px}.bm-customer-item{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:9px 12px;border:0;border-bottom:1px solid var(--border);background:var(--surface);color:var(--text);font-size:13px;text-align:left;cursor:pointer}.bm-customer-item:last-child{border-bottom:0}.bm-customer-item:hover{background:#f1f5f9}.bm-customer-item.selected{background:#e0f2fe;font-weight:600}.bm-customer-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bm-customer-source{flex:0 0 auto;font-size:11px;color:var(--text-secondary)}.bm-modal-actions-wrap{flex-wrap:wrap}.bm-customer-form{display:flex;flex-direction:column;gap:8px}.ops-ownership-entry{white-space:normal}.ops-ownership-modal{max-width:960px;width:100%;box-sizing:border-box}.ops-ownership-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.ops-ownership-stat{font-size:12px;color:var(--text-secondary);white-space:nowrap}.ops-ownership-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.ops-ownership-filters .input{flex:1 1 200px;min-width:0}.ops-ownership-table-wrap{max-width:100%;overflow-x:auto}.ops-ownership-table{width:100%;border-collapse:collapse;font-size:13px}.ops-ownership-table th,.ops-ownership-table td{padding:8px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.ops-ownership-table th{color:var(--text-secondary);font-weight:600;white-space:nowrap}.ops-ownership-project{min-width:160px}.ops-ownership-project .ops-muted{display:block;font-size:11px}.ops-ownership-actions{min-width:240px}.ops-ownership-editor{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ops-ownership-editor .input{flex:1 1 140px;min-width:0}.ops-ownership-editor-actions{display:flex;gap:6px;flex-wrap:wrap}.ops-ownership-empty{text-align:center;color:var(--text-secondary);padding:20px}@media (max-width: 720px){.bm-inline-field .input,.bm-inline-field .btn,.ops-ownership-filters .input,.ops-ownership-editor .input{flex:1 1 100%}.bm-customer-modal .bm-modal-actions .btn{flex:1 1 auto}}.ops-materials{overflow-x:hidden}.ops-materials-tabs{display:flex;flex-wrap:wrap;gap:4px;padding:8px 16px 0;background:#1f3a5f}.ops-materials-tabs .tab{color:#cbd5e1;white-space:normal}.ops-materials-tabs .tab.active{color:#fff;border-bottom-color:#fff}.ops-materials-filters{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;padding:12px 16px;background:#1f3a5f}.ops-materials-filters label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#cbd5e1;min-width:0}.ops-materials-filters .input{min-width:0}.ops-materials-period-hint{font-size:12px;color:#cbd5e1;padding-bottom:6px}.ops-materials-entry{white-space:normal}.ops-materials-error{display:flex;align-items:center;gap:6px;margin:12px 16px 0;padding:8px 10px;border:1px solid #fecaca;background:#fef2f2;color:#b91c1c;border-radius:6px;font-size:13px}.ops-materials-stats{margin-bottom:12px}.ops-materials-stats .stat-card{padding:14px}.ops-materials-stats .stat-value{font-size:20px}.ops-materials-note{margin:8px 0 12px;font-size:12px;color:var(--text-secondary);line-height:1.6}.ops-materials-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.ops-materials-site-picker{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}.ops-materials-site-picker .input{min-width:180px}.ops-materials-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.ops-materials-table{width:100%;min-width:900px;border-collapse:collapse;font-size:13px}.ops-materials-overview-table{min-width:1220px}.ops-materials-stock-table{min-width:1680px}.ops-materials-table th,.ops-materials-table td{padding:8px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;white-space:nowrap}.ops-materials-table th{color:var(--text-secondary);font-weight:600}.ops-materials-table td .ops-muted{display:inline}.ops-materials-reference-cell{display:flex;flex-direction:column;align-items:flex-start;gap:2px;line-height:1.35;white-space:nowrap}.ops-materials-reference-cell small,.ops-materials-reference-meta{display:block;color:var(--text-secondary);font-size:11px;font-weight:400}.ops-materials-reference-cell small .ops-materials-reference-cell{margin-top:2px}.ops-materials-reference-warn{color:#b45309;font-size:12px}.ops-materials-site-row td{background:#f8fbff}.ops-materials-site-row .ops-materials-project-scope{padding-left:24px;color:var(--text-secondary)}.ops-materials-stock-link{border:0;padding:0;background:transparent;color:var(--primary);cursor:pointer;font:inherit;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}.ops-materials-stock-link:disabled{color:var(--text-secondary);cursor:default;text-decoration:none}.ops-materials-inventory-modal{max-width:900px;max-height:calc(100vh - 32px);overflow:auto}.ops-materials-inventory-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 16px;margin-bottom:12px}.ops-materials-usage-history{max-height:360px;overflow:auto}.ops-materials-usage-input{width:120px;min-width:100px}.ops-materials-empty{text-align:center;color:var(--text-secondary);padding:20px;white-space:normal}.ops-materials-search{margin-bottom:8px}.ops-materials-search .input{width:100%;max-width:420px}.ops-materials-item-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:8px 0 12px}.ops-materials-addlist{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.ops-materials-addchip{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:5px 9px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);font-size:12px;cursor:pointer}.ops-materials-addchip.is-configured{border-color:var(--primary);color:var(--primary)}.ops-materials-addchip:disabled{cursor:not-allowed;opacity:.7}.ops-materials-addchip .ops-muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ops-materials-entryform{display:flex;flex-direction:column;gap:12px}.ops-materials-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.ops-materials-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-secondary);min-width:0}.ops-materials-form .input{min-width:0}.ops-materials-form-wide{grid-column:1 / -1}.ops-materials-err{color:var(--danger);font-size:11px;font-style:normal}.ops-materials-submit{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ops-materials-amount{font-size:13px}.ops-materials-amount strong{font-variant-numeric:tabular-nums}.ops-materials-importresult{border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin-bottom:12px;font-size:13px;line-height:1.7;background:var(--surface)}.ops-materials-importresult ul{margin:6px 0 0;padding-left:18px}.ops-materials-tech{margin:8px 0 14px;font-size:13px}.ops-materials-tech>summary{cursor:pointer;color:var(--text-secondary)}.ops-materials-tech>summary:hover{color:var(--text)}.ops-materials-tech .ops-materials-table-wrap{margin-top:8px}.procurement-page{overflow-x:hidden}.procurement-body{min-width:0}.procurement-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.procurement-title-row h1{font-size:18px;margin:0 0 4px}.procurement-title-row p{color:var(--text-secondary);font-size:13px}.procurement-pending{flex:0 0 auto;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;padding:5px 9px;font-size:12px}.procurement-filter-bar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;padding:12px;margin-bottom:12px}.procurement-filter-bar label{display:flex;flex-direction:column;gap:4px;min-width:160px;font-size:12px;color:var(--text-secondary)}.procurement-error{display:flex;align-items:center;gap:8px}.procurement-list{overflow:hidden}.procurement-table-wrap,.procurement-candidate-table-wrap{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}.procurement-table{min-width:1160px;font-size:13px}.procurement-table th{position:sticky;top:0;z-index:1;background:#f8fafc}.procurement-table td{vertical-align:middle}.procurement-number{white-space:nowrap;font-variant-numeric:tabular-nums}.price-confirmed-by{display:block;margin-top:2px;color:#667085;font-size:12px;line-height:1.35;white-space:nowrap}.procurement-await{color:#b45309;font-weight:600}.procurement-actions{display:flex;flex-direction:column;align-items:stretch;gap:5px;min-width:142px}.procurement-actions .btn{justify-content:center;white-space:nowrap}.procurement-empty{padding:24px!important;text-align:center;color:var(--text-secondary);white-space:normal}.procurement-readonly{padding:10px 12px;border-top:1px solid var(--border);color:var(--text-secondary);font-size:12px}.procurement-modal{width:min(620px,calc(100vw - 24px));min-width:0}.procurement-form-grid,.procurement-adopt-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.procurement-form-grid label,.procurement-adopt-form label{display:flex;flex-direction:column;gap:4px;min-width:0;color:var(--text-secondary);font-size:12px}.procurement-wide{grid-column:1 / -1}.procurement-candidate-overlay{padding:12px}.procurement-candidate-modal{width:min(1180px,calc(100vw - 24px));max-width:1180px;min-width:0;max-height:calc(100vh - 24px);overflow:auto}.procurement-warning{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;margin-bottom:10px;border:1px solid #f59e0b;border-left-width:4px;background:#fffbeb;color:#78350f;font-size:13px}.procurement-warning svg{flex:0 0 auto;margin-top:1px}.procurement-candidate-table{min-width:1180px;font-size:12px}.procurement-candidate-table th{position:sticky;top:0;z-index:1}.procurement-candidate-table tr.is-selected td{background:#eff6ff}.procurement-adopt-form{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}@media (max-width: 720px){.procurement-title-row{flex-direction:column}.procurement-filter-bar label{flex:1 1 100%;min-width:0}.procurement-form-grid,.procurement-adopt-form{grid-template-columns:1fr}.procurement-wide{grid-column:auto}}@media (max-width: 720px){.ops-materials-filters{flex-direction:column;align-items:stretch}.ops-materials-filters label,.ops-materials-filters .input{width:100%}.ops-materials-period-hint{padding-bottom:0}.ops-materials-form{grid-template-columns:1fr}.ops-materials-submit .btn{width:100%}.ops-materials-bar .btn{flex:1 1 auto}.ops-materials-site-picker,.ops-materials-site-picker .input{width:100%}}@media (max-width: 390px){.ops-materials-table{min-width:760px}.ops-materials-addchip{width:100%;justify-content:flex-start}}.bm-chip-link{cursor:pointer;font:inherit;text-align:left;line-height:1.4}.bm-chip-link:hover{background:#fef3c7;color:#78350f}.bm-chip-link:focus-visible{outline:2px solid #f59e0b;outline-offset:1px}.bm-pending-chips .bm-chip-link.active{background:#f59e0b;border-color:#d97706;color:#fff}.bm-chip-clear{border-style:dashed;background:#fff;color:#475569}.bm-pending-filter-title{margin-top:8px;font-size:13px;font-weight:600;color:#92400e}.bm-plan-modal{width:min(1220px,calc(100vw - 24px))}.bm-plan-months{min-width:1120px}.bm-plan-months th.bm-ps-month,.bm-plan-months td.bm-ps-cell{min-width:86px}.bm-plan-save-hint{margin-right:auto;font-size:12px}@media (max-width: 720px){.bm-plan-save-hint{display:none}}.bm-pending-link{background:none;border:0;padding:0;margin:0;font:inherit;color:#1d4ed8;text-align:left;cursor:pointer;text-decoration:underline dotted;text-underline-offset:2px}.bm-pending-link:hover{color:#1e3a8a}.bm-pending-link:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.bm-allocation-modal{width:min(960px,calc(100vw - 24px))}.bm-alloc-candidates{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.bm-alloc-candidate{display:flex;align-items:flex-start;gap:8px;cursor:pointer;border:1px solid #e2e8f0;border-radius:6px;padding:8px 10px;background:#fff}.bm-alloc-candidate.selected{border-color:#2563eb;background:#eff6ff}.bm-alloc-candidate input{margin-top:3px;flex:0 0 auto}.bm-alloc-candidate-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;min-width:0}.bm-alloc-candidate-main strong{font-size:13px}.bm-alloc-candidate-amounts{display:flex;flex:1 0 100%;flex-wrap:wrap;gap:4px 16px;color:var(--text-secondary);font-size:13px}.bm-alloc-candidate-amounts>span{white-space:nowrap}.bm-alloc-candidate-amounts strong{color:var(--text-primary);font-variant-numeric:tabular-nums}.bm-alloc-candidate-amounts em{margin-left:4px;color:#92400e;font-size:12px;font-style:normal}.bm-alloc-candidate-reason{font-size:12px;color:#64748b;flex-basis:100%}.bm-alloc-current-tag{margin-left:auto;flex:0 0 auto;font-size:11px;font-style:normal;color:#1e3a8a;background:#dbeafe;border-radius:10px;padding:1px 8px}.bm-alloc-history{margin-top:8px;font-size:12px}.bm-alloc-history ul{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}.bm-alloc-history li{display:flex;flex-wrap:wrap;gap:8px}.bm-alloc-confirm-hint{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#b45309}@media (max-width: 720px){.bm-alloc-candidate{flex-wrap:wrap}.bm-alloc-current-tag{margin-left:0}.bm-alloc-confirm-hint{flex-basis:100%}}.bm-split-confirm-modal{width:min(1240px,calc(100vw - 24px))}.bm-split-confirm-table{min-width:1080px}.bm-split-confirm-table th,.bm-split-confirm-table td{font-size:12px;vertical-align:top}.bm-split-events-table{min-width:860px}.bm-split-events-table th,.bm-split-events-table td{font-size:12px}.bm-split-input{width:100%;min-width:96px;font-size:12px}.bm-split-input.bm-split-local{border-color:#2563eb;background:#eff6ff}.bm-split-suggestion{display:flex;flex-direction:column;gap:2px;max-width:260px}.bm-split-warnings{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:4px;font-size:12px;color:#b45309}.bm-split-warnings li{display:flex;align-items:flex-start;gap:4px}@media (max-width: 720px){.bm-split-suggestion{max-width:none}.bm-split-warnings{font-size:11px}}.ops-queue-mode{display:flex;align-items:end;flex-wrap:wrap;gap:6px}.ops-range-inputs{display:flex;align-items:flex-end;gap:8px}.ops-project-link{padding:0;border:0;background:none;color:#0759a8;font:inherit;font-weight:700;cursor:pointer;text-align:left}.ops-project-link:hover,.ops-project-link:focus-visible{color:var(--primary);text-decoration:underline}.ops-project-timeline{overflow:hidden}.ops-project-timeline-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding:14px 16px;border-bottom:1px solid var(--border)}.ops-project-timeline-head>div{min-width:0}.ops-project-timeline-head h3{margin:10px 0 2px;font-size:17px}.ops-project-timeline-head p{margin:0;color:var(--text-secondary);font-size:12px}.ops-project-timeline-head label{display:flex;flex-direction:column;gap:4px;flex:0 0 auto;color:var(--text-secondary);font-size:12px}.ops-timeline-site{padding:14px 16px 4px;border-bottom:1px solid var(--border)}.ops-timeline-site h4{margin:0 0 8px;font-size:14px}.ops-timeline-table{width:100%;min-width:680px;border-collapse:collapse;table-layout:fixed}.ops-timeline-table th,.ops-timeline-table td{padding:8px 10px;border:1px solid var(--border);text-align:right;font-size:12px;font-variant-numeric:tabular-nums}.ops-timeline-table th:first-child,.ops-timeline-table td:first-child{width:190px;text-align:left}.ops-timeline-table th{background:#f8fafc;color:var(--text-secondary)}.ops-timeline-status{display:block;margin-top:2px;color:var(--text-secondary);font-size:10px;font-weight:400}.ops-timeline-value{width:100%;padding:4px 2px;border:0;background:none;color:#0759a8;font:inherit;cursor:pointer;text-align:right;white-space:nowrap}.ops-timeline-value:hover,.ops-timeline-value:focus-visible{text-decoration:underline}.ops-queue-scope-note{padding:8px 10px;color:var(--text-secondary);font-size:12px;border-bottom:1px solid var(--border)}.ops-th-materials{min-width:180px}.ops-td-materials{min-width:180px;font-size:12px;line-height:1.6;white-space:nowrap}
