/* ============================================================
   ALPHAVAULT CRM PIPELINE — crm-pipeline.css v2.0
   ULTRA PRO / MINIMALIST — aligné sur checkout.css / investment-memo.css
   Monochrome (encre noir/blanc) + accents succès/danger uniquement
   ============================================================ */

   @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');

   /* ════════════════════════════════════════════════════════════
      1. DESIGN TOKENS — IDENTIQUES AU CHECKOUT (--pl-* → mapping --im-*)
   ════════════════════════════════════════════════════════════ */
   :root {
     /* Encre / textes */
     --pl-ink:            #0a0a0a;
     --pl-ink-soft:        #404040;
     --pl-text:            #0a0a0a;
     --pl-text-muted:      #737373;
     --pl-text-faint:      #a3a3a3;
   
     /* Surfaces */
     --pl-bg:              #fafafa;
     --pl-bg-secondary:    #f5f5f5;
     --pl-surface:         #ffffff;
     --pl-surface-hover:   #fafafa;
     --pl-sidebar-bg:      #ffffff;
     --pl-header-bg:       rgba(255,255,255,0.97);
     --pl-input-bg:        #ffffff;
     --pl-card:            #ffffff;
   
     /* Bordures */
     --pl-border:          #e5e5e5;
     --pl-border-hover:    #d4d4d4;
     --pl-border-soft:     #f5f5f5;
   
     /* Accents (UNIQUEMENT succès / danger — le reste = encre) */
     --pl-primary:         #0a0a0a;
     --pl-primary-dark:    #262626;
     --pl-green:           #16a34a;
     --pl-green-bg:        #f0fdf4;
     --pl-red:             #dc2626;
     --pl-red-bg:          #fef2f2;
     --pl-amber:           #0a0a0a;   /* neutralisé — plus d'orange */
     --pl-purple:          #0a0a0a;   /* neutralisé — l'IA reste monochrome */
     --pl-cyan:            #0a0a0a;
     --pl-orange:          #0a0a0a;
   
     /* Radius */
     --pl-radius:          6px;
     --pl-radius-lg:       10px;
     --pl-radius-xl:       12px;
     --pl-radius-full:     999px;
   
     /* Ombres plates (institutional) */
     --pl-shadow:          0 1px 3px rgba(0,0,0,0.04);
     --pl-shadow-lg:       0 4px 12px rgba(0,0,0,0.06);
     --pl-shadow-xl:       0 12px 32px rgba(0,0,0,0.10);
   
     --pl-sidebar-w:       252px;
     --pl-header-h:        56px;
     --pl-panel-w:         420px;
   
     --pl-transition:      0.15s ease;
   }
   
   /* ── Dark mode ─────────────────────────────────────────────── */
   body.pl-dark-mode {
     --pl-ink:             #fafafa;
     --pl-ink-soft:        #d4d4d4;
     --pl-text:            #fafafa;
     --pl-text-muted:      #a3a3a3;
     --pl-text-faint:      #737373;
   
     --pl-bg:              #0a0a0a;
     --pl-bg-secondary:    #171717;
     --pl-surface:         #141414;
     --pl-surface-hover:   #1a1a1a;
     --pl-sidebar-bg:      #0a0a0a;
     --pl-header-bg:       rgba(10,10,10,0.97);
     --pl-input-bg:        #141414;
     --pl-card:            #0f0f0f;
   
     --pl-border:          #262626;
     --pl-border-hover:    #333333;
     --pl-border-soft:     #171717;
   
     --pl-primary:         #fafafa;
     --pl-primary-dark:    #d4d4d4;
     --pl-green-bg:        rgba(22,163,74,0.12);
     --pl-red-bg:          rgba(220,38,38,0.12);
   
     --pl-shadow:          0 1px 3px rgba(0,0,0,0.3);
     --pl-shadow-lg:       0 4px 12px rgba(0,0,0,0.5);
     --pl-shadow-xl:       0 12px 32px rgba(0,0,0,0.6);
   }
   
   /* ════════════════════════════════════════════════════════════
      2. RESET & BASE
   ════════════════════════════════════════════════════════════ */
   *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
   html, body { height: 100%; overflow: hidden; }
   
   body {
     font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
     background: var(--pl-bg);
     color: var(--pl-text);
     font-size: 13px;
     -webkit-font-smoothing: antialiased;
     line-height: 1.5;
     transition: background .2s ease, color .2s ease;
   }
   
   a { color: inherit; text-decoration: none; }
   button { font-family: inherit; }
   
   .pl-form-select option { background: var(--pl-surface); color: var(--pl-text); }
   
   /* ════════════════════════════════════════════════════════════
      3. APP LAYOUT
   ════════════════════════════════════════════════════════════ */
   #plApp { display: flex; height: 100vh; overflow: hidden; position: relative; }
   
   /* ════════════════════════════════════════════════════════════
      4. SIDEBAR
   ════════════════════════════════════════════════════════════ */
   #plSidebar {
     width: var(--pl-sidebar-w);
     flex-shrink: 0;
     background: var(--pl-sidebar-bg);
     border-right: 1px solid var(--pl-border);
     display: flex;
     flex-direction: column;
     height: 100vh;
     position: relative;
     z-index: 200;
     transition: width 0.2s ease, transform 0.25s ease, background .2s ease, border-color .2s ease;
   }
   
   #plSidebar.collapsed { width: 68px; }
   
   #plSidebar.collapsed .pl-nav-item-text,
   #plSidebar.collapsed .pl-nav-badge,
   #plSidebar.collapsed .pl-nav-label,
   #plSidebar.collapsed .pl-new-btn-text,
   #plSidebar.collapsed .pl-new-chevron,
   #plSidebar.collapsed .pl-platform-section,
   #plSidebar.collapsed .pl-nav-divider,
   #plSidebar.collapsed .pl-sidebar-user-name,
   #plSidebar.collapsed .pl-sidebar-user-email,
   #plSidebar.collapsed .pl-sidebar-plan-badge,
   #plSidebar.collapsed #plUserChevron { display: none; }
   
   #plSidebar.collapsed .pl-nav-item        { justify-content: center; padding: 10px; }
   #plSidebar.collapsed .pl-nav-item-icon   { margin: 0; }
   #plSidebar.collapsed .pl-new-btn         { justify-content: center; padding: 10px; min-width: 0; }
   #plSidebar.collapsed .pl-nav-tool-link   { justify-content: center; padding: 10px; }
   #plSidebar.collapsed .pl-nav-tool-link .pl-nav-item-text { display: none; }
   
   /* ── Logo ───────────────────────────────────────────────────── */
   .pl-sidebar-logo-wrap {
     display: flex; align-items: center;
     padding: 18px 16px 14px; min-height: 56px;
     text-decoration: none; flex-shrink: 0;
     border-bottom: 1px solid var(--pl-border-soft);
   }
   .pl-sidebar-logo-text { display:block; height:26px; max-width:170px; object-fit:contain; }
   body.pl-dark-mode .pl-sidebar-logo-text { filter: invert(1) brightness(1.8); }
   .pl-sidebar-logo-icon { display:none; height:28px; width:28px; object-fit:contain; }
   #plSidebar.collapsed .pl-sidebar-logo-text { display:none; }
   #plSidebar.collapsed .pl-sidebar-logo-icon {
     display:flex; align-items:center; justify-content:center; width:100%; padding:0;
   }
   #plSidebar.collapsed .pl-sidebar-logo-wrap { justify-content:center; padding:18px 6px 14px; }
   
   /* ── Scroll area ────────────────────────────────────────────── */
   .pl-sidebar-scroll { flex:1; overflow-y:auto; overflow-x:hidden; padding: 4px 0; scrollbar-width:thin; scrollbar-color:var(--pl-border) transparent; }
   .pl-sidebar-scroll::-webkit-scrollbar { width:4px; }
   .pl-sidebar-scroll::-webkit-scrollbar-thumb { background:var(--pl-border); border-radius:4px; }
   
   /* ── Toggle button ──────────────────────────────────────────── */
   .pl-sidebar-toggle {
     position:absolute; right:-14px; top:50%; transform:translateY(-50%);
     width:26px; height:26px; border-radius:50%;
     background:var(--pl-card); border:1px solid var(--pl-border);
     display:flex; align-items:center; justify-content:center; cursor:pointer;
     color:var(--pl-text-muted); font-size:9px; z-index:300;
     transition:var(--pl-transition); box-shadow:var(--pl-shadow-lg); flex-shrink:0;
   }
   .pl-sidebar-toggle:hover { background:var(--pl-ink); color:var(--pl-bg); border-color:var(--pl-ink); }
   
   /* ── Mobile close ───────────────────────────────────────────── */
   .pl-mobile-close-btn {
     display:none; position:absolute; top:12px; right:12px; width:32px; height:32px;
     border-radius:var(--pl-radius); background:var(--pl-border-soft); border:1px solid var(--pl-border);
     color:var(--pl-text-muted); font-size:14px; cursor:pointer;
     align-items:center; justify-content:center; z-index:10; transition:var(--pl-transition);
   }
   .pl-mobile-close-btn:hover { background:var(--pl-red-bg); color:var(--pl-red); border-color:var(--pl-red); }
   
   /* ════════════════════════════════════════════════════════════
      5. MAIN CONTENT
   ════════════════════════════════════════════════════════════ */
   #plMain { flex:1; display:flex; flex-direction:column; height:100vh; overflow:hidden; min-width:0; }
   
   /* ════════════════════════════════════════════════════════════
      6. HEADER
   ════════════════════════════════════════════════════════════ */
   #plHeader {
     height:var(--pl-header-h); background:var(--pl-header-bg);
     border-bottom:1px solid var(--pl-border); display:flex; align-items:center; gap:10px;
     padding:0 20px; flex-shrink:0; backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
     position:relative; z-index:100;
   }
   
   .pl-breadcrumb { display:flex; align-items:center; gap:8px; flex-shrink:0; }
   .pl-breadcrumb-item { font-size:13px; font-weight:700; color:var(--pl-text-faint); white-space:nowrap; }
   .pl-breadcrumb-item a { color:inherit; text-decoration:none; }
   .pl-breadcrumb-item:hover, .pl-breadcrumb-item.active { color:var(--pl-text); }
   .pl-breadcrumb-sep { font-size:9px; color:var(--pl-text-faint); }
   
   .pl-search-wrap { flex:1; max-width:340px; position:relative; display:flex; align-items:center; }
   .pl-search-icon { position:absolute; left:12px; color:var(--pl-text-faint); font-size:11px; pointer-events:none; }
   .pl-search-input {
     width:100%; background:var(--pl-border-soft); border:1px solid var(--pl-border); border-radius:var(--pl-radius);
     padding:8px 13px 8px 34px; font-size:12px; color:var(--pl-text); outline:none; transition:var(--pl-transition);
   }
   .pl-search-input::placeholder { color:var(--pl-text-faint); }
   .pl-search-input:focus { border-color:var(--pl-ink); background:var(--pl-surface); }
   
   .pl-search-dropdown {
     display:none; position:absolute; top:calc(100% + 8px); left:0; right:0;
     background:var(--pl-card); border:1px solid var(--pl-border); border-radius:var(--pl-radius-lg);
     padding:6px; z-index:2000; box-shadow:var(--pl-shadow-xl);
   }
   .pl-search-result-item { display:flex; align-items:center; gap:10px; padding:8px 10px; border-radius:var(--pl-radius); cursor:pointer; transition:var(--pl-transition); }
   .pl-search-result-item:hover { background:var(--pl-border-soft); }
   
   .pl-header-controls { display:flex; align-items:center; gap:6px; margin-left:auto; flex-shrink:0; }
   
   .pl-header-btn {
     display:flex; align-items:center; justify-content:center; width:32px; height:32px;
     background:var(--pl-border-soft); border:1px solid var(--pl-border); border-radius:var(--pl-radius);
     font-size:13px; color:var(--pl-text-muted); cursor:pointer; transition:var(--pl-transition); flex-shrink:0;
   }
   .pl-header-btn:hover { background:var(--pl-ink); color:var(--pl-bg); border-color:var(--pl-ink); }
   
   .pl-theme-toggle {
     width:32px; height:32px; display:flex; align-items:center; justify-content:center;
     background:var(--pl-border-soft); border:1px solid var(--pl-border); border-radius:var(--pl-radius);
     cursor:pointer; color:var(--pl-text-muted); font-size:13px; transition:var(--pl-transition); flex-shrink:0;
   }
   .pl-theme-toggle:hover { background:var(--pl-ink); color:var(--pl-bg); border-color:var(--pl-ink); }
   
   .pl-status-dot { width:7px; height:7px; border-radius:50%; background:var(--pl-green); box-shadow:0 0 6px rgba(22,163,74,0.4); flex-shrink:0; }
   
   .pl-role-badge {
     font-size:10px; font-weight:700; padding:3px 10px; border-radius:var(--pl-radius-full);
     background:var(--pl-border-soft); color:var(--pl-ink-soft); border:1px solid var(--pl-border); white-space:nowrap;
   }
   
   .pl-header-avatar {
     width:32px; height:32px; border-radius:50%; background:var(--pl-ink);
     display:flex; align-items:center; justify-content:center; color:var(--pl-bg);
     font-size:11px; font-weight:700; cursor:pointer; transition:var(--pl-transition); flex-shrink:0; position:relative;
   }
   .pl-header-avatar:hover { opacity:0.85; }
   
   .pl-header-user-menu {
     position:absolute; top:calc(var(--pl-header-h) + 4px); right:16px;
     background:var(--pl-card); border:1px solid var(--pl-border); border-radius:var(--pl-radius-lg);
     padding:6px; min-width:200px; z-index:2000; box-shadow:var(--pl-shadow-xl);
   }
   .pl-header-user-menu-top { padding:10px 12px; border-bottom:1px solid var(--pl-border-soft); margin-bottom:4px; }
   .pl-header-user-menu-name  { font-size:13px; font-weight:700; color:var(--pl-text); }
   .pl-header-user-menu-email { font-size:11px; color:var(--pl-text-faint); margin-top:2px; }
   
   .pl-ctx-item {
     display:flex; align-items:center; gap:10px; padding:8px 12px; border-radius:var(--pl-radius);
     font-size:12px; font-weight:600; color:var(--pl-text-muted); cursor:pointer; transition:var(--pl-transition);
   }
   .pl-ctx-item:hover { background:var(--pl-border-soft); color:var(--pl-text); }
   .pl-ctx-item.danger { color:var(--pl-red); }
   .pl-ctx-item.danger:hover { background:var(--pl-red-bg); }
   .pl-ctx-item i { font-size:12px; width:14px; text-align:center; }
   
   /* ════════════════════════════════════════════════════════════
      7. SIDEBAR NAV
   ════════════════════════════════════════════════════════════ */
   .pl-nav { padding:6px 10px; }
   
   .pl-nav-label {
     padding:10px 10px 6px; font-size:9px; font-weight:700; text-transform:uppercase;
     letter-spacing:0.08em; color:var(--pl-text-faint);
   }
   
   .pl-nav-item {
     display:flex; align-items:center; gap:12px; padding:8px 12px; border-radius:var(--pl-radius);
     cursor:pointer; transition:var(--pl-transition); color:var(--pl-text-muted); text-decoration:none;
     position:relative; margin-bottom:1px;
   }
   .pl-nav-item:hover { background:var(--pl-border-soft); color:var(--pl-text); }
   .pl-nav-item.active { background:var(--pl-ink); color:var(--pl-bg); }
   
   .pl-nav-item-icon { width:20px; display:flex; align-items:center; justify-content:center; font-size:13px; flex-shrink:0; }
   .pl-nav-item-text { flex:1; font-size:12.5px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
   
   .pl-nav-badge {
     font-size:9px; font-weight:700; padding:2px 7px; border-radius:var(--pl-radius-full);
     background:var(--pl-border-soft); color:var(--pl-ink-soft); border:1px solid var(--pl-border);
     min-width:22px; text-align:center; flex-shrink:0;
   }
   .pl-badge-deal { background:var(--pl-red-bg); color:var(--pl-red); border-color:transparent; }
   
   .pl-nav-divider { border:none; border-top:1px solid var(--pl-border-soft); margin:8px 10px; }
   
   /* ════════════════════════════════════════════════════════════
      8. PLATFORM NAV
   ════════════════════════════════════════════════════════════ */
   .pl-platform-section { margin-bottom:1px; }
   
   .pl-platform-folder {
     display:flex; align-items:center; gap:10px; padding:8px 12px; font-size:12.5px; font-weight:600;
     color:var(--pl-text-muted); cursor:pointer; border-radius:var(--pl-radius); margin:0 0 1px;
     transition:var(--pl-transition); position:relative; background:none; border:none; width:100%; text-align:left;
   }
   .pl-platform-folder:hover { background:var(--pl-border-soft); color:var(--pl-text); }
   .pl-platform-folder i:first-child { font-size:13px; width:16px; text-align:center; color:var(--pl-text-muted) !important; }
   .pl-arrow { margin-left:auto; font-size:9px; transition:transform 0.2s; }
   .pl-platform-folder.open .pl-arrow { transform:rotate(180deg); }
   .pl-platform-submenu { display:none; padding:2px 0; }
   .pl-platform-submenu.open { display:block; }
   
   .pl-platform-link {
     display:flex; align-items:center; gap:8px; padding:7px 12px 7px 32px; font-size:11.5px; font-weight:500;
     color:var(--pl-text-faint); text-decoration:none; border-radius:var(--pl-radius); margin:0; transition:var(--pl-transition);
   }
   .pl-platform-link:hover { background:var(--pl-border-soft); color:var(--pl-text-muted); }
   .pl-platform-link i { font-size:11px; width:14px; text-align:center; }
   
   /* ════════════════════════════════════════════════════════════
      9. NAV TOOL LINKS
   ════════════════════════════════════════════════════════════ */
   .pl-nav-tool-link {
     display:flex; align-items:center; gap:10px; padding:8px 12px; border-radius:var(--pl-radius);
     margin:1px 0; text-decoration:none; color:var(--pl-text-muted); font-size:12px; font-weight:600; transition:var(--pl-transition);
   }
   .pl-nav-tool-link:hover { background:var(--pl-border-soft); color:var(--pl-text); }
   
   .pl-nav-tool-icon {
     width:26px; height:26px; border-radius:var(--pl-radius); display:flex; align-items:center; justify-content:center;
     font-size:11px; flex-shrink:0; background:var(--pl-border-soft) !important; color:var(--pl-text-muted) !important;
   }
   
   /* ════════════════════════════════════════════════════════════
      10. NEW BUTTON & DROPDOWN
   ════════════════════════════════════════════════════════════ */
   .pl-new-wrap { padding:12px 10px 8px; position:relative; }
   
   .pl-new-btn {
     width:100%; display:flex; align-items:center; gap:10px; padding:10px 14px;
     background:var(--pl-ink); border:none; border-radius:var(--pl-radius);
     font-size:13px; font-weight:700; color:var(--pl-bg); cursor:pointer; transition:var(--pl-transition);
   }
   .pl-new-btn:hover { opacity:0.85; }
   .pl-new-btn-text { flex:1; text-align:left; }
   
   .pl-new-dropdown {
     display:none; position:absolute; top:calc(100% - 2px); left:10px; right:10px;
     background:var(--pl-card); border:1px solid var(--pl-border); border-radius:var(--pl-radius-lg);
     padding:6px; z-index:600; box-shadow:var(--pl-shadow-xl); animation:plFadeIn 0.15s ease;
   }
   .pl-new-dropdown.open { display:block; }
   
   .pl-new-drop-item { display:flex; align-items:center; gap:12px; padding:9px 10px; border-radius:var(--pl-radius); cursor:pointer; transition:var(--pl-transition); }
   .pl-new-drop-item:hover { background:var(--pl-border-soft); }
   
   .pl-new-drop-icon {
     width:34px; height:34px; border-radius:var(--pl-radius); display:flex; align-items:center; justify-content:center;
     flex-shrink:0; font-size:13px; background:var(--pl-border-soft) !important; color:var(--pl-text) !important; border:1px solid var(--pl-border);
   }
   .pl-new-drop-title { font-size:12px; font-weight:700; color:var(--pl-text); }
   .pl-new-drop-sub   { font-size:10px; color:var(--pl-text-faint); margin-top:1px; }
   .pl-new-drop-divider { border:none; border-top:1px solid var(--pl-border-soft); margin:4px 0; }
   
   /* ════════════════════════════════════════════════════════════
      11. SIDEBAR FOOTER
   ════════════════════════════════════════════════════════════ */
   .pl-sidebar-footer { border-top:1px solid var(--pl-border-soft); position:relative; flex-shrink:0; }
   
   .pl-sidebar-user-trigger { display:flex; align-items:center; gap:10px; padding:12px 14px; cursor:pointer; transition:var(--pl-transition); }
   .pl-sidebar-user-trigger:hover { background:var(--pl-border-soft); }
   
   .pl-sidebar-user-name  { font-size:12px; font-weight:700; color:var(--pl-text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
   .pl-sidebar-user-email { font-size:10.5px; color:var(--pl-text-faint); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
   
   .pl-sidebar-plan-badge {
     font-size:9px; font-weight:700; padding:2px 7px; border-radius:var(--pl-radius-full);
     background:var(--pl-border-soft); color:var(--pl-ink-soft); border:1px solid var(--pl-border); flex-shrink:0;
   }
   
   .pl-sidebar-user-dropdown {
     display:none; position:absolute; bottom:100%; left:0; right:0;
     background:var(--pl-card); border:1px solid var(--pl-border); border-radius:var(--pl-radius-lg);
     padding:6px; margin:0 8px 6px; box-shadow:var(--pl-shadow-xl); z-index:1000;
   }
   .pl-sidebar-user-dropdown.open { display:block; }
   
   .pl-sidebar-dropdown-header { display:flex; align-items:center; gap:10px; padding:10px 12px; border-bottom:1px solid var(--pl-border-soft); margin-bottom:6px; }
   .pl-dropdown-name  { font-size:12px; font-weight:700; color:var(--pl-text); }
   .pl-dropdown-email { font-size:10.5px; color:var(--pl-text-faint); margin-top:1px; }
   
   .pl-sidebar-dropdown-link {
     display:flex; align-items:center; gap:10px; padding:8px 12px; color:var(--pl-text-muted);
     text-decoration:none; font-size:12px; font-weight:600; border-radius:var(--pl-radius); transition:var(--pl-transition);
   }
   .pl-sidebar-dropdown-link:hover { background:var(--pl-border-soft); color:var(--pl-text); }
   .pl-sidebar-dropdown-link i { font-size:12px; width:16px; text-align:center; }
   
   .pl-sidebar-dropdown-logout {
     display:flex; align-items:center; gap:10px; padding:8px 12px; color:var(--pl-red);
     font-size:12px; font-weight:700; border-radius:var(--pl-radius); cursor:pointer; transition:var(--pl-transition);
     background:none; border:none; width:100%; text-align:left; margin-top:4px; border-top:1px solid var(--pl-border-soft);
   }
   .pl-sidebar-dropdown-logout:hover { background:var(--pl-red-bg); }
   
   /* ════════════════════════════════════════════════════════════
      12. CONTENT AREA
   ════════════════════════════════════════════════════════════ */
   #plContent { flex:1; overflow-y:auto; overflow-x:hidden; padding:28px 32px; scrollbar-width:thin; scrollbar-color:var(--pl-border) transparent; }
   #plContent::-webkit-scrollbar { width:5px; }
   #plContent::-webkit-scrollbar-thumb { background:var(--pl-border); border-radius:5px; }
   
   /* ════════════════════════════════════════════════════════════
      13. HERO SECTION
   ════════════════════════════════════════════════════════════ */
   .pl-hero { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; flex-wrap:wrap; }
   .pl-hero-left { flex:1; min-width:0; }
   .pl-hero-title { font-size:24px; font-weight:700; color:var(--pl-text); margin-bottom:6px; line-height:1.25; letter-spacing:-0.01em; }
   .pl-hero-sub { font-size:13px; color:var(--pl-text-muted); font-weight:500; }
   .pl-hero-right { display:flex; align-items:center; gap:10px; flex-shrink:0; flex-wrap:wrap; }
   .pl-hero-date { display:flex; align-items:center; gap:6px; font-size:12px; color:var(--pl-text-muted); font-weight:600; }
   .pl-sync-dot { color:var(--pl-green); font-size:10px; animation:plPulse 2s ease-in-out infinite; }
   
   /* ════════════════════════════════════════════════════════════
      14. BUTTONS
   ════════════════════════════════════════════════════════════ */
   .pl-btn {
     display:inline-flex; align-items:center; gap:7px; padding:9px 16px; border-radius:var(--pl-radius);
     font-size:12.5px; font-weight:600; cursor:pointer; transition:var(--pl-transition); border:1px solid transparent;
     text-decoration:none; white-space:nowrap;
   }
   .pl-btn-primary { background:var(--pl-ink); color:var(--pl-bg); }
   .pl-btn-primary:hover { opacity:0.85; }
   .pl-btn-secondary { background:var(--pl-surface); border-color:var(--pl-border); color:var(--pl-text); }
   .pl-btn-secondary:hover { border-color:var(--pl-ink); }
   .pl-btn-danger { background:var(--pl-red-bg); border-color:transparent; color:var(--pl-red); }
   .pl-btn-danger:hover { opacity:0.8; }
   .pl-btn-sm { padding:6px 12px; font-size:11px; border-radius:var(--pl-radius); }
   
   /* ════════════════════════════════════════════════════════════
      15. STATS BAR
   ════════════════════════════════════════════════════════════ */
   #plStatsBar { display:grid; grid-template-columns:repeat(6,1fr); gap:14px; margin-bottom:24px; }
   
   .pl-stat-card {
     background:var(--pl-card); border:1px solid var(--pl-border); border-radius:var(--pl-radius-lg);
     padding:18px; display:flex; flex-direction:column; gap:5px; transition:var(--pl-transition); box-shadow:var(--pl-shadow);
   }
   .pl-stat-card:hover { border-color:var(--pl-ink-soft); }
   
   .pl-stat-top { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:4px; }
   .pl-stat-icon {
     width:38px; height:38px; border-radius:var(--pl-radius); display:flex; align-items:center; justify-content:center;
     font-size:14px; background:var(--pl-border-soft) !important; color:var(--pl-text) !important; flex-shrink:0;
   }
   .pl-stat-value { font-size:20px; font-weight:700; color:var(--pl-text); line-height:1.2; }
   .pl-stat-label { font-size:11px; font-weight:700; color:var(--pl-text-muted); }
   .pl-stat-sub   { font-size:10px; color:var(--pl-text-faint); }
   .pl-stat-badge { font-size:9px; font-weight:700; padding:2px 7px; border-radius:var(--pl-radius-full); white-space:nowrap; background:var(--pl-red-bg); color:var(--pl-red); }
   
   /* ════════════════════════════════════════════════════════════
      16. TOOLBAR
   ════════════════════════════════════════════════════════════ */
   .pl-toolbar {
     display:flex; align-items:center; gap:10px; margin-bottom:20px; flex-wrap:wrap;
     background:var(--pl-card); border:1px solid var(--pl-border); border-radius:var(--pl-radius-lg); padding:10px 14px; box-shadow:var(--pl-shadow);
   }
   
   .pl-view-switcher { display:flex; gap:2px; background:var(--pl-border-soft); border:1px solid var(--pl-border); border-radius:var(--pl-radius); padding:3px; flex-shrink:0; }
   .pl-view-btn {
     display:flex; align-items:center; gap:6px; padding:6px 13px; font-size:11.5px; font-weight:700;
     color:var(--pl-text-muted); border-radius:var(--pl-radius); cursor:pointer; transition:var(--pl-transition);
     border:none; background:transparent; white-space:nowrap;
   }
   .pl-view-btn.active { background:var(--pl-ink); color:var(--pl-bg); }
   .pl-view-btn:not(.active):hover { background:var(--pl-surface); color:var(--pl-text); }
   
   .pl-filter-group { display:flex; align-items:center; gap:8px; flex:1; flex-wrap:wrap; }
   
   .pl-search-filter-wrap { display:flex; align-items:center; background:var(--pl-border-soft); border:1px solid var(--pl-border); border-radius:var(--pl-radius); padding:0 10px; min-width:150px; }
   .pl-search-filter-icon { font-size:11px; color:var(--pl-text-faint); flex-shrink:0; }
   .pl-search-filter { background:transparent; border:none; outline:none; font-size:11.5px; color:var(--pl-text); padding:7px 6px; width:120px; }
   .pl-search-filter::placeholder { color:var(--pl-text-faint); }
   
   .pl-filter-select {
     background:var(--pl-border-soft); border:1px solid var(--pl-border); border-radius:var(--pl-radius);
     padding:7px 11px; font-size:11.5px; color:var(--pl-text); outline:none; cursor:pointer; transition:var(--pl-transition);
   }
   .pl-filter-select:focus { border-color:var(--pl-ink); }
   
   .pl-filter-btn {
     display:flex; align-items:center; gap:6px; padding:7px 13px; background:var(--pl-border-soft);
     border:1px solid var(--pl-border); border-radius:var(--pl-radius); font-size:11.5px; font-weight:700;
     color:var(--pl-text-muted); cursor:pointer; transition:var(--pl-transition); white-space:nowrap;
   }
   .pl-filter-btn:hover { color:var(--pl-text); border-color:var(--pl-ink-soft); }
   .pl-filter-btn.active { background:var(--pl-ink); border-color:var(--pl-ink); color:var(--pl-bg); }
   
   .pl-toolbar-actions { display:flex; align-items:center; gap:6px; margin-left:auto; flex-shrink:0; }
   
   /* ════════════════════════════════════════════════════════════
      17. WIDGETS
   ════════════════════════════════════════════════════════════ */
   .pl-widget { background:var(--pl-card); border:1px solid var(--pl-border); border-radius:var(--pl-radius-lg); padding:18px; margin-bottom:18px; box-shadow:var(--pl-shadow); transition:border-color .15s ease; }
   .pl-widget:hover { border-color:var(--pl-ink-soft); }
   .pl-widget-header { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:14px; }
   .pl-section-title { display:flex; align-items:center; gap:8px; font-size:13px; font-weight:700; color:var(--pl-text); }
   .pl-section-title i { color:var(--pl-text-muted) !important; }
   
   .pl-widgets-row { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:18px; }
   .pl-widgets-row .pl-widget { margin-bottom:0; }
   
   .pl-ai-preset-chip {
     display:inline-flex; align-items:center; gap:5px; padding:4px 10px; background:var(--pl-border-soft);
     border:1px solid var(--pl-border); border-radius:var(--pl-radius-full); font-size:10px; font-weight:700;
     color:var(--pl-text-muted); cursor:pointer; transition:var(--pl-transition);
   }
   .pl-ai-preset-chip:hover { color:var(--pl-text); border-color:var(--pl-ink-soft); }
   
   .pl-refresh-btn {
     display:flex; align-items:center; gap:5px; padding:5px 10px; background:var(--pl-border-soft);
     border:1px solid var(--pl-border); border-radius:var(--pl-radius); font-size:10px; font-weight:700;
     color:var(--pl-text-muted); cursor:pointer; transition:var(--pl-transition);
   }
   .pl-refresh-btn:hover { color:var(--pl-text); border-color:var(--pl-ink-soft); }
   
   .pl-narrative-loading { display:flex; align-items:center; gap:10px; padding:12px; color:var(--pl-text-faint); font-size:12px; font-weight:600; }
   .pl-ai-dots { display:flex; gap:4px; }
   .pl-ai-dots span { width:5px; height:5px; border-radius:50%; background:var(--pl-text-muted); animation:plPulse 0.8s ease-in-out infinite; }
   .pl-ai-dots span:nth-child(2) { animation-delay:0.15s; }
   .pl-ai-dots span:nth-child(3) { animation-delay:0.3s; }
   
   .pl-narrative-idle { display:flex; flex-direction:column; align-items:center; text-align:center; padding:20px 12px; }
   .pl-narrative-content { display:flex; align-items:flex-start; gap:12px; }
   .pl-narrative-icon {
     width:32px; height:32px; border-radius:var(--pl-radius); background:var(--pl-border-soft);
     border:1px solid var(--pl-border); display:flex; align-items:center; justify-content:center; flex-shrink:0;
   }
   .pl-narrative-text { flex:1; font-size:12.5px; color:var(--pl-text-muted); line-height:1.7; white-space:pre-wrap; }
   .pl-narrative-footer { display:flex; align-items:center; gap:5px; margin-top:10px; font-size:10.5px; color:var(--pl-text-faint); }
   .pl-narrative-regenerate {
     margin-left:auto; width:20px; height:20px; border-radius:var(--pl-radius); border:none;
     background:transparent; color:var(--pl-text-muted); cursor:pointer; font-size:9px;
     display:inline-flex; align-items:center; justify-content:center;
   }
   .pl-narrative-regenerate:hover { background:var(--pl-border-soft); color:var(--pl-text); }
   
   .pl-empty-state { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:60px 24px; text-align:center; }
   
   /* ════════════════════════════════════════════════════════════
      18. KANBAN BOARD
   ════════════════════════════════════════════════════════════ */
   #pipelineKanban { margin-bottom:18px; }
   
   .pl-kanban-board {
     display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:14px;
     align-items:start; overflow-x:auto; padding-bottom:12px;
   }
   .pl-kanban-board::-webkit-scrollbar { height:5px; }
   .pl-kanban-board::-webkit-scrollbar-thumb { background:var(--pl-border); border-radius:4px; }
   
   .pl-kanban-col {
     background:var(--pl-bg-secondary); border:1px solid var(--pl-border); border-radius:var(--pl-radius-lg);
     display:flex; flex-direction:column; max-height:calc(100vh - 290px); min-height:280px;
     transition:border-color .2s ease, box-shadow .2s ease;
   }
   .pl-kanban-col.drag-over { border-color:var(--pl-ink-soft) !important; box-shadow:0 0 0 2px rgba(0,0,0,0.06); }
   
   .pl-kanban-col-header { padding:14px 14px 10px; border-top:none !important; border-bottom:1px solid var(--pl-border); flex-shrink:0; position:relative; }
   .pl-kanban-col-header-top { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }
   .pl-kanban-col-title-wrap { display:flex; align-items:center; gap:8px; }
   
   .pl-kanban-col-icon {
     width:26px; height:26px; border-radius:var(--pl-radius); display:flex; align-items:center; justify-content:center;
     font-size:11px; flex-shrink:0; background:var(--pl-border-soft) !important; color:var(--pl-text) !important; border:1px solid var(--pl-border);
   }
   .pl-kanban-col-title { font-size:12.5px; font-weight:700; color:var(--pl-text); letter-spacing:-0.01em; }
   .pl-kanban-col-prob { font-size:9.5px; font-weight:600; color:var(--pl-text-faint); margin-top:1px; }
   
   .pl-kanban-col-badges { display:flex; align-items:center; gap:5px; flex-shrink:0; }
   .pl-kanban-count-badge {
     font-size:10.5px; font-weight:700; padding:2px 8px; border-radius:var(--pl-radius);
     background:var(--pl-border-soft); color:var(--pl-text); border:1px solid var(--pl-border); min-width:20px; text-align:center;
   }
   .pl-wip-badge {
     font-size:9px; font-weight:700; padding:2px 6px; border-radius:var(--pl-radius); background:var(--pl-red-bg); color:var(--pl-red);
     display:flex; align-items:center; gap:3px;
   }
   .pl-wip-ok-badge { font-size:9px; font-weight:600; padding:2px 6px; border-radius:var(--pl-radius); background:var(--pl-border-soft); color:var(--pl-text-faint); }
   .pl-stagnant-badge {
     font-size:9px; font-weight:700; padding:2px 6px; border-radius:var(--pl-radius); background:var(--pl-border-soft);
     color:var(--pl-text-muted); border:1px dashed var(--pl-border); display:flex; align-items:center; gap:3px;
   }
   
   .pl-kanban-col-value { display:flex; align-items:baseline; gap:5px; margin-top:8px; flex-wrap:wrap; }
   .pl-kanban-col-value-num { font-size:15px; font-weight:700; color:var(--pl-text); }
   .pl-kanban-col-value-label { font-size:9.5px; color:var(--pl-text-muted); font-weight:600; }
   .pl-kanban-col-avg-score { font-size:9.5px; font-weight:700; color:var(--pl-text-muted); margin-left:auto; display:flex; align-items:center; gap:3px; }
   
   .pl-kanban-add-btn {
     position:absolute; top:12px; right:12px; width:22px; height:22px; border-radius:var(--pl-radius);
     border:none; background:transparent; color:var(--pl-text-muted); cursor:pointer; display:none;
     align-items:center; justify-content:center; font-size:11px; transition:var(--pl-transition);
   }
   .pl-kanban-col-header:hover .pl-kanban-add-btn { display:flex; }
   .pl-kanban-add-btn:hover { background:var(--pl-border); color:var(--pl-text); }
   
   .pl-kanban-col-body { padding:10px; display:flex; flex-direction:column; gap:8px; flex:1; overflow-y:auto; min-height:60px; }
   .pl-kanban-col-body::-webkit-scrollbar { width:3px; }
   .pl-kanban-col-body::-webkit-scrollbar-thumb { background:var(--pl-border); border-radius:4px; }
   
   .pl-kanban-loading { display:flex; align-items:center; justify-content:center; padding:20px; }
   
   .pl-kanban-empty-col {
     display:flex; flex-direction:column; align-items:center; justify-content:center; padding:24px 12px;
     text-align:center; border:2px dashed var(--pl-border); border-radius:var(--pl-radius); flex:1; min-height:120px;
   }
   .pl-kanban-empty-add {
     margin-top:8px; padding:5px 12px; border-radius:var(--pl-radius); border:1px dashed var(--pl-border); background:transparent;
     font-size:10.5px; font-weight:600; color:var(--pl-text-muted); cursor:pointer; display:flex; align-items:center; gap:4px;
   }
   .pl-kanban-empty-add:hover { border-color:var(--pl-ink); color:var(--pl-text); }
   
   /* ════════════════════════════════════════════════════════════
      19. DEAL CARDS — plates, propres, sans barre latérale
   ════════════════════════════════════════════════════════════ */
   .pl-deal-card {
     background:var(--pl-surface); border:1px solid var(--pl-border); border-radius:var(--pl-radius-lg);
     padding:12px; cursor:pointer; transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease;
     position:relative; overflow:hidden; user-select:none;
   }
   .pl-deal-card:hover { border-color:var(--pl-ink-soft); box-shadow:var(--pl-shadow-lg); transform:translateY(-1px); }
   .pl-deal-card.pl-card-stagnant { border-style:dashed; }
   .pl-deal-card.dragging { opacity:0.5; transform:scale(0.97) rotate(1deg); }
   .pl-deal-card.drag-over-card { border-top:2px solid var(--pl-ink) !important; }
   
   .pl-card-top { display:flex; align-items:center; justify-content:space-between; gap:6px; margin-bottom:8px; }
   .pl-card-source {
     display:inline-flex; align-items:center; gap:4px; font-size:9px; font-weight:700; padding:2px 7px;
     border-radius:var(--pl-radius); text-transform:uppercase; letter-spacing:0.3px;
     background:var(--pl-border-soft); color:var(--pl-text-muted); border:1px solid var(--pl-border);
   }
   .pl-card-badges-right { display:flex; align-items:center; gap:4px; }
   
   .pl-card-stagnant-badge {
     display:inline-flex; align-items:center; gap:3px; font-size:9px; font-weight:700; padding:2px 6px;
     border-radius:var(--pl-radius); background:var(--pl-border-soft); color:var(--pl-text-muted); border:1px solid var(--pl-border);
   }
   
   .pl-card-score-badge {
     display:inline-flex; align-items:center; gap:4px; font-size:10px; font-weight:700; padding:2px 8px;
     border-radius:var(--pl-radius); background:var(--pl-border-soft); color:var(--pl-text); border:1px solid var(--pl-border);
   }
   .pl-card-score-badge img { width:9px; height:9px; }
   .pl-card-score-badge.scoring { color:var(--pl-text-muted); }
   
   .pl-card-score-btn {
     display:inline-flex; align-items:center; gap:4px; padding:3px 8px; border-radius:var(--pl-radius);
     border:1px solid var(--pl-border); background:var(--pl-border-soft); color:var(--pl-text-muted);
     font-size:9.5px; font-weight:700; cursor:pointer; transition:var(--pl-transition);
   }
   .pl-card-score-btn:hover { border-color:var(--pl-ink); color:var(--pl-text); }
   .pl-card-score-btn img { width:9px; height:9px; }
   
   .pl-card-name { font-size:13px; font-weight:700; color:var(--pl-text); line-height:1.3; margin-bottom:8px; letter-spacing:-0.01em; }
   
   .pl-card-meta { display:flex; flex-wrap:wrap; gap:5px; margin-bottom:10px; }
   .pl-card-tag {
     font-size:9.5px; font-weight:600; padding:2px 7px; border-radius:var(--pl-radius);
     background:var(--pl-border-soft); color:var(--pl-text-muted); display:flex; align-items:center; gap:3px;
     border:1px solid var(--pl-border);
   }
   .pl-card-tag.sector, .pl-card-tag.geo { background:var(--pl-border-soft); color:var(--pl-text-muted); }
   
   .pl-card-financials { display:flex; align-items:center; gap:10px; padding:8px 0; border-top:1px solid var(--pl-border-soft); border-bottom:1px solid var(--pl-border-soft); margin-bottom:10px; }
   .pl-card-financial-item { display:flex; flex-direction:column; gap:1px; }
   .pl-card-fin-label { font-size:8.5px; font-weight:700; text-transform:uppercase; color:var(--pl-text-faint); letter-spacing:.03em; }
   .pl-card-fin-value { font-size:12px; font-weight:700; color:var(--pl-text); }
   .pl-card-financial-sep { width:1px; height:20px; background:var(--pl-border); }
   
   .pl-card-prob-wrap { display:flex; align-items:center; gap:8px; margin-bottom:10px; }
   .pl-card-prob-bar { flex:1; height:3px; border-radius:3px; background:var(--pl-border); overflow:hidden; }
   .pl-card-prob-fill { height:100%; border-radius:3px; background:var(--pl-ink); transition:width .5s ease; }
   .pl-card-prob-label { font-size:10px; font-weight:700; color:var(--pl-text-muted); min-width:28px; text-align:right; }
   
   .pl-card-contacts { display:flex; align-items:center; margin-bottom:10px; }
   .pl-card-contact-avatar, .pl-card-contact-more {
     width:20px; height:20px; border-radius:50%; display:flex; align-items:center; justify-content:center;
     font-size:8px; font-weight:700; color:var(--pl-bg); border:2px solid var(--pl-surface); margin-left:-6px; background:var(--pl-ink);
   }
   .pl-card-contact-avatar:first-child { margin-left:0; }
   .pl-card-contact-more { background:var(--pl-border); color:var(--pl-text-muted); }
   
   .pl-card-footer { display:flex; align-items:center; justify-content:space-between; gap:8px; padding-top:8px; border-top:1px solid var(--pl-border-soft); }
   .pl-card-assignee { display:flex; align-items:center; gap:6px; min-width:0; }
   .pl-card-assignee-avatar {
     width:20px; height:20px; border-radius:50%; display:flex; align-items:center; justify-content:center;
     font-size:8px; font-weight:700; color:var(--pl-bg); background:var(--pl-ink); flex-shrink:0; overflow:hidden;
   }
   .pl-card-assignee-name { font-size:10px; font-weight:600; color:var(--pl-text-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
   
   .pl-card-footer-right { display:flex; align-items:center; gap:6px; flex-shrink:0; }
   .pl-card-date { font-size:9.5px; color:var(--pl-text-faint); font-weight:600; display:flex; align-items:center; gap:3px; white-space:nowrap; }
   .pl-card-date.stagnant { color:var(--pl-text-muted); }
   
   .pl-card-actions { display:none; align-items:center; gap:3px; }
   .pl-deal-card:hover .pl-card-actions { display:flex; }
   .pl-card-action-btn {
     width:20px; height:20px; border-radius:var(--pl-radius); border:none; background:var(--pl-border-soft);
     color:var(--pl-text-muted); cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:9px; transition:var(--pl-transition);
   }
   .pl-card-action-btn:hover { background:var(--pl-ink); color:var(--pl-bg); }
   .pl-card-action-btn.danger:hover { background:var(--pl-red-bg); color:var(--pl-red); }
   
   /* ════════════════════════════════════════════════════════════
      20. DEAL PANEL (Side Overlay)
   ════════════════════════════════════════════════════════════ */
   #plPanelOverlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.4); backdrop-filter:blur(3px); z-index:499; }
   
   #plDealPanel {
     display:none; position:fixed; right:0; top:0; height:100vh; width:var(--pl-panel-w);
     background:var(--pl-sidebar-bg); border-left:1px solid var(--pl-border); z-index:500;
     flex-direction:column; transform:translateX(100%); transition:transform .3s cubic-bezier(0.34,1.56,0.64,1);
     overflow:hidden; box-shadow:var(--pl-shadow-xl);
   }
   #plDealPanel.open, #plDealPanel.pl-slide-in { transform:translateX(0); display:flex !important; }
   
   #plDealPanelContent { display:flex; flex-direction:column; height:100%; overflow:hidden; }
   
   .pl-panel-header { padding:18px 20px 14px; border-bottom:1px solid var(--pl-border); flex-shrink:0; }
   .pl-panel-header-top { display:flex; align-items:flex-start; gap:10px; margin-bottom:10px; }
   .pl-panel-stage-chip {
     display:inline-flex; align-items:center; gap:5px; padding:3px 10px; border-radius:var(--pl-radius-full);
     font-size:10px; font-weight:700; background:var(--pl-border-soft); color:var(--pl-text); border:1px solid var(--pl-border); flex-shrink:0;
   }
   .pl-panel-header-actions { display:flex; align-items:center; gap:5px; margin-left:auto; flex-shrink:0; }
   .pl-panel-btn {
     display:flex; align-items:center; gap:5px; padding:6px 10px; border-radius:var(--pl-radius);
     border:1px solid var(--pl-border); background:var(--pl-border-soft); color:var(--pl-text-muted);
     font-size:11px; font-weight:700; cursor:pointer; transition:var(--pl-transition);
   }
   .pl-panel-btn:hover { background:var(--pl-ink); color:var(--pl-bg); border-color:var(--pl-ink); }
   .pl-panel-btn.success { background:var(--pl-green-bg); border-color:transparent; color:var(--pl-green); }
   .pl-panel-btn.success:hover { opacity:0.85; }
   
   .pl-panel-title { font-size:16px; font-weight:700; color:var(--pl-text); line-height:1.3; margin-bottom:6px; letter-spacing:-0.01em; }
   .pl-panel-subtitle-row { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
   .pl-panel-source-badge {
     display:inline-flex; align-items:center; gap:4px; padding:2px 8px; border-radius:var(--pl-radius-full);
     font-size:10px; font-weight:700; background:var(--pl-border-soft); color:var(--pl-text-muted); border:1px solid var(--pl-border);
   }
   .pl-panel-website { font-size:11px; font-weight:600; color:var(--pl-text); text-decoration:none; display:flex; align-items:center; gap:4px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:200px; }
   .pl-panel-website:hover { text-decoration:underline; }
   
   .pl-panel-tabs { display:flex; border-bottom:1px solid var(--pl-border); flex-shrink:0; overflow-x:auto; }
   .pl-panel-tab {
     flex:1; display:flex; align-items:center; justify-content:center; gap:5px; padding:11px 6px;
     font-size:11px; font-weight:600; color:var(--pl-text-faint); cursor:pointer; transition:var(--pl-transition);
     border:none; background:transparent; border-bottom:2px solid transparent; white-space:nowrap;
   }
   .pl-panel-tab:hover { color:var(--pl-text-muted); }
   .pl-panel-tab.active { color:var(--pl-text); border-bottom-color:var(--pl-ink); font-weight:700; }
   
   .pl-tab-score-badge, .pl-tab-count {
     font-size:9px; font-weight:700; padding:1px 5px; border-radius:var(--pl-radius);
     background:var(--pl-border-soft); color:var(--pl-text-muted);
   }
   
   .pl-panel-body { flex:1; overflow-y:auto; padding:20px; transition:opacity .15s; scrollbar-width:thin; scrollbar-color:var(--pl-border) transparent; }
   .pl-panel-body::-webkit-scrollbar { width:3px; }
   .pl-panel-body::-webkit-scrollbar-thumb { background:var(--pl-border); border-radius:4px; }
   
   .pl-panel-footer { display:flex; align-items:center; gap:8px; padding:14px 20px; border-top:1px solid var(--pl-border); flex-shrink:0; flex-wrap:wrap; }
   .pl-panel-close-btn {
     display:flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:var(--pl-radius);
     border:1px solid var(--pl-border); background:var(--pl-border-soft); color:var(--pl-text-muted); cursor:pointer; transition:var(--pl-transition); font-size:12px;
   }
   .pl-panel-close-btn:hover { background:var(--pl-red-bg); color:var(--pl-red); border-color:transparent; }
   
   .pl-panel-section { margin-bottom:22px; padding-bottom:18px; border-bottom:1px solid var(--pl-border-soft); }
   .pl-panel-section:last-child { border-bottom:none; margin-bottom:0; }
   .pl-panel-section-label {
     display:flex; align-items:center; gap:6px; font-size:10px; font-weight:700; text-transform:uppercase;
     letter-spacing:0.06em; color:var(--pl-text-faint); margin-bottom:14px;
   }
   
   .pl-stage-progress { display:flex; align-items:flex-start; overflow-x:auto; padding-bottom:4px; }
   .pl-stage-step { display:flex; flex-direction:column; align-items:center; gap:5px; flex:1; min-width:44px; cursor:pointer; position:relative; }
   .pl-stage-step-dot { width:12px; height:12px; border-radius:50%; border:2px solid var(--pl-border); background:var(--pl-surface); transition:var(--pl-transition); position:relative; z-index:1; }
   .pl-stage-step.done .pl-stage-step-dot, .pl-stage-step.past .pl-stage-step-dot { background:var(--pl-ink); border-color:var(--pl-ink); }
   .pl-stage-step.active .pl-stage-step-dot, .pl-stage-step.current .pl-stage-step-dot {
     border-color:var(--pl-ink); background:var(--pl-ink); transform:scale(1.3);
   }
   .pl-stage-step-label { font-size:9px; font-weight:600; color:var(--pl-text-faint); text-align:center; white-space:nowrap; }
   .pl-stage-step.active .pl-stage-step-label, .pl-stage-step.current .pl-stage-step-label { color:var(--pl-text); font-weight:700; }
   .pl-stage-connector { flex:1; height:2px; background:var(--pl-border); margin-top:6px; flex-shrink:0; }
   
   .pl-panel-metrics-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
   .pl-metric-card { background:var(--pl-border-soft); border:1px solid var(--pl-border); border-radius:var(--pl-radius); padding:10px; display:flex; align-items:center; gap:8px; }
   .pl-metric-icon { width:28px; height:28px; border-radius:var(--pl-radius); display:flex; align-items:center; justify-content:center; font-size:12px; flex-shrink:0; background:var(--pl-surface) !important; color:var(--pl-text) !important; border:1px solid var(--pl-border); }
   .pl-metric-label { font-size:9px; font-weight:700; color:var(--pl-text-faint); text-transform:uppercase; letter-spacing:0.5px; }
   .pl-metric-value { font-size:13px; font-weight:700; color:var(--pl-text); margin-top:1px; }
   
   .pl-panel-prob-row { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
   .pl-panel-prob-bar { height:6px; background:var(--pl-border); border-radius:6px; overflow:hidden; margin-bottom:10px; }
   .pl-panel-prob-fill { height:100%; border-radius:6px; background:var(--pl-ink); transition:width 0.5s ease; }
   .pl-panel-prob-actions { margin-top:8px; }
   .pl-prob-slider { width:100%; accent-color:var(--pl-ink); cursor:pointer; }
   
   .pl-panel-detail-row, .pl-detail-row { display:flex; justify-content:space-between; align-items:center; padding:9px 0; border-bottom:1px solid var(--pl-border-soft); gap:10px; }
   .pl-panel-detail-row:last-child, .pl-detail-row:last-child { border-bottom:none; }
   .pl-detail-label, .pl-pd-label { display:flex; align-items:center; gap:6px; font-size:11.5px; font-weight:600; color:var(--pl-text-muted); flex-shrink:0; }
   .pl-detail-value, .pl-pd-value { font-size:11.5px; font-weight:700; color:var(--pl-text); text-align:right; }
   
   .pl-panel-description { font-size:12.5px; color:var(--pl-text-muted); line-height:1.7; white-space:pre-wrap; background:var(--pl-border-soft); border-radius:var(--pl-radius); padding:14px; }
   
   .pl-panel-stagnant-alert { display:flex; align-items:flex-start; gap:10px; padding:14px; background:var(--pl-border-soft); border:1px dashed var(--pl-border); border-radius:var(--pl-radius); margin-bottom:16px; }
   
   .pl-panel-quick-actions { display:flex; gap:6px; flex-wrap:wrap; }
   .pl-panel-action-btn {
     display:flex; align-items:center; gap:5px; padding:7px 12px; border-radius:var(--pl-radius);
     border:1px solid var(--pl-border); background:var(--pl-border-soft); color:var(--pl-text-muted);
     font-size:11px; font-weight:700; cursor:pointer; transition:var(--pl-transition);
   }
   .pl-panel-action-btn:hover { background:var(--pl-ink); color:var(--pl-bg); border-color:var(--pl-ink); }
   .pl-panel-action-btn.advance { background:var(--pl-border-soft); border-color:var(--pl-ink-soft); color:var(--pl-text); }
   .pl-panel-action-btn.danger { background:var(--pl-red-bg); border-color:transparent; color:var(--pl-red); }
   .pl-panel-action-btn.danger:hover { opacity:0.85; }
   
   .pl-panel-small-btn {
     display:inline-flex; align-items:center; gap:4px; padding:4px 10px; border-radius:var(--pl-radius);
     border:1px solid var(--pl-border); background:var(--pl-border-soft); color:var(--pl-text-muted);
     font-size:10px; font-weight:700; cursor:pointer; transition:var(--pl-transition); margin-left:auto;
   }
   .pl-panel-small-btn:hover { background:var(--pl-ink); color:var(--pl-bg); }
   
   .pl-panel-icon-btn {
     width:26px; height:26px; border-radius:var(--pl-radius); border:1px solid var(--pl-border); background:var(--pl-border-soft);
     color:var(--pl-text-muted); font-size:11px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:var(--pl-transition); text-decoration:none;
   }
   .pl-panel-icon-btn:hover { background:var(--pl-ink); color:var(--pl-bg); }
   .pl-panel-icon-btn.danger:hover { background:var(--pl-red-bg); color:var(--pl-red); }
   
   .pl-panel-empty-sub { display:flex; flex-direction:column; align-items:center; padding:32px 16px; text-align:center; color:var(--pl-text-faint); font-size:12px; }
   
   .pl-stage-pill { display:inline-flex; align-items:center; gap:4px; padding:3px 8px; border-radius:var(--pl-radius-full); font-size:10px; font-weight:700; background:var(--pl-border-soft); color:var(--pl-text); border:1px solid var(--pl-border); white-space:nowrap; }
   
   .pl-panel-kpis { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
   .pl-panel-kpi { display:flex; align-items:center; gap:10px; background:var(--pl-border-soft); border:1px solid var(--pl-border); border-radius:var(--pl-radius); padding:10px 12px; }
   .pl-panel-kpi-icon { width:28px; height:28px; border-radius:var(--pl-radius); background:var(--pl-surface); border:1px solid var(--pl-border); display:flex; align-items:center; justify-content:center; font-size:12px; color:var(--pl-text); flex-shrink:0; }
   .pl-panel-kpi-label { font-size:9px; font-weight:700; color:var(--pl-text-faint); text-transform:uppercase; letter-spacing:0.5px; }
   .pl-panel-kpi-value { font-size:13px; font-weight:700; color:var(--pl-text); }
   
   .pl-panel-deal-icon { width:48px; height:48px; border-radius:var(--pl-radius-lg); display:flex; align-items:center; justify-content:center; font-size:20px; color:var(--pl-bg); background:var(--pl-ink); flex-shrink:0; }
   .pl-panel-deal-title { flex:1; min-width:0; }
   .pl-panel-deal-name { font-size:16px; font-weight:700; color:var(--pl-text); margin-bottom:6px; line-height:1.3; }
   .pl-panel-deal-meta { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
   
   .pl-panel-stage-btns { display:flex; flex-wrap:wrap; gap:5px; }
   .pl-panel-stage-btn {
     display:inline-flex; align-items:center; gap:4px; padding:5px 10px; border-radius:var(--pl-radius);
     border:1px solid var(--pl-border); background:transparent; color:var(--pl-text-muted);
     font-size:10px; font-weight:700; cursor:pointer; transition:var(--pl-transition);
   }
   .pl-panel-stage-btn:hover { border-color:var(--pl-ink); color:var(--pl-text); }
   .pl-panel-stage-btn.pass { border-color:transparent; background:var(--pl-red-bg); color:var(--pl-red); }
   
   .pl-panel-contacts { display:flex; flex-direction:column; gap:8px; }
   .pl-panel-contact-item { display:flex; align-items:center; gap:10px; padding:9px; border-radius:var(--pl-radius); background:var(--pl-border-soft); cursor:pointer; transition:var(--pl-transition); border:1px solid var(--pl-border); }
   .pl-panel-contact-item:hover { border-color:var(--pl-ink-soft); }
   .pl-panel-contact-avatar { width:30px; height:30px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:700; color:var(--pl-bg); background:var(--pl-ink); flex-shrink:0; }
   
   /* ════════════════════════════════════════════════════════════
      22. AI SCORE COMPONENTS (monochrome, plus de conic-gradient coloré)
   ════════════════════════════════════════════════════════════ */
   .pl-ai-score-wrap { padding:4px 0; }
   .pl-ai-score-hero { display:flex; align-items:center; gap:16px; padding:18px; border-radius:var(--pl-radius-lg); margin-bottom:18px; background:var(--pl-border-soft); border:1px solid var(--pl-border); }
   
   .pl-ai-score-circle {
     width:80px; height:80px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0;
     background:conic-gradient(var(--pl-ink) calc(var(--score-pct,0) * 3.6deg), var(--pl-border) 0deg);
   }
   .pl-ai-score-inner { width:60px; height:60px; border-radius:50%; background:var(--pl-sidebar-bg); display:flex; flex-direction:column; align-items:center; justify-content:center; }
   .pl-ai-score-num { font-size:20px; font-weight:700; line-height:1; color:var(--pl-text); }
   .pl-ai-score-max, .pl-ai-score-denom { font-size:10px; color:var(--pl-text-faint); font-weight:600; }
   
   .pl-ai-score-meta, .pl-ai-score-info { flex:1; min-width:0; }
   .pl-ai-score-label, .pl-ai-reco { font-size:15px; font-weight:700; margin-bottom:4px; color:var(--pl-text); }
   .pl-ai-score-rec, .pl-ai-summary { font-size:12.5px; color:var(--pl-text-muted); line-height:1.5; }
   .pl-ai-summary { background:var(--pl-border-soft); border-radius:var(--pl-radius); padding:14px; line-height:1.7; border:1px solid var(--pl-border); }
   
   .pl-ai-rescore-btn {
     display:inline-flex; align-items:center; gap:5px; margin-top:8px; padding:5px 12px; border-radius:var(--pl-radius);
     border:1px solid var(--pl-border); background:var(--pl-surface); color:var(--pl-text-muted); font-size:10px; font-weight:700; cursor:pointer; transition:var(--pl-transition);
   }
   .pl-ai-rescore-btn:hover { border-color:var(--pl-ink); color:var(--pl-text); }
   
   .pl-ai-criteria-list, .pl-criteria-list { display:flex; flex-direction:column; gap:10px; }
   .pl-ai-criterion, .pl-criterion-row { background:var(--pl-border-soft); border:1px solid var(--pl-border); border-radius:var(--pl-radius); padding:12px; }
   .pl-ai-criterion-header, .pl-criterion-header { display:flex; align-items:center; gap:8px; margin-bottom:8px; }
   .pl-ai-criterion-icon { width:24px; height:24px; border-radius:var(--pl-radius); display:flex; align-items:center; justify-content:center; font-size:10px; flex-shrink:0; background:var(--pl-surface) !important; color:var(--pl-text) !important; border:1px solid var(--pl-border); }
   .pl-ai-criterion-info { flex:1; min-width:0; }
   .pl-ai-criterion-name, .pl-criterion-label { font-size:11.5px; font-weight:700; color:var(--pl-text); display:flex; align-items:center; gap:6px; flex:1; }
   .pl-ai-criterion-weight, .pl-criterion-weight { font-size:9px; color:var(--pl-text-faint); font-weight:600; background:var(--pl-surface); padding:1px 5px; border-radius:var(--pl-radius); border:1px solid var(--pl-border); }
   .pl-ai-criterion-score, .pl-criterion-score { font-size:15px; font-weight:700; color:var(--pl-text); flex-shrink:0; }
   .pl-ai-criterion-bar, .pl-criterion-bar-wrap { height:3px; background:var(--pl-border); border-radius:3px; overflow:hidden; margin-bottom:6px; }
   .pl-ai-criterion-fill, .pl-criterion-bar { height:100%; border-radius:3px; background:var(--pl-ink); transition:width .6s cubic-bezier(.34,1.56,.64,1); }
   .pl-ai-criterion-comment, .pl-criterion-comment { font-size:10.5px; color:var(--pl-text-muted); line-height:1.5; font-style:italic; }
   
   .pl-ai-point { display:flex; align-items:flex-start; gap:8px; padding:9px 11px; border-radius:var(--pl-radius); font-size:11.5px; color:var(--pl-text-muted); line-height:1.5; margin-bottom:6px; background:var(--pl-border-soft); border-left:2px solid var(--pl-border); }
   .pl-ai-point.strength { border-left-color:var(--pl-green); }
   .pl-ai-point.risk     { border-left-color:var(--pl-red); }
   
   .pl-ai-footer { display:flex; align-items:center; gap:5px; font-size:10px; color:var(--pl-text-faint); margin-top:14px; padding-top:10px; border-top:1px solid var(--pl-border-soft); }
   
   .pl-panel-ai-loading, .pl-panel-ai-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:40px 20px; text-align:center; }
   .pl-ai-thinking { text-align:center; }
   
   .pl-card-score-badge.pl-score-up, .pl-score-badge.pl-score-up { animation:plScoreUp 0.4s cubic-bezier(.34,1.56,.64,1) forwards; }
   
   /* ════════════════════════════════════════════════════════════
      23. LINKED CONTACTS
   ════════════════════════════════════════════════════════════ */
   .pl-linked-contact { display:flex; align-items:center; gap:10px; padding:10px 0; border-bottom:1px solid var(--pl-border-soft); cursor:pointer; transition:var(--pl-transition); }
   .pl-linked-contact:last-child { border-bottom:none; }
   .pl-linked-contact:hover { opacity:0.75; }
   .pl-linked-contact-avatar { width:32px; height:32px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:700; color:var(--pl-bg); background:var(--pl-ink); flex-shrink:0; }
   .pl-linked-contact-info { flex:1; min-width:0; }
   .pl-linked-contact-name { font-size:12px; font-weight:700; color:var(--pl-text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
   .pl-linked-contact-title { font-size:10px; color:var(--pl-text-faint); margin-top:1px; }
   .pl-linked-contact-actions { display:flex; gap:4px; flex-shrink:0; }
   
   .pl-contact-search-results { margin-top:8px; border:1px solid var(--pl-border); border-radius:var(--pl-radius); overflow:hidden; }
   .pl-contact-result { display:flex; align-items:center; gap:10px; padding:9px 12px; cursor:pointer; transition:var(--pl-transition); border-bottom:1px solid var(--pl-border-soft); }
   .pl-contact-result:last-child { border-bottom:none; }
   .pl-contact-result:hover { background:var(--pl-border-soft); }
   .pl-contact-result-avatar { width:28px; height:28px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:10px; font-weight:700; color:var(--pl-bg); background:var(--pl-ink); flex-shrink:0; }
   
   /* ════════════════════════════════════════════════════════════
      24. TIMELINE / ACTIVITY
   ════════════════════════════════════════════════════════════ */
   .pl-panel-timeline { display:flex; flex-direction:column; gap:0; }
   .pl-timeline-item { display:flex; gap:12px; padding:12px 0; border-bottom:1px solid var(--pl-border-soft); }
   .pl-timeline-item:last-child { border-bottom:none; }
   .pl-timeline-icon { width:30px; height:30px; border-radius:var(--pl-radius); border:1px solid var(--pl-border); background:var(--pl-border-soft); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
   .pl-timeline-body { flex:1; min-width:0; }
   .pl-timeline-top { display:flex; align-items:center; justify-content:space-between; gap:6px; margin-bottom:2px; }
   .pl-timeline-type { font-size:11.5px; font-weight:700; text-transform:capitalize; color:var(--pl-text); }
   .pl-timeline-date { font-size:10px; color:var(--pl-text-faint); }
   .pl-timeline-author { font-size:10px; color:var(--pl-text-faint); margin-bottom:4px; }
   .pl-timeline-note { font-size:11.5px; color:var(--pl-text-muted); line-height:1.5; background:var(--pl-border-soft); border-radius:var(--pl-radius); padding:8px 10px; }
   
   .pl-activity-list { display:flex; flex-direction:column; gap:0; }
   .pl-activity-add-btn {
     display:flex; align-items:center; justify-content:center; gap:6px; width:100%; padding:9px;
     border-radius:var(--pl-radius); border:1px dashed var(--pl-border); background:transparent; color:var(--pl-text-faint);
     font-size:11px; font-weight:700; cursor:pointer; transition:var(--pl-transition); margin-bottom:12px;
   }
   .pl-activity-add-btn:hover { border-color:var(--pl-ink); color:var(--pl-text); }
   .pl-activity-item { display:flex; gap:10px; padding:10px 0; border-bottom:1px solid var(--pl-border-soft); }
   .pl-activity-item:last-child { border-bottom:none; }
   .pl-activity-icon { width:28px; height:28px; border-radius:var(--pl-radius); background:var(--pl-border-soft); border:1px solid var(--pl-border); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
   .pl-activity-body { flex:1; min-width:0; }
   .pl-activity-header { display:flex; align-items:center; justify-content:space-between; gap:6px; margin-bottom:2px; }
   .pl-activity-type { font-size:11.5px; font-weight:700; text-transform:capitalize; color:var(--pl-text); }
   .pl-activity-time { font-size:10px; color:var(--pl-text-faint); }
   .pl-activity-author { font-size:10px; color:var(--pl-text-faint); margin-bottom:4px; }
   .pl-activity-notes { font-size:11.5px; color:var(--pl-text-muted); line-height:1.5; white-space:pre-wrap; }
   .pl-activity-next { display:flex; align-items:center; gap:5px; font-size:10px; color:var(--pl-text); margin-top:4px; font-weight:600; }
   
   /* ════════════════════════════════════════════════════════════
      25. GANTT VIEW (monochrome)
   ════════════════════════════════════════════════════════════ */
   #pipelineGantt { margin-bottom:18px; }
   .pl-gantt-wrap { overflow:hidden; }
   
   .pl-gantt-header-row { display:grid; grid-template-columns:220px 1fr 100px; height:36px; border-bottom:1px solid var(--pl-border); margin-bottom:4px; }
   .pl-gantt-label-col { padding:0 12px; font-size:10px; font-weight:700; color:var(--pl-text-faint); text-transform:uppercase; letter-spacing:0.06em; display:flex; align-items:center; border-right:1px solid var(--pl-border); flex-shrink:0; gap:8px; overflow:hidden; }
   .pl-gantt-timeline-col { position:relative; overflow:hidden; flex:1; display:flex; align-items:center; }
   .pl-gantt-meta-col { padding:0 12px; font-size:10px; font-weight:700; color:var(--pl-text-faint); text-transform:uppercase; letter-spacing:0.06em; display:flex; align-items:center; border-left:1px solid var(--pl-border); flex-shrink:0; }
   
   .pl-gantt-month-marker { position:absolute; top:0; bottom:0; border-left:1px dashed var(--pl-border); }
   .pl-gantt-month-label { position:absolute; top:50%; transform:translate(-50%,-50%); font-size:9px; font-weight:700; color:var(--pl-text-faint); white-space:nowrap; background:var(--pl-surface); padding:0 3px; }
   
   .pl-gantt-today-line { position:absolute; top:-4px; bottom:-4px; border-left:2px solid var(--pl-red); z-index:2; }
   .pl-gantt-today-label { position:absolute; top:0; left:4px; font-size:9px; font-weight:700; color:var(--pl-red); white-space:nowrap; }
   
   .pl-gantt-rows { max-height:480px; overflow-y:auto; position:relative; }
   .pl-gantt-row { display:grid; grid-template-columns:220px 1fr 100px; height:52px; cursor:pointer; border-bottom:1px solid var(--pl-border-soft); transition:background 0.15s; }
   .pl-gantt-row:last-child { border-bottom:none; }
   .pl-gantt-row:hover { background:var(--pl-border-soft); }
   
   .pl-gantt-deal-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; background:var(--pl-ink); }
   .pl-gantt-deal-info { min-width:0; }
   .pl-gantt-deal-name { font-size:12px; font-weight:700; color:var(--pl-text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
   .pl-gantt-deal-stage { font-size:9px; font-weight:700; color:var(--pl-text-muted); }
   
   .pl-gantt-bar-wrap { position:relative; width:100%; height:26px; }
   .pl-gantt-bar { position:absolute; height:22px; top:2px; border-radius:var(--pl-radius); display:flex; align-items:center; overflow:hidden; min-width:6px; transition:opacity 0.2s; background:var(--pl-ink); }
   .pl-gantt-bar:hover { opacity:0.85; }
   .pl-gantt-bar.late { background:var(--pl-red); }
   .pl-gantt-bar.stagnant { border:1px dashed var(--pl-bg); }
   .pl-gantt-bar-progress { position:absolute; top:0; left:0; bottom:0; background:rgba(255,255,255,0.25); border-radius:var(--pl-radius); pointer-events:none; }
   .pl-gantt-bar-label { position:absolute; left:6px; font-size:10px; font-weight:700; color:var(--pl-bg); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; right:4px; }
   
   .pl-gantt-milestone { position:absolute; width:8px; height:8px; border-radius:50%; top:50%; transform:translate(-50%,-50%); z-index:1; background:var(--pl-ink); border:2px solid var(--pl-surface); }
   .pl-gantt-milestone.end.late { background:var(--pl-red); }
   
   .pl-gantt-score { font-size:13px; font-weight:700; color:var(--pl-text); }
   .pl-gantt-prob { font-size:10px; font-weight:700; color:var(--pl-text-muted); }
   .pl-gantt-row .pl-gantt-meta-col { flex-direction:column; align-items:flex-start; justify-content:center; gap:2px; }
   
   /* ════════════════════════════════════════════════════════════
      26. TABLE VIEW
   ════════════════════════════════════════════════════════════ */
   #pipelineTable { margin-bottom:18px; overflow:hidden; }
   .pl-table-wrap { overflow-x:auto; }
   .pl-table { width:100%; border-collapse:collapse; min-width:900px; }
   .pl-table thead th {
     padding:11px 12px; font-size:10px; font-weight:700; color:var(--pl-text-faint); text-transform:uppercase;
     letter-spacing:0.06em; text-align:left; background:var(--pl-border-soft); border-bottom:1px solid var(--pl-border); white-space:nowrap;
   }
   .pl-th-sortable { cursor:pointer; user-select:none; }
   .pl-th-sortable:hover { color:var(--pl-text); }
   
   .pl-table-row { border-bottom:1px solid var(--pl-border-soft); cursor:pointer; transition:background 0.1s; }
   .pl-table-row:hover { background:var(--pl-border-soft); }
   .pl-table-row:last-child { border-bottom:none; }
   .pl-table-row.stagnant { background:var(--pl-border-soft); }
   .pl-table td { padding:11px 12px; vertical-align:middle; }
   .pl-td-name { max-width:200px; }
   .pl-table-deal-name { font-size:12px; font-weight:700; color:var(--pl-text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:180px; }
   .pl-table-deal-source { font-size:10px; font-weight:600; display:flex; align-items:center; gap:3px; margin-top:2px; color:var(--pl-text-faint); }
   
   .pl-score-badge { display:inline-flex; align-items:center; gap:3px; font-size:11px; font-weight:700; padding:2px 8px; border-radius:var(--pl-radius); background:var(--pl-border-soft); color:var(--pl-text); border:1px solid var(--pl-border); }
   .pl-score-btn {
     display:inline-flex; align-items:center; gap:4px; padding:3px 8px; border-radius:var(--pl-radius);
     border:1px solid var(--pl-border); background:var(--pl-border-soft); color:var(--pl-text-muted); font-size:10px; font-weight:700; cursor:pointer; transition:var(--pl-transition);
   }
   .pl-score-btn:hover { border-color:var(--pl-ink); color:var(--pl-text); }
   
   .pl-prob-bar-wrap { display:grid; grid-template-columns:1fr auto; align-items:center; gap:6px; min-width:80px; }
   .pl-prob-bar { height:4px; border-radius:4px; min-width:2px; background:var(--pl-ink); }
   .pl-prob-label { font-size:10px; font-weight:700; white-space:nowrap; min-width:28px; color:var(--pl-text-muted); }
   
   .pl-table-avatar { width:24px; height:24px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:9px; font-weight:700; color:var(--pl-bg); background:var(--pl-ink); }
   
   .pl-table-actions { display:flex; gap:3px; opacity:0; transition:opacity 0.15s; }
   .pl-table-row:hover .pl-table-actions { opacity:1; }
   .pl-table-action-btn {
     width:26px; height:26px; border-radius:var(--pl-radius); border:1px solid var(--pl-border); background:var(--pl-border-soft);
     color:var(--pl-text-muted); font-size:11px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:var(--pl-transition);
   }
   .pl-table-action-btn:hover { background:var(--pl-ink); color:var(--pl-bg); }
   .pl-table-action-btn.danger:hover { background:var(--pl-red-bg); color:var(--pl-red); }
   
   .pl-table-footer { display:flex; align-items:center; justify-content:space-between; padding:12px 16px; border-top:1px solid var(--pl-border); gap:10px; flex-wrap:wrap; }
   .pl-table-info { font-size:11px; color:var(--pl-text-faint); font-weight:600; }
   .pl-pagination { display:flex; gap:3px; }
   .pl-page-btn {
     width:30px; height:30px; border-radius:var(--pl-radius); border:1px solid var(--pl-border); background:var(--pl-border-soft);
     color:var(--pl-text-muted); font-size:11px; font-weight:700; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:var(--pl-transition);
   }
   .pl-page-btn:hover:not(:disabled) { border-color:var(--pl-ink); color:var(--pl-text); }
   .pl-page-btn.active { background:var(--pl-ink); color:var(--pl-bg); border-color:var(--pl-ink); }
   .pl-page-btn:disabled { opacity:0.4; cursor:not-allowed; }
   
   /* ════════════════════════════════════════════════════════════
      27. ALERTS WIDGET
   ════════════════════════════════════════════════════════════ */
   .pl-alerts-empty { display:flex; flex-direction:column; align-items:center; padding:24px; text-align:center; }
   .pl-alert-count-badge { font-size:9px; font-weight:700; padding:2px 7px; border-radius:var(--pl-radius-full); background:var(--pl-red-bg); color:var(--pl-red); margin-left:6px; }
   .pl-alerts-list { display:flex; flex-direction:column; gap:8px; }
   .pl-alert-item { border-radius:var(--pl-radius); padding:10px 12px; background:var(--pl-border-soft); border:1px solid var(--pl-border); cursor:pointer; transition:var(--pl-transition); }
   .pl-alert-item:hover { border-color:var(--pl-ink-soft); }
   .pl-alert-item.critical { border-color:var(--pl-red); }
   .pl-alert-top { display:flex; align-items:center; gap:8px; margin-bottom:4px; }
   .pl-alert-stage-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; background:var(--pl-text); }
   .pl-alert-body { flex:1; min-width:0; }
   .pl-alert-deal-name { font-size:11px; font-weight:700; color:var(--pl-text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
   .pl-alert-meta { font-size:10px; font-weight:600; margin-top:1px; color:var(--pl-text-muted); }
   .pl-alert-value { font-size:11px; font-weight:700; color:var(--pl-text-muted); flex-shrink:0; }
   .pl-alert-ai-action { display:flex; align-items:center; gap:5px; font-size:10px; color:var(--pl-text-muted); background:var(--pl-surface); border:1px solid var(--pl-border); border-radius:var(--pl-radius); padding:5px 8px; margin-top:8px; }
   .pl-alert-quick-actions { display:flex; gap:4px; margin-top:8px; }
   .pl-alert-action-btn {
     display:flex; align-items:center; gap:4px; padding:4px 8px; border-radius:var(--pl-radius);
     border:1px solid var(--pl-border); background:var(--pl-surface); color:var(--pl-text-muted); font-size:10px; font-weight:700; cursor:pointer; transition:var(--pl-transition);
   }
   .pl-alert-action-btn:hover { border-color:var(--pl-ink); color:var(--pl-text); }
   
   /* ════════════════════════════════════════════════════════════
      28-30. MODALS / FORMS / IMPORT
   ════════════════════════════════════════════════════════════ */
   .pl-modal-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.4); backdrop-filter:blur(3px); z-index:10000; align-items:center; justify-content:center; padding:16px; }
   .pl-modal-overlay[style*="flex"] { display:flex !important; animation:plFadeIn .15s ease; }
   
   .pl-modal { background:var(--pl-card); border:1px solid var(--pl-border); border-radius:var(--pl-radius-lg); max-width:520px; width:100%; box-shadow:var(--pl-shadow-xl); max-height:90vh; display:flex; flex-direction:column; overflow:hidden; }
   .pl-modal-wide { max-width:720px; }
   
   .pl-modal-header { display:flex; align-items:center; justify-content:space-between; padding:18px 22px; border-bottom:1px solid var(--pl-border); flex-shrink:0; }
   .pl-modal-title-wrap { display:flex; align-items:center; gap:12px; }
   .pl-modal-title-icon { width:36px; height:36px; border-radius:var(--pl-radius); display:flex; align-items:center; justify-content:center; font-size:15px; color:var(--pl-bg); background:var(--pl-ink) !important; flex-shrink:0; }
   .pl-modal-close { width:30px; height:30px; border-radius:var(--pl-radius); border:1px solid var(--pl-border); background:var(--pl-border-soft); color:var(--pl-text-muted); cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:12px; transition:var(--pl-transition); }
   .pl-modal-close:hover { background:var(--pl-red-bg); color:var(--pl-red); border-color:transparent; }
   .pl-modal-body { padding:20px 22px; overflow-y:auto; flex:1; }
   
   .pl-form-group { margin-bottom:14px; }
   .pl-form-group.required .pl-form-label::after { content:' *'; color:var(--pl-red); }
   .pl-form-label { display:block; font-size:10px; font-weight:700; color:var(--pl-text-muted); text-transform:uppercase; letter-spacing:0.06em; margin-bottom:6px; }
   .pl-form-input, .pl-form-select, .pl-form-textarea {
     width:100%; background:var(--pl-border-soft); border:1px solid var(--pl-border); border-radius:var(--pl-radius);
     padding:9px 12px; font-size:12.5px; color:var(--pl-text); outline:none; transition:var(--pl-transition);
   }
   .pl-form-input::placeholder, .pl-form-textarea::placeholder { color:var(--pl-text-faint); }
   .pl-form-input:focus, .pl-form-select:focus, .pl-form-textarea:focus { border-color:var(--pl-ink); background:var(--pl-surface); }
   .pl-form-textarea { resize:vertical; min-height:80px; line-height:1.5; }
   .pl-form-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
   .pl-form-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; margin-top:20px; padding-top:16px; border-top:1px solid var(--pl-border); }
   
   .pl-import-drop-zone {
     border:1px dashed var(--pl-border); border-radius:var(--pl-radius-lg); padding:36px 24px; text-align:center;
     cursor:pointer; transition:var(--pl-transition); background:var(--pl-border-soft); margin-bottom:16px;
   }
   .pl-import-drop-zone:hover, .pl-import-drop-zone.drag-active { border-color:var(--pl-ink); }
   .pl-import-tips { display:flex; flex-direction:column; gap:6px; }
   .pl-import-tip { display:flex; align-items:center; gap:8px; font-size:11px; color:var(--pl-text-muted); padding:6px 10px; background:var(--pl-border-soft); border-radius:var(--pl-radius); border:1px solid var(--pl-border); }
   .pl-import-preview-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; font-size:13px; font-weight:700; color:var(--pl-text); }
   .pl-source-badge { display:inline-flex; align-items:center; gap:4px; padding:2px 8px; border-radius:var(--pl-radius-full); font-size:10px; font-weight:700; background:var(--pl-border-soft); color:var(--pl-text-muted); border:1px solid var(--pl-border); margin-left:8px; }
   .pl-import-table-wrap { max-height:300px; overflow-y:auto; border:1px solid var(--pl-border); border-radius:var(--pl-radius); }
   .pl-import-progress { margin-top:16px; }
   .pl-progress-bar-wrap { height:6px; background:var(--pl-border); border-radius:6px; overflow:hidden; margin-bottom:6px; }
   .pl-progress-bar { height:100%; background:var(--pl-ink); border-radius:6px; transition:width 0.3s ease; }
   .pl-progress-label { font-size:11px; color:var(--pl-text-muted); font-weight:600; text-align:center; }
   
   .pl-import-table-wrap .pl-table { min-width:500px; font-size:11px; }
   .pl-import-table-wrap .pl-table thead th { font-size:9px; padding:8px 10px; }
   .pl-import-table-wrap .pl-table td { padding:7px 10px; font-size:11px; color:var(--pl-text-muted); }
   .pl-import-table-wrap .pl-table td:first-child { font-weight:700; color:var(--pl-text); }
   
   /* ════════════════════════════════════════════════════════════
      31. AI CHAT FAB & PANEL (monochrome, discret)
   ════════════════════════════════════════════════════════════ */
   .pl-ai-fab {
     position:fixed; bottom:24px; right:24px; width:50px; height:50px; border-radius:16px; border:none;
     background:transparent; box-shadow:0 4px 16px rgba(0,0,0,0.12), 0 1px 3px rgba(0,0,0,0.08);
     cursor:pointer; z-index:9998; display:flex; align-items:center; justify-content:center; overflow:hidden;
     padding:0; transition:box-shadow .2s ease, transform .2s ease;
   }
   .pl-ai-fab:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,0,0,0.16); }
   .pl-ai-fab img.gemini-ai-icon { width:20px; height:20px; object-fit:contain; }
   .pl-ai-fab-text { display:none; }
   
   .pl-ai-fab-pulse { position:absolute; top:-4px; right:-4px; width:12px; height:12px; border-radius:50%; background:var(--pl-green); border:2px solid var(--pl-bg); animation:plPulse 2s ease-in-out infinite; }
   
   .pl-ai-chat-panel {
     position:fixed; bottom:88px; right:24px; width:380px; max-height:580px; background:var(--pl-card);
     border:1px solid var(--pl-border); border-radius:var(--pl-radius-lg); z-index:9999; flex-direction:column;
     box-shadow:var(--pl-shadow-xl); overflow:hidden;
   }
   .pl-ai-chat-header { display:flex; align-items:center; justify-content:space-between; padding:14px 16px; border-bottom:1px solid var(--pl-border); background:var(--pl-border-soft); flex-shrink:0; }
   .pl-ai-chat-header-left { display:flex; align-items:center; gap:10px; }
   .pl-ai-chat-avatar { width:34px; height:34px; border-radius:var(--pl-radius); background:var(--pl-surface) !important; border:1px solid var(--pl-border); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
   .pl-ai-chat-avatar img { width:18px; height:18px; }
   .pl-ai-chat-title { font-size:13px; font-weight:700; color:var(--pl-text); }
   .pl-ai-chat-sub { font-size:10px; color:var(--pl-text-faint); margin-top:1px; }
   .pl-ai-chat-header-btn { width:28px; height:28px; border-radius:var(--pl-radius); border:1px solid var(--pl-border); background:var(--pl-surface); color:var(--pl-text-muted); font-size:11px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:var(--pl-transition); }
   .pl-ai-chat-header-btn:hover { background:var(--pl-red-bg); color:var(--pl-red); }
   
   .pl-ai-chat-presets { display:flex; gap:5px; padding:10px 12px; border-bottom:1px solid var(--pl-border); overflow-x:auto; flex-shrink:0; }
   .pl-ai-chat-preset {
     display:inline-flex; align-items:center; gap:4px; padding:5px 10px; border-radius:var(--pl-radius-full);
     border:1px solid var(--pl-border); background:var(--pl-border-soft); font-size:10px; font-weight:700; color:var(--pl-text-muted);
     cursor:pointer; transition:var(--pl-transition); white-space:nowrap; flex-shrink:0;
   }
   .pl-ai-chat-preset:hover { border-color:var(--pl-ink); color:var(--pl-text); }
   
   .pl-ai-chat-messages { flex:1; overflow-y:auto; padding:12px; display:flex; flex-direction:column; gap:12px; min-height:200px; }
   .pl-chat-msg { display:flex; align-items:flex-start; gap:8px; animation:plFadeIn 0.2s ease; }
   .pl-chat-msg-user { flex-direction:row-reverse; }
   .pl-chat-ai-avatar { width:26px; height:26px; border-radius:var(--pl-radius); background:var(--pl-surface) !important; border:1px solid var(--pl-border); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
   .pl-chat-ai-avatar img { width:15px; height:15px; }
   
   .pl-chat-bubble { max-width:80%; padding:10px 14px; border-radius:var(--pl-radius-lg); font-size:12px; line-height:1.6; }
   .pl-chat-bubble.ai { background:var(--pl-border-soft); color:var(--pl-text); border:1px solid var(--pl-border); border-radius:4px 14px 14px 14px; }
   .pl-chat-bubble.user { background:var(--pl-ink); color:var(--pl-bg); border-radius:14px 4px 14px 14px; }
   
   .pl-ai-chat-input-wrap { display:flex; align-items:flex-end; gap:8px; padding:10px 12px; border-top:1px solid var(--pl-border); background:var(--pl-border-soft); flex-shrink:0; }
   .pl-ai-chat-input { flex:1; background:var(--pl-surface); border:1px solid var(--pl-border); border-radius:var(--pl-radius); padding:8px 12px; font-size:12px; color:var(--pl-text); outline:none; resize:none; max-height:100px; line-height:1.5; transition:var(--pl-transition); }
   .pl-ai-chat-input::placeholder { color:var(--pl-text-faint); }
   .pl-ai-chat-input:focus { border-color:var(--pl-ink); }
   .pl-ai-chat-send { width:34px; height:34px; border-radius:var(--pl-radius); border:none; background:var(--pl-ink); color:var(--pl-bg); font-size:13px; cursor:pointer; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:var(--pl-transition); }
   .pl-ai-chat-send:hover { opacity:0.85; }
   .pl-ai-chat-footer { display:flex; align-items:center; gap:5px; padding:6px 12px; font-size:9px; color:var(--pl-text-faint); border-top:1px solid var(--pl-border); flex-shrink:0; }
   
   /* ════════════════════════════════════════════════════════════
      THINKING BLOCK — namespace pl-think
   ════════════════════════════════════════════════════════════ */
   .pl-think { margin-bottom:10px; border:1px solid var(--pl-border); border-radius:12px; background:var(--pl-surface); overflow:hidden; transition:border-color .25s ease, box-shadow .25s ease; }
   .pl-think.is-active { border-color:var(--pl-ink-soft); box-shadow:var(--pl-shadow); }
   .pl-think-header { display:flex; align-items:center; gap:10px; width:100%; padding:9px 13px; background:transparent; border:none; cursor:pointer; text-align:left; }
   .pl-think-header:hover { background:var(--pl-border-soft); }
   .pl-think-icon { position:relative; width:18px; height:18px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
   .pl-think-ring { position:absolute; inset:-3px; border-radius:50%; border:1.5px solid var(--pl-border); border-top-color:var(--pl-ink); animation:plRingSpin .85s linear infinite; opacity:1; transition:opacity .3s ease; }
   .pl-think:not(.is-active) .pl-think-ring { opacity:0; }
   @keyframes plRingSpin { to { transform:rotate(360deg); } }
   .pl-think-logo {
      width: 11px;
      height: 11px;
      object-fit: contain;
      opacity: .9;
  }
   .pl-think-label { flex:1; font-size:12px; font-weight:600; color:var(--pl-text); display:flex; align-items:center; gap:2px; }
   .pl-think-dots { display:inline-flex; gap:2px; margin-left:2px; }
   .pl-think-dots i { width:3px; height:3px; border-radius:50%; background:var(--pl-text-muted); animation:plThinkDot 1.1s ease-in-out infinite; display:inline-block; }
   .pl-think-dots i:nth-child(2) { animation-delay:.15s; }
   .pl-think-dots i:nth-child(3) { animation-delay:.3s; }
   .pl-think:not(.is-active) .pl-think-dots { display:none; }
   @keyframes plThinkDot { 0%,80%,100% { opacity:.25; transform:translateY(0); } 40% { opacity:1; transform:translateY(-1.5px); } }
   .pl-think-chev { font-size:9px; color:var(--pl-text-muted); transition:transform .25s ease; flex-shrink:0; }
   .pl-think.is-open .pl-think-chev { transform:rotate(180deg); }
   .pl-think-body { max-height:0; overflow:hidden; transition:max-height .35s cubic-bezier(.4,0,.2,1); }
   .pl-think.is-open .pl-think-body { max-height:220px; overflow-y:auto; }
   .pl-think-text { padding:2px 13px 12px 39px; font-size:11.5px; line-height:1.6; color:var(--pl-text-muted); font-style:italic; white-space:pre-wrap; border-top:1px solid var(--pl-border-soft); margin-top:2px; padding-top:9px; }
   
   .gemini-ai-icon {
      width: 14px;
      height: 14px;
      object-fit: contain;
      vertical-align: middle;
      display: inline-block;
  }
  .gemini-ai-icon-sm { width: 11px; height: 11px; }
  .gemini-ai-icon-lg { width: 18px; height: 18px; }
   
   /* ════════════════════════════════════════════════════════════
      32. SCROLLBARS
   ════════════════════════════════════════════════════════════ */
   * { scrollbar-width:thin; scrollbar-color:var(--pl-border) transparent; }
   *::-webkit-scrollbar { width:5px; height:5px; }
   *::-webkit-scrollbar-track { background:transparent; }
   *::-webkit-scrollbar-thumb { background:var(--pl-border); border-radius:5px; }
   *::-webkit-scrollbar-thumb:hover { background:var(--pl-text-faint); }
   
   /* ════════════════════════════════════════════════════════════
      33. ANIMATIONS
   ════════════════════════════════════════════════════════════ */
   @keyframes plSpin    { to { transform:rotate(360deg); } }
   @keyframes plFadeIn  { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
   @keyframes plSlideIn { from { transform:translateX(100%); } to { transform:translateX(0); } }
   @keyframes plPulse   { 0%,100% { opacity:1; } 50% { opacity:0.4; } }
   @keyframes plScoreUp { from { opacity:0; transform:scale(0.7); } to { opacity:1; transform:scale(1); } }
   .pl-fade-in  { animation:plFadeIn  0.3s ease forwards; }
   .pl-slide-in { animation:plSlideIn 0.35s cubic-bezier(0.34,1.56,0.64,1) forwards; }
   .pl-pulse    { animation:plPulse   2s ease-in-out infinite; }
   
   /* ════════════════════════════════════════════════════════════
      34-37. RESPONSIVE
   ════════════════════════════════════════════════════════════ */
   @media (max-width:1400px) {
     #plStatsBar { grid-template-columns:repeat(3,1fr); }
     .pl-kanban-col { flex:0 0 260px; min-width:260px; max-width:260px; }
   }
   @media (max-width:1200px) {
     :root { --pl-panel-w:380px; --pl-sidebar-w:240px; }
     .pl-widgets-row { grid-template-columns:1fr 1fr; }
     .pl-widgets-row .pl-widget:last-child { grid-column:1 / -1; }
   }
   @media (max-width:768px) {
     html, body { overflow:hidden; }
     #plApp { flex-direction:row; }
     #plSidebar { position:fixed; left:0; top:0; bottom:0; z-index:1000; transform:translateX(-100%); width:var(--pl-sidebar-w) !important; overflow-y:auto; }
     #plSidebar.mobile-open { transform:translateX(0); box-shadow:var(--pl-shadow-xl); }
     .pl-sidebar-toggle { display:none !important; }
     .pl-mobile-close-btn { display:flex; }
     #plMain { flex:1; }
     #plDealPanel { width:100vw !important; }
     #plHeader { padding:0 12px; gap:8px; }
     .pl-breadcrumb { display:none; }
     .pl-search-wrap { max-width:none; flex:1; }
     #plContent { padding:14px; }
     #plStatsBar { grid-template-columns:repeat(2,1fr); gap:8px; }
     .pl-stat-card { padding:12px; }
     .pl-stat-value { font-size:18px; }
     .pl-hero { flex-direction:column; align-items:flex-start; gap:12px; }
     .pl-hero-right { width:100%; flex-wrap:wrap; }
     .pl-hero-title { font-size:18px; }
     .pl-toolbar { flex-wrap:wrap; gap:8px; padding:8px 10px; }
     .pl-view-switcher { width:100%; }
     .pl-view-btn { flex:1; justify-content:center; }
     .pl-filter-group { width:100%; flex-wrap:wrap; }
     .pl-toolbar-actions { width:100%; justify-content:flex-end; }
     .pl-kanban-board { gap:10px; padding-bottom:16px; }
     .pl-kanban-col { flex:0 0 235px; min-width:235px; max-width:235px; max-height:calc(100vh - 350px); }
     .pl-widgets-row { grid-template-columns:1fr; gap:10px; }
     .pl-widgets-row .pl-widget:last-child { grid-column:auto; }
     .pl-panel-metrics-grid { grid-template-columns:repeat(2,1fr); }
     .pl-panel-kpis { grid-template-columns:repeat(2,1fr); }
     .pl-gantt-header-row, .pl-gantt-row { grid-template-columns:150px 1fr 70px; }
     .pl-table { min-width:700px; }
     .pl-ai-chat-panel { left:10px; right:10px; bottom:80px; width:auto; max-height:70vh; }
     .pl-ai-fab { bottom:20px; right:20px; }
     .pl-modal-overlay { padding:10px; align-items:flex-end; }
     .pl-modal { border-radius:var(--pl-radius-lg); max-height:95vh; }
     .pl-modal-wide { max-width:100%; }
     .pl-form-row { grid-template-columns:1fr; }
   }
   @media (max-width:480px) {
     :root { --pl-header-h:52px; }
     #plHeader { padding:0 10px; gap:6px; }
     #plStatsBar { grid-template-columns:1fr 1fr; gap:6px; }
     .pl-kanban-col { flex:0 0 215px; min-width:215px; max-width:215px; }
     .pl-hero-title { font-size:16px; }
     .pl-panel-metrics-grid { grid-template-columns:1fr 1fr; }
     .pl-panel-kpis { grid-template-columns:1fr; }
     .pl-gantt-header-row, .pl-gantt-row { grid-template-columns:130px 1fr 60px; }
   }
   
   /* ════════════════════════════════════════════════════════════
      38. TOAST
   ════════════════════════════════════════════════════════════ */
   #pipelineToastContainer { position:fixed; bottom:24px; right:24px; z-index:99999; display:flex; flex-direction:column; gap:8px; pointer-events:none; }
   
   /* ════════════════════════════════════════════════════════════
      41. UTILITIES
   ════════════════════════════════════════════════════════════ */
   .pl-spinner-ring { display:inline-block; width:18px; height:18px; border:2px solid var(--pl-border); border-top-color:var(--pl-ink); border-radius:50%; animation:plSpin 0.7s linear infinite; vertical-align:middle; flex-shrink:0; }
   .pl-truncate { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
   .pl-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
   [data-requires-write][style*="display: none"] { pointer-events:none; }
   
   :focus-visible { outline:1px solid var(--pl-ink); outline-offset:2px; }
   ::selection { background:var(--pl-border); color:var(--pl-text); }
   .pl-btn, .pl-nav-item, .pl-filter-tab { user-select:none; -webkit-user-select:none; }
   
   @media print {
     #plSidebar, #plHeader, .pl-toolbar, .pl-hero-right, .pl-ai-fab, .pl-ai-chat-panel, .pl-sidebar-toggle, [data-requires-write] { display:none !important; }
     #plApp { display:block; }
     #plMain { width:100%; }
     #plContent { padding:0; overflow:visible; }
     .pl-kanban-board { display:grid; grid-template-columns:repeat(4,1fr); overflow:visible; gap:8px; }
     .pl-kanban-col { max-height:none; page-break-inside:avoid; }
     .pl-deal-card { page-break-inside:avoid; }
     .pl-widget { page-break-inside:avoid; }
     body { background:#fff !important; color:#000 !important; }
   }
   
   @media (prefers-reduced-motion: reduce) {
     *, *::before, *::after { animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; }
   }

   .pl-pb-connect-cta{
        display:flex;align-items:center;gap:8px;
        background:rgba(102,126,234,0.06);border:1px dashed rgba(102,126,234,0.3);
        border-radius:8px;padding:10px 12px;font-size:11px;color:var(--pl-text-muted);
        cursor:pointer;transition:background .15s ease;
    }
    .pl-pb-connect-cta:hover{ background:rgba(102,126,234,0.12); }
    .pl-pb-loading{ font-size:11px;color:#64748b;display:flex;align-items:center;gap:6px;padding:8px 0; }
   
   /* ════════════════════════════════════════════════════════════
      END — crm-pipeline.css v2.0 (Ultra Pro / Minimalist)
      © AlphaVault AI — All rights reserved
   ════════════════════════════════════════════════════════════ */