*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font-family:Arial,Helvetica,sans-serif;background:#f4f6f8;color:#172033}.app-shell{min-height:100vh;padding:14px}.topbar{min-height:72px;background:#1f2937;color:#fff;border-radius:14px;display:flex;justify-content:space-between;align-items:center;padding:14px 22px;box-shadow:0 8px 24px rgba(15,23,42,.18);gap:16px}.topbar h1{margin:0;font-size:24px}.topbar p{margin:4px 0 0;color:#cbd5e1;font-size:13px}.top-actions{display:flex;gap:10px;flex-wrap:wrap}.primary-button,.nav-button,.small-button,.danger-button{border:0;border-radius:10px;padding:10px 15px;font-weight:800;cursor:pointer}.primary-button{background:#2563eb;color:#fff}.nav-button,.small-button{background:#e5e7eb;color:#111827}.nav-button.active{background:#38bdf8;color:#082f49}.danger-button{background:#fee2e2;color:#991b1b}.screen{display:none}.active-screen{display:block}.main-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(320px,.9fr);gap:14px;margin-top:14px;align-items:start}.left-column,.right-column{display:grid;gap:14px}.right-column{position:sticky;top:14px}.card,.result-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:16px;box-shadow:0 4px 14px rgba(15,23,42,.06)}.card-title,.result-card h2{margin:0 0 14px;font-size:15px;font-weight:900;color:#111827;text-transform:uppercase;letter-spacing:.04em}.card-title-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.card-title-row .card-title{margin:0}.form-grid{display:grid;gap:12px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}label{display:grid;gap:5px;font-size:12px;color:#475569;font-weight:800}input,select,textarea{width:100%;border:1px solid #cbd5e1;border-radius:9px;padding:9px 10px;font-size:14px;background:#fff;color:#111827}textarea{min-height:70px;resize:vertical}.product-panel{display:none}.product-panel.active{display:block}.product-heading{font-size:18px;font-weight:900;margin-bottom:12px;color:#0f172a}.empty-state{border:1px dashed #cbd5e1;border-radius:12px;padding:14px;color:#64748b;background:#f8fafc}.selected-customer-name{font-size:20px;font-weight:900;color:#111827;margin-bottom:6px}.selected-customer-lines{display:grid;gap:4px;color:#475569}.result-card{padding:14px 16px}.result-card h2{font-size:14px;margin-bottom:10px}.money{font-size:34px;font-weight:900}.total-card p{margin:2px 0 12px;color:#64748b;font-size:12px}.line{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #eef2f7;padding-top:9px;margin-top:9px;font-size:14px}.line span{color:#64748b}.profit-card{border-color:#bfdbfe;background:#eff6ff}.customers-layout{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);gap:14px;margin-top:14px}.search-box{margin-bottom:12px}.customer-list{display:grid;gap:8px;max-height:calc(100vh - 210px);overflow:auto}.customer-item{border:1px solid #e5e7eb;border-radius:12px;padding:12px;cursor:pointer;background:#fff}.customer-item:hover,.customer-item.active{border-color:#2563eb;background:#eff6ff}.customer-item strong{display:block;color:#111827;margin-bottom:4px}.customer-item span{display:block;color:#64748b;font-size:13px}.full-label{margin-top:12px}.editor-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.status-text{margin-top:10px;color:#166534;font-weight:800;font-size:13px}@media(max-width:1100px){.main-grid,.customers-layout{grid-template-columns:1fr}.right-column{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.app-shell{padding:8px}.topbar{align-items:flex-start;flex-direction:column}.form-grid.three,.form-grid.two,.right-column{grid-template-columns:1fr}.card-title-row{align-items:flex-start;flex-direction:column}}
.sub-card{border:1px solid #e5e7eb;border-radius:12px;padding:14px;margin-top:12px;background:#f8fafc}.section-heading{font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#334155;margin-bottom:12px}.choice-row{display:flex;gap:14px;flex-wrap:wrap}.choice-row label{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;color:#111827}.choice-row input{width:auto}.rigid-graphics-panel{display:none}.rigid-graphics-panel.active{display:block}.form-grid.four-times{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1100px){.form-grid.four-times{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.form-grid.four-times{grid-template-columns:1fr}}

.result-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.result-title-row h2{margin:0}.hidden-breakdown-button{border:0;border-radius:8px;background:#f1f5f9;color:#64748b;font-size:11px;font-weight:900;padding:6px 9px;cursor:pointer;opacity:.35}.hidden-breakdown-button:hover{opacity:1;background:#dbeafe;color:#1e3a8a}.hidden-breakdown-button.active{opacity:1;background:#1f2937;color:#fff}.shop-breakdown-panel{display:none;gap:14px}.shop-breakdown-panel.active{display:grid}.shop-only-card{border-left:4px solid #1f2937}
@media print{.hidden-breakdown-button,.shop-breakdown-panel{display:none!important}}

.hidden-breakdown-button{width:28px;height:28px;padding:0;border-radius:50%;font-size:18px;line-height:1;background:transparent;color:#94a3b8;opacity:.45}.hidden-breakdown-button:hover{opacity:1;background:#f1f5f9;color:#334155}.hidden-breakdown-button.active{opacity:1;background:#e2e8f0;color:#111827}

.quote-build-card{border-left:4px solid #2563eb}.quote-build-list{display:grid;gap:10px}.quote-build-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;border-top:1px solid #eef2f7;padding-top:9px;font-size:14px}.quote-build-row:first-child{border-top:0;padding-top:0}.quote-build-label{color:#64748b;font-weight:800}.quote-build-value{color:#111827;font-weight:900;word-break:break-word}.quote-build-empty{border:1px dashed #cbd5e1;border-radius:12px;padding:12px;color:#64748b;background:#f8fafc;font-size:13px}.quote-build-muted{color:#94a3b8;font-weight:700}
@media(max-width:720px){.quote-build-row{grid-template-columns:1fr;gap:3px}}

.quote-components-card{border-left:4px solid #2563eb}.quote-components-list{display:grid;gap:8px}.quote-component-row{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #eef2f7;padding-top:8px;font-size:14px}.quote-component-row:first-child{border-top:0;padding-top:0}.quote-component-name{color:#111827;font-weight:800}.quote-component-price{color:#111827;font-weight:900;white-space:nowrap}.quote-components-empty{border:1px dashed #cbd5e1;border-radius:12px;padding:12px;color:#64748b;background:#f8fafc;font-size:13px}.components-subtotal-line{display:flex;justify-content:space-between;gap:12px;border-top:2px solid #dbeafe;margin-top:12px;padding-top:12px;font-size:15px;font-weight:900}.components-subtotal-line span{color:#334155}.components-subtotal-line strong{color:#111827}

.settings-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:14px;margin-top:14px;align-items:start}.settings-nav-card{display:grid;gap:10px;position:sticky;top:14px}.settings-tab-button{border:0;border-radius:10px;padding:12px 14px;font-weight:900;text-align:left;cursor:pointer;background:#e5e7eb;color:#111827}.settings-tab-button.active{background:#2563eb;color:#fff}.settings-tab{display:none}.settings-tab.active-settings-tab{display:block}.database-list{display:grid;gap:8px}.database-header{font-size:12px;font-weight:900;text-transform:uppercase;color:#64748b;letter-spacing:.04em;margin-bottom:8px;padding:0 8px}.database-row{border:1px solid #e5e7eb;border-radius:12px;background:#f8fafc;padding:10px;align-items:end}.rigid-db-grid{display:grid;grid-template-columns:minmax(160px,1.2fr) .65fr .65fr .75fr .55fr 38px;gap:8px}.roll-db-grid{display:grid;grid-template-columns:minmax(160px,1.2fr) .65fr .65fr .75fr .55fr 38px;gap:8px}.database-row label{gap:4px}.icon-button{border:0;border-radius:9px;background:#fee2e2;color:#991b1b;height:38px;font-weight:900;cursor:pointer}.settings-hint{margin-top:12px;border:1px dashed #cbd5e1;border-radius:12px;padding:12px;background:#f8fafc;color:#64748b;font-size:13px;font-weight:700}@media(max-width:1100px){.settings-layout{grid-template-columns:1fr}.settings-nav-card{position:static;display:flex;flex-wrap:wrap}.settings-tab-button{text-align:center}.rigid-db-grid,.roll-db-grid{grid-template-columns:1fr 1fr}}@media(max-width:720px){.rigid-db-grid,.roll-db-grid{grid-template-columns:1fr}.database-header{display:none}}

/* Settings database v2 */
.settings-shell{display:grid;gap:14px}.settings-header-card{display:flex;justify-content:space-between;align-items:center;gap:14px}.settings-subtitle{color:#64748b;font-size:13px;font-weight:700;margin-top:4px}.settings-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px}.settings-nav-card{align-self:start;position:sticky;top:14px;display:grid;gap:8px}.settings-tab-button{border:1px solid #e5e7eb;background:#fff;color:#334155;border-radius:10px;padding:10px 12px;font-weight:800;text-align:left;cursor:pointer}.settings-tab-button:hover{background:#f8fafc}.settings-tab-button.active{background:#1f2937;color:#fff;border-color:#1f2937}.settings-tab{display:none}.settings-tab.active-settings-tab{display:block}.settings-title-row{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px}.settings-title-row h2,.material-panel-head h2{margin:0 0 4px;font-size:20px}.settings-title-row p,.material-panel-head p{margin:0;color:#64748b;font-size:13px;font-weight:700}.material-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}.material-actions{display:flex;gap:8px;align-items:center}.material-search{min-width:220px}.material-table-wrap{display:grid;gap:10px}.material-row{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:10px;align-items:end;overflow-x:auto}.material-roll-grid{display:grid;grid-template-columns:repeat(10,minmax(95px,1fr));gap:8px}.material-sheet-grid{display:grid;grid-template-columns:repeat(9,minmax(95px,1fr));gap:8px}.material-each-grid{display:grid;grid-template-columns:repeat(8,minmax(95px,1fr));gap:8px}.material-labor-grid{display:grid;grid-template-columns:1fr minmax(220px,1.5fr) .65fr .45fr 38px;gap:8px}.material-mixed-grid{display:grid;grid-template-columns:repeat(11,minmax(85px,1fr));gap:8px}.material-row label{font-size:11px}.material-row input{padding:8px}.icon-button{border:0;border-radius:9px;background:#fee2e2;color:#991b1b;height:38px;font-weight:900;cursor:pointer}.settings-hint{margin-top:12px;border:1px dashed #cbd5e1;border-radius:12px;padding:12px;background:#f8fafc;color:#64748b;font-size:13px;font-weight:700}.full-label{margin-top:12px}.danger-button{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;border-radius:10px;padding:10px 14px;font-weight:800;cursor:pointer}
@media(max-width:1200px){.settings-layout{grid-template-columns:1fr}.settings-nav-card{position:static;display:flex;flex-wrap:wrap}.settings-tab-button{text-align:center}.material-roll-grid,.material-sheet-grid,.material-each-grid,.material-labor-grid,.material-mixed-grid{grid-template-columns:1fr 1fr}.material-actions{width:100%;flex-wrap:wrap}.material-search{min-width:0;flex:1}}
@media(max-width:720px){.settings-header-card,.material-panel-head,.settings-title-row{flex-direction:column}.material-roll-grid,.material-sheet-grid,.material-each-grid,.material-labor-grid,.material-mixed-grid{grid-template-columns:1fr}.settings-nav-card{display:grid;grid-template-columns:1fr 1fr}.material-actions{display:grid;width:100%}}

/* Supplier database */
.supplier-list{display:grid;gap:10px;margin-top:14px}.supplier-row{display:grid;grid-template-columns:minmax(220px,1fr) 38px;gap:10px;align-items:end;border:1px solid #e5e7eb;background:#f8fafc;border-radius:12px;padding:10px}.align-bottom{align-self:end;height:38px}.supplier-add-row{align-items:end}@media(max-width:720px){.supplier-row{grid-template-columns:1fr}.align-bottom{width:100%}}


/* Study update v4 */
.study-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.study-card{border:1px solid #e5e7eb;background:#f8fafc;border-radius:14px;padding:14px}.study-card h3{margin:0 0 10px;color:#111827}.study-card ul{margin:0;padding-left:20px;color:#475569;font-weight:700;line-height:1.45}.full-study-card{grid-column:1/-1}.checklist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.checklist-grid label{display:flex;align-items:flex-start;gap:8px;background:white;border:1px solid #e5e7eb;border-radius:10px;padding:10px;color:#334155}.checklist-grid input{width:auto;margin-top:2px}@media(max-width:900px){.study-grid,.checklist-grid{grid-template-columns:1fr}}


/* Professional Print Quote Preview */
.print-toolbar {display:flex; justify-content:space-between; align-items:center; margin:14px 0; gap:12px;}
.quote-print-page {background:#fff; color:#111827; max-width:920px; margin:14px auto; padding:38px; border-radius:16px; border:1px solid #e5e7eb; box-shadow:0 12px 30px rgba(15,23,42,.10);}
.quote-print-header {display:flex; justify-content:space-between; gap:28px; border-bottom:3px solid #111827; padding-bottom:22px; margin-bottom:22px;}
.print-shop-block h1 {font-size:30px; margin:0 0 8px; letter-spacing:-.03em;}
.print-shop-block div {font-size:13px; color:#475569; line-height:1.5;}
.print-quote-title {min-width:210px; text-align:right;}
.quote-label {font-size:34px; font-weight:900; letter-spacing:.12em; color:#111827; margin-bottom:12px;}
.quote-meta {display:flex; justify-content:space-between; gap:12px; border-top:1px solid #e5e7eb; padding-top:8px; margin-top:8px; font-size:13px;}
.quote-meta span {color:#64748b;}
.print-info-grid {display:grid; grid-template-columns:1.15fr .85fr; gap:18px; margin-bottom:24px;}
.print-info-box {border:1px solid #e5e7eb; border-radius:12px; padding:16px; background:#f8fafc;}
.print-info-box h2, .print-notes-box h2 {font-size:12px; text-transform:uppercase; letter-spacing:.08em; margin:0 0 10px; color:#475569;}
.print-address-block {font-size:14px; line-height:1.55; color:#111827; white-space:pre-line;}
.print-job-row {display:flex; justify-content:space-between; gap:16px; padding:7px 0; border-bottom:1px solid #e5e7eb; font-size:14px;}
.print-job-row:last-child {border-bottom:0;}
.print-job-row span {color:#64748b;}
.quote-items-table {width:100%; border-collapse:collapse; margin-top:8px; font-size:14px;}
.quote-items-table th {background:#111827; color:white; text-align:left; padding:12px; font-size:12px; text-transform:uppercase; letter-spacing:.05em;}
.quote-items-table td {border-bottom:1px solid #e5e7eb; padding:12px; vertical-align:top;}
.quote-items-table .qty-col, .quote-items-table .price-col, .quote-items-table .total-col {text-align:right; white-space:nowrap;}
.print-bottom-grid {display:grid; grid-template-columns:1fr 320px; gap:22px; margin-top:26px; align-items:start;}
.print-notes-box {border:1px solid #e5e7eb; border-radius:12px; padding:16px; min-height:120px; background:#f8fafc;}
.print-notes-box p {margin:0; color:#475569; line-height:1.5;}
.print-totals-box {border:1px solid #e5e7eb; border-radius:12px; padding:16px; background:#fff;}
.print-total-row {display:flex; justify-content:space-between; gap:18px; padding:10px 0; border-bottom:1px solid #e5e7eb; font-size:15px;}
.print-total-row.grand {border-bottom:0; font-size:22px; font-weight:900; padding-top:16px; color:#111827;}
.quote-print-footer {border-top:1px solid #e5e7eb; margin-top:34px; padding-top:16px; display:flex; justify-content:space-between; gap:20px; color:#64748b; font-size:13px;}
.signature-line {white-space:nowrap;}
@media (max-width: 800px){.quote-print-page{padding:20px}.quote-print-header,.quote-print-footer{flex-direction:column}.print-quote-title{text-align:left}.print-info-grid,.print-bottom-grid{grid-template-columns:1fr}.signature-line{white-space:normal}}
@media print {
  body {background:#fff !important;}
  .topbar, .no-print {display:none !important;}
  .app-shell {padding:0 !important;}
  .screen {display:none !important;}
  #printScreen {display:block !important;}
  .quote-print-page {max-width:none; margin:0; padding:0; border:0; border-radius:0; box-shadow:none;}
}

/* Customer-facing quote item list v6 */
.size-presets{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.size-presets button{border:1px solid #cbd5e1;background:#fff;color:#111827;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:900;cursor:pointer}
.size-presets button:hover{background:#eff6ff;border-color:#93c5fd}
.quote-item-entry-grid{align-items:end;margin-top:12px}.quote-item-entry-grid .align-bottom{height:38px;align-self:end}
.customer-quote-items-list{display:grid;gap:8px;margin-top:12px}.customer-quote-item-row{display:grid;grid-template-columns:minmax(0,1fr) 70px 110px 110px 38px;gap:8px;align-items:center;border:1px solid #e5e7eb;background:#f8fafc;border-radius:12px;padding:10px;font-size:13px}.customer-quote-item-row strong{color:#111827}.customer-quote-item-row span{color:#475569}.customer-quote-item-row .right{text-align:right}.quote-item-empty{border:1px dashed #cbd5e1;border-radius:12px;padding:12px;background:#f8fafc;color:#64748b;font-size:13px;font-weight:700}@media(max-width:900px){.customer-quote-item-row{grid-template-columns:1fr 1fr}.customer-quote-item-row .right{text-align:left}}

.database-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  margin:12px 0;
}
.import-database-label{
  display:inline-flex;
  flex-direction:column;
  gap:6px;
  background:#eef3ff;
  border:1px solid #c9d7ff;
  border-radius:10px;
  padding:10px 12px;
  font-weight:700;
  cursor:pointer;
}
.import-database-label input{
  max-width:260px;
}
.hidden-tax-row{display:none!important;}
.checkbox-label{display:flex;align-items:center;gap:8px;min-height:44px;}
.checkbox-label input{width:auto;}


/* Minimum charge visibility fix */
.minimum-charge-toggle {
  margin: 8px 0 10px;
  padding: 8px 10px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: rgba(37, 99, 235, 0.08);
  font-weight: 700;
}
.important-setting {
  border: 2px solid rgba(37, 99, 235, 0.35);
  border-radius: 12px;
  padding: 8px;
  background: rgba(37, 99, 235, 0.06);
}

.inventory-summary-box { display: grid; gap: 14px; }
.inventory-total-card { border: 1px solid var(--border); border-radius: 16px; padding: 18px; background: #f8fafc; }
.inventory-total-card .metric-label { font-size: 0.85rem; color: var(--muted); font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.inventory-total-card .metric-value { font-size: 2rem; font-weight: 900; margin-top: 4px; }
.inventory-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 1100px){ .inventory-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px){ .inventory-summary-grid { grid-template-columns: 1fr; } }

/* Workflow / proof email beta additions */
.workflow-card .card-title-row{gap:8px;align-items:center;}
.proof-file-status{min-height:38px;padding:9px 10px;border:1px solid var(--border,#d8dde6);border-radius:8px;background:#f7f9fc;font-size:13px;color:#394150;display:flex;align-items:center;}
.empty-print-row{text-align:center;color:#6b7280;font-style:italic;padding:16px;}


/* ZM49 artwork + hybrid database additions */
.artwork-card{border-left:4px solid #7c3aed;}
.settings-status{padding:10px 12px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0;color:#334155;margin-top:10px;}
.sub-card{border:1px solid #e2e8f0;border-radius:16px;padding:14px;margin:12px 0;background:#fff;}


/* ZM50 Hidden Master Catalog */
.catalog-result-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid #d9e1ec;border-radius:12px;padding:10px 12px;margin-bottom:8px;background:#fff;}
.catalog-result-title{font-weight:700;color:#172033;}
.catalog-result-meta{font-size:12px;color:#667085;margin-top:3px;}
.catalog-pill{display:inline-block;border:1px solid #d9e1ec;border-radius:999px;padding:2px 8px;margin-right:4px;margin-top:4px;background:#f8fafc;font-size:12px;}
.catalog-active-badge{background:#e8fff0;border-color:#9be5b5;color:#0b6b2b;}
.catalog-activate-small{white-space:nowrap;}

/* ZM50 compact quote screen + tax/routing additions */
.compact-card{padding:12px;}
.compact-title-row{margin-bottom:6px;}
.compact-hint{padding:8px 10px;margin-top:6px;font-size:12px;}
.compact-checkbox{display:flex;align-items:center;gap:8px;margin:0;}
.form-grid.compact-three{grid-template-columns:minmax(180px,1.4fr) minmax(90px,.65fr) minmax(90px,.65fr);gap:8px;}
.form-grid.compact-times{grid-template-columns:repeat(8,minmax(78px,1fr));gap:8px;}
.compact-times label,.compact-three label{font-size:11px;}
.compact-times input,.compact-three input,.compact-three select{padding:7px 8px;font-size:13px;border-radius:8px;}
.tax-status-card{border-left:4px solid #059669;}
.production-times-card .card-title{margin-bottom:8px;}
.product-card .sub-card{padding:10px;margin-top:10px;}
.product-card .section-heading{margin-bottom:8px;}
@media(max-width:1100px){.form-grid.compact-times{grid-template-columns:repeat(4,minmax(0,1fr));}.form-grid.compact-three{grid-template-columns:1fr 1fr 1fr;}}
@media(max-width:720px){.form-grid.compact-times,.form-grid.compact-three{grid-template-columns:1fr 1fr;}.compact-title-row{align-items:flex-start;}}

/* ZM50.2 Hidden Catalog collapse controls */
.catalog-panel-collapsed{display:none !important;}
#masterCatalogTab .database-actions{flex-wrap:wrap;}
#masterCatalogTab .small-button{white-space:nowrap;}

/* ZM50.5 compact PST resale inside Customer Information */
.customer-mini-tax{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:8px;
  padding-top:6px;
  border-top:1px solid var(--border);
}
.mini-tax-check{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  color:var(--muted);
  white-space:nowrap;
}
.mini-tax-number{
  max-width:150px;
  padding:5px 7px;
  font-size:12px;
  border-radius:8px;
}
@media(max-width:720px){
  .customer-mini-tax{flex-wrap:wrap;}
  .mini-tax-number{max-width:100%;}
}


/* ZM51 compact conditional finishing */
.conditional-field{display:none;}
.conditional-field.is-visible{display:flex;}
.finishing-compact-card .compact-finishing-grid{gap:8px;}
.finishing-compact-card label{font-size:12px;}
.finishing-compact-card select,.finishing-compact-card input{padding:7px 8px;font-size:13px;border-radius:8px;}
.finishing-auto-note{margin-top:6px;}
.customer-mini-tax input,
.customer-mini-tax label{cursor:auto;}

/* ZM52 Settings cleanup: grouped navigation only. No calculation styles changed. */
.grouped-settings-nav {
  gap: 10px;
  max-height: calc(100vh - 150px);
  overflow: auto;
}
.settings-nav-title {
  font-weight: 800;
  font-size: 13px;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #64748b;
  margin-bottom: 2px;
}
.settings-nav-group {
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #f8fafc;
  overflow: hidden;
}
.settings-nav-group summary {
  cursor: pointer;
  list-style: none;
  padding: 10px 12px;
  font-weight: 800;
  color: #0f172a;
  background: #eef2f7;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.settings-nav-group summary::-webkit-details-marker { display: none; }
.settings-nav-group summary::after {
  content: '+';
  font-size: 16px;
  color: #475569;
}
.settings-nav-group[open] summary::after { content: '–'; }
.settings-nav-group .settings-tab-button {
  margin: 8px;
  width: calc(100% - 16px);
  font-size: 13px;
  padding: 9px 10px;
}
.settings-nav-group .settings-tab-button + .settings-tab-button {
  margin-top: 0;
}
@media (max-width: 900px) {
  .grouped-settings-nav {
    max-height: none;
  }
}

/* ZM69 compact one-page quote print */
@media print {
  @page { size: letter; margin: 0.35in; }
  html, body { width: 100%; }
  .quote-print-page { font-size: 11px !important; line-height: 1.22 !important; }
  .quote-print-header { gap: 14px !important; padding-bottom: 8px !important; margin-bottom: 10px !important; border-bottom-width: 2px !important; }
  .print-shop-block h1 { font-size: 20px !important; margin-bottom: 3px !important; }
  .print-shop-block div { font-size: 10px !important; line-height: 1.25 !important; }
  .quote-label { font-size: 22px !important; margin-bottom: 6px !important; }
  .quote-meta { font-size: 10px !important; padding-top: 4px !important; margin-top: 4px !important; }
  .print-info-grid { gap: 10px !important; margin-bottom: 10px !important; }
  .print-info-box, .print-notes-box, .print-totals-box { padding: 8px !important; border-radius: 8px !important; }
  .print-info-box h2, .print-notes-box h2 { font-size: 9px !important; margin-bottom: 5px !important; }
  .print-address-block, .print-job-row { font-size: 10.5px !important; line-height: 1.25 !important; }
  .print-job-row { padding: 3px 0 !important; }
  .quote-items-table { font-size: 10.5px !important; margin-top: 4px !important; }
  .quote-items-table th { padding: 6px !important; font-size: 9px !important; }
  .quote-items-table td { padding: 6px !important; }
  .print-bottom-grid { grid-template-columns: 1fr 230px !important; gap: 10px !important; margin-top: 10px !important; }
  .print-notes-box { min-height: 48px !important; }
  .print-total-row { padding: 4px 0 !important; font-size: 11px !important; }
  .print-total-row.grand { font-size: 16px !important; padding-top: 7px !important; }
  .quote-print-footer { margin-top: 10px !important; padding-top: 6px !important; font-size: 9px !important; }
}


/* ZM75 Electric Sign Sketch Preview */
.electric-preview-card {
  margin-top: 12px;
  border: 1px solid #dbe4f0;
  background: #f8fafc;
  border-radius: 14px;
  padding: 12px;
}
.electric-preview-title {
  font-weight: 800;
  color: #0f172a;
  margin-bottom: 8px;
  font-size: 13px;
}
.electric-preview-box {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  min-height: 220px;
  overflow: hidden;
}
.electric-preview-box svg {
  width: 100%;
  height: auto;
  display: block;
}
.electric-preview-note {
  padding: 12px;
  color: #64748b;
  font-size: 12px;
}

/* ZM82 shop logo upload / print logo */
.shop-logo-settings { margin-top: 14px; }
.compact-title-row { margin-bottom: 8px; }
.shop-logo-preview-wrap { margin-top: 10px; border: 1px dashed var(--border); border-radius: 12px; padding: 10px; background: #fff; max-width: 520px; }
.shop-logo-preview-wrap img { max-width: 100%; max-height: 120px; object-fit: contain; display: block; }
.print-shop-logo { display: block; max-width: 260px; max-height: 72px; object-fit: contain; margin-bottom: 8px; }
.print-shop-logo.hidden, .shop-logo-preview-wrap.hidden { display: none !important; }
@media print {
  .print-shop-logo { max-width: 240px; max-height: 64px; }
}

/* SignPro v1.0.1 Banner Grommet Placement Sketch */
.banner-grommet-preview-card { margin-top: 14px; }
.banner-grommet-preview-box { min-height: 210px; }
.banner-grommet-preview-box .electric-preview-note { padding: 28px; text-align: center; color: var(--muted); }

/* v1.0.2 banner grommet production sheet */
.banner-preview-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.banner-preview-title-row .small-button{white-space:nowrap;}

/* Shared SignPro database sign-in and sync status. */
.cloud-sync-button{background:#dbeafe;color:#1e3a8a;}
.cloud-sync-panel{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(15,23,42,.56);}
.cloud-sync-panel.open{display:flex;}
.cloud-sync-dialog{width:min(100%,430px);background:#fff;border-radius:16px;padding:22px;box-shadow:0 24px 70px rgba(15,23,42,.35);}
.cloud-sync-dialog h2{margin:0 0 8px;color:#111827;font-size:21px;}
.cloud-sync-dialog p{margin:0 0 16px;color:#475569;line-height:1.45;font-weight:600;font-size:14px;}
.cloud-sync-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;}
.cloud-sync-actions button{flex:1;min-width:130px;}
.cloud-sync-status{font-size:13px;font-weight:800;color:#166534;margin-top:12px;line-height:1.4;}
.cloud-sync-status.error{color:#b91c1c;}
.cloud-sync-status.syncing{color:#1d4ed8;}
@media(max-width:720px){.cloud-sync-panel{padding:12px}.cloud-sync-dialog{padding:18px}.cloud-sync-actions{display:grid;grid-template-columns:1fr;}.cloud-sync-button{grid-column:1/-1;}}

/* iPhone layout: comfortable controls and a compact, always-reachable navigation bar. */
@media (max-width: 720px) {
  html { -webkit-text-size-adjust: 100%; }
  body { padding-bottom: env(safe-area-inset-bottom); }
  .app-shell { padding: 8px 8px calc(16px + env(safe-area-inset-bottom)); }
  .topbar {
    position: sticky;
    top: 0;
    z-index: 50;
    margin: -8px -8px 0;
    border-radius: 0 0 14px 14px;
    padding: 12px;
    gap: 12px;
  }
  .topbar h1 { font-size: 21px; }
  .topbar p { display: none; }
  .top-actions { width: 100%; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .top-actions button { width: 100%; min-height: 44px; padding: 10px 8px; font-size: 13px; }
  .main-grid, .customers-layout { margin-top: 10px; gap: 10px; }
  .card, .result-card { padding: 13px; border-radius: 12px; }
  input, select, textarea, button { font-size: 16px; }
  input, select { min-height: 44px; }
  textarea { min-height: 92px; }
  .primary-button, .nav-button, .small-button, .danger-button, .settings-tab-button { min-height: 44px; }
  .choice-row { gap: 8px; }
  .choice-row label { width: 100%; min-height: 44px; }
  .size-presets { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .editor-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .editor-actions button { width: 100%; }
  .customer-list { max-height: none; }
  .settings-nav-card { gap: 8px; }
  .settings-tab-button { padding: 10px 8px; }
}
