.ipm-acc-wrap, .ipm-admin-wrap, .ipm-acc-wrap *, .ipm-admin-wrap * { box-sizing:border-box; font-family:Arial, sans-serif; }
.ipm-acc-wrap, .ipm-admin-wrap { --ipm-dark:#111827; --ipm-blue:#1d4ed8; --ipm-green:#047857; --ipm-red:#b91c1c; --ipm-light:#f8fafc; --ipm-border:#d8dee9; color:#111827; }
.ipm-login-card { max-width:430px; margin:40px auto; background:#fff; border:1px solid var(--ipm-border); border-radius:16px; padding:30px; box-shadow:0 14px 40px rgba(15,23,42,.12); text-align:center; }
.ipm-login-logo { max-width:180px; max-height:90px; object-fit:contain; margin:0 auto 15px; display:block; }
.ipm-login-card h2 { margin:5px 0; font-weight:700; }
.ipm-login-card p { color:#64748b; margin-bottom:20px; }
.ipm-field { display:block; margin-bottom:14px; text-align:left; }
.ipm-field span { display:block; font-weight:700; font-size:13px; margin-bottom:6px; color:#1f2937; }
.ipm-field input, .ipm-field select, .ipm-field textarea, .ipm-line-table input, .ipm-line-table textarea { width:100%; border:1px solid #cbd5e1; border-radius:8px; min-height:40px; padding:8px 10px; background:#fff; font-size:14px; font-family:Arial, sans-serif; }
.ipm-field textarea, .ipm-line-table textarea { min-height:62px; resize:vertical; }
.ipm-btn, .ipm-mini-btn { display:inline-block; text-decoration:none; border:0; border-radius:8px; padding:10px 16px; font-weight:700; cursor:pointer; line-height:1.2; font-family:Arial, sans-serif; }
.ipm-btn-primary { background:var(--ipm-blue); color:#fff; }
.ipm-btn-success { background:var(--ipm-green); color:#fff; }
.ipm-btn-light { background:#e5e7eb; color:#111827; }
.ipm-mini-btn { background:#eef2ff; color:#1e3a8a; padding:6px 9px; font-size:12px; margin:2px; white-space:nowrap; }
.ipm-danger { background:#fee2e2 !important; color:#991b1b !important; }
.ipm-alert { background:#ecfeff; border:1px solid #67e8f9; color:#155e75; padding:12px 14px; border-radius:10px; margin:12px 0; }
.ipm-alert-error { background:#fef2f2; border-color:#fecaca; color:#991b1b; }
.ipm-small-note { font-size:12px; color:#64748b; }
.ipm-panel-head { display:flex; justify-content:space-between; gap:20px; align-items:center; background:linear-gradient(135deg,#0f172a,#1e3a8a); color:#fff; padding:22px; border-radius:14px; margin:18px 0; }
.ipm-panel-head h2 { margin:0 0 4px; color:#fff; font-weight:700; }
.ipm-panel-head p { margin:0; color:#dbeafe; }
.ipm-role-badge { background:rgba(255,255,255,.18); padding:4px 8px; border-radius:999px; margin-left:5px; }
.ipm-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0; }
.ipm-tab { padding:10px 14px; border:1px solid var(--ipm-border); border-radius:10px; text-decoration:none; color:#111827; background:#fff; font-weight:700; }
.ipm-tab.active { background:#111827; color:#fff; }
.ipm-card, .ipm-box { background:#fff; border:1px solid var(--ipm-border); border-radius:14px; padding:18px; margin-bottom:18px; box-shadow:0 8px 24px rgba(15,23,42,.06); }
.ipm-form-title, .ipm-box-head { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-bottom:12px; }
.ipm-form-title h3, .ipm-box h4, .ipm-card h3, .ipm-card h4 { margin:0 0 10px; font-weight:700; }
.ipm-grid { display:grid; gap:14px; }
.ipm-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ipm-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ipm-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ipm-two-col, .ipm-admin-two-col { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.ipm-line-table-wrap, .ipm-table-wrap { overflow:auto; width:100%; }
.ipm-line-table, .ipm-table { width:100%; border-collapse:collapse; min-width:1080px; }
.ipm-line-table th, .ipm-line-table td, .ipm-table th, .ipm-table td { border:1px solid #e5e7eb; padding:8px; vertical-align:top; text-align:left; }
.ipm-line-table th, .ipm-table th { background:#f8fafc; color:#334155; font-size:12px; text-transform:uppercase; letter-spacing:.02em; }
.ipm-line-table th:nth-child(1){min-width:270px}.ipm-line-table th:nth-child(4){min-width:170px}.ipm-line-table th:nth-child(5),.ipm-line-table th:nth-child(6),.ipm-line-table th:nth-child(7),.ipm-line-table th:nth-child(8){min-width:100px}
.ipm-remove-line{border:0;background:#fee2e2;color:#991b1b;border-radius:50%;width:28px;height:28px;font-size:18px;cursor:pointer}.ipm-totals-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:12px;margin-top:10px}.ipm-totals-box p{display:flex;justify-content:space-between;margin:8px 0}.ipm-form-actions{display:flex;justify-content:flex-end;gap:10px;position:sticky;bottom:0;background:#fff;border:1px solid #e5e7eb;padding:12px;border-radius:12px;margin-top:18px;z-index:5}.ipm-status{display:inline-block;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:800}.ipm-status-new,.ipm-status-draft{background:#f1f5f9;color:#334155}.ipm-status-submitted{background:#fef3c7;color:#92400e}.ipm-status-approved{background:#dcfce7;color:#166534}.ipm-status-paid{background:#dbeafe;color:#1d4ed8}.ipm-status-rejected{background:#fee2e2;color:#991b1b}.ipm-actions{min-width:220px}.ipm-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:18px 0}.ipm-stat-card{background:#fff;border:1px solid #d8dee9;border-left:5px solid #1d4ed8;border-radius:14px;padding:18px;box-shadow:0 10px 24px rgba(15,23,42,.06)}.ipm-stat-card span{display:block;font-size:12px;text-transform:uppercase;color:#64748b;font-weight:800;letter-spacing:.03em}.ipm-stat-card strong{display:block;font-size:28px;margin-top:8px;color:#0f172a}.ipm-admin-wrap .ipm-card{max-width:none}.ipm-admin-wrap code{background:#111827;color:#fff;padding:8px 10px;border-radius:6px;display:inline-block}.ipm-admin-wrap .widefat td,.ipm-admin-wrap .widefat th{vertical-align:middle}.ipm-responsibility-box{border-left:5px solid #0f172a}.ipm-tracking-mini{margin-top:14px}.ipm-log-table{min-width:980px}.ipm-preview-frame{border:1px solid #d8dee9;border-radius:12px;}
@media(max-width:1000px){.ipm-grid-4,.ipm-grid-3,.ipm-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ipm-two-col,.ipm-admin-two-col{grid-template-columns:1fr}}@media(max-width:640px){.ipm-grid-4,.ipm-grid-3,.ipm-grid-2,.ipm-stats-grid{grid-template-columns:1fr}.ipm-panel-head,.ipm-form-title,.ipm-box-head,.ipm-form-actions{display:block}.ipm-btn{width:100%;text-align:center;margin-top:8px}.ipm-line-table,.ipm-table{min-width:900px}}

/* Print-preview document layout and watermark styling */
.ipm-acc-wrap .ipm-print-page, .ipm-admin-wrap .ipm-print-page { position:relative; background:#fff; width:210mm; min-height:297mm; margin:0 auto 12px; padding:10mm; box-sizing:border-box; overflow:hidden; font-family:Arial, sans-serif; font-size:11px; line-height:1.25; color:#000; }
.ipm-acc-wrap .ipm-print-header, .ipm-admin-wrap .ipm-print-header { display:grid; grid-template-columns:1.5fr .7fr 1fr; gap:8px; align-items:start; margin-bottom:18mm; position:relative; z-index:2; }
.ipm-acc-wrap .ipm-head-office, .ipm-admin-wrap .ipm-head-office { text-align:center; font-size:18px; font-weight:bold; }
.ipm-acc-wrap .ipm-print-logo, .ipm-admin-wrap .ipm-print-logo { max-width:55mm; max-height:23mm; object-fit:contain; }
.ipm-acc-wrap .ipm-copy-label, .ipm-admin-wrap .ipm-copy-label { text-align:right; font-weight:bold; position:relative; z-index:2; }
.ipm-acc-wrap .ipm-watermark-layer, .ipm-admin-wrap .ipm-watermark-layer { position:absolute; inset:0; z-index:1; pointer-events:none; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.ipm-acc-wrap .ipm-watermark-logo-layer, .ipm-admin-wrap .ipm-watermark-logo-layer { background-repeat:no-repeat; background-position:center 45%; background-size:108mm auto; opacity:.09; }
.ipm-acc-wrap .ipm-watermark-text, .ipm-admin-wrap .ipm-watermark-text { display:block; transform:rotate(-35deg); font-size:78px; line-height:1; color:rgba(0,0,0,.14); font-weight:bold; letter-spacing:2px; white-space:nowrap; }
.ipm-acc-wrap .ipm-watermark-text.approved, .ipm-admin-wrap .ipm-watermark-text.approved { color:rgba(22,101,52,.12); }
.ipm-acc-wrap .ipm-print-table, .ipm-admin-wrap .ipm-print-table { position:relative; z-index:2; width:100%; border-collapse:collapse; table-layout:fixed; margin:0; background:rgba(255,255,255,.80); }
.ipm-acc-wrap .ipm-print-table th, .ipm-acc-wrap .ipm-print-table td, .ipm-admin-wrap .ipm-print-table th, .ipm-admin-wrap .ipm-print-table td { border:1px solid #111; padding:4px; vertical-align:top; word-break:break-word; overflow-wrap:anywhere; }
.ipm-acc-wrap .ipm-print-table th, .ipm-admin-wrap .ipm-print-table th { font-weight:bold; background:rgba(248,250,252,.92); }
.ipm-acc-wrap .ipm-main-title th, .ipm-admin-wrap .ipm-main-title th { font-size:18px; text-align:center; }
.ipm-acc-wrap .ipm-items th, .ipm-acc-wrap .ipm-items td, .ipm-admin-wrap .ipm-items th, .ipm-admin-wrap .ipm-items td { font-size:9.5px; }
.ipm-acc-wrap .ipm-items th:nth-child(1), .ipm-admin-wrap .ipm-items th:nth-child(1) { width:8mm; }
.ipm-acc-wrap .ipm-items th:nth-child(2), .ipm-admin-wrap .ipm-items th:nth-child(2) { width:66mm; }
.ipm-acc-wrap .ipm-items th:nth-child(5), .ipm-admin-wrap .ipm-items th:nth-child(5) { width:28mm; }
.ipm-acc-wrap .ipm-items th:nth-child(6), .ipm-acc-wrap .ipm-items th:nth-child(7), .ipm-acc-wrap .ipm-items th:nth-child(8), .ipm-acc-wrap .ipm-items th:nth-child(9), .ipm-admin-wrap .ipm-items th:nth-child(6), .ipm-admin-wrap .ipm-items th:nth-child(7), .ipm-admin-wrap .ipm-items th:nth-child(8), .ipm-admin-wrap .ipm-items th:nth-child(9) { width:18mm; }
.ipm-acc-wrap .ipm-totals-print td:nth-child(2), .ipm-admin-wrap .ipm-totals-print td:nth-child(2) { width:35mm; }
.ipm-acc-wrap .ipm-totals-print td:nth-child(3), .ipm-admin-wrap .ipm-totals-print td:nth-child(3) { width:35mm; text-align:right; }
.ipm-acc-wrap .ipm-sign-row td, .ipm-admin-wrap .ipm-sign-row td { height:28mm; text-align:center; vertical-align:bottom; }
.ipm-acc-wrap .ipm-payment-title, .ipm-admin-wrap .ipm-payment-title { display:grid; grid-template-columns:1fr 1fr 1fr; font-size:20px; margin:28mm 0 5mm; position:relative; z-index:2; }
.ipm-acc-wrap .ipm-payment-title strong:nth-child(2), .ipm-admin-wrap .ipm-payment-title strong:nth-child(2) { text-align:center; }
.ipm-acc-wrap .ipm-payment-title strong:nth-child(3), .ipm-admin-wrap .ipm-payment-title strong:nth-child(3) { text-align:right; }
.ipm-acc-wrap .ipm-payment-table th, .ipm-admin-wrap .ipm-payment-table th { width:60mm; text-align:left; }
.ipm-acc-wrap .ipm-payment-table td:nth-child(2), .ipm-admin-wrap .ipm-payment-table td:nth-child(2) { width:5mm; text-align:center; }
.ipm-acc-wrap .ipm-print-footer, .ipm-admin-wrap .ipm-print-footer { display:flex; justify-content:space-between; margin-top:14mm; font-size:15px; font-weight:bold; position:relative; z-index:2; }
.ipm-acc-wrap .ipm-tracking-page, .ipm-admin-wrap .ipm-tracking-page { page-break-before:always; }
.ipm-acc-wrap .ipm-log-table th, .ipm-acc-wrap .ipm-log-table td, .ipm-admin-wrap .ipm-log-table th, .ipm-admin-wrap .ipm-log-table td { font-size:9px; }

/* v1.3.0: real centered watermark and separated tracking report */
.ipm-acc-wrap .ipm-watermark-layer, .ipm-admin-wrap .ipm-watermark-layer { z-index:0 !important; inset:10mm !important; }
.ipm-acc-wrap .ipm-watermark-logo, .ipm-admin-wrap .ipm-watermark-logo { max-width:135mm; max-height:135mm; object-fit:contain; opacity:.10; transform:rotate(-25deg); filter:grayscale(100%); }
.ipm-acc-wrap .ipm-watermark-text, .ipm-admin-wrap .ipm-watermark-text { font-size:96px !important; color:rgba(0,0,0,.16) !important; }
.ipm-acc-wrap .ipm-print-table, .ipm-admin-wrap .ipm-print-table { background:rgba(255,255,255,.72) !important; }
.ipm-acc-wrap .ipm-print-header, .ipm-acc-wrap .ipm-copy-label, .ipm-acc-wrap .ipm-print-table, .ipm-acc-wrap .ipm-print-footer, .ipm-admin-wrap .ipm-print-header, .ipm-admin-wrap .ipm-copy-label, .ipm-admin-wrap .ipm-print-table, .ipm-admin-wrap .ipm-print-footer { position:relative; z-index:2; }
.ipm-contract-invoice-generator { border-left:5px solid #1d4ed8; }
.ipm-form-inline-actions { margin-top:12px; }
@media print { .ipm-watermark-logo { opacity:.10 !important; -webkit-print-color-adjust:exact; print-color-adjust:exact; } .ipm-watermark-text { -webkit-print-color-adjust:exact; print-color-adjust:exact; } }

/* v1.4.0 fixes: stronger visible watermark, manager view consistency, and stable print table alignment */
.ipm-acc-wrap .ipm-print-page, .ipm-admin-wrap .ipm-print-page { padding:8mm !important; font-size:10.5px !important; line-height:1.24 !important; }
.ipm-acc-wrap .ipm-print-page *, .ipm-admin-wrap .ipm-print-page * { box-sizing:border-box; font-family:Arial, sans-serif; }
.ipm-acc-wrap .ipm-print-header, .ipm-admin-wrap .ipm-print-header { margin-bottom:13mm !important; z-index:3 !important; }
.ipm-acc-wrap .ipm-copy-label, .ipm-admin-wrap .ipm-copy-label { margin-bottom:1mm; z-index:3 !important; }
.ipm-acc-wrap .ipm-watermark-layer, .ipm-admin-wrap .ipm-watermark-layer { position:absolute !important; left:8mm !important; right:8mm !important; top:34mm !important; bottom:18mm !important; z-index:1 !important; pointer-events:none !important; display:flex !important; align-items:center !important; justify-content:center !important; overflow:hidden !important; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
.ipm-acc-wrap .ipm-watermark-logo, .ipm-admin-wrap .ipm-watermark-logo { width:135mm !important; max-width:72% !important; height:auto !important; object-fit:contain !important; opacity:.20 !important; transform:rotate(-28deg) !important; filter:grayscale(100%) !important; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
.ipm-acc-wrap .ipm-watermark-text, .ipm-admin-wrap .ipm-watermark-text { font-size:98px !important; line-height:1 !important; color:rgba(0,0,0,.20) !important; font-weight:bold !important; letter-spacing:4px !important; white-space:nowrap !important; transform:rotate(-35deg) !important; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
.ipm-acc-wrap .ipm-watermark-text.approved, .ipm-admin-wrap .ipm-watermark-text.approved { color:rgba(0,0,0,.16) !important; }
.ipm-acc-wrap .ipm-print-table, .ipm-admin-wrap .ipm-print-table { position:relative !important; z-index:2 !important; table-layout:fixed !important; background:rgba(255,255,255,.62) !important; }
.ipm-acc-wrap .ipm-print-table th, .ipm-acc-wrap .ipm-print-table td, .ipm-admin-wrap .ipm-print-table th, .ipm-admin-wrap .ipm-print-table td { padding:3.2px 4px !important; word-break:normal !important; overflow-wrap:break-word !important; white-space:normal !important; hyphens:none !important; }
.ipm-acc-wrap .ipm-main-title td, .ipm-admin-wrap .ipm-main-title td { font-size:10.2px !important; }
.ipm-acc-wrap .ipm-items th, .ipm-acc-wrap .ipm-items td, .ipm-admin-wrap .ipm-items th, .ipm-admin-wrap .ipm-items td { font-size:9px !important; line-height:1.2 !important; word-break:normal !important; overflow-wrap:break-word !important; white-space:normal !important; }
.ipm-acc-wrap .ipm-items th, .ipm-admin-wrap .ipm-items th { text-align:center !important; vertical-align:middle !important; }
.ipm-acc-wrap .ipm-items .ipm-col-sr, .ipm-admin-wrap .ipm-items .ipm-col-sr { width:8mm !important; }
.ipm-acc-wrap .ipm-items .ipm-col-service, .ipm-admin-wrap .ipm-items .ipm-col-service { width:58mm !important; }
.ipm-acc-wrap .ipm-items .ipm-col-contract-services, .ipm-admin-wrap .ipm-items .ipm-col-contract-services { width:18mm !important; }
.ipm-acc-wrap .ipm-items .ipm-col-hsn, .ipm-admin-wrap .ipm-items .ipm-col-hsn { width:16mm !important; }
.ipm-acc-wrap .ipm-items .ipm-col-duration, .ipm-admin-wrap .ipm-items .ipm-col-duration { width:32mm !important; }
.ipm-acc-wrap .ipm-items .ipm-col-qty, .ipm-admin-wrap .ipm-items .ipm-col-qty { width:12mm !important; }
.ipm-acc-wrap .ipm-items .ipm-col-rate, .ipm-admin-wrap .ipm-items .ipm-col-rate { width:15mm !important; }
.ipm-acc-wrap .ipm-items .ipm-col-disc, .ipm-admin-wrap .ipm-items .ipm-col-disc { width:13mm !important; }
.ipm-acc-wrap .ipm-items .ipm-col-amount, .ipm-admin-wrap .ipm-items .ipm-col-amount { width:18mm !important; }
.ipm-acc-wrap .ipm-center, .ipm-admin-wrap .ipm-center { text-align:center !important; }
.ipm-acc-wrap .ipm-money, .ipm-admin-wrap .ipm-money { text-align:right !important; white-space:nowrap !important; }
.ipm-acc-wrap .ipm-totals-print td:nth-child(2), .ipm-admin-wrap .ipm-totals-print td:nth-child(2) { width:38mm !important; }
.ipm-acc-wrap .ipm-totals-print td:nth-child(3), .ipm-admin-wrap .ipm-totals-print td:nth-child(3) { width:38mm !important; text-align:right !important; white-space:nowrap !important; }
.ipm-acc-wrap .ipm-print-header, .ipm-acc-wrap .ipm-copy-label, .ipm-acc-wrap .ipm-print-table, .ipm-acc-wrap .ipm-print-footer, .ipm-admin-wrap .ipm-print-header, .ipm-admin-wrap .ipm-copy-label, .ipm-admin-wrap .ipm-print-table, .ipm-admin-wrap .ipm-print-footer { position:relative !important; z-index:3 !important; }
@media print { .ipm-watermark-logo { opacity:.20 !important; } .ipm-watermark-text { color:rgba(0,0,0,.20) !important; } .ipm-print-table { background:rgba(255,255,255,.62) !important; } }

/* Frontend document filters */
.ipm-filter-bar { display:grid; grid-template-columns:repeat(6,minmax(150px,1fr)) auto; gap:12px; align-items:end; background:#f8fafc; border:1px solid #e2e8f0; border-radius:12px; padding:12px; margin:14px 0; }
.ipm-filter-field label { display:block; font-size:12px; font-weight:800; color:#334155; margin-bottom:5px; }
.ipm-filter-field input, .ipm-filter-field select { width:100%; min-height:38px; border:1px solid #cbd5e1; border-radius:8px; padding:7px 9px; background:#fff; font-family:Arial, sans-serif; font-size:13px; }
.ipm-filter-actions { display:flex; gap:8px; align-items:center; white-space:nowrap; }
.ipm-status-upcoming, .ipm-status-payment-upcoming { background:#ede9fe; color:#5b21b6; }
.ipm-status-payment-paid { background:#dcfce7; color:#166534; }
.ipm-status-payment-unpaid { background:#fef3c7; color:#92400e; }
@media(max-width:1200px){ .ipm-filter-bar { grid-template-columns:repeat(3,minmax(150px,1fr)); } }
@media(max-width:700px){ .ipm-filter-bar { grid-template-columns:1fr; } .ipm-filter-actions { flex-wrap:wrap; } }

/* v1.8.0: full-width frontend/backend document lists and stable filter layout */
.ipm-acc-wrap {
  width:calc(100vw - 48px) !important;
  max-width:none !important;
  margin-left:calc(50% - 50vw + 24px) !important;
  margin-right:0 !important;
  padding:0 !important;
}
.ipm-acc-wrap .ipm-panel-head,
.ipm-acc-wrap .ipm-tabs,
.ipm-acc-wrap .ipm-card,
.ipm-acc-wrap .ipm-box {
  width:100% !important;
  max-width:none !important;
}
.ipm-admin-wrap .ipm-card,
.ipm-admin-wrap .ipm-table-wrap,
.ipm-acc-wrap .ipm-table-wrap {
  width:100% !important;
  max-width:none !important;
}
.ipm-acc-wrap .ipm-filter-bar,
.ipm-admin-wrap .ipm-filter-bar,
.ipm-filter-bar.ipm-admin-filter-bar {
  display:grid !important;
  grid-template-columns:repeat(6, minmax(145px, 1fr)) auto !important;
  gap:12px !important;
  align-items:end !important;
  width:100% !important;
  max-width:none !important;
  margin:14px 0 16px !important;
  background:#f8fafc !important;
  border:1px solid #d8dee9 !important;
  border-radius:12px !important;
  padding:12px !important;
}
.ipm-acc-wrap .ipm-filter-field,
.ipm-admin-wrap .ipm-filter-field {
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
}
.ipm-acc-wrap .ipm-filter-field label,
.ipm-admin-wrap .ipm-filter-field label {
  display:block !important;
  margin:0 0 5px !important;
  font-size:12px !important;
  font-weight:800 !important;
  color:#334155 !important;
}
.ipm-acc-wrap .ipm-filter-field input,
.ipm-acc-wrap .ipm-filter-field select,
.ipm-admin-wrap .ipm-filter-field input,
.ipm-admin-wrap .ipm-filter-field select {
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  height:38px !important;
  min-height:38px !important;
  display:block !important;
}
.ipm-acc-wrap .ipm-filter-actions,
.ipm-admin-wrap .ipm-filter-actions {
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:8px !important;
  align-items:center !important;
  white-space:nowrap !important;
  margin:0 !important;
}
.ipm-acc-wrap .ipm-table,
.ipm-admin-wrap .ipm-admin-doc-table {
  table-layout:auto !important;
  width:100% !important;
  min-width:1280px !important;
  border-collapse:collapse !important;
}
.ipm-acc-wrap .ipm-table th,
.ipm-acc-wrap .ipm-table td,
.ipm-admin-wrap .ipm-admin-doc-table th,
.ipm-admin-wrap .ipm-admin-doc-table td {
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
  vertical-align:middle !important;
}
.ipm-acc-wrap .ipm-table th:nth-child(1), .ipm-acc-wrap .ipm-table td:nth-child(1) { min-width:105px; }
.ipm-acc-wrap .ipm-table th:nth-child(2), .ipm-acc-wrap .ipm-table td:nth-child(2) { min-width:92px; }
.ipm-acc-wrap .ipm-table th:nth-child(3), .ipm-acc-wrap .ipm-table td:nth-child(3) { min-width:160px; }
.ipm-acc-wrap .ipm-table th:nth-child(4), .ipm-acc-wrap .ipm-table td:nth-child(4) { min-width:150px; }
.ipm-acc-wrap .ipm-table th:nth-child(11), .ipm-acc-wrap .ipm-table td:nth-child(11) { min-width:260px; }
.ipm-admin-wrap .ipm-admin-doc-table th:nth-child(12),
.ipm-admin-wrap .ipm-admin-doc-table td:nth-child(12) { min-width:360px; }
@media(max-width:1200px){
  .ipm-acc-wrap .ipm-filter-bar,
  .ipm-admin-wrap .ipm-filter-bar,
  .ipm-filter-bar.ipm-admin-filter-bar { grid-template-columns:repeat(3, minmax(160px, 1fr)) !important; }
}
@media(max-width:760px){
  .ipm-acc-wrap { width:100% !important; margin-left:0 !important; padding:0 8px !important; }
  .ipm-acc-wrap .ipm-filter-bar,
  .ipm-admin-wrap .ipm-filter-bar,
  .ipm-filter-bar.ipm-admin-filter-bar { grid-template-columns:1fr !important; }
  .ipm-acc-wrap .ipm-filter-actions,
  .ipm-admin-wrap .ipm-filter-actions { flex-wrap:wrap !important; }
}

/* v1.9.0: hard fix for full-width document filters and document table layout */
.ipm-filter-bar-v190{display:block!important;width:100%!important;max-width:none!important;clear:both!important;box-sizing:border-box!important;}
.ipm-filter-grid-v190{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;gap:12px!important;align-items:end!important;width:100%!important;max-width:none!important;}
.ipm-documents-card,.ipm-admin-documents-card{width:100%!important;max-width:none!important;overflow:visible!important;}
.ipm-doc-table-wrap,.ipm-admin-doc-table-wrap{width:100%!important;max-width:100%!important;overflow-x:auto!important;display:block!important;clear:both!important;}
.ipm-doc-table-v190{table-layout:auto!important;border-collapse:collapse!important;}
.ipm-doc-table-v190 th,.ipm-doc-table-v190 td{white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;vertical-align:middle!important;}
@media(max-width:900px){.ipm-filter-grid-v190{grid-template-columns:repeat(2,minmax(160px,1fr))!important;}}
@media(max-width:560px){.ipm-filter-grid-v190{grid-template-columns:1fr!important;}}


/* v2.0.0: final full-screen filters and no horizontal document-table scroll */
.ipm-acc-wrap .ipm-filter-bar-v190,
.ipm-admin-wrap .ipm-filter-bar-v190,
.ipm-filter-bar-v190 {
  display:block !important;
  width:100% !important;
  max-width:none !important;
  overflow:visible !important;
  box-sizing:border-box !important;
}
.ipm-acc-wrap .ipm-filter-grid-v190,
.ipm-admin-wrap .ipm-filter-grid-v190,
.ipm-filter-grid-v190 {
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap !important;
  align-items:flex-end !important;
  gap:12px !important;
  width:100% !important;
  max-width:none !important;
}
.ipm-acc-wrap .ipm-filter-grid-v190 .ipm-filter-field,
.ipm-admin-wrap .ipm-filter-grid-v190 .ipm-filter-field {
  flex:0 0 170px !important;
  width:170px !important;
  min-width:170px !important;
  max-width:170px !important;
}
.ipm-acc-wrap .ipm-filter-actions,
.ipm-admin-wrap .ipm-filter-actions {
  flex:0 0 auto !important;
  width:auto !important;
  min-width:auto !important;
}
.ipm-acc-wrap .ipm-doc-table-wrap,
.ipm-admin-wrap .ipm-admin-doc-table-wrap,
.ipm-doc-table-wrap,
.ipm-admin-doc-table-wrap {
  width:100% !important;
  max-width:100% !important;
  overflow-x:visible !important;
  overflow-y:visible !important;
}
.ipm-acc-wrap .ipm-doc-table-v200,
.ipm-admin-wrap .ipm-doc-table-v200,
.ipm-doc-table-v200 {
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  table-layout:fixed !important;
  border-collapse:collapse !important;
}
.ipm-acc-wrap .ipm-doc-table-v200 th,
.ipm-acc-wrap .ipm-doc-table-v200 td,
.ipm-admin-wrap .ipm-doc-table-v200 th,
.ipm-admin-wrap .ipm-doc-table-v200 td,
.ipm-doc-table-v200 th,
.ipm-doc-table-v200 td {
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:anywhere !important;
  vertical-align:middle !important;
  padding:7px 8px !important;
  line-height:1.25 !important;
  font-size:12px !important;
}
.ipm-acc-wrap .ipm-doc-table-v200 th,
.ipm-admin-wrap .ipm-doc-table-v200 th,
.ipm-doc-table-v200 th { font-size:11px !important; }
.ipm-acc-wrap .ipm-doc-table-v200 .ipm-actions,
.ipm-admin-wrap .ipm-doc-table-v200 .ipm-actions,
.ipm-doc-table-v200 .ipm-actions {
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:4px !important;
  min-width:0 !important;
}
.ipm-doc-table-v200 .ipm-mini-btn { margin:1px !important; padding:5px 7px !important; font-size:11px !important; white-space:normal !important; }
@media (max-width:1100px) {
  .ipm-acc-wrap .ipm-doc-table-v200 th,
  .ipm-acc-wrap .ipm-doc-table-v200 td,
  .ipm-admin-wrap .ipm-doc-table-v200 th,
  .ipm-admin-wrap .ipm-doc-table-v200 td { font-size:10.5px !important; padding:5px !important; }
  .ipm-doc-table-v200 .ipm-mini-btn { font-size:10px !important; padding:4px 5px !important; }
}
@media (max-width:760px) {
  .ipm-acc-wrap .ipm-filter-grid-v190 .ipm-filter-field,
  .ipm-admin-wrap .ipm-filter-grid-v190 .ipm-filter-field { flex:1 1 160px !important; max-width:none !important; }
}


/* v2.1.0: clearer separation between filter controls and document table */
.ipm-acc-wrap .ipm-filter-bar-v190,
.ipm-admin-wrap .ipm-filter-bar-v190,
.ipm-filter-bar-v190 {
  margin-bottom:34px !important;
}
.ipm-acc-wrap .ipm-doc-table-wrap,
.ipm-admin-wrap .ipm-admin-doc-table-wrap,
.ipm-doc-table-wrap,
.ipm-admin-doc-table-wrap {
  margin-top:18px !important;
  padding-top:0 !important;
}
.ipm-acc-wrap .ipm-doc-table-v200 thead th,
.ipm-admin-wrap .ipm-doc-table-v200 thead th,
.ipm-doc-table-v200 thead th {
  border-top:2px solid #d8dee9 !important;
}

/* Finance Analytics Professional Sections - v2.2.0 */
.ipm-finance-analytics-card{background:#fff;}
.ipm-analytics-section{background:#f8fafc;border:1px solid #d8dee9;border-radius:16px;padding:18px;margin:18px 0 24px;box-shadow:0 10px 24px rgba(15,23,42,.04)}
.ipm-analytics-section-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 14px;border-bottom:1px solid #e2e8f0;padding-bottom:10px}
.ipm-analytics-section-head h4{margin:0;font-size:18px;font-weight:800;color:#0f172a;font-family:Arial,sans-serif}
.ipm-analytics-grid{margin:0!important;grid-template-columns:repeat(4,minmax(180px,1fr))!important;gap:16px!important}
.ipm-analytics-section .ipm-stat-card{min-height:86px;background:#fff;border:1px solid #d8dee9;border-left:5px solid #1d4ed8;border-radius:14px;padding:16px 18px;box-sizing:border-box}
.ipm-analytics-section .ipm-stat-card span{font-size:12px;line-height:1.35;letter-spacing:.03em;text-transform:uppercase;color:#64748b;font-weight:800}
.ipm-analytics-section .ipm-stat-card strong{font-size:26px;line-height:1.1;color:#0f172a;margin-top:8px;display:block}
@media(max-width:1200px){.ipm-analytics-grid{grid-template-columns:repeat(3,minmax(160px,1fr))!important}}
@media(max-width:800px){.ipm-analytics-grid{grid-template-columns:repeat(2,minmax(150px,1fr))!important}}
@media(max-width:520px){.ipm-analytics-grid{grid-template-columns:1fr!important}}

/* Finance Analytics filters and report actions - v2.3.0 */
.ipm-analytics-filter-bar{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  align-items:flex-end;
  background:#f8fafc;
  border:1px solid #d8dee9;
  border-radius:14px;
  padding:14px;
  margin:16px 0 10px;
  box-sizing:border-box;
}
.ipm-analytics-filter-field{flex:0 0 190px;max-width:190px;}
.ipm-analytics-filter-field label{display:block;margin:0 0 6px;font-size:12px;font-weight:800;color:#334155;font-family:Arial,sans-serif;}
.ipm-analytics-filter-field input{width:100%;height:40px;border:1px solid #cbd5e1;border-radius:9px;padding:8px 10px;background:#fff;font-family:Arial,sans-serif;font-size:13px;box-sizing:border-box;}
.ipm-analytics-filter-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center;}
.ipm-btn-dark{background:#0f172a!important;color:#fff!important;border-color:#0f172a!important;text-decoration:none!important;}
.ipm-analytics-period{margin:8px 0 18px!important;}
@media(max-width:760px){.ipm-analytics-filter-field{flex:1 1 100%;max-width:none}.ipm-analytics-filter-actions{width:100%;}}


/* v2.4.0: Finance analytics true full-width page and one-line date filter */
.ipm-acc-wrap .ipm-finance-analytics-card,
.ipm-admin-wrap.ipm-analytics-admin-full,
.ipm-admin-wrap .ipm-finance-analytics-card,
.ipm-finance-analytics-card,
.ipm-analytics-full-width {
  width:100% !important;
  max-width:none !important;
  display:block !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}
.ipm-acc-wrap .ipm-analytics-filter-bar-v240,
.ipm-admin-wrap .ipm-analytics-filter-bar-v240,
.ipm-analytics-filter-bar-v240 {
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:flex-end !important;
  gap:14px !important;
  width:100% !important;
  max-width:none !important;
  margin:16px 0 12px !important;
}
.ipm-analytics-filter-bar-v240 .ipm-analytics-filter-field {
  flex:0 0 190px !important;
  width:190px !important;
  min-width:190px !important;
  max-width:190px !important;
  margin:0 !important;
}
.ipm-analytics-filter-bar-v240 .ipm-analytics-filter-actions {
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  gap:10px !important;
  align-items:flex-end !important;
  white-space:nowrap !important;
}
.ipm-acc-wrap .ipm-analytics-section-v240,
.ipm-admin-wrap .ipm-analytics-section-v240,
.ipm-analytics-section-v240,
.ipm-analytics-section {
  width:100% !important;
  max-width:none !important;
  display:block !important;
  box-sizing:border-box !important;
  clear:both !important;
}
.ipm-acc-wrap .ipm-analytics-grid-v240,
.ipm-admin-wrap .ipm-analytics-grid-v240,
.ipm-analytics-grid-v240,
.ipm-analytics-grid {
  display:grid !important;
  width:100% !important;
  max-width:none !important;
  grid-template-columns:repeat(4,minmax(190px,1fr)) !important;
  gap:16px !important;
  margin:0 !important;
  box-sizing:border-box !important;
}
.ipm-analytics-grid-v240 .ipm-stat-card,
.ipm-analytics-grid .ipm-stat-card {
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
}
@media(max-width:1100px){
  .ipm-analytics-filter-bar-v240{flex-wrap:wrap !important;}
  .ipm-analytics-grid-v240,.ipm-analytics-grid{grid-template-columns:repeat(2,minmax(170px,1fr)) !important;}
}
@media(max-width:560px){
  .ipm-analytics-filter-bar-v240{flex-direction:column !important;align-items:stretch !important;}
  .ipm-analytics-filter-bar-v240 .ipm-analytics-filter-field{width:100% !important;max-width:none !important;min-width:0 !important;flex:1 1 auto !important;}
  .ipm-analytics-filter-bar-v240 .ipm-analytics-filter-actions{flex-wrap:wrap !important;}
  .ipm-analytics-grid-v240,.ipm-analytics-grid{grid-template-columns:1fr !important;}
}

/* v2.5.0: Force Finance Analytics one-row filter and true full-width sections */
.ipm-acc-wrap #ipm-finance-analytics-v250,
.ipm-acc-wrap .ipm-finance-analytics-card,
.ipm-admin-wrap.ipm-analytics-admin-full {
  width:calc(100vw - 48px) !important;
  max-width:calc(100vw - 48px) !important;
  min-width:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
  display:block !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}
.ipm-admin-wrap.ipm-analytics-admin-full {
  width:calc(100% - 20px) !important;
  max-width:none !important;
}
.ipm-analytics-filter-bar-v250 {
  display:grid !important;
  grid-template-columns:200px 200px max-content max-content max-content 1fr !important;
  gap:14px !important;
  align-items:end !important;
  width:100% !important;
  max-width:none !important;
  background:#f8fafc !important;
  border:1px solid #d8dee9 !important;
  border-radius:14px !important;
  padding:14px 16px !important;
  margin:16px 0 14px !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}
.ipm-analytics-filter-bar-v250 .ipm-analytics-filter-field {
  width:200px !important;
  min-width:200px !important;
  max-width:200px !important;
  margin:0 !important;
  flex:none !important;
}
.ipm-analytics-filter-bar-v250 .ipm-btn {
  height:40px !important;
  min-height:40px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  white-space:nowrap !important;
  margin:0 !important;
}
.ipm-analytics-section-v250,
.ipm-analytics-full-width .ipm-analytics-section-v250 {
  width:100% !important;
  max-width:none !important;
  display:block !important;
  clear:both !important;
  box-sizing:border-box !important;
}
.ipm-analytics-grid-v250,
.ipm-analytics-section-v250 .ipm-analytics-grid-v250 {
  display:grid !important;
  width:100% !important;
  max-width:none !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px !important;
  margin:0 !important;
  box-sizing:border-box !important;
}
.ipm-analytics-grid-v250 .ipm-stat-card {
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
}
@media(max-width:900px){
  .ipm-analytics-filter-bar-v250{grid-template-columns:1fr 1fr !important;}
  .ipm-analytics-filter-bar-v250 .ipm-analytics-filter-field{width:100% !important;max-width:none !important;min-width:0 !important;}
  .ipm-analytics-grid-v250{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:560px){
  .ipm-analytics-filter-bar-v250{grid-template-columns:1fr !important;}
  .ipm-analytics-grid-v250{grid-template-columns:1fr !important;}
}
