/* ============================================================
   EnergyExperts — Finance Tab / Provision Forecast
   Design tokens derived from ee-analysis-dashboard.css (v9).
   Scoped under .ee-finance-container / .ee-fc to avoid collisions
   with the surrounding account dashboard.
   ============================================================ */
.ee-finance-container{
  --dash-bg:#F8FAFC; --dash-bg-subtle:#F1F5F9;
  --dash-surface:#FFFFFF; --dash-surface-hover:#F8FAFC;
  --dash-border:rgba(0,0,0,0.06); --dash-border-hover:rgba(0,0,0,0.12);
  --dash-green:#10B981; --dash-green-dark:#059669; --dash-green-brand:#3FA14D;
  --dash-cyan:#06B6D4; --dash-cyan-dark:#0891B2; --dash-cyan-light:rgba(6,182,212,0.06);
  --dash-amber:#F59E0B; --dash-red:#EF4444; --dash-purple:#8B5CF6;
  --dash-text:#0F172A; --dash-text-secondary:#475569; --dash-text-muted:#94A3B8;
  --dash-shadow:0 1px 3px rgba(0,0,0,0.04),0 1px 2px rgba(0,0,0,0.02);
  --dash-shadow-md:0 4px 12px rgba(0,0,0,0.06),0 1px 3px rgba(0,0,0,0.04);
  --dash-shadow-lg:0 8px 24px rgba(0,0,0,0.08),0 2px 6px rgba(0,0,0,0.04);
  --dash-radius:12px; --dash-radius-sm:8px; --dash-radius-lg:16px;
  --dash-font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --dash-mono:'JetBrains Mono','SF Mono','Fira Code',ui-monospace,monospace;
  font-family:var(--dash-font);
}
.ee-fc-mono{font-family:var(--dash-mono);font-variant-numeric:tabular-nums;font-weight:800;color:var(--dash-cyan-dark);}

/* ---- Loading state (toggled by ee-finance-forecast.js) ---- */
.ee-finance-container.is-loading{opacity:.6;pointer-events:none;transition:opacity .15s;}

/* ---- Sub-navigation ---- */
.ee-finance-subtabs{display:flex;gap:6px;border-bottom:1px solid var(--dash-border);margin:8px 0 20px;overflow-x:auto;scrollbar-width:none;}
.ee-finance-subtab{font-family:var(--dash-font);font-size:13px;font-weight:600;color:var(--dash-text-muted);background:none;border:none;
  padding:10px 14px;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;transition:.15s;display:inline-flex;align-items:center;gap:6px;}
.ee-finance-subtab:hover:not(:disabled){color:var(--dash-text-secondary);}
.ee-finance-subtab.active{color:var(--dash-green-brand);border-bottom-color:var(--dash-green-brand);}
.ee-finance-subtab:disabled{cursor:not-allowed;opacity:.55;}
.ee-finance-soon{font-size:9px;font-weight:800;background:var(--dash-bg-subtle);color:var(--dash-text-muted);
  padding:1px 6px;border-radius:10px;text-transform:uppercase;letter-spacing:.4px;}
.ee-finance-subpanel{display:none;}
.ee-finance-subpanel.active{display:block;}

/* ---- Cards / sections ---- */
.ee-fc-card{background:var(--dash-surface);border:1px solid var(--dash-border);border-radius:var(--dash-radius);padding:16px;
  box-shadow:var(--dash-shadow);margin-bottom:18px;overflow:hidden;}
.ee-fc-card--pe{background:var(--dash-cyan-light);border-color:rgba(6,182,212,0.16);}
.ee-fc-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px;}
.ee-fc-section-header h2{font-size:15px;font-weight:700;color:var(--dash-text);display:flex;align-items:center;gap:8px;margin:0;}
.ee-fc-section-desc{display:block;font-size:12px;color:var(--dash-text-muted);margin-top:2px;}
.ee-fc-section-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}

/* ---- Buttons ---- */
.ee-fc-btn{font-family:var(--dash-font);font-size:13px;font-weight:600;padding:7px 14px;border:none;border-radius:var(--dash-radius-sm);
  background:var(--dash-green-brand);color:#fff;cursor:pointer;transition:background .15s,box-shadow .15s;white-space:nowrap;
  display:inline-flex;align-items:center;gap:6px;}
.ee-fc-btn:hover{background:var(--dash-green-dark);}
.ee-fc-btn.secondary{background:var(--dash-surface);color:var(--dash-text-secondary);border:1px solid var(--dash-border);}
.ee-fc-btn.secondary:hover{background:var(--dash-bg-subtle);border-color:var(--dash-border-hover);}

/* ---- KPI strip ---- */
.ee-fc-kpi-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px;}
.ee-fc-kpi-item{background:var(--dash-surface);border:1px solid var(--dash-border);border-radius:var(--dash-radius);padding:14px 16px;
  display:flex;align-items:center;gap:12px;transition:.2s;}
.ee-fc-kpi-item:hover{border-color:var(--kpi-accent,var(--dash-border-hover));box-shadow:var(--dash-shadow);}
.ee-fc-kpi-icon{flex-shrink:0;width:36px;height:36px;border-radius:10px;background:var(--dash-bg-subtle);display:flex;align-items:center;justify-content:center;}
.ee-fc-kpi-label{font-size:11px;font-weight:500;letter-spacing:.2px;color:var(--dash-text-secondary);margin-bottom:4px;white-space:nowrap;}
.ee-fc-kpi-number{font-family:var(--dash-mono);font-size:22px;font-weight:800;color:var(--dash-text);line-height:1.1;white-space:nowrap;}
.ee-fc-kpi-number.status-good{color:var(--dash-green-dark);}
.ee-fc-kpi-number.status-warn{color:#B45309;}
.ee-fc-kpi-number.status-cyan{color:var(--dash-cyan-dark);}
.ee-fc-kpi-sub{font-size:11px;color:var(--dash-text-muted);margin-top:4px;white-space:nowrap;}
.ee-fc-kpi-sub b{color:var(--dash-text-secondary);font-family:var(--dash-mono);}
@media (max-width:900px){ .ee-fc-kpi-strip{grid-template-columns:1fr 1fr;} }

/* ---- Toolbar ---- */
.ee-fc-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:12px;}
.ee-fc-yearnav{display:inline-flex;align-items:center;gap:8px;}
.ee-fc-yearnav button{width:32px;height:32px;border:1px solid var(--dash-border);background:var(--dash-surface);border-radius:var(--dash-radius-sm);
  cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--dash-text-secondary);transition:.15s;}
.ee-fc-yearnav button:hover{background:var(--dash-bg-subtle);border-color:var(--dash-border-hover);color:var(--dash-text);}
.ee-fc-year{font-family:var(--dash-mono);font-size:18px;font-weight:800;min-width:64px;text-align:center;letter-spacing:.5px;}
.ee-fc-seg{display:inline-flex;background:var(--dash-bg-subtle);border:1px solid var(--dash-border);border-radius:999px;padding:3px;gap:2px;}
.ee-fc-seg button{border:none;background:transparent;font-family:var(--dash-font);font-size:12px;font-weight:600;color:var(--dash-text-muted);
  padding:6px 14px;border-radius:999px;cursor:pointer;transition:.15s;}
.ee-fc-seg button:hover{color:var(--dash-text-secondary);}
.ee-fc-seg button.active{background:var(--dash-surface);color:var(--dash-cyan-dark);box-shadow:var(--dash-shadow);}
/* Status switch (aktiv / on hold) — exclusive either/or. Styled like the
   funnel status indicators: a coloured dot before the label (green=active,
   amber=on hold), on the funnel's pill shape. Exactly one option is selected. */
.ee-fc-status-switch{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap;}
.ee-fc-status-btn{font-family:var(--dash-font);font-size:11px;font-weight:600;padding:4px 12px;border:1px solid var(--dash-border);
  border-radius:20px;background:transparent;color:var(--dash-text-muted);cursor:pointer;transition:all .15s;
  display:inline-flex;align-items:center;gap:6px;line-height:1.3;}
.ee-fc-status-btn:hover{border-color:var(--dash-border-hover);color:var(--dash-text-secondary);}
.ee-fc-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--dash-text-muted);transition:background .15s;}
/* Active state: solid pill tinted to the status colour, matching the funnel dots
   (active = green #10B981/#3FA14D, on hold = amber #F59E0B). */
.ee-fc-status-btn[data-status='active'].active{background:rgba(16,185,129,0.12);border-color:rgba(16,185,129,0.35);color:var(--dash-green-dark);}
.ee-fc-status-btn[data-status='active'].active .ee-fc-status-dot{background:var(--dash-green);}
.ee-fc-status-btn[data-status='on_hold'].active{background:rgba(245,158,11,0.14);border-color:rgba(245,158,11,0.38);color:#B45309;}
.ee-fc-status-btn[data-status='on_hold'].active .ee-fc-status-dot{background:var(--dash-amber);}

/* ---- Owner (Mitarbeiter) dropdown — additive filter, AND-combined with the
   status switch + flagged toggle. Sits in the toolbar next to the status pill,
   reusing the dashboard tokens (surface, border, radius). ---- */
.ee-fc-owner-filter{display:inline-flex;align-items:center;gap:6px;}
.ee-fc-owner-label{font-family:var(--dash-font);font-size:11px;font-weight:600;color:var(--dash-text-muted);white-space:nowrap;}
.ee-fc-owner-select{font-family:var(--dash-font);font-size:11px;font-weight:600;color:var(--dash-text-secondary);
  background:var(--dash-surface);border:1px solid var(--dash-border);border-radius:20px;padding:4px 26px 4px 12px;cursor:pointer;
  line-height:1.3;max-width:200px;transition:all .15s;
  appearance:none;-webkit-appearance:none;-moz-appearance:none;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 9px center;}
.ee-fc-owner-select:hover{border-color:var(--dash-border-hover);color:var(--dash-text);}
.ee-fc-owner-select:focus{outline:none;border-color:var(--dash-cyan);box-shadow:0 0 0 2px rgba(6,182,212,0.15);}

/* ---- Flagged toggle — on/off pill styled like the status switch (coloured dot
   + label). Off = neutral outline; on = amber-tinted pill (team-wide flag). ---- */
.ee-fc-flag-toggle{font-family:var(--dash-font);font-size:11px;font-weight:600;padding:4px 12px;border:1px solid var(--dash-border);
  border-radius:20px;background:transparent;color:var(--dash-text-muted);cursor:pointer;transition:all .15s;
  display:inline-flex;align-items:center;gap:6px;line-height:1.3;}
.ee-fc-flag-toggle:hover{border-color:var(--dash-border-hover);color:var(--dash-text-secondary);}
.ee-fc-flag-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--dash-text-muted);transition:background .15s;}
.ee-fc-flag-toggle.active{background:rgba(245,158,11,0.14);border-color:rgba(245,158,11,0.38);color:#B45309;}
.ee-fc-flag-toggle.active .ee-fc-flag-dot{background:var(--dash-amber);}

.ee-fc-scrollctl{display:inline-flex;align-items:center;gap:6px;margin-left:auto;}
.ee-fc-scrollbtn{width:28px;height:28px;border:1px solid var(--dash-border);background:var(--dash-surface);border-radius:6px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;color:var(--dash-text-secondary);transition:.15s;}
.ee-fc-scrollbtn:hover{background:var(--dash-bg-subtle);color:var(--dash-text);border-color:var(--dash-border-hover);}

/* ---- Chart ---- */
.ee-fc-chart-scroll{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;}
.ee-fc-chart-inner{position:relative;height:320px;min-width:100%;}
.ee-fc-empty{padding:40px 20px;text-align:center;color:var(--dash-text-muted);font-size:13px;}

/* ---- Pot tag / status badge ---- */
.ee-pot-tag{display:inline-block;font-size:10px;font-weight:700;border-radius:6px;padding:2px 8px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;}
.ee-pot-tag--kunde{color:var(--dash-green-dark);background:rgba(16,185,129,0.10);border:1px solid rgba(16,185,129,0.25);}
.ee-pot-tag--epc{color:#7C3AED;background:rgba(139,92,246,0.10);border:1px solid rgba(139,92,246,0.25);}
.ee-st-badge{display:inline-block;font-size:10px;font-weight:700;border-radius:999px;padding:3px 9px;text-transform:uppercase;letter-spacing:.05em;}
.ee-st-badge.paid{color:var(--dash-green-dark);background:rgba(16,185,129,0.12);}
.ee-st-badge.invoiced{color:#B45309;background:rgba(245,158,11,0.14);}
.ee-st-badge.planned{color:var(--dash-cyan-dark);background:rgba(6,182,212,0.12);}
.ee-fc .val-paid{color:var(--dash-green-dark);}
.ee-fc .val-invoiced{color:#B45309;}
.ee-fc .val-planned{color:var(--dash-cyan-dark);}

/* ---- Month accordion ---- */
.ee-fc-accordion{display:flex;flex-direction:column;gap:8px;}
.ee-fc-acc-item{border:1px solid var(--dash-border);border-radius:var(--dash-radius);overflow:hidden;background:var(--dash-surface);transition:.15s;}
.ee-fc-acc-item.open{border-color:var(--dash-border-hover);box-shadow:var(--dash-shadow);}
.ee-fc-acc-item.current{border-left:3px solid var(--dash-cyan);}
.ee-fc-acc-head{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--dash-surface);border:none;
  cursor:pointer;font-family:var(--dash-font);text-align:left;transition:background .15s;}
.ee-fc-acc-head:hover{background:var(--dash-bg-subtle);}
.ee-fc-acc-item.open .ee-fc-acc-head{background:var(--dash-bg-subtle);border-bottom:1px solid var(--dash-border);}
.ee-fc-acc-chevron{flex-shrink:0;color:var(--dash-text-muted);transition:transform .25s cubic-bezier(.2,.8,.2,1);}
.ee-fc-acc-item.open .ee-fc-acc-chevron{transform:rotate(90deg);color:var(--dash-cyan-dark);}
.ee-fc-acc-month{font-weight:800;color:var(--dash-text);font-size:14px;min-width:96px;}
.ee-fc-acc-item.current .ee-fc-acc-month{color:var(--dash-cyan-dark);}
.ee-fc-acc-count{font-size:11px;font-weight:600;color:var(--dash-text-muted);}
.ee-fc-acc-bar{flex:1;height:6px;border-radius:3px;background:var(--dash-bg-subtle);overflow:hidden;display:flex;min-width:80px;max-width:260px;}
.ee-fc-acc-bar span{height:100%;display:block;}
/* Proportional fill wrapper: must stay flex so the coloured paid/invoiced/
   planned segments lay out side by side. Declared AFTER `.ee-fc-acc-bar span`
   with equal specificity via the `span` qualifier so its display wins. */
.ee-fc-acc-bar span.ee-fc-acc-bar-fill{height:100%;display:flex;border-radius:3px;overflow:hidden;transition:width .2s ease;}
.ee-fc-acc-bar .b-paid{background:var(--dash-green);}
.ee-fc-acc-bar .b-invoiced{background:var(--dash-amber);}
.ee-fc-acc-bar .b-planned{background:rgba(6,182,212,0.55);}
.ee-fc-acc-sum{font-family:var(--dash-mono);font-weight:800;color:var(--dash-text);font-size:14px;white-space:nowrap;}
.ee-fc-acc-detaillink{flex-shrink:0;font-family:var(--dash-font);font-size:11.5px;font-weight:700;color:var(--dash-cyan-dark);
  background:none;border:1px solid var(--dash-border);cursor:pointer;display:inline-flex;align-items:center;gap:3px;padding:4px 9px;border-radius:6px;transition:.15s;}
.ee-fc-acc-detaillink:hover{background:rgba(6,182,212,0.10);border-color:rgba(6,182,212,0.35);}
.ee-fc-acc-panel{max-height:0;overflow:hidden;transition:max-height .3s cubic-bezier(.2,.8,.2,1);}
.ee-fc-acc-item.open .ee-fc-acc-panel{max-height:1600px;}
.ee-fc-acc-table{width:100%;border-collapse:collapse;font-size:13px;}
.ee-fc-acc-table th{text-align:left;padding:7px 16px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;
  color:var(--dash-text-muted);border-bottom:1px solid var(--dash-border);background:var(--dash-bg);}
.ee-fc-acc-table th.num{text-align:right;}
.ee-fc-acc-table td{padding:9px 16px;border-bottom:1px solid var(--dash-border);vertical-align:middle;}
.ee-fc-acc-table tbody tr:last-child td{border-bottom:none;}
.ee-fc-acc-table tbody tr:hover{background:var(--dash-bg-subtle);}
.ee-fc-acc-table td.num{text-align:right;font-family:var(--dash-mono);font-variant-numeric:tabular-nums;font-weight:700;}
.ee-fc-acc-table td:first-child{border-left:3px solid transparent;}
.ee-fc-acc-row--kunde td:first-child{border-left-color:var(--dash-green);}
.ee-fc-acc-row--epc td:first-child{border-left-color:var(--dash-purple);}
.ee-fc-cust{font-weight:700;color:var(--dash-text);}
.ee-fc-proj{font-size:11.5px;color:var(--dash-text-muted);margin-top:1px;}
.ee-fc-ms{font-size:12px;color:var(--dash-text-secondary);}

/* ---- Modal ---- */
.ee-fc-modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,0.42);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
  display:none;align-items:flex-start;justify-content:center;z-index:3000;padding:48px 20px;overflow-y:auto;}
.ee-fc-modal-overlay.open{display:flex;}
.ee-fc-modal{background:var(--dash-surface);border:1px solid var(--dash-border);border-radius:var(--dash-radius-lg);
  box-shadow:var(--dash-shadow-lg);width:min(1080px,92vw);max-width:min(1080px,92vw);overflow:hidden;animation:ee-fc-modal-in .22s cubic-bezier(.2,.8,.2,1);}
@keyframes ee-fc-modal-in{from{opacity:0;transform:translateY(14px) scale(.98);}to{opacity:1;transform:none;}}
.ee-fc-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px 14px;
  border-bottom:1px solid var(--dash-border);background:var(--dash-cyan-light);}
.ee-fc-modal-eyebrow{font-size:10px;font-weight:800;letter-spacing:.9px;text-transform:uppercase;color:var(--dash-cyan-dark);margin-bottom:3px;}
.ee-fc-modal-head h3{font-size:18px;font-weight:800;color:var(--dash-text);letter-spacing:-.2px;margin:0;}
.ee-fc-modal-sub{font-size:12px;color:var(--dash-text-secondary);margin-top:3px;}
.ee-fc-modal-close{width:32px;height:32px;border:1px solid var(--dash-border);background:var(--dash-surface);border-radius:var(--dash-radius-sm);
  cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--dash-text-secondary);flex-shrink:0;transition:.15s;}
.ee-fc-modal-close:hover{background:var(--dash-bg-subtle);color:var(--dash-text);border-color:var(--dash-border-hover);}
.ee-fc-modal-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:16px 20px 4px;}
.ee-fc-modal-kpi{border:1px solid var(--dash-border);border-radius:var(--dash-radius-sm);padding:10px 12px;background:var(--dash-bg);}
.ee-fc-modal-kpi .k-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--dash-text-muted);}
.ee-fc-modal-kpi .k-val{font-family:var(--dash-mono);font-size:17px;font-weight:800;margin-top:3px;}
.ee-fc-modal-kpi.k-total .k-val{color:var(--dash-text);}
.ee-fc-modal-kpi.k-paid .k-val{color:var(--dash-green-dark);}
.ee-fc-modal-kpi.k-invoiced .k-val{color:#B45309;}
.ee-fc-modal-kpi.k-planned .k-val{color:var(--dash-cyan-dark);}
.ee-fc-modal-body{padding:8px 20px 4px;max-height:46vh;overflow-y:auto;overflow-x:auto;}
.ee-fc-modal-table{width:100%;border-collapse:collapse;font-size:13px;}
.ee-fc-modal-table th{text-align:left;padding:8px 10px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;
  color:var(--dash-text-muted);border-bottom:2px solid var(--dash-border);position:sticky;top:0;background:var(--dash-surface);}
.ee-fc-modal-table th.num{text-align:right;}
.ee-fc-modal-table td{padding:9px 10px;border-bottom:1px solid var(--dash-border);vertical-align:middle;}
.ee-fc-modal-table td.num{text-align:right;font-family:var(--dash-mono);font-variant-numeric:tabular-nums;font-weight:700;}
.ee-fc-modal-table tbody tr:hover{background:var(--dash-bg-subtle);}
.ee-fc-modal-table td:first-child{border-left:3px solid transparent;min-width:280px;}
.ee-fc-modal-table th:first-child{min-width:280px;}
.ee-fc-modal-row--kunde td:first-child{border-left-color:var(--dash-green);}
.ee-fc-modal-row--epc td:first-child{border-left-color:var(--dash-purple);}
.ee-fc-modal-cust{font-weight:700;color:var(--dash-text);white-space:nowrap;}
.ee-fc-modal-proj{font-size:11px;color:var(--dash-text-muted);margin-top:1px;}
.ee-fc-modal-ms{font-size:11.5px;color:var(--dash-text-secondary);}
.ee-fc-modal-subhead td{background:var(--dash-bg-subtle);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;
  color:var(--dash-text-secondary);padding:6px 10px;border-left:3px solid transparent;}
.ee-fc-modal-subhead.sh-kunde td{border-left-color:var(--dash-green);color:var(--dash-green-dark);}
.ee-fc-modal-subhead.sh-epc td{border-left-color:var(--dash-purple);color:#7C3AED;}
.ee-fc-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 20px;border-top:1px solid var(--dash-border);
  background:var(--dash-bg);flex-wrap:wrap;}
.ee-fc-modal-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--dash-text-secondary);}
.ee-fc-modal-legend .lg{display:inline-flex;align-items:center;gap:5px;}
.ee-fc-modal-legend .dot{width:9px;height:9px;border-radius:50%;}
@media (max-width:640px){
  .ee-fc-modal-kpis{grid-template-columns:1fr 1fr;}
  .ee-fc-modal-table td:first-child,.ee-fc-modal-table th:first-child{min-width:200px;}
}

/* ============================================================
   Role badges (Team tab, Feature 2)
   ============================================================ */
.ee-role-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;border-radius:999px;padding:4px 11px;
  text-transform:uppercase;letter-spacing:.04em;}
.ee-role-badge .dot{width:7px;height:7px;border-radius:50%;}
.ee-role-badge.role-admin{color:#8B5CF6;background:rgba(139,92,246,0.10);border:1px solid rgba(139,92,246,0.25);}
.ee-role-badge.role-admin .dot{background:#8B5CF6;}
.ee-role-badge.role-pe{color:#0891B2;background:rgba(6,182,212,0.10);border:1px solid rgba(6,182,212,0.25);}
.ee-role-badge.role-pe .dot{background:#06B6D4;}
.ee-role-badge.role-sales{color:#059669;background:rgba(16,185,129,0.10);border:1px solid rgba(16,185,129,0.25);}
.ee-role-badge.role-sales .dot{background:#10B981;}
.ee-role-badge.role-finance{color:#B45309;background:rgba(245,158,11,0.12);border:1px solid rgba(245,158,11,0.28);}
.ee-role-badge.role-finance .dot{background:#F59E0B;}
.ee-role-badge.role-default{color:#475569;background:#F1F5F9;border:1px solid rgba(0,0,0,0.06);}
.ee-role-badge.role-default .dot{background:#94A3B8;}
.ee-role-badge.role-none{color:#94A3B8;background:#F1F5F9;border:1px solid rgba(0,0,0,0.06);}
.ee-role-badge.role-none .dot{background:#CBD5E1;}
