:root{--ink:#182c2a;--muted:#6e7d79;--line:#e4eae6;--green:#176b50;--green-dark:#123e32;--green-soft:#eaf4ee;--paper:#fff;--canvas:#f4f6f3;--amber:#a36a13;--amber-soft:#fff4df;--red:#b44a3b;--red-soft:#fceee9;--blue:#386a8a;--radius:12px;--shadow:0 8px 28px rgba(22,50,38,.04)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a3ceba;outline-offset:3px}button{transition:background .15s,border-color .15s,box-shadow .15s}input,select,textarea{border:1px solid #d8e1da;border-radius:7px;background:#fff;color:var(--ink);min-height:40px;padding:9px 12px;max-width:100%}input::placeholder,textarea::placeholder{color:#94a09a}select{padding-right:30px}input[type=checkbox],input[type=radio]{min-height:auto;accent-color:var(--green);width:16px;height:16px;flex-shrink:0}textarea{resize:vertical;line-height:1.6}h1,h2,h3,p{margin:0}h1{font-size:28px;font-weight:650;letter-spacing:-.7px;line-height:1.4}h2{font-size:16px;font-weight:650;line-height:1.5}h3{font-size:15px;font-weight:650}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}[hidden]{display:none!important}.skip-link{position:fixed;left:16px;top:-80px;z-index:200;background:#fff;padding:12px;border:2px solid var(--green)}.skip-link:focus{top:16px}.app-shell{display:flex;min-height:100vh}.sidebar{width:226px;position:fixed;inset:0 auto 0 0;z-index:20;background:#173d32;color:#d5e4db;display:flex;flex-direction:column;padding:31px 18px 20px}.brand{display:flex;gap:12px;align-items:center;color:#fff;padding:0 12px;margin-bottom:48px}.brand:hover{text-decoration:none}.brand-logo{display:block;width:46px;height:42px;object-fit:contain;padding:4px;background:#fff;border-radius:8px;flex-shrink:0}.brand-symbol{width:39px;height:42px;background:#e3efcf;border-radius:11px 4px 11px 4px;display:inline-flex;align-items:center;justify-content:center;color:#224c37;font-family:serif;font-size:25px;font-weight:bold;flex-shrink:0}.brand strong{display:block;font-size:20px;letter-spacing:3px;line-height:1.3}.brand small{display:block;font-size:10px;letter-spacing:1.5px;color:#91b0a1;margin-top:5px}.nav-caption{font-size:10px;letter-spacing:2px;color:#87a596;padding:0 18px 13px}.primary-nav{display:flex;flex-direction:column;gap:7px}.nav-item{border:0;background:none;color:#b7cfc1;display:flex;align-items:center;text-align:left;gap:13px;min-height:47px;border-radius:8px;padding:11px 16px;font-weight:500}.nav-item:hover{background:#224a3d;color:#fff}.nav-item.active{background:#315648;color:#fff}.nav-icon{width:20px;font-size:22px;line-height:1;text-align:center;font-weight:300}.nav-count{font-size:10px;background:#e6d8b9;color:#473a1e;padding:1px 6px;border-radius:5px;margin-left:auto}.sidebar-rule{margin:auto 12px 25px;border:1px solid #355648;border-radius:9px;padding:15px 12px;display:flex;gap:10px;font-size:12px;line-height:1.8;color:#b4cabc}.sidebar-rule small{font-size:10px;color:#88a899}.small-dot{width:6px;height:6px;border-radius:50%;background:#b4ca86;margin-top:7px;flex-shrink:0}.sidebar-footer{display:flex;align-items:center;gap:10px;padding:17px 5px 0;border-top:1px solid #345345}.avatar{width:30px;height:30px;background:#315345;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}.sidebar-footer strong{display:block;font-size:11px;color:#e5eee7;font-weight:500;max-width:110px;overflow:hidden;text-overflow:ellipsis}.sidebar-footer small{font-size:9px;color:#86a393}.sidebar-footer .icon-button{margin-left:auto;color:#adc5b7;min-width:26px}.workspace{width:calc(100% - 226px);margin-left:226px;min-width:0}.topbar{height:67px;background:rgba(255,255,255,.78);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;gap:20px}.breadcrumb{font-size:11px;color:#819087}.breadcrumb span{margin:0 10px;color:#b2beb4}.breadcrumb strong{color:#52665a;font-weight:500}.topbar-right{display:flex;align-items:center;gap:22px}.internal-badge{font-size:10px;color:#658271;background:#edf2ec;border:1px solid #dfe8de;border-radius:4px;padding:2px 7px}.text-button{background:none;border:0;color:#64786b;font-size:11px;padding:7px 0}.text-button:hover{color:var(--green)}main{max-width:1600px;margin:0 auto;padding:33px 38px 0}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:27px}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:600;color:#779281;margin-bottom:8px}.page-heading p{font-size:12px;color:var(--muted);margin-top:8px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:7px;padding:10px 16px;min-height:40px;white-space:nowrap;font-size:12px;font-weight:550;border:1px solid transparent;text-decoration:none}.button:hover{text-decoration:none}.button.primary{background:var(--green);color:#fff;border-color:var(--green);box-shadow:0 3px 7px #176b5010}.button.primary:hover{background:#105c43}.button.secondary{background:#fff;border-color:#dbe3dc;color:#395b47}.button.secondary:hover{background:#f6f9f5;border-color:#b7cbbd}.button.small{min-height:33px;padding:7px 11px;font-size:11px}.button.full-width{width:100%;justify-content:space-between}.filterbar{display:flex;align-items:center;gap:18px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:13px 16px;margin-bottom:23px;min-height:66px;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:9px}.filter-group label{font-size:11px;white-space:nowrap;color:#748476}.filter-group select{font-size:11px;border-color:#e0e7de;min-height:33px;padding:7px 28px 7px 10px;max-width:270px;background:#fbfcfa}.supplier-filter{flex:1}.supplier-filter select{max-width:280px;min-width:148px}.filterbar-end{display:flex;align-items:center;gap:15px;margin-left:auto}.period-label{font-size:10px;color:#8a978d}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:23px}.summary-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px 21px 17px;min-height:126px;box-shadow:var(--shadow)}.summary-card.featured{background:#eaf1e7;border-color:#dbe5d5}.card-topline{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#6b7e6f}.card-icon{font-size:15px;color:#90a391;font-weight:300}.card-value{font-variant-numeric:tabular-nums;font-size:28px;font-weight:650;letter-spacing:-.8px;margin:9px 0 7px;line-height:1.15}.card-value.amount{font-size:27px}.card-value .card-unit{font-size:11px;color:#839080;letter-spacing:0;margin-left:7px;font-weight:400}.card-foot{font-size:10px;color:#8a978a;display:flex;gap:9px;align-items:center}.card-foot .ok{color:var(--green)}.overview-grid{display:grid;grid-template-columns:minmax(0,1fr) 276px;gap:21px;margin-bottom:23px;align-items:stretch}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;margin-bottom:23px}.overview-grid .panel{margin-bottom:0}.panel-heading{padding:21px 23px 17px;display:flex;justify-content:space-between;gap:16px;align-items:center}.panel-heading p{font-size:10px;color:#87948a;margin-top:5px}.unit-label{font-size:9px;color:#92a092;white-space:nowrap}.table-wrap{overflow:auto;width:100%;-webkit-overflow-scrolling:touch}table{border-collapse:collapse;width:100%;text-align:left;font-size:11px;white-space:nowrap}th{font-size:10px;color:#8a978d;font-weight:500;background:#f9fbf8;padding:12px 18px;border-top:1px solid #edf0eb;border-bottom:1px solid #edf0eb}td{padding:16px 18px;border-bottom:1px solid #edf0eb;color:#536759;line-height:1.5}tr:last-child td{border-bottom:0}th:first-child,td:first-child{padding-left:23px}th:last-child,td:last-child{padding-right:23px}tbody tr:hover{background:#fcfdfb}.numeric{text-align:right;font-variant-numeric:tabular-nums;letter-spacing:.1px}.monthly-chart{height:146px;display:flex;align-items:flex-end;justify-content:space-around;margin:7px 23px 0;gap:20px;border-bottom:1px solid #eef1eb;background:repeating-linear-gradient(to top,transparent 0,transparent 45px,#f1f4ee 46px,transparent 47px)}.chart-month{height:100%;flex:1;max-width:130px;display:flex;align-items:flex-end;justify-content:center;gap:7px;position:relative}.chart-bar{width:26px;min-height:2px;border-radius:4px 4px 0 0;background:#3f8264;position:relative;max-height:96%}.chart-bar.tax{background:#a7c3aa}.chart-bar-label{position:absolute;top:-21px;left:50%;transform:translateX(-50%);font-size:9px;white-space:nowrap;color:#8c9b8d}.chart-month-label{position:absolute;bottom:-20px;left:0;width:100%;font-size:10px;text-align:center;color:#7d8e7f}.chart-legend{display:flex;gap:16px;align-items:center;justify-content:center;font-size:9px;color:#88958a;margin:34px 0 18px}.chart-legend>span{display:flex;align-items:center;gap:5px}.legend-dot{width:6px;height:6px;display:inline-block;border-radius:2px;background:#3f8264}.legend-dot.tax{background:#a7c3aa}.monthly-panel table{font-size:10px}.monthly-panel th,.monthly-panel td{padding-left:13px;padding-right:13px}.monthly-panel th:first-child,.monthly-panel td:first-child{padding-left:23px}.monthly-panel th:last-child,.monthly-panel td:last-child{padding-right:23px}.check-panel .panel-heading{padding-bottom:8px}.live-indicator{width:6px;height:6px;background:#94b881;border-radius:50%}.coverage-block{text-align:center;padding:17px 20px 19px}.coverage-number{font-size:39px;font-weight:600;letter-spacing:-1px;line-height:1.2;color:var(--green)}.coverage-number span{font-size:15px;font-weight:400;letter-spacing:0;margin-left:3px}.coverage-caption{font-size:10px;color:#8b998c;margin-top:6px}.coverage-progress{height:4px;border-radius:3px;background:#e9efe6;margin-top:15px;overflow:hidden}.coverage-progress>span{display:block;height:100%;background:#7caa73;border-radius:3px}.issue-breakdown{padding:0 23px 16px}.issue-line{display:flex;align-items:center;justify-content:space-between;font-size:11px;padding:7px 0;color:#718372}.issue-line span:first-child{display:flex;align-items:center;gap:7px}.issue-dot{width:5px;height:5px;border-radius:50%;background:#afbeb0}.issue-dot.warn{background:#c6a459}.issue-line strong{font-size:12px;font-weight:550;font-variant-numeric:tabular-nums}.check-panel>.button{margin:0 23px;width:calc(100% - 46px);font-size:10px;min-height:34px}.rule-note{margin:19px 23px 21px;border-top:1px solid #edf1e9;padding-top:15px}.rule-note strong{font-size:10px;color:#718573;font-weight:500}.rule-note p{font-size:9px;color:#95a093;line-height:1.8;margin-top:6px}.heading-count{font-size:10px;font-weight:500;background:#edf2e9;color:#7c917b;padding:2px 6px;border-radius:4px;margin-left:6px}.supplier-panel .panel-heading{padding-bottom:19px}.supplier-name{max-width:285px;white-space:normal;min-width:210px;font-weight:500;color:#314d3c}.supplier-code{display:block;font-size:9px;color:#9aa596;margin-top:3px;font-weight:400}.supplier-link{background:none;border:0;color:#314d3c;text-align:left;padding:0;max-width:100%;font:inherit;font-weight:500}.supplier-link:hover{color:var(--green);text-decoration:underline}.badge{display:inline-flex;align-items:center;gap:4px;font-size:9px;line-height:1.5;white-space:nowrap;border-radius:4px;padding:3px 7px;background:#edf3e8;color:#648454}.badge.ok{background:#edf5eb;color:#6b8c5e}.badge.warning{background:var(--amber-soft);color:#a47c38}.badge.error{background:var(--red-soft);color:#b1614b}.badge.info{background:#edf2f7;color:#657f96}.badge.neutral{background:#f0f2ee;color:#8a9585}.zero-difference{color:#7e9178}.nonzero-difference{color:#ae6e26}.row-action{border:0;background:none;color:#839b80;font-size:16px;padding:3px 5px}.content-footer{display:flex;justify-content:space-between;border-top:1px solid #e3e9df;padding:19px 0 23px;margin-top:33px;font-size:9px;color:#9ba797;gap:20px}.alert{border:1px solid #d8e4d3;background:#f0f6ec;border-radius:8px;padding:12px 16px;font-size:12px;margin-bottom:20px;color:#54744b}.alert.error{background:#fff2eb;border-color:#f0d9cb;color:#9c543d}.report-warnings{background:#fffaef;border:1px solid #ecdfbd;color:#9b7c40;border-radius:8px;padding:12px 16px;margin-bottom:22px;font-size:11px}.report-warnings p+p{margin-top:5px}.detail-toolbar{padding:19px 22px;display:flex;align-items:center;gap:14px}.search-input{position:relative;flex:1;max-width:430px}.search-input>span{position:absolute;left:12px;top:4px;font-size:24px;color:#a2afa0}.search-input input{padding-left:35px;width:100%;background:#fbfcfa;font-size:12px}.detail-toolbar select{font-size:11px;background:#fbfcfa}.detail-toolbar>.muted{margin-left:auto;font-size:10px}.detail-table .primary-cell{font-size:11px;color:#3b5743;font-variant-numeric:tabular-nums;font-weight:550}.secondary-cell{display:block;font-size:10px;color:#899786;font-weight:400;margin-top:5px;max-width:255px;overflow:hidden;text-overflow:ellipsis}.detail-table tbody tr{cursor:pointer}.detail-table tbody tr:hover{background:#f4f8f1}.pagination{padding:15px 22px;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#879581;border-top:1px solid #edf0e9}.pagination .page-buttons{display:flex;gap:8px;align-items:center}.pagination button{min-height:30px;font-size:10px}.empty-cell{text-align:center!important;padding:35px 24px!important;color:#94a08d;white-space:normal}.empty-state{padding:40px 24px;text-align:center;color:#899885;font-size:12px}.loading-row{animation:pulse 1.4s infinite}@keyframes pulse{50%{opacity:.4}}.muted{color:var(--muted)}.upload-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:23px;align-items:start}.upload-panel form{padding:0 23px 23px}.step-badge{font-size:9px;color:#83987c;border:1px solid #e4ebdf;background:#f8faf5;padding:4px 8px;border-radius:5px;white-space:nowrap}.source-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;border:0;margin:0 0 20px;padding:0}.source-options legend{font-size:11px;color:#7d8e75;margin-bottom:9px}.source-options label{display:flex;gap:10px;align-items:center;padding:13px 14px;border:1px solid #dfe7d8;border-radius:7px;cursor:pointer}.source-options label:has(input:checked){background:#f1f7ec;border-color:#99b58f}.source-options strong{font-size:12px;font-weight:550;display:block}.source-options small{font-size:10px;color:#91a086;display:block;margin-top:3px}.file-drop{border:1px dashed #b9c9af;background:#f9fbf6;display:flex;align-items:center;flex-direction:column;border-radius:9px;text-align:center;padding:26px 20px;gap:7px;cursor:pointer}.file-drop:hover{border-color:#739b65;background:#f4f9ef}.upload-icon{font-size:27px;color:#7b9b6c;line-height:1.4}.file-drop strong{font-size:12px;font-weight:550}.file-drop>span:last-of-type{font-size:10px;color:#96a18b}.file-drop input{font-size:11px;width:min(100%,310px);margin-top:7px;background:white;min-height:34px;padding:6px}.file-drop input::file-selector-button{border:0;background:#e8efdf;border-radius:4px;padding:4px 8px;font-size:10px;color:#5d7c4f;margin-right:10px;cursor:pointer}.selected-files{font-size:10px;color:#7c8e70}.selected-file{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid #edf1e7;padding:8px 3px}.selected-file span:first-child{overflow-wrap:anywhere}.form-actions{margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.form-actions>span{font-size:10px;color:#96a18c}.import-help{padding:24px 22px}.import-help h3{font-size:13px;margin-bottom:16px}.import-help ol{font-size:11px;line-height:1.9;color:#819074;padding-left:18px;margin:0}.import-help li+li{margin-top:12px}.info-note{margin-top:24px;border-top:1px solid #e8eddf;padding-top:16px;font-size:10px;color:#9aa48e;line-height:1.9}.preview-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:2px 23px 22px}.preview-stat{background:#f5f8f0;border:1px solid #e7edde;padding:15px;border-radius:7px}.preview-stat strong{display:block;font-size:25px;font-variant-numeric:tabular-nums;font-weight:550}.preview-stat span{font-size:10px;color:#8a997b}.preview-stat.warning{background:#fffaec;border-color:#eee1b9}.preview-error{padding:12px 16px;margin:0 23px 12px;border:1px solid #efd9cc;background:#fff3ec;border-radius:7px;font-size:11px;color:#a46043;white-space:pre-wrap}.conflict-item{margin:0 23px 14px;border:1px solid #e5eada;border-radius:8px;overflow:hidden}.conflict-item summary{padding:12px 14px;cursor:pointer;font-size:11px;color:#6d815f;background:#fafbf7}.conflict-item th,.conflict-item td{white-space:normal;padding:10px 14px;font-size:10px;overflow-wrap:anywhere;max-width:340px}.commit-footer{padding:0 23px 23px}.checkbox-label{display:flex;gap:9px;align-items:flex-start;font-size:11px;color:#7b8b6f;line-height:1.7}.checkbox-label input{margin-top:2px}.receipt{background:#f0f7e9;border:1px solid #d4e6c4;padding:13px 16px;margin:0 23px 20px;border-radius:8px;color:#66864e;font-size:12px;overflow-wrap:anywhere}.rate-rule{display:flex;align-items:flex-start;gap:20px;padding:25px}.rate-rule-icon{width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:#eff5e8;color:#6c8f56;border-radius:9px;font-size:25px;flex-shrink:0}.rate-rule h2{font-size:15px;margin-bottom:8px}.rate-rule p{font-size:11px;color:#87977c;line-height:1.9;max-width:740px}.rate-rule .button{margin-left:auto;align-self:center;font-size:11px}.rate-source{white-space:normal;max-width:400px}.rate-source a{font-size:11px;overflow-wrap:anywhere}.drawer-backdrop{position:fixed;inset:0;background:#142c2270;z-index:50;backdrop-filter:blur(2px)}.detail-drawer{position:fixed;right:0;top:0;bottom:0;width:min(630px,100%);background:#fafcf7;z-index:51;box-shadow:-12px 0 60px #09211920;overflow:auto}.drawer-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:26px 28px;background:#fff;border-bottom:1px solid #e0e7db;position:sticky;top:0;z-index:1}.drawer-header h2{font-size:19px;letter-spacing:.4px;font-variant-numeric:tabular-nums}.drawer-header .eyebrow{display:block;font-size:10px;margin-bottom:5px}.icon-button{border:0;background:none;color:#78906b;font-size:23px;line-height:1;min-width:34px;min-height:34px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center}.icon-button:hover{background:#eff4e8}.drawer-content{padding:22px 28px 30px}.drawer-badges{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px}.drawer-section{border:1px solid #e1e8d9;background:#fff;border-radius:9px;padding:19px;margin-bottom:18px}.drawer-section h3{font-size:12px;margin-bottom:15px;color:#587148}.key-value-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 18px}.key-value label{display:block;font-size:10px;color:#93a185;margin-bottom:5px}.key-value span{font-size:12px;overflow-wrap:anywhere;color:#526c42;font-variant-numeric:tabular-nums}.key-value.full{grid-column:1/-1}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.compare-side{background:#f7faf3;border:1px solid #e7eddf;border-radius:7px;padding:14px}.compare-side h4{font-size:11px;font-weight:550;color:#70875f;margin:0 0 14px}.compare-side .key-value+.key-value{margin-top:13px}.drawer-note{font-size:10px;color:#98a48c;line-height:1.8;margin-top:12px}.source-list{list-style:none;margin:0;padding:0}.source-list li{font-size:10px;color:#80916f;line-height:1.7;overflow-wrap:anywhere;padding:8px 0;border-bottom:1px dashed #e3eadb}.source-list li:last-child{border-bottom:0}.source-list strong{font-weight:500;color:#6e855c}.source-subtitle{font-size:10px;color:#6d875b;margin:13px 0 3px;font-weight:550}.processing-form .form-field+.form-field{margin-top:14px}.processing-form select,.processing-form textarea{font-size:12px;width:100%}.processing-form textarea{min-height:100px}.processing-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:15px}.processing-result{font-size:11px;margin-top:12px;color:#6f8f5b}.processing-result.error{color:#ad6847}.history-list{margin-top:16px;border-top:1px solid #e7edde;padding-top:12px}.history-item{border-left:2px solid #dce7d0;padding:0 0 15px 12px;font-size:10px;line-height:1.8;color:#879776}.history-item:last-child{padding-bottom:0}.history-item strong{color:#6d855a;font-weight:500}.history-item p{white-space:pre-wrap;overflow-wrap:anywhere}.modal{border:1px solid #dfe8d5;border-radius:14px;padding:0;width:min(580px,calc(100% - 32px));max-height:90vh;overflow:auto;box-shadow:0 20px 80px #102e2340;color:var(--ink)}.modal::backdrop{background:#122f2470;backdrop-filter:blur(3px)}.modal form{padding:25px}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:24px}.modal-heading p{font-size:11px;color:#95a287;margin-top:5px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-field{display:flex;flex-direction:column;gap:7px}.form-field label{font-size:11px;color:#7c916c}.form-field input{width:100%;font-size:12px}.form-field.full{grid-column:1/-1}.rate-confirm{margin-top:23px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:23px}.form-error{font-size:11px;color:#b46745;background:#fff2e9;border-radius:6px;padding:10px 12px;line-height:1.7;margin-top:15px;white-space:pre-wrap;overflow-wrap:anywhere}.auth-screen{position:fixed;inset:0;z-index:100;background:#edf2e9;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:25px}.auth-brand{display:flex;align-items:center;gap:12px;font-size:22px;letter-spacing:3px;font-weight:600;color:#35593d;margin-bottom:28px}.auth-brand .brand-symbol{background:#31583e;color:#e5efda}.auth-card{background:#fff;width:min(100%,405px);border:1px solid #dce6d3;border-radius:15px;padding:32px;box-shadow:0 15px 50px #2840230a}.auth-card h1{font-size:22px;letter-spacing:-.4px}.auth-card>p{font-size:12px;color:#91a080;line-height:1.8;margin-top:10px}.auth-card form{margin-top:25px}.auth-card .form-field+.form-field{margin-top:17px}.auth-card form .button{margin-top:25px;justify-content:center}.auth-footnote{font-size:10px;color:#a2ad94;text-align:center;margin-top:24px;padding-top:19px;border-top:1px solid #edf1e5}.toast{position:fixed;bottom:25px;left:calc(50% + 100px);transform:translateX(-50%);z-index:120;padding:13px 22px;border-radius:9px;background:#264c35;color:#fff;font-size:12px;box-shadow:0 5px 25px #183e3040;max-width:calc(100% - 40px);overflow-wrap:anywhere}.toast.error{background:#9b6242}.no-data-action{margin-top:12px}.rate-missing{color:#ad884a;font-size:10px}.unassigned-list{padding:0 23px 20px;display:grid;gap:10px}.unassigned-item{padding:12px 15px;background:#fffbf0;border:1px solid #eee4c7;border-radius:7px;font-size:11px;color:#96845b;overflow-wrap:anywhere}
@media(min-width:1450px){main{padding:38px 45px 0}.topbar{padding:0 45px}.overview-grid{grid-template-columns:minmax(0,1fr) 310px}.monthly-chart{height:166px}.card-value.amount{font-size:31px}.summary-card{padding:22px 24px 20px}.summary-grid{gap:22px}.monthly-panel table{font-size:11px}.monthly-panel th,.monthly-panel td{padding-top:15px;padding-bottom:15px}}
@media(max-width:1180px){.sidebar{width:197px;padding-left:13px;padding-right:13px}.workspace{margin-left:197px;width:calc(100% - 197px)}main{padding:26px 25px 0}.topbar{padding:0 25px}.overview-grid{grid-template-columns:minmax(0,1fr) 246px;gap:17px}.summary-grid{gap:13px}.summary-card{padding:17px 17px 15px}.card-value{font-size:26px}.card-value.amount{font-size:23px}.filterbar{gap:12px}.filter-group label{font-size:10px}.period-label{display:none}.panel-heading{padding:19px 19px 16px}.monthly-chart{margin-left:19px;margin-right:19px}.monthly-panel table{font-size:9px}.monthly-panel th,.monthly-panel td{padding-left:9px;padding-right:9px}.unit-label{font-size:8px}.upload-layout{grid-template-columns:minmax(0,1fr) 240px;gap:18px}.rate-rule{flex-wrap:wrap}.rate-rule .button{margin-left:62px}.rate-rule>div:nth-child(2){flex:1}.source-options{gap:9px}.source-options label{padding:12px 10px}.source-options strong{font-size:11px}}
@media(max-width:960px){.sidebar{width:178px}.workspace{margin-left:178px;width:calc(100% - 178px)}.brand{gap:8px;padding:0 8px}.brand strong{font-size:18px}.brand small{font-size:8px}.brand-symbol{width:34px;height:38px;font-size:23px}.nav-item{padding-left:12px;font-size:12px;gap:10px}.sidebar-rule{margin-left:5px;margin-right:5px;font-size:10px}.sidebar-rule small{font-size:8px}.sidebar-footer{gap:7px}.sidebar-footer strong{font-size:9px}.sidebar-footer small{font-size:8px}.sidebar-footer .avatar{width:25px;height:25px}.overview-grid{grid-template-columns:1fr}.check-panel{display:grid;grid-template-columns:1fr 1fr;position:relative}.check-panel .panel-heading{grid-column:1/-1}.coverage-block{padding-top:10px}.issue-breakdown{padding-top:5px}.check-panel>.button{grid-column:1/-1;margin-bottom:17px}.rule-note{display:none}.monthly-chart{height:155px}.monthly-panel table{font-size:11px}.monthly-panel th,.monthly-panel td{padding:13px 19px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-card{min-height:120px}.card-value.amount{font-size:27px}.page-heading h1{font-size:24px}.filterbar-end{margin-left:0}.supplier-filter{flex:initial}.filter-group select{max-width:230px}.upload-layout{grid-template-columns:1fr}.import-help{display:none}.detail-toolbar{flex-wrap:wrap}.detail-toolbar>.muted{margin-left:0}.content-footer{font-size:8px}.toast{left:calc(50% + 85px)}}
@media(max-width:700px){.app-shell{display:block}.sidebar{width:100%;position:static;padding:13px 18px 0;background:#183d32;min-height:auto}.brand{margin:0 0 13px;padding:0;gap:9px}.brand strong{display:inline;font-size:17px;letter-spacing:2px}.brand small{display:inline;margin-left:9px;color:#8eac9c;font-size:9px;letter-spacing:.5px}.brand-symbol{width:29px;height:32px;border-radius:8px 3px;font-size:19px}.nav-caption,.sidebar-rule,.sidebar-footer{display:none}.primary-nav{flex-direction:row;gap:3px;margin:0 -5px}.nav-item{justify-content:center;flex:1;min-width:0;min-height:43px;gap:6px;padding:9px 3px;border-radius:7px 7px 0 0;font-size:11px;white-space:nowrap}.nav-item.active{background:var(--canvas);color:#345e46}.nav-item:hover{background:#315648}.nav-item.active:hover{background:var(--canvas)}.nav-icon{font-size:17px;width:17px}.nav-count{font-size:8px;padding:0 4px;margin-left:0}.workspace{margin-left:0;width:100%}.topbar{height:44px;padding:0 18px;background:var(--canvas);border-bottom:0}.breadcrumb{font-size:9px}.breadcrumb span{margin:0 5px}.topbar-right{gap:12px}.internal-badge{font-size:8px;padding:1px 5px}.text-button{font-size:10px}main{padding:13px 16px 0}.page-heading{margin-bottom:20px;gap:12px;align-items:flex-start}.eyebrow{font-size:8px;letter-spacing:1.6px;margin-bottom:6px}.page-heading h1{font-size:22px;line-height:1.35;letter-spacing:-.4px}.page-heading p{font-size:10px;margin-top:7px;line-height:1.7;max-width:230px}.page-heading>.button{font-size:10px;padding:7px 11px;min-height:34px;margin-top:23px}.filterbar{padding:11px;gap:9px;border-radius:8px;margin-bottom:17px}.filter-group{gap:6px}.filter-group label{font-size:9px}.filter-group select{font-size:10px;padding:7px 22px 7px 7px;min-height:31px}.supplier-filter{width:100%}.supplier-filter select{flex:1;max-width:100%;min-width:0}.filterbar-end{margin-left:auto}.period-label{display:block;font-size:9px}.filterbar-end .button{font-size:9px;min-height:29px;padding:5px 9px}.summary-grid{gap:10px;margin-bottom:17px}.summary-card{border-radius:9px;padding:15px 14px 13px;min-height:111px}.card-topline{font-size:10px}.card-icon{font-size:13px}.card-value{font-size:25px;margin:9px 0 6px}.card-value.amount{font-size:23px}.card-value .card-unit{font-size:9px;margin-left:4px}.card-foot{font-size:8px;gap:5px;flex-wrap:wrap}.overview-grid{gap:17px;margin-bottom:17px}.panel{border-radius:9px;margin-bottom:17px}.panel-heading{padding:17px 16px 14px;gap:10px}h2{font-size:14px}.panel-heading p{font-size:9px;line-height:1.7}.unit-label{font-size:8px}.monthly-chart{height:132px;margin:8px 16px 0;gap:12px}.chart-bar{width:23px}.chart-bar-label{font-size:8px}.monthly-panel table{font-size:10px}.monthly-panel th,.monthly-panel td{padding:12px 14px}.monthly-panel th:first-child,.monthly-panel td:first-child{padding-left:16px}.monthly-panel th:last-child,.monthly-panel td:last-child{padding-right:16px}.chart-legend{margin-bottom:16px}.check-panel .panel-heading{padding-bottom:5px}.coverage-number{font-size:35px}.coverage-caption{font-size:9px}.coverage-block{padding:14px 16px 18px}.issue-breakdown{padding:8px 16px 15px}.issue-line{font-size:10px;padding:6px 0}.check-panel>.button{width:calc(100% - 32px);margin:0 16px 17px}.supplier-panel .panel-heading{padding-bottom:14px}.supplier-panel .unit-label{display:none}.supplier-name{min-width:175px;font-size:10px;max-width:210px}th{font-size:9px;padding:11px 14px}td{padding:13px 14px;font-size:10px}th:first-child,td:first-child{padding-left:16px}th:last-child,td:last-child{padding-right:16px}.supplier-code{font-size:8px}.badge{font-size:8px;padding:3px 6px}.content-footer{padding:15px 0 20px;flex-direction:column;gap:4px;margin-top:22px;font-size:8px}.detail-toolbar{padding:15px 16px;gap:10px}.search-input{max-width:none;flex-basis:100%}.search-input input{font-size:11px}.detail-toolbar select{font-size:10px;min-height:34px;padding:7px 25px 7px 10px}.detail-toolbar>.muted{font-size:9px;margin-left:auto}.detail-table .primary-cell{font-size:10px}.secondary-cell{font-size:9px;max-width:190px}.pagination{padding:13px 16px;font-size:9px;gap:12px}.pagination .page-buttons{gap:5px}.pagination button{font-size:9px;padding:5px 8px}.pagination .page-buttons>span{white-space:nowrap}.upload-panel form{padding:0 16px 17px}.source-options{gap:8px;margin-bottom:16px}.source-options legend{font-size:10px}.source-options label{gap:7px;padding:11px 8px}.source-options strong{font-size:10px}.source-options small{font-size:8px}.source-options input{width:13px;height:13px}.file-drop{padding:18px 10px}.file-drop strong{font-size:11px}.file-drop>span:last-of-type{font-size:8px}.file-drop input{font-size:10px}.form-actions{gap:12px;align-items:flex-end}.form-actions>span{font-size:9px;line-height:1.7}.form-actions>.button{font-size:10px;min-height:35px;padding:8px 11px}.step-badge{font-size:8px;padding:3px 6px}.preview-summary{gap:8px;margin:0 16px 17px}.preview-stat{padding:12px 11px}.preview-stat strong{font-size:23px}.preview-stat span{font-size:9px}.preview-error{margin-left:16px;margin-right:16px;font-size:10px}.conflict-item{margin-left:16px;margin-right:16px}.commit-footer{padding:0 16px 17px}.commit-footer .checkbox-label{font-size:10px}.rate-rule{padding:18px 16px;gap:12px}.rate-rule-icon{width:32px;height:32px;font-size:20px}.rate-rule h2{font-size:13px}.rate-rule p{font-size:10px}.rate-rule .button{margin-left:44px;font-size:10px;min-height:34px;padding:8px 12px}.drawer-header{padding:20px}.drawer-header h2{font-size:17px}.drawer-content{padding:18px 17px 25px}.drawer-section{padding:16px}.key-value-grid{gap:15px 12px}.key-value label{font-size:9px}.key-value span{font-size:11px}.compare-grid{gap:9px}.compare-side{padding:12px 11px}.drawer-note{font-size:9px}.processing-actions{gap:10px}.processing-actions .button{font-size:10px;min-height:35px}.modal form{padding:21px 18px}.modal-heading{margin-bottom:20px}.modal-heading h2{font-size:17px}.form-grid{gap:15px 12px}.form-field label{font-size:10px}.form-field input{font-size:11px}.checkbox-label{font-size:10px}.auth-card{padding:27px 24px}.auth-brand{font-size:21px}.auth-card h1{font-size:21px}.auth-card>p{font-size:11px}.auth-card .form-field label{font-size:11px}.auth-card .form-field input{font-size:13px}.toast{left:50%;bottom:17px;font-size:11px;padding:12px 17px}.receipt{margin-left:16px;margin-right:16px;font-size:11px}.unassigned-list{padding:0 16px 17px}.unassigned-item{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.mobile-only{display:none}.rate-fetch-form{display:flex;align-items:flex-end;gap:17px;padding:0 23px 23px;flex-wrap:wrap}.rate-fetch-form .form-field{min-width:170px}.rate-fetch-form>.muted{font-size:10px;align-self:center;max-width:280px;line-height:1.8}.rate-fetch-description{font-size:11px;color:#879c79;padding:0 23px 17px}.rate-fetch-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 23px}.rate-fetch-actions .checkbox-label{max-width:620px}.rate-fetch-actions .button{flex-shrink:0}
.preview-files{padding:0 23px 18px}.preview-file{font-size:10px;color:#8d9c81;padding:7px 0;border-bottom:1px dashed #e7eddf}.preview-file summary{cursor:pointer;overflow-wrap:anywhere}.preview-file p{padding:8px 12px;overflow-wrap:anywhere;font-size:9px;color:#a0ac93}.card-value.amount{font-size:clamp(19px,1.85vw,28px);white-space:nowrap;letter-spacing:-.8px}.summary-card.featured .card-foot{font-size:9px;line-height:1.8}
@media(max-width:700px){.mobile-only{display:inline-flex}.topbar-right{gap:9px}.topbar-right .internal-badge{display:none}.rate-fetch-form{padding:0 16px 18px;gap:12px}.rate-fetch-form>.button{font-size:10px;min-height:39px}.rate-fetch-form>.muted{font-size:9px;max-width:none;width:100%}.rate-fetch-form .form-field{min-width:150px;flex:1}.rate-fetch-description{padding:0 16px 15px;font-size:10px}.rate-fetch-actions{padding:17px 16px;align-items:flex-end;gap:13px}.rate-fetch-actions .checkbox-label{font-size:9px}.rate-fetch-actions .button{font-size:9px;padding:7px 9px;white-space:normal;max-width:105px}.preview-files{padding:0 16px 16px}.card-value.amount{font-size:clamp(18px,5vw,26px);letter-spacing:-.9px}.summary-card.featured .card-foot{font-size:8px}}

.table-wrap{position:relative}.sr-only{top:0!important;left:0!important}

@media(max-width:960px){.brand-logo{width:40px;height:38px}}
@media(max-width:700px){.brand-logo{width:38px;height:34px}}

.company-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;padding:0 23px 22px}.company-card{min-width:0;border:1px solid #dfe8d8;border-radius:10px;background:#f8fbf5;padding:18px}.company-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.company-card h3{margin:0;font-size:14px;line-height:1.7;overflow-wrap:anywhere}.company-card-heading .text-button{flex-shrink:0}.company-supplier-count{font-size:30px;color:#355c42;margin:15px 0 17px}.company-supplier-count span{font-size:10px;color:#7e9170}.company-card-actions{display:flex;flex-wrap:wrap;gap:8px}.company-card-actions .button{font-size:10px;padding:7px 10px}.management-note{font-size:11px;line-height:1.8;color:#7f9471;margin:0;padding:0 23px 22px}.management-toolbar{display:flex;align-items:center;gap:14px;padding:0 23px 18px;flex-wrap:wrap}.management-toolbar .search-input{max-width:430px;flex:1;min-width:190px}.management-toolbar select{max-width:100%;font-size:12px}.assignment-bar{display:flex;align-items:center;gap:13px;padding:15px 23px;background:#f4f8ef;border-top:1px solid #e6eddc;border-bottom:1px solid #e6eddc;flex-wrap:wrap}.assignment-bar>span{font-size:11px;color:#6a8558;margin-right:auto}.assignment-bar select{font-size:11px;max-width:270px}.management-supplier-name{max-width:350px;white-space:normal;overflow-wrap:anywhere}.management-history{padding:0 23px 22px}.management-history>.management-note{padding:0}.management-history-item{border-left:2px solid #dce6d0;margin-top:14px;padding:0 0 10px 13px;font-size:12px;line-height:1.8;color:#5f7b4d;overflow-wrap:anywhere}.management-history-item small{font-size:10px;color:#92a181}.filterbar{flex-wrap:wrap}.filter-group select{max-width:230px}
@media(max-width:700px){.primary-nav .nav-item{font-size:10px;gap:3px}.primary-nav .nav-icon{font-size:12px;width:12px}.company-grid{grid-template-columns:1fr;padding:0 16px 17px;gap:11px}.company-card{padding:15px}.company-card h3{font-size:13px}.company-supplier-count{font-size:27px;margin:9px 0 13px}.accounting-panel .panel-heading>.button{font-size:9px;padding:6px 9px;white-space:nowrap}.management-toolbar{padding:0 16px 15px;gap:10px}.management-toolbar .search-input{flex-basis:100%;max-width:none}.management-toolbar select{font-size:10px;min-height:34px}.assignment-bar{padding:12px 16px;gap:9px}.assignment-bar>span{width:100%;font-size:10px}.assignment-bar select{flex:1;min-width:0;width:100px;font-size:10px}.assignment-bar>.button{font-size:9px;padding:7px 9px}.management-note{padding:0 16px 17px;font-size:10px}.management-history{padding:0 16px 17px}.management-history-item{font-size:10px}.management-history-item small{font-size:9px}.accounting-filter{flex:1}.accounting-filter select{max-width:100%;min-width:0;flex:1}}

.supplier-profile-modal{width:min(740px,calc(100% - 32px))}.profile-code-help{font-size:10px;color:#879a78;line-height:1.7}.supplier-profile-modal input[readonly]{background:#f2f5ee;color:#788b6c}.profile-source{font-size:11px;color:#879a78;line-height:1.8;overflow-wrap:anywhere;margin-top:15px}.profile-fields-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:25px 0 13px}.profile-fields-heading h3{font-size:14px;margin:0 0 5px}.profile-fields-heading p{font-size:10px;color:#879a78;line-height:1.7;margin:0}.profile-fields-heading>.button{flex-shrink:0}.profile-fields{display:grid;gap:12px}.profile-field-row{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(160px,1.3fr) 34px;gap:10px;align-items:start;padding:12px;border:1px solid #e2e9da;border-radius:8px;background:#f8faf5}.profile-field-row input,.profile-field-row textarea{min-width:0;width:100%;font-size:12px}.profile-field-row textarea{min-height:66px}.profile-note-field{margin-top:20px}.profile-note-field textarea{width:100%;font-size:12px;min-height:80px}
@media(max-width:700px){.profile-fields-heading{gap:10px}.profile-fields-heading h3{font-size:13px}.profile-fields-heading p{font-size:9px}.profile-fields-heading>.button{font-size:9px;padding:6px 9px}.profile-field-row{grid-template-columns:minmax(0,1fr) 28px;gap:8px;padding:10px}.profile-field-row input{grid-column:1;grid-row:1}.profile-field-row textarea{grid-column:1;grid-row:2}.profile-field-row .icon-button{grid-column:2;grid-row:1/3;min-width:28px}.profile-source{font-size:10px}.profile-code-help{font-size:9px}}

.source-options{flex-wrap:wrap}.source-options label{flex:1 1 180px}.profile-credentials{margin-top:20px;padding:16px;border:1px solid #dce6d4;border-radius:9px;background:#f7faf3}.profile-credentials h3{font-size:14px;margin:0 0 15px}.credential-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:7px 0}.credential-actions .checkbox-label{font-size:10px}.supplier-lease-cell{white-space:nowrap}.supplier-lease-cell .badge{display:block;width:fit-content;margin-top:7px}.supplier-note-cell{min-width:140px;max-width:220px;white-space:normal;overflow-wrap:anywhere;font-size:11px;line-height:1.8}.lease-summary{padding-top:0;color:#8b6f37}.management-toolbar select{min-width:135px}.profile-credentials input:not([type=checkbox]){width:100%}.credential-actions .checkbox-label{white-space:nowrap;flex-shrink:0}.credential-actions input[type=checkbox]{width:14px;height:14px;flex-shrink:0}
@media(max-width:700px){.source-options label{flex-basis:100%}.management-toolbar select{min-width:0;font-size:10px;flex:1}.profile-credentials{padding:13px}.profile-credentials h3{font-size:13px}.credential-actions{align-items:flex-start}.credential-actions .checkbox-label{font-size:9px}.supplier-note-cell{font-size:10px}}

.validation-errors{max-height:380px;overflow:auto;margin-bottom:18px}.validation-errors .preview-error{overflow-wrap:anywhere}
@media(max-width:700px){.validation-errors{max-height:340px}.commit-footer .form-actions{flex-wrap:wrap}}

/* 筛选复位、月度汇率及资料入口。 */
.page-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.management-toolbar{flex-wrap:wrap}.reference-difference{color:var(--text-muted,#667085)}.rate-month-group{border-top:1px solid #e5eaf1}.rate-month-group>summary{padding:18px 24px;cursor:pointer;font-weight:600;list-style-position:inside}.rate-month-group[open]>summary{background:#f7f9fc}.supplier-history-modal{max-width:760px;max-height:85vh;overflow:auto}.management-supplier-name{min-width:180px}.rate-month-groups:empty{padding:20px}.detail-table{min-width:1280px}.supplier-code{overflow-wrap:anywhere}@media(max-width:640px){.page-actions{width:100%}.page-actions .button{flex:1}.rate-month-group>summary{padding:16px}.management-toolbar .search-input{flex-basis:100%}.supplier-history-modal{width:calc(100% - 24px)}}

.rate-original-quote{display:block;color:#667085;font-size:12px;margin-top:5px}

@media(max-width:640px){.page-heading{flex-direction:column;align-items:stretch}.page-heading>div:first-child{width:100%}.page-actions{display:flex;flex-direction:row}.page-actions .button{flex:1;min-width:0}}

@media(max-width:640px){.rate-rule{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:start}.rate-rule>div:nth-child(2){min-width:0}.rate-rule>a{grid-column:2;justify-self:start}}

.trades-filterbar{flex-wrap:wrap}.trades-filterbar .filter-group{min-width:150px;flex:1}.trades-filterbar select{max-width:280px}.trades-table{min-width:1500px}#trades-notice{margin:18px 0}#view-trades>.panel{margin-top:24px}.preview-warning{margin-top:10px}[data-trades-group][aria-pressed="true"]{background:#e8f2ed;border-color:#267458;color:#175c45}@media(max-width:640px){.trades-filterbar .filter-group{min-width:130px}.trades-filterbar select{max-width:100%}.trades-filterbar .filterbar-end{width:100%;flex-wrap:wrap}.primary-nav{overflow-x:auto}.nav-item{flex-shrink:0}}

.trades-filterbar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;align-items:end}.trades-filterbar .filter-group{display:flex;flex-direction:column;align-items:stretch;gap:6px;min-width:0}.trades-filterbar .filter-group select,.trades-filterbar .filter-group input{width:100%;max-width:100%;min-width:0}.trades-filterbar .filterbar-end{grid-column:1/-1;display:flex;justify-content:flex-end;margin:0;gap:8px}@media(max-width:1100px){.trades-filterbar{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.trades-filterbar{grid-template-columns:repeat(2,minmax(0,1fr))}}
.accounting-management-modal{max-width:920px;width:calc(100% - 32px);padding:0}.accounting-management-modal .panel-heading{flex-wrap:wrap}.accounting-management-modal .panel-heading>div{flex:1;min-width:220px}.accounting-management-modal .company-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.account-panel{max-width:650px}.account-password-form{padding:0 23px 23px}.account-password-form .form-field{margin-bottom:18px}.supplier-money-cell{min-width:115px}
#supplier-management-head th small{display:block;font-size:9px;font-weight:400;margin-top:3px}

.supplier-management-table th:first-child,.supplier-management-table td:first-child{position:sticky;left:0;z-index:1;background:#fff;min-width:190px;max-width:240px}.supplier-management-table th:last-child,.supplier-management-table td:last-child{position:sticky;right:0;z-index:1;background:#fff;box-shadow:-3px 0 5px #173d3208}.supplier-management-table th:first-child,.supplier-management-table th:last-child{background:#f9fbf8}.supplier-management-table tbody tr:hover td:first-child,.supplier-management-table tbody tr:hover td:last-child{background:#fcfdfb}.management-company-name{min-width:120px;max-width:180px;white-space:normal}
@media(max-width:640px){.supplier-management-table th:first-child,.supplier-management-table td:first-child{min-width:160px;max-width:185px}.supplier-management-table th:last-child,.supplier-management-table td:last-child{position:static;box-shadow:none}}
.accounting-management-modal .panel-heading{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px}.accounting-management-modal .panel-heading>div{min-width:0}@media(max-width:640px){.accounting-management-modal .panel-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start}.accounting-management-modal .panel-heading>div{grid-column:1;grid-row:1}#close-accounting-companies{grid-column:2;grid-row:1}#add-company-button{grid-column:1/-1;grid-row:2;justify-self:start}}
.account-access-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:22px}.account-access-summary .muted{font-size:11px}.account-row-actions{display:flex;align-items:center;gap:12px}.account-history-disclosure{border-top:1px solid var(--line);padding:16px 23px}.account-history-disclosure summary{cursor:pointer;color:#526b5b;font-size:12px}.account-history-disclosure .management-history{padding:0;margin-top:12px}.account-permission-options{border:1px solid #dce5dc;border-radius:8px;padding:14px;display:flex;gap:20px;flex-wrap:wrap;margin:18px 0 10px}.account-permission-options legend{color:#607865;font-size:12px;padding:0 6px}.account-permission-options label{display:flex;align-items:center;gap:7px}#login-account-form>.form-field,#login-account-password-fields .form-field,#reset-login-password-form>.form-field{margin-top:16px}#login-account-active-field{margin-top:18px}#view-account .account-panel{margin-top:23px}

.market-data-version{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;margin:0 0 20px;padding:13px 17px;border:1px solid #dfe8df;border-radius:10px;background:#f7faf5;color:#536b5c;font-size:12px;line-height:1.7}.market-data-version strong{color:#214e3c}.market-data-version .version-note{flex-basis:100%;font-size:11px}.market-data-version.version-error{background:#fff8eb;border-color:#e9d5aa;color:#80632c}@media(max-width:640px){.market-data-version{align-items:flex-start;flex-direction:column;gap:3px;padding:12px 14px;font-size:11px}.market-data-version .version-note{flex-basis:auto}}

.report-empty{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--muted);font-size:13px;text-align:center;padding:30px}.report-empty>span{font-size:30px;color:#86a293}.upload-history>summary{cursor:pointer;padding:19px 23px;display:flex;align-items:center;gap:14px;list-style:none}.upload-history>summary::-webkit-details-marker{display:none}.upload-history>summary::before{content:'▸';color:var(--green);font-size:15px}.upload-history[open]>summary::before{content:'▾'}.upload-history>summary>span:first-of-type{flex:1}.upload-history summary strong{display:block;font-size:15px}.upload-history summary small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.upload-history-toolbar{display:flex;justify-content:flex-end;padding:0 23px 14px}.trades-table{min-width:1400px}
.supplier-profile-modal{width:min(1180px,calc(100% - 40px));max-height:94vh;overflow:hidden}.supplier-profile-modal form{padding:0;display:flex;flex-direction:column;max-height:94vh}.supplier-profile-modal .modal-heading{padding:16px 20px 12px;margin:0;border-bottom:1px solid var(--line);flex-shrink:0}.supplier-profile-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:12px;padding:14px 20px;overflow:auto;min-height:0}.supplier-profile-modal .profile-section{min-width:0;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fcfdfb}.supplier-profile-modal .profile-section>h3{font-size:13px;margin:0 0 12px}.supplier-profile-modal .form-grid{gap:8px 12px}.supplier-profile-modal .form-field{min-width:0;gap:3px}.supplier-profile-modal .form-field label{font-size:11px;margin-bottom:0}.supplier-profile-modal .form-field input,.supplier-profile-modal .form-field select,.supplier-profile-modal .form-field textarea{width:100%;min-height:32px;font-size:12px;padding:6px 8px}.supplier-profile-modal .profile-supplement{grid-column:2;grid-row:1/3}.supplier-profile-modal .profile-fields-heading{margin:0 0 12px;gap:8px}.supplier-profile-modal .profile-fields-heading h3{font-size:13px;margin:0}.supplier-profile-modal .profile-fields-heading p{margin-top:3px}.supplier-profile-modal .profile-fields{gap:9px}.supplier-profile-modal .profile-field-row{grid-template-columns:minmax(80px,.65fr) minmax(0,1.4fr) 26px;gap:7px;padding:9px}.supplier-profile-modal .profile-field-row input,.supplier-profile-modal .profile-field-row textarea{font-size:11px;padding:7px;min-height:34px}.supplier-profile-modal .profile-field-row textarea{min-height:52px}.supplier-profile-modal .profile-field-row .icon-button{min-width:26px;width:26px;height:30px}.supplier-profile-modal .profile-note-field{margin-top:14px}.supplier-profile-modal .profile-note-field textarea{min-height:90px}.supplier-profile-modal .profile-credentials{margin:0}.supplier-profile-modal .credential-actions{margin:10px 0 7px;gap:12px;flex-wrap:wrap}.supplier-profile-modal .credential-actions .checkbox-label,.supplier-profile-modal .profile-code-help{font-size:10px;line-height:1.6}.supplier-profile-modal .profile-source{font-size:10px;line-height:1.6;margin-top:6px;overflow-wrap:anywhere}.profile-footer{padding:10px 20px 12px;border-top:1px solid var(--line);background:#fff;flex-shrink:0}.profile-footer .modal-actions{margin:0}.profile-footer .form-error{margin-bottom:10px}.profile-footer .button{min-height:35px;padding:8px 16px;font-size:12px}
@media(max-width:760px){.supplier-profile-modal{width:calc(100% - 20px);max-height:94vh}.supplier-profile-modal .modal-heading{padding:16px}.supplier-profile-layout{grid-template-columns:minmax(0,1fr);padding:12px;gap:12px}.supplier-profile-modal .profile-section{padding:13px}.supplier-profile-modal .profile-supplement{grid-column:auto;grid-row:auto}.supplier-profile-modal .profile-credentials{grid-row:2}.supplier-profile-modal .profile-field-row{grid-template-columns:minmax(0,1fr) 26px}.supplier-profile-modal .profile-field-row input{grid-column:1;grid-row:1}.supplier-profile-modal .profile-field-row textarea{grid-column:1;grid-row:2}.supplier-profile-modal .profile-field-row .icon-button{grid-column:2;grid-row:1/3}.profile-footer{padding:11px 16px}.upload-history>summary{padding:16px}.report-empty{min-height:180px;font-size:11px}}
