/* ============================================================
   Enroll OPN Suite — Modern UI skin v0.6.2
   ObjectifPN only · DGAC wording · legacy shortcodes preserved
   ============================================================ */

:root{
  --opn-ui-ink:#0f172a;
  --opn-ui-muted:#64748b;
  --opn-ui-soft:#f8fafc;
  --opn-ui-card:#ffffff;
  --opn-ui-line:#dbe3ef;
  --opn-ui-blue:#1d4ed8;
  --opn-ui-blue-2:#2563eb;
  --opn-ui-navy:#111827;
  --opn-ui-purple:#6d28d9;
  --opn-ui-teal:#0f766e;
  --opn-ui-green:#16a34a;
  --opn-ui-amber:#f59e0b;
  --opn-ui-red:#dc2626;
  --opn-ui-radius:18px;
  --opn-ui-shadow:0 18px 44px rgba(15,23,42,.10);
  --opn-ui-shadow-sm:0 8px 22px rgba(15,23,42,.07);
  --opn-ui-font:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}

body.opn-suite-ui-active,
body.opn-suite-ui-active .entry-content,
body.opn-suite-ui-active .site-content,
body.opn-suite-ui-active.wp-admin{
  color:var(--opn-ui-ink);
}

.opn-ui-wrap,
.opn-suite-dashboard,
.opn-suite-card,
.opn-ai-dashboard,
.opn-dgac-wrap,
.pt-wrap,
.ei-admin-wrap,
.eac-ccav-wrap,
.eac-ccaqr,
.eac-ccaqr-v173,
.cca-delivery-wrap,
.cpe-wrap,
.cps-wrap,
.ccaidr9-wrap,
.esm-wrap,
.tem-wrap,
.ets-wrap,
.idm-console-wrap,
.idm-admin-wrap,
.visio-signin,
.visio-setup{
  font-family:var(--opn-ui-font) !important;
  color:var(--opn-ui-ink) !important;
  box-sizing:border-box !important;
}
.opn-ui-wrap *,
.opn-suite-dashboard *,
.opn-suite-card *,
.opn-ai-dashboard *,
.opn-dgac-wrap *,
.pt-wrap *,
.ei-admin-wrap *,
.eac-ccav-wrap *,
.eac-ccaqr *,
.eac-ccaqr-v173 *,
.cca-delivery-wrap *,
.cpe-wrap *,
.cps-wrap *,
.ccaidr9-wrap *,
.esm-wrap *,
.tem-wrap *,
.ets-wrap *,
.idm-console-wrap *,
.idm-admin-wrap *,
.visio-signin *,
.visio-setup *{
  box-sizing:border-box !important;
}

/* Main shortcode containers */
.opn-ui-wrap,
.opn-suite-dashboard,
.opn-suite-settings,
.opn-ai-dashboard,
.opn-dgac-wrap,
.pt-wrap{
  max-width:1220px !important;
  width:100% !important;
  margin:0 auto !important;
  padding:16px 14px 30px !important;
}
.wp-admin .opn-ui-wrap,
.wp-admin .pt-wrap,
.wp-admin .opn-suite-dashboard{
  max-width:none !important;
  margin:0 !important;
}

/* Hero injected by opn-modern-ui.js */
.opn-ui-hero{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  margin:0 0 18px !important;
  padding:22px 24px !important;
  border-radius:24px !important;
  background:
    radial-gradient(circle at 88% 0%, rgba(125,211,252,.38), transparent 32%),
    linear-gradient(135deg,#0f172a 0%,#1e3a8a 52%,#2563eb 100%) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:0 22px 54px rgba(15,23,42,.20) !important;
  color:#fff !important;
}
.opn-ui-hero:before{
  content:"";
  position:absolute;
  inset:-50% auto auto -18%;
  width:360px;
  height:360px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  pointer-events:none;
}
.opn-ui-hero__content{position:relative;z-index:1;min-width:0;}
.opn-ui-hero__eyebrow{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  margin:0 0 9px !important;
  padding:6px 10px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.14) !important;
  border:1px solid rgba(255,255,255,.20) !important;
  color:#dbeafe !important;
  font-size:11px !important;
  font-weight:850 !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
}
.opn-ui-hero h1,
.opn-ui-hero__title{
  margin:0 !important;
  padding:0 !important;
  color:#fff !important;
  font-size:clamp(24px,3vw,34px) !important;
  line-height:1.05 !important;
  font-weight:950 !important;
  letter-spacing:-.03em !important;
}
.opn-ui-hero__subtitle{
  margin:9px 0 0 !important;
  max-width:760px !important;
  color:#dbeafe !important;
  font-size:13px !important;
  line-height:1.55 !important;
}
.opn-ui-hero__badge{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:center;
  gap:3px;
  min-width:118px;
  padding:12px 14px !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.12) !important;
  border:1px solid rgba(255,255,255,.22) !important;
  backdrop-filter:blur(8px);
}
.opn-ui-hero__badge strong{color:#fff !important;font-size:17px !important;line-height:1 !important;}
.opn-ui-hero__badge span{color:#dbeafe !important;font-size:11px !important;text-transform:uppercase !important;letter-spacing:.06em !important;font-weight:800 !important;}

/* Cards / panels */
.opn-ui-panel,
.opn-suite-card,
.opn-ai-card,
.opn-dgac-card,
.pt-table-wrap,
.pt-import,
.pt-imp-card,
.pt-my-card,
.card,
.panel,
.cps-card,
.cpe-panel,
.ccaidr-section,
.eac-ccav-card,
.eac-ccaqr-card,
.eac-ccaqr-v173-card,
.esm-card,
.tem-section,
.ei-info,
.ei-field-group,
.idm-console-section,
.idm-card,
.visio-alert,
.visio-success,
.pt-reset-panel{
  background:#fff !important;
  border:1px solid var(--opn-ui-line) !important;
  border-radius:var(--opn-ui-radius) !important;
  box-shadow:var(--opn-ui-shadow-sm) !important;
  padding:16px !important;
}
.opn-ui-panel + .opn-ui-panel,
.opn-suite-card + .opn-suite-card,
.pt-table-wrap + .pt-import{margin-top:14px !important;}

.opn-ui-panel__title,
.opn-ui-wrap h2,
.opn-suite-dashboard h2,
.pt-wrap h2,
.cpe-panel h2,
.cps-card h2,
.esm-card-title,
.tem-section h3,
.idm-console-section h2{
  margin:0 0 10px !important;
  color:var(--opn-ui-ink) !important;
  font-weight:900 !important;
  letter-spacing:-.02em !important;
}

/* Dashboard / KPI cards */
.opn-ui-kpi-grid,
.opn-suite-dashboard .opn-suite-grid,
.opn-ai-kpi-grid,
.opn-dgac-kpi-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr)) !important;
  gap:12px !important;
  margin:14px 0 18px !important;
}
.opn-ui-kpi,
.opn-ai-kpi,
.opn-dgac-kpi,
.esm-kpi,
.ccaidr-metric{
  background:linear-gradient(180deg,#fff,#f8fafc) !important;
  border:1px solid var(--opn-ui-line) !important;
  border-radius:18px !important;
  box-shadow:var(--opn-ui-shadow-sm) !important;
  padding:14px !important;
}
.opn-ui-kpi__label,
.opn-ai-kpi span,
.opn-dgac-kpi span,
.esm-kpi-label{
  display:block !important;
  color:var(--opn-ui-muted) !important;
  font-size:11px !important;
  font-weight:850 !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
  margin:0 0 5px !important;
}
.opn-ui-kpi__value,
.opn-ai-kpi strong,
.opn-dgac-kpi strong,
.esm-big{
  display:block !important;
  color:var(--opn-ui-ink) !important;
  font-size:24px !important;
  line-height:1 !important;
  font-weight:950 !important;
}

/* Forms */
.opn-ui-wrap label,
.opn-suite-dashboard label,
.opn-suite-card label,
.pt-wrap label,
.ei-admin-wrap label,
.cpe-wrap label,
.cps-wrap label,
.ccaidr9-wrap label,
.esm-wrap label,
.tem-wrap label,
.idm-console-wrap label,
.visio-signin label,
.visio-setup label{
  color:#475569 !important;
  font-size:12px !important;
  font-weight:800 !important;
}
.opn-ui-wrap input[type="text"],
.opn-ui-wrap input[type="email"],
.opn-ui-wrap input[type="tel"],
.opn-ui-wrap input[type="number"],
.opn-ui-wrap input[type="date"],
.opn-ui-wrap input[type="search"],
.opn-ui-wrap input[type="url"],
.opn-ui-wrap input[type="password"],
.opn-ui-wrap select,
.opn-ui-wrap textarea,
.opn-suite-dashboard input[type="text"],
.opn-suite-dashboard input[type="email"],
.opn-suite-dashboard input[type="tel"],
.opn-suite-dashboard input[type="number"],
.opn-suite-dashboard input[type="date"],
.opn-suite-dashboard input[type="search"],
.opn-suite-dashboard input[type="url"],
.opn-suite-dashboard input[type="password"],
.opn-suite-dashboard select,
.opn-suite-dashboard textarea,
.opn-suite-card input[type="text"],
.opn-suite-card input[type="email"],
.opn-suite-card input[type="tel"],
.opn-suite-card input[type="number"],
.opn-suite-card input[type="date"],
.opn-suite-card input[type="search"],
.opn-suite-card input[type="url"],
.opn-suite-card input[type="password"],
.opn-suite-card select,
.opn-suite-card textarea,
.pt-wrap input[type="text"],
.pt-wrap input[type="email"],
.pt-wrap input[type="tel"],
.pt-wrap input[type="number"],
.pt-wrap input[type="date"],
.pt-wrap input[type="search"],
.pt-wrap input[type="url"],
.pt-wrap input[type="password"],
.pt-wrap select,
.pt-wrap textarea,
.ei-admin-wrap input,
.ei-admin-wrap select,
.ei-admin-wrap textarea,
.cpe-wrap input,
.cpe-wrap select,
.cpe-wrap textarea,
.cps-wrap input,
.cps-wrap select,
.cps-wrap textarea,
.ccaidr9-wrap input,
.ccaidr9-wrap select,
.ccaidr9-wrap textarea,
.esm-wrap input,
.esm-wrap select,
.esm-wrap textarea,
.tem-wrap input,
.tem-wrap select,
.tem-wrap textarea,
.idm-console-wrap input,
.idm-console-wrap select,
.idm-console-wrap textarea,
.visio-signin input,
.visio-signin select,
.visio-signin textarea,
.visio-setup input,
.visio-setup select,
.visio-setup textarea{
  min-height:38px !important;
  width:auto;
  max-width:100%;
  padding:8px 11px !important;
  border:1px solid #cbd5e1 !important;
  border-radius:12px !important;
  background:#fff !important;
  color:var(--opn-ui-ink) !important;
  box-shadow:none !important;
  outline:none !important;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease !important;
}
.opn-ui-wrap textarea,
.opn-suite-dashboard textarea,
.opn-suite-card textarea,
.pt-wrap textarea,
.ei-admin-wrap textarea,
.cpe-wrap textarea,
.cps-wrap textarea,
.ccaidr9-wrap textarea,
.esm-wrap textarea,
.tem-wrap textarea,
.idm-console-wrap textarea{min-height:110px !important;}
.opn-ui-wrap input:focus,
.opn-ui-wrap select:focus,
.opn-ui-wrap textarea:focus,
.opn-suite-dashboard input:focus,
.opn-suite-dashboard select:focus,
.opn-suite-dashboard textarea:focus,
.opn-suite-card input:focus,
.opn-suite-card select:focus,
.opn-suite-card textarea:focus,
.pt-wrap input:focus,
.pt-wrap select:focus,
.pt-wrap textarea:focus,
.ei-admin-wrap input:focus,
.ei-admin-wrap select:focus,
.ei-admin-wrap textarea:focus,
.cpe-wrap input:focus,
.cpe-wrap select:focus,
.cpe-wrap textarea:focus,
.cps-wrap input:focus,
.cps-wrap select:focus,
.cps-wrap textarea:focus,
.ccaidr9-wrap input:focus,
.ccaidr9-wrap select:focus,
.ccaidr9-wrap textarea:focus,
.esm-wrap input:focus,
.esm-wrap select:focus,
.esm-wrap textarea:focus,
.tem-wrap input:focus,
.tem-wrap select:focus,
.tem-wrap textarea:focus,
.idm-console-wrap input:focus,
.idm-console-wrap select:focus,
.idm-console-wrap textarea:focus{
  border-color:var(--opn-ui-blue-2) !important;
  box-shadow:0 0 0 4px rgba(37,99,235,.13) !important;
}

/* Toolbars */
.pt-controls,
.pt-filters,
.esm-toolbar,
.tem-toolbar,
.cpe-toolbar,
.cps-toolbar,
.ei-admin-filters,
.idm-toolbar,
.opn-ui-toolbar{
  display:flex !important;
  align-items:flex-end !important;
  gap:10px !important;
  flex-wrap:wrap !important;
  margin:12px 0 !important;
}
.pt-controls label,
.pt-filters label,
.opn-ui-toolbar label{
  display:flex !important;
  flex-direction:column !important;
  gap:5px !important;
  margin:0 !important;
  text-transform:uppercase !important;
  letter-spacing:.035em !important;
  font-size:11px !important;
}

/* Buttons */
.opn-ui-wrap .button,
.opn-ui-wrap button,
.opn-ui-wrap input[type="submit"],
.opn-suite-dashboard .button,
.opn-suite-dashboard button,
.opn-suite-card .button,
.opn-suite-card button,
.pt-wrap .button,
.pt-wrap button,
.ei-admin-wrap .button,
.ei-admin-wrap button,
.cpe-wrap .button,
.cpe-wrap button,
.cps-wrap .button,
.cps-wrap button,
.ccaidr9-wrap .button,
.ccaidr9-wrap button,
.esm-wrap .button,
.esm-wrap button,
.tem-wrap .button,
.tem-wrap button,
.idm-console-wrap .button,
.idm-console-wrap button,
.visio-signin .button,
.visio-signin button,
.visio-setup .button,
.visio-setup button,
.btn,
.opn-btn,
.esm-btn,
.cps-btn,
.cpe-btn,
.ei-btn,
.eac-ccav-btn,
.eac-ccaqr-btn,
.eac-ccaqr-v173-btn{
  min-height:36px !important;
  border-radius:12px !important;
  border:1px solid #cbd5e1 !important;
  background:#fff !important;
  color:#1e293b !important;
  font-weight:800 !important;
  font-size:12px !important;
  line-height:1.2 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  padding:8px 12px !important;
  text-decoration:none !important;
  box-shadow:0 1px 0 rgba(15,23,42,.04) !important;
  cursor:pointer !important;
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease, background .12s ease, color .12s ease !important;
}
.opn-ui-wrap .button:hover,
.opn-ui-wrap button:hover,
.opn-suite-dashboard .button:hover,
.opn-suite-dashboard button:hover,
.opn-suite-card .button:hover,
.opn-suite-card button:hover,
.pt-wrap .button:hover,
.pt-wrap button:hover,
.ei-admin-wrap button:hover,
.cpe-wrap button:hover,
.cps-wrap button:hover,
.ccaidr9-wrap button:hover,
.esm-wrap button:hover,
.tem-wrap button:hover,
.idm-console-wrap button:hover,
.visio-signin button:hover,
.visio-setup button:hover,
.btn:hover,
.opn-btn:hover,
.esm-btn:hover,
.cps-btn:hover,
.cpe-btn:hover,
.ei-btn:hover{
  transform:translateY(-1px) !important;
  box-shadow:0 9px 20px rgba(15,23,42,.10) !important;
  border-color:#94a3b8 !important;
  color:#0f172a !important;
}
.opn-ui-wrap .button-primary,
.opn-ui-wrap button[type="submit"],
.opn-suite-dashboard .button-primary,
.opn-suite-card .button-primary,
.pt-wrap .button-primary,
.pt-load,
.pt-apply-filters,
.pt-session-pdf,
.esm-btn-primary,
.btn-primary,
.cps-btn-primary,
.ei-btn-primary{
  background:linear-gradient(135deg,var(--opn-ui-blue),var(--opn-ui-blue-2)) !important;
  border-color:var(--opn-ui-blue) !important;
  color:#fff !important;
  box-shadow:0 12px 24px rgba(37,99,235,.20) !important;
}
.opn-ui-wrap .button-primary:hover,
.opn-ui-wrap button[type="submit"]:hover,
.opn-suite-dashboard .button-primary:hover,
.opn-suite-card .button-primary:hover,
.pt-wrap .button-primary:hover,
.pt-load:hover,
.pt-apply-filters:hover,
.pt-session-pdf:hover,
.esm-btn-primary:hover,
.btn-primary:hover{
  color:#fff !important;
  filter:brightness(.98) !important;
}
.button-link-delete,
.pt-btn-del,
.pt-btn-reset-all{color:#fff !important;background:var(--opn-ui-red) !important;border-color:#b91c1c !important;}

/* Tables */
.opn-ui-table-scroll{
  width:100% !important;
  overflow:auto !important;
  border:1px solid var(--opn-ui-line) !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:var(--opn-ui-shadow-sm) !important;
}
.opn-ui-table-scroll table{margin:0 !important;border:0 !important;box-shadow:none !important;}
.opn-ui-wrap table,
.opn-suite-dashboard table,
.opn-suite-card table,
.pt-wrap table,
.ei-admin-wrap table,
.cpe-wrap table,
.cps-wrap table,
.ccaidr9-wrap table,
.esm-wrap table,
.tem-wrap table,
.idm-console-wrap table,
.visio-table,
.widefat,
.wp-list-table,
.pt-table,
.esm-table,
.tem-table,
.ei-table{
  width:100% !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  background:#fff !important;
  border:1px solid var(--opn-ui-line) !important;
  border-radius:18px !important;
  overflow:hidden !important;
}
.opn-ui-wrap th,
.opn-suite-dashboard th,
.opn-suite-card th,
.pt-wrap th,
.ei-admin-wrap th,
.cpe-wrap th,
.cps-wrap th,
.ccaidr9-wrap th,
.esm-wrap th,
.tem-wrap th,
.idm-console-wrap th,
.visio-table th,
.widefat th,
.wp-list-table th{
  background:#f8fafc !important;
  color:#334155 !important;
  border-bottom:1px solid var(--opn-ui-line) !important;
  padding:11px 12px !important;
  font-size:11px !important;
  font-weight:900 !important;
  letter-spacing:.055em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}
.opn-ui-wrap td,
.opn-suite-dashboard td,
.opn-suite-card td,
.pt-wrap td,
.ei-admin-wrap td,
.cpe-wrap td,
.cps-wrap td,
.ccaidr9-wrap td,
.esm-wrap td,
.tem-wrap td,
.idm-console-wrap td,
.visio-table td,
.widefat td,
.wp-list-table td{
  padding:11px 12px !important;
  border-bottom:1px solid #eef2f7 !important;
  color:#0f172a !important;
  vertical-align:middle !important;
}
.opn-ui-wrap tr:hover td,
.opn-suite-dashboard tr:hover td,
.opn-suite-card tr:hover td,
.pt-wrap tr:hover td,
.ei-admin-wrap tr:hover td,
.cpe-wrap tr:hover td,
.cps-wrap tr:hover td,
.ccaidr9-wrap tr:hover td,
.esm-wrap tr:hover td,
.tem-wrap tr:hover td,
.idm-console-wrap tr:hover td{background:#f8fbff !important;}
.opn-ui-table-tools{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:10px !important;
  margin:10px 0 !important;
}
.opn-ui-table-search{
  min-width:min(100%,320px) !important;
  border-radius:999px !important;
}
.opn-ui-empty-row td{
  padding:18px !important;
  color:var(--opn-ui-muted) !important;
  font-weight:800 !important;
  text-align:center !important;
}

/* Badges / status pills */
.pt-pill,
.badge,
.cpe-pill,
.ei-badge,
.idm-badge,
.idm-status,
.esm-chip,
.tem-pill,
.opn-td-status,
.ccaidr-badge,
.eac-ccav-result,
.notice.inline,
.opn-ui-badge{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:5px !important;
  min-height:24px !important;
  padding:4px 9px !important;
  border-radius:999px !important;
  border:1px solid #cbd5e1 !important;
  background:#f8fafc !important;
  color:#334155 !important;
  font-size:11px !important;
  font-weight:900 !important;
  letter-spacing:.025em !important;
  white-space:nowrap !important;
}
.opn-status-blue,
.cpe-pill-blue,
.opn-ui-badge--blue{background:#dbeafe !important;border-color:#93c5fd !important;color:#1e3a8a !important;}
.opn-status-green,
.ok,
.good,
.success,
.pt-pill--ok,
.esm-chip-ok,
.opn-ui-badge--green{background:#dcfce7 !important;border-color:#86efac !important;color:#166534 !important;}
.opn-status-orange,
.warn,
.warning,
.pt-pill--warn,
.esm-chip-warn,
.opn-ui-badge--orange{background:#ffedd5 !important;border-color:#fdba74 !important;color:#9a3412 !important;}
.opn-status-red,
.bad,
.error,
.pt-pill--bad,
.esm-chip-danger,
.opn-ui-badge--red{background:#fee2e2 !important;border-color:#fca5a5 !important;color:#991b1b !important;}
.opn-ui-badge--purple{background:#ede9fe !important;border-color:#c4b5fd !important;color:#5b21b6 !important;}
.opn-ui-badge--slate{background:#e2e8f0 !important;border-color:#cbd5e1 !important;color:#334155 !important;}

/* Notices */
.opn-ui-wrap .notice,
.opn-suite-dashboard .notice,
.opn-suite-card .notice,
.pt-wrap .notice,
.ei-admin-wrap .notice,
.cpe-wrap .notice,
.cps-wrap .notice,
.ccaidr9-wrap .notice,
.esm-wrap .notice,
.tem-wrap .notice,
.idm-console-wrap .notice,
.alert,
.cpe-alert,
.ccaidr-alert,
.opn-dgac-alert{
  border-radius:14px !important;
  border:1px solid var(--opn-ui-line) !important;
  border-left-width:5px !important;
  box-shadow:var(--opn-ui-shadow-sm) !important;
  padding:11px 14px !important;
  background:#fff !important;
}
.notice-success,.alert-success{border-left-color:var(--opn-ui-green) !important;}
.notice-warning,.alert-warning{border-left-color:var(--opn-ui-amber) !important;}
.notice-error,.alert-danger,.alert-error{border-left-color:var(--opn-ui-red) !important;}
.notice-info,.alert-info{border-left-color:var(--opn-ui-blue) !important;}

/* Modal polish */
.pt-modal__dialog,
.esm-modal,
.ccaidr-modal,
.opn-ui-modal{
  border-radius:22px !important;
  border:1px solid rgba(219,227,239,.95) !important;
  box-shadow:0 30px 80px rgba(15,23,42,.30) !important;
  overflow:hidden !important;
}
.pt-modal__header,
.esm-modal-header,
.ccaidr-modal-header{
  background:linear-gradient(135deg,#0f172a,#1e3a8a) !important;
  color:#fff !important;
  border-bottom:0 !important;
}
.pt-modal__header h3,
.esm-modal-title,
.ccaidr-modal-title{color:#fff !important;margin:0 !important;font-weight:900 !important;}
.pt-modal__close,
.esm-modal-close,
.ccaidr-modal-close{color:#fff !important;background:rgba(255,255,255,.14) !important;border-color:rgba(255,255,255,.25) !important;}
.pt-modal__backdrop,
.esm-modal-backdrop{background:rgba(15,23,42,.62) !important;backdrop-filter:blur(4px) !important;}

/* DGAC compatibility: shortcode name can stay tmcad_issue, UI must look DGAC */
.opn-dgac-wrap .opn-ui-hero__eyebrow:before,
body.opn-suite-ui-active [data-opn-ui-context="dgac"] .opn-ui-hero__eyebrow:before{content:"DGAC · ";}

/* Payment tracker front-end cards */
.pt-my-wrap{display:grid !important;grid-template-columns:repeat(auto-fit,minmax(280px,1fr)) !important;gap:14px !important;margin:12px 0 24px !important;}
.pt-my-card{padding:18px !important;}
.pt-my-head{display:flex !important;align-items:flex-start !important;justify-content:space-between !important;gap:12px !important;margin-bottom:12px !important;}
.pt-my-title{font-size:14px !important;color:var(--opn-ui-ink) !important;}
.pt-my-grid{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:12px !important;}
.pt-my-k{font-size:11px !important;color:var(--opn-ui-muted) !important;text-transform:uppercase !important;letter-spacing:.05em !important;font-weight:850 !important;margin-bottom:4px !important;}
.pt-my-v{font-size:16px !important;color:var(--opn-ui-ink) !important;font-weight:850 !important;}

/* Assistant IA: top-level visual refinement */
.opn-ai-root .opn-ai-launcher{
  background:linear-gradient(135deg,#1d4ed8,#7c3aed) !important;
  box-shadow:0 18px 44px rgba(37,99,235,.30) !important;
}
.opn-ai-panel-head{
  background:linear-gradient(135deg,#0f172a 0%,#1e3a8a 58%,#6d28d9 100%) !important;
}
.opn-ai-output{border-radius:16px !important;box-shadow:inset 0 0 0 1px rgba(219,227,239,.35) !important;}
.opn-ai-quick-actions button,
.opn-ai-actions button{transition:transform .12s ease, box-shadow .12s ease !important;}
.opn-ai-quick-actions button:hover,
.opn-ai-actions button:hover{transform:translateY(-1px) !important;box-shadow:0 8px 18px rgba(15,23,42,.09) !important;}

/* Responsive tables */
@media(max-width:760px){
  .opn-ui-hero{grid-template-columns:1fr !important;padding:18px !important;}
  .opn-ui-hero__badge{align-items:flex-start !important;width:max-content !important;}
  .pt-controls,.pt-filters,.esm-toolbar,.tem-toolbar,.cpe-toolbar,.cps-toolbar,.opn-ui-toolbar{align-items:stretch !important;}
  .pt-controls > *, .pt-filters > *, .opn-ui-toolbar > *{width:100% !important;}
  .opn-ui-wrap table.opn-ui-responsive,
  .opn-suite-dashboard table.opn-ui-responsive,
  .opn-suite-card table.opn-ui-responsive,
  .pt-wrap table.opn-ui-responsive,
  .ei-admin-wrap table.opn-ui-responsive,
  .cpe-wrap table.opn-ui-responsive,
  .cps-wrap table.opn-ui-responsive,
  .ccaidr9-wrap table.opn-ui-responsive,
  .esm-wrap table.opn-ui-responsive,
  .tem-wrap table.opn-ui-responsive,
  .idm-console-wrap table.opn-ui-responsive{border:0 !important;background:transparent !important;}
  table.opn-ui-responsive thead{display:none !important;}
  table.opn-ui-responsive tr{
    display:block !important;
    margin:0 0 12px !important;
    background:#fff !important;
    border:1px solid var(--opn-ui-line) !important;
    border-radius:16px !important;
    box-shadow:var(--opn-ui-shadow-sm) !important;
    overflow:hidden !important;
  }
  table.opn-ui-responsive td{
    display:grid !important;
    grid-template-columns:132px minmax(0,1fr) !important;
    gap:10px !important;
    border-bottom:1px solid #eef2f7 !important;
    min-height:42px !important;
  }
  table.opn-ui-responsive td:before{
    content:attr(data-label);
    color:var(--opn-ui-muted);
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.04em;
  }
  .pt-my-grid{grid-template-columns:1fr !important;}
}

@media(prefers-reduced-motion:reduce){
  .opn-ui-wrap *, .opn-suite-dashboard *, .opn-suite-card *, .pt-wrap *, .opn-ai-root *{transition:none !important;animation:none !important;}
}

/* ============================================================
   OPN UI 0.6.5 — boutons colorés, sections extensibles, titres masqués
   Force !important pour neutraliser les thèmes WordPress/page builders.
   ============================================================ */
body.opn-suite-ui-active:not(.wp-admin) .opn-ui-hidden-page-title,
body.opn-suite-ui-active:not(.wp-admin) .opn-ui-hidden-page-title-wrap,
body.opn-suite-ui-active:not(.wp-admin) .opn-ui-legacy-title-hidden{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
}
body.opn-suite-ui-active:not(.wp-admin) .entry-header.opn-ui-hidden-page-title-wrap,
body.opn-suite-ui-active:not(.wp-admin) .page-header.opn-ui-hidden-page-title-wrap{
  display:none!important;
}

/* Default all enhanced actions are now visibly colored, not white/grey. */
body.opn-suite-ui-active .opn-ui-action,
body.opn-suite-ui-active .opn-ui-wrap .opn-ui-action,
body.opn-suite-ui-active .pt-wrap .opn-ui-action,
body.opn-suite-ui-active .opn-suite-dashboard .opn-ui-action,
body.opn-suite-ui-active .opn-suite-card .opn-ui-action,
body.opn-suite-ui-active .ei-admin-wrap .opn-ui-action,
body.opn-suite-ui-active .cpe-wrap .opn-ui-action,
body.opn-suite-ui-active .cps-wrap .opn-ui-action,
body.opn-suite-ui-active .ccaidr9-wrap .opn-ui-action,
body.opn-suite-ui-active .esm-wrap .opn-ui-action,
body.opn-suite-ui-active .tem-wrap .opn-ui-action,
body.opn-suite-ui-active .idm-console-wrap .opn-ui-action,
body.opn-suite-ui-active .tmcad-wrap .opn-ui-action,
body.opn-suite-ui-active .visio-signin .opn-ui-action,
body.opn-suite-ui-active .visio-setup .opn-ui-action,
body.opn-suite-ui-active input.opn-ui-action,
body.opn-suite-ui-active a.opn-ui-action{
  min-height:38px!important;
  border-radius:13px!important;
  border:1px solid rgba(15,23,42,.16)!important;
  background:linear-gradient(135deg,#334155 0%,#0f172a 100%)!important;
  color:#ffffff!important;
  font-weight:900!important;
  font-size:12px!important;
  line-height:1.15!important;
  letter-spacing:.005em!important;
  text-decoration:none!important;
  text-shadow:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  padding:9px 13px!important;
  box-shadow:0 12px 25px rgba(15,23,42,.17)!important;
  cursor:pointer!important;
  transform:translateY(0)!important;
  transition:transform .14s ease,box-shadow .14s ease,filter .14s ease,background .14s ease,border-color .14s ease!important;
}
body.opn-suite-ui-active .opn-ui-action:hover,
body.opn-suite-ui-active .opn-ui-action:focus{
  color:#ffffff!important;
  filter:brightness(1.05)!important;
  transform:translateY(-1px)!important;
  box-shadow:0 16px 31px rgba(15,23,42,.22)!important;
  outline:none!important;
}
body.opn-suite-ui-active .opn-ui-action:focus-visible{
  box-shadow:0 0 0 4px rgba(37,99,235,.20),0 16px 31px rgba(15,23,42,.22)!important;
}
body.opn-suite-ui-active .opn-ui-action[disabled],
body.opn-suite-ui-active .opn-ui-action:disabled{
  opacity:.55!important;
  cursor:not-allowed!important;
  filter:grayscale(.12)!important;
  transform:none!important;
  box-shadow:none!important;
}

body.opn-suite-ui-active .opn-ui-action--blue,
body.opn-suite-ui-active .button-primary,
body.opn-suite-ui-active input[type="submit"].opn-ui-action,
body.opn-suite-ui-active .pt-load,
body.opn-suite-ui-active .pt-apply-filters,
body.opn-suite-ui-active .pt-session-pdf,
body.opn-suite-ui-active .pt-imp-do,
body.opn-suite-ui-active .tmcad-btn-primary,
body.opn-suite-ui-active .esm-btn-primary,
body.opn-suite-ui-active .cps-btn-primary,
body.opn-suite-ui-active .cpe-btn-primary,
body.opn-suite-ui-active .ei-btn-primary{
  background:linear-gradient(135deg,#1d4ed8 0%,#2563eb 52%,#38bdf8 100%)!important;
  border-color:#1d4ed8!important;
  color:#ffffff!important;
  box-shadow:0 14px 30px rgba(37,99,235,.28)!important;
}
body.opn-suite-ui-active .opn-ui-action--green,
body.opn-suite-ui-active .pt-save,
body.opn-suite-ui-active .pt-reconcile,
body.opn-suite-ui-active .opn-save,
body.opn-suite-ui-active button[name*="save"],
body.opn-suite-ui-active button[name*="valid"],
body.opn-suite-ui-active input[name*="save"],
body.opn-suite-ui-active input[name*="valid"]{
  background:linear-gradient(135deg,#047857 0%,#16a34a 56%,#86efac 100%)!important;
  border-color:#047857!important;
  color:#ffffff!important;
  box-shadow:0 14px 30px rgba(22,163,74,.25)!important;
}
body.opn-suite-ui-active .opn-ui-action--orange,
body.opn-suite-ui-active .pt-btn-reset,
body.opn-suite-ui-active .pt-reset-payments,
body.opn-suite-ui-active .pt-reset-panel .button,
body.opn-suite-ui-active button[name*="reset"],
body.opn-suite-ui-active input[type="reset"]{
  background:linear-gradient(135deg,#b45309 0%,#f59e0b 58%,#fde68a 100%)!important;
  border-color:#b45309!important;
  color:#ffffff!important;
  box-shadow:0 14px 30px rgba(245,158,11,.25)!important;
}
body.opn-suite-ui-active .opn-ui-action--red,
body.opn-suite-ui-active .button-link-delete,
body.opn-suite-ui-active .pt-btn-del,
body.opn-suite-ui-active .pt-del,
body.opn-suite-ui-active .pt-pay-del,
body.opn-suite-ui-active .pt-reset-all,
body.opn-suite-ui-active button[name*="delete"],
body.opn-suite-ui-active button[name*="remove"]{
  background:linear-gradient(135deg,#991b1b 0%,#dc2626 57%,#fb7185 100%)!important;
  border-color:#991b1b!important;
  color:#ffffff!important;
  box-shadow:0 14px 30px rgba(220,38,38,.27)!important;
}
body.opn-suite-ui-active .opn-ui-action--purple,
body.opn-suite-ui-active .opn-ai-send,
body.opn-suite-ui-active .opn-ai-url-scan,
body.opn-suite-ui-active .opn-ai-check-emails,
body.opn-suite-ui-active .opn-ai-quick-actions button,
body.opn-suite-ui-active .eac-ccaqr-btn,
body.opn-suite-ui-active .eac-ccaqr-v173-btn{
  background:linear-gradient(135deg,#5b21b6 0%,#7c3aed 55%,#c084fc 100%)!important;
  border-color:#5b21b6!important;
  color:#ffffff!important;
  box-shadow:0 14px 30px rgba(124,58,237,.27)!important;
}
body.opn-suite-ui-active .opn-ui-action--neutral{
  background:linear-gradient(135deg,#334155 0%,#475569 100%)!important;
  border-color:#334155!important;
  color:#ffffff!important;
}
body.opn-suite-ui-active .opn-ui-action--ghost,
body.opn-suite-ui-active .pt-modal__close.opn-ui-action,
body.opn-suite-ui-active .opn-ai-close.opn-ui-action{
  background:linear-gradient(135deg,#64748b 0%,#334155 100%)!important;
  border-color:#475569!important;
  color:#ffffff!important;
  box-shadow:0 10px 21px rgba(51,65,85,.19)!important;
}
body.opn-suite-ui-active .opn-ai-floating .opn-ai-launcher{
  background:linear-gradient(135deg,#1d4ed8 0%,#7c3aed 100%)!important;
  color:#ffffff!important;
}

/* Expandable section system */
body.opn-suite-ui-active .opn-ui-extend-toolbar{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  margin:-6px 0 14px!important;
  padding:10px!important;
  border:1px solid #dbe3ef!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%)!important;
  box-shadow:0 8px 21px rgba(15,23,42,.06)!important;
}
body.opn-suite-ui-active .opn-ui-extendable{
  padding:0!important;
  overflow:hidden!important;
  background:#ffffff!important;
  border:1px solid #dbe3ef!important;
  border-radius:20px!important;
  box-shadow:0 14px 34px rgba(15,23,42,.08)!important;
}
body.opn-suite-ui-active .opn-ui-extendable + .opn-ui-extendable{
  margin-top:14px!important;
}
body.opn-suite-ui-active .opn-ui-extendable-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:14px 16px!important;
  margin:0!important;
  border-bottom:1px solid #dbe3ef!important;
  background:radial-gradient(circle at 100% 0%,rgba(56,189,248,.18),transparent 28%),linear-gradient(135deg,#f8fafc 0%,#eef6ff 100%)!important;
  color:#0f172a!important;
}
body.opn-suite-ui-active .opn-ui-extendable.is-collapsed .opn-ui-extendable-head{
  border-bottom:0!important;
}
body.opn-suite-ui-active .opn-ui-extendable-head h1,
body.opn-suite-ui-active .opn-ui-extendable-head h2,
body.opn-suite-ui-active .opn-ui-extendable-head h3,
body.opn-suite-ui-active .opn-ui-extendable-head h4,
body.opn-suite-ui-active .opn-ui-extendable-head legend,
body.opn-suite-ui-active .opn-ui-extendable-head .pt-panel__head,
body.opn-suite-ui-active .opn-ui-extendable-head .esm-card-title{
  margin:0!important;
  padding:0!important;
  color:#0f172a!important;
  font-weight:950!important;
  letter-spacing:-.02em!important;
  line-height:1.2!important;
}
body.opn-suite-ui-active .opn-ui-extendable-head .pt-panel__head,
body.opn-suite-ui-active .opn-ui-extendable-head .opn-ui-panel__head{
  flex:1 1 auto!important;
  display:block!important;
}
body.opn-suite-ui-active .opn-ui-extend-toggle{
  flex:0 0 auto!important;
  min-height:32px!important;
  padding:7px 10px!important;
  border-radius:999px!important;
  font-size:11px!important;
  text-transform:uppercase!important;
  letter-spacing:.045em!important;
}
body.opn-suite-ui-active .opn-ui-extend-toggle:before{
  content:"▾"!important;
  display:inline-block!important;
  margin-right:3px!important;
  transition:transform .16s ease!important;
}
body.opn-suite-ui-active .opn-ui-extendable.is-collapsed .opn-ui-extend-toggle:before{
  transform:rotate(-90deg)!important;
}
body.opn-suite-ui-active .opn-ui-extendable-body{
  display:block!important;
  padding:16px!important;
  background:#ffffff!important;
}
body.opn-suite-ui-active .opn-ui-extendable-body[hidden]{
  display:none!important;
}

/* Native details/summary receive the same extendable design. */
body.opn-suite-ui-active details.opn-ui-details,
body.opn-suite-ui-active .opn-ui-wrap details,
body.opn-suite-ui-active .pt-wrap details,
body.opn-suite-ui-active .tmcad-wrap details{
  border:1px solid #dbe3ef!important;
  border-radius:18px!important;
  background:#ffffff!important;
  box-shadow:0 9px 24px rgba(15,23,42,.07)!important;
  overflow:hidden!important;
  margin:10px 0!important;
}
body.opn-suite-ui-active details.opn-ui-details > summary,
body.opn-suite-ui-active .opn-ui-wrap details > summary,
body.opn-suite-ui-active .pt-wrap details > summary,
body.opn-suite-ui-active .tmcad-wrap details > summary{
  list-style:none!important;
  cursor:pointer!important;
  user-select:none!important;
  padding:13px 15px!important;
  background:linear-gradient(135deg,#eef6ff 0%,#f8fafc 100%)!important;
  color:#0f172a!important;
  font-weight:950!important;
  border-bottom:1px solid #dbe3ef!important;
}
body.opn-suite-ui-active details.opn-ui-details > summary::-webkit-details-marker,
body.opn-suite-ui-active .opn-ui-wrap details > summary::-webkit-details-marker{
  display:none!important;
}
body.opn-suite-ui-active details.opn-ui-details > summary:before,
body.opn-suite-ui-active .opn-ui-wrap details > summary:before,
body.opn-suite-ui-active .pt-wrap details > summary:before,
body.opn-suite-ui-active .tmcad-wrap details > summary:before{
  content:"▸"!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:22px!important;
  height:22px!important;
  margin-right:8px!important;
  border-radius:999px!important;
  background:#1d4ed8!important;
  color:#ffffff!important;
  font-size:11px!important;
  transition:transform .16s ease!important;
}
body.opn-suite-ui-active details[open].opn-ui-details > summary:before,
body.opn-suite-ui-active .opn-ui-wrap details[open] > summary:before,
body.opn-suite-ui-active .pt-wrap details[open] > summary:before,
body.opn-suite-ui-active .tmcad-wrap details[open] > summary:before{
  transform:rotate(90deg)!important;
}

/* Expandable table rows */
body.opn-suite-ui-active .opn-ui-row-expand-th,
body.opn-suite-ui-active .opn-ui-row-expand-cell{
  width:1%!important;
  white-space:nowrap!important;
  text-align:center!important;
}
body.opn-suite-ui-active .opn-ui-row-expand-toggle{
  min-height:30px!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  font-size:11px!important;
  text-transform:uppercase!important;
  letter-spacing:.035em!important;
}
body.opn-suite-ui-active tr.opn-ui-row-open > td{
  background:#f8fbff!important;
}
body.opn-suite-ui-active .opn-ui-details-row td.opn-ui-details-cell{
  padding:0!important;
  background:#f8fbff!important;
  border-bottom:1px solid #dbe3ef!important;
}
body.opn-suite-ui-active .opn-ui-row-details-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;
  gap:10px!important;
  padding:14px!important;
}
body.opn-suite-ui-active .opn-ui-row-detail-item{
  min-width:0!important;
  padding:10px 11px!important;
  border:1px solid #dbe3ef!important;
  border-radius:14px!important;
  background:#ffffff!important;
  box-shadow:0 4px 14px rgba(15,23,42,.04)!important;
}
body.opn-suite-ui-active .opn-ui-row-detail-item span{
  display:block!important;
  margin:0 0 4px!important;
  color:#64748b!important;
  font-size:10.5px!important;
  font-weight:950!important;
  letter-spacing:.05em!important;
  text-transform:uppercase!important;
}
body.opn-suite-ui-active .opn-ui-row-detail-item strong{
  display:block!important;
  color:#0f172a!important;
  font-size:13px!important;
  font-weight:850!important;
  line-height:1.35!important;
  overflow-wrap:anywhere!important;
}

@media(max-width:760px){
  body.opn-suite-ui-active .opn-ui-extendable-head{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  body.opn-suite-ui-active .opn-ui-extend-toggle,
  body.opn-suite-ui-active .opn-ui-action{
    width:100%!important;
  }
  body.opn-suite-ui-active .opn-ui-extend-toolbar{
    justify-content:stretch!important;
  }
}

/* Early PHP body-class variant: avoids visible flicker before JS runs. */
body.opn-suite-shortcode-page:not(.wp-admin) .entry-header,
body.opn-suite-shortcode-page:not(.wp-admin) .page-header,
body.opn-suite-shortcode-page:not(.wp-admin) .entry-title,
body.opn-suite-shortcode-page:not(.wp-admin) .page-title,
body.opn-suite-shortcode-page:not(.wp-admin) .wp-block-post-title,
body.opn-suite-shortcode-page:not(.wp-admin) .post-title,
body.opn-suite-shortcode-page:not(.wp-admin) .fl-post-title,
body.opn-suite-shortcode-page:not(.wp-admin) .fusion-post-title,
body.opn-suite-shortcode-page:not(.wp-admin) .et_post_meta_wrapper h1,
body.opn-suite-shortcode-page:not(.wp-admin) .elementor-widget-theme-post-title{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
}


/* ============================================================
   OPN 0.6.6 — HARD EAC-STYLE UI OVERRIDE FOR ALL LEGACY SCRIPTS
   Applies inside shortcode roots only. Buttons are intentionally colored
   with !important because several imported scripts use inline/WordPress CSS.
   ============================================================ */
body.opn-suite-ui-active .opn-ui-wrap button:not(.notice-dismiss):not(.components-button):not(.wp-switch-editor),
body.opn-suite-ui-active .opn-ui-wrap input[type="button"],
body.opn-suite-ui-active .opn-ui-wrap input[type="submit"],
body.opn-suite-ui-active .opn-ui-wrap input[type="reset"],
body.opn-suite-ui-active .opn-ui-wrap a.button,
body.opn-suite-ui-active .opn-ui-wrap .button,
body.opn-suite-ui-active .opn-ui-wrap .btn,
body.opn-suite-ui-active .ei-admin-wrap button:not(.notice-dismiss),
body.opn-suite-ui-active .ei-admin-wrap input[type="submit"],
body.opn-suite-ui-active .ei-admin-wrap .button,
body.opn-suite-ui-active .pt-wrap button,
body.opn-suite-ui-active .pt-wrap input[type="submit"],
body.opn-suite-ui-active .pt-wrap .button,
body.opn-suite-ui-active .esm-wrap button,
body.opn-suite-ui-active .cpe-wrap button,
body.opn-suite-ui-active .cps-wrap button,
body.opn-suite-ui-active .ccaidr9-wrap button,
body.opn-suite-ui-active .tem-wrap button,
body.opn-suite-ui-active .idm-console-wrap button,
body.opn-suite-ui-active .idm-admin-wrap button,
body.opn-suite-ui-active .tmcad-wrap button,
body.opn-suite-ui-active .visio-signin button,
body.opn-suite-ui-active .visio-setup button{
  appearance:none !important;
  -webkit-appearance:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  min-height:34px !important;
  padding:8px 12px !important;
  border-radius:11px !important;
  border:1px solid #1d4ed8 !important;
  background:linear-gradient(135deg,#1d4ed8 0%,#2563eb 58%,#38bdf8 100%) !important;
  color:#ffffff !important;
  font-family:var(--opn-ui-font,Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif) !important;
  font-size:12px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
  text-decoration:none !important;
  text-shadow:none !important;
  box-shadow:0 10px 22px rgba(37,99,235,.22) !important;
  cursor:pointer !important;
  white-space:nowrap !important;
}
body.opn-suite-ui-active .opn-ui-wrap button:hover,
body.opn-suite-ui-active .opn-ui-wrap input[type="submit"]:hover,
body.opn-suite-ui-active .opn-ui-wrap .button:hover,
body.opn-suite-ui-active .opn-ui-wrap .btn:hover,
body.opn-suite-ui-active .ei-admin-wrap button:hover,
body.opn-suite-ui-active .pt-wrap button:hover,
body.opn-suite-ui-active .esm-wrap button:hover,
body.opn-suite-ui-active .cpe-wrap button:hover,
body.opn-suite-ui-active .cps-wrap button:hover,
body.opn-suite-ui-active .ccaidr9-wrap button:hover,
body.opn-suite-ui-active .tem-wrap button:hover,
body.opn-suite-ui-active .idm-console-wrap button:hover,
body.opn-suite-ui-active .idm-admin-wrap button:hover,
body.opn-suite-ui-active .tmcad-wrap button:hover{
  filter:brightness(1.05) !important;
  transform:translateY(-1px) !important;
  color:#fff !important;
}
body.opn-suite-ui-active .opn-ui-wrap button[class*="save"],
body.opn-suite-ui-active .opn-ui-wrap button[class*="valid"],
body.opn-suite-ui-active .opn-ui-wrap button[class*="accept"],
body.opn-suite-ui-active .opn-ui-wrap input[name*="save"],
body.opn-suite-ui-active .opn-ui-wrap input[name*="valid"],
body.opn-suite-ui-active .ei-admin-wrap .ei-badge--ok,
body.opn-suite-ui-active .ei-admin-wrap button[data-ei-accept],
body.opn-suite-ui-active .pt-wrap .pt-save,
body.opn-suite-ui-active .pt-wrap .pt-reconcile{
  background:linear-gradient(135deg,#047857 0%,#16a34a 58%,#86efac 100%) !important;
  border-color:#047857 !important;
  color:#fff !important;
  box-shadow:0 10px 22px rgba(22,163,74,.23) !important;
}
body.opn-suite-ui-active .opn-ui-wrap button[class*="edit"],
body.opn-suite-ui-active .opn-ui-wrap button[class*="reset"],
body.opn-suite-ui-active .opn-ui-wrap button[class*="pending"],
body.opn-suite-ui-active .opn-ui-wrap input[type="reset"],
body.opn-suite-ui-active .ei-admin-wrap .ei-btn-cancel,
body.opn-suite-ui-active .pt-wrap .pt-btn-reset,
body.opn-suite-ui-active .pt-wrap .pt-reset-payments{
  background:linear-gradient(135deg,#b45309 0%,#f59e0b 58%,#fde68a 100%) !important;
  border-color:#b45309 !important;
  color:#fff !important;
  box-shadow:0 10px 22px rgba(245,158,11,.23) !important;
}
body.opn-suite-ui-active .opn-ui-wrap button[class*="delete"],
body.opn-suite-ui-active .opn-ui-wrap button[class*="trash"],
body.opn-suite-ui-active .opn-ui-wrap button[class*="remove"],
body.opn-suite-ui-active .opn-ui-wrap button[class*="reject"],
body.opn-suite-ui-active .ei-admin-wrap .ei-badge--bad,
body.opn-suite-ui-active .ei-admin-wrap button[data-ei-reject],
body.opn-suite-ui-active .ei-admin-wrap .ei-btn-danger,
body.opn-suite-ui-active .pt-wrap .pt-btn-del,
body.opn-suite-ui-active .pt-wrap .pt-del,
body.opn-suite-ui-active .pt-wrap .pt-pay-del{
  background:linear-gradient(135deg,#991b1b 0%,#dc2626 58%,#fb7185 100%) !important;
  border-color:#991b1b !important;
  color:#fff !important;
  box-shadow:0 10px 22px rgba(220,38,38,.24) !important;
}
body.opn-suite-ui-active .opn-ui-wrap button[class*="ai"],
body.opn-suite-ui-active .opn-ui-wrap button[class*="scan"],
body.opn-suite-ui-active .opn-ui-wrap button[class*="qr"],
body.opn-suite-ui-active .opn-ui-wrap button[class*="detail"],
body.opn-suite-ui-active .opn-ui-wrap .details-btn,
body.opn-suite-ui-active .opn-ui-wrap .opn-ui-row-expand-toggle,
body.opn-suite-ui-active .ei-admin-wrap button[data-ei-toggle],
body.opn-suite-ui-active .ccaidr9-wrap .details-btn{
  background:linear-gradient(135deg,#5b21b6 0%,#7c3aed 56%,#c084fc 100%) !important;
  border-color:#5b21b6 !important;
  color:#fff !important;
  box-shadow:0 10px 22px rgba(124,58,237,.25) !important;
}
body.opn-suite-ui-active .opn-ui-wrap table tbody tr.opn-ui-row-open > td,
body.opn-suite-ui-active .opn-ui-wrap table tbody tr.is-open > td,
body.opn-suite-ui-active .ei-admin-wrap table tbody tr.is-open > td{
  background:#f5f3ff !important;
  border-bottom-color:#c4b5fd !important;
}
body.opn-suite-ui-active .opn-ui-wrap .opn-ui-details-row,
body.opn-suite-ui-active .opn-ui-wrap tr.ei-edit-row,
body.opn-suite-ui-active .ei-admin-wrap tr.ei-edit-row{
  box-shadow:inset 5px 0 0 #7c3aed !important;
}

/* ============================================================
   OPN 0.6.7 — EAC presentation transplant / hard CSS layer
   Applies the EuropeAirCrew compact-card / expandable-table philosophy
   to ObjectifPN shortcodes without changing business logic.
   ============================================================ */

/* Keep the WordPress/theme right menu/sidebar visible. Earlier versions hid it to avoid
   wide tables overlapping; this hotfix preserves the menu and constrains only OPN widgets. */
body.opn-suite-ui-active .entry-content,
body.opn-suite-ui-active .wp-block-post-content,
body.opn-suite-ui-active .elementor-widget-container{
  max-width:100% !important;
  overflow:visible !important;
}
body.opn-suite-ui-active #secondary,
body.opn-suite-ui-active .secondary,
body.opn-suite-ui-active .sidebar,
body.opn-suite-ui-active aside.widget-area,
body.opn-suite-ui-active .site-sidebar,
body.opn-suite-ui-active .right-sidebar{
  display:block !important;
  visibility:visible !important;
}
body.opn-suite-ui-active .content-area,
body.opn-suite-ui-active .site-main{
  padding-left:10px !important;
  padding-right:10px !important;
}
body.opn-suite-ui-active .opn-ui-wrap,
body.opn-suite-ui-active .opn-suite-dashboard,
body.opn-suite-ui-active .pt-wrap,
body.opn-suite-ui-active .eac-tfm,
body.opn-suite-ui-active .opn-tfm,
body.opn-suite-ui-active .ei-admin-wrap,
body.opn-suite-ui-active .opn-dgac-wrap,
body.opn-suite-ui-active .eac-ccav-wrap{
  max-width:100% !important;
  overflow-x:auto !important;
}

.opn-ui-wrap,
.opn-suite-dashboard,
.opn-suite-card,
.opn-suite-settings,
.opn-ai-dashboard,
.opn-dgac-wrap,
.pt-wrap,
.ei-admin-wrap,
.eac-ccav-wrap,
.eac-ccaqr,
.eac-ccaqr-v173,
.cca-delivery-wrap,
.cpe-wrap,
.cps-wrap,
.ccaidr9-wrap,
.esm-wrap,
.tem-wrap,
.ets-wrap,
.idm-console-wrap,
.idm-admin-wrap,
.visio-signin,
.visio-setup,
.opn-ai-root,
.tmcad-wrap,
.opn-pending-users-wrap,
.enroll-manager-base-wrap,
.msd-container,
.opn-td-wrap,
.opn-cbt-wrap,
.ei-form-container,
.ei-link-wrap,
.ei-wrap,
.eac-tfm,
.opn-tfm,
.tm-wrap{
  max-width:1180px !important;
  width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  position:relative !important;
  z-index:1 !important;
  box-sizing:border-box !important;
}
.wp-admin .opn-ui-wrap,
.wp-admin .pt-wrap,
.wp-admin .eac-tfm,
.wp-admin .ei-admin-wrap,
.wp-admin .opn-suite-dashboard{
  max-width:none !important;
}

/* Do not let the progressive wrapper add visual noise around modules that already ship their own EAC-style hero. */
.opn-ui-native-module > .opn-ui-hero{ display:none !important; }
.opn-ui-native-module > .opn-ui-extend-toolbar{
  margin:0 0 12px !important;
  justify-content:flex-end !important;
}

/* Universal hard-colored buttons for legacy outputs and AJAX fragments. */
body.opn-suite-ui-active button,
body.opn-suite-ui-active .button,
body.opn-suite-ui-active input[type="button"],
body.opn-suite-ui-active input[type="submit"],
body.opn-suite-ui-active a.button,
body.opn-suite-ui-active .btn{
  border-radius:10px !important;
  min-height:34px !important;
  padding:8px 12px !important;
  font-weight:850 !important;
  font-size:12px !important;
  line-height:1.15 !important;
  text-decoration:none !important;
}
body.opn-suite-ui-active .opn-ui-action--blue,
body.opn-suite-ui-active .button-primary,
body.opn-suite-ui-active button[type="submit"],
body.opn-suite-ui-active input[type="submit"],
body.opn-suite-ui-active .pt-load,
body.opn-suite-ui-active .pt-apply-filters,
body.opn-suite-ui-active .pt-session-pdf,
body.opn-suite-ui-active .esm-btn-primary,
body.opn-suite-ui-active .cps-btn-primary,
body.opn-suite-ui-active .cpe-btn-primary,
body.opn-suite-ui-active .ei-btn-primary{
  background:#1d4ed8 !important;
  border-color:#1d4ed8 !important;
  color:#fff !important;
  box-shadow:0 8px 18px rgba(29,78,216,.20) !important;
}
body.opn-suite-ui-active .opn-ui-action--green,
body.opn-suite-ui-active [data-ei-accept],
body.opn-suite-ui-active .pt-save,
body.opn-suite-ui-active .pt-confirm,
body.opn-suite-ui-active .btn-success,
body.opn-suite-ui-active .save,
body.opn-suite-ui-active .accept,
body.opn-suite-ui-active .validate{
  background:#16a34a !important;
  border-color:#16a34a !important;
  color:#fff !important;
  box-shadow:0 8px 18px rgba(22,163,74,.18) !important;
}
body.opn-suite-ui-active .opn-ui-action--orange,
body.opn-suite-ui-active .pt-reconcile,
body.opn-suite-ui-active .pt-edit,
body.opn-suite-ui-active .edit,
body.opn-suite-ui-active .modify,
body.opn-suite-ui-active .reset,
body.opn-suite-ui-active .opn-ui-extend-toggle[aria-expanded="true"]{
  background:#f97316 !important;
  border-color:#f97316 !important;
  color:#fff !important;
  box-shadow:0 8px 18px rgba(249,115,22,.18) !important;
}
body.opn-suite-ui-active .opn-ui-action--red,
body.opn-suite-ui-active [data-ei-reject],
body.opn-suite-ui-active [data-ei-trash],
body.opn-suite-ui-active .button-link-delete,
body.opn-suite-ui-active .delete,
body.opn-suite-ui-active .remove,
body.opn-suite-ui-active .trash,
body.opn-suite-ui-active .reject,
body.opn-suite-ui-active .pt-btn-del,
body.opn-suite-ui-active .pt-btn-reset-all{
  background:#dc2626 !important;
  border-color:#dc2626 !important;
  color:#fff !important;
  box-shadow:0 8px 18px rgba(220,38,38,.18) !important;
}
body.opn-suite-ui-active .opn-ui-action--purple,
body.opn-suite-ui-active [data-ei-toggle],
body.opn-suite-ui-active .details-btn,
body.opn-suite-ui-active .tm-expand-btn,
body.opn-suite-ui-active .pt-session-pdf-detailed,
body.opn-suite-ui-active .pt-btn-sessionpdf--detailed,
body.opn-suite-ui-active .opn-ai-launcher,
body.opn-suite-ui-active .qr,
body.opn-suite-ui-active .scan{
  background:#6d28d9 !important;
  border-color:#6d28d9 !important;
  color:#fff !important;
  box-shadow:0 8px 18px rgba(109,40,217,.20) !important;
}
body.opn-suite-ui-active button:hover,
body.opn-suite-ui-active .button:hover,
body.opn-suite-ui-active input[type="submit"]:hover,
body.opn-suite-ui-active input[type="button"]:hover,
body.opn-suite-ui-active a.button:hover{
  color:#fff !important;
  filter:brightness(1.04) !important;
  transform:translateY(-1px) !important;
}

/* Compact EAC-style tables everywhere, with safe scrolling instead of sliding under right sidebars. */
body.opn-suite-ui-active .opn-ui-table-scroll,
body.opn-suite-ui-active .pt-table-wrap,
body.opn-suite-ui-active .ei-table-shell,
body.opn-suite-ui-active .eac-tfm-table-wrap,
body.opn-suite-ui-active .table-responsive,
body.opn-suite-ui-active .wp-list-table-wrapper{
  width:100% !important;
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  -webkit-overflow-scrolling:touch !important;
}
body.opn-suite-ui-active table{
  max-width:100% !important;
}
body.opn-suite-ui-active table th,
body.opn-suite-ui-active table td{
  overflow-wrap:anywhere !important;
}
body.opn-suite-ui-active table .opn-ui-row-expand-cell,
body.opn-suite-ui-active table .eac-tfm-check,
body.opn-suite-ui-active table .eac-tfm-status-cell,
body.opn-suite-ui-active table .eac-tfm-status-th{
  overflow-wrap:normal !important;
  word-break:normal !important;
}

/* EAC-style expandable row detail panels used by generic table adapter. */
body.opn-suite-ui-active .opn-ui-details-row > td,
body.opn-suite-ui-active .tm-missing-row > td{
  background:#f8fafc !important;
  border-top:0 !important;
  padding:0 10px 10px !important;
}
body.opn-suite-ui-active .opn-ui-row-details-grid,
body.opn-suite-ui-active .tm-missing-wrap{
  border-radius:14px !important;
  border:1px solid #e2e8f0 !important;
  background:#fff !important;
  box-shadow:0 8px 20px rgba(15,23,42,.06) !important;
}

@media(max-width:860px){
  body.opn-suite-ui-active .content-area,
  body.opn-suite-ui-active .site-main{
    padding-left:6px !important;
    padding-right:6px !important;
  }
  .opn-ui-wrap,
  .pt-wrap,
  .eac-tfm,
  .ei-admin-wrap{
    padding-left:8px !important;
    padding-right:8px !important;
  }
}
