/* ===========================================================================
   agent-dock.css — the sitewide agent queue dock (see agent-dock.js).
   Loaded on every page. Tokens fall back to the canonical palette so it looks
   right even on a page that somehow didn't declare them.
   =========================================================================== */

@keyframes agpulse{0%,100%{opacity:1}50%{opacity:.25}}
@keyframes spfadRing{0%,100%{box-shadow:0 30px 80px -24px rgba(0,0,0,.7),0 0 0 1px rgba(147,165,255,.05),0 0 0 0 rgba(37,99,235,.5)}
  50%{box-shadow:0 30px 80px -24px rgba(0,0,0,.7),0 0 0 1px rgba(147,165,255,.05),0 0 0 8px rgba(37,99,235,.25)}}

.ag-dock{
  position:fixed;right:18px;bottom:18px;z-index:2147481500;width:330px;max-width:calc(100vw - 36px);
  display:flex;flex-direction:column;max-height:min(72vh,560px);
  font-family:'Hanken Grotesk',system-ui,sans-serif;
  background:linear-gradient(180deg,var(--surface-2,#171122),var(--surface,#120d1e));
  border:1px solid rgba(37,99,235,.4);border-radius:16px;overflow:hidden;
  box-shadow:0 30px 80px -24px rgba(0,0,0,.7),0 0 0 1px rgba(147,165,255,.05),0 0 52px -26px rgba(37,99,235,.55)}
.ag-dock.ringing{border-color:rgba(37,99,235,.75);animation:spfadRing 1.3s ease-in-out infinite}

.ag-dock__head{display:flex;align-items:center;gap:10px;padding:11px 12px 11px 14px;border-bottom:1px solid var(--line,rgba(37,99,235,.09));background:rgba(37,99,235,.06);flex:0 0 auto}
.ag-dock__title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13px;letter-spacing:-.005em;color:var(--ink,#ECE7F7);flex:1;min-width:0}
.ag-dock__title .dot{width:8px;height:8px;border-radius:50%;background:#34D399;flex:0 0 auto;box-shadow:0 0 10px rgba(52,211,153,.8);animation:agpulse 1.6s infinite}
.ag-dock__min{width:26px;height:26px;border-radius:8px;border:1px solid var(--glass-brd,rgba(37,99,235,.16));background:rgba(255,255,255,.03);color:var(--muted,#9A8CB8);cursor:pointer;display:grid;place-items:center;flex:0 0 auto;transition:color .15s,border-color .15s}
.ag-dock__min:hover{color:var(--ink,#ECE7F7);border-color:rgba(37,99,235,.5)}
.ag-dock__min svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
.ag-dock.min .ag-dock__min svg{transform:rotate(180deg)}
.ag-dock__body{flex:1 1 auto;overflow-y:auto;padding:12px 14px 8px;min-height:0}
.ag-dock.min{max-height:none}
.ag-dock.min .ag-dock__body,.ag-dock.min .ag-dock__foot{display:none}
.ag-dock__foot{position:relative;flex:0 0 auto;border-top:1px solid var(--line,rgba(37,99,235,.09))}
.ag-dock__more{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 0;background:none;border:0;cursor:pointer;font:inherit;font-weight:600;font-size:12px;color:var(--muted,#9A8CB8);transition:color .15s}
.ag-dock__more:hover{color:var(--ink,#ECE7F7)}
.ag-dock__morecar{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
.ag-dock.stats .ag-dock__morecar{transform:rotate(180deg)}
.ag-dock__stats{position:absolute;left:8px;right:8px;bottom:calc(100% + 8px);padding:14px 15px;border-radius:13px;
  background:linear-gradient(180deg,#1b1430,#120d1f);border:1px solid rgba(37,99,235,.35);
  box-shadow:0 24px 60px -18px rgba(0,0,0,.8),0 0 0 1px rgba(147,165,255,.05);
  opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease,visibility .18s}
.ag-dock__foot:hover .ag-dock__stats,.ag-dock__foot:focus-within .ag-dock__stats,.ag-dock.stats .ag-dock__stats{opacity:1;visibility:visible;transform:none}
.ag-dock__stats-h{font:inherit;font-weight:600;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint,#6B5E85);margin-bottom:8px}
.ag-dock__stat{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:7px 0}
.ag-dock__stat span{font:inherit;font-size:13px;color:var(--muted,#9A8CB8)}
.ag-dock__stat + .ag-dock__stat{border-top:1px solid var(--line,rgba(37,99,235,.09))}
.ag-dock__stat b{font:inherit;font-size:18px;font-weight:700;color:var(--ink,#ECE7F7);font-variant-numeric:tabular-nums;line-height:1}
.ag-dock__stat.hot b{color:var(--warn,#FBBF24)}
.ag-dock__roster{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;padding-top:11px;border-top:1px solid var(--line,rgba(37,99,235,.09))}
.ag-dock__empty{font:inherit;font-size:12px;color:var(--faint,#6B5E85);padding:5px 0}

.ag-dock .agsec{margin-top:10px}
.ag-dock .agsec h3{font:inherit;font-weight:700;font-size:12px;color:var(--muted,#9A8CB8);margin-bottom:8px}
.ag-dock .agrow{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;padding:8px 10px;border:1px solid var(--glass-brd,rgba(37,99,235,.16));border-radius:var(--r-sm,11px);background:var(--surface,rgba(15,10,26,.55));margin-bottom:7px}
.ag-dock .agrow.mine{border-color:rgba(52,211,153,.5);background:rgba(52,211,153,.06)}
.ag-dock .agrow .agnum{font-family:'Space Grotesk',sans-serif;font-size:13px}
.ag-dock .agrow .agwait{font-size:12px;color:var(--faint,#6B5E85);flex:1 0 auto}
.ag-dock .agrow .agass{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted,#9A8CB8)}
.ag-dock .agrow .unclaimed{color:var(--faint,#6B5E85);font-style:italic}
.ag-dock .agrow.dead{opacity:.72;border-style:dashed}
.ag-dock .agrow .agass b{color:var(--ink,#ECE7F7);font-weight:600}
.ag-dock .live-dot{width:8px;height:8px;border-radius:50%;background:var(--ok,#34D399);flex:0 0 auto;box-shadow:0 0 0 3px rgba(52,211,153,.18);animation:spfadPulse 2s ease-in-out infinite}
@keyframes spfadPulse{0%,100%{box-shadow:0 0 0 3px rgba(52,211,153,.18)}50%{box-shadow:0 0 0 5px rgba(52,211,153,.05)}}
.ag-dock .aglive-time{font-family:'Space Grotesk',sans-serif;font-size:12px;font-weight:600;color:var(--ok,#34D399);flex:0 0 auto;margin-left:auto}
.ag-dock .agsec-dead h3{color:var(--faint,#6B5E85)}
.ag-dock .ag-inc{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;padding:10px 12px;border-radius:12px;background:rgba(37,99,235,.14);border:1px solid rgba(37,99,235,.4);margin-bottom:12px;font-size:13.5px}
.ag-dock .ag-inc.live{background:rgba(52,211,153,.12);border-color:rgba(52,211,153,.4)}
.ag-dock .ag-inc span{color:var(--muted,#9A8CB8);flex:1}
.ag-dock .ag-xfer{display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:100%;margin-top:4px;font-size:12.5px;color:var(--muted,#9A8CB8)}
.ag-dock .ag-xfer select{max-width:200px;font:inherit;font-size:12.5px;color:#1a1a2e;background:#fff;border:0;border-radius:8px;padding:5px 8px}
.ag-dock .ag-xfer-pick{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

.agpf{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;overflow:hidden;background:linear-gradient(140deg,#2563EB,#4F46E5);color:#fff;font-size:11px;font-weight:700;flex:0 0 auto}
.agpf img{width:100%;height:100%;object-fit:cover}

/* the dock's own buttons — self-contained so it doesn't depend on a page's .btn */
.ag-dock .btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;font:inherit;font-weight:600;font-size:12.5px;
  padding:6px 12px;border-radius:9px;cursor:pointer;border:1px solid transparent;white-space:nowrap;
  color:#fff;background:linear-gradient(135deg,#2563EB,#1D4ED8);transition:transform .14s ease,background .14s ease,border-color .14s ease}
.ag-dock .btn:hover{transform:translateY(-1px)}
.ag-dock .btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.ag-dock .btn.ghost{background:rgba(37,99,235,.08);color:var(--ink,#ECE7F7);border-color:var(--glass-brd,rgba(37,99,235,.16))}
.ag-dock .btn.ghost:hover{background:rgba(37,99,235,.16)}
.ag-dock .btn.danger{background:rgba(248,113,113,.12);color:#F87171;border-color:rgba(248,113,113,.4)}
.ag-dock .btn.danger:hover{background:rgba(248,113,113,.2)}
.ag-dock .btn.sm{padding:5px 10px;font-size:12px}

/* .tgl-mini (the shift on/off switch in the dock header) now lives in
   base.css, shared with every other toggle on the site instead of its own
   one-off grey/green version. */

.spfad-toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%) translateY(20px);z-index:2147481600;
  padding:11px 18px;border-radius:11px;font-family:'Hanken Grotesk',system-ui,sans-serif;font-size:13.5px;
  background:rgba(14,9,24,.97);border:1px solid var(--glass-brd,rgba(37,99,235,.16));color:var(--ink,#ECE7F7);
  box-shadow:0 20px 50px -20px rgba(0,0,0,.7);opacity:0;transition:.25s;pointer-events:none;max-width:90vw;text-align:center}
.spfad-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.spfad-toast.err{border-color:rgba(248,113,113,.5)}
.spfad-toast.ok{border-color:rgba(52,211,153,.45)}

@media(max-width:640px){ .ag-dock{right:10px;left:10px;bottom:10px;width:auto;max-width:none} }
@media(prefers-reduced-motion:reduce){ .ag-dock.ringing{animation:none} .ag-dock__title .dot{animation:none} }
