/* ============================================================
   INVOICE-TEMPLATES.CSS
   Base invoice styles + all template theme variations
   ============================================================ */

/* ── Base invoice layout ── */
.invoice-wrap {
  padding: 24px;
  background: white;
  border: 2px solid #e5e7eb;
  border-radius: 12px;
  position: relative;
  font-family: var(--font-body);
  display: flex;
  flex-direction: column;
  min-height: 1020px; 
}
.invoice-wrap::before {
  content:'';position:absolute;top:0;left:0;right:0;height:7px;
  background:linear-gradient(90deg,var(--primary),var(--primary-light),var(--primary));
  border-radius:12px 12px 0 0;
}

.inv-header   { display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:14px;padding-bottom:10px;border-bottom:3px solid var(--primary);align-items:start; }
.inv-logo-box { background:linear-gradient(135deg,#f0f9ff,#e0f2fe);padding:10px;border-radius:10px;border:2px solid var(--primary);height:68px;display:flex;align-items:center;justify-content:center;max-width:180px; }
.inv-logo-box img { max-height:48px;max-width:100%;object-fit:contain; }
.inv-commitment { font-size:12px;font-weight:700;color:var(--primary);padding:7px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:8px;border:1.5px solid var(--primary-light);margin-top:8px;text-align:center; }
.inv-title-section { text-align:right; }
.inv-title         { font-size:34px;font-weight:900;color:var(--primary);line-height:1; }
.inv-no            { display:inline-block;background:linear-gradient(135deg,var(--primary),var(--primary-light));color:white;padding:5px 14px;border-radius:7px;font-size:13px;font-weight:800;margin:6px 0; }
.inv-meta          { background:#f8fafc;border:1.5px solid #e5e7eb;border-radius:8px;padding:10px;margin-top:8px; }
.inv-meta-row      { display:flex;justify-content:flex-end;gap:10px;padding:3px 0;border-bottom:1px solid #f1f5f9;font-size:12px; }
.inv-meta-row:last-child { border-bottom:none; }
.inv-meta-label    { color:#64748b;font-weight:700;text-transform:uppercase;font-size:10px; }
.inv-meta-val      { font-weight:800;color:var(--dark); }

.inv-parties { display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:14px;padding:12px;background:#fafbfc;border-radius:10px;border:1.5px solid #e5e7eb; }
.inv-party   { position:relative;padding-left:12px; }
.inv-party::before { content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--primary),var(--primary-light));border-radius:2px; }
.inv-party h4 { font-size:10px;font-weight:800;color:var(--primary);text-transform:uppercase;margin-bottom:6px; }
.inv-party p  { font-size:12px;line-height:1.6;color:#334155; }
.inv-commercial { background:linear-gradient(135deg,#fef3c7,#fde68a);border:1.5px solid #f59e0b;border-radius:6px;padding:8px;margin-top:6px;font-size:11px; }

.inv-table      { width:100%;border-collapse:collapse;margin-bottom:12px;border:1.5px solid #e5e7eb;border-radius:8px;overflow:hidden; }
.inv-table thead { background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:white; }
.inv-table th    { padding:12px 13px;text-align:left;font-weight:800;font-size:11px;text-transform:uppercase; }
.inv-table td    { padding:10px 13px;color:#334155;font-weight:600;font-size:13px;border-right:1px solid #f1f5f9;border-bottom:1px solid #f1f5f9; }
.inv-table tr:last-child td { border-bottom:none; }
.inv-table tr:nth-child(even) td { background:#fafbfc; }

.inv-totals       { margin-left:auto;width:300px; }
.inv-total-row    { display:flex;justify-content:space-between;padding:8px 14px;border-bottom:1.5px solid #e5e7eb;font-size:13px; }
.inv-total-row.grand { background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:white;font-size:16px;font-weight:900;border-radius:8px;margin-top:6px;border:none;padding:12px 14px; }

.inv-bank-details { background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1.5px solid #86efac;border-radius:10px;padding:14px;margin-top:16px;font-size:12px; }
.inv-bank-details h4 { font-size:11px;font-weight:800;color:#065f46;text-transform:uppercase;margin-bottom:8px; }
.inv-bank-row    { display:flex;gap:12px;padding:3px 0;border-bottom:1px solid #bbf7d0; }
.inv-bank-row:last-child { border-bottom:none; }
.inv-bank-lbl    { font-weight:800;color:#065f46;min-width:100px;font-size:11px; }
.inv-bank-val    { color:#1e293b;font-weight:600; }

.inv-notes       { margin-top:12px;padding:14px;background:linear-gradient(135deg,#fef3c7,#fef9e3);border-radius:10px;border:1.5px solid #fbbf24;font-size:12px; }
.inv-notes h4    { font-size:11px;font-weight:800;color:#92400e;text-transform:uppercase;margin-bottom:8px; }

.inv-sig-section { display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:14px;padding-top:10px;border-top:1.5px solid #e5e7eb;align-items:flex-end; }
.inv-sig-box     { text-align:center; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; min-height:120px; box-sizing:border-box; }
.inv-sig-img-wrap { min-height:80px; display:flex; align-items:center; justify-content:center; margin-bottom:8px; }
.inv-sig-img     { display:block;max-height:80px;max-width:180px;object-fit:contain; }
.inv-sig-line    { border-top:2px solid #1e293b;padding-top:8px;width:100%;font-size:11px;color:#64748b;margin:0; }
.inv-sig-name-box { min-height:1.4em; font-size:11px; font-weight:700; margin-top:2px; }

/* GST Grouping */
.inv-gst-group { display:flex; align-items:stretch; border:1px solid #e2e8f0; border-radius:6px; margin-bottom:8px; overflow:hidden; }
.inv-gst-lbl { background:var(--primary); width:32px; display:flex; align-items:center; justify-content:center; position:relative; }
.inv-gst-lbl svg { position:absolute; top:0; left:0; width:100%; height:100%; }
.inv-gst-rows { flex:1; display:flex; flex-direction:column; background:white; }
.inv-total-row.inner { border-bottom:1px solid #f1f5f9; padding:4px 8px; margin:0; }
.inv-total-row.inner:last-child { border-bottom:none; }

/* Bank + QR side by side layout */
.inv-bank-qr-wrap { display:flex;gap:16px;align-items:flex-start;margin-top:8px; }
.inv-bank-col    { flex:1; }
.inv-bank-col .inv-bank-details { margin-top:0; }
.inv-qr-col      { flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1.5px solid var(--primary);border-radius:10px;padding:12px; }
.inv-qr-section  { display:flex;align-items:center;justify-content:center; }
.inv-qr-section canvas { border-radius:6px; }

.inv-footer      { margin-top: auto; padding-top: 16px; border-top: 1.5px solid #e5e7eb; text-align: center; color: #94a3b8; font-size: 10px; font-weight: 600; }

.inv-status-stamp { display:inline-block;padding:6px 14px;border-radius:6px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:1px;margin-top:8px; }
.inv-status-stamp.paid     { background:#dcfce7;color:#166534;border:2px solid #86efac; }
.inv-status-stamp.overdue  { background:#fee2e2;color:#991b1b;border:2px solid #fca5a5; }
.inv-status-stamp.partial  { background:#e0f2fe;color:#0369a1;border:2px solid #7dd3fc; }
.inv-status-stamp.cancelled { background:#f1f5f9;color:#475569;border:2px solid #cbd5e1; }

/* ── Delivery Note extras ── */
.dn-sig-section { display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px;padding-top:16px;border-top:1.5px solid #e5e7eb; }
.dn-sig-box     { text-align:center; }
.dn-sig-line    { border-top:2px solid #1e293b;padding-top:8px;margin-top:30px;font-size:10px;color:#64748b; }

/* ── Quotation extras ── */
.quo-validity { background:linear-gradient(135deg,#e0f2fe,#bae6fd);border:1.5px solid #38bdf8;border-radius:8px;padding:10px 14px;font-size:12px;margin-bottom:16px; }
.quo-acceptance { background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1.5px solid #86efac;border-radius:10px;padding:16px;margin-top:20px; }
.quo-acceptance h4 { font-size:11px;font-weight:800;color:#065f46;text-transform:uppercase;margin-bottom:12px; }
.quo-acceptance-grid { display:grid;grid-template-columns:1fr 1fr;gap:12px; }
.quo-sig-box    { border-top:2px solid #1e293b;padding-top:8px;margin-top:30px;font-size:11px;color:#64748b;text-align:center; }

/* ============================================================
   TEMPLATE: CLASSIC (default)
   ============================================================ */
.t-classic .invoice-wrap { border:2px solid #e5e7eb; }
.t-classic .inv-header   { border-bottom-color:var(--primary); }
.t-classic .inv-table thead { background:linear-gradient(135deg,var(--primary),var(--primary-dark)); }
.t-classic .inv-total-row.grand { background:linear-gradient(135deg,var(--primary),var(--primary-dark)); }

/* ============================================================
   TEMPLATE: MODERN
   ============================================================ */
.t-modern .invoice-wrap::before { display:none; }
.t-modern .invoice-wrap { border:none;box-shadow:none;padding:0; }
.t-modern .inv-header { background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:white;padding:24px;border-radius:12px;border-bottom:none;margin-bottom:20px; }
.t-modern .inv-logo-box { background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.4); }
.t-modern .inv-commitment { background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.3);color:white; }
.t-modern .inv-title { color:white;font-size:40px; }
.t-modern .inv-no { background:rgba(255,255,255,.25);border:1.5px solid rgba(255,255,255,.5); }
.t-modern .inv-meta { background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.2); }
.t-modern .inv-meta-row { border-color:rgba(255,255,255,.1); }
.t-modern .inv-meta-label,.t-modern .inv-meta-val { color:rgba(255,255,255,.9); }
.t-modern .inv-parties { background:linear-gradient(135deg,#f8f9ff,#f0f4ff);border-color:#c7d2fe; }
.t-modern .inv-party::before { background:linear-gradient(180deg,var(--primary),#818cf8); }
.t-modern .inv-notes { background:linear-gradient(135deg,#ede9fe,#f5f3ff);border-color:#a78bfa; }

/* ============================================================
   TEMPLATE: MINIMAL
   ============================================================ */
.t-minimal .invoice-wrap::before { display:none; }
.t-minimal .invoice-wrap  { border:1px solid #d1d5db;border-radius:4px; }
.t-minimal .inv-header    { border-bottom:1px solid #d1d5db;padding-bottom:18px; }
.t-minimal .inv-logo-box  { background:transparent;border:1px solid #d1d5db; }
.t-minimal .inv-commitment { display:none; }
.t-minimal .inv-title     { font-size:32px;color:var(--dark);font-weight:900;letter-spacing:-2px; }
.t-minimal .inv-no        { background:var(--dark);border-radius:3px; }
.t-minimal .inv-meta      { border:none;background:none;padding:0;margin-top:6px; }
.t-minimal .inv-meta-label { color:#9ca3af; }
.t-minimal .inv-meta-val  { color:var(--dark); }
.t-minimal .inv-party::before { background:var(--dark); }
.t-minimal .inv-party h4  { color:var(--dark); }
.t-minimal .inv-parties   { background:transparent;border:none;padding:0; }
.t-minimal .inv-table thead { background:var(--dark); }
.t-minimal .inv-total-row.grand { background:var(--dark); }
.t-minimal .inv-notes     { background:#f9fafb;border-color:#e5e7eb; }
.t-minimal .inv-notes h4  { color:var(--dark); }

/* ============================================================
   TEMPLATE: EXECUTIVE
   ============================================================ */
.t-executive .invoice-wrap::before { background:linear-gradient(90deg,#1e3c72,#2a5298,#1e3c72);height:5px; }
.t-executive .invoice-wrap { border:none;border-top:5px solid #1e3c72; }
.t-executive .inv-header  { border-bottom:2px solid #1e3c72; }
.t-executive .inv-logo-box { background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-color:#2a5298; }
.t-executive .inv-commitment { color:#2a5298;background:linear-gradient(135deg,#f0f4ff,#e8eef7);border-color:#93afd4; }
.t-executive .inv-title   { color:#1e3c72;font-family:var(--font-display); }
.t-executive .inv-no      { background:linear-gradient(135deg,#1e3c72,#2a5298); }
.t-executive .inv-party::before { background:linear-gradient(180deg,#1e3c72,#2a5298); }
.t-executive .inv-party h4 { color:#1e3c72; }
.t-executive .inv-parties { background:linear-gradient(135deg,#f8fafc,#f0f4f8);border-color:#d1d9e6; }
.t-executive .inv-table thead { background:linear-gradient(135deg,#1e3c72,#2a5298); }
.t-executive .inv-total-row.grand { background:linear-gradient(135deg,#1e3c72,#2a5298); }
.t-executive .inv-notes   { background:linear-gradient(135deg,#f0f4ff,#e8eef7);border-color:#93afd4; }
.t-executive .inv-notes h4 { color:#1e3c72; }

/* ============================================================
   TEMPLATE: CREATIVE
   ============================================================ */
.t-creative .invoice-wrap { background:linear-gradient(145deg,#fdf4ff,#faf5ff);border:none; }
.t-creative .invoice-wrap::before { background:linear-gradient(90deg,#ec4899,#8b5cf6,#06b6d4,#8b5cf6,#ec4899);height:4px; }
.t-creative .inv-title    { background:linear-gradient(135deg,#ec4899,#8b5cf6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-size:38px; }
.t-creative .inv-no       { background:linear-gradient(135deg,#ec4899,#8b5cf6); }
.t-creative .inv-header   { border-bottom:2px dashed #e9d5ff; }
.t-creative .inv-logo-box { background:linear-gradient(135deg,#fdf4ff,#fae8ff);border:2px solid #e9d5ff; }
.t-creative .inv-commitment { background:linear-gradient(135deg,#fdf4ff,#fae8ff);border-color:#e9d5ff;color:#7e22ce; }
.t-creative .inv-party::before { background:linear-gradient(180deg,#ec4899,#8b5cf6); }
.t-creative .inv-party h4 { color:#8b5cf6; }
.t-creative .inv-parties  { background:linear-gradient(135deg,#fdf4ff,#fae8ff);border-color:#e9d5ff; }
.t-creative .inv-table thead { background:linear-gradient(135deg,#8b5cf6,#ec4899); }
.t-creative .inv-table tr:nth-child(even) td { background:#fdf4ff; }
.t-creative .inv-total-row.grand { background:linear-gradient(135deg,#8b5cf6,#ec4899); }
.t-creative .inv-notes    { background:linear-gradient(135deg,#fdf4ff,#fae8ff);border-color:#e9d5ff; }
.t-creative .inv-notes h4 { color:#8b5cf6; }

/* ============================================================
   TEMPLATE: LUXURY (Gold/Dark)
   ============================================================ */
.t-luxury .invoice-wrap { background:#1a1a14;color:#d4c17a;border:1px solid #3a3520; }
.t-luxury .invoice-wrap::before { background:linear-gradient(90deg,#8b6914,#c9a84c,#f0d060,#c9a84c,#8b6914);height:3px; }
.t-luxury .inv-header   { border-bottom:1.5px solid #3a3520; }
.t-luxury .inv-logo-box { background:rgba(201,168,76,.08);border-color:#c9a84c;box-shadow:0 0 15px rgba(201,168,76,.12); }
.t-luxury .inv-logo-box span { color:#c9a84c!important; }
.t-luxury .inv-commitment { background:rgba(201,168,76,.1);border-color:rgba(201,168,76,.3);color:#c9a84c; }
.t-luxury .inv-title    { color:#c9a84c;text-shadow:0 0 20px rgba(201,168,76,.3);font-size:36px; }
.t-luxury .inv-no       { background:linear-gradient(135deg,#8b6914,#c9a84c);color:#1a1a14; }
.t-luxury .inv-meta     { background:rgba(201,168,76,.05);border-color:rgba(201,168,76,.2); }
.t-luxury .inv-meta-row { border-color:rgba(201,168,76,.1); }
.t-luxury .inv-meta-label { color:#8a7a4a; }
.t-luxury .inv-meta-val { color:#d4c17a; }
.t-luxury .inv-party::before { background:linear-gradient(180deg,#c9a84c,#8b6914); }
.t-luxury .inv-party h4 { color:#c9a84c; }
.t-luxury .inv-party p  { color:#bbb; }
.t-luxury .inv-parties  { background:rgba(201,168,76,.04);border-color:#3a3520; }
.t-luxury .inv-table    { border-color:#3a3520; }
.t-luxury .inv-table thead { background:linear-gradient(135deg,#3a3520,#5a4e2a); }
.t-luxury .inv-table th { color:#c9a84c; }
.t-luxury .inv-table td { color:#ccc;border-color:#2a2a1a; }
.t-luxury .inv-table tr:nth-child(even) td { background:rgba(201,168,76,.04); }
.t-luxury .inv-total-row { border-color:#3a3520;color:#d4c17a; }
.t-luxury .inv-total-row.grand { background:linear-gradient(135deg,#8b6914,#c9a84c)!important;color:#1a1a1a!important; }
.t-luxury .inv-notes    { background:rgba(201,168,76,.06);border-color:#3a3520;color:#ccc; }
.t-luxury .inv-notes h4 { color:#c9a84c; }
.t-luxury .inv-footer   { border-color:#3a3520;color:#8a7a4a; }

/* ============================================================
   TEMPLATE: NEON (Dark + vibrant)
   ============================================================ */
.t-neon .invoice-wrap { background:#0a0e1a;border:1px solid #00f5ff;border-radius:12px;padding:30px;box-shadow:0 0 30px rgba(0,245,255,.12);color:#e0f4ff; }
.t-neon .invoice-wrap::before { background:linear-gradient(90deg,#00f5ff,#b400ff,#00ff88,#b400ff,#00f5ff);height:3px; }
.t-neon .inv-header   { border-bottom:1px solid rgba(0,245,255,.25);padding-bottom:18px; }
.t-neon .inv-logo-box { background:rgba(0,245,255,.06);border-color:#00f5ff;box-shadow:0 0 12px rgba(0,245,255,.2); }
.t-neon .inv-commitment { background:rgba(0,245,255,.06);border-color:rgba(0,245,255,.25);color:#00f5ff; }
.t-neon .inv-title    { font-size:36px;color:#00f5ff;text-shadow:0 0 20px rgba(0,245,255,.7); }
.t-neon .inv-no       { background:linear-gradient(135deg,#00f5ff,#0099cc);color:#0a0e1a;box-shadow:0 0 16px rgba(0,245,255,.4); }
.t-neon .inv-meta     { background:rgba(0,245,255,.04);border-color:rgba(0,245,255,.15); }
.t-neon .inv-meta-row { border-color:rgba(0,245,255,.08); }
.t-neon .inv-meta-label { color:#0099aa; }
.t-neon .inv-meta-val { color:#e0f4ff; }
.t-neon .inv-parties  { background:rgba(0,245,255,.03);border-color:rgba(0,245,255,.15); }
.t-neon .inv-party::before { background:linear-gradient(180deg,#00f5ff,#b400ff);box-shadow:0 0 8px rgba(0,245,255,.4); }
.t-neon .inv-party h4 { color:#00f5ff; }
.t-neon .inv-party p  { color:#aad4e8; }
.t-neon .inv-table    { border-color:rgba(0,245,255,.2); }
.t-neon .inv-table thead { background:linear-gradient(135deg,#00ccdd,#0088aa); }
.t-neon .inv-table td { color:#c0dff0;border-color:rgba(0,245,255,.08); }
.t-neon .inv-table tr:nth-child(even) td { background:rgba(0,245,255,.04); }
.t-neon .inv-total-row { border-color:rgba(0,245,255,.12);color:#e0f4ff; }
.t-neon .inv-total-row.grand { background:linear-gradient(135deg,#00ccdd,#0066aa)!important;color:white!important;box-shadow:0 0 20px rgba(0,245,255,.3); }
.t-neon .inv-notes    { background:rgba(180,0,255,.06);border-color:rgba(180,0,255,.25);color:#c0b4d8; }
.t-neon .inv-notes h4 { color:#b400ff; }
.t-neon .inv-footer   { border-color:rgba(0,245,255,.15);color:#336677; }

/* ============================================================
   TEMPLATE: ARABIC (RTL friendly, emerald)
   ============================================================ */
.t-arabic .invoice-wrap { direction:ltr;background:linear-gradient(145deg,#f0fdf4,white); }
.t-arabic .invoice-wrap::before { background:linear-gradient(90deg,#065f46,#10b981,#065f46);height:6px; }
.t-arabic .inv-header   { border-bottom:2px solid #10b981; }
.t-arabic .inv-logo-box { background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#10b981; }
.t-arabic .inv-commitment { color:#065f46;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#86efac; }
.t-arabic .inv-title    { color:#065f46; }
.t-arabic .inv-no       { background:linear-gradient(135deg,#065f46,#10b981); }
.t-arabic .inv-party::before { background:linear-gradient(180deg,#065f46,#10b981); }
.t-arabic .inv-party h4 { color:#065f46; }
.t-arabic .inv-parties  { background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#86efac; }
.t-arabic .inv-table thead { background:linear-gradient(135deg,#065f46,#10b981); }
.t-arabic .inv-table tr:nth-child(even) td { background:#f0fdf4; }
.t-arabic .inv-total-row.grand { background:linear-gradient(135deg,#065f46,#10b981); }
.t-arabic .inv-notes    { background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#86efac; }
.t-arabic .inv-notes h4 { color:#065f46; }

/* ============================================================
   TEMPLATE: PASTEL
   ============================================================ */
.t-pastel .invoice-wrap { background:linear-gradient(145deg,#fef9f0,#fff0f6);border:1.5px solid #fcd5ce; }
.t-pastel .invoice-wrap::before { background:linear-gradient(90deg,#f9a8d4,#fbbf24,#86efac,#7dd3fc,#f9a8d4); }
.t-pastel .inv-title    { color:#be185d;font-size:36px; }
.t-pastel .inv-no       { background:linear-gradient(135deg,#ec4899,#f472b6);color:white; }
.t-pastel .inv-header   { border-bottom:2px dashed #fcd5ce; }
.t-pastel .inv-logo-box { background:linear-gradient(135deg,#fef9f0,#fce7f3);border-color:#fcd5ce; }
.t-pastel .inv-party::before { background:linear-gradient(180deg,#ec4899,#f472b6); }
.t-pastel .inv-party h4 { color:#be185d; }
.t-pastel .inv-parties  { background:linear-gradient(135deg,#fef9f0,#fff0f6);border-color:#fcd5ce; }
.t-pastel .inv-table thead { background:linear-gradient(135deg,#ec4899,#f472b6); }
.t-pastel .inv-table tr:nth-child(even) td { background:#fff0f6; }
.t-pastel .inv-total-row.grand { background:linear-gradient(135deg,#ec4899,#f472b6); }
.t-pastel .inv-notes    { background:linear-gradient(135deg,#fef9f0,#fce7f3);border-color:#fcd5ce; }
.t-pastel .inv-notes h4 { color:#be185d; }

/* ============================================================
   TEMPLATE: OCEAN
   ============================================================ */
.t-ocean .invoice-wrap { background:linear-gradient(145deg,#f0f9ff,white);border:1.5px solid #bae6fd; }
.t-ocean .invoice-wrap::before { background:linear-gradient(90deg,#0369a1,#0ea5e9,#06b6d4,#0ea5e9,#0369a1);height:5px; }
.t-ocean .inv-title    { color:#0369a1;font-size:36px; }
.t-ocean .inv-no       { background:linear-gradient(135deg,#0369a1,#0ea5e9); }
.t-ocean .inv-header   { border-bottom:2px solid #bae6fd; }
.t-ocean .inv-logo-box { background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-color:#38bdf8; }
.t-ocean .inv-commitment { color:#0369a1;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-color:#7dd3fc; }
.t-ocean .inv-party::before { background:linear-gradient(180deg,#0369a1,#0ea5e9); }
.t-ocean .inv-party h4 { color:#0369a1; }
.t-ocean .inv-parties  { background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-color:#bae6fd; }
.t-ocean .inv-table thead { background:linear-gradient(135deg,#0369a1,#0284c7); }
.t-ocean .inv-table tr:nth-child(even) td { background:#f0f9ff; }
.t-ocean .inv-total-row.grand { background:linear-gradient(135deg,#0369a1,#0284c7); }
.t-ocean .inv-notes    { background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-color:#7dd3fc; }
.t-ocean .inv-notes h4 { color:#0369a1; }
