/* Bulltio — Refonte utilisateur Signature Sérénité
   Chargé après le thème global pour donner une direction claire, humaine et moins procédurale. */
:root{
  --bt-primary:#2563EB;
  --bt-primary-strong:#1D4ED8;
  --bt-primary-soft:#E8F0FE;
  --bt-teal:#14B8A6;
  --bt-teal-soft:#DDF8F5;
  --bt-sand:#F3E7D2;
  --bt-sand-soft:#FFF7EA;
  --bt-navy:#0F172A;
  --bt-text:#0F172A;
  --bt-muted:#64748B;
  --bt-slate:#526079;
  --bt-line:#E6EDF7;
  --bt-page:#F6F7FB;
  --bt-card:#FFFFFF;
  --bt-success:#059669;
  --bt-danger:#DC2626;
  --bt-warning:#D97706;
  --bt-blue:var(--bt-primary);
  --bt-blue-50:var(--bt-primary-soft);
  --bt-green:var(--bt-success);
  --bt-red:var(--bt-danger);
  --bt-radius-lg:24px;
  --bt-radius-md:18px;
  --bt-shadow:0 18px 52px rgba(15,23,42,.075);
  --bt-shadow-sm:0 10px 30px rgba(15,23,42,.055);
  --bt-shadow-soft:var(--bt-shadow-sm);

  --bg-page:var(--bt-page);
  --bg-surface:var(--bt-card);
  --bg-sidebar:#FFFFFF;
  --bg-sidebar-hover:#F1F6FF;
  --bg-sidebar-active:#E8F0FE;
  --text-primary:var(--bt-text);
  --text-secondary:#526079;
  --text-muted:var(--bt-muted);
  --accent-green:var(--bt-success);
  --accent-green-light:#DCFCE7;
  --accent-red:var(--bt-danger);
  --accent-red-light:#FEE2E2;
  --accent-gold:#D8A75D;
  --accent-gold-light:#FFF4DE;
  --border-color:var(--bt-line);
  --border-radius:16px;
  --font-body:'Plus Jakarta Sans','Inter','DM Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-display:'Plus Jakarta Sans','Inter','DM Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

html[data-theme="light"] body,
body{
  font-family:var(--font-body);
  background:
    radial-gradient(circle at 9% 9%, rgba(37,99,235,.10), transparent 27%),
    radial-gradient(circle at 88% 8%, rgba(243,231,210,.80), transparent 28%),
    linear-gradient(180deg,#FBFCFF 0%,var(--bt-page) 42%,#F9FBFF 100%);
  color:var(--bt-text);
}

h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:760;letter-spacing:-.025em;color:var(--bt-navy)}
a{color:var(--bt-primary)}a:hover{color:var(--bt-primary-strong)}

.app-wrapper{background:transparent}.main-content{background:transparent}.page-body{padding:22px 24px 32px}

.sidebar{
  border-right:1px solid rgba(15,23,42,.06);
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(18px);
  box-shadow:12px 0 40px rgba(15,23,42,.035);
}
.sidebar-brand{padding-top:20px!important}.sidebar-brand-logo{filter:drop-shadow(0 8px 18px rgba(37,99,235,.10))}
.sidebar-section-label{padding:20px 18px 7px;color:#8A98AF;font-weight:800;letter-spacing:.10em}
.sidebar-nav{padding:0 12px}.sidebar-nav li a{border-radius:14px;padding:10px 12px;color:#42526E;font-weight:650;gap:11px}.sidebar-nav li a i{color:#1E3A8A;font-size:17px}.sidebar-nav li a:hover{background:#F1F6FF;color:var(--bt-navy)}.sidebar-nav li a.active{background:var(--bt-primary-soft);color:var(--bt-primary);box-shadow:inset 0 0 0 1px rgba(37,99,235,.08)}.sidebar-nav li a.active i{color:var(--bt-primary)}
.sidebar-portfolio-btn,.sidebar-user-trigger{border:1px solid rgba(15,23,42,.06)!important;background:#F8FAFF!important;border-radius:16px!important;box-shadow:0 8px 22px rgba(15,23,42,.035)}
.portfolio-dot{box-shadow:0 0 0 4px rgba(37,99,235,.08)}.user-avatar{background:linear-gradient(135deg,#F8DCA8,#E8F0FE)!important;color:var(--bt-primary)!important}
.arb-badge{background:var(--bt-primary)!important}

.topbar{
  margin:14px 16px 0;
  min-height:66px;
  border:1px solid rgba(15,23,42,.06);
  border-radius:22px;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(18px);
  box-shadow:0 14px 36px rgba(15,23,42,.05);
}
.topbar-title{font-weight:820;color:var(--bt-navy);letter-spacing:-.03em}.topbar-search{border:1px solid rgba(15,23,42,.06)!important;background:#F8FAFF!important;border-radius:999px!important}.topbar-search input{font-weight:560;color:var(--bt-navy)}.topbar-icon-btn{border:1px solid rgba(15,23,42,.06)!important;background:#FFFFFF!important;color:#1E3A8A!important;border-radius:14px!important;box-shadow:0 8px 20px rgba(15,23,42,.035)}

.btn{font-weight:750;border-radius:14px;box-shadow:none;transition:transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--bt-primary),#3B82F6)!important;border-color:transparent!important;color:#fff!important;box-shadow:0 12px 24px rgba(37,99,235,.20)}.btn-primary:hover{box-shadow:0 16px 30px rgba(37,99,235,.25)}.btn-secondary{background:#EFF6FF!important;border-color:#D9E7FF!important;color:var(--bt-primary)!important}.btn-ghost{color:#526079!important}.btn-danger{background:#FEE2E2!important;border-color:#FECACA!important;color:var(--bt-danger)!important}.btn-gold{background:var(--bt-sand-soft)!important;border-color:#F6DFC0!important;color:#A16207!important}

.pf-card,.metric-card,.bt-card,.ap-panel,.pf-modal,.import-batch,.import-type,.import-summary-card,.txn-kpi{
  border-color:rgba(15,23,42,.075)!important;
  background:rgba(255,255,255,.88)!important;
  box-shadow:var(--bt-shadow-sm)!important;
}
.pf-card,.bt-card{border-radius:22px!important}.metric-card{border-radius:20px!important}.pf-card-title,.bt-card h3{font-family:var(--font-display);font-weight:820;letter-spacing:-.025em}.pf-card-subtitle,.bt-muted{color:var(--bt-muted)!important}.metric-icon.green,.metric-icon.gold{background:var(--bt-primary-soft)!important;color:var(--bt-primary)!important}.metric-icon.red{background:#FEE2E2!important;color:var(--bt-danger)!important}.metric-label{font-weight:800;color:#7A89A3!important;text-transform:uppercase;letter-spacing:.08em}.metric-value{font-weight:830;color:var(--bt-navy)!important}.metric-delta.positive,.val-positive,.pnl-positive,.is-positive{color:var(--bt-success)!important}.metric-delta.negative,.val-negative,.pnl-negative,.is-negative{color:var(--bt-danger)!important}

.pf-table{border-collapse:separate;border-spacing:0}.pf-table th,.bt-table th{color:#7A89A3!important;font-weight:850;letter-spacing:.08em}.pf-table td,.bt-table td{border-bottom-color:rgba(148,163,184,.16)!important}.pf-table tr:hover td,.bt-table tr:hover td{background:rgba(232,240,254,.36)}
.pf-tab,.ap-tab,.ap-range-btn{border-radius:999px!important}.pf-tab.active,.ap-tab.active,.ap-range-btn.active{background:var(--bt-primary-soft)!important;color:var(--bt-primary)!important;border-color:rgba(37,99,235,.12)!important}
.pf-dropdown-menu{border:1px solid rgba(15,23,42,.08)!important;border-radius:16px!important;box-shadow:0 24px 60px rgba(15,23,42,.12)!important}.pf-dd-item.active{color:var(--bt-primary)!important}.pf-dd-item:hover{background:#F1F6FF!important}

.badge-buy,.badge-action,.badge-etf,.bt-mini-pill.ok,.truth-inline.ok,.ap-truth-badge.ok,.import-status.ready,.import-status.written{background:rgba(20,184,166,.12)!important;color:#0F766E!important}.badge-hold,.badge-neutral{background:#EFF6FF!important;color:var(--bt-primary)!important}.badge-sell,.truth-inline.blocked,.ap-truth-badge.blocked,.import-status.blocked{background:#FEE2E2!important;color:var(--bt-danger)!important}.bt-mini-pill.warn,.truth-inline.warn,.import-status.warning{background:#FFF4DE!important;color:#B45309!important}

.asset-logo,.ap-avatar{background:linear-gradient(135deg,var(--bt-primary-soft),#FFFFFF)!important;color:var(--bt-primary)!important;border:1px solid rgba(37,99,235,.10)!important}.pin-icon{color:var(--bt-primary)!important}

.pf-alert-success{background:#ECFDF5!important;border-color:#BBF7D0!important}.pf-alert-warning,.bt-warning-box{background:#FFF7ED!important;border-color:#FED7AA!important}.pf-alert-danger{background:#FEF2F2!important;border-color:#FECACA!important}.pf-alert-info{background:#EFF6FF!important;border-color:#BFDBFE!important}

@media(max-width:760px){.page-body{padding:16px 14px 26px}.topbar{margin:10px;border-radius:18px}.sidebar{background:#fff}}

/* Ajustements opérationnels — sélecteur portefeuille
   Le menu flotte au-dessus de la sidebar : il ne pousse jamais la navigation. */
.sidebar{overflow-y:auto;overflow-x:visible}
.sidebar-portfolio-zone{padding:12px 14px 14px;position:relative;z-index:2500}
.sidebar-portfolio-zone .pf-dropdown{position:relative;display:block;width:100%}
.sidebar-portfolio-zone .sidebar-portfolio-btn{width:100%;position:relative;z-index:2;display:flex;align-items:center;gap:10px;min-height:42px;padding:8px 12px;overflow:hidden}
.sidebar-portfolio-zone .portfolio-name{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}
.sidebar-portfolio-zone .portfolio-chevron{margin-left:auto;transition:transform .18s ease;color:#64748B}
.sidebar-portfolio-zone .sidebar-portfolio-btn.open .portfolio-chevron{transform:rotate(180deg)}

/* Panneau switcher : fixed + fond strictement opaque.
   Les règles ciblent l'id pour gagner contre les styles génériques de dropdown. */
#portfolioSwitcherMenu.sidebar-portfolio-menu,
.sidebar-portfolio-zone #portfolioSwitcherMenu.pf-dropdown-menu{
  position:fixed!important;
  display:none!important;
  top:0;
  left:0;
  width:212px;
  min-width:190px!important;
  max-width:calc(100vw - 24px);
  max-height:min(420px,calc(100vh - 120px));
  overflow:auto;
  margin:0!important;
  padding:8px!important;
  background:#FFFFFF!important;
  background-color:#FFFFFF!important;
  background-image:linear-gradient(#FFFFFF,#FFFFFF)!important;
  background-clip:padding-box!important;
  color:#102033!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  filter:none!important;
  mix-blend-mode:normal!important;
  isolation:isolate!important;
  z-index:2147483000!important;
  border:1px solid rgba(15,23,42,.10)!important;
  border-radius:18px!important;
  box-shadow:0 24px 64px rgba(15,23,42,.22),0 0 0 1px rgba(255,255,255,.92) inset!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  pointer-events:auto!important;
  clip-path:none!important;
}
#portfolioSwitcherMenu.sidebar-portfolio-menu.open,
.sidebar-portfolio-zone #portfolioSwitcherMenu.pf-dropdown-menu.open{
  display:block!important;
  background:#FFFFFF!important;
  background-color:#FFFFFF!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  pointer-events:auto!important;
}
#portfolioSwitcherMenu.sidebar-portfolio-menu > *{position:relative;z-index:1;opacity:1!important;mix-blend-mode:normal!important}
#portfolioSwitcherMenu.sidebar-portfolio-menu .pf-dd-header{margin:0 0 6px;padding:8px 10px 9px;border-bottom:1px solid rgba(148,163,184,.18);background:#FFFFFF!important}
#portfolioSwitcherMenu.sidebar-portfolio-menu .pf-dd-header-title{font-size:11px;line-height:1;text-transform:uppercase;letter-spacing:.08em;color:#7A89A3;font-weight:850}
#portfolioSwitcherMenu.sidebar-portfolio-menu .pf-dd-subheader{margin:8px 2px 4px;padding:0 8px;font-size:10px;line-height:1.2;text-transform:uppercase;letter-spacing:.09em;color:#94A3B8;font-weight:850;background:#FFFFFF!important}
#portfolioSwitcherMenu.sidebar-portfolio-menu .pf-dd-item{width:100%;display:flex;align-items:center;gap:10px;min-height:40px;margin:2px 0;padding:9px 10px;border:0;background:#FFFFFF!important;border-radius:13px;text-align:left;color:var(--bt-navy);font-weight:720;line-height:1.15;white-space:normal}
#portfolioSwitcherMenu.sidebar-portfolio-menu .pf-dd-item:hover{background:#F1F6FF!important}
#portfolioSwitcherMenu.sidebar-portfolio-menu .pf-dd-item.active{background:rgba(37,99,235,.12)!important}
#portfolioSwitcherMenu.sidebar-portfolio-menu .pf-dd-item-text{min-width:0;display:flex;flex-direction:column;gap:2px;overflow:hidden;text-overflow:ellipsis}
#portfolioSwitcherMenu.sidebar-portfolio-menu .pf-dd-item-text small{font-size:10px;color:#64748B;font-weight:650;letter-spacing:0}
#portfolioSwitcherMenu.sidebar-portfolio-menu .pf-dd-item-consolidated{color:#0F766E!important}
#portfolioSwitcherMenu.sidebar-portfolio-menu .consolidated-dot{width:8px;height:8px;border-radius:50%;background:#14B8A6;box-shadow:0 0 0 4px rgba(20,184,166,.12)}
#portfolioSwitcherMenu.sidebar-portfolio-menu .pf-dd-sep{margin:6px -8px;border-color:rgba(148,163,184,.18);opacity:1}
#portfolioSwitcherMenu.sidebar-portfolio-menu .pf-dd-footer{padding:8px 8px 2px;background:#FFFFFF!important}
#portfolioSwitcherMenu.sidebar-portfolio-menu .pf-dd-footer a{display:flex;align-items:center;gap:8px;color:#2D7D46;text-decoration:none;font-weight:780;font-size:13px}

.sidebar-nav{position:relative;z-index:1}
.bt-consolidated-banner{display:flex;gap:10px;align-items:flex-start;margin:-4px 0 18px;padding:12px 14px;border:1px solid rgba(20,184,166,.22);border-radius:16px;background:rgba(20,184,166,.08);color:#0F766E;font-size:13px;font-weight:680}.bt-consolidated-banner i{font-size:17px}.bt-consolidated-banner strong{display:block;color:#0F766E}.bt-consolidated-banner span{display:block;color:#256D65;font-weight:560;margin-top:2px}

/* Correctif switcher portefeuille — le menu peut être déplacé dans <body> par JS.
   Ces règles ne dépendent donc pas de la sidebar et gardent le panneau opaque. */
#portfolioSwitcherMenu.sidebar-portfolio-menu{
  position:fixed!important;
  display:none!important;
  overflow:auto!important;
  margin:0!important;
  padding:8px!important;
  background:#FFFFFF!important;
  background-color:#FFFFFF!important;
  background-image:none!important;
  background-clip:padding-box!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  mix-blend-mode:normal!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  pointer-events:auto!important;
  border:1px solid rgba(15,23,42,.10)!important;
  border-radius:18px!important;
  box-shadow:0 22px 56px rgba(15,23,42,.18),0 0 0 1px rgba(15,23,42,.08)!important;
  z-index:2147483000!important;
  isolation:isolate!important;
}
#portfolioSwitcherMenu.sidebar-portfolio-menu.open{
  display:block!important;
  background:#FFFFFF!important;
  background-color:#FFFFFF!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
}
#portfolioSwitcherMenu.sidebar-portfolio-menu .pf-dd-header{margin:0 0 6px;padding:8px 10px 9px;border-bottom:1px solid rgba(148,163,184,.18);background:#FFFFFF!important}
#portfolioSwitcherMenu.sidebar-portfolio-menu .pf-dd-header-title{font-size:11px;line-height:1;text-transform:uppercase;letter-spacing:.08em;color:#7A89A3;font-weight:850}
#portfolioSwitcherMenu.sidebar-portfolio-menu .pf-dd-item{width:100%;display:flex;align-items:center;gap:10px;min-height:40px;margin:2px 0;padding:9px 10px;border:0;background:#FFFFFF;border-radius:13px;text-align:left;color:var(--bt-navy);font-weight:720;line-height:1.15;white-space:normal}
#portfolioSwitcherMenu.sidebar-portfolio-menu .pf-dd-item:hover{background:#F1F6FF!important}
#portfolioSwitcherMenu.sidebar-portfolio-menu .pf-dd-item.active{background:rgba(37,99,235,.10)!important;color:var(--bt-primary)!important}
#portfolioSwitcherMenu.sidebar-portfolio-menu .pf-dd-item-text{min-width:0;display:flex;flex-direction:column;gap:2px;overflow:hidden;text-overflow:ellipsis}
#portfolioSwitcherMenu.sidebar-portfolio-menu .pf-dd-item-text small{font-size:10px;color:#64748B;font-weight:650;letter-spacing:0}
#portfolioSwitcherMenu.sidebar-portfolio-menu .pf-dd-item-consolidated{color:#0F766E!important}
#portfolioSwitcherMenu.sidebar-portfolio-menu .consolidated-dot{width:8px;height:8px;border-radius:50%;background:#14B8A6;box-shadow:0 0 0 4px rgba(20,184,166,.12)}
#portfolioSwitcherMenu.sidebar-portfolio-menu .pf-dd-sep{margin:6px -8px;border-color:rgba(148,163,184,.18);opacity:1}
#portfolioSwitcherMenu.sidebar-portfolio-menu .pf-dd-footer{padding:8px 8px 2px;background:#FFFFFF!important}
#portfolioSwitcherMenu.sidebar-portfolio-menu .pf-dd-footer a{display:flex;align-items:center;gap:8px;color:#2D7D46;text-decoration:none;font-weight:780;font-size:13px}
#portfolioSwitcherMenu.sidebar-portfolio-menu .pf-dd-subheader{margin:8px 2px 4px;padding:0 8px;font-size:10px;line-height:1.2;text-transform:uppercase;letter-spacing:.09em;color:#94A3B8;font-weight:850;background:#FFFFFF!important}
