:root{--ink:#0d2b2b;--ink-soft:#3e5450;--muted:#6b7d79;--bg:#eef2f0;--surface:#fff;--line:#dce3e0;--teal:#0f6e56;--teal-tint:#e1f0ea;--teal-deep:#0a4a3b;--amber:#b9740e;--amber-tint:#f6ead3;--amber-deep:#7a4c08;--coral:#c1432b;--coral-tint:#f7e2dd;--coral-deep:#8c2f1d;--purple:#4b3585;--purple-tint:#ede7f6;--font-ui:"Space Grotesk", sans-serif;--font-num:"IBM Plex Mono", monospace}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--font-ui);margin:0;font-size:13.5px}html[dir=rtl] body{font-family:var(--font-ui)}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums}a{color:inherit}button{font-family:var(--font-ui)}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--surface);border-inline-end:1px solid var(--line);flex-direction:column;flex-shrink:0;gap:4px;width:220px;padding-block:20px;display:flex}.sidebar-brand{margin-block-end:16px;padding-inline:20px}.sidebar-brand .brand-name{font-size:16px;font-weight:600}.sidebar-brand .brand-sub{color:var(--muted);margin-block-start:2px;font-size:12px}.nav-link{color:var(--ink-soft);border-inline-start:3px solid #0000;padding:9px 20px;font-size:13px;font-weight:500;text-decoration:none;display:block}.nav-link:hover{background:var(--bg)}.nav-link.active{color:var(--teal-deep);background:var(--teal-tint);border-inline-start-color:var(--teal)}.main-area{flex:1;min-width:0}.topbar{background:var(--surface);border-block-end:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 28px;display:flex}.topbar h1{margin:0;font-size:16px;font-weight:600}.content{max-width:1200px;padding:24px 28px}.lang-toggle{border:1px solid var(--line);border-radius:6px;display:flex;overflow:hidden}.lang-toggle button{background:var(--surface);cursor:pointer;color:var(--muted);border:none;padding:5px 10px;font-size:12px}.lang-toggle button.active{background:var(--ink);color:#fff}.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;margin-block-end:16px;padding:20px}.card h2{margin:0 0 14px;font-size:14px;font-weight:600}.btn{cursor:pointer;font-size:13.5px;font-weight:500;font-family:var(--font-ui);border:none;border-radius:9px;justify-content:center;align-items:center;padding:10px 18px;display:inline-flex}.btn-primary{background:var(--teal-deep);color:#fff}.btn-primary:hover{background:var(--teal)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary:disabled:hover{background:var(--teal-deep)}.btn-secondary{background:var(--surface);color:var(--ink-soft);border:1px solid var(--line)}.btn-ghost{border:1px solid var(--line);color:var(--ink-soft);background:0 0}.hero-value{font-family:var(--font-num);font-size:26px;font-weight:600}.dash{background:var(--surface);border:1px solid var(--line);border-radius:10px;margin-block-end:16px}.dash-header{border-block-end:1px solid var(--line);justify-content:space-between;align-items:center;padding:20px 28px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-mark{background:var(--ink);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.brand-mark svg{width:18px;height:18px}.crumb{font-size:15px}.crumb span{color:var(--muted);font-weight:400}.crumb b{font-weight:600}.lot-ref,.invoice-no{color:var(--muted);font-size:12px;font-family:var(--font-num);margin-block-start:2px}.sub-line{color:var(--muted);margin-block-start:2px;font-size:12px}.avatar{background:var(--teal-tint);width:32px;height:32px;color:var(--teal-deep);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.form-grid{grid-template-columns:340px 1fr;display:grid}.form-left{border-inline-end:1px solid var(--line);padding:26px 28px}.form-right{padding:26px 28px}.col-title{color:var(--muted);margin-block-end:16px;font-size:12px}.actionbar-desktop{border-block-start:1px solid var(--line);justify-content:flex-end;gap:10px;padding:20px 28px;display:flex}.field{margin-block-end:14px}.field>label{color:var(--muted);margin-block-end:4px;font-size:11.5px;font-weight:500;display:block}.field>input,.field>select{border:1px solid var(--line);width:100%;font-size:13px;font-family:var(--font-ui);background:var(--surface);color:var(--ink);border-radius:6px;padding:7px 10px}.field>input[type=number]{font-family:var(--font-num)}.form-row{flex-wrap:wrap;gap:12px;display:flex}.form-row>.field{flex:1;min-width:160px}.field-label{color:var(--muted);margin-block-end:6px;font-size:12px}.field-input{border:1px solid var(--line);color:var(--ink);background:var(--surface);width:100%;font-size:14px;font-family:var(--font-ui);border-radius:9px;justify-content:space-between;align-items:center;padding:11px 12px;display:flex}select.field-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%236B7D79' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-inline-end:32px}html[dir=rtl] select.field-input{background-position:12px}.field-input.placeholder{color:var(--muted)}.field-hint{color:var(--muted);margin-block-start:6px;font-size:11px}.segmented{border:1px solid var(--line);border-radius:9px;margin-block-end:16px;display:flex;overflow:hidden}.segmented button{text-align:center;color:var(--muted);background:var(--surface);cursor:pointer;font-size:13px;font-family:var(--font-ui);border:none;flex:1;padding:9px 0}.segmented button.active{background:var(--ink);color:#fff;font-weight:500}.two-col{grid-template-columns:1fr 1fr;gap:14px;display:grid}.qty-input-desktop{border:1px solid var(--line);width:100%;font-size:15px;font-weight:500;font-family:var(--font-ui);border-radius:9px;padding:11px 12px}.source-card{border:1px solid var(--teal);background:var(--teal-tint);border-radius:10px;padding:14px 16px}.source-top{justify-content:space-between;align-items:baseline;margin-block-end:10px;display:flex}.source-title,.source-name{color:var(--teal-deep);font-size:13.5px;font-weight:600}.source-ref{color:var(--teal-deep);font-size:11px;font-family:var(--font-num)}.source-row{color:var(--ink-soft);justify-content:space-between;padding:5px 0;font-size:12.5px;display:flex}.source-row .v{color:var(--teal-deep);font-weight:500}.source-link{color:var(--teal-deep);cursor:pointer;font-size:12px;font-weight:500;font-family:var(--font-ui);background:0 0;border:none;margin-block-start:10px;padding:0}.pill-ref{background:var(--ink);color:#fff;border-radius:6px;flex-shrink:0;padding:5px 9px;font-size:11.5px;font-weight:600;display:inline-block}.pill-ref.mix{background:var(--teal-deep)}.lines-table{border-collapse:collapse;width:100%;margin-block-end:14px}.lines-table thead th{text-align:start;color:var(--muted);border-block-end:1px solid var(--line);padding:0 10px 10px;font-size:11px;font-weight:500}.lines-table thead th.num-col{text-align:end}.lines-table tbody td{border-block-end:1px solid var(--line);vertical-align:middle;padding:12px 10px;font-size:13.5px}.lines-table tbody td.num-col{text-align:end}.lines-table tfoot td{color:var(--muted);border-block-start:2px solid var(--ink);padding:10px;font-size:12.5px}.lines-table tfoot td.num-col{text-align:end;color:var(--ink);font-weight:600}.cell-input{border:1px solid var(--line);text-align:end;width:100%;font-size:13px;font-family:var(--font-ui);color:var(--ink);border-radius:7px;padding:7px 9px}.cell-input.left{text-align:start}.cell-locked{color:var(--ink-soft)}.cell-locked .sub{color:var(--muted);margin-block-start:2px;font-size:10.5px;display:block}.avail{color:var(--muted);margin-block-start:2px;font-size:10.5px;font-weight:400;display:block}.row-remove{width:22px;height:22px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:flex}.row-remove:hover{background:var(--bg)}.add-line-desktop{border:1px dashed var(--line);text-align:center;color:var(--ink-soft);cursor:pointer;width:100%;font-size:12.5px;font-family:var(--font-ui);background:0 0;border-radius:9px;justify-content:center;align-items:center;gap:7px;margin-block-end:20px;padding:10px;display:flex}.add-line-desktop.small{margin-block-end:16px;padding:8px;font-size:12px}.note-box{color:var(--ink-soft);background:var(--bg);border-radius:8px;margin-block-start:16px;padding:10px 12px;font-size:12px}.note-box b{color:var(--ink);font-weight:500}.result-strip{grid-template-columns:1fr 1fr 1fr;gap:16px;margin-block-start:4px;display:grid}.result-box{border:1px solid var(--line);border-radius:10px;padding:14px 16px}.result-label{color:var(--muted);margin-block-end:8px;font-size:11.5px}.result-value{font-size:20px;font-weight:600}.result-value.warn{color:var(--coral)}.result-value.ok{color:var(--teal-deep)}.gauge{background:var(--line);border-radius:3px;height:6px;overflow:hidden}.gauge-fill{background:var(--teal);height:100%}.gauge-fill.warn{background:var(--coral)}.gauge-marks{color:var(--muted);justify-content:space-between;margin-block-start:5px;font-size:10.5px;display:flex}.calc-list{border:1px solid var(--line);border-radius:10px;margin-block-start:18px;padding:14px 16px}.calc-row{color:var(--ink-soft);border-block-start:1px solid var(--line);justify-content:space-between;padding:7px 0;font-size:13px;display:flex}.calc-row:first-child{border-block-start:none}.calc-row .v{color:var(--ink);font-weight:500}.calc-row.total{border-block-start:1px solid var(--ink);color:var(--ink);margin-block-start:4px;padding-block-start:12px;font-size:15px;font-weight:600}.calc-row.total .v{color:var(--teal-deep);font-weight:700}.achat-group{border:1px solid var(--line);border-radius:12px;margin-block-end:16px;padding:18px 20px}.achat-group-head{justify-content:space-between;align-items:center;margin-block-end:16px;display:flex}.achat-group-id{align-items:center;gap:12px;display:flex}.achat-group-name{font-size:14px;font-weight:600}.achat-group-sub{color:var(--muted);margin-block-start:2px;font-size:12px}.mix-card{border:1px solid var(--teal);background:var(--teal-tint);border-radius:12px;margin-block-start:6px;padding:18px 20px}.bottom-split{grid-template-columns:1fr 300px;align-items:start;gap:24px;display:grid}.fees-box,.pay-box,.summary-box{border:1px solid var(--line);border-radius:10px;padding:16px}.fees-box-title,.pay-box-title{margin-block-end:12px;font-size:12.5px;font-weight:600}.fees-inline,.pay-inline{grid-template-columns:1fr 1fr;gap:14px;display:grid}.fees-note{color:var(--muted);background:var(--bg);border-radius:8px;margin-block-start:10px;padding:9px 11px;font-size:11.5px}.fees-note b{color:var(--ink-soft);font-weight:500}.summary-row{color:var(--ink-soft);justify-content:space-between;padding:6px 0;font-size:12.5px;display:flex}.summary-row .v{font-weight:500}.summary-row.total{color:var(--ink);border-block-start:1px solid var(--line);margin-block-start:6px;padding-block-start:12px;font-size:16px;font-weight:600}.summary-row.total .v{color:var(--teal-deep);font-weight:600}.supplier-card{border:1px solid var(--teal);background:var(--teal-tint);border-radius:10px;align-items:center;gap:10px;padding:11px 12px;display:flex}.supplier-avatar{background:var(--teal-deep);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:600;display:flex}.supplier-name{color:var(--teal-deep);font-size:13.5px;font-weight:500}.supplier-tag{color:var(--ink-soft);margin-block-start:1px;font-size:11px}.supplier-edit{color:var(--teal-deep);cursor:pointer;flex-shrink:0;margin-inline-start:auto;font-size:11.5px}.new-supplier-link{color:var(--teal-deep);cursor:pointer;font-size:12px;font-family:var(--font-ui);background:0 0;border:none;align-items:center;gap:5px;margin-block-start:8px;padding:0;display:flex}.acct-select{align-items:center;gap:6px;font-size:13px;display:flex}.acct-pill{background:var(--teal-tint);color:var(--teal-deep);border-radius:6px;padding:3px 8px;font-size:11px;font-weight:600}.acct-pill.imm{background:var(--purple-tint);color:var(--purple)}.amort-hint{color:var(--muted);margin-block-start:5px;font-size:10.5px}.badge{border-radius:6px;align-items:center;gap:6px;padding:5px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.badge .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.badge.ok,.badge-normal{background:var(--teal-tint);color:var(--teal-deep)}.badge.warn,.badge-anormal{background:var(--coral-tint);color:var(--coral-deep)}.offline-chip{background:var(--teal-tint);color:var(--teal-deep);border-radius:8px;align-items:center;gap:7px;margin-block-end:16px;padding:8px 12px;font-size:11.5px;display:inline-flex}.offline-chip .dot{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.error-banner{background:var(--coral-tint);color:var(--coral-deep);border-radius:8px;margin-block-end:14px;padding:10px 14px;font-size:13px}table.simple{border-collapse:collapse;width:100%;font-size:13px}table.simple th{text-align:start;color:var(--muted);border-block-end:1px solid var(--line);padding:8px 10px;font-size:11.5px;font-weight:500}table.simple td{border-block-end:1px solid var(--line);padding:8px 10px}table.simple tbody tr.row-clickable{cursor:pointer}table.simple tbody tr.row-clickable:hover{background:#f5f7f6}table.simple tbody tr.row-active{background:var(--teal-tint)}.status-pill{background:var(--teal-tint);color:var(--teal-deep);border-radius:6px;align-items:center;gap:6px;padding:5px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.status-pill.amber{background:var(--amber-tint);color:var(--amber-deep)}.status-pill .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.section-block{border:1px solid var(--line);border-radius:12px;margin-block-end:18px;padding:18px 20px}.section-block.teal{background:var(--teal-tint);border-color:var(--teal)}.section-block.amber{background:var(--amber-tint);border-color:var(--amber)}.section-block-title{margin-block-end:14px;font-size:13.5px;font-weight:600}.section-block-title.teal{color:var(--teal-deep)}.section-block-title.amber{color:var(--amber-deep)}.three-col{grid-template-columns:1fr 1fr 1fr;gap:14px;display:grid}.auto-tag{color:var(--muted);letter-spacing:.01em;font-size:10px;font-weight:500}.cost-row-line{border-block-start:1px solid var(--line);justify-content:space-between;align-items:center;padding:9px 0;font-size:13px;display:flex}.cost-row-line:first-child{border-block-start:none}.cost-row-line .l{color:var(--ink-soft);align-items:center;gap:8px;display:flex}.cost-row-line .v{font-weight:500}.cost-row-line.total{border-block-start:1px solid var(--ink);margin-block-start:4px;padding-block-start:12px;font-size:15px;font-weight:600}.cost-row-line.total .v{color:var(--teal-deep);font-weight:700}.cost-row-line.total.amber .v{color:var(--amber-deep)}.avatar.amber{background:var(--amber-tint);color:var(--amber-deep)}.btn-primary.amber{background:var(--amber-deep)}.btn-primary.amber:hover{background:var(--amber)}.pill-ref.amber{background:var(--amber-deep)}.source-name.amber,.source-row .v.amber{color:var(--amber-deep)}
