*{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#0a0e1a;--bg2:#111827;--bg3:#1a2235;
  --border:#1e2d45;--accent:#3b82f6;--accent2:#06b6d4;
  --text:#f1f5f9;--muted:#64748b;--success:#10b981;--danger:#ef4444;
}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);min-height:100vh}
a{text-decoration:none;color:inherit}

/* NAV */
nav{position:sticky;top:0;z-index:200;background:rgba(10,14,26,0.97);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
.nav-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;height:64px;padding:0 2rem;gap:2rem}
.logo{font-family:'Space Grotesk',sans-serif;font-size:1.3rem;font-weight:700;background:linear-gradient(135deg,#3b82f6,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;white-space:nowrap;flex-shrink:0}

/* DROPDOWN DESKTOP */
.nav-menu{display:flex;align-items:center;gap:0.25rem;flex:1}
.nav-dropdown{position:relative}
.nav-dropdown-btn{display:flex;align-items:center;gap:0.4rem;padding:0.4rem 0.85rem;border-radius:8px;font-size:0.88rem;color:var(--muted);cursor:pointer;border:none;background:none;font-family:'DM Sans',sans-serif;transition:all .2s;white-space:nowrap}
.nav-dropdown-btn:hover,.nav-dropdown-btn.open{color:var(--text);background:var(--bg3)}
.nav-dropdown-btn svg{transition:transform .2s;flex-shrink:0}
.nav-dropdown-btn.open svg{transform:rotate(180deg)}
.nav-dropdown-panel{position:absolute;top:calc(100% + 8px);left:0;background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:0.5rem;min-width:200px;display:none;z-index:300;box-shadow:0 8px 32px rgba(0,0,0,0.5)}
.nav-dropdown-btn.open + .nav-dropdown-panel{display:block}
.nav-dropdown-panel a{display:flex;align-items:center;gap:0.6rem;padding:0.55rem 0.85rem;border-radius:8px;font-size:0.85rem;color:var(--muted);transition:all .2s;white-space:nowrap}
.nav-dropdown-panel a:hover{color:var(--text);background:var(--bg3)}
.nav-dropdown-panel .icon{font-size:0.9rem;width:20px;text-align:center}
.nav-panel-title{font-size:0.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;padding:0.5rem 0.85rem 0.2rem;opacity:0.6}

/* BURGER - caché desktop */
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;border:none;background:none;border-radius:8px}
.burger span{display:block;width:22px;height:2px;background:var(--text);border-radius:2px;transition:all .3s}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* MOBILE MENU - caché par défaut via JS */
.mobile-menu{position:fixed;top:64px;left:0;right:0;bottom:0;background:var(--bg);z-index:150;overflow-y:auto;padding:1.5rem 1rem}
.mobile-section{margin-bottom:2rem}
.mobile-section-title{font-size:0.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;padding:0 0.5rem 0.5rem;opacity:0.6;display:block}
.mobile-menu a{display:flex;align-items:center;gap:0.75rem;padding:0.8rem 0.75rem;border-radius:10px;font-size:0.95rem;color:var(--muted);transition:all .2s;margin-bottom:0.2rem}
.mobile-menu a:hover{color:var(--text);background:var(--bg3)}
.mobile-menu .icon{font-size:1rem;width:24px;text-align:center}
.mobile-footer-links{border-top:1px solid var(--border);padding-top:1.5rem;margin-top:1rem;display:flex;gap:1.5rem}
.mobile-footer-links a{font-size:0.9rem;color:var(--muted)}

/* PAGES */
.page{max-width:760px;margin:0 auto;padding:2.5rem 2rem}
.back-btn{display:inline-flex;align-items:center;gap:0.5rem;color:var(--muted);font-size:0.85rem;margin-bottom:2rem;cursor:pointer;border:none;background:none;transition:color .2s;padding:0}
.back-btn:hover{color:var(--text)}
.tool-header{margin-bottom:2rem}
.tool-header h1{font-family:'Space Grotesk',sans-serif;font-size:2rem;font-weight:700;margin-bottom:0.5rem}
.tool-header p{color:var(--muted);font-size:1rem}

/* DROP ZONE */
.drop-zone{border:2px dashed var(--border);border-radius:14px;padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .25s;position:relative;background:var(--bg2)}
.drop-zone:hover,.drop-zone.dragover{border-color:var(--accent);background:rgba(59,130,246,0.05)}
.drop-zone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.drop-icon{font-size:2.5rem;margin-bottom:1rem}
.drop-zone h3{font-size:1rem;font-weight:600;margin-bottom:0.4rem}
.drop-zone p{font-size:0.82rem;color:var(--muted)}

/* FILE INFO */
.file-info{background:var(--bg3);border:1px solid var(--border);border-radius:10px;padding:0.9rem 1.1rem;margin-top:1rem;display:none;align-items:center;gap:0.75rem}
.file-info.show{display:flex}
.file-name{font-size:0.88rem;font-weight:500;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file-size{font-size:0.78rem;color:var(--muted);white-space:nowrap}

/* CSV STATS */
.csv-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0.75rem;margin:1rem 0}
.csv-stat{background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:0.85rem;text-align:center}
.csv-stat .val{font-size:1.4rem;font-weight:700;font-family:'Space Grotesk',sans-serif;color:var(--accent)}
.csv-stat .key{font-size:0.72rem;color:var(--muted);margin-top:2px}

/* OPTIONS */
.options{margin:1.25rem 0}
.opt-label{font-size:0.83rem;color:var(--muted);margin-bottom:0.4rem;display:block}
.opt-input{background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:0.6rem 1rem;color:var(--text);font-size:0.9rem;width:100%;outline:none;transition:border-color .2s;font-family:'DM Sans',sans-serif}
.opt-input:focus{border-color:var(--accent)}
.format-grid{display:flex;gap:0.5rem;flex-wrap:wrap;margin-top:0.4rem}
.fmt-btn{background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:0.45rem 1rem;color:var(--muted);font-size:0.85rem;cursor:pointer;transition:all .2s;font-family:'DM Sans',sans-serif}
.fmt-btn:hover,.fmt-btn.active{background:var(--accent);border-color:var(--accent);color:white}

/* BUTTONS */
.action-btn{width:100%;padding:0.9rem;border-radius:10px;border:none;background:linear-gradient(135deg,#3b82f6,#06b6d4);color:white;font-size:1rem;font-weight:600;cursor:pointer;margin-top:1.25rem;transition:opacity .2s;font-family:'DM Sans',sans-serif}
.action-btn:disabled{opacity:0.4;cursor:not-allowed}
.action-btn:hover:not(:disabled){opacity:0.88}

/* PROGRESS */
.progress-wrap{margin-top:1rem;display:none}
.progress-wrap.show{display:block}
.progress-bar{height:4px;background:var(--border);border-radius:2px;overflow:hidden;margin-bottom:0.6rem}
.progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#06b6d4);width:0%;transition:width .3s;border-radius:2px}
.progress-text{font-size:0.82rem;color:var(--muted);text-align:center}

/* RESULT */
.result-box{margin-top:1.25rem;background:rgba(16,185,129,0.08);border:1px solid rgba(16,185,129,0.25);border-radius:10px;padding:1.25rem;display:none}
.result-box.show{display:block}
.result-box h4{color:var(--success);font-size:0.9rem;font-weight:600;margin-bottom:0.5rem}
.result-box p{font-size:0.83rem;color:var(--muted)}
.download-btn{display:inline-flex;align-items:center;gap:0.5rem;margin-top:1rem;background:var(--success);color:white;padding:0.6rem 1.25rem;border-radius:8px;font-size:0.88rem;font-weight:600;cursor:pointer;border:none;transition:opacity .2s;font-family:'DM Sans',sans-serif}
.download-btn:hover{opacity:0.85}

/* ERROR */
.error-box{margin-top:1rem;background:rgba(239,68,68,0.08);border:1px solid rgba(239,68,68,0.25);border-radius:10px;padding:1rem;display:none;font-size:0.83rem;color:#fca5a5}
.error-box.show{display:block}

/* FILES LIST */
.files-list{margin-top:1rem}
.file-item{background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:0.7rem 1rem;display:flex;align-items:center;gap:0.75rem;margin-bottom:0.4rem}
.file-item-name{flex:1;font-size:0.83rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file-item-size{font-size:0.75rem;color:var(--muted);white-space:nowrap}

/* FOOTER */
footer{border-top:1px solid var(--border);padding:2rem;margin-top:4rem}
.footer-inner{max-width:1100px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;color:var(--muted);font-size:0.8rem}
.footer-links{display:flex;gap:1.5rem}
.footer-links a{color:var(--muted);font-size:0.8rem;transition:color .2s}
.footer-links a:hover{color:var(--text)}

/* RESPONSIVE */
@media(max-width:768px){
  .nav-menu{display:none}
  .burger{display:flex}
  .nav-inner{padding:0 1rem}
  .page{padding:1.5rem 1rem}
  .tool-header h1{font-size:1.5rem}
  .drop-zone{padding:2rem 1rem}
  .drop-icon{font-size:1.8rem}
  .footer-inner{flex-direction:column;text-align:center}
  .footer-links{justify-content:center}
}

/* ===== FIX MOBILE MENU ===== */
@media(max-width:768px){
  .mobile-menu{
    position:fixed;
    top:64px;
    left:0;
    right:0;
    bottom:0;
    background:var(--bg);
    z-index:999;
    overflow-y:auto;
    padding:1rem 1.25rem;
  }
  .mobile-section{
    margin-bottom:1.5rem;
  }
  .mobile-section-title{
    display:block;
    font-size:0.7rem;
    color:var(--muted);
    text-transform:uppercase;
    letter-spacing:.1em;
    padding:0.5rem 0;
    margin-bottom:0.25rem;
    border-bottom:1px solid var(--border);
  }
  .mobile-menu a{
    display:flex;
    align-items:center;
    gap:0.75rem;
    padding:0.75rem 0.5rem;
    font-size:0.95rem;
    color:var(--text);
    border-bottom:1px solid var(--border);
  }
  .mobile-menu a:last-child{
    border-bottom:none;
  }
  .mobile-menu .icon{
    font-size:1.1rem;
    width:28px;
    text-align:center;
  }
  .mobile-footer-links{
    display:flex;
    gap:1.5rem;
    padding:1.5rem 0;
    border-top:1px solid var(--border);
    margin-top:1rem;
  }
  .mobile-footer-links a{
    font-size:0.9rem;
    color:var(--muted);
    border-bottom:none !important;
  }
}

/* ===== FIX MOBILE MENU V2 ===== */
@media(max-width:768px){
  .mobile-menu{
    position:fixed !important;
    top:64px !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    height:calc(100vh - 64px) !important;
    background:#111827 !important;
    z-index:9999 !important;
    overflow-y:auto !important;
    padding:1.5rem !important;
    border-top:2px solid var(--accent) !important;
  }
  .mobile-section-title{
    display:block !important;
    font-size:0.7rem !important;
    color:var(--accent) !important;
    text-transform:uppercase !important;
    letter-spacing:.12em !important;
    padding:0.75rem 0 0.4rem !important;
    font-weight:600 !important;
  }
  .mobile-menu a{
    display:flex !important;
    align-items:center !important;
    gap:0.85rem !important;
    padding:0.85rem 0.75rem !important;
    font-size:1rem !important;
    color:#f1f5f9 !important;
    background:#1a2235 !important;
    border-radius:10px !important;
    margin-bottom:0.4rem !important;
  }
  .mobile-menu a:hover{
    background:#1e2d45 !important;
  }
  .mobile-footer-links{
    display:flex !important;
    gap:1.5rem !important;
    padding:1.5rem 0.75rem !important;
    margin-top:0.5rem !important;
    border-top:1px solid var(--border) !important;
  }
  .mobile-footer-links a{
    font-size:0.9rem !important;
    color:var(--muted) !important;
    background:transparent !important;
    padding:0 !important;
    margin:0 !important;
  }
}

/* FIX BURGER POSITION */
.burger{margin-left:auto}
