  :root{--navy:#0f2a4a;--navy-2:#1b3d66;--amber:#f59e0b;--amber-d:#b45309;--bg:#eef1f5;--card:#fff;--txt:#14202e;
    --mut:#5b6878;--line:#d5dbe3;--ok:#15803d;--warn:#c2410c;--err:#b91c1c}
  *{box-sizing:border-box}
  body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--txt)}
  header{background:var(--navy);color:#fff;padding:16px 16px 22px}
  header .wrap{max-width:820px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:12px}
  header h1{margin:0;font-size:1.3rem}
  header small{color:#c9d6e6}
  #net{font-size:.8rem;padding:4px 10px;border-radius:999px;background:var(--amber);color:var(--navy);font-weight:700;white-space:nowrap}
  #net.on{background:#22c55e;color:#06290f}
  main{max-width:820px;margin:-10px auto 0;padding:0 16px 40px}
  .card{background:var(--card);border-radius:12px;margin-bottom:18px;overflow:hidden;box-shadow:0 2px 6px rgba(15,42,74,.08)}
  .card h2{margin:0;background:var(--navy-2);color:#fff;font-size:1rem;padding:12px 18px;display:flex;justify-content:space-between;align-items:center}
  .card .body{padding:16px 18px}
  .grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
  .g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 10px}
  .full{grid-column:1/-1}
  @media(max-width:560px){.grid{grid-template-columns:1fr}.g3{grid-template-columns:1fr 1fr}.g3>div:last-child{grid-column:1/-1}}
  label{display:block;margin:10px 0 5px;font-weight:600;font-size:.86rem}
  input,select,textarea{width:100%;padding:11px 10px;border-radius:8px;border:1px solid var(--line);font-size:16px;background:#fff;color:var(--txt);font-family:inherit}
  input:focus,select:focus,textarea:focus{outline:2px solid var(--amber);border-color:var(--amber)}
  button{width:100%;padding:13px;margin-top:14px;background:var(--amber);color:var(--navy);border:none;border-radius:8px;cursor:pointer;font-weight:800;font-size:1rem}
  button:hover{background:#fbbf24}
  button:disabled{background:#c3cad3;color:#5b6878;cursor:not-allowed}
  button.sec{background:var(--navy);color:#fff}
  button.sec:hover{background:var(--navy-2)}
  button.ghost{background:#e6ebf1;color:var(--navy)}
  button.small{width:auto;padding:7px 12px;margin:0;font-size:.85rem}
  .hint{font-size:.8rem;color:var(--mut);margin-top:4px}
  .hidden{display:none!important}
  .types{display:flex;flex-wrap:wrap;gap:6px}
  .types button{width:auto;margin:0;padding:9px 12px;font-size:.88rem;background:#e6ebf1;color:var(--navy);font-weight:700}
  .types button.on{background:var(--navy);color:#fff}
  .stepper{display:flex;gap:6px}
  .stepper input{min-width:0}
  .stepper button{width:44px;flex:none;margin:0;padding:0;font-size:1.3rem;background:#e6ebf1;color:var(--navy)}
  .stepper input{text-align:center;font-weight:700;font-size:1.15rem}
  /* Chrono */
  #chrono{margin-top:14px;border-radius:10px;padding:14px;color:#fff;background:var(--navy);text-align:center}
  #chrono .t{font-size:2.6rem;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:1px}
  #chrono .z{font-weight:700;font-size:.92rem}
  #chrono .bar{height:10px;background:rgba(255,255,255,.2);border-radius:5px;margin:10px 0 4px;position:relative;overflow:hidden}
  #chrono .bar span{position:absolute;left:0;top:0;bottom:0;background:#fff}
  #chrono .ticks{display:flex;justify-content:space-between;font-size:.72rem;opacity:.85}
  #chrono.z-early{background:var(--navy-2)} #chrono.z-best{background:var(--ok)} #chrono.z-mid{background:var(--amber-d)}
  #chrono.z-late{background:var(--warn)} #chrono.z-over{background:var(--err)}
  #chrono button{background:#fff;color:var(--navy)}
  #chrono.idle .t{opacity:.6}
  /* Séries du jour */
  table{width:100%;border-collapse:collapse;font-size:.85rem}
  th{background:var(--navy);color:#fff;text-align:left;padding:7px 6px;font-weight:700}
  td{padding:7px 6px;border-bottom:1px solid var(--line);vertical-align:middle}
  .tablewrap{overflow-x:auto}
  .pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:700;background:#e6ebf1;color:var(--navy)}
  .pill.wu{background:#eef1f5;color:var(--mut)} .pill.top{background:var(--amber);color:var(--navy)}
  .r-ok{color:var(--ok);font-weight:700} .r-bad{color:var(--err);font-weight:700}
  .del{background:none;color:var(--err);width:auto;margin:0;padding:2px 6px;font-size:1rem}
  .del:hover{background:#fde8e8}
  #suggest{margin-top:12px;padding:12px 14px;border-radius:8px;background:var(--navy);color:#fff;font-weight:600}
  #suggest b{color:var(--amber)}
  #ai-result{background:#f4f6f9;padding:14px;border-left:5px solid var(--navy);border-radius:6px;line-height:1.55;margin-top:14px;white-space:pre-wrap}
  .goal{margin:10px 0}
  .goal .row{display:flex;justify-content:space-between;font-size:.9rem;font-weight:600}
  .gbar{height:14px;background:#dfe5ec;border-radius:7px;overflow:hidden;margin-top:5px}
  .gbar span{display:block;height:100%;background:var(--amber)} .gbar span.done{background:var(--ok)}
  .kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}
  @media(max-width:560px){.kpis{grid-template-columns:repeat(2,1fr)}}
  .kpi{background:var(--navy);color:#fff;border-radius:8px;padding:10px 6px;text-align:center}
  .kpi b{display:block;font-size:1.2rem;color:var(--amber)} .kpi small{font-size:.72rem;color:#c9d6e6}
  #toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);max-width:92vw;padding:12px 18px;border-radius:8px;color:#fff;font-weight:600;
    box-shadow:0 6px 18px rgba(0,0,0,.25);opacity:0;pointer-events:none;transition:opacity .25s;z-index:10}
  #toast.show{opacity:1} #toast.ok{background:var(--ok)} #toast.err{background:var(--err)} #toast.info{background:var(--navy)}
  #queue-box{margin-top:12px;background:#fff7e6;border-left:5px solid var(--amber-d);padding:10px 12px;border-radius:6px;font-size:.88rem}
  #setup{background:#fff7e6;border-left:5px solid var(--amber-d)}
