/* concierge page styles. Tokens live in tokens.css. */
#fx {font-family:Inter,ui-sans-serif,"Helvetica Neue",Helvetica,Arial,sans-serif;color:var(--nuit);
    background:var(--givre);line-height:1.55;font-size:15px;-webkit-font-smoothing:antialiased}
  #fx *{box-sizing:border-box}
  #fx .logo{position:relative;display:inline-block;font-weight:700;letter-spacing:-.05em;text-decoration:none;color:inherit}
  #fx .logo .dot{position:absolute;background:var(--stable);border-radius:1px;width:.115em;height:.115em;left:.268em;top:.055em}
  #fx .top{background:var(--papier);border-bottom:1px solid var(--ligne)}
  #fx .top-in{max-width:1040px;margin:0 auto;padding:0 16px;display:flex;align-items:center;gap:16px;height:56px}
  #fx .top .logo{font-size:20px}
  #fx .tabs{display:flex;gap:2px;margin-left:auto}
  #fx .tab{appearance:none;border:0;background:none;font:inherit;font-size:13px;padding:7px 11px;
    cursor:pointer;color:var(--acier);border-radius:4px;
    transition:background 140ms ease-out,color 140ms ease-out}
  #fx .tab[aria-selected="true"]{background:var(--nuit);color:var(--givre);font-weight:600}
  #fx .tab:focus-visible,#fx button:focus-visible,#fx input:focus-visible,#fx textarea:focus-visible{
    outline:2px solid var(--stable);outline-offset:2px}
  #fx .body{max-width:1040px;margin:0 auto;padding:22px 16px 60px}
  #fx h2{margin:0 0 4px;font-size:20px;font-weight:650;letter-spacing:-.025em}
  #fx h3{margin:0 0 8px;font-size:14px;font-weight:620}
  #fx p{margin:0}
  #fx .small{font-size:12.5px;color:var(--acier)}
  #fx .panel{background:var(--papier);border:1px solid var(--ligne);border-radius:4px;padding:16px}
  #fx .badge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:550;padding:3px 9px;border-radius:20px}
  #fx .badge i{width:6px;height:6px;border-radius:50%;background:currentColor}
  #fx .b-ok{background:#E8F2EE;color:var(--stable)}
  #fx .b-wait{background:#F8F1DF;color:var(--attente)}
  #fx .b-bad{background:#F9EBE7;color:var(--ecart)}
  #fx .b-n{background:#EDF1F2;color:var(--acier)}
  #fx .btn{appearance:none;border:1px solid transparent;font:inherit;font-size:13.5px;font-weight:600;
    padding:9px 15px;border-radius:4px;cursor:pointer;background:var(--nuit);color:var(--givre);
    transition:background 140ms ease-out,border-color 140ms ease-out}
  #fx .btn.sec{background:transparent;color:var(--nuit);border-color:var(--ligne)}
  #fx .btn.sec:hover{border-color:var(--nuit)}
  #fx .btn.sm{font-size:12.5px;padding:6px 11px}
  #fx .btn:disabled{opacity:.45;cursor:not-allowed}

  /* console */
  #fx .lay{display:grid;gap:16px}
  @media(min-width:900px){#fx .lay{grid-template-columns:1fr 290px;align-items:start}}
  #fx .thread{background:var(--papier);border:1px solid var(--ligne);border-radius:4px;
    min-height:340px;max-height:60vh;overflow-y:auto;padding:16px}
  #fx .msg{margin-bottom:14px;max-width:82%}
  #fx .msg.me{margin-left:auto}
  #fx .bub{padding:10px 13px;border-radius:10px;font-size:14px;white-space:pre-wrap}
  #fx .msg.me .bub{background:var(--nuit);color:var(--givre);border-radius:10px 10px 2px 10px}
  #fx .msg.ai .bub{background:#F2F6F7;border-radius:10px 10px 10px 2px}
  #fx .msg .who{font-size:10.5px;color:var(--acier);margin-bottom:4px}
  #fx .msg.me .who{text-align:right}
  #fx .thinking{font-size:12.5px;color:var(--acier);font-style:normal}

  /* structured cards inside thread */
  #fx .qcard{border:1px solid var(--ligne);border-radius:4px;margin-top:9px;overflow:hidden;background:var(--papier)}
  #fx .qhead{background:#F2F6F7;padding:9px 12px;font-size:12px;color:var(--acier);
    display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid var(--ligne-2)}
  #fx .qbody{padding:12px}
  #fx .opt{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;
    text-align:left;background:#FBFDFD;border:1px solid var(--ligne);border-radius:4px;
    padding:11px 12px;margin-bottom:8px;cursor:pointer;font:inherit;
    transition:border-color 140ms ease-out}
  #fx .opt:hover{border-color:var(--nuit)}
  #fx .opt:disabled{opacity:.45;cursor:not-allowed}
  #fx .opt .on{font-size:14px;font-weight:620}
  #fx .opt .om{font-size:12px;color:var(--acier);margin-top:2px}
  #fx .opt .op{font-size:15px;font-weight:640;font-variant-numeric:tabular-nums;white-space:nowrap}
  #fx .lines{width:100%;border-collapse:collapse;font-size:12.5px}
  #fx .lines td{padding:4px 0}
  #fx .lines td:last-child{text-align:right;font-variant-numeric:tabular-nums}
  #fx .lines tr.mute td{color:var(--acier)}
  #fx .lines tr.rule td{border-top:1px solid var(--ligne-2);padding-top:8px}
  #fx .lines tr.tot td{font-weight:650;font-size:15px}
  #fx .reading{border-left:3px solid var(--stable);background:#F0F6F4;padding:9px 11px;margin-top:9px}
  #fx .reading.bad{border-left-color:var(--ecart);background:#F9EBE7}
  #fx .reading .n{font-size:20px;font-weight:650;font-variant-numeric:tabular-nums}
  #fx .reading.bad .n{color:var(--ecart)}
  #fx .trace{margin-top:8px}

  /* composer */
  #fx .comp{margin-top:12px;background:var(--papier);border:1px solid var(--ligne);border-radius:4px;padding:10px}
  #fx .comp textarea{width:100%;border:0;font:inherit;font-size:14.5px;resize:none;outline:none;
    background:transparent;min-height:44px;color:var(--nuit)}
  #fx .comp .tools{display:flex;gap:6px;align-items:center;margin-top:6px}
  #fx .icb{appearance:none;border:1px solid var(--ligne);background:#FBFDFD;border-radius:4px;
    width:34px;height:34px;cursor:pointer;font-size:14px;line-height:1;color:var(--acier);
    transition:border-color 140ms ease-out,color 140ms ease-out}
  #fx .icb:hover{border-color:var(--nuit);color:var(--nuit)}
  #fx .icb.rec{background:var(--ecart);border-color:var(--ecart);color:#fff}
  #fx .chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
  #fx .chip{appearance:none;font:inherit;font-size:12.5px;padding:6px 11px;border-radius:20px;
    border:1px solid var(--ligne);background:var(--papier);color:var(--acier);cursor:pointer;
    transition:border-color 140ms ease-out,color 140ms ease-out}
  #fx .chip:hover{border-color:var(--nuit);color:var(--nuit)}

  /* memory */
  #fx .memrow{display:flex;justify-content:space-between;gap:8px;font-size:12.5px;padding:6px 0;
    border-bottom:1px solid var(--ligne-2)}
  #fx .memrow b{font-weight:600}
  #fx .memrow button{appearance:none;border:0;background:none;color:var(--acier);cursor:pointer;
    font:inherit;font-size:11.5px;text-decoration:underline}

  /* whatsapp */
  #fx .wa-lay{display:grid;gap:16px}
  @media(min-width:820px){#fx .wa-lay{grid-template-columns:360px 1fr;align-items:start}}
  #fx .phone{background:#0B141A;border-radius:20px;padding:10px;border:1px solid #24404C}
  #fx .wa-head{background:#1F2C33;color:#E9EDEF;padding:9px 12px;border-radius:12px 12px 0 0;
    display:flex;align-items:center;gap:9px}
  #fx .wa-av{width:30px;height:30px;border-radius:50%;background:var(--nuit);color:var(--givre);
    display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}
  #fx .wa-body{background:#0B141A;height:440px;overflow-y:auto;padding:12px 10px}
  #fx .wm{max-width:84%;margin-bottom:8px;padding:7px 10px;border-radius:8px;font-size:13.5px;
    white-space:pre-wrap;color:#E9EDEF;line-height:1.45}
  #fx .wm.them{background:#1F2C33;border-radius:8px 8px 8px 2px}
  #fx .wm.me{background:#005C4B;margin-left:auto;border-radius:8px 8px 2px 8px}
  #fx .wm .t{font-size:10px;opacity:.6;display:block;margin-top:3px;text-align:right}
  #fx .wa-in{background:#1F2C33;border-radius:0 0 12px 12px;padding:8px;display:flex;gap:6px}
  #fx .wa-in input{flex:1;background:#2A3942;border:0;border-radius:18px;padding:8px 12px;
    color:#E9EDEF;font:inherit;font-size:13.5px;outline:none}
  #fx .wa-in button{appearance:none;border:0;background:#00A884;color:#fff;border-radius:50%;
    width:34px;height:34px;cursor:pointer}

  /* ops */
  #fx table.log{width:100%;border-collapse:collapse;font-size:12.5px}
  #fx table.log th{text-align:left;font-size:11.5px;color:var(--acier);font-weight:600;
    padding:6px 8px 6px 0;border-bottom:1px solid var(--ligne)}
  #fx table.log td{padding:7px 8px 7px 0;border-bottom:1px solid var(--ligne-2);vertical-align:top}
  #fx code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11.5px;background:#F2F6F7;
    padding:1px 5px;border-radius:2px}
  #fx .kpi{display:grid;gap:10px}
  @media(min-width:620px){#fx .kpi{grid-template-columns:repeat(4,1fr)}}
  #fx .kpi .k{background:var(--papier);border:1px solid var(--ligne);border-radius:4px;padding:12px}
  #fx .kpi .kn{font-size:22px;font-weight:660;font-variant-numeric:tabular-nums}
  #fx .kpi .kl{font-size:11.5px;color:var(--acier)}
  #fx .note{background:#F8F1DF;border-left:3px solid var(--attente);padding:11px 13px;font-size:12.5px;margin-bottom:14px}
  #fx .note b{color:#8A6414}
  @media(prefers-reduced-motion:reduce){#fx *{transition:none!important}}
