:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;--navy-950:#071a2d;--navy-900:#0b233d;--navy-800:#123654;--blue-600:#1677d2;--blue-500:#268be1;--cyan-500:#12a7ba;--green-500:#16a36a;--orange-500:#e79228;--red-500:#dc5050;--ink-900:#172033;--ink-600:#657083;--ink-400:#99a3b2;--line:#e3e9f1;--surface:#fff;--surface-soft:#f8fafc;--shadow:0 12px 30px #1b3a5912;--radius-lg:14px;--radius-md:10px;background:#f3f6fa;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:1180px;min-height:100%;margin:0}body{background:#f3f6fa}button,input,select,textarea{font:inherit}select,input,textarea{color:var(--ink-900);background:#fbfcfe;border:1px solid #cfd9e5;border-radius:8px;outline:none}select:focus,input:focus,textarea:focus{border-color:var(--blue-500);box-shadow:0 0 0 3px #268be11a}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,p{margin-top:0}.primary-button,.secondary-button{border-radius:8px;justify-content:center;align-items:center;min-height:38px;padding:0 16px;font-size:14px;font-weight:650;transition:all .16s;display:inline-flex}.primary-button{border:1px solid var(--blue-600);color:#fff;background:var(--blue-600);box-shadow:0 8px 18px #1677d22e}.primary-button:hover{background:#0d68bf}.primary-button:disabled{cursor:not-allowed;opacity:.55}.secondary-button{color:#33435a;background:#fff;border:1px solid #cdd8e5}.secondary-button:hover{border-color:var(--blue-500);color:var(--blue-600)}.secondary-button:disabled{cursor:not-allowed;opacity:.55}.text-link{color:var(--blue-600);font-weight:650}.inline-error{color:#b53f3f;margin:12px 0 0;font-size:13px}.app-shell{min-height:100vh;display:flex}.sidebar{z-index:10;color:#dce8f5;background:linear-gradient(178deg, var(--navy-950), var(--navy-900) 55%, #0f304c);flex-direction:column;width:232px;display:flex;position:fixed;inset:0 auto 0 0}.brand{border-bottom:1px solid #ffffff14;align-items:center;gap:11px;height:76px;padding:0 20px;display:flex}.brand-mark{color:#fff;background:linear-gradient(145deg,#36a1ec,#0a70c7);border-radius:9px;place-items:center;width:36px;height:36px;font-size:18px;font-weight:800;display:grid}.brand strong,.brand small{display:block}.brand strong{color:#fff;letter-spacing:.03em;font-size:14px}.brand small{color:#7191ac;letter-spacing:.03em;margin-top:3px;font-size:10px}.nav{flex:1;padding:16px 12px}.nav-group{margin-bottom:20px}.nav-group p{color:#6888a4;letter-spacing:.12em;margin:0 10px 8px;font-size:11px}.nav-item{color:#aec3d6;border-radius:8px;align-items:center;gap:11px;height:42px;margin:3px 0;padding:0 12px;font-size:14px;display:flex}.nav-item:hover{color:#fff;background:#ffffff0f}.nav-item.active{color:#fff;background:linear-gradient(90deg,#208bdce6,#1b76bca8);box-shadow:0 7px 18px #005ba840}.nav-icon{place-items:center;width:20px;font-size:17px;display:inline-grid}.sidebar-footer{color:#7897b1;border-top:1px solid #ffffff14;align-items:center;gap:8px;height:54px;padding:0 20px;font-size:12px;display:flex}.status-dot{background:#22c786;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #22c7861c}.app-main{width:calc(100% - 232px);min-width:0;margin-left:232px}.topbar{z-index:5;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;justify-content:space-between;align-items:center;height:64px;padding:0 28px;display:flex;position:sticky;top:0}.topbar>strong{color:var(--ink-900);font-size:15px}.environment-badge{color:#24689f;background:#f2f8fe;border:1px solid #cfe2f5;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:700}.topbar-actions,.user-menu{align-items:center;display:flex}.topbar-actions{gap:9px}.icon-button,.user-menu{background:0 0;border:0}.icon-button{border:1px solid var(--line);width:34px;height:34px;color:var(--ink-600);border-radius:50%}.user-menu{color:#33435a;gap:8px;font-size:13px}.avatar{color:#0c69ae;background:#dceefd;border-radius:9px;place-items:center;width:32px;height:32px;font-weight:800;display:grid}.chevron{color:#9ba5b3}.page-container{padding:28px 32px 48px}.page-stack{gap:20px;min-width:0;display:grid}.page-heading{justify-content:space-between;align-items:flex-end;display:flex}.page-heading.compact{align-items:center}.page-heading h1{color:var(--ink-900);letter-spacing:-.02em;margin-bottom:6px;font-size:27px}.page-heading p:not(.eyebrow){color:var(--ink-600);margin-bottom:0;font-size:13px}.eyebrow{color:var(--blue-600);letter-spacing:.16em;margin-bottom:7px;font-size:10px;font-weight:800}.panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);min-width:0;box-shadow:var(--shadow);padding:22px}.panel-heading{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.panel-heading h2,.insight-panel h2{margin-bottom:5px;font-size:16px}.panel-heading p,.insight-panel p{color:var(--ink-600);margin-bottom:0;font-size:12px;line-height:1.7}.metric-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.metric-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);min-height:132px;box-shadow:var(--shadow);padding:19px 20px;position:relative;overflow:hidden}.metric-accent{background:var(--blue-500);width:4px;position:absolute;inset:0 auto 0 0}.metric-card.green .metric-accent{background:var(--green-500)}.metric-card.orange .metric-accent{background:var(--orange-500)}.metric-card.red .metric-accent{background:var(--red-500)}.metric-card p{color:var(--ink-600);margin-bottom:12px;font-size:12px}.metric-card strong{margin-bottom:10px;font-size:29px;display:block}.metric-card small{color:var(--ink-400);font-size:11px}.dashboard-grid{grid-template-columns:minmax(0,1.7fr) minmax(300px,.7fr);gap:18px;display:grid}.process-line{grid-template-columns:repeat(6,1fr);gap:4px;padding:19px 4px 5px;display:grid}.process-step{color:#47566c;justify-items:center;gap:9px;font-size:12px;display:grid;position:relative}.process-step:not(:last-child):after{content:"";background:#d9e4ef;width:calc(100% - 38px);height:1px;position:absolute;top:15px;left:calc(50% + 19px)}.process-step span{z-index:1;width:31px;height:31px;color:var(--blue-600);background:#eef7ff;border:1px solid #c8ddf0;border-radius:50%;place-items:center;font-weight:800;display:grid}.insight-panel{color:#e8f4ff;background:linear-gradient(145deg,#123a5d,#0c2944)}.insight-panel h2{color:#fff}.insight-panel p,.insight-panel li{color:#b5cce0}.insight-panel ul{margin:16px 0 0;padding-left:18px;font-size:12px;line-height:2}.ai-label{color:#65c6ff;border:1px solid #5dbeff59;border-radius:999px;margin-bottom:13px;padding:5px 9px;font-size:10px;font-weight:750;display:inline-block}.audit-import-form{gap:18px;display:grid}.import-heading,.import-submit-row{justify-content:space-between;align-items:center;gap:24px;display:flex}.import-heading h2{margin-bottom:6px;font-size:18px}.import-heading p,.import-submit-row p{color:var(--ink-600);margin:0;font-size:12px}.recognition-note{color:#177554;background:#eefaf5;border:1px solid #bfe3d5;border-radius:999px;flex:none;padding:6px 11px;font-size:11px;font-weight:700}.batch-file-picker{color:#285f8c;background:#f5faff;border:1px dashed #94bddf;border-radius:12px;align-content:center;place-items:center;gap:6px;width:100%;min-height:132px;transition:all .16s;display:grid}.batch-file-picker:hover{border-color:var(--blue-600);background:#eef7ff}.batch-file-picker:disabled{cursor:not-allowed;opacity:.65}.batch-file-picker strong{font-size:15px}.batch-file-picker small{color:#718499;font-size:11px}.batch-file-icon{color:#fff;background:var(--blue-600);border-radius:10px;place-items:center;width:36px;height:36px;font-size:14px;font-weight:800;display:grid}.import-file-list{border:1px solid var(--line);border-radius:10px;overflow:hidden}.import-file-row{background:#fbfcfe;grid-template-columns:34px minmax(0,1fr) auto 90px;align-items:center;gap:12px;min-height:65px;padding:10px 14px;display:grid}.import-file-row+.import-file-row{border-top:1px solid var(--line)}.import-file-row.selected{background:#f8fdfb}.import-file-number{color:#567086;background:#eaf0f5;border-radius:50%;place-items:center;width:28px;height:28px;font-size:11px;font-weight:800;display:grid}.selected .import-file-number{color:#fff;background:#1a956d}.import-file-copy{min-width:0}.import-file-copy strong,.import-file-copy small{display:block}.import-file-copy strong{color:#293c52;margin-bottom:5px;font-size:13px}.import-file-copy small{color:#8491a1;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.import-file-state{color:#8b96a5;text-align:center;min-width:50px;font-size:11px}.import-file-state.ready{color:#16805c;font-weight:700}.compact-button{min-height:32px;padding:0 11px;font-size:11px}.import-submit-row{border-top:1px solid var(--line);padding-top:18px}.import-submit-row .primary-button{min-width:150px}.table-panel{padding:0}.table-panel .panel-heading{padding:20px 22px 0}.table-scroll{overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}.data-table th{color:#748094;background:#f6f8fb;padding:11px 18px;font-weight:700}.data-table td{border-top:1px solid var(--line);color:#46546a;padding:15px 18px}.data-table td strong{color:#26364c;font-size:13px;display:block}.row-subtitle{color:#a0a9b7;text-overflow:ellipsis;max-width:270px;margin-top:4px;display:block;overflow:hidden}.align-right{text-align:right}.status-tag{color:#5c687a;background:#edf1f5;border-radius:999px;justify-content:center;min-width:54px;padding:4px 9px;font-size:11px;font-weight:700;display:inline-flex}.status-tag.pending_match,.status-tag.pending_confirmation,.status-tag.uploaded{color:#316b9b;background:#eaf3fb}.status-tag.completed{color:#18764f;background:#e3f7ee}.status-tag.failed{color:#ae4040;background:#fbe8e8}.status-tag.ready_to_export{color:#176c9c;background:#e3f3fb}.empty-state{color:var(--ink-600);justify-items:center;padding:38px 20px 45px;display:grid}.empty-state p{color:var(--ink-400);margin:6px 0 0;font-size:12px}.empty-icon{color:#7f9ab1;background:#edf3f8;border-radius:50%;place-items:center;width:42px;height:42px;margin-bottom:10px;font-size:20px;display:grid}.loading-line{color:var(--ink-600);padding:30px 22px;font-size:13px}.step-panel{padding:18px 22px;overflow-x:auto}.audit-steps{min-width:620px;margin:0;padding:0;list-style:none;display:flex}.audit-steps li{color:#8792a2;flex:1;align-items:center;gap:8px;font-size:12px;display:flex;position:relative}.audit-steps li:not(:last-child):after{content:"";background:#dce4ed;flex:1;height:1px;margin:0 12px}.audit-steps li span{background:#f6f8fa;border:1px solid #d5dee8;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:11px;display:grid}.audit-steps li.active{color:var(--blue-600);font-weight:700}.audit-steps li.active span{border-color:var(--blue-600);color:#fff;background:var(--blue-600)}.rule-card{border-radius:var(--radius-md);background:linear-gradient(90deg,#f2fbfd,#f7fbff);border:1px solid #cce7f0;align-items:center;gap:13px;padding:15px 17px;display:flex}.rule-card p{color:#577081;margin:4px 0 0;font-size:12px}.rule-icon{color:#fff;background:var(--cyan-500);border-radius:9px;flex:none;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.rule-status{color:#197d6a;background:#dff5ef;border-radius:999px;margin-left:auto;padding:4px 9px;font-size:11px;font-weight:700}.upload-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.upload-card{border-radius:var(--radius-md);background:#fbfcfe;border:1px dashed #c5d4e2;align-content:space-between;min-width:0;min-height:165px;padding:17px;display:grid;position:relative}.upload-card strong{color:#25364c;margin-bottom:7px;display:block}.upload-card p{color:var(--ink-600);margin:0;font-size:11px;line-height:1.7}.upload-card .secondary-button{width:fit-content;margin-top:17px}.upload-card-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:17px;display:flex}.upload-card-actions .secondary-button{margin-top:0}.upload-card.uploaded{background:#f8fdfb;border-style:solid;border-color:#bcded3}.file-chip{color:#496072;background:#e9f5f1;border-radius:7px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;margin-top:12px;padding:7px 8px;font-size:10px;display:grid}.file-chip span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-chip b{color:#16805c}.file-chip.is-failed{color:#7f2f25;background:#fff0ed}.file-chip.is-failed b{color:#b33f30}.upload-card .file-parse-error{color:#a13b2d;margin-top:7px;line-height:1.45}.workspace-status{justify-items:end;gap:7px;display:grid}.workspace-status small{color:var(--ink-600)}.source-summary{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--line);grid-template-columns:repeat(4,1fr);gap:1px;display:grid;overflow:hidden}.source-summary div{background:#fff;justify-content:space-between;align-items:center;min-height:76px;padding:0 22px;display:flex}.source-summary span{color:var(--ink-600);font-size:12px}.source-summary strong{color:#184e77;font-size:22px}.calculation-action{grid-template-columns:1fr auto;align-items:center;display:grid}.calculation-action h2{margin-bottom:6px;font-size:17px}.calculation-action p{color:var(--ink-600);margin:0;font-size:12px}.full-row{grid-column:1/-1}.results-panel .panel-heading{padding-right:22px}.result-actions,.switch-label{align-items:center;display:flex}.result-actions{gap:16px}.switch-label{color:var(--ink-600);gap:7px;font-size:12px}.result-count{border-top:1px solid var(--line);color:var(--ink-600);background:#fafbfd;padding:10px 18px;font-size:11px}.material-statistics-heading{gap:24px}.material-statistics-metrics{flex:none;gap:8px;display:flex}.material-statistics-metrics span{color:var(--ink-600);background:#f7fafd;border:1px solid #dce7f1;border-radius:8px;padding:8px 11px;font-size:11px}.material-statistics-metrics strong{color:#1f5f8f;margin-right:3px;font-size:15px}.statistics-tabs{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:3px;padding:0 22px;display:flex}.statistics-tabs button{color:var(--ink-600);background:0 0;border:0;border-bottom:2px solid #0000;padding:13px 15px;font-size:12px}.statistics-tabs button.active{border-bottom-color:var(--blue-600);color:var(--blue-600);font-weight:750}.material-statistics-scroll{max-height:560px}.material-statistics-table{min-width:920px}.material-statistics-table th{z-index:2;white-space:nowrap;position:sticky;top:0}.material-statistics-table td{padding-top:12px;padding-bottom:12px}.material-total-number{font-weight:750;color:#176c9c!important}.project-statistics-table{width:max-content;min-width:100%}.project-statistics-table th,.project-statistics-table td{min-width:132px}.project-statistics-table th:nth-child(2),.project-statistics-table td:nth-child(2){min-width:430px}.direct-input-table th:first-child,.direct-input-table td:first-child{min-width:190px}.direct-input-table th:nth-child(3),.direct-input-table td:nth-child(3),.direct-input-table th:nth-child(6),.direct-input-table td:nth-child(6){min-width:260px}.direct-input-status{color:#18764f;white-space:nowrap;background:#e3f7ee;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:700;display:inline-flex}.direct-input-status.work_quantity_only{color:#5c687a;background:#edf1f5}.result-scroll{max-height:620px}.result-table tbody tr{cursor:default}.review-table{table-layout:fixed;min-width:1420px}.review-table th{z-index:2;white-space:nowrap;position:sticky;top:0}.review-table th:first-child,.review-table td:first-child{width:330px}.review-table th:nth-child(2),.review-table td:nth-child(2){width:68px}.review-table th:nth-child(n+3):nth-child(-n+8),.review-table td:nth-child(n+3):nth-child(-n+8){width:120px}.review-table th:nth-child(9),.review-table td:nth-child(9){width:145px}.review-table th:last-child,.review-table td:last-child{width:138px}.decision-input{color:#26364c;width:100%;min-width:0;height:34px;font:inherit;background:#fff;border:1px solid #9bbbd5;border-radius:6px;padding:0 8px}.decision-input:focus{border-color:var(--blue-600);outline:2px solid #1677d221}.manual-row td{background:#f5f9fc}.manual-tag{color:#245f89;background:#dcecf7;border-radius:999px;margin:0 5px 4px 0;padding:4px 7px;font-size:10px;font-weight:700;display:inline-flex}.row-actions{flex-wrap:wrap;gap:8px}.decision-editor-row td{padding:0 18px 14px;background:#f5f9fc!important}.decision-editor{background:#fff;border-left:3px solid #4e8fbf;grid-template-columns:minmax(420px,1fr) auto;align-items:end;gap:10px 18px;padding:12px 14px;display:grid}.decision-editor label{grid-template-columns:72px minmax(0,1fr);align-items:center;gap:10px;display:grid}.decision-editor label span{color:#46546a;font-weight:700}.decision-editor label input{height:38px;font:inherit;border:1px solid #cdd8e5;border-radius:6px;padding:0 11px}.decision-editor-actions{gap:8px;display:flex}.decision-editor .inline-error{grid-column:1/-1;margin:0}.result-table tbody tr:hover td{background:#f6faff}.exception-row td{background:var(--surface)}.result-table tbody tr.exception-row:hover td{background:#f6faff}.exception-row td:first-child{box-shadow:none}.notice-row td:first-child{box-shadow:inset 3px 0 #4e8fbf}.number-alert{font-weight:750;color:#bf4a3c!important}.number-notice{font-weight:700;color:#326f9d!important}.number-ok{color:#19845c!important}.method-tag,.exception-tag,.notice-tag,.ok-tag{border-radius:999px;padding:4px 7px;font-size:10px;font-weight:700;display:inline-flex}.method-tag{color:#316b9b;background:#eaf3fb}.exception-tag{color:#315f82;background:#edf4fa}.notice-tag{color:#2f6894;background:#e9f3fb}.ok-tag{color:#167953;background:#e6f7ef}.trace-drawer{z-index:50;background:#fff;border-left:1px solid #d7e0e9;width:min(560px,46vw);padding:34px;position:fixed;inset:0 0 0 auto;overflow-y:auto;box-shadow:-22px 0 55px #0f2a442e}.drawer-close{color:#6f7d8e;background:0 0;border:0;font-size:25px;position:absolute;top:16px;right:18px}.trace-drawer h2{padding-right:24px;font-size:20px;line-height:1.5}.drawer-material{color:var(--ink-600);margin:4px 0 20px;font-size:13px}.trace-drawer h3{margin:26px 0 10px;font-size:13px}.trace-grid{background:#f6f8fb;border-radius:9px;grid-template-columns:110px 1fr;gap:10px;padding:14px;font-size:12px;display:grid}.trace-grid span,.muted{color:var(--ink-600)}.trace-drawer ul,.issue-panel ul{margin:0;padding:0;list-style:none}.trace-drawer li,.issue-panel li{border-top:1px solid var(--line);color:var(--ink-600);grid-template-columns:185px 1fr;gap:10px;padding:10px 0;font-size:11px;display:grid}.trace-drawer li b,.issue-panel li b{color:#a14b36}.issue-panel li{display:block}.issue-summary-list li{grid-template-columns:minmax(210px,.7fr) 2fr;gap:18px;display:grid}.issue-summary-list strong{color:#a14b36}.table-action{white-space:nowrap;background:0 0;border:0;padding:0;font-size:11px}.plain-issue-list li{grid-template-columns:135px 1fr}.source-list{gap:8px;display:grid}.source-list>div{border:1px solid var(--line);background:#fbfcfe;border-radius:8px;gap:4px;padding:10px 12px;font-size:11px;display:grid}.source-list>div span,.source-list>div small{color:var(--ink-600)}.trace-formula,.manual-reason{color:#43546a;background:#f6f8fb;border-left:3px solid #4e8fbf;margin:0;padding:10px 12px;font-size:12px;line-height:1.7}.manual-reason{background:#fffaf0;border-left-color:#d2a83f}.history-list{gap:8px;display:grid}.history-list>div{border-top:1px solid var(--line);gap:4px;padding:10px 0;font-size:11px;display:grid}.history-list span,.history-list small{color:var(--ink-600)}.replay-launcher{grid-template-columns:1fr 130px auto;align-items:center;gap:14px;display:grid}.source-maintenance{background:#fff;border:1px solid #d7dee6;border-radius:6px;overflow:hidden}.source-maintenance>summary{color:#314251;cursor:pointer;background:#f8fafb;justify-content:space-between;align-items:center;gap:16px;min-height:48px;padding:0 16px;list-style-position:inside;display:flex}.source-maintenance>summary span{font-size:12px;font-weight:700}.source-maintenance>summary small{color:#748292;font-size:10px}.source-maintenance-content{border-top:1px solid #dfe4ea;gap:18px;padding:18px;display:grid}.replay-launcher strong{font-size:14px}.replay-launcher p{color:var(--ink-600);margin:5px 0 0;font-size:11px}.replay-launcher select{height:38px;padding:0 10px}.library-toolbar,.library-toolbar>div,.toolbar-actions,.resource-actions,.row-actions,.editor-actions{align-items:center;display:flex}.library-toolbar{justify-content:space-between;gap:16px}.library-toolbar>div:first-child{gap:10px}.library-toolbar label{color:var(--ink-600);font-size:12px}.library-toolbar select{min-width:340px;height:40px;padding:0 11px}.toolbar-actions{gap:9px}.resource-tabs{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:3px;margin:22px -22px 0;padding:0 22px;display:flex}.resource-tabs button{color:var(--ink-600);background:0 0;border:0;border-bottom:2px solid #0000;padding:13px 14px;font-size:12px}.resource-tabs button.active{border-bottom-color:var(--blue-600);color:var(--blue-600);font-weight:750}.resource-actions{gap:12px;padding:15px 0}.resource-actions input{width:340px;height:38px;padding:0 11px}.resource-actions span{color:var(--ink-600);flex:1;font-size:11px}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.inline-success{color:#18794e;margin:12px 0}.library-table-scroll{border:1px solid var(--line);border-radius:9px;max-height:580px}.row-actions{gap:11px;min-width:120px}.row-actions button{color:var(--blue-600);background:0 0;border:0;padding:0;font-size:11px}.row-actions .danger-link{color:#bc4b4b}.library-table-scroll .data-table>tbody>tr.is-expanded>td{background:#f2f7fb}.library-table-scroll .data-table>tbody>.pole-material-details-row>td{background:#f2f7fb;border-top:0;padding:0}.pole-material-toggle[aria-expanded=true]{font-weight:750}.pole-material-details{background:#f7fafc;border-left:3px solid #2c78ad;padding:14px 18px 18px}.pole-material-details>header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.pole-material-details>header div{min-width:0}.pole-material-details>header strong,.pole-material-details>header span{display:block}.pole-material-details>header strong{color:#22364a;font-size:13px}.pole-material-details>header span{color:#748094;margin-top:3px;font-size:10px}.pole-material-details>header b{color:#28668f;flex:none;font-size:11px}.pole-material-table-scroll{background:#fff;border:1px solid #d6e0e8;max-height:320px;overflow:auto}.pole-material-details table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:900px}.data-table .pole-material-details th,.data-table .pole-material-details td{vertical-align:middle;background:#fff;border-top:0;border-bottom:1px solid #e2e8ee;border-right:1px solid #e2e8ee;padding:9px 11px;font-size:11px}.data-table .pole-material-details th{z-index:1;color:#536477;background:#edf3f7;position:sticky;top:0}.pole-material-details th:first-child{width:16%}.pole-material-details th:nth-child(2){width:34%}.pole-material-details th:nth-child(3),.pole-material-details th:nth-child(4),.pole-material-details th:nth-child(6){width:10%}.pole-material-details th:nth-child(5){width:20%}.pole-material-details .number-cell{font-variant-numeric:tabular-nums;text-align:right}.pole-material-state{color:#667689;text-align:center;background:#fff;border:1px solid #d6e0e8;padding:18px;font-size:11px}.pole-material-state.is-error{color:#a4483c;background:#fff4f1}.editor-backdrop{z-index:60;background:#07192b75;place-items:center;display:grid;position:fixed;inset:0}.standard-editor{background:#fff;border-radius:14px;width:min(820px,76vw);max-height:88vh;padding:26px;position:relative;overflow-y:auto;box-shadow:0 28px 80px #0012254d}.standard-editor h2{margin-bottom:7px}.editor-heading{justify-content:space-between;margin-bottom:22px;display:flex}.editor-heading p{color:var(--ink-600);margin:0;font-size:12px}.standard-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.standard-form-grid label:not(.checkbox-field){color:#35475c;gap:7px;font-size:12px;font-weight:650;display:grid}.standard-form-grid input:not([type=checkbox]),.standard-form-grid select,.standard-form-grid textarea{width:100%;min-height:40px;padding:9px 11px;font-weight:400}.standard-form-grid textarea{resize:vertical;min-height:84px;font-size:12px;line-height:1.5}.wide-field{grid-column:1/-1}.checkbox-field{color:#35475c;align-items:center;gap:9px;min-height:40px;font-size:12px;font-weight:650;display:flex}.checkbox-field input{width:16px;height:16px}.pagination{color:var(--ink-600);justify-content:flex-end;align-items:center;gap:12px;padding-top:14px;font-size:12px;display:flex}.pagination button{border:1px solid var(--line);color:#33435a;background:#fff;border-radius:7px;min-height:32px;padding:0 12px}.pagination button:disabled{cursor:not-allowed;opacity:.45}.editor-actions{justify-content:flex-end;gap:9px;margin-top:16px}.file-number{color:#d7e1ea;font-size:25px;font-weight:800;position:absolute;top:14px;right:15px}.placeholder-panel{text-align:center;place-content:center;min-height:280px;display:grid}.placeholder-panel>span{width:fit-content;color:var(--blue-600);background:#eaf5ff;border-radius:999px;margin:0 auto 14px;padding:5px 10px;font-size:11px;font-weight:700}.placeholder-panel h1,.placeholder-panel h2{margin-bottom:9px}.audit-mode-toggle{flex-wrap:wrap;gap:8px;display:flex}.quantity-upload-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width<=640px){.quantity-upload-grid{grid-template-columns:minmax(0,1fr)}}.placeholder-panel p{color:var(--ink-600);margin:0;font-size:13px}@media (width<=1280px){.page-container{padding-left:22px;padding-right:22px}.metric-grid{gap:11px}}.audit-page{gap:12px}.audit-page-heading{justify-content:space-between;align-items:center;gap:24px;min-height:48px;display:flex}.audit-page-heading>div:first-child{min-width:0}.audit-page-heading>div:first-child>span{color:#607082;letter-spacing:0;margin-bottom:3px;font-size:10px;font-weight:700;display:block}.audit-page-heading h1{color:#1e2c3a;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:19px;line-height:1.35;overflow:hidden}.audit-page-status{justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.audit-page-status small{color:#687687;text-overflow:ellipsis;white-space:nowrap;max-width:420px;font-size:11px;overflow:hidden}.audit-results-loading{color:#607082;background:#fff;border:1px solid #d7dee7;border-radius:6px;place-items:center;min-height:620px;font-size:13px;display:grid}.audit-workbench{color:#263442;letter-spacing:0;background:#fff;border:1px solid #cfd7e1;border-radius:6px;grid-template-rows:auto auto auto minmax(0,1fr) auto;min-width:0;height:calc(100vh - 178px);min-height:660px;max-height:920px;display:grid;overflow:hidden;box-shadow:0 6px 20px #26344214}.workbench-heading,.workbench-filterbar,.bulk-toolbar,.workbench-statusbar{align-items:center;display:flex}.workbench-heading{border-bottom:1px solid #dfe4ea;justify-content:space-between;gap:20px;min-height:58px;padding:9px 14px 9px 16px}.workbench-title{min-width:0}.workbench-title h2{color:#172635;letter-spacing:0;margin:0 0 3px;font-size:16px}.workbench-title span{color:#6a7888;text-overflow:ellipsis;white-space:nowrap;font-size:11px;display:block;overflow:hidden}.workbench-command-group{flex:none;gap:8px;display:flex}.workbench-command-group button,.inspector-decision button{border-radius:5px;height:34px;padding:0 13px;font-size:12px}.workbench-filterbar{background:#fafbfc;border-bottom:1px solid #dfe4ea;justify-content:space-between;gap:16px;min-height:44px;padding:0 14px 0 10px}.workbench-tabs{align-self:stretch;display:flex}.workbench-tabs button{color:#596879;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;min-width:0;padding:0 11px;font-size:11px;display:flex}.workbench-tabs button:hover{color:#244f73;background:#f1f5f8}.workbench-tabs button.is-active{color:#1d5f91;background:#f1f7fb;border-bottom-color:#2b76ad;font-weight:700}.workbench-tabs button span{color:#657486;text-align:center;background:#e7ebef;border-radius:8px;min-width:20px;padding:2px 5px;font-size:9px}.workbench-search{color:#687687;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;width:min(280px,28vw);font-size:11px;display:grid}.workbench-search input{color:#263442;width:100%;height:30px;font:inherit;background:#fff;border:1px solid #ccd5df;border-radius:4px;padding:0 9px}.workbench-search input:focus{border-color:#4a89b8;outline:2px solid #2a76ad1f}.bulk-toolbar{background:#eef4f7;border-bottom:1px solid #ccd8e2;gap:6px;min-height:42px;padding:5px 10px}.bulk-toolbar>strong{color:#2d4f67;min-width:72px;font-size:11px}.bulk-toolbar button{color:#345267;white-space:nowrap;background:#fff;border:1px solid #b8c8d4;border-radius:4px;height:29px;padding:0 9px;font-size:11px}.bulk-toolbar button:hover:not(:disabled){color:#1c5f8d;background:#f8fbfd;border-color:#6f9fbe}.bulk-toolbar button:disabled{cursor:not-allowed;opacity:.48}.bulk-toolbar .save-draft-button{color:#fff;background:#2672a8;border-color:#2672a8;font-weight:700}.bulk-toolbar-spacer{flex:1}.dirty-indicator{color:#687687;white-space:nowrap;font-size:10px}.dirty-indicator.is-dirty{color:#96631f;font-weight:700}.workbench-body{grid-template-columns:minmax(0,1fr) 360px;min-width:0;min-height:0;display:grid}.audit-grid-scroll{background:#fff;min-width:0;min-height:0;overflow:auto}.audit-grid{table-layout:fixed;border-spacing:0;border-collapse:separate;width:100%;min-width:1324px;font-size:11px}.audit-grid th,.audit-grid td{text-overflow:ellipsis;border-bottom:1px solid #dce2e8;border-right:1px solid #dce2e8;padding:6px 7px;overflow:hidden}.audit-grid th{z-index:4;color:#3d4d5c;text-align:center;white-space:normal;background:#edf1f4;height:32px;font-size:10px;font-weight:700;line-height:1.25;position:sticky;top:34px}.audit-grid .audit-grid-groups th{background:#e5ebf0;height:34px;top:0}.audit-grid .audit-group-heading,.audit-grid .audit-heading{color:#604f23;background:#f3e8b8}.audit-grid .select-column{text-align:center;width:38px;padding-left:3px;padding-right:3px}.audit-grid .sequence-column{color:#687687;text-align:center;width:46px}.audit-grid .material-column{text-align:left;width:292px}.audit-grid .unit-column{text-align:center;width:54px}.audit-grid th:not(.select-column,.sequence-column,.material-column,.unit-column,.platform-column,.conclusion-column){width:92px}.audit-grid .platform-column{width:108px}.audit-grid .conclusion-column{width:178px}.audit-grid tbody tr{cursor:default;height:51px}.audit-grid tbody td{color:#31404f;vertical-align:middle;background:#fff}.audit-grid tbody tr:hover td:not(.audit-edit-cell),.audit-grid tbody tr.is-active td:not(.audit-edit-cell){background:#f2f7fa}.audit-grid tbody tr.is-active td:first-child{box-shadow:inset 3px 0 #2875aa}.audit-grid tbody tr.is-checked td:not(.audit-edit-cell){background:#edf5f8}.audit-grid tbody tr.is-dirty td:not(.audit-edit-cell){background:#fffaf0}.audit-grid input[type=checkbox]{accent-color:#2875aa;width:15px;height:15px;margin:0}.audit-grid .material-column strong,.audit-grid .material-column small{display:block}.audit-grid .material-column strong{color:#22313f;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.4;overflow:hidden}.audit-grid .material-column small{color:#7b8794;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:9px;overflow:hidden}.audit-grid .number-cell{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.audit-grid .platform-value{color:#1f5e82;background:#f4f8fa}.audit-grid .platform-value strong,.audit-grid .platform-value small{display:block}.audit-grid .platform-value small{color:#a14f3d;margin-top:2px;font-size:9px}.audit-grid .audit-edit-cell{background:#fff8d7;padding:4px}.audit-grid .audit-edit-cell input{color:#2e3945;width:100%;min-width:0;height:33px;font:inherit;font-variant-numeric:tabular-nums;text-align:right;background:0 0;border:1px solid #0000;border-radius:2px;padding:0 6px}.audit-grid .audit-edit-cell input:hover{background:#fffdf0;border-color:#dbc66e}.audit-grid .audit-edit-cell input:focus{background:#fff;border-color:#2d78ad;outline:2px solid #2d78ad33}.audit-grid .conclusion-column{white-space:normal}.conclusion-tag{color:#526171;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10px;font-weight:700;line-height:1.35;display:block;overflow:hidden}.conclusion-tag.warning{color:#a14f3d}.conclusion-tag.manual{color:#28678f}.conclusion-tag.draft{color:#96631f}.conclusion-tag.ok{color:#2e7658}.evidence-link{color:#2875aa;background:0 0;border:0;padding:2px 0 0;font-size:9px}.grid-empty{text-align:center;height:180px;color:#718091!important}.audit-inspector{background:#f9fafb;border-left:1px solid #cfd7e1;flex-direction:column;min-width:0;min-height:0;display:flex}.inspector-heading{background:#fff;border-bottom:1px solid #dfe4ea;flex:none;padding:13px 15px 11px}.inspector-heading>span{color:#748292;font-size:9px;font-weight:700}.inspector-heading h3{overflow-wrap:anywhere;color:#1d2d3b;letter-spacing:0;margin:4px 0 3px;font-size:13px;line-height:1.45}.inspector-heading p{color:#748292;margin:0;font-size:10px}.inspector-tabs{background:#fff;border-bottom:1px solid #d8e0e7;flex:none;grid-template-columns:repeat(3,1fr);display:grid}.inspector-tabs button{color:#687687;background:0 0;border:0;border-bottom:2px solid #0000;height:36px;font-size:10px}.inspector-tabs button.is-active{color:#1f628f;border-bottom-color:#2875aa;font-weight:700}.inspector-content{flex:1;min-height:0;padding:13px 15px 18px;overflow-y:auto}.evidence-summary,.pricing-source-data{margin:0;display:grid}.evidence-summary>div,.pricing-source-data>div{border-bottom:1px solid #e2e7ec;grid-template-columns:minmax(108px,.8fr) minmax(0,1.3fr);gap:10px;padding:7px 0;font-size:10px;display:grid}.evidence-summary dt,.pricing-source-data dt{color:#718091}.evidence-summary dd,.pricing-source-data dd{overflow-wrap:anywhere;color:#2c3d4d;text-align:right;margin:0;font-weight:700}.inspector-section-heading{color:#405263;margin:17px 0 7px;font-size:10px;font-weight:800}.evidence-source-list,.decision-history{display:grid}.evidence-source-list>div,.decision-history>div{border-top:1px solid #e0e6eb;gap:3px;padding:8px 0;font-size:10px;display:grid}.evidence-source-list strong,.decision-history strong{color:#2e4050}.evidence-source-list span,.decision-history span{color:#607082;line-height:1.5}.evidence-source-list b{color:#1d648f}.evidence-source-list small,.decision-history small{color:#8793a0;font-size:9px}.evidence-source-list .source-material{color:#405c70;font-weight:700}.evidence-source-list .source-pole-meta{color:#65798a;line-height:1.5}.evidence-source-list .source-weight-formula{color:#455f72;background:#f1f6f8;padding:4px 6px}.evidence-source-list .source-assembly-rule{color:#225f48;font-weight:700}.source-assembly-components{background:#f0f7f4;border-left:2px solid #4e9278;gap:2px;padding:5px 7px;display:grid}.evidence-source-list .source-assembly-components small{color:#45675a}.evidence-weight-total{color:#385266;background:#eaf4f8;border-left:3px solid #3180b4;gap:5px;margin-top:10px;padding:10px 11px;font-size:10px;line-height:1.55;display:grid}.evidence-weight-total span{color:#5b7181;font-weight:800}.evidence-weight-total b{color:#155f8d}.inspector-empty,.current-reason,.price-formula{color:#5c6d7e;background:#eef2f5;margin:0;padding:10px 11px;font-size:10px;line-height:1.65}.price-formula{color:#324c60;background:#eef6fa;border-left:3px solid #3180b4}.current-reason{background:#fff8e7;border-left:3px solid #d2a342}.current-reason strong{color:#6d5222;margin-bottom:4px;display:block}.inspector-issues{border-left:3px solid #c66a54;margin-top:12px;padding-left:10px}.inspector-issues p{color:#6f5550;gap:3px;margin:0;padding:5px 0;font-size:9px;line-height:1.5;display:grid}.inspector-issues strong{color:#a14f3d}.decision-history p{color:#765b2e;margin:0;line-height:1.5}.inspector-decision{background:#fff;border-top:1px solid #ccd5df;flex:none;padding:10px 12px 11px}.inspector-decision>label{color:#3b4d5d;justify-content:space-between;margin-bottom:5px;font-size:10px;font-weight:700;display:flex}.inspector-decision>label span{color:#7a8794;font-weight:500}.inspector-decision textarea{resize:vertical;color:#2e3e4e;width:100%;min-height:58px;font:inherit;border:1px solid #c8d2dc;border-radius:4px;padding:7px 8px;font-size:10px;line-height:1.5}.inspector-decision textarea:focus{border-color:#3e82b2;outline:2px solid #2d78ad24}.inspector-decision>div{justify-content:flex-end;gap:7px;margin-top:8px;display:flex}.reason-error{color:#a14f3d;margin:5px 0 0;font-size:9px}.inspector-placeholder{color:#718091;text-align:center;place-items:center;min-height:100%;padding:32px;font-size:11px;line-height:1.8;display:grid}.workbench-statusbar{color:#687687;white-space:nowrap;background:#f4f6f8;border-top:1px solid #cfd7e1;justify-content:space-between;gap:14px;min-height:30px;padding:0 11px;font-size:9px}.workbench-statusbar strong{color:#244d68;font-size:10px}.workbench-page-error{color:#874638;background:#fff4f1;border-left:3px solid #bf654f;margin:0;padding:9px 12px;font-size:11px}@media (width<=1280px){.workbench-body{grid-template-columns:minmax(0,1fr) 330px}.audit-page-status small,.workbench-title span{display:none}}@media (width<=1040px){.audit-workbench{height:auto;min-height:0;max-height:none}.workbench-body{grid-template-columns:1fr}.audit-grid-scroll{height:620px}.audit-inspector{border-top:1px solid #cfd7e1;border-left:0;min-height:520px}.workbench-statusbar span:last-child,.workbench-search span{display:none}}:is(body:has(.audit-page) .sidebar,body:has(.audit-page) .topbar){display:none}body:has(.audit-page) .app-main{width:100%;margin-left:0}body:has(.audit-page) .page-container{padding:10px 14px 28px}.audit-back-link{color:#3c586d;white-space:nowrap;background:#fff;border:1px solid #cbd5df;border-radius:4px;height:30px;padding:0 10px;font-size:11px;font-weight:700;line-height:28px}.audit-back-link:hover{color:#1f648f;background:#f7fafc;border-color:#79a2bd}.audit-page-heading{min-height:46px}.audit-workbench{height:calc(100vh - 78px);min-height:700px;max-height:none}.workbench-body{grid-template-rows:minmax(330px,1fr) clamp(260px,32vh,360px);grid-template-columns:minmax(0,1fr)}.audit-grid-scroll{width:100%}.audit-grid{width:100%;min-width:1132px}.audit-grid col.select-column{width:34px}.audit-grid col.sequence-column{width:40px}.audit-grid col.material-column{width:230px}.audit-grid col.unit-column{width:44px}.audit-grid col.submitted-quantity-column{width:70px}.audit-grid col.submitted-price-column{width:84px}.audit-grid col.submitted-amount-column{width:92px}.audit-grid col.platform-column{width:90px}.audit-grid col.audited-quantity-column{width:88px}.audit-grid col.audited-price-column{width:128px}.audit-grid col.audited-amount-column{width:96px}.audit-grid col.conclusion-column{width:136px}.audit-grid th,.audit-grid td{text-overflow:clip}.audit-grid tbody tr{height:auto;min-height:54px}.audit-grid tbody td{padding-top:8px;padding-bottom:8px}.audit-grid .material-column strong,.audit-grid .material-column small{text-overflow:clip;white-space:normal;overflow:visible}.audit-grid .material-column strong{overflow-wrap:anywhere}.audit-grid .number-cell{overflow:visible}.audit-grid .audit-edit-cell{padding:5px}.audit-grid .audit-edit-cell input{height:38px;padding:0 7px;font-size:11px;font-weight:650}.audit-grid .conclusion-column,.conclusion-tag{text-overflow:clip;white-space:normal;overflow:visible}.audit-inspector{background:#fff;border-top:3px solid #2d78a8;border-left:0;grid-template-rows:44px minmax(0,1fr);grid-template-columns:270px minmax(0,1fr) 370px;min-height:0;display:grid;overflow:hidden}.inspector-heading{background:#f3f7fa;border-bottom:0;border-right:1px solid #dfe4ea;grid-row:1/3;padding:17px 18px}.inspector-tabs{grid-area:1/2}.inspector-content{grid-area:2/2;padding:12px 18px 18px}.inspector-final-values{border-top:1px solid #d5e0e8;gap:0;margin:16px 0 0;display:grid}.inspector-final-values>div{border-bottom:1px solid #dce5eb;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;display:flex}.inspector-final-values dt{color:#627384;font-size:10px}.inspector-final-values dd{color:#174f73;text-align:right;margin:0;font-size:13px;font-weight:800}.inspector-content .evidence-summary{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}.inspector-content .evidence-summary>div{grid-template-columns:minmax(92px,.8fr) minmax(0,1.2fr);padding:5px 0}.inspector-section-heading{margin-top:10px}.inspector-price-summary{background:#eff8f4;border-left:4px solid #31906a;grid-template-columns:minmax(145px,.45fr) minmax(0,1fr);align-items:center;gap:16px;margin-top:12px;padding:10px 12px;display:grid}.inspector-price-summary>div{gap:3px;display:grid}.inspector-price-summary span{color:#587165;font-size:9px;font-weight:700}.inspector-price-summary strong{color:#176445;font-size:15px}.inspector-price-summary p{color:#49665a;margin:0;font-size:10px;line-height:1.55}.inspector-decision{background:#fffaf0;border-top:0;border-left:1px solid #cfd7e1;grid-area:1/3/3;padding:17px 16px;overflow-y:auto}.inspector-decision textarea{background:#fff;min-height:92px}@media (width<=1100px){body:has(.audit-page) .page-container{padding-left:10px;padding-right:10px}.audit-grid{min-width:930px;font-size:10px}.audit-grid col.select-column{width:30px}.audit-grid col.sequence-column{width:34px}.audit-grid col.material-column{width:190px}.audit-grid col.unit-column{width:38px}.audit-grid col.submitted-quantity-column{width:58px}.audit-grid col.submitted-price-column{width:68px}.audit-grid col.submitted-amount-column,.audit-grid col.platform-column{width:72px}.audit-grid col.audited-quantity-column{width:70px}.audit-grid col.audited-price-column,.audit-grid col.audited-amount-column{width:78px}.audit-grid col.conclusion-column{width:110px}.audit-grid .audit-edit-cell input{padding-left:4px;padding-right:4px;font-size:10px}.audit-inspector{grid-template-columns:220px minmax(0,1fr) 320px}.workbench-title span,.audit-page-status small,.workbench-statusbar span:last-child{display:none}}@media (width<=820px){.audit-page-heading{align-items:flex-start}.audit-page-status .status-tag,.workbench-command-group .secondary-button{display:none}.workbench-filterbar{flex-direction:column;align-items:stretch;padding:5px 8px}.workbench-tabs{min-height:36px}.workbench-search{width:100%}.bulk-toolbar{overflow-x:auto}.audit-grid-scroll{height:auto}.audit-inspector{grid-template-rows:auto 37px minmax(140px,1fr) auto;grid-template-columns:1fr;overflow-y:auto}.inspector-heading,.inspector-tabs,.inspector-content,.inspector-decision{grid-area:auto/1}.inspector-heading,.inspector-decision{border-left:0;border-right:0}}.audit-grid.quantity-only-grid{min-width:760px}.audit-grid.quantity-only-grid col.material-column{width:34%}html:has(.quantity-review-page){min-width:0}body:has(.quantity-review-page){min-width:0}#root:has(.quantity-review-page){min-width:0}.quantity-review-page .page-heading{flex-wrap:wrap;gap:12px}@media (width<=820px){.app-shell:has(.quantity-review-page) .sidebar{display:none}.app-shell:has(.quantity-review-page) .app-main{margin-left:0}.quantity-review-page .audit-page-heading,.quantity-review-page .workbench-heading{flex-wrap:wrap;gap:10px}.quantity-review-page .audit-page-heading h1{white-space:normal;overflow-wrap:anywhere}.quantity-review-page .workbench-command-group{flex-wrap:wrap}.quantity-review-page .audit-workbench{height:auto;min-height:880px;max-height:none}}.auth-loading{color:#486072;text-align:center;padding:64px 24px}.login-page{color:#263744;background:#f4f6f8;flex-direction:column;min-height:100dvh;display:flex}.login-header{background:#fff;border-bottom:1px solid #e2e7eb;justify-content:space-between;align-items:center;gap:20px;min-height:88px;padding:18px 40px;display:flex}.login-brand{align-items:center;gap:12px;min-width:0;display:flex}.login-brand-icon{color:#167867;background:#eaf4f2;border-radius:6px;flex:none;place-items:center;width:44px;height:44px;display:grid}.login-brand strong{font-size:18px;font-weight:650;line-height:1.5;display:block}.login-brand small{color:#74818b;margin-top:2px;font-size:12px;display:block}.login-header-label{color:#74818b;white-space:nowrap;font-size:13px}.login-content{flex:1;place-items:center;padding:48px 24px;display:grid}.login-form{background:#fff;border:1px solid #dce4e8;border-top:3px solid #28786a;border-radius:8px;width:100%;min-width:0;max-width:448px;padding:36px 36px 24px;box-shadow:0 8px 28px #253e5010}.login-eyebrow{color:#557568;margin-bottom:16px;font-size:12px;display:block}.login-form h1{margin:0 0 8px;font-size:26px;font-weight:650;line-height:1.4}.login-subtitle{color:#77858e;margin:0 0 28px;font-size:13px}.login-fields{flex-direction:column;display:flex}.login-fields>label{margin:0 0 8px;font-size:13px;font-weight:550}.login-input{color:#83919a;background:#fff;border:1px solid #cfd9df;border-radius:4px;align-items:center;gap:10px;min-height:46px;margin-bottom:22px;padding:0 12px;display:flex}.login-input:focus-within{border-color:#267d72;box-shadow:0 0 0 3px #267d7214}.login-input input{color:#263744;background:0 0;border:0;border-radius:0;width:100%;min-width:0;height:44px;padding:0;font-size:14px}.login-input input:focus{box-shadow:none;outline:none}.login-input input::placeholder{color:#99a3ab}.login-input>svg{flex-shrink:0}.login-reveal{color:#75838c;background:0 0;border:0;border-radius:3px;flex:0 0 32px;place-items:center;width:32px;height:36px;margin-right:-6px;display:grid}.login-reveal:hover{color:#167867;background:#f0f6f4}.login-page .login-primary{gap:10px;width:100%;min-height:46px;margin-top:2px;font-size:14px}.login-error{text-align:left;background:#fff2f0;border:1px solid #f2d8d3;border-radius:4px;margin:0 0 16px;padding:10px 12px}.login-caps{color:#936522;margin:-12px 0 16px;font-size:12px}.login-support{text-align:center;color:#89949b;border-top:1px solid #edf0f2;margin-top:28px;padding-top:20px;font-size:12px}.login-footer{color:#89949b;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:20px 24px 28px;font-size:12px;display:flex}.login-footer>svg{color:#6f9283}.login-methods{background:#f1f4f6;border-radius:5px;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:26px;padding:4px;display:grid}.login-methods button{color:#75838c;background:0 0;border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;gap:7px;min-width:0;min-height:38px;font-size:13px;display:flex}.login-methods button[aria-pressed=true]{color:#167867;background:#fff;border-color:#dfe6e9;font-weight:600}.login-methods button:disabled{cursor:not-allowed;color:#829097}.login-method-status{color:#8d7550;white-space:nowrap;font-size:10px}.login-provider-note{color:#89949b;margin:-12px 0 24px;font-size:12px;line-height:1.6}.login-dingtalk{text-align:center}.login-dingtalk-symbol{color:#24776b;background:#f4f9f7;border:1px solid #dfebe7;border-radius:8px;place-items:center;width:88px;height:88px;margin:8px auto 20px;display:grid}.login-dingtalk strong{font-size:16px}.login-dingtalk>p:not(.auth-error){color:#77858e;overflow-wrap:anywhere;margin:10px 0 28px;font-size:12px}.login-status{color:#77858e;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:190px;font-size:13px;display:flex}.login-spinner{animation:1s linear infinite login-spin}@keyframes login-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.login-spinner{animation:none}}.auth-note,.muted{color:#667783;font-size:13px;line-height:1.7}.auth-error{color:#ad3939;overflow-wrap:anywhere;font-size:13px;line-height:1.6}.btn{color:#365266;cursor:pointer;background:#fff;border:1px solid #cbd8de;border-radius:4px;justify-content:center;align-items:center;gap:6px;min-height:32px;padding:6px 12px;font-size:13px;display:inline-flex}.btn:hover{background:#eef4f5}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{color:#fff;background:#167867;border-color:#167867}.btn-primary:hover{background:#126455}.admin-page{background:#fff;min-width:0;padding:20px 24px}.admin-heading,.admin-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.admin-heading h1{margin:0;font-size:22px}.admin-heading>span,.admin-toolbar small{color:#667783;font-size:12px;font-weight:400}.admin-toolbar{margin:24px 0 14px}.admin-toolbar h2{margin:0;font-size:16px}.admin-tabs{border-bottom:1px solid #dce4e8;margin-top:20px;display:flex}.admin-tabs button{cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:12px 20px}.admin-tabs [aria-selected=true]{color:#167867;border-bottom-color:#167867;font-weight:650}.admin-metrics{border-top:1px solid #e2e8ec;border-bottom:1px solid #e2e8ec;grid-template-columns:repeat(6,minmax(0,1fr));margin:0;display:grid}.admin-metrics>div{border-right:1px solid #e2e8ec;padding:20px 16px}.admin-metrics>div:last-child{border:0}.admin-metrics dt{color:#657581;font-size:12px}.admin-metrics dd{color:#23495e;font-variant-numeric:tabular-nums;margin:10px 0 0;font-size:28px;font-weight:650}.admin-trend{border-bottom:1px solid #dbe5e8;align-items:flex-end;gap:3px;height:88px;padding:0 8px;display:flex}.admin-trend>div{flex:1;align-items:flex-end;height:100%;display:flex}.admin-trend span{background:#6a9f91;width:100%;max-width:28px;margin:0 auto;display:block}.admin-trend-caption{color:#6a7982;justify-content:space-between;gap:12px;margin:8px 0 26px;font-size:11px;display:flex}.admin-table-scroll{max-width:100%;overflow:auto}.admin-table{border-collapse:collapse;width:100%;font-size:12px}.admin-table th{white-space:nowrap;background:#f2f5f7;font-weight:600}.admin-table td,.admin-table th{text-align:left;border-bottom:1px solid #e1e7eb;padding:12px 10px}.admin-table td{overflow-wrap:anywhere;min-width:60px}.admin-table td:first-child{min-width:130px}.admin-table td small{color:#72818c;max-width:160px;margin-top:5px;font-size:11px;display:block}.admin-table .selected{background:#f0f8f5}.admin-row-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.admin-row-actions select{max-width:110px}.admin-active{color:#19745e;white-space:nowrap;background:#edf7f2;border-radius:3px;padding:3px 6px}.admin-disabled{color:#8b4c3e;white-space:nowrap;background:#faf0eb;border-radius:3px;padding:3px 6px}.admin-pagination{justify-content:flex-end;align-items:center;gap:12px;padding:16px 0;font-size:12px;display:flex}.admin-detail{border-top:2px solid #4d8375;padding-bottom:20px}.admin-log{max-height:250px;margin:12px 0;padding:0;list-style:none;overflow:auto}.admin-log li{border-bottom:1px solid #edf0f2;gap:24px;padding:8px 0;font-size:12px;display:flex}.admin-log time{color:#72818c}.admin-config{max-width:700px}.admin-form{gap:16px;display:grid}.admin-form label{gap:6px;font-size:13px;display:grid}.admin-form input,.admin-form textarea,.admin-page input,.admin-page select{min-width:0;max-width:100%;font:inherit;background:#fff;border:1px solid #cbd8de;border-radius:4px;padding:9px 10px}.admin-form label.admin-checkbox{align-items:center;gap:8px;display:flex}.admin-form p{margin:0}.topbar .user-menu{flex-wrap:wrap;gap:10px}@media (width<=1000px){.admin-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-trend-caption{flex-wrap:wrap}}@media (width<=600px){.login-header{min-height:76px;padding:16px 20px}.login-header-label{display:none}.login-brand strong{font-size:16px}.login-brand small{font-size:11px}.login-content{padding:32px 18px}.login-form{padding:28px 24px 22px}.login-form h1{font-size:24px}.login-footer{padding:16px;font-size:11px}.admin-page{padding:16px 12px}.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-heading h1{font-size:20px}.admin-table{min-width:820px}}.login-page,.admin-page{letter-spacing:0}html:has(.login-page){min-width:0}body:has(.login-page){min-width:0}#root:has(.login-page){min-width:0}html:has(.admin-page){min-width:0}body:has(.admin-page){min-width:0}#root:has(.admin-page){min-width:0}.login-page button:focus-visible,.admin-page button:focus-visible{outline-offset:3px;outline:2px solid #267d72}@media (width<=900px){.app-shell:has(.admin-page){display:block}.app-shell:has(.admin-page) .sidebar{background:#163e51;width:100%;position:static}.app-shell:has(.admin-page) .brand{display:none}.app-shell:has(.admin-page) .nav{padding:8px}.app-shell:has(.admin-page) .nav-group{flex-wrap:wrap;gap:4px;display:flex}.app-shell:has(.admin-page) .nav-item{min-height:38px;padding:8px;font-size:12px}.app-shell:has(.admin-page) .app-main{width:100%;margin-left:0}.app-shell:has(.admin-page) .topbar{flex-wrap:wrap;gap:8px;height:auto;min-height:60px;padding:12px}.app-shell:has(.admin-page) .page-container{padding:12px}}
