:root{--bg: #0f1630;--surface: #162043;--surface-2: #1c2854;--text: #e7ecf6;--muted: #97a2b6;--accent: #c9a227;--accent-ink: #181818;--success: #7faf8e;--warning: #c47a6d;--danger: #b56e7a;--border: rgba(255,255,255,.08);--focus-ring: #d8e5f2}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:Inter,system-ui,sans-serif;background:radial-gradient(circle at top left,rgba(201,162,39,.08),transparent 0 22%),linear-gradient(180deg,#0c122b,#101733 42%,#0d142d);color:var(--text)}a{color:inherit}button,input,select{font:inherit;color:inherit}input,select{background:#ffffff0d;color:var(--text);border:1px solid var(--border);border-radius:14px;padding:12px 14px;width:100%;transition:border-color .15s ease,background-color .15s ease}input:hover,select:hover{border-color:#ffffff38}input:focus,select:focus{border-color:var(--accent)}input[type=checkbox],input[type=radio]{width:auto;padding:0;background:none;border:none}button{cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .08s ease,opacity .15s ease}button:active:not(:disabled){transform:scale(.97)}button:disabled{opacity:.5;cursor:not-allowed}.spinner{display:inline-block;border-radius:50%;border:2px solid rgba(255,255,255,.3);border-top-color:currentColor;animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.layout{min-height:100vh}.banner{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid rgba(196,122,109,.35);background:#c47a6d1f;color:#f4ddd7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.shell{display:grid;grid-template-columns:280px minmax(0,1fr)}.sidebar{position:sticky;top:50px;height:calc(100vh - 50px);overflow-y:auto;z-index:10;border-right:1px solid var(--border);padding:24px 18px;background:#0d1430d9}.brand small{color:var(--muted);text-transform:uppercase;letter-spacing:.2em}.brand h2{margin:12px 0 4px;font-family:Inter Tight,sans-serif}.nav{display:flex;flex-direction:column;gap:8px;margin-top:28px}.nav button{text-align:left;padding:12px 14px;border-radius:16px;background:transparent;border:1px solid transparent;color:var(--muted);display:flex;align-items:center}.nav button:hover:not(.active){background:#ffffff0d;color:var(--text)}.nav button.active{background:#ffffff14;border-color:#ffffff1a;color:var(--text)}.content{min-width:0}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:24px 28px}.topbar h1{margin:0;font-family:Inter Tight,sans-serif;font-size:2rem}.topbar p{margin:6px 0 0;color:var(--muted)}.actions{display:flex;gap:10px;flex-wrap:wrap}.btn{border:none;border-radius:14px;padding:10px 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.primary{background:var(--accent);color:var(--accent-ink)}.btn.primary:hover:not(:disabled){filter:brightness(1.1);box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 40%,transparent);transform:translateY(-1px)}.btn.primary:active:not(:disabled){transform:translateY(0) scale(.97);filter:brightness(.96)}.btn.secondary{background:#ffffff0f;color:var(--text);border:1px solid var(--border)}.btn.secondary:hover:not(:disabled){background:#ffffff1f;border-color:#ffffff38;transform:translateY(-1px)}.btn.secondary:active:not(:disabled){transform:translateY(0) scale(.97)}.btn.danger{background:#b56e7a2e;color:#f4d6dc;border:1px solid rgba(181,110,122,.28)}.btn.danger:hover:not(:disabled){background:#b56e7a4d;border-color:#b56e7a73;transform:translateY(-1px)}.btn.danger:active:not(:disabled){transform:translateY(0) scale(.97)}.btn.ghost{background:transparent;color:var(--muted);border:1px solid transparent}.btn.ghost:hover:not(:disabled){background:#ffffff0f;color:var(--text)}.btn.sm{padding:7px 12px;font-size:.82rem;border-radius:12px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.page{padding:0 28px 28px}.card{min-width:0;background:#162043eb;border:1px solid var(--border);border-radius:24px;padding:18px;box-shadow:0 18px 48px #030a1c47;transition:border-color .15s ease,box-shadow .15s ease}.card h3{color:var(--accent)}.card.order-card{border-left:3px solid var(--border)}.card.order-card.decision-approved{border-left-color:var(--success)}.card.order-card.decision-rejected{border-left-color:var(--warning)}.grid{display:grid;gap:16px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.kpi .label{color:var(--muted);text-transform:uppercase;letter-spacing:.18em;font-size:.75rem}.kpi .value{margin-top:12px;font-size:2rem;font-weight:700;font-variant-numeric:tabular-nums}.table,.stat-card .stat-value,.kpi .value{font-variant-numeric:tabular-nums}.table{width:100%;border-collapse:separate;border-spacing:0 10px}.table th{color:var(--muted);text-align:left;font-weight:500;padding-bottom:6px}.table td{background:#ffffff0d;padding:12px 14px;transition:background-color .15s ease}.table tr:hover td{background:#ffffff17}.table td:first-child{border-radius:14px 0 0 14px}.table td:last-child{border-radius:0 14px 14px 0}.metric{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.metric .mini{background:#ffffff0d;border:1px solid var(--border);border-radius:16px;padding:12px}.stat-card{padding:14px 16px;border-radius:16px;box-shadow:none}.stat-card .stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em}.stat-card .stat-value{font-size:1.15rem;font-weight:700;margin-top:8px;line-height:1.3}.stat-card .stat-sublabel{font-size:11px;margin-top:2px}.card-compact{padding:12px 14px;border-radius:16px;box-shadow:none}.strategy-card{text-align:left;padding:16px;border-radius:18px;background:#ffffff0a;border:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.strategy-card:hover:not(.selected){background:#ffffff14;border-color:#fff3;transform:translateY(-1px)}.strategy-card.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.verdict{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:999px;align-self:flex-start}.verdict.perte{background:color-mix(in srgb,var(--danger) 24%,transparent);color:#f0c2c8}.verdict.mesure{background:#ffffff12;color:var(--muted)}.verdict-phrase{font-size:12px;line-height:1.55;color:var(--muted)}.strategy-card .name{font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:8px}.muted{color:var(--muted)}.success{color:var(--success)}.warning{color:var(--warning)}.row{display:flex;justify-content:space-between;align-items:center;gap:12px}.alert{border-radius:16px;padding:12px 14px;border:1px solid var(--border)}.alert.error{background:#b56e7a26;color:#f1d6dc;border-color:#b56e7a47}.alert.info{background:#688fb826;color:#d8e5f2;border-color:#688fb847}.alert.success{background:#7faf8e26;color:#dcefe1;border-color:#7faf8e47}.alert.warning{background:#c47a6d26;color:#f4ddd7;border-color:#c47a6d47}.section-stack{display:flex;flex-direction:column;gap:16px;min-width:0}.form{display:grid;gap:14px}.auth{max-width:1040px;margin:0 auto;padding:42px 20px;display:grid;gap:18px;grid-template-columns:1.1fr .9fr}.tabs{display:flex;gap:10px;margin-bottom:14px}.badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:.75rem;letter-spacing:.15em}.badge.buy{background:#7faf8e26;color:var(--success)}.badge.sell{background:#c47a6d26;color:var(--warning)}.summary{position:sticky;top:76px;height:fit-content;max-height:var(--summary-available-height, calc(100vh - 100px) );overflow-y:auto}.range-pills{display:flex;gap:6px;flex-wrap:wrap}.range-pill{background:#ffffff0d;border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:6px 12px;font-size:.8rem;line-height:1}.range-pill:hover:not(.active){background:#ffffff1c;color:var(--text)}.range-pill.active{background:var(--accent);color:var(--accent-ink);border-color:transparent;font-weight:600}.chart-tooltip{position:absolute;top:8px;transform:translate(-50%);background:#090e22f5;border:1px solid var(--border);border-radius:12px;padding:8px 12px;pointer-events:none;box-shadow:0 12px 30px #030a1c66;white-space:nowrap}.mobile-nav{display:none;position:fixed;left:0;right:0;bottom:0;z-index:100;background:#0d1430f5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--border);padding:6px max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left))}.mobile-nav button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:transparent;border:none;color:var(--muted);border-radius:14px;padding:7px 2px;font-size:10.5px;line-height:1.2;min-width:0}.mobile-nav button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.mobile-nav button:hover:not(.active){background:#ffffff14;color:var(--text)}.mobile-nav button.active{background:none;color:var(--accent);font-weight:700}.decision-toggle{display:inline-flex;gap:8px}.decision-toggle button{border:1px solid var(--border);border-radius:999px;padding:10px 20px;background:#ffffff0a;color:var(--muted);font-weight:600;font-size:.85rem;letter-spacing:.01em}.decision-toggle button:hover:not(.selected):not(:disabled){background:#ffffff1a;color:var(--text);border-color:#fff3;transform:translateY(-1px)}.decision-toggle button.approve.selected{background:color-mix(in srgb,var(--success) 20%,transparent);border-color:color-mix(in srgb,var(--success) 55%,transparent);color:var(--success);box-shadow:0 0 0 1px color-mix(in srgb,var(--success) 30%,transparent) inset}.decision-toggle button.reject.selected{background:color-mix(in srgb,var(--warning) 20%,transparent);border-color:color-mix(in srgb,var(--warning) 55%,transparent);color:var(--warning);box-shadow:0 0 0 1px color-mix(in srgb,var(--warning) 30%,transparent) inset}.step-badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;background:#ffffff1a;color:var(--text);font-size:.75rem;font-weight:700;flex-shrink:0}@media (max-width: 1100px){.grid-4,.grid-3,.grid-2,.auth,.shell{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.mobile-nav{display:flex}.summary{position:static}.page{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.banner{padding-top:max(12px,env(safe-area-inset-top))}html{scroll-padding-top:100px}}.nav-groupe{display:flex;flex-direction:column;gap:2px}.nav-groupe+.nav-groupe{margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}.nav-groupe-titre{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);padding:0 10px 8px}.outil-etiquette{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:4px 9px;border-radius:4px;margin-bottom:8px}.outil-fonds{background:#c9a22729;color:#e0b84a}.outil-patrimoine{background:#4f9cd629;color:#7fc0ea}.outil-compte{background:#8c94a029;color:var(--muted)}.mobile-nav-separateur{width:1px;align-self:stretch;margin:8px 2px;background:var(--border);flex:0 0 auto}
