.ops-page{display:grid;gap:18px}.ops-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #dbe4e8;border-radius:20px;background:#fff;padding:24px}.ops-hero p{font-size:13px;font-weight:800;color:#0b6b57}.ops-hero h1{margin-top:4px;font-size:28px;font-weight:900}.ops-hero span{display:block;margin-top:7px;color:#64748b}.ops-hero>button,.ops-modal .primary{display:flex;align-items:center;gap:8px;border-radius:12px;background:#0b6b57;padding:12px 18px;font-weight:800;color:#fff}.ops-guidance{border-left:4px solid #0b6b57;background:#e9f6f2;padding:13px 15px;color:#285d50;font-size:14px}.ops-error,.ops-notice{display:flex;align-items:center;gap:8px;border-radius:12px;padding:13px 15px}.ops-notice{background:#ecfdf5;color:#047857}.ops-error{background:#fef2f2;color:#b91c1c}.ops-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.ops-stats article{display:flex;flex-direction:column;border:1px solid #dbe4e8;border-radius:16px;background:#fff;padding:18px}.ops-stats span{font-size:13px;color:#64748b}.ops-stats b{margin-top:7px;font-size:25px}.ops-card{overflow:hidden;border:1px solid #dbe4e8;border-radius:18px;background:#fff}.ops-toolbar{justify-content:space-between;gap:12px;padding:16px;border-bottom:1px solid #e8eef1}.ops-toolbar,.ops-toolbar>div{display:flex;align-items:center}.ops-toolbar>div{min-width:260px;max-width:560px;flex:1;gap:8px;border:1px solid #cbd5e1;border-radius:11px;padding:9px 12px}.ops-toolbar input{width:100%;outline:0}.ops-toolbar button{display:flex;align-items:center;gap:6px;border:1px solid #cbd5e1;border-radius:10px;padding:9px 12px;font-weight:700}.ops-list>article{border-bottom:1px solid #eef2f5}.ops-main{display:grid;grid-template-columns:1.5fr 1fr .65fr .7fr auto 36px;align-items:center;gap:12px;padding:15px 18px}.ops-main>span{display:flex;min-width:0;flex-direction:column;gap:3px}.ops-main small{overflow:hidden;text-overflow:ellipsis;color:#64748b;font-size:12px}.ops-main em{font-style:normal}.ops-main>button{display:grid;height:34px;width:34px;place-items:center;border-radius:9px;background:#f1f5f9}.ops-status{border-radius:999px;background:#e8f6f2;padding:6px 10px;color:#0b6b57;font-size:12px;font-weight:800}.ops-detail{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#f8fafc;padding:14px 18px}.ops-detail p{color:#475569;font-size:13px}.ops-detail div{display:flex;flex-wrap:wrap;gap:7px}.ops-detail button{border:1px solid #cbd5e1;border-radius:8px;background:#fff;padding:7px 10px;font-size:12px;font-weight:700}.ops-detail button:disabled{opacity:.45}.ops-empty{padding:32px;text-align:center;color:#64748b}.ops-overlay{position:fixed;inset:0;z-index:80;display:grid;place-items:center;background:rgba(15,23,42,.58);padding:16px}.ops-modal{max-height:92vh;width:min(780px,100%);overflow:auto;border-radius:20px;background:#fff;box-shadow:0 25px 70px rgba(15,23,42,.35)}.ops-modal>header{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #e2e8f0;padding:20px 22px}.ops-modal h2{font-size:21px;font-weight:900}.ops-modal header p{margin-top:4px;color:#64748b;font-size:13px}.ops-modal header button{display:grid;height:38px;width:38px;place-items:center;border:1px solid #dbe4e8;border-radius:10px}.ops-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:22px}.ops-form label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:800;color:#334155}.ops-form input,.ops-form select,.ops-form textarea{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;font-weight:400;color:#0f172a;outline:0}.ops-form textarea{min-height:100px;resize:vertical}.ops-form .wide{grid-column:1/-1}.ops-modal>footer{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #e2e8f0;padding:16px 22px}.ops-modal footer>button{border:1px solid #cbd5e1;border-radius:11px;padding:10px 17px;font-weight:800}.ops-modal .primary{border:0}@media(max-width:800px){.ops-main{grid-template-columns:1fr auto}.ops-main>span:not(:first-child){display:none}.ops-detail{align-items:flex-start;flex-direction:column}.ops-form{grid-template-columns:1fr}.ops-form .wide{grid-column:auto}}@media(max-width:620px){.ops-hero{align-items:flex-start;flex-direction:column}.ops-stats{grid-template-columns:1fr}.ops-toolbar{align-items:stretch;flex-direction:column}.ops-toolbar>div{min-width:0;max-width:none}}.injection-main{grid-template-columns:minmax(280px,2fr) repeat(3,minmax(105px,.65fr)) auto 36px}.injection-detail{display:grid;gap:16px;background:#f8fafc;padding:18px}.injection-history{display:grid;gap:8px}.injection-entry h3,.injection-history h3,.injection-outputs h3{font-size:15px;font-weight:900}.injection-history>div{display:grid;grid-template-columns:150px 110px 1fr;align-items:center;gap:12px;border:1px solid #dbe4e8;border-radius:10px;background:#fff;padding:10px 12px}.injection-history>div.reversed{opacity:.55;text-decoration:line-through}.injection-history small{color:#64748b}.injection-entry{display:grid;gap:10px;border:1px solid #99d7c6;border-radius:14px;background:#effaf6;padding:15px}.injection-entry>div{display:flex;align-items:end;flex-wrap:wrap;gap:10px}.injection-entry label{display:grid;gap:5px;font-size:12px;font-weight:800}.injection-entry input,.injection-entry select{min-width:170px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;padding:9px 11px}.injection-entry button,.injection-outputs button,.injection-reverse{border:1px solid #aac7bf;border-radius:9px;background:#fff;padding:9px 12px;font-weight:800;color:#075f4d}.injection-entry button{background:#08745f;color:#fff}.injection-entry button:disabled{opacity:.45}.injection-check{display:flex!important;min-height:40px;align-items:center;grid-auto-flow:column}.injection-check input{min-width:0;width:18px}.injection-reverse{justify-self:start;color:#b42318}.injection-outputs{display:grid;gap:10px;border:1px solid #dbe4e8;border-radius:12px;padding:14px}.injection-outputs>div{display:grid;grid-template-columns:minmax(250px,1fr) 120px auto auto;align-items:center;gap:8px}.injection-outputs>div:first-child{display:flex;justify-content:space-between}.profit-table{overflow:auto}.profit-table table{min-width:1080px;width:100%;border-collapse:collapse}.profit-table td,.profit-table th{border-bottom:1px solid #e8eef1;padding:11px 12px;text-align:left;vertical-align:top;font-size:13px}.profit-table th{position:sticky;top:0;background:#f1f7f5;color:#33534b}.profit-table td:first-child{min-width:245px}.profit-table td:first-child b,.profit-table td:first-child small{display:block}.profit-table small{margin-top:3px;color:#64748b}.profit-table tr.low{background:#fff8e8}.profit-status{display:inline-block;border-radius:999px;padding:5px 8px;font-style:normal;font-weight:800;white-space:nowrap}.profit-status.ok{background:#e7f8ef;color:#047857}.profit-status.warn{background:#fff1cd;color:#9a5b00}.profit-status.pending{background:#eef2f6;color:#475569}.injection-tabs{display:flex;gap:8px;border-bottom:1px solid #dbe4e8}.injection-tabs button{border-radius:10px 10px 0 0;padding:11px 18px;font-weight:800;color:#64748b}.injection-tabs button.active{background:#0b6b57;color:#fff}.injection-auto{display:grid;gap:7px;border:1px solid #99d7c6;border-radius:12px;background:#effaf6;padding:14px;color:#285d50}.injection-auto h3{font-size:15px;font-weight:900;color:#0f3f35}.injection-rule-list>article{display:grid;grid-template-columns:minmax(320px,1fr) 160px 90px 70px;align-items:center;gap:16px;border-bottom:1px solid #eef2f5;padding:16px 18px}.injection-rule-list>article>div{display:grid;gap:4px}.injection-rule-list small{color:#64748b}.injection-rule-list em{justify-self:start;font-style:normal}.injection-rule-list button{border:1px solid #aac7bf;border-radius:9px;padding:8px 12px;font-weight:800;color:#075f4d}@media(max-width:900px){.injection-main{grid-template-columns:1fr auto}.injection-main>span:not(:first-child){display:none}.injection-history>div{grid-template-columns:1fr auto}.injection-history small{grid-column:1/-1}.injection-outputs>div{grid-template-columns:1fr 100px}.injection-outputs>div button,.injection-outputs>div span{justify-self:start}.injection-rule-list>article{grid-template-columns:1fr auto}.injection-rule-list>article>span{display:none}}.ops-modal-wide{width:min(980px,100%)}.ops-permission-groups{display:grid;gap:14px}.ops-permission-groups>section{overflow:hidden;border:1px solid #e2e8f0;border-radius:12px}.ops-permission-groups h3{background:#f1f7f5;padding:9px 12px;font-size:14px;font-weight:900;color:#285d50}.ops-permission-row{display:grid;grid-template-columns:minmax(0,1fr) 185px;align-items:center;gap:14px;border-top:1px solid #eef2f5;padding:10px 12px}.ops-permission-row:first-of-type{border-top:0}.ops-permission-row>span{display:grid;gap:2px}.ops-permission-row small{color:#64748b;font-size:12px}.ops-permission-row select:disabled{background:#f1f5f9;color:#64748b}@media(max-width:620px){.ops-permission-row{grid-template-columns:1fr}.ops-permission-row select{width:100%}}.payroll-toolbar{align-items:center}.payroll-toolbar>label{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:800;color:#475569}.payroll-toolbar input[type=month]{min-width:155px;border:1px solid #cbd5e1;border-radius:10px;padding:9px 12px;background:#fff;color:#0f172a}.payroll-table{overflow:auto}.payroll-table>table{width:100%;min-width:1120px;border-collapse:collapse}.payroll-table th{background:#f8fafc;padding:12px;text-align:left;font-size:12px;color:#64748b;white-space:nowrap}.payroll-table td{border-top:1px solid #e2e8f0;padding:13px 12px;vertical-align:middle;font-size:13px}.payroll-table td b,.payroll-table td small{display:block}.payroll-table td small{margin-top:4px;color:#64748b}.payroll-table td.negative{color:#b91c1c}.payroll-unconfigured{background:#fff7ed}.payroll-status{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900;white-space:nowrap;background:#fef3c7;color:#92400e}.payroll-status.已发放{background:#dcfce7;color:#166534}.payroll-status.部分发放{background:#dbeafe;color:#1d4ed8}.payroll-status.待核算{background:#f1f5f9;color:#475569}.payroll-expand{display:grid!important;width:34px;height:34px;place-items:center;border:1px solid #cbd5e1!important;border-radius:9px!important;background:#fff!important;color:#334155!important}.payroll-expand svg{width:17px}.payroll-detail-row>td{padding:0!important;background:#f8fafc}.payroll-detail{display:grid;gap:12px;padding:16px}.payroll-detail>section{border:1px solid #dbe4ea;border-radius:14px;background:#fff;padding:15px}.payroll-detail h3{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:15px}.payroll-detail h3 svg{width:18px;color:#0f766e}.payroll-actions button,.payroll-days button,.payroll-detail section>button,.payroll-inline button{display:inline-flex;align-items:center;gap:7px;border:0;border-radius:9px;background:#0f766e;color:#fff;padding:9px 13px;font-weight:800;cursor:pointer}.payroll-detail button:disabled{opacity:.45;cursor:not-allowed}.payroll-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.payroll-grid label,.payroll-inline label{display:grid;gap:5px;font-size:12px;font-weight:800;color:#475569}.payroll-actions input,.payroll-actions select,.payroll-days input,.payroll-days select,.payroll-grid input,.payroll-grid select,.payroll-inline input{width:100%;border:1px solid #cbd5e1;border-radius:8px;background:#fff;padding:8px;color:#0f172a}.payroll-chips{display:flex;flex-wrap:wrap;gap:8px}.payroll-chips span{border-radius:10px;background:#ecfdf5;padding:9px 12px;color:#065f46}.payroll-muted{color:#64748b}.payroll-formula{margin:0;border-radius:10px;background:#f0fdfa;padding:13px;color:#134e4a}.payroll-days{max-height:390px;overflow:auto;border:1px solid #e2e8f0;border-radius:10px}.payroll-days table{width:100%;min-width:800px;border-collapse:collapse}.payroll-days th{position:sticky;top:0;z-index:1;background:#f8fafc}.payroll-days td,.payroll-days th{padding:8px;border-bottom:1px solid #eef2f7}.payroll-days input{min-width:80px}.payroll-inline{display:grid;grid-template-columns:180px minmax(260px,1fr) auto;align-items:end;gap:10px}.payroll-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:12px}.payroll-actions>div{display:grid;grid-template-columns:auto minmax(90px,.5fr) minmax(100px,.6fr) minmax(180px,1fr) auto;align-items:center;gap:8px;border:1px solid #e2e8f0;border-radius:11px;padding:10px}.payroll-actions>div:nth-child(2){grid-template-columns:auto minmax(100px,.5fr) minmax(180px,1fr) 145px minmax(170px,1fr) auto}.payroll-history{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.payroll-history>*{border-radius:8px;background:#f8fafc;padding:7px 9px;font-size:12px}.payroll-history>b{background:#e2e8f0}.payroll-history span{color:#475569}@media(max-width:900px){.payroll-grid{grid-template-columns:1fr 1fr}.payroll-actions{grid-template-columns:1fr}.payroll-actions>div,.payroll-actions>div:nth-child(2){grid-template-columns:1fr 1fr}.payroll-inline{grid-template-columns:1fr}.payroll-toolbar{align-items:stretch}.payroll-toolbar>label{justify-content:space-between}}.company-settings{display:flex;flex-direction:column;gap:18px}.company-setting-card{border:1px solid #dbe3e6;border-radius:18px;background:#fff;box-shadow:0 3px 12px rgba(15,35,45,.04);overflow:hidden}.company-setting-title{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #edf1f2}.company-setting-form button,.company-setting-title>button,.company-setting-title>div{display:flex;align-items:center;gap:8px}.company-setting-title h2{font-size:18px;font-weight:800}.company-setting-form button,.company-setting-title button{border-radius:10px;background:#0d6b57;color:#fff;padding:10px 14px;font-weight:700}.company-setting-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:16px 20px}.company-setting-list.methods{grid-template-columns:repeat(3,minmax(0,1fr))}.company-setting-list button{display:flex;flex-direction:column;gap:5px;text-align:left;border:1px solid #e2e8ea;border-radius:12px;padding:13px;background:#fafcfc}.company-setting-list button:hover{border-color:#16816c}.company-setting-list small,.company-setting-list span{color:#64748b}.company-setting-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:10px;border-top:1px solid #edf1f2;background:#f8fbfb;padding:16px 20px}.company-setting-form input,.company-setting-form select{min-height:42px;border:1px solid #cfdadd;border-radius:10px;background:#fff;padding:8px 10px}.company-setting-form .wide{grid-column:span 2}.company-setting-form label{display:flex;align-items:center;gap:7px;font-weight:700}@media(max-width:900px){.company-setting-form,.company-setting-list,.company-setting-list.methods{grid-template-columns:1fr}.company-setting-form .wide{grid-column:auto}}.payroll-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.payroll-calendar-grid>strong{text-align:center;padding:6px;color:#637b86;font-size:13px}.payroll-calendar-grid>button{display:flex!important;align-items:flex-start!important;flex-direction:column;gap:4px!important;min-height:76px;background:#f7fafb!important;color:#213c47!important;border:1px solid #dbe7ea!important;border-radius:8px!important;padding:8px!important}.payroll-calendar-grid>button.active{background:#e1f4ee!important;border-color:#098673!important;box-shadow:inset 0 0 0 1px #098673}.payroll-calendar-grid small{font-size:11px;color:#78909a}.payroll-calendar-grid span{font-size:14px;color:#097a67;font-weight:700}.payroll-calendar h4{margin:16px 0 9px}.payroll-calendar-details{overflow:auto}.payroll-calendar-details table{width:100%;border-collapse:collapse}.payroll-calendar-details td,.payroll-calendar-details th{padding:9px!important;border-bottom:1px solid #e2ecee}.payroll-calendar-details small{display:block;color:#738892;font-size:12px}.payroll-calendar-details th{position:static!important}.payroll-actions{grid-template-columns:1.2fr 1fr!important}.payroll-actions>div:first-child{grid-template-columns:auto minmax(90px,.6fr) minmax(120px,1fr) 135px minmax(120px,1fr) auto}.payroll-actions>div:nth-child(2){grid-template-columns:auto 85px 95px minmax(120px,1fr) auto}@media(max-width:1500px){.payroll-actions{grid-template-columns:1fr!important}}@media(max-width:900px){.payroll-actions>div:first-child,.payroll-actions>div:nth-child(2){grid-template-columns:1fr 1fr}}.payroll-calendar-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.payroll-calendar-loading button,.payroll-calendar-nav button,.payroll-calendar-nav input{border:1px solid #b8d6d0;border-radius:9px;background:#fff;padding:9px 12px;color:#0b6b57;font-weight:700}.payroll-calendar-nav label{display:flex;align-items:center;gap:8px}.payroll-calendar-nav button:disabled{opacity:.45;cursor:default}.payroll-calendar-loading{min-height:360px;padding:25px;color:#64748b}.purchase{display:grid;gap:16px;color:#14252b}.purchase-card,.purchase-hero,.purchase-stats article{background:#fff;border:1px solid #dce5e8;border-radius:18px;box-shadow:0 8px 28px rgba(15,42,50,.04)}.purchase-hero{padding:22px 26px;display:flex;align-items:center;justify-content:space-between;gap:18px}.purchase-hero p{font-size:13px;color:#08715d;font-weight:800}.purchase-hero h1{font-size:28px;font-weight:900;margin:3px 0}.purchase-hero span{font-size:14px;color:#687982}.purchase-hero>button,.purchase-toolbar button{border:0;border-radius:10px;background:#087866;color:white;padding:11px 16px;font-weight:800;display:flex;align-items:center;gap:7px}.purchase-hero svg,.purchase-toolbar svg{width:18px}.purchase-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.purchase-stats article{padding:17px}.purchase-stats span{display:block;color:#687982;font-size:13px}.purchase-stats b{font-size:21px}.purchase-toolbar{padding:14px 16px;border-bottom:1px solid #e4ebed;display:flex;gap:12px}.purchase-toolbar>div{flex:1;border:1px solid #cad8dc;border-radius:10px;padding:0 12px;display:flex;align-items:center;gap:8px}.purchase-toolbar input{width:100%;border:0;outline:0;padding:10px;background:transparent}.purchase-table{overflow:auto}.purchase-table table{width:100%;min-width:1250px;border-collapse:collapse;font-size:12px}.purchase-table th{background:#f4f7f8;color:#5d6f76;text-align:left;padding:10px 12px}.purchase-table td{border-top:1px solid #edf1f2;padding:11px 12px;vertical-align:top}.purchase-table b,.purchase-table code,.purchase-table small{display:block}.purchase-table code{color:#08715d;font-weight:800}.purchase-table small{margin-top:3px;color:#75878d}.purchase-empty{text-align:center;color:#718188;padding:32px!important}.purchase-error,.purchase-notice{border-radius:12px;padding:13px 15px;font-weight:800;display:flex;gap:8px;align-items:center}.purchase-notice{background:#e8faf4;color:#076552}.purchase-error{background:#fff0ee;color:#b23f2e}.purchase-overlay{position:fixed;inset:0;z-index:95;background:rgba(8,27,33,.62);display:grid;place-items:center;padding:18px}.purchase-modal{width:min(1100px,97vw);max-height:95vh;background:#f5f8f8;border-radius:18px;overflow:hidden;display:flex;flex-direction:column}.purchase-modal>footer,.purchase-modal>header{background:white;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dfe8ea}.purchase-modal>header h2{font-size:21px;font-weight:900}.purchase-modal>header p{font-size:13px;color:#697b82}.purchase-modal>footer button,.purchase-modal>header button{border:1px solid #d8e2e5;background:#fff;border-radius:10px;padding:9px 14px;font-weight:800}.purchase-modal>footer{border-top:1px solid #dfe8ea;border-bottom:0;justify-content:flex-end;gap:8px}.purchase-modal>footer .primary{background:#087866;color:white;border-color:#087866}.purchase-modal>footer .primary:disabled{opacity:.5}.purchase-body{padding:17px;overflow:auto;display:grid;gap:13px}.purchase-body section{background:#fff;border:1px solid #dce5e8;border-radius:14px;padding:16px}.purchase-body h3{font-weight:900;margin-bottom:12px}.purchase-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.purchase-grid label{display:grid;align-content:start;gap:5px;font-size:12px;font-weight:800;color:#53656c}.purchase-grid input,.purchase-grid select,.purchase-grid textarea{width:100%;border:1px solid #cbdadd;border-radius:9px;padding:9px 10px;background:white;color:#17292f}.purchase-grid small{font-weight:500;color:#718188}.purchase-calc,.purchase-total{margin-top:12px;border-radius:10px;background:#eef8f5;padding:11px;color:#41615f}.purchase-total b{font-size:18px;color:#08715d}.purchase-help{margin:-6px 0 12px;color:#687982;font-size:13px}.purchase-payables{overflow:auto;border:1px solid #dce5e8;border-radius:11px}.purchase-pay-head,.purchase-pay-row{min-width:820px;display:grid;grid-template-columns:1.05fr .85fr 1.5fr 1fr 1.4fr;gap:9px;align-items:center;padding:9px 10px}.purchase-pay-head{background:#f2f7f6;color:#5c6d73;font-size:12px;font-weight:800}.purchase-pay-row{border-top:1px solid #e5ecee;font-size:13px}.purchase-pay-row input,.purchase-pay-row select{min-width:0;border:1px solid #cad8dc;border-radius:8px;padding:8px;background:#fff}.purchase-pay-row select:disabled{background:#f4f6f7;color:#7c898e}.purchase-pay-detail summary{cursor:pointer;color:#08715d;font-weight:800}.purchase-pay-detail div{margin-top:8px;padding:7px 9px;border-radius:8px;background:#f3f7f7;white-space:nowrap}.purchase-pay-detail small{margin-top:2px}@media(max-width:900px){.purchase-grid{grid-template-columns:1fr 1fr}.purchase-hero{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.purchase-grid,.purchase-stats{grid-template-columns:1fr}.purchase-toolbar{flex-direction:column}.purchase-overlay{padding:0}.purchase-modal{width:100vw;height:100vh;max-height:100vh;border-radius:0}}.purchase-order-list{display:grid}.purchase-order{border-top:1px solid #e4ebed;padding:14px 16px;display:grid;gap:10px}.purchase-order:first-child{border-top:0}.purchase-order-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.purchase-order-head b,.purchase-order-head small,.purchase-order-head span{display:block}.purchase-order-head code{color:#08715d;font-weight:900}.purchase-statuses{display:flex;gap:7px;flex-wrap:wrap}.purchase-statuses span{padding:4px 8px;border-radius:999px;background:#eef5f5;color:#51666b;font-size:12px;font-weight:800}.purchase-statuses .ok{background:#e5f8f0;color:#08715d}.purchase-statuses .warn{background:#fff2dd;color:#9a5815}.purchase-lines{display:grid;gap:4px;font-size:12px;color:#4f646b}.purchase-lines div{display:grid;grid-template-columns:110px minmax(210px,1fr) 120px 110px;gap:10px}.purchase-order-actions{display:flex;gap:8px;flex-wrap:wrap}.purchase-order-actions button{border:1px solid #b8d0ca;border-radius:8px;background:#f3faf8;color:#08715d;padding:7px 10px;font-weight:800}.purchase-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.purchase-line-head,.purchase-line-row{display:grid;grid-template-columns:1.2fr 1.6fr .65fr .65fr .65fr .65fr 80px;gap:8px;align-items:center}.purchase-line-head{font-size:12px;color:#61747a;font-weight:800;padding:7px}.purchase-line-row{border-top:1px solid #e5ecee;padding:8px 0}.purchase-line-row input,.purchase-line-row select{min-width:0;border:1px solid #cad8dc;border-radius:8px;padding:8px;background:#fff}.purchase-dialog-actions{display:flex;justify-content:flex-end;gap:8px}.purchase-finance-targets{display:grid;gap:7px;max-height:260px;overflow:auto}.purchase-finance-targets label{display:grid;grid-template-columns:minmax(250px,1fr) 150px 140px;gap:10px;align-items:center;padding:9px;border:1px solid #e2eaec;border-radius:9px}.purchase-finance-targets b,.purchase-finance-targets small{display:block}.purchase-finance-targets input{border:1px solid #cad8dc;border-radius:8px;padding:8px}@media(max-width:900px){.purchase-line-head,.purchase-line-row{min-width:900px}.purchase-lines div{min-width:650px}.purchase-lines{overflow:auto}.purchase-finance-targets label{min-width:650px}.purchase-finance-targets{overflow:auto}}.purchase-modal.purchase-small{width:min(760px,97vw)}.purchase-modal:not(.purchase-small){width:min(1280px,97vw)}.purchase-items-section{min-width:0}.purchase-line-head{display:none}.purchase-line-row{min-width:0;grid-template-columns:minmax(190px,2fr) minmax(70px,.65fr) minmax(75px,.65fr) minmax(105px,1fr) minmax(105px,1fr) minmax(130px,1.2fr) 42px;align-items:end;gap:8px}.purchase-line-row>label{display:grid;gap:5px;min-width:0;font-size:12px;color:#53656c;font-weight:700}.purchase-line-row input,.purchase-line-row select{width:100%;font-size:14px;color:#17292f}.purchase-line-row>button{font-size:12px;padding:8px 0}.purchase-line-info{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;margin-bottom:8px;background:#f2f8f6;border-radius:8px;font-size:12px;color:#53656c;overflow-wrap:anywhere}.purchase-line-info>div{display:grid;gap:3px;min-width:0}.purchase-line-info button,.purchase-quote-actions button{border:1px solid #b8d0ca;border-radius:8px;background:white;color:#08715d;padding:8px 10px;font-weight:700;flex-shrink:0}.purchase-supplier-help{margin-top:12px;font-size:12px;color:#657a80;line-height:1.6}.purchase-quote-editor{padding:14px;border:1px solid #9cd4c7;border-radius:12px;background:#f0faf6;margin-top:12px}.purchase-quote-editor>p{font-size:12px;color:#53656c;margin-bottom:12px}.purchase-quote-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;flex-wrap:wrap}.purchase-grid .purchase-primary-check{display:flex;align-items:center;gap:8px;align-self:center}.purchase-primary-check input{width:auto}.purchase-unloading{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:10px;background:#eff8f5;border-radius:8px;margin:8px 0}.purchase-unloading label{display:grid;gap:5px;flex:0 1 180px;min-width:0}.purchase-unloading p{flex:1 1 240px;font-size:13px;margin:0;line-height:1.6;color:#176455}.purchase-check{display:flex!important;align-items:center;gap:8px;margin:8px 0;font-size:13px}.purchase-check input{width:auto!important}.purchase-unloading-total{display:grid;gap:5px}.purchase-unloading-total small{font-size:12px;color:#55736b}.purchase-extra-modal{width:min(920px,96vw)}.purchase-extra-modal .purchase-body>label{display:grid;gap:8px}.purchase-extra-modal textarea{min-height:72px;border:1px solid #cdded8;border-radius:8px;padding:10px}.purchase-unloading input,.purchase-unloading select{width:100%;min-width:0;border:1px solid #cbdadd;border-radius:8px;background:white;padding:9px;color:#17292f}.purchase-modal.purchase-extra-modal{width:min(920px,96vw)}.purchase-extra-modal .purchase-finance-targets label{min-width:0;grid-template-columns:minmax(0,1fr) 120px}@media(max-width:600px){.purchase-modal.purchase-extra-modal{width:100vw}.purchase-extra-modal .purchase-finance-targets label{grid-template-columns:1fr}.purchase-unloading label{flex:1 1 130px}}@media(max-width:1000px){.purchase-line-row{grid-template-columns:repeat(3,minmax(0,1fr))}.purchase-line-row>label:first-child{grid-column:span 2}.purchase-line-info{align-items:flex-start}.purchase-pay-head,.purchase-pay-row{min-width:0;grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.purchase-modal:not(.purchase-small){width:100vw}.purchase-line-row{grid-template-columns:repeat(2,minmax(0,1fr))}.purchase-line-info{flex-direction:column}.purchase-pay-head{display:none}.purchase-pay-row{grid-template-columns:repeat(2,minmax(0,1fr))}.purchase-body section{padding:12px}.purchase-body{padding:10px}}.supplier-actions,.supplier-section-title,.supplier-workspace h1{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.supplier-actions>button,.supplier-section-title>button,.supplier-workspace .purchase-quote-actions>button,.supplier-workspace footer>button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #c7dfe0;border-radius:9px;background:#fff;padding:9px 12px;color:#086c5b;font-weight:600}.supplier-actions>button:hover,.supplier-section-title>button:hover,.supplier-workspace footer>button:hover{background:#eaf7f2}.supplier-workspace .purchase-hero .supplier-actions>button:last-child,.supplier-workspace footer>button:last-child{background:#087c68;color:white;border-color:#087c68}.supplier-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:18px}.supplier-detail,.supplier-list{padding:18px;min-width:0}.supplier-workspace label{display:flex;flex-direction:column;gap:8px;font-weight:600}.supplier-workspace input,.supplier-workspace select{min-width:0;width:100%;border:1px solid #ccdde1;border-radius:8px;padding:10px;background:#fff}.supplier-list-scroll{height:clamp(220px,58vh,650px);overflow:auto;scrollbar-gutter:stable;margin-top:12px}.supplier-item-picker>button,.supplier-list-scroll>button{display:block;width:100%;text-align:left;padding:10px;border:1px solid #dfebed;border-radius:8px;margin-bottom:6px;white-space:normal;overflow-wrap:anywhere}.supplier-list-scroll small{display:block;color:#617981;margin-top:5px}.supplier-workspace .selected{background:#e3f5ef;border-color:#0d806b}.supplier-section-title{justify-content:space-between;align-items:flex-start}.supplier-section-title h2{font-size:20px;font-weight:700}.supplier-detail p{color:#617981;line-height:1.6;margin:6px 0}.supplier-detail h3{font-weight:700;margin-top:18px}.supplier-products{margin:12px 0}.supplier-products article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid #e0e9eb;flex-wrap:wrap}.supplier-products article>div:first-child{flex:1;min-width:180px;overflow-wrap:anywhere}.supplier-item-picker{height:180px;overflow:auto;scrollbar-gutter:stable;margin:10px 0 18px;border:1px solid #dfebed;border-radius:8px;padding:8px}@media(max-width:800px){.supplier-layout{grid-template-columns:minmax(0,1fr)}.supplier-list-scroll{height:180px}.supplier-detail,.supplier-list{padding:12px}}.finance-page{display:grid;gap:16px;color:#14252b}.finance-card,.finance-hero,.finance-stats article{background:#fff;border:1px solid #dce5e8;border-radius:18px;box-shadow:0 8px 28px rgba(15,42,50,.04)}.finance-hero{padding:22px 26px}.finance-hero p{font-size:13px;color:#08715d;font-weight:800}.finance-hero h1{font-size:28px;font-weight:900;margin:3px 0}.finance-hero span{font-size:14px;color:#687982}.finance-error,.finance-notice{border-radius:12px;padding:13px 15px;font-weight:800;display:flex;gap:8px;align-items:center}.finance-notice{background:#e8faf4;color:#076552}.finance-error{background:#fff0ee;color:#b23f2e}.finance-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.finance-stats article{padding:16px}.finance-stats span{display:block;color:#687982;font-size:13px}.finance-stats b{font-size:20px}.finance-tabs{display:flex;gap:8px;padding:14px 16px;border-bottom:1px solid #e2eaec}.finance-tabs button{display:flex;align-items:center;gap:7px;padding:10px 15px;border:1px solid #cad8dc;border-radius:10px;background:#fff;font-weight:900;color:#52656b}.finance-tabs button.active{background:#087866;color:#fff;border-color:#087866}.finance-tabs svg{width:18px}.finance-form{padding:16px;display:grid;gap:15px}.finance-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.finance-fields label{display:grid;gap:5px;color:#53656c;font-size:12px;font-weight:800}.finance-fields input,.finance-fields select{width:100%;border:1px solid #cbdadd;border-radius:9px;padding:9px 10px;background:#fff;color:#17292f}.finance-fields small{font-weight:500;color:#718188}.finance-targets{border:1px solid #dce5e8;border-radius:12px;overflow:hidden}.finance-targets h3{padding:12px 14px;background:#f3f7f7;font-weight:900}.finance-target-list{max-height:320px;overflow:auto}.finance-target{display:grid;grid-template-columns:minmax(270px,1.6fr) minmax(135px,.75fr) minmax(145px,.75fr) 100px;gap:10px;align-items:center;padding:10px 13px;border-top:1px solid #e6edef;font-size:13px}.finance-target b,.finance-target small,.finance-target span{display:block}.finance-target small,.finance-target span{margin-top:2px;color:#6a7c82}.finance-target strong{color:#9a4e17}.finance-target input{min-width:0;border:1px solid #cbdadd;border-radius:8px;padding:8px}.finance-target button{border:1px solid #a7c7bf;border-radius:8px;background:#eef8f5;padding:8px;color:#08715d;font-weight:800}.finance-empty{text-align:center;color:#718188;padding:25px}.finance-summary{display:flex;align-items:center;gap:20px;padding:13px 15px;border-radius:11px;background:#edf7f4;font-size:13px;font-weight:800}.finance-summary .bad{color:#b23f2e}.finance-summary button{margin-left:auto;border:0;border-radius:9px;background:#087866;color:#fff;padding:10px 15px;font-weight:900;display:flex;align-items:center;gap:7px}.finance-summary button:disabled{opacity:.45}.finance-summary svg{width:17px}.finance-title{padding:16px 18px;border-bottom:1px solid #e2eaec}.finance-title h2{font-size:18px;font-weight:900}.finance-title p{margin-top:3px;color:#687982;font-size:13px}.finance-table{overflow:auto}.finance-table table{width:100%;min-width:1100px;border-collapse:collapse;font-size:12px}.finance-table th{background:#f4f7f8;color:#5d6f76;text-align:left;padding:10px 12px}.finance-table td{border-top:1px solid #edf1f2;padding:11px 12px;vertical-align:top}.finance-table b,.finance-table small{display:block}.finance-table small{margin-top:3px;color:#75878d}.finance-table .negative{color:#b23f2e}.finance-status{display:inline-block;border-radius:999px;padding:3px 8px;font-weight:900}.finance-status.ok{background:#e5f8f0;color:#08715d}.finance-status.reversed{background:#f1f2f3;color:#687982}.finance-table .reverse{display:flex;align-items:center;gap:4px;border:1px solid #e7b7af;border-radius:8px;background:#fff5f3;color:#a23d2d;padding:7px 9px;font-weight:800}.finance-table .reverse svg{width:15px}@media(max-width:900px){.finance-fields,.finance-stats{grid-template-columns:1fr 1fr}.finance-target{min-width:760px}.finance-targets{overflow:auto}.finance-summary{align-items:flex-start;flex-direction:column}.finance-summary button{margin-left:0}}@media(max-width:600px){.finance-fields,.finance-stats{grid-template-columns:1fr}}.finance-download{display:inline-flex;align-items:center;gap:4px;color:#08715d;font-weight:800}.finance-download svg{width:15px}.finance-platform .finance-title h2{display:flex;align-items:center;gap:8px}.finance-platform .finance-title h2 svg{width:20px;color:#08715d}.finance-platform>.finance-fields{padding:16px}.finance-platform-summary{display:flex;align-items:center;gap:22px;margin:0 16px 16px;padding:13px 15px;border-radius:11px;background:#edf7f4;font-size:13px}.finance-platform-summary span{display:flex;flex-direction:column;color:#687982}.finance-platform-summary b{color:#14252b;font-size:17px}.finance-platform-summary button{margin-left:auto;display:flex;align-items:center;gap:7px;border:0;border-radius:9px;background:#087866;padding:10px 15px;color:#fff;font-weight:900}.finance-platform-summary button:disabled{opacity:.45}.finance-platform-summary svg{width:17px}@media(max-width:760px){.finance-platform-summary{align-items:flex-start;flex-direction:column}.finance-platform-summary button{margin-left:0}}.dash-page{display:grid;gap:18px}.dash-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:24px;border:1px solid #dbe4e8;border-radius:20px;background:linear-gradient(135deg,#fff 48%,#e8f6f2)}.dash-hero p,.dash-owner-only header p{font-size:13px;font-weight:800;color:#0b6b57}.dash-hero h1{margin-top:4px;font-size:28px;font-weight:900}.dash-hero span{display:block;margin-top:8px;color:#64748b;font-size:14px}.dash-hero-actions{display:flex;gap:8px}.dash-bottom-grid header button,.dash-grid header button,.dash-hero button{display:flex;align-items:center;gap:7px;white-space:nowrap;border:1px solid #cbd5e1;border-radius:11px;background:#fff;padding:10px 14px;font-weight:800;color:#0b6b57}.dash-spin{animation:dash-spin 1s linear infinite}@keyframes dash-spin{to{transform:rotate(1turn)}}.dash-error{display:flex;gap:8px;align-items:center;border-radius:12px;background:#fef2f2;padding:14px;color:#b91c1c}.dash-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.dash-actions button{display:flex;align-items:center;gap:10px;border:1px solid #dbe4e8;border-radius:15px;background:#fff;padding:14px;text-align:left;font-weight:800}.dash-actions button svg:first-child{color:#0b6b57}.dash-actions button svg:last-child{margin-left:auto;color:#94a3b8}.dash-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.dash-metrics-owner{grid-template-columns:repeat(4,minmax(0,1fr))}.dash-metrics button{position:relative;display:flex;min-height:122px;overflow:hidden;flex-direction:column;border:1px solid #dbe4e8;border-radius:18px;background:#fff;padding:17px;text-align:left}.dash-metrics button:before{position:absolute;left:0;top:0;bottom:0;width:4px;content:"";background:#94a3b8}.dash-metrics .dash-card-green:before{background:#0f8a6b}.dash-metrics .dash-card-blue:before{background:#2563eb}.dash-metrics .dash-card-amber:before{background:#f59e0b}.dash-metrics .dash-card-red:before{background:#ef4444}.dash-metrics .dash-card-violet:before{background:#7c3aed}.dash-metrics span{font-size:14px;color:#64748b}.dash-metrics b{margin-top:8px;font-size:22px;line-height:1.25}.dash-metrics small{margin-top:auto;padding-top:7px;color:#64748b}.dash-charts{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.75fr);gap:16px}.dash-bottom-grid>article,.dash-charts>article,.dash-grid>article{overflow:hidden;border:1px solid #dbe4e8;border-radius:18px;background:#fff}.dash-bottom-grid article>header,.dash-charts header,.dash-grid article>header{display:flex;align-items:center;justify-content:space-between;padding:17px 19px;border-bottom:1px solid #eef2f5}.dash-bottom-grid h2,.dash-charts h2,.dash-grid h2,.dash-owner-only h2{font-size:17px;font-weight:900}.dash-bottom-grid header p,.dash-charts header p,.dash-grid header p{margin-top:3px;color:#64748b;font-size:13px}.dash-charts header>svg{color:#0f8a6b}.dash-chart{padding:14px 12px 8px}.dash-chart,.dash-pie{height:285px}.dash-grid{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(320px,.58fr);gap:16px}.dash-followup{display:grid;width:100%;grid-template-columns:minmax(180px,1fr) auto 115px 115px 20px;align-items:center;gap:11px;padding:13px 18px;border-bottom:1px solid #eef2f5;text-align:left}.dash-followup>span{display:flex;min-width:0;flex-direction:column}.dash-followup small{color:#64748b;font-size:12px}.dash-followup em{white-space:nowrap;border-radius:999px;padding:5px 8px;font-style:normal;font-weight:800;font-size:12px}.dash-health-followup{background:#fff7ed;color:#c2410c}.dash-health-inactive{background:#fef2f2;color:#b91c1c}.dash-health-new{background:#f1f5f9;color:#475569}.dash-followup>svg{color:#94a3b8}.dash-notice{display:flex;width:100%;align-items:center;gap:11px;padding:15px 18px;border-bottom:1px solid #eef2f5;text-align:left}.dash-followup:hover,.dash-notice:hover,.dash-order:hover{background:#f8fafc}.dash-notice>span:nth-child(2){display:flex;flex-direction:column;gap:3px}.dash-notice small{color:#64748b;line-height:1.45}.dash-notice>svg{margin-left:auto;color:#94a3b8}.dash-notice-icon{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border-radius:10px;background:#fff7ed;color:#d97706}.dash-notice-danger .dash-notice-icon{background:#fef2f2;color:#dc2626}.dash-notice-success .dash-notice-icon{background:#ecfdf5;color:#059669}.dash-notice-info .dash-notice-icon{background:#eff6ff;color:#2563eb}.dash-owner-only{overflow:hidden;border:1px solid #c4b5fd;border-radius:18px;background:#faf8ff}.dash-owner-only header{display:flex;align-items:center;justify-content:space-between;padding:17px 19px;border-bottom:1px solid #ede9fe}.dash-owner-only header>div>span{display:block;margin-top:4px;color:#64748b;font-size:13px}.dash-owner-only header>b{font-size:20px;color:#6d28d9}.dash-owner-only>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.dash-assignment{display:flex;min-width:0;align-items:center;gap:10px;padding:14px 18px;border-right:1px solid #ede9fe;border-bottom:1px solid #ede9fe}.dash-assignment>span{display:flex;min-width:0;flex:1;flex-direction:column}.dash-assignment small{color:#64748b}.dash-assignment strong{border-radius:999px;background:#ede9fe;padding:4px 8px;color:#6d28d9;font-size:12px}.dash-assignment select{max-width:160px;border:1px solid #c4b5fd;border-radius:9px;background:#fff;padding:8px;color:#5b21b6;font-size:12px;font-weight:800}.dash-bottom-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:16px}.dash-order{display:grid;width:100%;grid-template-columns:minmax(180px,1.4fr) .55fr .75fr .72fr;align-items:center;gap:10px;padding:13px 19px;border-bottom:1px solid #eef2f5;text-align:left}.dash-order-status,.dash-order>span:first-child{display:flex;flex-direction:column}.dash-order small{color:#64748b}.dash-order em{font-style:normal;color:#475569;font-size:13px}.dash-order-status{justify-self:end;text-align:right}.dash-order strong{color:#0b6b57;font-size:13px}.dash-empty,.dash-ok{display:flex;align-items:center;gap:8px;margin:18px;padding:18px;border-radius:12px;background:#f8fafc;color:#64748b}.dash-ok{color:#047857}@media(max-width:1250px){.dash-metrics-owner{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-bottom-grid,.dash-charts,.dash-grid{grid-template-columns:1fr}.dash-owner-only>div{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.dash-hero{align-items:flex-start;flex-direction:column}.dash-hero-actions{width:100%;flex-wrap:wrap}.dash-actions,.dash-metrics,.dash-metrics-owner{grid-template-columns:1fr}.dash-followup{grid-template-columns:1fr auto}.dash-followup>span:nth-of-type(n+2),.dash-followup>svg{display:none}.dash-owner-only>div{grid-template-columns:1fr}.dash-order{grid-template-columns:1fr auto}.dash-order em{display:none}.dash-chart{height:250px}}.dash-company-finance{overflow:hidden;border:1px solid #dbe4e8;border-radius:18px;background:#fff}.dash-company-finance>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 19px;border-bottom:1px solid #eef2f5}.dash-company-finance h2{font-size:17px;font-weight:900}.dash-company-finance header p{margin-top:3px;color:#64748b;font-size:13px}.dash-company-finance header button{white-space:nowrap;border:1px solid #cbd5e1;border-radius:10px;background:#fff;padding:9px 12px;font-weight:800;color:#0b6b57}.dash-company-table{overflow-x:auto}.dash-company-table table{width:100%;min-width:980px;border-collapse:collapse}.dash-company-table td,.dash-company-table th{padding:12px 14px;border-bottom:1px solid #eef2f5;text-align:right;font-size:13px}.dash-company-table td:first-child,.dash-company-table th:first-child{text-align:left}.dash-company-table th{background:#f8fafc;color:#64748b}.dash-company-table .positive{color:#047857;font-weight:800}.dash-company-table .negative,.dash-company-table .warning{color:#b45309;font-weight:800}