
/* ================= Zynerqo Estimates — UI Refresh v2.0.1 (visual only) ================= */
:root{
  --zq-text:#0f172a; --zq-muted:#64748b; --zq-border:#e5e7eb; --zq-input:#f9fafb;
  --zq-head:#0b1220; --zq-thead:#f3f4f6; --zq-zebra:#fafafa; --zq-ring:rgba(37,99,235,.15);
  --zq-green:#16a34a; --zq-green-dark:#15803d;
}
.zeg{color:var(--zq-text);font:15px/1.45 Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif;max-width:1120px;margin:0 auto}
.zeg h1{font-size:30px;margin:6px 0 18px;font-weight:800;letter-spacing:.2px;color:var(--zq-head)}
.zeg h1:after{content:"";display:block;width:64px;height:3px;margin-top:10px;border-radius:999px;background:var(--zq-green)}
.zeg .grid{display:grid;gap:16px}
.zeg .grid.cols-2{grid-template-columns:1fr 1fr}
@media (max-width:980px){.zeg .grid.cols-2{grid-template-columns:1fr}}
.zeg .box{background:#fff;border:1px solid var(--zq-border);border-radius:12px;padding:14px;box-shadow:0 6px 18px rgba(2,6,23,.05)}
.zeg .section-title{font-weight:700;color:var(--zq-head);margin-bottom:8px}
.zeg .kv{display:grid;grid-template-columns:180px 1fr;gap:10px 14px;align-items:center}
.zeg .kv .label{font-weight:700}
@media (max-width:640px){.zeg .kv{grid-template-columns:1fr}.zeg .kv .label{margin-bottom:6px}}
.zeg .req-aster{color:#ef4444;margin-left:4px}
.zeg-input,.zeg-textarea,.zeg-select{
  width:100%;background:var(--zq-input);border:1px solid var(--zq-border);border-radius:10px;
  color:var(--zq-text);padding:10px 12px;transition:border .15s,box-shadow .15s,background .15s
}
.zeg-input::placeholder,.zeg-textarea::placeholder{color:#9ca3af}
.zeg-input:focus,.zeg-textarea:focus,.zeg-select:focus{outline:0;border-color:#c7d2fe;background:#fff;box-shadow:0 0 0 3px var(--zq-ring)}
.zeg-small{font-size:12.5px;color:var(--zq-muted)}
.zeg-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--zq-border);border-radius:12px;overflow:hidden;box-shadow:0 6px 18px rgba(2,6,23,.05)}
.zeg-table th,.zeg-table td{padding:12px;vertical-align:middle}
.zeg-table th{background:var(--zq-thead);color:var(--zq-head);font-weight:700;border-bottom:2px solid var(--zq-border);text-align:left}
.zeg-table td{border-bottom:1px solid #eef2f7}
.zeg-table tbody tr:nth-child(odd){background:var(--zq-zebra)}
.zeg-table tbody tr:last-child td{border-bottom:none}
.zeg-table .qty{width:96px}.zeg-table .unit{width:140px}.zeg-table .price{width:160px}.zeg-table .tax{text-align:center;width:100px}
.zeg input[type="checkbox"]{accent-color:var(--zq-green)}
.zeg-total-card{background:#f7fafc;border:1px dashed #dbe2ea;border-radius:10px;padding:10px;color:var(--zq-head)}
.zeg-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.button{background:#fff;color:#111827;border:1px solid #d1d5db;border-radius:12px;padding:10px 14px;box-shadow:0 2px 0 rgba(0,0,0,.03);cursor:pointer;transition:transform .08s,box-shadow .15s,filter .15s}
.button:hover{transform:translateY(-1px);box-shadow:0 8px 16px rgba(2,6,23,.08)}
.button-primary{color:#fff;border-color:var(--zq-green);background:var(--zq-green)}
.button-primary:hover{filter:brightness(1.06)}
@media print{.print\:hidden{display:none !important}.zeg .box,.zeg-table{box-shadow:none}.zeg h1:after{display:none}}


/* --- Rows Add/Remove controls --- */
.zeg-table .rm{width:46px;text-align:center}
.zeg-remove{width:32px;height:32px;border:0;background:#f3f4f6;border-radius:8px;cursor:pointer;font-size:18px;line-height:1}
.zeg-remove:hover{background:#fee2e2;color:#b91c1c}


/* --- Amount column --- */
.zeg-table .amount{width:160px;text-align:right}
.zeg-table .amount input{text-align:right;font-variant-numeric:tabular-nums}

.zeg .right{text-align:right}

/* --- Totals card polish --- */
#zeg-totals{background:#f7fbff;border:1px solid #dbeafe;border-radius:12px;padding:12px}
#zeg-totals .kv{display:grid;grid-template-columns:1fr max-content;gap:8px 12px;align-items:center}
#zeg-totals .kv > div:nth-child(odd){color:#0f172a;opacity:.9}
#zeg-totals .kv > div:nth-child(even){text-align:right;font-variant-numeric:tabular-nums}
#zeg-totals .total{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding:10px 12px;border-radius:10px;background:var(--zq-green);color:#fff;font-weight:800}


/* --- Locale-safe inputs --- */
.zeg-file-wrap{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.zeg-file-input{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.zeg-file-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 12px;border-radius:10px;
  border:1px solid var(--zq-border);background:#fff;color:var(--zq-head);
  font-weight:700;cursor:pointer
}
.zeg-file-btn:hover{border-color:#cbd5e1}
.zeg-file-name{color:var(--zq-muted);font-size:13px;line-height:1.2}

/* Line items table: keep inside container on mobile */
.zeg-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.zeg-table{min-width:920px}
@media (max-width: 820px){
  .zeg-table{min-width:860px}
}
