:root{--bg:#faf9f8;--surface:#fff;--surface-2:#f3f0ee;--border:#e6e0dc;--ink:#18140f;--ink-soft:#6b5f56;--ink-faint:#9f9186;--accent:#eb3d00;--accent-ink:#fff;--accent-soft:#fce7dc;--danger:#d6336c;--danger-soft:#fce4ed;--shadow-sm:0 1px 2px #18140f0d;--shadow-md:0 4px 14px #18140f14;--shadow-lg:0 16px 40px #18140f24;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);padding:0 20px;margin:0;padding-block:24px 56px;font-family:Manrope,-apple-system,Segoe UI,sans-serif}h1,h2{text-wrap:balance;margin:0}a{color:var(--accent)}.num{font-variant-numeric:tabular-nums;font-family:JetBrains Mono,ui-monospace,monospace}.app-shell-v2{min-height:100vh;margin:-24px -20px -56px;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex:none;gap:24px;width:220px;padding:20px 16px;display:flex}.brand-logo{width:auto;height:30px;display:block}.sidebar-nav{flex-direction:column;gap:4px;display:flex}.sidebar-nav a{color:var(--ink-soft);border-radius:10px;padding:10px 12px;font-size:.82rem;font-weight:700;text-decoration:none}.sidebar-nav a.active{background:var(--accent-soft);color:var(--accent)}.sidebar-version{color:var(--ink-faint);margin-top:auto;padding:10px 12px 0;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.68rem}.main-col{flex-direction:column;flex:1;min-width:0;display:flex}.topbar-v2{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;padding:14px 24px;display:flex}.content-area{flex:1;max-width:1180px;padding:24px}.user-chip{color:var(--ink-soft);align-items:center;gap:8px;font-size:.78rem;display:flex}.user-chip b{color:var(--ink)}@media (width<=640px){.app-shell-v2{flex-direction:column}.sidebar{flex-flow:wrap;justify-content:space-between;align-items:center;width:100%}.sidebar-nav{flex-flow:wrap}.content-area{padding:16px}}.panel{flex-direction:column;gap:16px;display:flex}.note-strip{color:var(--ink-soft);background:var(--accent-soft);border:1px solid var(--border);border-radius:12px;align-items:flex-start;gap:10px;padding:10px 14px;font-size:.82rem;display:flex}.note-strip .dot{background:var(--accent);border-radius:50%;flex:none;width:6px;height:6px;margin-top:6px}.note-strip b{color:var(--ink)}.legend{flex-wrap:wrap;gap:8px;display:flex}.legend-item{background:var(--surface);border:1px solid var(--border);color:var(--ink-soft);border-radius:999px;align-items:center;gap:6px;padding:5px 12px 5px 8px;font-size:.75rem;font-weight:600;display:inline-flex}.swatch{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.swatch.hollow{border:1.5px solid var(--ink-faint);background:0 0!important}.table-wrap{border:1px solid var(--border);box-shadow:var(--shadow-md);border-radius:16px;overflow:hidden}.table-scroll{overflow-x:auto}table.sheet{border-collapse:collapse;background:var(--surface);width:100%;font-size:.82rem}table.sheet th,table.sheet td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);white-space:nowrap;padding:8px 10px}table.sheet th:last-child,table.sheet td:last-child{border-right:none}table.sheet thead tr:first-child th{background:var(--surface-2);font-weight:700}table.sheet thead tr:last-child th{background:var(--surface-2);color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em;font-size:.65rem;font-weight:600}table.sheet tbody tr{transition:background .1s}table.sheet tbody tr:hover{background:var(--accent-soft)}.process-head{align-items:center;gap:6px;display:inline-flex}.sl-badge{background:var(--surface-2);width:20px;height:20px;color:var(--ink-faint);border-radius:50%;justify-content:center;align-items:center;font-size:.7rem;font-weight:700;display:inline-flex}.desc-input{width:220px}.qty-input{text-align:center;width:44px}.measure-cell{align-items:center;gap:7px;display:flex}.measure-input{width:72px}input.text-field,input.rate-name,input.desc-input,input[type=text],input[type=number],input[type=password]{font:inherit;background:var(--bg);color:var(--ink);border:1px solid var(--border);border-radius:7px;padding:5px 7px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.8rem;transition:border-color .12s,box-shadow .12s}input.desc-input,input.text-field{font-family:Manrope,sans-serif}input.text-field:focus,input.rate-name:focus,input.desc-input:focus,input[type=text]:focus,input[type=number]:focus,input[type=password]:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}select{font:inherit;background:var(--bg);color:var(--ink);border:1px solid var(--border);border-radius:7px;padding:5px 7px;font-size:.8rem}input.toggle[type=checkbox]{appearance:none;background:var(--border);cursor:pointer;border-radius:999px;flex:none;width:30px;height:17px;transition:background .15s;position:relative}input.toggle[type=checkbox]:after{content:"";background:var(--surface);width:13px;height:13px;box-shadow:var(--shadow-sm);border-radius:50%;transition:transform .15s;position:absolute;top:2px;left:2px}input.toggle[type=checkbox]:checked{background:var(--accent)}input.toggle[type=checkbox]:checked:after{transform:translate(13px)}.amount-cell{text-align:right;color:var(--ink-faint)}.amount-cell.live{color:var(--accent);background:var(--accent-soft);border-radius:7px;font-weight:700}.total-cell{text-align:right;font-weight:800;background:var(--surface-2)!important}.row-actions{text-align:center}.btn{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:10px;padding:9px 16px;font-size:.82rem;font-weight:700;transition:transform .1s,box-shadow .1s}.btn:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-dashed{border:1.5px dashed var(--border);color:var(--ink-soft);background:0 0}.btn-dashed:hover{border-color:var(--accent);color:var(--accent)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow-sm)}.btn-primary:hover{box-shadow:var(--shadow-md)}.btn-text-danger{color:var(--danger);cursor:pointer;background:0 0;border:none;padding:4px 6px;font-size:.76rem;font-weight:600}.btn-text-danger:hover{text-decoration:underline}.btn-text-danger:disabled{opacity:.4;cursor:not-allowed}.below-table{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.summary-card{background:var(--surface);border:1px solid var(--border);width:min(300px,100%);box-shadow:var(--shadow-md);border-radius:16px;margin-left:auto;overflow:hidden}.summary-card .row{justify-content:space-between;align-items:center;padding:10px 16px;font-size:.85rem;display:flex}.summary-card .row+.row{border-top:1px solid var(--border)}.summary-card .row span:first-child{color:var(--ink-soft);font-weight:600}.summary-card .row.grand{background:var(--accent-soft)}.summary-card .row.grand span:first-child{color:var(--ink)}.summary-card .row.grand span:last-child{color:var(--accent);font-size:1.05rem;font-weight:800}.rate-table-wrap{border:1px solid var(--border);box-shadow:var(--shadow-md);background:var(--surface);border-radius:16px;overflow:hidden}table.ratecard{border-collapse:collapse;width:100%;font-size:.86rem}table.ratecard th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-faint);background:var(--surface-2);padding:10px 16px;font-size:.65rem;font-weight:700}table.ratecard td{border-top:1px solid var(--border);padding:8px 16px}table.ratecard tr:hover td{background:var(--accent-soft)}table.ratecard input.rate-name{width:100%}.rate-actions{justify-content:space-between;align-items:center;padding:2px 4px;display:flex}.rate-actions-row{flex-wrap:wrap;align-items:center;gap:10px;padding:2px 4px;display:flex}.rate-actions-row .text-field{flex:180px}.settings-tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:20px;display:flex}.settings-tabs button{font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-right:20px;padding:10px 4px;font-size:.86rem;font-weight:700}.settings-tabs button:hover{color:var(--ink)}.settings-tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.status-badge{border-radius:999px;padding:3px 10px;font-size:.72rem;font-weight:700;display:inline-block}.status-active{color:var(--ink-soft);background:var(--surface-2)}.status-inactive{color:var(--danger);background:var(--danger-soft)}.version-badge{color:var(--ink-soft);background:var(--surface);border:1px solid var(--border);border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:.76rem;font-weight:600;display:inline-flex}.version-badge b{color:var(--accent)}.toast{opacity:0;background:var(--ink);color:var(--bg);box-shadow:var(--shadow-lg);pointer-events:none;border-radius:12px;padding:11px 18px;font-size:.84rem;font-weight:600;transition:opacity .2s,transform .2s;position:fixed;bottom:26px;left:50%;transform:translate(-50%)translateY(10px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.modal-overlay{z-index:1000;background:#18140f73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);box-shadow:var(--shadow-lg);border-radius:16px;width:min(480px,100%);max-height:90vh;padding:24px;overflow-y:auto}.modal h2{font-size:1.05rem;font-weight:800}.modal-process-list{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding-top:12px;display:flex}.modal-process-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.modal-process-label{align-items:center;gap:8px;font-size:.85rem;font-weight:600;display:flex}.modal-process-value{align-items:center;gap:8px;display:flex}.modal-line-total{background:var(--accent-soft);border-radius:10px;justify-content:space-between;align-items:center;margin-top:16px;padding:10px 14px;font-weight:700;display:flex}.modal-line-total .num{color:var(--accent);font-weight:800}.modal-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.login-shell{justify-content:center;align-items:center;min-height:70vh;display:flex}.login-card{background:var(--surface);border:1px solid var(--border);width:min(340px,100%);box-shadow:var(--shadow-md);border-radius:16px;flex-direction:column;gap:16px;padding:28px 26px;display:flex}.login-card .brand-logo{height:40px}.login-card .sub{color:var(--ink-soft);font-size:.82rem}.field{flex-direction:column;gap:5px;display:flex}.field label{color:var(--ink-soft);font-size:.76rem;font-weight:700}.field input{font-family:Manrope,sans-serif}.form-error{color:var(--danger);background:var(--danger-soft);border-radius:8px;margin:0;padding:8px 10px;font-size:.8rem}@media (width<=640px){.below-table{flex-direction:column}.summary-card{width:100%;margin-left:0}}
