:root{--bg:#0f1115;--card:#171a21;--border:#2a2e38;--text:#e8e9ec;--muted:#8b90a0;--accent:#3b82f6;--green:#4caf7d;--orange:#f5a623;--red:#e5484d}
  *{box-sizing:border-box}
  body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}
  header{padding:16px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:16px}
  header h1{margin:0;font-size:18px;letter-spacing:-.02em}
  header h1 b{color:var(--accent)}
  nav{display:flex;gap:4px}
  nav button{padding:8px 16px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;font-size:13px}
  nav button.active{background:var(--accent);color:#fff;border-color:var(--accent)}
  .btn{padding:8px 14px;border-radius:8px;border:none;background:var(--accent);color:#fff;cursor:pointer;font-size:13px}
  .btn-sm{padding:5px 10px;font-size:12px}.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text)}
  .chat-exemple{cursor:pointer;background:#2a2e38;border-radius:8px;padding:4px 10px;font-size:12px;color:#8b90a0;transition:.15s;user-select:none}.chat-exemple:hover{background:var(--accent);color:#fff}
  #login{max-width:320px;margin:80px auto;padding:24px;background:var(--card);border:1px solid var(--border);border-radius:12px;text-align:center}
  #login input{width:100%;padding:10px;margin:12px 0;border-radius:8px;border:1px solid var(--border);background:#0c0e12;color:var(--text)}
  main{max-width:960px;margin:0 auto;padding:20px 24px 60px}
  .tab{display:none}.tab.active{display:block}
  .stats-row{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}
  .stat-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:14px 18px;flex:1;min-width:140px}
  .stat-card .num{font-size:24px;font-weight:700;color:var(--accent)}
  .stat-card .lbl{color:var(--muted);font-size:12px;margin-top:2px}
  .card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin-bottom:10px;cursor:pointer;transition:border-color .15s}
  .card:hover{border-color:var(--accent)}
  .card-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
  .card h3{margin:0;font-size:15px}
  .card .meta{color:var(--muted);font-size:12px;margin-top:4px}
  .card .sub{margin-top:8px;font-size:13px;color:var(--muted)}
  .badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}
  .badge.nouveau{background:rgba(59,130,246,.15);color:var(--accent)}
  .badge.vu{background:rgba(139,144,160,.15);color:var(--muted)}
  .badge.traité,.badge.accepte{background:rgba(76,175,125,.15);color:var(--green)}
  .badge.refusé,.badge.urgente{background:rgba(229,72,77,.15);color:var(--red)}
  .badge.brouillon{background:rgba(245,166,35,.15);color:var(--orange)}
  
  .empty{color:var(--muted);text-align:center;padding:60px 0}
  /* Mobile responsive */
  @media(max-width:768px){
    body{font-size:14px}
    header{padding:10px 12px;flex-wrap:wrap;gap:6px}
    header h1{font-size:15px;margin:0}
    nav{overflow-x:auto;width:100%;gap:2px;padding-bottom:4px;-webkit-overflow-scrolling:touch}
    nav button{padding:8px 10px;font-size:12px;white-space:nowrap;min-height:36px;flex-shrink:0}
    main{padding:10px 12px 80px}
    .stats-row{gap:6px}
    .stat-card{padding:10px;min-width:80px}
    .stat-card .num{font-size:18px}
    .card{padding:10px 12px}
    /* Tables responsives : scroll horizontal */
    table{font-size:11px;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%}
    th,td{padding:3px 4px;white-space:nowrap}
    .detail-header{flex-direction:column;align-items:flex-start;gap:6px}
    .detail-header .info h2{font-size:16px}
    .detail-header .tel{font-size:14px}
    #chat-panel{width:calc(100vw - 20px)!important;right:10px!important;left:10px!important;transform:none!important;max-width:100%}
    #chat-panel textarea{font-size:16px!important}
    input,select,textarea{font-size:16px!important}
    .btn,.btn-sm{font-size:13px;padding:10px 14px;min-height:44px}
    /* Login mobile */
    #login{flex-direction:column;gap:10px}
    #login input{width:100%!important;font-size:16px;padding:12px}
    #login button{width:100%;padding:14px}
    /* Cards en pleine largeur */
    .card-top{flex-direction:column;align-items:flex-start;gap:4px}
    /* Éditeur mobile */
    #ed-body input{font-size:14px!important;min-height:36px}
    /* Boutons action en colonne */
    div[style*="flex-wrap:wrap"]{flex-direction:column}
    div[style*="flex-wrap:wrap"] button{width:100%}
  }
  @media(max-width:480px){
    header h1{font-size:13px}
    nav button{padding:6px 8px;font-size:11px}
    table{font-size:10px}
    th,td{padding:2px 3px}
    .stat-card{padding:8px;min-width:60px}
    .stat-card .num{font-size:15px}
  }
  .back-link{color:var(--accent);cursor:pointer;font-size:13px;margin-bottom:12px;display:inline-block}
  .field label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}
  .field input,.field textarea{width:100%;padding:8px;border-radius:6px;border:1px solid var(--border);background:#0c0e12;color:var(--text);margin-bottom:10px}
  .detail-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:16px 0;flex-wrap:wrap}
  .detail-header .info h2{margin:0;font-size:18px}
  .detail-header .tel{color:var(--accent);font-size:15px;font-weight:600;margin-top:2px}
  .detail-header .meta{color:var(--muted);font-size:12px;margin-top:2px}
  .detail-header .badge{font-size:12px;padding:4px 12px}
  .badge.test{background:rgba(139,144,160,.15);color:var(--muted);font-style:italic}
  @keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
  .card,.stat-card{animation:fadeIn .2s}
  table{width:100%;border-collapse:collapse;font-size:13px}
  th{text-align:left;padding:8px;border-bottom:1px solid var(--border);color:var(--muted);font-weight:600}
  td{padding:8px;border-bottom:1px solid var(--border)}