/* ============================================================
 * Google Entity Checker — styles
 * S'appuie sur common.css (--ink/--muted/--bg/--card-border/--bs-primary).
 * Auto-suffisant : redéfinit hero/panel/note (portés ailleurs par profile.css).
 * ============================================================ */

.hero { background: linear-gradient(135deg, #4f46e5, #7c3aed); border-radius: 18px; padding: 2rem 2rem; color: #fff; margin-bottom: 1.5rem; }
.hero-content { max-width: 760px; }
.hero-eyebrow { font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; opacity: .9; margin-bottom: .5rem; }
.hero h1 { font-weight: 800; letter-spacing: -.02em; font-size: 1.9rem; margin-bottom: .5rem; }
.hero .lead { font-size: 1rem; opacity: .95; margin: 0; }

.panel { background: #fff; border: 1px solid var(--card-border); border-radius: 14px; padding: 1.15rem 1.25rem; margin-bottom: 1rem; }
.panel-title { font-weight: 700; font-size: .95rem; display: flex; align-items: center; gap: .5rem; margin-bottom: .85rem; }
.panel-title i { color: var(--bs-primary); }
.note { font-size: .8rem; color: var(--muted); margin-top: .5rem; }
.form-label { font-weight: 600; font-size: .85rem; margin-bottom: .25rem; }
.req { color: #ef4444; }

/* Formulaire */
.ec-form .form-control { border-radius: 10px; }
.ec-more-toggle { background: none; border: none; color: var(--bs-primary); font-size: .85rem; font-weight: 600; padding: 0; cursor: pointer; }
.ec-more-toggle:hover { text-decoration: underline; }
.ec-sources-note { margin-top: 1.25rem; padding-top: 1rem; border-top: 1px dashed var(--card-border); }
.ec-sources-title { font-size: .78rem; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .05em; margin-bottom: .5rem; }
.ec-source-chips { display: flex; flex-wrap: wrap; gap: .4rem; }
.ec-chip { font-size: .72rem; font-weight: 600; padding: .2rem .55rem; border-radius: 20px; background: #f1f5f9; color: var(--muted); border: 1px solid var(--card-border); transition: all .2s; }
.ec-chip.pending { background: #fef9c3; color: #854d0e; border-color: #fde047; }
.ec-chip.ok { background: #dcfce7; color: #166534; border-color: #86efac; }
.ec-chip.ko { background: #fee2e2; color: #991b1b; border-color: #fca5a5; }
.ec-chip.skip { opacity: .5; }

/* État vide */
.ec-empty { color: var(--muted); }
.ec-empty .fw-600 { color: var(--ink); }

/* Verdict / 2 axes */
.ec-verdict-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem; }
.ec-entity-name { font-size: 1.35rem; font-weight: 800; letter-spacing: -.02em; }
.ec-state { display: inline-flex; align-items: center; gap: .45rem; font-weight: 700; font-size: .82rem; padding: .3rem .7rem; border-radius: 20px; }
.ec-state-dot { width: 10px; height: 10px; border-radius: 50%; background: currentColor; }
.ec-state.confirmed { background: #dcfce7; color: #15803d; }
.ec-state.likely    { background: #fef9c3; color: #a16207; }
.ec-state.ambiguous { background: #ffedd5; color: #c2410c; }
.ec-state.none      { background: #f1f5f9; color: #475569; }

.ec-two-axes { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 480px) { .ec-two-axes { grid-template-columns: 1fr; } }
.ec-axis { background: var(--bg); border: 1px solid var(--card-border); border-radius: 12px; padding: 1rem; text-align: center; }
.ec-axis-label { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); margin-bottom: .5rem; }
.ec-detect { font-size: 1.25rem; font-weight: 800; }
.ec-detect.confirmed { color: #15803d; }
.ec-detect.likely { color: #a16207; }
.ec-detect.ambiguous { color: #c2410c; }
.ec-detect.none { color: #64748b; }
.ec-axis-sub { font-size: .76rem; color: var(--muted); margin-top: .35rem; line-height: 1.35; }

.ec-strength-circle { width: 88px; height: 88px; border-radius: 50%; margin: 0 auto; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #fff; background: conic-gradient(#e2e8f0 0deg, #e2e8f0 360deg); position: relative; }
.ec-strength-circle::before { content: ''; position: absolute; inset: 8px; border-radius: 50%; background: var(--bg); }
.ec-strength-val { position: relative; font-size: 1.6rem; font-weight: 800; color: var(--ink); line-height: 1; }
.ec-strength-of { position: relative; font-size: .7rem; color: var(--muted); }

/* Confiance de correspondance */
.ec-confidence-wrap { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--card-border); }
.ec-bar { height: 10px; border-radius: 20px; background: #e2e8f0; overflow: hidden; margin: .35rem 0; }
.ec-bar-fill { height: 100%; border-radius: 20px; background: linear-gradient(90deg, #4f46e5, #7c3aed); transition: width .5s; }
.ec-confidence-signals { display: grid; grid-template-columns: 1fr 1fr; gap: .35rem .9rem; margin-top: .6rem; }
@media (max-width: 480px) { .ec-confidence-signals { grid-template-columns: 1fr; } }
.ec-sig { display: flex; align-items: center; gap: .5rem; font-size: .78rem; }
.ec-sig-name { flex: 0 0 92px; color: var(--muted); }
.ec-sig-bar { flex: 1; height: 6px; border-radius: 10px; background: #e2e8f0; overflow: hidden; }
.ec-sig-fill { height: 100%; background: #22c55e; }
.ec-sig-fill.mid { background: #eab308; }
.ec-sig-fill.low { background: #ef4444; }
.ec-sig-val { flex: 0 0 34px; text-align: right; font-weight: 700; font-size: .74rem; }

/* Ambiguïté */
.ec-ambiguous { border-left: 4px solid #f97316; }
.ec-cand { display: flex; align-items: center; gap: .7rem; padding: .55rem 0; border-bottom: 1px solid var(--card-border); }
.ec-cand:last-child { border-bottom: none; }
.ec-cand-thumb { width: 36px; height: 36px; border-radius: 8px; background: #eef2ff; display: flex; align-items: center; justify-content: center; color: var(--bs-primary); flex: 0 0 auto; overflow: hidden; }
.ec-cand-thumb img { width: 100%; height: 100%; object-fit: cover; }
.ec-cand-info { flex: 1; min-width: 0; }
.ec-cand-name { font-weight: 700; font-size: .9rem; }
.ec-cand-desc { font-size: .78rem; color: var(--muted); }
.ec-cand-score { font-size: .72rem; font-weight: 700; color: var(--bs-primary); }

/* Identifiants */
.ec-ids { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; }
@media (max-width: 560px) { .ec-ids { grid-template-columns: 1fr; } }
.ec-id { border: 1px solid var(--card-border); border-radius: 10px; padding: .6rem .75rem; background: var(--bg); }
.ec-id-label { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); margin-bottom: .2rem; display: flex; align-items: center; gap: .3rem; }
.ec-id-val { font-family: 'JetBrains Mono', monospace; font-size: .82rem; word-break: break-all; display: flex; align-items: center; gap: .4rem; }
.ec-id-val a { color: var(--bs-primary); text-decoration: none; }
.ec-id-val.absent { color: #94a3b8; font-family: inherit; font-style: italic; }
.ec-id-copy { background: none; border: none; color: var(--muted); cursor: pointer; padding: 0; font-size: .8rem; }
.ec-id-copy:hover { color: var(--bs-primary); }
.ec-id-src { font-size: .66rem; color: #94a3b8; margin-top: .2rem; }

/* Ce que Google comprend + types */
.ec-types { display: flex; flex-wrap: wrap; gap: .4rem; }
.ec-type { font-size: .8rem; font-weight: 600; padding: .25rem .65rem; border-radius: 8px; background: #eef2ff; color: #4338ca; }
.ec-desc { font-size: .88rem; color: var(--ink); margin-top: .7rem; line-height: 1.5; }

/* Canonique */
.ec-canonical { display: grid; gap: .6rem; }
.ec-kv { display: grid; grid-template-columns: 130px 1fr; gap: .5rem; font-size: .86rem; }
@media (max-width: 480px) { .ec-kv { grid-template-columns: 1fr; gap: .1rem; } }
.ec-kv-k { color: var(--muted); font-weight: 600; }
.ec-kv-v { color: var(--ink); word-break: break-word; }
.ec-kv-v a { color: var(--bs-primary); text-decoration: none; }

/* Panel par pays */
.ec-countries { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: .5rem; }
.ec-country { border: 1px solid var(--card-border); border-radius: 10px; padding: .55rem .6rem; display: flex; align-items: center; justify-content: space-between; gap: .4rem; font-size: .84rem; }
.ec-country .flag { font-size: 1.05rem; }
.ec-country .st { font-weight: 700; font-size: .75rem; }
.ec-country .st.yes { color: #15803d; }
.ec-country .st.no { color: #b91c1c; }
.ec-country .st.na { color: #94a3b8; }

/* Connexions */
.ec-conn { display: flex; align-items: center; gap: .6rem; padding: .35rem 0; }
.ec-conn-name { flex: 0 0 44%; font-size: .84rem; }
.ec-conn-name a { color: var(--ink); text-decoration: none; }
.ec-conn-name a:hover { color: var(--bs-primary); }
.ec-conn-prop { font-size: .72rem; color: var(--muted); flex: 1; }

/* Cohérence */
.ec-consistency { display: grid; gap: .45rem; }
.ec-cons-row { display: flex; align-items: center; gap: .6rem; font-size: .85rem; }
.ec-cons-ico { width: 20px; text-align: center; }
.ec-cons-ico.ok { color: #16a34a; }
.ec-cons-ico.ko { color: #dc2626; }
.ec-cons-ico.na { color: #cbd5e1; }
.ec-cons-name { flex: 1; }
.ec-cons-note { font-size: .76rem; color: var(--muted); }

/* Recommandations */
.ec-reco-count { font-size: .72rem; font-weight: 700; background: #fee2e2; color: #b91c1c; padding: .1rem .5rem; border-radius: 20px; margin-left: .4rem; }
.ec-reco { display: flex; gap: .7rem; padding: .7rem 0; border-bottom: 1px solid var(--card-border); }
.ec-reco:last-child { border-bottom: none; }
.ec-reco-num { flex: 0 0 26px; height: 26px; border-radius: 7px; background: var(--bs-primary); color: #fff; font-weight: 700; font-size: .78rem; display: flex; align-items: center; justify-content: center; }
.ec-reco-body { flex: 1; }
.ec-reco-title { font-weight: 700; font-size: .88rem; }
.ec-reco-desc { font-size: .8rem; color: var(--muted); margin-top: .15rem; line-height: 1.45; }
.ec-reco-empty { color: #16a34a; font-weight: 600; font-size: .9rem; display: flex; align-items: center; gap: .5rem; }

/* Loader */
.ec-loader { display: inline-block; width: 14px; height: 14px; border: 2px solid rgba(79,70,229,.25); border-top-color: var(--bs-primary); border-radius: 50%; animation: ec-spin .7s linear infinite; }
@keyframes ec-spin { to { transform: rotate(360deg); } }
.alert-inline { border-radius: 8px; padding: .5rem .7rem; font-size: .82rem; }
.alert-inline.info { background: #eff6ff; color: #1e40af; }
.alert-inline.warn { background: #fffbeb; color: #92400e; }
.alert-inline.error { background: #fef2f2; color: #991b1b; }

/* Bouton Enterprise KG (à la demande) */
.ec-ekg-btn{background:linear-gradient(90deg,#4f46e5,#7c3aed);color:#fff;border:none;border-radius:8px;padding:6px 12px;font-size:.78rem;font-weight:700;cursor:pointer;margin-top:2px;transition:filter .12s}
.ec-ekg-btn:hover{filter:brightness(1.08)}
.ec-ekg-btn:disabled{opacity:.7;cursor:default}
.ec-id-val .bi-cloud-check{color:#16a34a}

/* Actions du verdict + bouton export */
.ec-verdict-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.ec-export-btn{background:#fff;border:1px solid var(--card-border);color:var(--ink);border-radius:8px;padding:6px 12px;font-size:.8rem;font-weight:700;cursor:pointer;transition:all .12s;display:inline-flex;align-items:center}
.ec-export-btn:hover{border-color:var(--bs-primary);color:var(--bs-primary)}
.ec-export-btn .bi{color:var(--bs-primary)}
.ec-mid-hint code{background:#eef2ff;color:#4338ca;padding:.05rem .3rem;border-radius:4px}
