/* Analyse ALL.TXT WSJT-X / JTDX - styles (F4HXN) */
/* ===== Style F4HXN - aucune dependance, CSS natif ===== */
#fx-alltxt-app{--fx-blue:#0076a5;--fx-blue2:#298ad4;--fx-ink:#1f2a33;--fx-mut:#5d6b76;
  --fx-line:#e6ecf1;--fx-soft:#f5f8fb;max-width:1200px;margin:26px auto;padding:26px;
  background:#fff;color:var(--fx-ink);font-family:"DM Sans",system-ui,Arial,sans-serif;
  border:1px solid var(--fx-line);border-radius:16px;box-shadow:0 10px 32px rgba(15,40,60,.07)}
#fx-alltxt-app *{box-sizing:border-box}
#fx-alltxt-app h2{font-size:1.7rem;margin:0 0 6px;color:var(--fx-blue);font-weight:700}
#fx-alltxt-app h3{font-size:1.02rem;margin:0 0 14px;color:var(--fx-ink);font-weight:600}
.fx-alltxt-hero{padding-bottom:18px;border-bottom:2px solid var(--fx-soft);margin-bottom:22px}
.fx-alltxt-eyebrow{font-family:"JetBrains Mono",monospace;font-size:.72rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--fx-blue2);margin:0 0 4px;font-weight:600}
.fx-alltxt-lead{margin:8px 0 0;color:var(--fx-mut);font-size:.95rem;line-height:1.5;max-width:70ch}
.fx-alltxt-drop{border:2px dashed #cfdbe6;border-radius:14px;background:var(--fx-soft);
  transition:border-color .15s,background .15s}
.fx-alltxt-drop.fx-over{border-color:var(--fx-blue2);background:#eef6fc}
.fx-alltxt-drop-inner{padding:26px 18px;text-align:center}
.fx-alltxt-drop-title{display:block;font-weight:600;color:var(--fx-ink);font-size:1.02rem}
.fx-alltxt-drop-sub{display:block;margin-top:4px;color:var(--fx-mut);font-size:.85rem}
.fx-alltxt-input{display:block;margin:14px auto 0;padding:10px;border:1px solid #d6dfe7;
  border-radius:9px;background:#fff;font-family:"DM Sans",sans-serif;font-size:.9rem;cursor:pointer;
  max-width:100%;width:fit-content;text-align:center}
.fx-alltxt-status{margin:12px 2px 0;font-size:.88rem;color:var(--fx-mut);font-family:"JetBrains Mono",monospace}
.fx-alltxt-filters{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;margin:26px 0 20px;
  padding:16px;background:var(--fx-soft);border:1px solid var(--fx-line);border-radius:12px}
.fx-alltxt-filters label{display:flex;flex-direction:column;gap:5px;font-size:.78rem;font-weight:600;
  color:var(--fx-mut);text-transform:uppercase;letter-spacing:.04em}
.fx-alltxt-filters select,.fx-alltxt-filters input{font-family:"DM Sans",sans-serif;font-size:.92rem;
  padding:9px 11px;border:1px solid #d6dfe7;border-radius:9px;background:#fff;color:var(--fx-ink);min-width:150px}
.fx-alltxt-filters .fx-alltxt-search{flex:1;min-width:210px}
.fx-alltxt-filters .fx-alltxt-search input{width:100%}
.fx-alltxt-btn,.fx-alltxt-btn-ghost{font-family:"DM Sans",sans-serif;font-size:.9rem;font-weight:600;
  padding:10px 18px;border-radius:9px;cursor:pointer;border:1px solid var(--fx-blue);transition:.15s}
.fx-alltxt-btn{background:var(--fx-blue);color:#fff}
.fx-alltxt-btn:hover{background:var(--fx-blue2);border-color:var(--fx-blue2)}
.fx-alltxt-btn-ghost{background:#fff;color:var(--fx-blue);border-color:#cddae4}
.fx-alltxt-btn-ghost:hover{background:var(--fx-soft);border-color:var(--fx-blue2);color:var(--fx-blue2)}
.fx-alltxt-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:6px 0 8px}
.fx-alltxt-card{background:#fff;border:1px solid var(--fx-line);
  border-radius:12px;padding:18px 14px;text-align:center}
.fx-alltxt-card b{display:block;font-size:1.75rem;font-weight:700;color:var(--fx-blue);
  font-family:"JetBrains Mono",monospace;line-height:1.1}
.fx-alltxt-card span{display:block;margin-top:6px;font-size:.8rem;color:var(--fx-mut);
  text-transform:uppercase;letter-spacing:.04em}
.fx-alltxt-dxline{margin:14px 0 26px;padding:12px 16px;background:var(--fx-soft);border-radius:10px;
  font-family:"JetBrains Mono",monospace;font-size:.86rem;color:var(--fx-ink);min-height:20px}
.fx-alltxt-dxline b{color:var(--fx-blue)}
.fx-alltxt-grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-bottom:26px}
.fx-alltxt-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:26px}
.fx-alltxt-panel{background:#fff;border:1px solid var(--fx-line);border-radius:12px;padding:18px}
/* barres horizontales */
.fx-chart{min-height:40px}
.fx-hbar{display:flex;align-items:center;gap:10px;margin:7px 0;font-size:.86rem}
.fx-hbar-l{flex:0 0 84px;font-family:"JetBrains Mono",monospace;font-weight:600;color:var(--fx-ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fx-hbar-t{flex:1;background:#eef3f7;border-radius:6px;height:16px;overflow:hidden}
.fx-hbar-f{display:block;height:100%;border-radius:6px;min-width:3px}
.fx-hbar-v{flex:0 0 52px;text-align:right;font-family:"JetBrains Mono",monospace;color:var(--fx-mut)}
/* barres verticales */
.fx-vbars{display:flex;align-items:flex-end;gap:3px;height:150px;padding-top:6px}
.fx-vbar{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}
.fx-vbar-t{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center}
.fx-vbar-f{width:78%;border-radius:4px 4px 0 0;min-height:2px}
.fx-vbar-x{margin-top:5px;font-size:.62rem;color:var(--fx-mut);font-family:"JetBrains Mono",monospace;
  white-space:nowrap;transform:rotate(-40deg);transform-origin:center;height:14px}
.fx-empty{color:var(--fx-mut);font-size:.85rem;margin:6px 0}
.fx-alltxt-table{width:100%;border-collapse:collapse;font-size:.9rem}
.fx-alltxt-table th,.fx-alltxt-table td{padding:9px 8px;border-bottom:1px solid var(--fx-line);text-align:left}
.fx-alltxt-table th{font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:var(--fx-mut);background:var(--fx-soft)}
.fx-alltxt-table td:first-child{font-family:"JetBrains Mono",monospace;font-weight:600;color:var(--fx-ink)}
.fx-alltxt-table .fx-num{text-align:right;font-family:"JetBrains Mono",monospace}
.fx-alltxt-table tr:hover td{background:#fafcfe}
.fx-alltxt-export{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:18px;
  background:var(--fx-soft);border:1px solid var(--fx-line);border-radius:12px}
.fx-alltxt-export span{font-weight:600;color:var(--fx-mut);font-size:.9rem}
.fx-alltxt-credit{margin:22px 2px 0;font-size:.78rem;color:#8a97a1;font-family:"JetBrains Mono",monospace}
@media(max-width:820px){.fx-alltxt-grid2,.fx-alltxt-grid3{grid-template-columns:1fr}}
