:root{color:#17212b;background:#f4f7f9;font-family:Inter,PingFang SC,Microsoft YaHei,Arial,sans-serif;font-size:15px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}input,select{border:1px solid #cfd9e0;border-radius:6px;min-height:34px;padding:0 9px}button{min-height:34px;border:1px solid #c9d5de;border-radius:6px;background:#fff;color:#1f2f3d;cursor:pointer;display:inline-flex;align-items:center;gap:6px;justify-content:center;padding:0 12px}button,.button-link{text-decoration:none}.button-link{min-height:34px;border:1px solid #c9d5de;border-radius:6px;background:#fff;color:#1f2f3d;display:inline-flex;align-items:center;gap:6px;justify-content:center;padding:0 12px}button:hover,.button-link:hover{border-color:#6aa7b8;color:#0b6477}button.primary{background:#0f7488;color:#fff;border-color:#0f7488}button.danger{background:#b42318;color:#fff;border-color:#b42318}button:disabled{cursor:not-allowed;opacity:.55}.report-loading{min-height:260px;display:grid;place-content:center;justify-items:center;gap:10px;color:#526574;text-align:center}.report-loading small{color:#7a8995}.loading-spinner{width:30px;height:30px;border:3px solid #d6e5e9;border-top-color:#0f7488;border-radius:50%;animation:loading-spin .8s linear infinite}.table-loading{min-height:100px;display:flex;align-items:center;justify-content:center;gap:10px;color:#62717f}.table-loading .loading-spinner{width:22px;height:22px}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;color:#62717f}@keyframes loading-spin{to{transform:rotate(360deg)}}.app-shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh}.app-shell.compact-nav{grid-template-columns:72px 1fr}.sidebar{background:#fff;border-right:1px solid #dbe4ea;padding:18px 14px;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{height:48px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:19px;font-weight:700;color:#0b6477;border-bottom:1px solid #e3ebf0;margin-bottom:14px}.brand button{min-width:34px;padding:0}.sidebar nav{display:grid;gap:6px}.sidebar button{justify-content:flex-start;min-height:48px;border-color:transparent;background:transparent;font-weight:600;text-align:left}.compact-nav .sidebar{padding:14px 6px}.compact-nav .brand{display:grid;justify-content:center;justify-items:center;height:auto;padding-bottom:10px;font-size:16px}.compact-nav .sidebar button{width:60px;height:54px;display:grid;justify-content:center;justify-items:center;gap:4px;padding:5px 0;font-size:11px;line-height:1.1;justify-self:center}.compact-nav .brand button{width:34px;height:34px;padding:0;font-size:inherit}.compact-nav .sidebar button svg{justify-self:center}.compact-nav .sidebar button span{width:3.2em;text-align:center;white-space:nowrap}.sidebar button.active{background:#e8f4f6;border-color:#b7dbe2;color:#0b6477}.main{min-width:0;padding:22px 24px 40px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.topbar h1{margin:0;font-size:24px;line-height:1.25}.topbar p{margin:6px 0 0;color:#62717f;line-height:1.45}.top-actions{display:flex;align-items:center;gap:10px}.user-chip{max-width:520px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid #dbe4ea;border-radius:999px;background:#fff;color:#526270;font-size:13px;padding:7px 11px}.module-tabs,.sub-tabs{display:flex;align-items:center;gap:8px;overflow-x:auto;padding:8px;border:1px solid #dbe4ea;border-radius:8px;background:#fff}.module-tabs{position:sticky;top:0;z-index:4;margin-bottom:14px;box-shadow:0 8px 16px #17212b0a}.module-tabs button,.sub-tabs button{flex:0 0 auto;min-height:34px;border-color:transparent;background:transparent;color:#526270;font-weight:700}.module-tabs button.active,.sub-tabs button.active{border-color:#b7dbe2;background:#e8f4f6;color:#0b6477}.page-caption{margin:-2px 0 10px;color:#71808c;font-size:13px;font-weight:700}.sub-tabs{width:fit-content;margin-bottom:12px;padding:5px}.toast{border:1px solid #9ed6df;background:#e9f8fa;color:#075466;padding:10px 12px;border-radius:6px;margin-bottom:14px}.loading,.login-page{min-height:100vh;display:grid;place-items:center}.login-page{background:#eaf2f5}.login-card,.modal{background:#fff;border:1px solid #dbe4ea;border-radius:8px;padding:20px}.login-card{display:grid;gap:14px;width:min(380px,calc(100vw - 32px))}.login-card h1{margin:0 0 8px}.error{color:#b93c32;margin:0}.kpis{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:12px;margin-bottom:14px}.report-kpis{grid-template-columns:repeat(6,minmax(130px,1fr))}.reimbursement-kpis{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.kpi{background:#fff;border:1px solid #dbe4ea;border-radius:8px;padding:14px 16px}.kpi span{display:block;color:#647482;margin-bottom:8px}.kpi strong{font-size:24px}.kpi.danger strong{color:#b93c32}.split-workbench,.recon-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.workbench-grid{display:grid;grid-template-columns:minmax(280px,1.1fr) minmax(260px,.85fr) minmax(280px,1.1fr);gap:14px;align-items:start}.panel{background:#fff;border:1px solid #dbe4ea;border-radius:8px;padding:14px;margin-bottom:14px}.panel-title{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.panel h2{margin:0;font-size:17px}.modal .panel-title{align-items:flex-start}.modal .panel-title h2{min-width:0;overflow-wrap:anywhere;line-height:1.35}.actions{display:flex;align-items:center;gap:8px}.selection-panel{min-width:0}.selection-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.selection-title h3{display:flex;align-items:center;gap:6px;margin:0;font-size:15px}.count-badge{display:inline-grid;min-width:22px;height:22px;place-items:center;border-radius:11px;background:#e8f4f6;color:#0b6477;font-size:12px}.selection-tools{display:flex;align-items:center;gap:8px}.selection-tools strong{color:#0b6477;font-size:15px}.recon-sort{width:100%;margin-bottom:8px}.recon-card-list{display:grid;gap:8px;max-height:560px;overflow-y:auto;padding-right:2px}.recon-card,.empty-list{border:1px solid #dbe4ea;border-radius:8px;background:#fbfdfe;padding:10px}.recon-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;cursor:pointer}.recon-card:hover{border-color:#9ed6df;background:#f2fbfc}.recon-card.selected{border-color:#0f7488;background:#e8f6f8;box-shadow:inset 3px 0 #0f7488}.recon-card input{margin-top:3px}.recon-card-title{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:8px}.recon-card-title span{min-width:0;overflow-wrap:anywhere;font-weight:700}.recon-card-title strong{color:#0b6477;white-space:nowrap}.recon-card-meta{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:5px;color:#60717f;font-size:12px;line-height:1.35}.empty-list{color:#71808c;text-align:center}.explain-panel{display:grid;gap:10px}.reason-card,.suggestion-card{display:grid;gap:9px;min-width:0;padding:11px;border:1px solid #dbe4ea;border-radius:8px;background:#fbfdfe}.reason-card-head,.suggestion-card-head,.section-heading,.history-tools{display:flex;align-items:center;justify-content:space-between;gap:10px}.reason-card-head select{min-width:0;width:100%;font-weight:700}.reason-delete{flex:0 0 auto;white-space:nowrap}.reason-card p,.suggestion-card p,.section-heading p{margin:0;color:#60717f;font-size:12px;line-height:1.5}.suggestion-card.needs-review{border-color:#efc9c5;background:#fff4f3}.suggestion-card.needs-review .suggestion-amounts strong{color:#9f2f27}.reason-card .field{min-width:0}.suggestion-section{display:grid;gap:10px;margin:14px 0;padding:12px;border:1px solid #cce3e7;border-radius:8px;background:#f5fbfc}.section-heading h3{margin:0 0 4px;font-size:15px}.suggestion-grid,.type-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.suggestion-amounts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;color:#60717f;font-size:13px}.suggestion-amounts strong{display:block;margin-top:3px;color:#0b6477;font-size:16px}.type-summary{margin:14px 0}.type-filter{display:grid;justify-items:start;height:auto;min-height:56px;padding:9px 11px;text-align:left}.type-filter span{color:#647482;font-size:12px}.type-filter.active{border-color:#0f7488;background:#e8f6f8;color:#0b6477}.history-tools{margin-bottom:10px}.explained-card-list{display:grid;gap:10px}.explained-card{border:1px solid #dbe4ea;border-radius:8px;padding:12px;background:#fbfdfe}.explained-card-head,.explained-totals{display:flex;justify-content:space-between;gap:10px}.explained-totals{flex-wrap:wrap;margin:12px 0;padding:9px 10px;border-radius:6px;background:#eef7f8;color:#526270}.explained-totals strong{margin-left:4px;color:#0b6477}.explained-card h4{margin:0 0 7px}.explained-line{display:grid;gap:3px;padding:7px 0;border-top:1px solid #e3ebf0;font-size:13px}.explained-line span{color:#60717f;font-size:12px}.modal-actions{justify-content:flex-end;margin-top:14px}.muted{color:#71808c;font-size:13px}.inline-link{min-height:0;padding:0;border:0;background:transparent;color:#0b6477;font-size:12px;font-weight:600}.balance-card{display:grid;grid-template-columns:1fr auto;gap:8px 12px;padding:12px;border:1px solid #dbe4ea;border-radius:8px;background:#f7fafb}.balance-card span{color:#526270}.balance-card strong{color:#0b6477}.balance-card .ok{color:#1d7f42}.danger-text{color:#b42318!important}.explain-actions{justify-content:space-between}.type-summary{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;align-items:end;margin-bottom:14px}.inventory-import{grid-template-columns:repeat(3,minmax(150px,220px))}.field span{display:block;color:#526270;font-size:13px;margin-bottom:5px}.field input,.field select{width:100%;height:36px;border:1px solid #cfd9e0;border-radius:6px;padding:0 10px;background:#fff}.combo-field{position:relative}.combo-field input{width:100%}.checkbox-field{display:inline-flex;align-items:center;gap:8px;min-height:36px;color:#526270;font-size:14px;line-height:1}.checkbox-field input{margin:0}.line-items{display:grid;gap:10px;margin-bottom:12px}.form-total{display:flex;justify-content:flex-end;align-items:baseline;gap:12px;margin:4px 0 14px;padding:12px 14px;border:1px solid #dbe4ea;border-radius:8px;background:#f7fafb}.form-total span{color:#526270}.form-total strong{font-size:22px;color:#0b6477}.line-items input,.line-items select{width:100%;min-width:120px}.frozen-amount-form .table-wrap{overflow:visible}.frozen-amount-form td{vertical-align:top}.bill-picker{display:grid;gap:6px;min-width:220px}.bill-picker button{display:grid;grid-template-columns:minmax(82px,1fr) auto;justify-content:stretch;gap:3px 8px;height:auto;min-height:42px;padding:7px 9px;text-align:left}.bill-picker button strong{color:#0b6477}.bill-picker button.primary strong{color:#fff}.bill-picker button small{grid-column:1 / -1;color:#71808c}.bill-picker button.primary small{color:#d9f2f6}.bill-picker>span{display:block;padding:9px 10px;color:#71808c;border:1px dashed #cfd9e0;border-radius:6px}.frozen-amount-total{flex-wrap:wrap}.frozen-amount-detail-section{display:block;width:100%}.frozen-amount-detail-section .table-wrap{width:100%;overflow-x:auto}.frozen-amount-detail-section table{min-width:560px}.frozen-amount-detail-section th,.frozen-amount-detail-section td{white-space:nowrap}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:grid;place-items:center;background:#17212b59}.modal{width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow-y:auto}.modal.wide{width:min(1180px,calc(100vw - 32px))}.modal-form{display:grid;gap:12px}.livestock-grouped-form{gap:14px}.livestock-form-section{border:1px solid #dbe4ea;border-radius:8px;padding:14px;background:#fbfdfe}.livestock-form-section h3{margin:0 0 12px;color:#17212b;font-size:15px}.livestock-form-section .form-grid{margin-bottom:0}.payment-items-section table{table-layout:fixed;width:100%}.payment-items-section th:first-child,.payment-items-section td:first-child{width:52%}.payment-items-section th:nth-child(2),.payment-items-section td:nth-child(2){width:18%}.payment-items-section th:nth-child(3),.payment-items-section td:nth-child(3){width:20%}.payment-items-section th:last-child,.payment-items-section td:last-child{width:10%;white-space:nowrap}.payment-items-section input{width:100%;min-width:0}.reimbursement-items-section table{table-layout:fixed;width:100%}.reimbursement-items-section th:first-child,.reimbursement-items-section td:first-child{width:18%}.reimbursement-items-section th:nth-child(2),.reimbursement-items-section td:nth-child(2){width:36%}.reimbursement-items-section th:nth-child(3),.reimbursement-items-section td:nth-child(3){width:16%}.reimbursement-items-section th:nth-child(4),.reimbursement-items-section td:nth-child(4){width:20%}.reimbursement-items-section th:last-child,.reimbursement-items-section td:last-child{width:10%;white-space:nowrap}.reimbursement-items-section input,.reimbursement-items-section select{width:100%;min-width:0}.readonly-field{display:grid;gap:5px}.readonly-field span{color:#526270;font-size:13px}.readonly-field strong{min-height:36px;padding:8px 10px;border:1px solid #dbe4ea;border-radius:6px;background:#f7fafb;color:#17212b;font-size:14px;font-weight:600}.field-warning>span,.readonly-field.field-warning>span{color:#b42318;font-weight:700}.field-warning>input{border-color:#e6a19a}.finance-status-toggle{display:inline-flex;align-items:center;gap:8px;min-width:128px;cursor:pointer}.finance-status-toggle input{position:absolute;opacity:0;pointer-events:none}.toggle-track{width:34px;height:20px;padding:2px;border-radius:10px;background:#aab7c0;transition:background .15s ease}.toggle-track i{display:block;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s ease}.finance-status-toggle input:checked+.toggle-track{background:#0f7b8d}.finance-status-toggle input:checked+.toggle-track i{transform:translate(14px)}.finance-status-toggle.pending{cursor:wait;color:#8a6419}.bank-flow-type-control{display:flex;align-items:center;gap:8px;min-width:220px}.bank-flow-type-control select{min-width:140px}.finance-change-panel{margin-top:18px;padding-top:16px;border-top:1px solid #dbe4ea}.finance-change-panel .panel-title{margin-bottom:10px}.finance-change-panel .panel-title h3,.finance-change-panel .panel-title p{margin:0}.finance-change-panel .panel-title p{margin-top:4px;color:#647482;font-size:13px}.finance-change-panel td .actions{flex-wrap:nowrap}.finance-change-value{display:inline-flex;align-items:center;min-height:28px;padding:3px 9px;border-radius:6px;white-space:nowrap;font-weight:700}.finance-change-value.current{background:#eef3f6;color:#526270}.finance-change-value.target{background:#e4f3f6;color:#08677a}.livestock-form-section .finance-change-detail-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.livestock-form-section .finance-change-values-grid{grid-template-columns:repeat(3,minmax(160px,1fr))}.livestock-form-section .batch-top-grid{grid-template-columns:minmax(180px,1.2fr) repeat(2,minmax(170px,1fr))}.livestock-form-section .batch-heading-grid{grid-template-columns:minmax(220px,1.4fr) minmax(180px,1fr)}.livestock-form-section .batch-metrics-grid{grid-template-columns:repeat(3,minmax(160px,1fr))}.livestock-form-section .batch-output-grid{grid-template-columns:repeat(4,minmax(150px,1fr))}.livestock-form-section .batch-finance-grid{grid-template-columns:repeat(4,minmax(160px,1fr))}.livestock-form-section .batch-grade-grid{grid-template-columns:repeat(6,minmax(120px,1fr))}.livestock-form-section .byproduct-belly-grid{grid-template-columns:repeat(5,minmax(120px,1fr))}.livestock-form-section .byproduct-organ-grid{grid-template-columns:repeat(3,minmax(160px,1fr))}.livestock-form-section .byproduct-organ-grid>:first-child{grid-column:1 / -1}.batch-chart-section{display:flex;justify-content:center}.batch-chart-layout{display:grid;grid-template-columns:170px minmax(300px,420px);gap:28px;align-items:center;justify-content:center;width:fit-content;max-width:100%}@media (max-width: 1180px){.livestock-form-section .byproduct-belly-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}}.donut-chart{display:grid;place-items:center;width:170px;aspect-ratio:1;border-radius:50%;background:var(--donut-gradient)}.donut-chart>div{display:grid;place-items:center;width:96px;aspect-ratio:1;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #dbe4ea}.donut-chart strong{font-size:18px;color:#0f2f3d}.donut-chart span{color:#526270;font-size:12px}.batch-grade-legend{display:grid;gap:8px;min-width:300px}.batch-grade-legend-row{display:grid;grid-template-columns:12px 62px 92px 64px;gap:8px;align-items:center;color:#526270;font-size:13px}.batch-grade-legend-row strong{color:#17212b}.batch-grade-legend-row em{color:#0f2f3d;font-style:normal;font-weight:700;text-align:right}.pig-batch-chart{display:grid;gap:12px}.pig-batch-ledger{display:grid;gap:8px;min-width:0;margin-top:4px}.pig-batch-ledger .table-toolbar{margin-bottom:0}.pig-batch-ledger-table td.wrap-cell{min-width:220px;max-width:320px;white-space:normal}.batch-grade-mini-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px 12px;color:#526270;font-size:12px}.batch-grade-mini-legend span{display:inline-flex;align-items:center;gap:5px}.batch-grade-mini-legend i{width:9px;height:9px;border-radius:50%}.pig-batch-chart-scroll{position:relative;overflow-x:auto;padding:18px 16px 76px;border:1px solid #dbe4ea;border-radius:8px;background:#fbfdfe}.pig-batch-bars{display:flex;align-items:end;gap:18px}.pig-batch-bar-card{display:grid;justify-items:center;gap:6px;width:74px;min-width:74px;color:#526270;font-size:12px;text-align:center}.pig-batch-bar-card strong{color:#17212b;font-size:13px}.pig-batch-bar-card span,.pig-batch-bar-card small{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-title-with-badge{display:inline-flex;align-items:center;gap:6px}.modal-title-actions:empty{display:none}.pig-batch-summary{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(420px,1.3fr);gap:12px;align-items:stretch}.pig-batch-summary-card{border:1px solid #dbe4ea;border-radius:8px;background:#fbfdfe;padding:12px}.pig-batch-summary-card h3{margin:0 0 10px;font-size:15px}.pig-batch-summary-card .livestock-form-section{padding:0;border:0;background:transparent}.pig-batch-bar{display:flex;flex-direction:column;justify-content:stretch;gap:0;width:38px;height:260px;min-height:260px;padding:0;overflow:hidden;border:1px solid #dbe4ea;border-radius:7px;background:#eef4f6;box-shadow:inset 0 0 0 1px #ffffff73}.pig-batch-bar:hover,.pig-batch-bar:focus{border-color:#0f7488;box-shadow:0 0 0 3px #0f748829}.pig-batch-segment{display:block;width:100%;min-height:2px;outline:0}.pig-batch-segment:hover,.pig-batch-segment:focus{filter:brightness(1.08) saturate(1.08);box-shadow:inset 0 0 0 999px #ffffff1a}.pig-batch-tooltip{position:sticky;left:0;bottom:12px;display:inline-grid;gap:4px;max-width:min(620px,calc(100vw - 120px));padding:10px 12px;border:1px solid #b7dbe2;border-radius:8px;background:#fff;box-shadow:0 10px 22px #17212b1f}.pig-batch-tooltip strong{color:#0b6477}.pig-batch-tooltip span{color:#526270;font-size:13px}.legend-dot{width:10px;height:10px;border-radius:999px}.livestock-detail-groups{display:grid;gap:12px}.livestock-note-field{display:grid}.livestock-note-field textarea{width:100%;border:1px solid #cfd9e0;border-radius:6px;padding:10px;background:#fff}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.page-permission-tree{display:grid;gap:4px;border-top:1px solid #dbe4ea}.permission-module{padding:12px 0;border-bottom:1px solid #dbe4ea}.permission-module-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;color:#60717f;font-size:12px}.permission-module-heading .permission-checkbox{color:#17212b;font-size:15px;font-weight:700}.permission-branches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;padding-left:26px}.permission-branch{display:grid;align-content:start;gap:7px}.permission-branch>.permission-checkbox{font-weight:600}.permission-leaves{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;padding-left:24px}.permission-checkbox{display:inline-flex;align-items:center;gap:8px;min-width:0;line-height:1.35;cursor:pointer}.permission-checkbox input{flex:0 0 auto;margin:0}.account-form-section{display:grid;gap:10px;padding:12px;border:1px solid #dbe4ea;border-radius:8px;background:#fbfdfe}.account-form-section h3{margin:0;color:#17212b;font-size:15px}.account-form-section p{margin:0;color:#60717f;font-size:13px;line-height:1.5}.management-permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.management-permission-card{display:flex;align-items:flex-start;gap:10px;padding:11px;border:1px solid #dbe4ea;border-radius:7px;background:#fff;cursor:pointer}.management-permission-card input{margin-top:3px}.management-permission-card span{display:grid;gap:3px}.management-permission-card strong{font-size:14px}.management-permission-card small{color:#60717f;line-height:1.4}@media (max-width: 760px){.permission-branches,.permission-leaves,.management-permission-grid{grid-template-columns:minmax(0,1fr)}}.advanced-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.import-card,.danger-zone{border:1px solid #dbe4ea;border-radius:8px;padding:14px;background:#fbfdfe;display:grid;gap:10px}.import-card h3,.danger-zone h3{margin:0}.import-card p,.danger-zone p,.danger-confirm p{margin:0;color:#5d6d7a;line-height:1.6}.danger-zone,.danger-confirm{border-color:#f0b8b1;background:#fff7f6}.danger-confirm strong{color:#b42318}.readonly{background:#eef2f4;color:#65737e}.product-picker{position:relative;min-width:190px}.product-picker input{width:100%}.suggestions{position:absolute;z-index:20;top:calc(100% + 4px);left:0;right:0;display:grid;max-height:280px;overflow-y:auto;background:#fff;border:1px solid #cfd9e0;border-radius:6px;box-shadow:0 8px 18px #17212b24}.suggestions span{padding:10px;color:#71808c}.line-items .table-wrap{overflow:visible}.alias-cell{max-width:260px;white-space:normal;line-height:1.5}.record-summary{display:flex;flex-wrap:wrap;gap:6px 12px;max-width:720px;line-height:1.6;white-space:normal}.record-summary span{display:inline-flex;gap:4px}.record-summary strong{color:#526270;font-weight:600}.ledger-tabs,.print-actions{display:flex;align-items:center;gap:8px;margin-bottom:12px}.dashboard-filter-tabs,.dashboard-page .panel-title{flex-wrap:wrap}.dashboard-batch-toolbar,.dashboard-select-all,.dashboard-group-select,.dashboard-pending-meta{display:flex;align-items:center}.dashboard-batch-toolbar{flex-wrap:wrap;justify-content:flex-end;gap:8px}.dashboard-select-all,.dashboard-group-select{gap:7px;color:#526270;font-size:13px;white-space:nowrap}.dashboard-select-all input,.dashboard-group-select input,.dashboard-pending-group td:first-child input{min-height:0;margin:0}.dashboard-pending-meta{flex-wrap:wrap;gap:8px 16px;margin:-2px 0 12px;color:#647482;font-size:13px}.dashboard-filter-tabs button{display:inline-flex;align-items:center;gap:6px}.dashboard-filter-tabs button span{min-width:22px;padding:2px 6px;border-radius:999px;background:#eef3f6;color:#526270;font-size:12px;line-height:1.2}.dashboard-filter-tabs button.primary span{background:#ffffff38;color:#fff}.dashboard-pending-groups{display:grid;gap:12px}.dashboard-pending-group{border:1px solid #dbe4ea;border-radius:8px;background:#fff;overflow:hidden}.dashboard-pending-group summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:48px;padding:10px 14px;background:#f7fafb;border-bottom:1px solid #dbe4ea;color:#526270;cursor:pointer;font-weight:600}.dashboard-pending-group summary::-webkit-details-marker{display:none}.dashboard-pending-group summary:before{content:"▾";color:#647482;font-size:15px;transition:transform .16s ease}.dashboard-pending-group:not([open]) summary{border-bottom:0}.dashboard-pending-group:not([open]) summary:before{transform:rotate(-90deg)}.dashboard-group-title{display:inline-flex;align-items:center;gap:8px;margin-right:auto}.dashboard-group-title strong{color:#17212b}.dashboard-pending-group .table-wrap{border:0;border-radius:0;margin:0}.dashboard-pending-group table{border:0}.dashboard-pending-group tbody tr:last-child td{border-bottom:0}.dashboard-pending-group th:first-child,.dashboard-pending-group td:first-child{width:72px;min-width:72px;text-align:center}.kpis.five{grid-template-columns:repeat(5,minmax(130px,1fr))}.badge{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:12px;background:#e8f4f6;color:#0b6477;font-size:13px}.wrap-cell{display:inline-block;max-width:220px;white-space:normal;line-height:1.45}.suggestions button{height:auto;min-height:40px;display:grid;justify-content:stretch;text-align:left;border:0;border-radius:0}.suggestions small{color:#71808c}button.sort{min-height:0;padding:0;border:0;background:transparent;color:inherit;font-size:inherit;font-weight:inherit}.table-wrap{overflow-x:auto;border:1px solid #dce5eb;border-radius:6px}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.table-toolbar span{color:#526270;font-size:13px}.wide-ledger-wrap{max-width:100%}.wide-ledger-table{min-width:1680px}.wide-ledger-table th,.wide-ledger-table td{min-width:118px;white-space:nowrap}.wide-ledger-table .sticky-col{position:sticky;left:0;z-index:2;min-width:120px;background:#fff;box-shadow:1px 0 #e7edf2}.wide-ledger-table thead .sticky-col{z-index:3;background:#eef4f7}.wide-ledger-table .total-row td{background:#f7fafb;color:#0f2f3d;font-weight:700}.wide-ledger-table .total-row .sticky-col{background:#f7fafb}table{width:100%;border-collapse:collapse;background:#fff}th,td{border-bottom:1px solid #e7eef2;padding:10px 11px;text-align:left;white-space:nowrap;vertical-align:middle}th{background:#f2f6f8;color:#42515f;font-size:13px;font-weight:700}tbody tr:last-child td{border-bottom:0}tfoot td{border-top:1px solid #d4e0e7;border-bottom:0;background:#f7fafb;color:#0f2f3d}.status{display:inline-flex;height:24px;align-items:center;padding:0 8px;border-radius:6px;background:#fff4d4;color:#815600;font-size:13px}.status.danger,.status.危险{background:#fde7e4;color:#a83228}.print-root{display:grid;gap:16px;overflow-x:auto}.print-output{display:none}.print-page{position:relative;width:241mm;height:93mm;background:#fff;border:1px dashed #b8c4cc;padding:3mm 4mm 4mm;color:#111;display:flex;flex-direction:column;overflow:hidden}.print-page-a4,.print-page-a5-portrait{--portrait-scale: 1;width:210mm;height:297mm;padding:calc(10mm * var(--portrait-scale))}.print-page-a5-portrait{--portrait-scale: .7047619;width:148mm;height:210mm}.print-page-a5{width:210mm;height:148mm;padding:6mm}.print-page-a4 .print-table,.print-page-a5-portrait .print-table{font-size:calc(12px * var(--portrait-scale));line-height:1.35}.print-page-a4 .print-table th,.print-page-a4 .print-table td,.print-page-a5-portrait .print-table th,.print-page-a5-portrait .print-table td{padding:calc(2mm * var(--portrait-scale)) calc(1.2mm * var(--portrait-scale))}.print-page h2{text-align:center;margin:0 0 2mm;font-size:20px;font-family:SimSun,Songti SC,serif}.print-meta,.print-footer{display:flex;justify-content:space-between;gap:14px;margin:1mm 0;font-size:13px}.print-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:11px;line-height:1.25}.print-table th,.print-table td{border:1px solid #111;overflow:hidden;padding:1mm .7mm;text-overflow:ellipsis;white-space:nowrap}.print-table th{background:#eee;color:#111}.print-table tbody tr:last-child td{border-bottom:1px solid #111}.print-col-index{width:4em}.print-col-spec,.print-col-unit,.print-col-qty,.print-col-price{width:6em}.print-col-amount{width:8em}.print-col-category{width:7em}.print-col-name,.print-col-note{width:auto}.print-footer{margin-top:auto}.purchase-meta,.purchase-footer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.sales-footer{display:grid;grid-template-columns:repeat(3,1fr);row-gap:1.2mm}.print-page-number{position:absolute;right:4mm;bottom:1.5mm;color:#888}.print-page-a5-portrait h2{margin-bottom:calc(2mm * var(--portrait-scale));font-size:calc(20px * var(--portrait-scale))}.print-page-a5-portrait .print-table th{font-size:calc(13px * var(--portrait-scale))}.print-page-a5-portrait .print-meta,.print-page-a5-portrait .print-footer{gap:calc(14px * var(--portrait-scale));margin:calc(1mm * var(--portrait-scale)) 0;font-size:calc(13px * var(--portrait-scale))}.print-page-a5-portrait .print-footer{margin-top:auto}.print-page-a5-portrait .sales-footer{row-gap:calc(1.2mm * var(--portrait-scale))}.print-page-a5-portrait .print-page-number{right:calc(4mm * var(--portrait-scale));bottom:calc(1.5mm * var(--portrait-scale));font-size:calc(.833333em * var(--portrait-scale))}.file-button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#0f172a;font-size:14px;cursor:pointer}.file-button.disabled{color:#94a3b8;background:#f8fafc;cursor:not-allowed}.file-button input{display:none}.bank-import-control{display:inline-flex;align-items:center;gap:8px}.bank-import-control select{min-height:34px;min-width:126px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#0f172a;padding:0 8px}.bank-import-modal{gap:14px}.bank-upload-dropzone{display:grid;place-items:center;gap:8px;min-height:150px;border:1px dashed #8fbfca;border-radius:8px;background:#f7fbfc;color:#526270;cursor:pointer;text-align:center;padding:24px}.bank-upload-dropzone:hover{border-color:#0f7488;background:#eef8fa}.bank-upload-dropzone input{display:none}.bank-upload-dropzone strong{color:#17212b;font-size:16px}.import-preview{display:grid;gap:12px;border:1px solid #dbe4ea;border-radius:8px;padding:14px;background:#fff}.import-preview h3{margin:0;font-size:16px}textarea{min-height:72px;resize:vertical}@media (max-width: 920px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;overflow:visible;padding:12px}.compact-nav .sidebar{padding:12px}.main{padding:16px}.topbar{align-items:flex-start;flex-direction:column;gap:10px}.top-actions{width:100%;justify-content:space-between}.dashboard-page .panel-title{align-items:flex-start;flex-direction:column}.dashboard-batch-toolbar{width:100%;justify-content:flex-start}.user-chip{max-width:min(100%,260px)}.sidebar nav{grid-template-columns:repeat(4,minmax(0,1fr))}.sidebar button,.compact-nav .sidebar button{width:100%;height:auto;min-height:44px;justify-self:stretch;padding:7px 8px}.brand{height:auto;min-height:42px;margin-bottom:10px}.module-tabs{top:0;margin-left:-16px;margin-right:-16px;border-left:0;border-right:0;border-radius:0}.split-workbench,.recon-grid,.workbench-grid,.advanced-grid,.kpis,.report-kpis,.kpis.five,.form-grid,.livestock-form-section .batch-top-grid,.livestock-form-section .batch-heading-grid,.livestock-form-section .batch-metrics-grid,.livestock-form-section .batch-output-grid,.livestock-form-section .batch-finance-grid,.livestock-form-section .batch-grade-grid,.livestock-form-section .byproduct-belly-grid,.livestock-form-section .byproduct-organ-grid,.batch-chart-section,.batch-chart-layout,.pig-batch-summary{grid-template-columns:1fr}.donut-chart{justify-self:center}}@media print{html,body{width:auto;height:auto;min-height:0;margin:0;padding:0;background:#fff}body>:not(.print-output){display:none!important}.print-output{display:block;position:static;margin:0;padding:0;width:auto;height:auto;min-height:0;overflow:visible;page:auto}.print-page{border:0;margin:0;break-inside:avoid;page-break-inside:avoid;break-after:auto;page-break-after:auto;-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-output-triplicate .print-page{width:241mm;height:92.8mm}.print-output-a4 .print-page{width:210mm;height:296.8mm}.print-output-a5 .print-page{width:210mm;height:147.8mm}.print-output-a5-portrait .print-page{width:148mm;height:209.8mm}.print-page+.print-page{break-before:page;page-break-before:always}}.reports-page .report-table{overflow-x:auto}.reports-page .report-table th{white-space:nowrap}.reports-page .report-table td{min-width:88px}.reports-page .report-table tfoot{font-weight:700;background:#f0f5f3}.reports-page .report-table input,.reports-page .report-table select{min-width:100px;width:100%}.reports-page .report-section{margin:24px 0}.reports-page .report-section h3{font-size:16px;border-left:3px solid #28644e;padding-left:10px}.reports-page .report-warning{padding:14px 18px;background:#fff7e3;border:1px solid #ead6a4;border-radius:8px;margin:14px 0;color:#745526}.reports-page .report-warning p{margin:4px 0}.reports-page .report-subtext{display:block;color:#748079;margin-top:3px}.reports-page .report-full{grid-column:1 / -1}.reports-page .report-day{margin:16px 0;border:1px solid #e0e7e3;border-radius:8px}.reports-page .report-day summary{padding:12px;cursor:pointer;background:#f5f8f6;font-weight:600}.reports-page .report-recon{display:grid;grid-template-columns:1fr 1fr;gap:20px}.reports-page .report-recon>section{min-width:0}.reports-page .report-cell{font-variant-numeric:tabular-nums;width:100%;border:none}.reports-page .report-cell.invoiced{background:#dceff7}.reports-page .report-cell.offset{background:#fff3b3}.reports-page .report-cell.unsettled{background:#d7eee1}.reports-page .report-cell.paid{background:#e8def5}.reports-page .report-items{margin:12px 0 22px}.reports-page .report-items .actions{margin-top:10px}.reports-page .report-customer-options{max-height:250px;overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.reports-page .report-signatures{margin-top:32px}.reports-page .kpis{flex-wrap:wrap}.reports-page .modal{max-height:90vh;overflow-y:auto}@media (max-width:900px){.reports-page .report-recon{grid-template-columns:1fr}}@media print{@page management-report{size:A4 landscape;margin:12mm}.reports-page{page:management-report}body:has(.reports-page) .sidebar,body:has(.reports-page) .topbar,body:has(.reports-page) .module-tabs,body:has(.reports-page) .page-caption,body:has(.reports-page) .toast,.reports-page .report-no-print{display:none!important}body:has(.reports-page) .app-shell{display:block!important}body:has(.reports-page) .main{margin:0!important;padding:0!important}.reports-page .panel{border:none;box-shadow:none;padding:0}.reports-page .table-wrap{overflow:visible}.reports-page table{font-size:9px;width:100%}.reports-page .report-table td{min-width:0}.reports-page .report-section h3{break-after:avoid}.reports-page tr{break-inside:avoid}.reports-page thead{display:table-header-group}.reports-page .kpis{display:flex;gap:12px}.reports-page .kpi{flex:1}}.report-print-only{display:none}@media print{.report-print-only{display:block}}
