:root{--bg:#f6f0e6;--paper:#fffdf8;--ink:#2b2118;--muted:#7a6a58;--line:#e4d5be;--gold:#c4a35a;--gold-deep:#8b6914;--side:#3b2418;--side-2:#4a2e1e;--danger:#9b2c2c;--ok:#1f6b4a;color:var(--ink);background:var(--bg);font-family:Segoe UI,Georgia,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}#root{min-height:100svh}.boot{min-height:100svh;color:var(--gold-deep);place-items:center;font-size:1.1rem;display:grid}h1,h2,p{margin:0}h1{letter-spacing:-.03em;font-size:1.8rem;font-weight:650}h2{margin-bottom:.8rem;font-size:1.05rem}.app{grid-template-columns:240px 1fr;min-height:100svh;display:grid}.sidebar{background:linear-gradient(180deg, var(--side) 0%, var(--side-2) 100%);color:#f7ead6;flex-direction:column;gap:1.5rem;padding:1.4rem 1rem;display:flex}.brand{align-items:center;gap:.7rem;display:flex}.brand p{color:#d9c3a1;font-size:.8rem}.gem{color:var(--gold);font-size:1.4rem}.sidebar nav{flex-direction:column;gap:.35rem;display:flex}.sidebar button{appearance:none;color:inherit;text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:10px;padding:.65rem .8rem}.sidebar button.active,.sidebar button:hover{background:#c4a35a38}main{padding:1.5rem 1.8rem 2.5rem}.page{flex-direction:column;gap:1.1rem;max-width:1100px;display:flex}.page-head{justify-content:space-between;align-items:end;gap:1rem;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--gold-deep);margin-bottom:.25rem;font-size:.72rem}.muted{color:var(--muted);font-size:.85rem}.stats,.rates-row{grid-template-columns:repeat(4,1fr);gap:.8rem;display:grid}.stat,.rate-card,.panel{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:1rem 1.05rem;box-shadow:0 8px 24px #3b24180d}.stat strong,.rate-card strong{margin:.25rem 0;font-size:1.35rem;display:block}.stat span,.rate-card p,.stat p{color:var(--muted);font-size:.85rem}.search{width:100%;max-width:420px}input,select,button{font:inherit}input,select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:10px;margin-top:.3rem;padding:.55rem .7rem}button{cursor:pointer;border:1px solid var(--line);background:#fff;border-radius:10px;padding:.5rem .8rem}button.primary{background:var(--gold-deep);color:#fff8e8;border-color:var(--gold-deep)}button.danger{color:var(--danger);background:0 0;border-color:#0000}button:disabled{opacity:.5;cursor:not-allowed}table{border-collapse:collapse;width:100%;font-size:.95rem}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.65rem .4rem}th{color:var(--muted);font-size:.8rem;font-weight:600}.num{text-align:right;font-variant-numeric:tabular-nums}.actions{justify-content:flex-end;gap:.2rem;display:flex}.empty{color:var(--muted)}.modal-backdrop{z-index:20;background:#2b211873;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{background:var(--paper);border-radius:16px;flex-direction:column;gap:.8rem;width:min(640px,100%);max-height:90svh;padding:1.2rem;display:flex;overflow:auto}.grid-2{grid-template-columns:1fr 1fr;gap:.7rem;display:grid}.modal-actions{justify-content:flex-end;gap:.5rem;display:flex}.billing-grid{grid-template-columns:280px 1fr;gap:1rem;display:grid}.stock-list{flex-direction:column;gap:.5rem;max-height:520px;display:flex;overflow:auto}.stock-chip{text-align:left;flex-direction:column;gap:.15rem;display:flex}.stock-chip span{color:var(--muted);font-size:.8rem}.piece-id{background:var(--bg);padding:.15rem .4rem;font-size:.85rem}.product-block{flex-direction:column;gap:.8rem;display:flex}.product-head{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:1rem;display:flex}.product-head h2{margin:0}.product-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.45rem;font-size:.9rem;display:flex}.stock-group{flex-direction:column;gap:.4rem;margin-bottom:.8rem;display:flex}.qty{width:4.2rem;margin:0}.totals{gap:.4rem;margin:1rem 0 0;display:grid}.totals div{justify-content:space-between;display:flex}.totals .grand{border-top:1px solid var(--line);padding-top:.5rem;font-size:1.15rem;font-weight:700}.banner{color:var(--ok);background:#e8f6ee;border-radius:10px;padding:.7rem .9rem}.form-stack{flex-direction:column;gap:1rem;display:flex}.invoice-preview{width:min(720px,100%)}.qr-label-dialog{background:var(--paper);border-radius:16px;width:min(420px,100%);padding:1rem}.qr-label{border:1px dashed var(--line);background:#fff;border-radius:8px;align-items:center;gap:1rem;padding:.75rem;display:flex}.qr-label svg{flex:none;width:140px;height:140px}.qr-label-details{overflow-wrap:anywhere;flex-direction:column;gap:.3rem;font-size:.78rem;display:flex}.qr-label-details strong{font-size:.95rem}.qr-scanner{width:min(520px,100%)}.piece-id-entry{align-items:end;gap:.5rem;display:flex}.piece-id-entry label{flex:1}.piece-id-entry button{flex:none;margin-bottom:.05rem}.qr-camera{object-fit:cover;background:#211b16;border-radius:12px;width:100%;min-height:220px;max-height:60svh;display:block}@media (width<=900px){.app{grid-template-columns:1fr}.sidebar{flex-flow:wrap;align-items:center}.sidebar nav{flex-flow:wrap}.stats,.rates-row,.billing-grid,.grid-2{grid-template-columns:1fr 1fr}}@media (width<=640px){.stats,.rates-row,.grid-2,.billing-grid{grid-template-columns:1fr}.piece-id-entry{flex-direction:column;align-items:stretch}}@media print{body *{visibility:hidden!important}.sidebar,.no-print,.page-head,.search{display:none!important}.modal-backdrop{background:0 0;padding:0;position:static}.qr-modal-backdrop,.qr-modal-backdrop *{visibility:visible!important}.qr-modal-backdrop{display:block}.qr-label-dialog{background:#fff;width:auto;padding:0}.modal{box-shadow:none;width:100%}}
