:root{--bg:#07101d;--panel:#0d1929;--panel2:#111f32;--line:#21324a;--text:#ecf5ff;--muted:#8ea3bb;--accent:#3ce6a4;--accent2:#6aa9ff;--warn:#ffcc66;--danger:#ff6b7a;--shadow:0 16px 40px rgba(0,0,0,.25)}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:linear-gradient(135deg,#07101d,#091525 55%,#07101d);color:var(--text);min-height:100vh}.app-shell{display:flex;min-height:100vh}.sidebar{width:250px;background:rgba(8,17,31,.96);border-right:1px solid var(--line);padding:18px 14px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:30}.brand{display:flex;gap:11px;align-items:center;padding:5px 5px 20px}.brand-mark{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,var(--accent),#1cb781);color:#042015;font-weight:900;font-size:22px}.brand strong,.brand span{display:block}.brand span{font-size:11px;color:var(--muted);margin-top:2px}nav{display:grid;gap:5px}.nav-item{border:0;background:transparent;color:var(--muted);padding:11px 12px;border-radius:11px;text-align:left;font-size:14px;cursor:pointer}.nav-item:hover,.nav-item.active{background:#12233a;color:var(--text)}.nav-item.active{box-shadow:inset 3px 0 var(--accent)}.sidebar-footer{margin-top:auto;border-top:1px solid var(--line);padding:16px 8px 4px;color:var(--muted);font-size:12px}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent);margin-right:6px}.main{margin-left:250px;width:calc(100% - 250px)}.topbar{height:82px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 22px;position:sticky;top:0;background:rgba(7,16,29,.9);backdrop-filter:blur(16px);z-index:20}.topbar h1{margin:0;font-size:21px}.topbar p{margin:3px 0 0;color:var(--muted);font-size:12px}.top-actions{margin-left:auto;display:flex;align-items:center;gap:9px}.icon-btn,.install-btn{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:10px;height:38px;padding:0 12px;cursor:pointer}.install-btn{background:var(--accent);color:#052016;border:0;font-weight:800}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#1d3554;font-weight:800}.view{display:none;padding:20px}.view.active{display:block}.hero-card{background:radial-gradient(circle at top right,rgba(60,230,164,.18),transparent 35%),linear-gradient(135deg,#10233a,#0d1929);border:1px solid #29405e;border-radius:18px;padding:24px;display:flex;gap:20px;justify-content:space-between;box-shadow:var(--shadow)}.hero-card h2{max-width:750px;margin:10px 0 8px;font-size:29px;line-height:1.15}.hero-card p{max-width:760px;color:var(--muted);margin:0}.eyebrow{font-size:11px;color:var(--accent);font-weight:800;letter-spacing:1.2px}.hero-score{min-width:150px;border:1px solid #2d4b68;border-radius:16px;padding:16px;display:grid;place-items:center;background:rgba(4,13,24,.35)}.hero-score span,.hero-score small{color:var(--muted)}.hero-score strong{font-size:35px;color:var(--accent);margin:5px 0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}.stat-card,.panel{background:rgba(13,25,41,.95);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.stat-card{padding:15px}.stat-card span,.stat-card small{display:block;color:var(--muted);font-size:12px}.stat-card strong{display:block;font-size:25px;margin:6px 0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.panel{padding:16px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}.panel-head h3{margin:0 0 3px;font-size:16px}.panel-head p{margin:0;color:var(--muted);font-size:12px}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mode-card{background:var(--panel2);border:1px solid var(--line);color:var(--text);padding:16px;border-radius:13px;text-align:left;cursor:pointer}.mode-card span{font-size:25px;color:var(--accent)}.mode-card strong,.mode-card small{display:block;margin-top:8px}.mode-card small{color:var(--muted);line-height:1.35}.mode-card:hover{border-color:var(--accent);transform:translateY(-1px)}.opportunity-list{display:grid;gap:8px}.opp-row{display:grid;grid-template-columns:1fr auto;gap:8px;background:var(--panel2);padding:10px 12px;border-radius:11px;border:1px solid var(--line)}.opp-row strong,.opp-row small{display:block}.opp-row small{color:var(--muted);margin-top:3px}.score{color:var(--accent);font-weight:900}.link-btn{border:0;background:transparent;color:var(--accent);cursor:pointer}.form-panel{max-width:1100px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.form-grid label{display:grid;gap:6px;color:var(--muted);font-size:12px;position:relative}.form-grid input,.form-grid select{width:100%;background:#091626;border:1px solid var(--line);color:var(--text);border-radius:10px;padding:12px;outline:none}.form-grid input:focus,.form-grid select:focus{border-color:var(--accent)}.wide,.full{grid-column:1/-1}.primary-btn{background:linear-gradient(135deg,var(--accent),#29c88e);color:#032018;border:0;border-radius:11px;padding:13px;font-weight:900;cursor:pointer}.results-wrap{margin-top:14px}.result-banner{padding:14px;border-radius:13px;background:#10243a;border:1px solid #2d4b68;margin-bottom:10px}.result-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.result-card,.supplier-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px}.result-card.best{border-color:var(--accent)}.badge{display:inline-block;padding:4px 8px;border-radius:99px;background:#163149;color:var(--accent);font-size:11px;font-weight:800}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}.metric{background:#091626;border-radius:9px;padding:8px}.metric span,.metric strong{display:block}.metric span{font-size:10px;color:var(--muted)}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:760px}.data-table th,.data-table td{text-align:left;padding:11px;border-bottom:1px solid var(--line);font-size:12px}.data-table th{color:var(--muted)}.supplier-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.supplier-card h4{margin:8px 0 4px}.supplier-card p{margin:0;color:var(--muted);font-size:12px}.history-list{display:grid;gap:8px}.history-item{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:11px;display:flex;justify-content:space-between;gap:10px}.history-item small{color:var(--muted)}.danger-btn{border:1px solid rgba(255,107,122,.4);background:rgba(255,107,122,.08);color:var(--danger);border-radius:9px;padding:8px 10px;cursor:pointer}.toggle-row{display:flex!important;justify-content:space-between;align-items:center;background:#091626;border:1px solid var(--line);padding:12px;border-radius:10px}.toast{position:fixed;right:20px;bottom:20px;background:#12233a;border:1px solid var(--line);padding:12px 15px;border-radius:11px;opacity:0;transform:translateY(15px);transition:.2s;z-index:50}.toast.show{opacity:1;transform:none}#menuBtn{display:none}@media(max-width:980px){.stats-grid{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.result-cards,.supplier-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.main{margin-left:0;width:100%}#menuBtn{display:block}.topbar{padding:0 12px}.topbar p{display:none}.view{padding:12px}.hero-card{padding:18px;display:block}.hero-card h2{font-size:23px}.hero-score{margin-top:15px}.stats-grid,.mode-grid,.form-grid,.result-cards,.supplier-grid{grid-template-columns:1fr}.wide,.full{grid-column:auto}.top-actions .icon-btn{display:none}}

/* V1.1 - Cartes visuelles par module et par état */
:root{--blue:#58a6ff;--green:#35d399;--orange:#ffad42;--violet:#a78bfa;--red:#ff6678;--slate:#9aadc2}
.stat-card,.panel,.mode-card,.result-card,.supplier-card,.opp-row,.history-item{position:relative;overflow:hidden;transition:border-color .18s ease,transform .18s ease,background .18s ease}
.stat-card:before,.panel:before,.result-card:before,.supplier-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--module-color,var(--slate))}
.stat-card:after{content:"";position:absolute;right:-24px;top:-30px;width:95px;height:95px;border-radius:50%;background:color-mix(in srgb,var(--module-color,var(--slate)) 18%,transparent)}
.stat-card strong{color:var(--module-color,var(--text))}.stat-card small{color:color-mix(in srgb,var(--module-color,var(--slate)) 72%,var(--muted))}
.stat-blue,.panel-blue{--module-color:var(--blue)}.stat-green,.panel-green{--module-color:var(--green)}.stat-orange,.panel-orange{--module-color:var(--orange)}.stat-violet,.panel-violet{--module-color:var(--violet)}.panel-slate{--module-color:var(--slate)}
.panel-blue,.panel-green,.panel-orange,.panel-violet,.panel-slate{background:linear-gradient(135deg,color-mix(in srgb,var(--module-color) 7%,var(--panel)),var(--panel) 55%)}
.panel-head h3{color:color-mix(in srgb,var(--module-color,var(--text)) 78%,white)}
.mode-card{min-height:130px}.mode-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--module-color)}.mode-card:after{content:"";position:absolute;right:-25px;bottom:-40px;width:110px;height:110px;border-radius:50%;background:color-mix(in srgb,var(--module-color) 14%,transparent)}
.mode-country{--module-color:var(--blue);background:linear-gradient(145deg,rgba(88,166,255,.13),var(--panel2))}.mode-product{--module-color:var(--violet);background:linear-gradient(145deg,rgba(167,139,250,.14),var(--panel2))}.mode-card span{color:var(--module-color)}.mode-card:hover{border-color:var(--module-color);transform:translateY(-2px)}
.opp-row{--state-color:var(--green);border-left:4px solid var(--state-color);background:linear-gradient(90deg,color-mix(in srgb,var(--state-color) 9%,var(--panel2)),var(--panel2) 42%)}
.score{color:var(--state-color,var(--green))}
.state-excellent{--state-color:var(--green)}.state-good{--state-color:var(--blue)}.state-watch{--state-color:var(--orange)}.state-risk{--state-color:var(--red)}
.result-card,.supplier-card{--module-color:var(--blue);background:linear-gradient(145deg,color-mix(in srgb,var(--module-color) 8%,var(--panel)),var(--panel));border-color:color-mix(in srgb,var(--module-color) 35%,var(--line))}
.result-card.state-excellent,.supplier-card.state-excellent{--module-color:var(--green)}.result-card.state-good,.supplier-card.state-good{--module-color:var(--blue)}.result-card.state-watch,.supplier-card.state-watch{--module-color:var(--orange)}.result-card.state-risk,.supplier-card.state-risk{--module-color:var(--red)}
.result-card.best{border-color:var(--green);box-shadow:0 0 0 1px rgba(53,211,153,.14),var(--shadow)}
.badge{background:color-mix(in srgb,var(--module-color,var(--blue)) 16%,#102137);color:var(--module-color,var(--blue));border:1px solid color-mix(in srgb,var(--module-color,var(--blue)) 35%,transparent)}
.metric{border:1px solid color-mix(in srgb,var(--module-color,var(--blue)) 16%,var(--line))}.metric strong{color:color-mix(in srgb,var(--module-color,var(--blue)) 76%,white)}
.status-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:900;border:1px solid currentColor}.status-pill:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.status-excellent{color:var(--green);background:rgba(53,211,153,.09)}.status-good{color:var(--blue);background:rgba(88,166,255,.09)}.status-watch{color:var(--orange);background:rgba(255,173,66,.09)}.status-risk{color:var(--red);background:rgba(255,102,120,.09)}
.data-table tbody tr{border-left:3px solid transparent}.data-table tbody tr.state-excellent{border-left-color:var(--green);background:rgba(53,211,153,.035)}.data-table tbody tr.state-good{border-left-color:var(--blue);background:rgba(88,166,255,.035)}.data-table tbody tr.state-watch{border-left-color:var(--orange);background:rgba(255,173,66,.035)}.data-table tbody tr.state-risk{border-left-color:var(--red);background:rgba(255,102,120,.035)}
.history-item{border-left:4px solid var(--violet);background:linear-gradient(90deg,rgba(167,139,250,.09),var(--panel2) 40%)}
@media(max-width:760px){.stat-card:after{width:75px;height:75px}.mode-card{min-height:auto}}


/* V1.2 - Couleurs renforcées, visibles sur chaque module et état */
.stat-blue{background:linear-gradient(135deg,#12345a 0%,#0e2239 100%)!important;border-color:#3d8ee8!important}
.stat-green{background:linear-gradient(135deg,#123f35 0%,#0e2926 100%)!important;border-color:#2fc98f!important}
.stat-violet{background:linear-gradient(135deg,#362960 0%,#211c3f 100%)!important;border-color:#9478ed!important}
.stat-orange{background:linear-gradient(135deg,#53351b 0%,#302317 100%)!important;border-color:#f09c35!important}
.stat-blue strong{color:#78b9ff!important}.stat-green strong{color:#55e4ae!important}.stat-violet strong{color:#c1adff!important}.stat-orange strong{color:#ffc16e!important}
.panel-blue{background:linear-gradient(135deg,#102d4c 0%,#0d1929 68%)!important;border-color:#397fc3!important}
.panel-green{background:linear-gradient(135deg,#10352e 0%,#0d1929 68%)!important;border-color:#2ea77d!important}
.panel-violet{background:linear-gradient(135deg,#302552 0%,#0d1929 68%)!important;border-color:#8068c9!important}
.panel-orange{background:linear-gradient(135deg,#49301b 0%,#0d1929 68%)!important;border-color:#c8812e!important}
.panel-slate{background:linear-gradient(135deg,#273747 0%,#0d1929 68%)!important;border-color:#6f849b!important}
.panel-blue .panel-head h3{color:#78b9ff!important}.panel-green .panel-head h3{color:#55e4ae!important}.panel-violet .panel-head h3{color:#c1adff!important}.panel-orange .panel-head h3{color:#ffc16e!important}.panel-slate .panel-head h3{color:#c5d2df!important}
.mode-country{background:linear-gradient(135deg,#173f69,#101f34)!important;border-color:#3d8ee8!important}.mode-product{background:linear-gradient(135deg,#42336d,#211c3f)!important;border-color:#9478ed!important}
.opp-row.state-excellent{background:linear-gradient(90deg,#153f34,#101f2e 72%)!important;border-color:#2fc98f!important}
.opp-row.state-good{background:linear-gradient(90deg,#15385d,#101f2e 72%)!important;border-color:#3d8ee8!important}
.opp-row.state-watch{background:linear-gradient(90deg,#4d331d,#101f2e 72%)!important;border-color:#f09c35!important}
.opp-row.state-risk{background:linear-gradient(90deg,#4a2430,#101f2e 72%)!important;border-color:#ef5d70!important}
.result-card.state-excellent,.supplier-card.state-excellent{background:linear-gradient(145deg,#174536,#0d1929 72%)!important;border-color:#35d399!important}
.result-card.state-good,.supplier-card.state-good{background:linear-gradient(145deg,#173b62,#0d1929 72%)!important;border-color:#58a6ff!important}
.result-card.state-watch,.supplier-card.state-watch{background:linear-gradient(145deg,#50351c,#0d1929 72%)!important;border-color:#ffad42!important}
.result-card.state-risk,.supplier-card.state-risk{background:linear-gradient(145deg,#4c2430,#0d1929 72%)!important;border-color:#ff6678!important}
.result-card,.supplier-card,.stat-card,.panel{box-shadow:0 10px 28px rgba(0,0,0,.28)!important}
.result-card:before,.supplier-card:before,.stat-card:before,.panel:before{width:6px!important}
.data-table tbody tr.state-excellent{background:#12362e!important}.data-table tbody tr.state-good{background:#142f4d!important}.data-table tbody tr.state-watch{background:#402d1c!important}.data-table tbody tr.state-risk{background:#3e2029!important}
.history-item{background:linear-gradient(90deg,#372b5c,#111f32 72%)!important;border-color:#8068c9!important}

/* V2 — Moteur Produits */
.version-chip{padding:6px 10px;border-radius:999px;background:rgba(88,166,255,.16);border:1px solid #397fc3;color:#78b9ff;font-size:11px;font-weight:900}.filter-grid{display:grid;grid-template-columns:2fr repeat(5,1fr);gap:9px}.filter-grid label{display:grid;gap:5px;color:var(--muted);font-size:11px}.filter-grid input,.filter-grid select{min-width:0;width:100%;background:#091626;border:1px solid var(--line);color:var(--text);border-radius:9px;padding:10px}.catalog-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}.mini-stat{border-radius:13px;padding:13px 15px;border:1px solid var(--line);background:var(--panel);position:relative;overflow:hidden}.mini-stat:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:currentColor}.mini-stat span{display:block;color:var(--muted);font-size:11px}.mini-stat strong{display:block;font-size:23px;margin-top:5px}.mini-stat.blue{color:var(--blue);background:linear-gradient(135deg,#12345a,#0e2239)}.mini-stat.green{color:var(--green);background:linear-gradient(135deg,#123f35,#0e2926)}.mini-stat.violet{color:var(--violet);background:linear-gradient(135deg,#362960,#211c3f)}.mini-stat.orange{color:var(--orange);background:linear-gradient(135deg,#53351b,#302317)}.product-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.catalog-card{position:relative;border:1px solid var(--line);border-left:6px solid var(--state-color);border-radius:15px;padding:15px;background:linear-gradient(145deg,color-mix(in srgb,var(--state-color) 12%,var(--panel)),var(--panel) 72%);box-shadow:0 10px 28px rgba(0,0,0,.25)}.catalog-top{display:flex;justify-content:space-between;gap:12px}.catalog-top h3{margin:8px 0 4px;font-size:16px}.catalog-top p{margin:0;color:var(--muted);font-size:12px}.category-chip{display:inline-block;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid var(--line);font-size:10px;color:var(--muted)}.trade-score{min-width:70px;text-align:center;border-radius:12px;padding:8px;background:rgba(5,14,25,.46);border:1px solid color-mix(in srgb,var(--state-color) 45%,var(--line))}.trade-score span,.trade-score strong{display:block}.trade-score span{font-size:9px;color:var(--muted)}.trade-score strong{font-size:22px;color:var(--state-color)}.trade-score.large{min-width:115px;padding:12px}.trade-score.large strong{font-size:32px}.profit-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:13px 0}.profit-strip>div{padding:9px;background:#091626;border-radius:9px;border:1px solid color-mix(in srgb,var(--state-color) 18%,var(--line))}.profit-strip span,.profit-strip strong{display:block}.profit-strip span{font-size:9px;color:var(--muted)}.profit-strip strong{margin-top:4px;font-size:14px}.signal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.signal-grid>div{position:relative;min-height:54px;padding:8px;background:rgba(7,16,29,.55);border-radius:8px}.signal-grid span,.signal-grid b{display:block;font-size:10px}.signal-grid span{color:var(--muted)}.signal-grid b{margin-top:4px}.signal-grid i{display:block;height:5px;border-radius:99px;background:linear-gradient(90deg,var(--state-color) var(--value),#243247 var(--value));margin-top:6px}.catalog-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px}.compare-check{font-size:11px;color:var(--muted)}.secondary-btn{border:1px solid var(--line);background:#102035;color:var(--text);border-radius:9px;padding:8px 10px;cursor:pointer}.primary-btn.compact{padding:9px 13px}.compare-bar{position:sticky;bottom:12px;margin:14px auto 0;max-width:650px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;border:1px solid #397fc3;border-radius:13px;background:rgba(10,25,43,.96);box-shadow:0 15px 35px rgba(0,0,0,.4);z-index:15}.compare-bar>div{display:flex;gap:7px}.empty-state{text-align:center;color:var(--muted);padding:40px;border:1px dashed var(--line);border-radius:14px}.modal{position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:80;padding:24px;overflow:auto}.modal-card{position:relative;max-width:840px;margin:4vh auto;background:#0d1929;border:1px solid #29405e;border-radius:18px;padding:22px;box-shadow:0 25px 70px rgba(0,0,0,.55)}.modal-wide{max-width:1100px}.modal-close{position:absolute;right:13px;top:11px;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:#12233a;color:var(--text);font-size:21px;cursor:pointer}.detail-head{display:flex;justify-content:space-between;gap:16px;padding-right:34px}.detail-head h2{margin:9px 0 5px}.detail-head p{margin:0;color:var(--muted)}.detail-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:12px;margin-top:18px}.detail-grid section{background:#101f32;border:1px solid var(--line);border-radius:13px;padding:14px}.detail-grid h3{margin:0 0 11px;font-size:14px}.detail-grid ul{margin:0;padding-left:18px;color:var(--muted);line-height:1.9;font-size:12px}.detail-grid li strong{color:var(--text)}.detail-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px}.detail-metrics>div{padding:11px;background:#091626;border-radius:9px}.detail-metrics span,.detail-metrics strong{display:block}.detail-metrics span{font-size:10px;color:var(--muted)}.detail-metrics strong{margin-top:4px}.recommendation{margin-top:12px;border-left:5px solid var(--state-color);padding:13px 14px;border-radius:10px;background:color-mix(in srgb,var(--state-color) 10%,#101f32)}.recommendation p{margin:5px 0 0;color:var(--muted);line-height:1.5}.compare-table{min-width:900px}
@media(max-width:1180px){.filter-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:850px){.product-catalog{grid-template-columns:1fr}.catalog-summary{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}}
@media(max-width:600px){.filter-grid{grid-template-columns:1fr}.catalog-summary{grid-template-columns:1fr 1fr}.profit-strip{grid-template-columns:1fr 1fr}.signal-grid{grid-template-columns:1fr 1fr}.detail-head{display:block}.trade-score.large{margin-top:12px;width:115px}.modal{padding:8px}.modal-card{padding:16px}.compare-bar{bottom:6px}.catalog-footer{align-items:flex-end}}


/* V3 — Moteur Fournisseurs */
.version-orange{background:rgba(255,173,66,.14);border-color:#c8812e;color:#ffc16e}.supplier-filters{grid-template-columns:2fr repeat(5,1fr)}.supplier-engine-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.supplier-engine-card{--state-color:var(--orange);position:relative;border:1px solid var(--line);border-left:6px solid var(--state-color);border-radius:15px;padding:15px;background:linear-gradient(145deg,color-mix(in srgb,var(--state-color) 13%,var(--panel)),var(--panel) 72%);box-shadow:0 10px 28px rgba(0,0,0,.25)}.supplier-card-top{display:flex;justify-content:space-between;gap:12px}.supplier-card-top h3{margin:8px 0 4px;font-size:16px}.supplier-card-top p{margin:0;color:var(--muted);font-size:12px}.supplier-tags{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.verified-chip,.warning-chip{display:inline-block;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800}.verified-chip{background:rgba(53,211,153,.13);border:1px solid rgba(53,211,153,.45);color:#55e4ae}.warning-chip{background:rgba(255,173,66,.13);border:1px solid rgba(255,173,66,.45);color:#ffc16e}.supplier-product{margin:12px 0;padding:9px 10px;border-radius:9px;background:#091626;border:1px solid color-mix(in srgb,var(--state-color) 22%,var(--line));font-size:12px;color:var(--muted)}.supplier-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.supplier-kpis>div{padding:9px;background:rgba(7,16,29,.58);border-radius:9px}.supplier-kpis span,.supplier-kpis strong{display:block}.supplier-kpis span{font-size:9px;color:var(--muted)}.supplier-kpis strong{font-size:13px;margin-top:4px}.supplier-flags{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.supplier-flags span{font-size:10px;padding:6px 8px;border-radius:8px;background:rgba(255,255,255,.045);border:1px solid var(--line);color:var(--muted)}.compare-orange{border-color:#c8812e;background:rgba(55,37,22,.97)}.compare-table td small{display:block;color:var(--muted);margin-top:3px}.supplier-engine-card.state-excellent{--state-color:var(--green)}.supplier-engine-card.state-good{--state-color:var(--blue)}.supplier-engine-card.state-watch{--state-color:var(--orange)}.supplier-engine-card.state-risk{--state-color:var(--red)}
@media(max-width:1180px){.supplier-filters{grid-template-columns:repeat(3,1fr)}}
@media(max-width:850px){.supplier-engine-grid{grid-template-columns:1fr}}
@media(max-width:600px){.supplier-filters{grid-template-columns:1fr}.supplier-kpis{grid-template-columns:1fr 1fr}}

/* V4 — Moteur Pays */
.country-engine-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.country-card{border:1px solid var(--line);border-left:5px solid var(--blue);border-radius:18px;padding:16px;background:var(--card);position:relative;overflow:hidden}.country-card.state-excellent{border-left-color:#24c87a;background:linear-gradient(135deg,rgba(36,200,122,.12),rgba(36,200,122,.025))}.country-card.state-good{border-left-color:#3697ff;background:linear-gradient(135deg,rgba(54,151,255,.12),rgba(54,151,255,.025))}.country-card.state-watch{border-left-color:#ffad33;background:linear-gradient(135deg,rgba(255,173,51,.13),rgba(255,173,51,.025))}.country-card.state-risk{border-left-color:#ff5f6d;background:linear-gradient(135deg,rgba(255,95,109,.12),rgba(255,95,109,.025))}.country-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.country-flag{font-size:28px}.country-title h3{margin:4px 0}.country-title p{margin:0;color:var(--muted);font-size:12px}.country-score{text-align:right}.country-score span{display:block;color:var(--muted);font-size:11px}.country-score strong{font-size:25px}.country-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}.country-metrics div{padding:9px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025)}.country-metrics span{display:block;color:var(--muted);font-size:10px}.country-metrics strong{display:block;margin-top:4px;font-size:14px}.country-products{color:var(--muted);font-size:12px;line-height:1.5}.country-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px}.world-opportunity-map{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.map-country{border:1px solid var(--line);border-radius:12px;padding:10px;text-align:center;background:rgba(255,255,255,.025)}.map-country strong{display:block;font-size:12px;margin-top:4px}.map-country small{color:var(--muted)}.map-country.state-excellent{background:rgba(36,200,122,.14);border-color:rgba(36,200,122,.35)}.map-country.state-good{background:rgba(54,151,255,.14);border-color:rgba(54,151,255,.35)}.map-country.state-watch{background:rgba(255,173,51,.14);border-color:rgba(255,173,51,.35)}.map-country.state-risk{background:rgba(255,95,109,.14);border-color:rgba(255,95,109,.35)}.map-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px;color:var(--muted);font-size:12px}.legend{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px}.legend.excellent{background:#24c87a}.legend.good{background:#3697ff}.legend.watch{background:#ffad33}.legend.risk{background:#ff5f6d}.country-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.country-detail-list div{border:1px solid var(--line);border-radius:12px;padding:10px}.country-detail-list span{display:block;color:var(--muted);font-size:11px}.country-detail-list strong{display:block;margin-top:4px}@media(max-width:900px){.country-engine-grid{grid-template-columns:1fr}.world-opportunity-map{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:560px){.country-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.world-opportunity-map{grid-template-columns:repeat(2,minmax(0,1fr))}.country-detail-list{grid-template-columns:1fr}}


/* V5 — Moteur Logistique */
.version-green{background:rgba(34,197,94,.16);color:#86efac;border-color:rgba(34,197,94,.35)}
.logistics-filters{margin-bottom:14px}.logistics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.logistics-card{border:1px solid var(--border);border-left:5px solid var(--blue);border-radius:18px;padding:16px;background:var(--card);box-shadow:var(--shadow)}.logistics-card.state-excellent{border-left-color:#22c55e;background:linear-gradient(135deg,rgba(34,197,94,.14),rgba(15,23,42,.96))}.logistics-card.state-good{border-left-color:#3b82f6;background:linear-gradient(135deg,rgba(59,130,246,.13),rgba(15,23,42,.96))}.logistics-card.state-watch{border-left-color:#f59e0b;background:linear-gradient(135deg,rgba(245,158,11,.13),rgba(15,23,42,.96))}.logistics-card.state-risk{border-left-color:#ef4444;background:linear-gradient(135deg,rgba(239,68,68,.13),rgba(15,23,42,.96))}.route-head,.route-footer,.route-title,.route-score,.route-nodes{display:flex;align-items:center}.route-head,.route-footer{justify-content:space-between;gap:12px}.route-title{gap:10px}.route-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:rgba(59,130,246,.15);font-size:22px}.route-title h3{margin:0 0 3px}.route-title p{margin:0;color:var(--muted);font-size:12px}.route-score{flex-direction:column;align-items:flex-end}.route-score span{font-size:11px;color:var(--muted)}.route-score strong{font-size:24px}.route-nodes{justify-content:center;gap:8px;margin:16px 0;padding:12px;border:1px dashed var(--border);border-radius:14px}.route-node{padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.05);font-weight:700}.route-arrow{color:var(--muted)}.route-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.route-metrics div,.logistics-detail-list div{padding:10px;border-radius:12px;background:rgba(255,255,255,.05)}.route-metrics span,.logistics-detail-list span{display:block;color:var(--muted);font-size:11px}.route-metrics strong{font-size:14px}.route-note{margin:12px 0;color:var(--muted);font-size:12px}.route-flow{margin-top:14px}.best-route-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;align-items:center}.best-route-steps{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.best-route-step{padding:10px 12px;border-radius:12px;background:rgba(59,130,246,.12);border:1px solid rgba(59,130,246,.25)}.best-route-kpi{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.best-route-kpi div{padding:10px;border-radius:12px;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.22)}.best-route-kpi span{display:block;color:var(--muted);font-size:11px}.best-route-kpi strong{font-size:17px}.logistics-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0}.compare-green{border-color:rgba(34,197,94,.35)}
@media(max-width:900px){.logistics-grid{grid-template-columns:1fr}.best-route-layout{grid-template-columns:1fr}.route-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.route-head,.route-footer{align-items:flex-start;flex-direction:column}.route-score{align-items:flex-start}.logistics-detail-list{grid-template-columns:1fr}.best-route-kpi{grid-template-columns:1fr 1fr}}


/* V6 — données réelles et traçabilité */
.live-result{margin-top:14px;padding:16px;border:1px solid var(--border);border-radius:16px;background:rgba(15,23,42,.55)}
.live-result h3{margin:10px 0 4px}.live-result p{color:var(--muted);margin:4px 0}
.data-badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.05em}
.data-badge.real{background:rgba(34,197,94,.18);color:#86efac}.data-badge.estimated{background:rgba(245,158,11,.18);color:#fcd34d}.data-badge.simulated{background:rgba(239,68,68,.18);color:#fca5a5}
.source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.source-card{padding:16px;border-radius:16px;border:1px solid var(--border);display:grid;gap:5px}.source-card.real{background:rgba(34,197,94,.10);border-color:rgba(34,197,94,.35)}.source-card.estimated{background:rgba(245,158,11,.10);border-color:rgba(245,158,11,.35)}.source-card.simulated{background:rgba(239,68,68,.10);border-color:rgba(239,68,68,.35)}.source-card small{color:var(--muted)}
.deal-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.deal-kpis div{padding:10px;border-radius:12px;background:rgba(255,255,255,.04);display:grid;gap:3px}.deal-kpis span{color:var(--muted);font-size:12px}
@media(max-width:760px){.source-grid{grid-template-columns:1fr}.deal-kpis{grid-template-columns:1fr 1fr}}


/* V7 — Analyste décisionnel */
.ai-source-note{display:flex;gap:8px;flex-wrap:wrap}.ai-decision{min-height:360px}.ai-verdict{border:1px solid var(--border);border-left:6px solid var(--green);border-radius:18px;padding:16px;background:rgba(34,197,94,.08)}.ai-verdict.watch{border-left-color:var(--orange);background:rgba(245,158,11,.09)}.ai-verdict.risk{border-left-color:var(--red);background:rgba(239,68,68,.09)}.ai-verdict h2{margin:8px 0}.ai-score-ring{width:96px;height:96px;border-radius:50%;display:grid;place-items:center;border:10px solid rgba(255,255,255,.08);outline:4px solid var(--green);margin-bottom:14px}.ai-score-ring.watch{outline-color:var(--orange)}.ai-score-ring.risk{outline-color:var(--red)}.ai-score-ring strong{font-size:26px}.ai-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0}.ai-kpis div{padding:11px;border-radius:12px;background:rgba(255,255,255,.045)}.ai-kpis span{display:block;color:var(--muted);font-size:11px}.ai-kpis strong{display:block;margin-top:4px}.ai-reasons{display:grid;gap:8px;margin-top:12px}.ai-reason{padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:rgba(255,255,255,.025)}.scenario-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.scenario-card{padding:14px;border-radius:15px;border:1px solid var(--border);background:rgba(255,255,255,.035)}.scenario-card.good{border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.08)}.scenario-card.watch{border-color:rgba(245,158,11,.35);background:rgba(245,158,11,.08)}.scenario-card.risk{border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.08)}.scenario-card span,.scenario-card small{display:block;color:var(--muted)}.scenario-card strong{display:block;font-size:20px;margin:6px 0}@media(max-width:850px){.scenario-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.ai-kpis,.scenario-grid{grid-template-columns:1fr}}

/* V8 — Marché commercial réel */
.market-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.market-metric{padding:14px;border:1px solid rgba(91,209,255,.22);border-radius:16px;background:rgba(8,22,39,.72)}.market-metric span{display:block;color:#91a8c3;font-size:.82rem}.market-metric strong{display:block;margin-top:5px;font-size:1.25rem;color:#eef8ff}.market-metric small{color:#7f96b1}.market-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.market-card{position:relative;display:flex;flex-direction:column;min-height:245px;padding:15px;border:1px solid rgba(56,216,164,.25);border-radius:18px;background:linear-gradient(145deg,rgba(14,48,50,.92),rgba(7,20,35,.96));overflow:hidden}.market-card.watch{border-color:rgba(255,177,74,.38);background:linear-gradient(145deg,rgba(61,42,28,.92),rgba(7,20,35,.96))}.market-card .market-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.market-card h4{margin:10px 0 7px;color:#f3f8ff;font-size:1rem;line-height:1.35}.market-card .price{font-size:1.35rem;font-weight:800;color:#47e0ad}.market-card .market-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.market-card .market-meta div{padding:8px;border-radius:11px;background:rgba(6,17,31,.55)}.market-card .market-meta span{display:block;color:#8198b3;font-size:.72rem}.market-card .market-meta strong{display:block;color:#eaf3ff;font-size:.86rem;margin-top:2px}.market-card a{margin-top:auto;text-align:center;text-decoration:none}.source-line{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}.source-line small{color:#91a8c3}.market-error{padding:14px;border:1px solid rgba(255,103,113,.35);border-radius:14px;background:rgba(88,24,34,.35);color:#ffc1c7}.market-ok{padding:14px;border:1px solid rgba(56,216,164,.3);border-radius:14px;background:rgba(17,75,61,.28);color:#aaf5d6}@media(max-width:1100px){.market-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.market-grid,.market-summary{grid-template-columns:1fr}}
/* V9 sourcing gros & détail */
.sourcing-form{grid-template-columns:repeat(4,minmax(0,1fr))}
.sourcing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.sourcing-card{border:1px solid var(--border);border-left:5px solid #64748b;background:linear-gradient(145deg,rgba(100,116,139,.12),rgba(15,23,42,.35));border-radius:16px;padding:16px}
.sourcing-card.good{border-left-color:#22c55e;background:linear-gradient(145deg,rgba(34,197,94,.16),rgba(15,23,42,.35))}
.sourcing-card.warn{border-left-color:#f59e0b;background:linear-gradient(145deg,rgba(245,158,11,.16),rgba(15,23,42,.35))}
.sourcing-card.bad{border-left-color:#ef4444;background:linear-gradient(145deg,rgba(239,68,68,.16),rgba(15,23,42,.35))}
.sourcing-card h4{margin:10px 0 4px;font-size:1.04rem}.sourcing-card p{margin:0 0 12px;color:var(--muted)}
.card-top{display:flex;justify-content:space-between;align-items:center}.rank{font-weight:800;font-size:1.1rem}
.sourcing-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.sourcing-metrics div{background:rgba(255,255,255,.035);border:1px solid var(--border);border-radius:10px;padding:9px}.sourcing-metrics span{display:block;color:var(--muted);font-size:.76rem}.sourcing-metrics strong{display:block;margin-top:3px}
.quote-note{font-size:.82rem;color:var(--muted);margin:10px 0}
@media(max-width:1000px){.sourcing-form{grid-template-columns:repeat(2,minmax(0,1fr))}.sourcing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.sourcing-form,.sourcing-grid{grid-template-columns:1fr}}
