*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:#f4f6f8;color:#171717}header{background:#111;color:#fff;padding:14px 20px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;gap:12px;align-items:center}.brand img{width:64px;height:64px;object-fit:cover;border-radius:8px;background:#fff}.brand h1{margin:0;font-size:20px}.brand p{margin:4px 0 0;color:#bbb}button{border:0;border-radius:8px;padding:10px 14px;font-weight:700;cursor:pointer}.primary{background:#d71920;color:white}.dark{background:#111;color:white}.danger{background:#fee2e2;color:#991b1b}nav{padding:14px 20px 0;display:flex;gap:8px;flex-wrap:wrap}nav button.active{background:#111;color:white}main{max-width:1250px;margin:auto;padding:18px}.view{display:none}.view.active{display:block}.card,.stats>div{background:#fff;border:1px solid #d9dde2;border-radius:12px;padding:16px}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:12px}.stats span{font-size:12px;color:#6b7280}.stats strong{display:block;font-size:26px;margin-top:6px}.card{margin-bottom:12px}.head{display:flex;justify-content:space-between;align-items:center;gap:10px}.head h2{margin:0}.muted{color:#6b7280;font-size:13px}.jobRow,.invoiceRow,.alertRow{display:grid;grid-template-columns:1.2fr 1.1fr .8fr .8fr .8fr;gap:10px;align-items:center;border:1px solid #ddd;padding:12px;border-radius:10px;margin-top:10px;background:#fff;cursor:pointer}.invoiceRow{grid-template-columns:1fr 1.2fr .8fr .8fr .8fr .7fr}.alertRow{border-color:#efb1b1;background:#fffafa}.pill{display:inline-block;padding:5px 8px;border-radius:99px;background:#eee;font-size:12px;font-weight:700}.paid{background:#dcfce7;color:#166534}.past{background:#fee2e2;color:#991b1b}.soon{background:#fef3c7;color:#92400e}.customers{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.customer{border:1px solid #ddd;border-radius:10px;padding:12px}dialog{border:0;border-radius:14px;width:min(1000px,96vw);padding:0}dialog::backdrop{background:#0008}form{padding:18px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}label{font-size:12px;font-weight:700;display:flex;flex-direction:column;gap:5px}input,select,textarea{padding:10px;border:1px solid #d7dbe0;border-radius:8px;font:inherit}.itemHead{display:flex;justify-content:space-between;align-items:start;margin-top:16px;border-top:1px solid #ddd;padding-top:14px}.itemHead h3{margin:0}.itemRow{display:grid;grid-template-columns:.5fr 1.6fr 1.5fr 1fr 1fr auto;gap:8px;align-items:end;background:#fafafa;border:1px solid #ddd;border-radius:10px;padding:10px;margin-top:10px}.removeItem{background:#fee2e2;color:#991b1b}.actions{display:grid;grid-template-columns:auto 1fr auto auto auto;gap:10px;margin-top:16px}.hidden{display:none!important}.modal{position:fixed;inset:0;background:#e5e7eb;z-index:30;overflow:auto}.toolbar{position:sticky;top:0;background:#111;padding:10px;display:flex;justify-content:flex-end;gap:8px}#doc{width:8.5in;min-height:11in;margin:18px auto;background:white;padding:.35in;box-shadow:0 4px 24px #0004}.docHeader{display:grid;grid-template-columns:1fr 1fr;gap:22px}.docHeader img{max-width:300px;max-height:160px;object-fit:contain}.company h1{font-size:24px;margin:0}.redline{height:3px;background:#d71920;margin:10px 0}.docTitle{color:#d71920;font-size:24px;font-weight:900;margin:16px 0}.docGrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.sectionTitle{color:#d71920;font-weight:900;border-bottom:2px solid #d71920;padding-bottom:5px}.info p{border-bottom:1px solid #bbb;padding:6px 0;margin:0}.numTable,.itemsTable,.totals{width:100%;border-collapse:collapse}.numTable td,.itemsTable th,.itemsTable td,.totals td{border:1px solid #bbb;padding:9px}.numTable td:first-child,.itemsTable th{background:#111;color:white}.big{font-size:18px;font-weight:900;text-align:center;color:#d71920}.num{text-align:right}.totals{width:40%;margin-left:auto;margin-top:10px}.totals tr:last-child{background:#d71920;color:white;font-weight:900}.footer{text-align:center;margin-top:24px;color:#d71920;font-weight:800}@media(max-width:850px){.stats{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr 1fr}.itemRow{grid-template-columns:1fr 1fr}.customers{grid-template-columns:1fr}.jobRow,.invoiceRow,.alertRow{grid-template-columns:1fr 1fr}}@media print{body>*:not(#docModal){display:none!important}.modal{position:static;background:white}.toolbar{display:none}#doc{box-shadow:none;margin:0}}

/* Invoice pickup certification */
.pickup-certification{margin-top:28px;border-top:2px solid #222;padding-top:14px;page-break-inside:avoid}.pickup-certification h3{margin:0 0 8px;font-size:14px;letter-spacing:.04em}.pickup-certification p{font-size:11px;line-height:1.45;margin:0 0 22px}.signature-grid{display:grid;grid-template-columns:2fr 1fr;gap:28px}.signature-grid span,.print-name span{font-size:10px;font-weight:700}.signature-line{height:28px;border-bottom:1px solid #222}.print-name{margin-top:14px;max-width:65%}

/* Compact invoice pickup/warranty acknowledgement */
.invoice-acknowledgment,.signature-terms,.warranty-terms{
  font-size:9px;
  line-height:1.2;
  margin:8px 0 5px;
}
.signature-area,.invoice-signature{
  margin-top:6px;
  padding-top:4px;
}
@media print{
  .invoice-acknowledgment,.signature-terms,.warranty-terms{
    font-size:8px;
    line-height:1.15;
    margin:5px 0 3px;
  }
  .signature-area,.invoice-signature{margin-top:4px;padding-top:2px}
}

/* Invoice compact terms + signature beside totals */
.invoice-bottom-grid{display:grid;grid-template-columns:1fr 40%;gap:18px;align-items:start;margin-top:10px;page-break-inside:avoid}
.invoice-bottom-grid .pickup-certification{margin:0;border:0;padding:3px 0 0}
.invoice-bottom-grid .pickup-certification p{font-size:8.2px;line-height:1.22;margin:0 0 10px;color:#222}
.invoice-bottom-grid .signature-grid{display:grid;grid-template-columns:2fr .8fr;gap:18px}
.invoice-bottom-grid .signature-grid span{font-size:8.5px;font-weight:700}
.invoice-bottom-grid .signature-line{height:20px;border-bottom:1px solid #222}
.invoice-bottom-grid .invoice-totals{width:100%;margin:0}
@media print{.invoice-bottom-grid{gap:14px;margin-top:7px}.invoice-bottom-grid .pickup-certification p{font-size:7.5px;line-height:1.16;margin-bottom:7px}.invoice-bottom-grid .signature-grid span{font-size:7.5px}.invoice-bottom-grid .signature-line{height:17px}}

/* v7 cloud/auth */
.header-actions{display:flex;align-items:center;gap:10px}.cloud-status{font-size:12px;background:#272727;padding:7px 10px;border-radius:999px;color:#ddd}.cloud-status.online{background:#174b2a;color:#d9ffe3}.cloud-status.offline{background:#6b2020;color:#ffe2e2}.secondary{background:#eceff2;color:#171717}.auth-screen{position:fixed;inset:0;z-index:100;background:linear-gradient(145deg,#0e0e0e,#222);display:grid;place-items:center;padding:20px}.auth-screen.hidden{display:none}.auth-card{width:min(440px,96vw);background:white;border-radius:16px;padding:26px;box-shadow:0 24px 80px #0008}.auth-card img{display:block;width:240px;max-width:85%;height:auto;margin:0 auto 18px}.auth-card h2{text-align:center;margin:0 0 8px}.auth-card>p{text-align:center}.auth-card label{display:flex;flex-direction:column;gap:6px;margin-top:12px;font-size:13px;font-weight:700}.auth-card input{padding:11px;border:1px solid #d5d9df;border-radius:8px}.auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.auth-note{font-size:11px;color:#6b7280;margin:15px 0 0!important}.setup-error{background:#fff4f4;border:1px solid #f1b1b1;color:#7f1d1d;padding:10px;border-radius:8px;text-align:left!important}.syncing{opacity:.72;pointer-events:none}
