#juf-analytics-root, #juf-analytics-root * { box-sizing: border-box; }
#juf-analytics-root { --juf-bg:#f8fafc; --juf-card:#fff; --juf-text:#0f172a; --juf-muted:#64748b; --juf-border:#e2e8f0; --juf-blue:#2563eb; --juf-purple:#7c3aed; --juf-green:#059669; --juf-amber:#d97706; --juf-red:#dc2626; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color:var(--juf-text); background:var(--juf-bg); padding:18px; border-radius:20px; line-height:1.4; }
.juf-app h2,.juf-app h3,.juf-app p { margin-top:0; }
.juf-header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px; border-radius:18px; background:#0f172a; color:#fff; margin-bottom:18px; }
.juf-header h2 { font-size:24px; margin-bottom:5px; color:#fff; }
.juf-header p { margin:0; color:#94a3b8; font-size:13px; }
.juf-eyebrow { font-size:10px; letter-spacing:.18em; font-weight:800; color:#60a5fa; margin-bottom:6px; }
.juf-header-actions { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.juf-db-badge { font-size:11px; font-weight:800; padding:8px 10px; border:1px solid #334155; border-radius:999px; color:#86efac; background:#111827; }
.juf-btn { border:0; border-radius:10px; padding:10px 13px; font-size:12px; font-weight:800; cursor:pointer; }
.juf-btn-dark { background:#1e293b; color:#fff; }
.juf-btn-green { background:var(--juf-green); color:#fff; }
.juf-btn-blue { background:var(--juf-blue); color:#fff; }
.juf-btn-soft { background:#eef2ff; color:#3730a3; }
.juf-btn-danger { background:#fff1f2; color:#be123c; }
.juf-btn:disabled { opacity:.5; cursor:not-allowed; }
.juf-grid { display:grid; gap:16px; margin-bottom:16px; }
.juf-grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.juf-grid-map { grid-template-columns:minmax(0,2fr) minmax(280px,1fr); }
.juf-card { background:var(--juf-card); border:1px solid var(--juf-border); border-radius:16px; padding:17px; box-shadow:0 5px 18px rgba(15,23,42,.04); margin-bottom:16px; }
.juf-card h3 { font-size:15px; margin-bottom:4px; }
.juf-card p { color:var(--juf-muted); font-size:12px; margin-bottom:0; }
.juf-step-title { display:flex; gap:11px; align-items:flex-start; margin-bottom:13px; }
.juf-step-title>span { width:28px;height:28px;border-radius:9px;background:#dbeafe;color:#1d4ed8;display:grid;place-items:center;font-weight:900;font-size:12px;flex:0 0 auto; }
.juf-step-title>span.juf-step-purple { background:#ede9fe;color:#6d28d9; }
.juf-dropzone { min-height:110px; border:2px dashed #93c5fd; border-radius:14px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; gap:5px; padding:16px; cursor:pointer; transition:.2s; }
.juf-dropzone:hover,.juf-dropzone.is-drag { background:#eff6ff; border-color:#2563eb; }
.juf-drop-purple { border-color:#c4b5fd; }
.juf-drop-purple:hover,.juf-drop-purple.is-drag { background:#f5f3ff; border-color:#7c3aed; }
.juf-dropzone strong { font-size:13px; }
.juf-dropzone small,.juf-import-status { color:var(--juf-muted); font-size:11px; }
.juf-import-status { margin-top:8px; }
.juf-progress-wrap { background:#fff;border:1px solid var(--juf-border);border-radius:12px;padding:12px;margin-bottom:16px; }
.juf-progress-meta { display:flex;justify-content:space-between;font-size:11px;font-weight:800;color:#475569;margin-bottom:7px; }
.juf-progress-track { height:7px;background:#e2e8f0;border-radius:999px;overflow:hidden; }
.juf-progress-bar { width:0;height:100%;background:var(--juf-blue);transition:width .2s; }
.is-hidden { display:none !important; }
.juf-kpi-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin-bottom:16px; }
.juf-kpi { background:#fff;border:1px solid var(--juf-border);border-radius:14px;padding:15px;min-width:0; }
.juf-kpi-primary { background:linear-gradient(135deg,#047857,#059669); color:#fff;border-color:transparent; }
.juf-kpi-label { font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:900;color:#94a3b8;margin-bottom:7px; }
.juf-kpi-primary .juf-kpi-label,.juf-kpi-primary .juf-kpi-sub { color:#d1fae5; }
.juf-kpi-value { font-size:21px;font-weight:900;white-space:nowrap; }
.juf-kpi-sub { color:var(--juf-muted);font-size:10px;margin-top:3px; }
.juf-mini-kpis { display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px; }
.juf-mini-kpis>div { border:1px solid var(--juf-border);border-radius:12px;padding:12px;background:#fafafa; }
.juf-mini-kpis span,.juf-mini-kpis small { display:block;color:var(--juf-muted);font-size:10px; }
.juf-mini-kpis strong { display:block;font-size:17px;margin:4px 0; }
.juf-card-head { display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px; }
.juf-card-head-row { align-items:center; }
#jufMap { height:390px;border-radius:12px;overflow:hidden;background:#f1f5f9; }
.juf-ranking { display:flex;flex-direction:column;gap:8px;max-height:390px;overflow:auto; }
.juf-rank-item { display:grid;grid-template-columns:32px 1fr auto;gap:8px;align-items:center;border:1px solid var(--juf-border);border-radius:12px;padding:10px; }
.juf-rank-no { width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:#eff6ff;color:#1d4ed8;font-size:11px;font-weight:900; }
.juf-rank-main strong,.juf-rank-main small { display:block; }
.juf-rank-main strong { font-size:12px; }
.juf-rank-main small { font-size:10px;color:var(--juf-muted); }
.juf-rank-value { text-align:right;font-size:12px;font-weight:900;color:#047857; }
.juf-table-wrap { overflow:auto; }
.juf-table { border-collapse:collapse;width:100%;font-size:11px;min-width:1050px; }
.juf-table th { text-align:left;background:#f1f5f9;color:#475569;padding:10px;font-size:10px;text-transform:uppercase;white-space:nowrap; }
.juf-table td { border-top:1px solid #f1f5f9;padding:10px;vertical-align:top; }
.juf-table tbody tr:hover { background:#fafafa; }
.juf-badge { display:inline-block;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:900;white-space:nowrap; }
.juf-badge-green { background:#dcfce7;color:#166534; }
.juf-badge-blue { background:#dbeafe;color:#1d4ed8; }
.juf-badge-purple { background:#ede9fe;color:#6d28d9; }
.juf-badge-amber { background:#fef3c7;color:#92400e; }
.juf-badge-red { background:#fee2e2;color:#991b1b; }
.juf-badge-gray { background:#f1f5f9;color:#475569; }
.juf-muted { color:var(--juf-muted);font-size:10px; }
.juf-filter-row { display:flex;gap:8px;flex-wrap:wrap; }
.juf-filter-row select,.juf-filter-row input,.juf-form input,.juf-form select { border:1px solid #cbd5e1;border-radius:9px;padding:8px 10px;background:#fff;font-size:11px; }
.juf-filter-row input { min-width:200px; }
.juf-review-list,.juf-import-history { display:flex;flex-direction:column;gap:8px;max-height:360px;overflow:auto; }
.juf-review-item,.juf-import-item { border:1px solid var(--juf-border);border-radius:12px;padding:10px;display:flex;justify-content:space-between;gap:12px;align-items:center; }
.juf-review-item strong,.juf-import-item strong { display:block;font-size:11px; }
.juf-review-item small,.juf-import-item small { display:block;color:var(--juf-muted);font-size:9px;margin-top:2px; }
.juf-empty { color:var(--juf-muted);font-size:11px;text-align:center;padding:24px 8px; }
.juf-toast { position:fixed;right:22px;bottom:22px;z-index:99999;max-width:360px;padding:12px 14px;border-radius:12px;background:#0f172a;color:#fff;font-size:12px;box-shadow:0 14px 35px rgba(15,23,42,.3);opacity:0;pointer-events:none;transform:translateY(10px);transition:.2s; }
.juf-toast.is-show { opacity:1;transform:translateY(0); }
.juf-toast.is-error { background:#991b1b; }
.juf-modal { position:fixed;inset:0;background:rgba(15,23,42,.58);z-index:99998;display:grid;place-items:center;padding:18px; }
.juf-modal-card { width:min(720px,96vw);max-height:88vh;overflow:auto;background:#fff;border-radius:16px;padding:18px;box-shadow:0 25px 60px rgba(0,0,0,.25); }
.juf-modal-head { display:flex;justify-content:space-between;align-items:center;margin-bottom:14px; }
.juf-modal-head h3 { margin:0;font-size:16px; }
.juf-icon-btn { border:0;background:#f1f5f9;border-radius:9px;width:32px;height:32px;font-size:20px;cursor:pointer; }
.juf-form { display:grid;grid-template-columns:repeat(2,1fr);gap:10px; }
.juf-form label { font-size:10px;font-weight:800;color:#475569;display:flex;flex-direction:column;gap:5px; }
.juf-form .juf-span-2 { grid-column:1/-1; }
.juf-form-actions { grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;margin-top:8px; }
.juf-access-message { padding:18px;border:1px solid #fecaca;background:#fff1f2;color:#991b1b;border-radius:12px;font-weight:700; }
@media (max-width:1100px){ .juf-kpi-grid{grid-template-columns:repeat(2,1fr)} .juf-grid-map{grid-template-columns:1fr} }
@media (max-width:760px){ #juf-analytics-root{padding:10px}.juf-header{align-items:flex-start;flex-direction:column}.juf-grid-2,.juf-kpi-grid,.juf-mini-kpis{grid-template-columns:1fr}.juf-form{grid-template-columns:1fr}.juf-form .juf-span-2{grid-column:auto}.juf-card-head-row{align-items:flex-start;flex-direction:column}.juf-filter-row{width:100%}.juf-filter-row input,.juf-filter-row select{width:100%} }

.juf-info-note{margin:14px 0 18px;padding:12px 14px;border:1px solid #bfdbfe;background:#eff6ff;border-radius:12px;color:#334155;font-size:13px;line-height:1.5}.juf-info-note strong{color:#0f172a}


/* V1.4 — BLACK TEXT THEME
   User preference: all visible text in the Jung und Fix Analytics system is black.
   Dark surfaces are softened where needed so black text stays readable. */
#juf-analytics-root,
#juf-analytics-root *,
#juf-analytics-root *::before,
#juf-analytics-root *::after {
  color: #000000 !important;
}

#juf-analytics-root input::placeholder,
#juf-analytics-root textarea::placeholder {
  color: #000000 !important;
  opacity: .65;
}

/* Keep black text legible on components that were previously dark. */
#juf-analytics-root .juf-header {
  background: #ffffff !important;
  border: 1px solid var(--juf-border) !important;
}
#juf-analytics-root .juf-db-badge {
  background: #f1f5f9 !important;
  border-color: #cbd5e1 !important;
}
#juf-analytics-root .juf-btn-dark {
  background: #e2e8f0 !important;
}
#juf-analytics-root .juf-btn-green {
  background: #d1fae5 !important;
}
#juf-analytics-root .juf-btn-blue {
  background: #dbeafe !important;
}
#juf-analytics-root .juf-kpi-primary {
  background: #ecfdf5 !important;
  border-color: #a7f3d0 !important;
}
#juf-analytics-root .juf-toast {
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
}
#juf-analytics-root .juf-toast.is-error {
  background: #fee2e2 !important;
  border-color: #fecaca !important;
}

/* Leaflet controls/popups are visually part of the dashboard. */
#juf-analytics-root .leaflet-control,
#juf-analytics-root .leaflet-control *,
#juf-analytics-root .leaflet-popup,
#juf-analytics-root .leaflet-popup * {
  color: #000000 !important;
}

/* V1.5 — Custom dashboard login, independent of Google/WordPress accounts. */
#juf-analytics-root .juf-auth-view {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: grid;
  place-items: center;
  padding: 30px 12px;
  background: rgba(255,255,255,.88);
  backdrop-filter: blur(4px);
}
#juf-analytics-root .juf-login-card {
  width: min(440px, 100%);
  background: #ffffff;
  border: 1px solid #dbe3ee;
  border-radius: 18px;
  padding: 28px;
  box-shadow: 0 18px 45px rgba(15,23,42,.08);
}
#juf-analytics-root .juf-login-brand {
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .18em;
  margin-bottom: 8px;
}
#juf-analytics-root .juf-login-card h2 {
  margin: 0 0 7px;
  font-size: 24px;
}
#juf-analytics-root .juf-login-card > p {
  margin: 0 0 20px;
  font-size: 13px;
}
#juf-analytics-root .juf-login-form {
  display: grid;
  gap: 14px;
}
#juf-analytics-root .juf-login-form label {
  display: grid;
  gap: 6px;
  font-size: 12px;
  font-weight: 800;
}
#juf-analytics-root .juf-login-form input {
  width: 100%;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  padding: 12px 13px;
  background: #ffffff;
  font-size: 14px;
  outline: none;
}
#juf-analytics-root .juf-login-form input:focus {
  border-color: #000000;
  box-shadow: 0 0 0 2px rgba(0,0,0,.08);
}
#juf-analytics-root .juf-login-form .juf-btn {
  width: 100%;
  padding: 12px 14px;
  font-size: 13px;
}
#juf-analytics-root .juf-login-error {
  min-height: 18px;
  font-size: 11px;
  font-weight: 700;
}


/* V1.7 — Public read-only dashboard. Management actions appear only after password login. */
#juf-analytics-root .juf-management-only.is-hidden { display: none !important; }
#juf-analytics-root #jufAccessBadge { font-weight: 800; }

#juf-analytics-root .juf-db-badge.is-error{background:#fee2e2!important;border-color:#fecaca!important;color:#000!important;}

/* V2.2 — period filters, revenue timeline and safe re-scan control */
#juf-analytics-root .juf-rescan-option{
  display:flex;align-items:flex-start;gap:7px;margin-top:9px;font-size:10px;line-height:1.35;font-weight:700;
}
#juf-analytics-root .juf-rescan-option input{margin-top:1px;flex:0 0 auto;}
#juf-analytics-root .juf-time-card{margin-bottom:16px;}
#juf-analytics-root .juf-time-controls{display:flex;align-items:end;gap:8px;flex-wrap:wrap;}
#juf-analytics-root .juf-time-controls label{display:grid;gap:4px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;}
#juf-analytics-root .juf-time-controls select{min-width:125px;border:1px solid #cbd5e1;border-radius:9px;padding:8px 10px;background:#fff;font-size:11px;}
#juf-analytics-root .juf-time-summary{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid var(--juf-border);padding-top:10px;margin-top:4px;font-size:11px;}
#juf-analytics-root .juf-time-summary strong{font-size:13px;}
#juf-analytics-root .juf-timeline-chart{height:170px;display:flex;align-items:flex-end;gap:7px;padding:28px 2px 0;margin-top:8px;overflow-x:auto;border-bottom:1px solid #e2e8f0;}
#juf-analytics-root .juf-time-bar{position:relative;min-width:52px;flex:1;height:140px;border:0;background:transparent;padding:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;cursor:pointer;}
#juf-analytics-root .juf-time-column{display:block;width:min(34px,72%);min-height:2px;border-radius:6px 6px 1px 1px;background:#bfdbfe;border:1px solid #93c5fd;transition:.15s;}
#juf-analytics-root .juf-time-bar:hover .juf-time-column,#juf-analytics-root .juf-time-bar.is-selected .juf-time-column{background:#93c5fd;border-color:#60a5fa;}
#juf-analytics-root .juf-time-bar.is-negative .juf-time-column{background:#fecaca;border-color:#fca5a5;}
#juf-analytics-root .juf-time-label{font-size:9px;font-weight:900;margin-top:5px;white-space:nowrap;}
#juf-analytics-root .juf-time-value{position:absolute;bottom:calc(var(--bar-h, 0px) + 20px);top:0;font-size:8px;font-weight:800;white-space:nowrap;transform:rotate(-25deg);transform-origin:center;display:none;}
#juf-analytics-root .juf-time-bar:hover .juf-time-value,#juf-analytics-root .juf-time-bar.is-selected .juf-time-value{display:block;}
@media (max-width:760px){
  #juf-analytics-root .juf-time-controls{width:100%;}
  #juf-analytics-root .juf-time-controls label{flex:1;min-width:130px;}
  #juf-analytics-root .juf-time-controls select{width:100%;}
  #juf-analytics-root .juf-time-bar{min-width:46px;}
  #juf-analytics-root .juf-time-summary{align-items:flex-start;flex-direction:column;}
}

/* V2.3 — invoice document archive, preview and safer import management */
#juf-analytics-root .juf-action-group{display:flex;gap:6px;flex-wrap:wrap;align-items:center;}
#juf-analytics-root .juf-modal.is-wide .juf-modal-card{width:min(1220px,98vw);}
#juf-analytics-root .juf-review-split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:16px;align-items:start;}
#juf-analytics-root .juf-review-document,#juf-analytics-root .juf-review-form{min-width:0;}
#juf-analytics-root .juf-pdf-preview{display:flex;flex-direction:column;gap:10px;}
#juf-analytics-root .juf-pdf-toolbar{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;padding:8px 10px;border:1px solid var(--juf-border);border-radius:10px;background:#f8fafc;font-size:11px;}
#juf-analytics-root .juf-pdf-frame{display:block;width:100%;height:72vh;min-height:520px;border:1px solid var(--juf-border);border-radius:12px;background:#fff;}
#juf-analytics-root .juf-pdf-preview.is-compact .juf-pdf-frame{height:68vh;min-height:500px;}
#juf-analytics-root .juf-pdf-missing{border:1px dashed #94a3b8;border-radius:12px;background:#f8fafc;padding:22px;min-height:220px;display:flex;flex-direction:column;justify-content:center;text-align:center;}
#juf-analytics-root .juf-pdf-missing strong{font-size:13px;}
#juf-analytics-root .juf-pdf-missing p{font-size:11px;line-height:1.5;margin:8px 0 0;}
@media (max-width:980px){
  #juf-analytics-root .juf-review-split{grid-template-columns:1fr;}
  #juf-analytics-root .juf-pdf-frame,#juf-analytics-root .juf-pdf-preview.is-compact .juf-pdf-frame{height:58vh;min-height:420px;}
}


/* V2.4 — larger invoice review + interactive PDF marking */
#juf-analytics-root .juf-modal.is-review-mode{padding:8px;place-items:center;}
#juf-analytics-root .juf-modal.is-review-mode .juf-modal-card{width:min(1580px,99vw);height:96vh;max-height:96vh;padding:12px 14px;display:flex;flex-direction:column;overflow:hidden;border-radius:14px;}
#juf-analytics-root .juf-modal.is-review-mode .juf-modal-head{flex:0 0 auto;margin-bottom:10px;}
#juf-analytics-root .juf-modal.is-review-mode #jufModalBody{flex:1;min-height:0;overflow:hidden;}
#juf-analytics-root .juf-modal.is-review-mode .juf-review-split{height:100%;grid-template-columns:minmax(600px,1.75fr) minmax(390px,.8fr);gap:14px;align-items:stretch;}
#juf-analytics-root .juf-modal.is-review-mode .juf-review-document{height:100%;min-height:0;overflow:hidden;border:1px solid var(--juf-border);border-radius:12px;background:#eef2f7;}
#juf-analytics-root .juf-modal.is-review-mode .juf-review-form{height:100%;min-height:0;overflow:auto;padding:2px 6px 76px 2px;}
#juf-analytics-root .juf-review-form-intro{display:flex;flex-direction:column;gap:2px;padding:10px 12px;margin-bottom:10px;border:1px solid #dbeafe;border-radius:10px;background:#eff6ff;}
#juf-analytics-root .juf-review-form-intro strong{font-size:12px;}
#juf-analytics-root .juf-review-form-intro span{font-size:10px;}
#juf-analytics-root .juf-smart-pdf{height:100%;display:flex;flex-direction:column;min-height:0;}
#juf-analytics-root .juf-smart-pdf-toolbar{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px 10px;border-bottom:1px solid var(--juf-border);background:#fff;flex:0 0 auto;}
#juf-analytics-root .juf-smart-pdf-title{display:flex;flex-direction:column;gap:2px;min-width:0;}
#juf-analytics-root .juf-smart-pdf-title strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#juf-analytics-root .juf-smart-pdf-title span{font-size:9px;}
#juf-analytics-root .juf-pdf-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end;font-size:10px;font-weight:800;}
#juf-analytics-root .juf-pdf-controls .juf-icon-btn{width:29px;height:29px;font-size:17px;}
#juf-analytics-root .juf-smart-pdf-viewport{flex:1;min-height:0;overflow:auto;padding:16px 18px 28px;background:#cbd5e1;text-align:center;position:relative;}
#juf-analytics-root .juf-smart-pdf-viewport.is-loading::before{content:'Rechnung wird geladen …';position:sticky;top:12px;display:inline-block;z-index:3;padding:7px 10px;border-radius:999px;background:#fff;border:1px solid var(--juf-border);font-size:10px;font-weight:800;}
#juf-analytics-root .juf-smart-pdf-page{position:relative;margin:0 auto;background:#fff;box-shadow:0 8px 28px rgba(15,23,42,.18);}
#juf-analytics-root #jufSmartPdfCanvas{display:block;width:100%;height:100%;}
#juf-analytics-root .juf-smart-text-layer{position:absolute;inset:0;overflow:hidden;line-height:1;text-align:initial;transform-origin:0 0;-webkit-text-size-adjust:none;}
#juf-analytics-root .juf-smart-text-layer span,#juf-analytics-root .juf-smart-text-layer br{position:absolute;white-space:pre;color:transparent !important;transform-origin:0 0;cursor:text;}
#juf-analytics-root .juf-smart-text-layer span:hover{outline:1px dashed rgba(37,99,235,.35);background:rgba(219,234,254,.16);}
#juf-analytics-root .juf-smart-text-layer ::selection{background:rgba(37,99,235,.35);}
#juf-analytics-root .juf-smart-pdf-tip{flex:0 0 auto;padding:8px 10px;border-top:1px solid var(--juf-border);background:#fff;font-size:9px;line-height:1.45;text-align:left;}
#juf-analytics-root .juf-field-head{display:flex;align-items:center;justify-content:space-between;gap:7px;min-height:22px;}
#juf-analytics-root .juf-pick-field{border:1px solid #bfdbfe;background:#eff6ff;border-radius:7px;padding:4px 7px;font-size:9px;font-weight:900;cursor:pointer;white-space:nowrap;}
#juf-analytics-root .juf-pick-field:hover,#juf-analytics-root .juf-pick-field.is-active{background:#dbeafe;border-color:#60a5fa;}
#juf-analytics-root .juf-pickable-field.is-missing{padding:7px;border:1px solid #fbbf24;border-radius:9px;background:#fffbeb;}
#juf-analytics-root .juf-pickable-field.has-suggestion{border-color:#60a5fa;background:#eff6ff;}
#juf-analytics-root .juf-suggested-value{outline:2px solid #93c5fd !important;outline-offset:1px;}
#juf-analytics-root .juf-sticky-save{position:sticky;bottom:0;z-index:4;background:#fff;border-top:1px solid var(--juf-border);padding:12px 0 4px;align-items:center;justify-content:space-between;}
#juf-analytics-root .juf-save-hint{font-size:9px;font-weight:700;}
@media (max-width:1100px){
  #juf-analytics-root .juf-modal.is-review-mode .juf-review-split{grid-template-columns:minmax(520px,1.45fr) minmax(360px,.9fr);}
}
@media (max-width:900px){
  #juf-analytics-root .juf-modal.is-review-mode .juf-modal-card{height:97vh;}
  #juf-analytics-root .juf-modal.is-review-mode #jufModalBody{overflow:auto;}
  #juf-analytics-root .juf-modal.is-review-mode .juf-review-split{height:auto;grid-template-columns:1fr;}
  #juf-analytics-root .juf-modal.is-review-mode .juf-review-document{height:68vh;min-height:520px;}
  #juf-analytics-root .juf-modal.is-review-mode .juf-review-form{height:auto;overflow:visible;padding-bottom:20px;}
  #juf-analytics-root .juf-sticky-save{bottom:0;}
}


/* V2.5.1 — show exact Web3Forms Fbclid/Gclid values in Matching table */
#juf-analytics-root .juf-table{min-width:1500px;}
#juf-analytics-root .juf-click-id-cell{min-width:210px;max-width:300px;}
#juf-analytics-root .juf-click-id{display:flex;flex-direction:column;align-items:flex-start;gap:6px;max-width:290px;}
#juf-analytics-root .juf-click-id code{display:block;width:100%;max-height:76px;overflow:auto;padding:6px 7px;border:1px solid #e2e8f0;border-radius:7px;background:#f8fafc;font-size:9px;line-height:1.35;white-space:normal;overflow-wrap:anywhere;word-break:break-all;color:#000;}
#juf-analytics-root .juf-copy-id{border:0;background:transparent;padding:0;font-size:9px;font-weight:800;text-decoration:underline;cursor:pointer;color:#000;}
#juf-analytics-root .juf-copy-id:hover{text-decoration:none;}


/* V2.5.2 — advanced filtered Excel export */
#juf-analytics-root .juf-modal.is-export-mode .juf-modal-card{width:min(760px,96vw);}
#juf-analytics-root .juf-export-dialog{display:grid;gap:14px;}
#juf-analytics-root .juf-export-intro{display:flex;flex-direction:column;gap:3px;padding:11px 12px;border:1px solid #dbeafe;border-radius:10px;background:#eff6ff;}
#juf-analytics-root .juf-export-intro strong{font-size:12px;}
#juf-analytics-root .juf-export-intro span{font-size:10px;line-height:1.45;}
#juf-analytics-root .juf-export-filter-summary{padding:9px 10px;border:1px solid var(--juf-border);border-radius:9px;background:#f8fafc;font-size:10px;}
#juf-analytics-root .juf-export-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
#juf-analytics-root .juf-export-preview>div{display:flex;flex-direction:column;gap:4px;padding:10px;border:1px solid var(--juf-border);border-radius:10px;background:#fff;}
#juf-analytics-root .juf-export-preview span{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;}
#juf-analytics-root .juf-export-preview strong{font-size:14px;}
#juf-analytics-root .juf-export-note{padding:9px 10px;border-radius:9px;background:#fffbeb;border:1px solid #fde68a;font-size:9px;line-height:1.5;}
@media(max-width:680px){#juf-analytics-root .juf-export-preview{grid-template-columns:repeat(2,1fr);}}


/* V2.5.3 — invoice/customer tabs and aggregated customer view */
#juf-analytics-root .juf-table-tabs{display:flex;align-items:center;gap:5px;margin-top:10px;padding:4px;border:1px solid var(--juf-border);border-radius:10px;background:#f8fafc;width:max-content;max-width:100%;}
#juf-analytics-root .juf-table-tab{border:0;border-radius:7px;background:transparent;padding:7px 11px;font-size:10px;font-weight:900;cursor:pointer;color:#000;display:flex;align-items:center;gap:6px;}
#juf-analytics-root .juf-table-tab span{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#e2e8f0;font-size:9px;}
#juf-analytics-root .juf-table-tab.is-active{background:#fff;box-shadow:0 1px 4px rgba(15,23,42,.12);}
#juf-analytics-root .juf-table-tab.is-active span{background:#dbeafe;}
#juf-analytics-root .juf-table-panel.is-hidden{display:none!important;}
#juf-analytics-root .juf-customer-table-note{margin:0 0 10px;padding:9px 10px;border:1px solid #dbeafe;border-radius:9px;background:#eff6ff;font-size:9px;line-height:1.45;font-weight:700;}
#juf-analytics-root .juf-customer-table{min-width:1450px;}
#juf-analytics-root .juf-customer-table td{vertical-align:top;}
#juf-analytics-root .juf-source-line{font-weight:800;margin-bottom:4px;}
#juf-analytics-root .juf-customer-statuses{display:flex;gap:4px;flex-wrap:wrap;margin-top:7px;}
#juf-analytics-root .juf-customer-contact{display:grid;gap:6px;min-width:230px;font-size:10px;line-height:1.45;overflow-wrap:anywhere;}
#juf-analytics-root .juf-click-id-list{display:grid;gap:8px;}
#juf-analytics-root .juf-customer-invoices{min-width:220px;}
#juf-analytics-root .juf-customer-invoices summary{cursor:pointer;font-size:10px;font-weight:900;text-decoration:underline;}
#juf-analytics-root .juf-customer-invoice-list{display:grid;gap:7px;margin-top:8px;max-height:260px;overflow:auto;}
#juf-analytics-root .juf-customer-invoice-item{display:flex;justify-content:space-between;gap:9px;align-items:center;padding:7px 8px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;}
#juf-analytics-root .juf-customer-invoice-item>div{display:flex;flex-direction:column;gap:2px;}
#juf-analytics-root .juf-customer-invoice-item small{font-size:9px;}
#juf-analytics-root .juf-link-btn{border:0;background:transparent;padding:0;font-size:9px;font-weight:900;text-decoration:underline;cursor:pointer;color:#000;white-space:nowrap;}
#juf-analytics-root .juf-link-btn:hover{text-decoration:none;}
@media(max-width:760px){#juf-analytics-root .juf-table-tabs{width:100%;}#juf-analytics-root .juf-table-tab{flex:1;justify-content:center;}}
