:root{--bg-main: #090d16;--bg-card: rgba(17, 24, 39, .75);--bg-card-hover: rgba(26, 36, 56, .85);--bg-surface: #0e1526;--bg-input: #151f33;--border-color: rgba(255, 255, 255, .08);--border-highlight: rgba(255, 255, 255, .16);--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--profit-color: #10b981;--profit-bg: rgba(16, 185, 129, .12);--profit-border: rgba(16, 185, 129, .3);--profit-glow: rgba(16, 185, 129, .25);--loss-color: #f43f5e;--loss-bg: rgba(244, 63, 94, .12);--loss-border: rgba(244, 63, 94, .3);--loss-glow: rgba(244, 63, 94, .25);--neutral-color: #94a3b8;--neutral-bg: rgba(148, 163, 184, .1);--accent-cyan: #06b6d4;--accent-blue: #3b82f6;--accent-amber: #f59e0b;--font-display: "Outfit", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", monospace;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 24px;--shadow-card: 0 10px 30px -10px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px rgba(16, 185, 129, .15);--wave-ink-green: #34d399;--wave-ink-cyan: #22d3ee;--wave-ink-yellow: #fde047;--wave-ink-red: #f87171;--wave-ink-amber: #fbbf24;--wave-ink-sky: #38bdf8;color-scheme:dark}[data-theme=light]{--wave-ink-green: #047857;--wave-ink-cyan: #0e7490;--wave-ink-yellow: #854d0e;--wave-ink-red: #b91c1c;--wave-ink-amber: #b45309;--wave-ink-sky: #0369a1;--bg-main: #f8fafc;--bg-card: rgba(255, 255, 255, .98);--bg-card-hover: #ffffff;--bg-surface: #ffffff;--bg-input: #f1f5f9;--border-color: rgba(0, 0, 0, .12);--border-highlight: rgba(0, 0, 0, .22);--text-primary: #0f172a;--text-secondary: #334155;--text-muted: #64748b;--accent-cyan: #0284c7;--accent-blue: #2563eb;--accent-amber: #b45309;--profit-color: #047857;--profit-bg: rgba(4, 120, 87, .1);--profit-border: rgba(4, 120, 87, .35);--loss-color: #dc2626;--loss-bg: rgba(220, 38, 38, .1);--loss-border: rgba(220, 38, 38, .35);--neutral-color: #475569;--neutral-bg: rgba(71, 85, 105, .1);--shadow-card: 0 4px 20px -2px rgba(0, 0, 0, .08);color-scheme:light}*{box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased}html,body{max-width:100vw;overflow-x:hidden;width:100%}body{background-color:var(--bg-main);color:var(--text-primary);font-family:var(--font-body);min-height:100vh;line-height:1.5}select,input,textarea{color-scheme:inherit}select option{background-color:var(--bg-surface);color:var(--text-primary)}[data-theme=light] select option{background-color:#fff!important;color:#0f172a!important}:root:not([data-theme=light]) select option,[data-theme=dark] select option{background-color:#0e1526!important;color:#f8fafc!important}select option:disabled{color:var(--text-muted)!important}#root{max-width:100vw;overflow-x:hidden;width:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}html{scrollbar-color:rgba(148,163,184,.55) var(--bg-main)}html[data-theme=light]{scrollbar-color:rgba(71,85,105,.45) var(--bg-main)}body{scrollbar-color:auto}html::-webkit-scrollbar{width:12px}html::-webkit-scrollbar-track{background:var(--bg-main)}html::-webkit-scrollbar-thumb{background:#94a3b88c;border:3px solid var(--bg-main);border-radius:6px}html[data-theme=light]::-webkit-scrollbar-thumb{background:#47556973}.badge-profit{display:inline-flex;align-items:center;gap:4px;background-color:var(--profit-bg);color:var(--profit-color);border:1px solid var(--profit-border);padding:3px 8px;border-radius:6px;font-family:var(--font-mono);font-weight:600;font-size:.85rem}.badge-loss{display:inline-flex;align-items:center;gap:4px;background-color:var(--loss-bg);color:var(--loss-color);border:1px solid var(--loss-border);padding:3px 8px;border-radius:6px;font-family:var(--font-mono);font-weight:600;font-size:.85rem}.badge-neutral{display:inline-flex;align-items:center;gap:4px;background-color:var(--neutral-bg);color:var(--neutral-color);border:1px solid var(--border-color);padding:3px 8px;border-radius:6px;font-family:var(--font-mono);font-weight:600;font-size:.85rem}.badge-recom{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;font-size:.76rem;font-weight:700;letter-spacing:.3px;text-transform:uppercase;white-space:nowrap}.badge-buy-more{background:#10b9812e;color:#10b981;border:1px solid rgba(16,185,129,.4);box-shadow:0 0 12px #10b98133}.badge-take-profit{background:#f59e0b2e;color:#f59e0b;border:1px solid rgba(245,158,11,.4);box-shadow:0 0 12px #f59e0b33}.badge-hold{background:#3b82f62e;color:#60a5fa;border:1px solid rgba(59,130,246,.35)}.badge-sell{background:#f43f5e2e;color:#f43f5e;border:1px solid rgba(244,63,94,.4)}.glass-card{background:var(--bg-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:all .25s cubic-bezier(.16,1,.3,1)}.glass-card:hover{border-color:var(--border-highlight)}.btn-primary{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:var(--radius-md);padding:8px 16px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-size:.9rem;transition:all .2s ease;box-shadow:0 4px 12px #10b98140}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px #10b98159}.btn-secondary{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:8px 14px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-size:.85rem;transition:all .2s ease}.btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--border-highlight)}.modal-overlay,.modal-backdrop{position:fixed;inset:0;background:#000000c7;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .2s ease-out}.modal-container{background:var(--bg-surface);border:1px solid var(--border-highlight);border-radius:var(--radius-xl);max-width:680px;width:100%;box-shadow:0 25px 50px -12px #000000b3;overflow:hidden;animation:scaleUp .25s cubic-bezier(.16,1,.3,1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.live-ticker-container{overflow:hidden;background:var(--bg-surface);border-bottom:1px solid var(--border-color);transition:background .2s ease,border-color .2s ease}[data-theme=light] .live-ticker-container{background:#fff!important;border-bottom:1px solid rgba(0,0,0,.08)!important;box-shadow:0 1px 4px #0000000a}[data-theme=light] .ticker-item-name{color:#0f172a!important;font-weight:800!important}[data-theme=light] .ticker-item-price{color:#0f172a!important;font-weight:700!important}[data-theme=light] .ticker-item-wrapper{border-right:1px solid rgba(0,0,0,.08)!important}[data-theme=light] .badge-buy-more{background:#ecfdf5!important;color:#047857!important;border:1px solid #a7f3d0!important;box-shadow:none!important}[data-theme=light] .badge-take-profit{background:#fffbeb!important;color:#b45309!important;border:1px solid #fde68a!important;box-shadow:none!important}[data-theme=light] .badge-hold{background:#eff6ff!important;color:#1d4ed8!important;border:1px solid #bfdbfe!important}[data-theme=light] .badge-sell{background:#fef2f2!important;color:#b91c1c!important;border:1px solid #fecaca!important}[data-theme=light] .desktop-table-container th{color:#334155!important;font-weight:700!important;background:#f8fafc!important;border-bottom:1px solid #e2e8f0!important}[data-theme=light] .desktop-row{border-bottom:1px solid #f1f5f9!important}[data-theme=light] .desktop-row:hover{background:#f8fafc!important}[data-theme=light] .recom-card-box{background:#f0fdf4!important;border:1px solid #bbf7d0!important}[data-theme=light] .recom-pourquoi-badge{background:#e0f2fe!important;color:#0284c7!important;border:1px solid #bae6fd!important}[data-theme=light] .recom-target-row{color:#334155!important}[data-theme=light] .desktop-vertical-sidebar{background:#fff!important;border-right:1px solid #e2e8f0!important}[data-theme=light] .sidebar-section-title{color:#475569!important;opacity:1!important;font-weight:800!important}[data-theme=light] .vertical-tab-btn{color:#334155!important;font-weight:600!important}[data-theme=light] .vertical-tab-btn:hover{background:#f1f5f9!important;color:#0f172a!important}[data-theme=light] .vertical-tab-btn.active{background:#e0f2fe!important;color:#0369a1!important;border-color:#7dd3fc!important}[data-theme=light] .vertical-tab-btn.admin-tab.active{background:#f3e8ff!important;color:#7e22ce!important;border-color:#d8b4fe!important}[data-theme=light] .nav-masi-badge{background:#f8fafc!important;border:1px solid #cbd5e1!important}[data-theme=light] .summary-header-card{background:#fff!important;border:1px solid #e2e8f0!important;box-shadow:0 1px 3px #0000000d!important}[data-theme=light] .summary-label,[data-theme=light] .subtab-btn-inactive{color:#475569!important;font-weight:600!important}[data-theme=light] .subtab-count-inactive{background:#e2e8f0!important;color:#1e293b!important}[data-theme=light] .badge-purchase-date{background:#e0f2fe!important;color:#0369a1!important;border-color:#bae6fd!important}[data-theme=light] .badge-tp-sl-label{color:#475569!important;font-weight:600!important}@keyframes ticker{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}.ticker-track{display:flex;width:max-content;animation:ticker 130s linear infinite;will-change:transform}.ticker-track:hover{animation-play-state:paused}.marquee-track{user-select:none;-webkit-user-select:none}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.live-dot{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 10px #10b981;animation:pulseDot 2s ease-in-out infinite;display:inline-block}.desktop-row:hover{background:var(--bg-card-hover)!important}@media(min-width:769px){.mobile-cards-container,.position-mobile-card,.mobile-nav-tabs-bar,.mobile-portfolio-bar,.mobile-menu-toggle-btn,.mobile-nav-drawer-backdrop,.allocation-mobile-table,.mobile-history-cards{display:none!important}.desktop-table-container,.allocation-desktop-table,.desktop-history-container{display:block!important}.desktop-vertical-sidebar,.app-main-layout{display:flex!important}.desktop-portfolio-switcher{display:block!important}}.nav-masi-badge{cursor:pointer;border-radius:8px;transition:all .2s cubic-bezier(.4,0,.2,1);outline:none;white-space:nowrap!important;flex-shrink:0!important}.nav-masi-badge:hover{background:var(--bg-card-hover, rgba(255, 255, 255, .08))!important;border-color:var(--accent-cyan, #06b6d4)!important;box-shadow:0 2px 10px #06b6d440;transform:translateY(-1px)}.nav-masi-badge:active{transform:translateY(0)}.ticker-item-wrapper{transition:background .15s ease,opacity .15s ease}.ticker-item-wrapper:hover{background:#ffffff0f}@media(max-width:1024px){.nav-masi-indices{display:none!important}}@media(max-width:768px){.desktop-vertical-sidebar,.desktop-subnav-bar,.desktop-table-container,.allocation-desktop-table,.desktop-history-container,.desktop-row,tr.desktop-row,.desktop-nav-tabs,.desktop-portfolio-switcher,.desktop-only-action,.nav-masi-indices,.hidden-mobile{display:none!important}.app-main-layout{display:block!important}.app-content-area{padding:10px 12px 30px!important}.mobile-cards-container{display:flex!important;flex-direction:column;gap:12px}.position-mobile-card{display:flex!important}.allocation-mobile-table{display:block!important;width:100%!important;overflow-x:hidden!important}.allocation-mobile-table .allocation-mobile-mad,.allocation-mobile-table .allocation-explain-btn{display:none!important}.allocation-mobile-table th{font-size:clamp(.48rem,1.85vw,.58rem)!important;letter-spacing:.1px!important;white-space:nowrap!important;padding:6px 2px!important;overflow:hidden!important;text-overflow:ellipsis!important;line-height:1.2!important}.allocation-mobile-title{font-weight:700;color:var(--text-primary);font-size:clamp(.68rem,2.4vw,.78rem);white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;line-height:1.25}.allocation-mobile-sub{font-size:clamp(.56rem,1.9vw,.67rem);color:var(--text-muted);font-family:var(--font-mono);white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;line-height:1.2}.allocation-mobile-cost-box{container-type:inline-size;width:100%;min-width:0}.allocation-mobile-cost-line{font-family:var(--font-mono);color:var(--text-muted);white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:clamp(.48rem,2.1vw,.65rem);line-height:1.25}@supports (container-type: inline-size){.allocation-mobile-cost-line{font-size:clamp(7.5px,7.8cqi,10.5px)}}.allocation-mobile-clickable-cell{border-radius:4px;padding:2px!important;transition:opacity .15s ease,background-color .15s ease}.allocation-mobile-clickable-cell:active{opacity:.7;background-color:#ffffff14}@media(hover:hover){.allocation-mobile-clickable-cell:hover{opacity:.85;background-color:#ffffff0a}}.allocation-mobile-pct{font-weight:800;font-size:clamp(.54rem,2.1vw,.76rem);white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;line-height:1.2}.allocation-mobile-mad-val{font-size:clamp(.48rem,1.85vw,.66rem);font-weight:600;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;line-height:1.2;margin-top:1px}.allocation-mobile-val{font-weight:700;font-size:clamp(.54rem,2.1vw,.76rem);color:var(--text-primary);white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;line-height:1.2}.allocation-mobile-share{font-size:clamp(.5rem,1.9vw,.68rem);font-weight:700;color:var(--accent-cyan);white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;line-height:1.2;margin-top:1px}.mobile-history-cards{display:flex!important;flex-direction:column;gap:10px}.allocation-card-container{padding:12px 10px!important}.navbar-container{padding:8px 12px!important;gap:8px!important;flex-wrap:nowrap!important;justify-content:space-between!important;height:auto!important}.nav-left-section{gap:8px!important;min-width:0!important;flex-shrink:0!important;display:flex!important;align-items:center!important}.mobile-menu-toggle-btn{display:flex!important;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;flex-shrink:0;transition:all .15s ease;padding:0}.mobile-menu-toggle-btn:active{transform:scale(.95);background:var(--bg-card-hover)}.nav-right-actions{gap:6px!important;flex-shrink:0!important;display:flex!important;align-items:center!important}.mobile-portfolio-bar{display:flex!important;align-items:center;justify-content:center;padding:6px 12px;background:var(--bg-surface);border-bottom:1px solid var(--border-color)}.mobile-portfolio-bar .portfolio-switcher-container{width:100%!important;display:block!important}.mobile-portfolio-bar .portfolio-switcher-btn{width:100%!important;max-width:100%!important;justify-content:space-between!important;padding:7px 12px!important}.mobile-portfolio-bar .portfolio-switcher-dropdown{width:100%!important;max-width:calc(100vw - 24px)!important}.nav-logo-icon{width:30px!important;height:30px!important;border-radius:8px!important;flex-shrink:0!important}.nav-logo-icon svg{width:16px!important;height:16px!important}.nav-brand-container{height:30px!important;justify-content:center!important;gap:0px!important}.nav-brand-title{font-size:.98rem!important;line-height:1!important}.nav-market-badge{padding:1px 4px!important;font-size:.55rem!important;border-radius:6px!important;gap:3px!important}.nav-market-badge .live-dot{width:4px!important;height:4px!important}.nav-brand-casablanca{font-size:.52rem!important;letter-spacing:1.2px!important;line-height:1!important;margin-top:-1px!important;display:block!important}.nav-btn-timer{padding:3px 5px!important;gap:3px!important}.nav-btn-connexion{padding:4px 8px!important;font-size:.74rem!important;gap:4px!important}.nav-btn-theme{padding:4px 6px!important}.live-ticker-container{padding:5px 0!important;font-size:.74rem!important}main{padding:0 10px 80px!important}.glass-card{padding:12px!important}}.mobile-nav-drawer-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000a6;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:999;display:flex;justify-content:flex-start;animation:fadeIn .15s ease-out}.mobile-nav-drawer{width:290px;max-width:85vw;height:100%;background:var(--bg-surface);border-right:1px solid var(--border-color);display:flex;flex-direction:column;box-shadow:10px 0 30px #00000080;animation:slideRight .22s cubic-bezier(.16,1,.3,1);overflow-y:auto}.mobile-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border-color);background:var(--bg-card)}.mobile-drawer-nav{display:flex;flex-direction:column;gap:5px;padding:12px 10px;flex:1}.mobile-drawer-item{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--text-secondary);font-size:.88rem;font-weight:500;cursor:pointer;transition:all .15s ease;text-align:left;width:100%}.mobile-drawer-item:hover{background:var(--bg-card-hover);color:var(--text-primary)}.mobile-drawer-item.active{background:#06b6d426;color:var(--accent-cyan);border-color:#06b6d44d;font-weight:700}.mobile-drawer-item.admin-item{color:#c084fc}.mobile-drawer-item.admin-item.active{background:linear-gradient(135deg,#8b5cf633,#d946ef33);border-color:#a855f759}.mobile-drawer-footer{padding:14px;border-top:1px solid var(--border-color)}@keyframes slideRight{0%{transform:translate(-100%)}to{transform:translate(0)}}.fab-add-stock{position:fixed;bottom:24px;right:20px;z-index:95;background:linear-gradient(135deg,#10b981,#06b6d4);color:#090d16;border:none;border-radius:30px;padding:12px 20px;display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:.92rem;font-family:var(--font-body);box-shadow:0 8px 24px #10b98173,0 3px 8px #0006;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);animation:scaleUp .3s ease-out}.fab-add-stock:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 12px 30px #10b98199,0 4px 12px #0006}.fab-add-stock:active{transform:translateY(0) scale(.97)}@media(max-width:480px){.fab-add-stock{bottom:20px;right:16px;padding:12px 18px;font-size:.86rem}}.score-label-full{display:inline}.score-label-short{display:none}.stock-modal-header-sep{display:inline-block;user-select:none}@media(max-width:768px){.score-label-full{display:none}.score-label-short{display:inline}.stock-score-badges-responsive{gap:3px!important}.score-pill.score-pill-responsive,.stock-score-badges-responsive .score-pill,.stock-modal-header-scores .score-pill{padding:1px 5px!important;font-size:.6rem!important;gap:2.5px!important;border-radius:4px!important}.stock-history-modal-header{padding:6px 10px!important}.stock-history-modal-header-left{gap:6px!important}}@media(max-width:480px){.score-pill.score-pill-responsive,.stock-score-badges-responsive .score-pill,.stock-modal-header-scores .score-pill{padding:1px 4px!important;font-size:.58rem!important;gap:2px!important;border-radius:4px!important}.stock-history-modal-header{padding:5px 8px!important}.stock-history-modal-header-left{gap:5px!important}.stock-modal-header-sep{font-size:.75rem!important;opacity:.5}}@media(max-width:640px){.alerts-form-grid{grid-template-columns:1fr 1fr!important}}@media(max-width:480px){.alerts-form-grid{grid-template-columns:1fr!important}}.placement-row:hover{background:#94a3b80f}
