:root{
  --bg:#0f0f12; --panel:#17171b; --text:#e9e9ee; --muted:#b9bbc2;
  --accent:#dc143c; --accent-2:#ef4666; --border:#2a2a33;
  --sheet-bg:#ffffff; --ink:#111;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:#0f0f12;color:var(--text)}
h1,h2,h3,h4{margin:0 0 .5rem}
label{display:block;margin:0 0 .35rem;color:var(--muted);font-size:.9rem}
input,select,textarea{width:100%;padding:.7rem .8rem;border:1px solid var(--border);border-radius:.7rem;background:#121216;color:var(--text);outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 .2rem #dc143c22}
button{border:1px solid var(--border);background:#131318;color:var(--text);padding:.7rem 1rem;border-radius:.7rem;cursor:pointer}
button.primary{background:linear-gradient(180deg,var(--accent),var(--accent-2));border-color:#000}
button.danger{background:#2a1117;border-color:#58111e;color:#ffb3c1}
button.ghost{background:#141419}
.container{width:min(1100px,92vw);margin:2rem auto;display:grid;grid-template-columns:1fr;gap:1.25rem}
.panel{background:var(--panel);padding:1rem 1.25rem;border:1px solid var(--border);border-radius:1rem}
.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.grid.three{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}
.meta input,.meta select{height:42px}
.items{width:100%;border-collapse:collapse;margin-top:.9rem}
.items th,.items td{border-bottom:1px solid var(--border);padding:.55rem .4rem}
.items th{color:var(--muted);font-weight:600;text-align:left}
.items .qty,.items .rate,.items .amt{width:120px;text-align:right}
.notes-row{margin-top:1rem;align-items:start}
.totals{background:#111116;border:1px solid var(--border);border-radius:.8rem;padding:.8rem}
.totals>div{display:flex;justify-content:space-between;margin:.35rem 0}
.totals .grand{font-size:1.1rem}
.toolbar{display:flex;gap:.6rem;margin-top:1rem;flex-wrap:wrap}
.preview .sheet{display:block;margin:auto;border:1px solid var(--border);background:var(--sheet-bg);color:var(--ink);border-radius:.6rem;overflow:hidden}
.sheet.A4{width:794px;height:1123px}
.sheet-inner{padding:22px 30px 16px}
.addresses{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:6px 0 6px}
.addr h4{margin:0 0 4px;font-size:12px;color:#444}
.addr p{white-space:pre-line;margin:0;color:#111}
.pv-items{width:100%;border-collapse:collapse;margin-top:6px}
.pv-items th,.pv-items td{border-bottom:1px solid #eee;padding:6px 6px;text-align:left}
.pv-items th{font-size:12px;color:#444}
.pv-items td:nth-child(2),.pv-items td:nth-child(3),.pv-items td:nth-child(4){text-align:right}
.pv-bottom{display:grid;grid-template-columns:1fr 280px;gap:12px;margin-top:10px}
.pv-notes p{white-space:pre-line;margin:0;color:#222}
.pv-totals{border:1px solid #eee;border-radius:8px;padding:10px}
.pv-totals>div{display:flex;justify-content:space-between;margin:6px 0}
.pv-totals .grand{font-size:14px;font-weight:700}