/* TD Logistics — Admin: rates, route management, roles */

  .a-head{display:flex;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}

  /* sub-nav (mirrors the dashboard subnav language) */
  .a-subnav{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:22px;flex-wrap:wrap}
  .a-subnav button{position:relative;background:transparent;border:0;color:var(--slate);
    font-family:var(--mono);font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;
    padding:11px 16px;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .18s,border-color .18s}
  .a-subnav button:hover{color:var(--parchment)}
  .a-subnav button.on{color:var(--gold);border-bottom-color:var(--gold)}

  .a-panel[hidden]{display:none}
  .a-panel{animation:fade .3s ease}

  /* ---- shared fields ---- */
  .a-fields{display:flex;flex-direction:column;gap:14px}
  .a-f{display:flex;flex-direction:column;gap:7px}
  .a-f>span{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--slate)}
  .a-f>i{font-family:var(--mono);font-size:.62rem;color:var(--slate-dim);font-style:normal}
  .a-in{width:100%;background:var(--void2);border:1px solid var(--line);border-radius:5px;color:var(--parchment);
    font-family:var(--mono);font-size:.9rem;padding:10px 12px;transition:border-color .18s}
  .a-in:focus{outline:none;border-color:var(--gold-dim)}
  .a-note{font-size:.78rem;color:var(--slate);line-height:1.5}
  .a-note b{color:var(--parchment);font-weight:500}

  .a-grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
  .a-col{display:flex;flex-direction:column;gap:18px}

  /* live price preview card */
  .a-preview{padding:20px 22px}
  .a-pv-h{font-family:var(--mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
  .a-pv-sub{font-family:var(--mono);font-size:.72rem;color:var(--slate);margin:6px 0 14px}
  .a-pv-row{display:flex;align-items:baseline;justify-content:space-between;padding:9px 0;border-top:1px solid var(--line-soft)}
  .a-pv-row span{font-family:var(--mono);font-size:.76rem;color:var(--slate)}
  .a-pv-row b{font-family:var(--display);font-size:1.15rem;color:var(--parchment)}
  .a-pv-row b.hot{color:var(--gold)}

  /* ---- save bar ---- */
  .a-savebar{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}
  .a-save{background:var(--gold);color:var(--void);font-family:var(--mono);font-size:.76rem;font-weight:600;
    letter-spacing:.06em;text-transform:uppercase;border:0;border-radius:4px;padding:11px 22px;transition:background .2s,box-shadow .2s}
  .a-save:hover{background:var(--gold-bright);box-shadow:0 0 18px rgba(212,175,55,.35)}
  .a-reset{background:transparent;color:var(--slate);font-family:var(--mono);font-size:.74rem;letter-spacing:.06em;
    text-transform:uppercase;border:1px solid var(--line);border-radius:4px;padding:11px 18px;transition:color .18s,border-color .18s}
  .a-reset:hover{color:var(--parchment);border-color:var(--slate-dim)}

  /* ---- route management ---- */
  .a-rsec{margin-bottom:26px}
  .a-rsec-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}
  .a-rsec-head .blk{margin:0}
  .a-count{font-family:var(--mono);font-size:.68rem;color:var(--gold);border:1px solid var(--gold-dim);
    border-radius:999px;min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0 7px}
  .a-route{background:linear-gradient(180deg,var(--panel),var(--midnight));border:1px solid var(--line);
    border-radius:8px;padding:16px 18px;margin-bottom:12px}
  .a-route-top{display:flex;align-items:center;gap:12px;margin-bottom:14px}
  .a-route-name{flex:1;font-family:var(--display);font-size:.98rem;color:var(--parchment);
    background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:6px 2px}
  .a-route-name:focus{border-bottom-color:var(--gold-dim)}
  .a-route-arr{flex:0 0 auto;font-family:var(--mono);color:var(--gold-dim)}
  .a-del{flex:0 0 auto;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;
    background:transparent;border:1px solid var(--line);border-radius:5px;color:var(--slate-dim);transition:all .18s}
  .a-del svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .a-del:hover{color:var(--oxblood);border-color:var(--oxblood);background:rgba(94,22,34,.18)}
  .a-route-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}
  .a-rf{display:flex;flex-direction:column;gap:6px}
  .a-rf>span{font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--slate)}
  .a-rf-wide{grid-column:1/-1}
  .a-add{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--gold);
    font-family:var(--mono);font-size:.74rem;letter-spacing:.05em;text-transform:uppercase;
    border:1px dashed var(--gold-dim);border-radius:5px;padding:10px 16px;transition:background .18s,border-color .18s}
  .a-add svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}
  .a-add:hover{background:rgba(212,175,55,.08);border-color:var(--gold)}
  .a-empty{color:var(--slate);font-size:.84rem;padding:10px 2px 14px}

  /* ---- pricing sections: collateral bands + fees + surcharge (shared by HS card and route cards) ---- */
  .a-pblock{border-top:1px solid var(--line-soft);margin-top:16px;padding-top:14px}
  .a-pblock-first{border-top:0;margin-top:12px;padding-top:0}
  .a-sub-h{font-family:var(--mono);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);
    display:flex;align-items:center;gap:10px;margin-bottom:10px}
  .a-sub-tag{font-family:var(--mono);font-size:.5rem;letter-spacing:.1em;color:var(--slate);border:1px solid var(--line);
    border-radius:3px;padding:1px 6px;text-transform:uppercase}
  .a-sub-h .a-tieradd{margin-left:auto}
  .a-fees{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
  .a-sur{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
  .a-surseg{display:flex;border:1px solid var(--line);border-radius:5px;overflow:hidden;height:39px;flex:0 0 auto}
  .a-surseg button{background:var(--void2);color:var(--slate);font-family:var(--mono);font-size:.68rem;
    padding:0 12px;border:0;border-right:1px solid var(--line);text-transform:uppercase;letter-spacing:.04em}
  .a-surseg button:last-child{border-right:0}
  .a-surseg button.on{background:rgba(212,175,55,.14);color:var(--gold)}
  .a-rf-grow{flex:1 1 150px}
  /* collateral → ISK/m³ band rows */
  .a-bands{display:flex;flex-direction:column;gap:8px}
  .a-band{display:flex;align-items:flex-end;gap:8px}
  .a-band .a-rf{flex:1;min-width:0}
  .a-band-op{font-family:var(--mono);color:var(--slate);font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;
    padding-bottom:11px;flex:0 0 74px;white-space:nowrap}
  .a-band-arr{font-family:var(--mono);color:var(--slate-dim);font-size:.9rem;padding-bottom:9px;flex:0 0 auto}
  .a-band-del{width:34px;height:39px;flex:0 0 auto}
  .a-band-del svg{width:15px;height:15px}
  .a-band-spacer{width:34px;flex:0 0 auto}
  .a-band-ca{border-top:1px dashed var(--line-soft);padding-top:10px;margin-top:2px}
  .a-band-ca .a-band-op{color:var(--gold)}
  .a-tier-note{font-family:var(--mono);font-size:.62rem;color:var(--slate-dim);line-height:1.5;margin-top:9px}
  .a-tieradd{display:inline-flex;align-items:center;gap:6px;background:transparent;color:var(--gold);
    font-family:var(--mono);font-size:.6rem;letter-spacing:.04em;text-transform:uppercase;
    border:1px dashed var(--gold-dim);border-radius:4px;padding:5px 10px}
  .a-tieradd svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}
  .a-tieradd:hover{background:rgba(212,175,55,.08);border-color:var(--gold)}

  /* ---- roles ---- */
  .a-roles-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:6px}
  .a-role-counts{display:flex;gap:8px;flex-wrap:wrap}
  .a-rc{font-family:var(--mono);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;
    padding:3px 9px;border-radius:999px;border:1px solid}
  .a-rc-admin{color:var(--oxblood);border-color:var(--oxblood)}
  .a-rc-director{color:var(--gold);border-color:var(--gold-dim)}
  .a-rc-hauler{color:var(--slate);border-color:var(--line)}
  .a-tablewrap{overflow-x:auto;margin-top:8px}
  .a-nm{color:var(--parchment);font-weight:500}
  .a-corp{font-family:var(--mono);color:var(--gold);font-size:.7rem;letter-spacing:.06em}
  .a-you{font-family:var(--mono);font-size:.54rem;letter-spacing:.1em;text-transform:uppercase;color:var(--void);
    background:var(--gold);border-radius:3px;padding:1px 6px;vertical-align:middle}
  .a-role{background:var(--void2);border:1px solid var(--line);border-radius:5px;color:var(--parchment);
    font-family:var(--mono);font-size:.8rem;padding:7px 10px;min-width:120px;transition:border-color .3s,box-shadow .3s}
  .a-role:focus{outline:none;border-color:var(--gold-dim)}
  .a-role.saved{border-color:var(--emerald);box-shadow:0 0 0 1px var(--emerald),0 0 14px rgba(78,163,107,.35)}
  .a-role:disabled{opacity:.5;cursor:not-allowed}
  /* why a row isn't editable, or where its role actually comes from (in-game corp role, .env, ...) */
  .a-rnote{display:inline-block;margin-top:3px;font-family:var(--mono);font-size:.62rem;
    letter-spacing:.05em;color:var(--slate)}
  .a-role:disabled+.a-rnote{margin-left:8px;margin-top:0;vertical-align:middle}
  .a-err{color:var(--oxblood)}

  /* ---- toast ---- */
  .a-toast{position:fixed;left:50%;bottom:78px;transform:translateX(-50%);z-index:90;
    display:inline-flex;align-items:center;gap:9px;background:rgba(8,12,24,.96);border:1px solid var(--emerald);
    border-radius:6px;padding:11px 18px;color:var(--parchment);font-size:.84rem;
    box-shadow:0 10px 34px rgba(0,0,0,.5);animation:a-toast-in .3s ease, a-toast-out .4s ease 2.2s backwards}
  .a-toast svg{width:16px;height:16px;stroke:var(--emerald);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
  @keyframes a-toast-in{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}
  @keyframes a-toast-out{to{opacity:0;transform:translate(-50%,10px)}}

  @media(max-width:860px){
    .a-grid2{grid-template-columns:1fr}
  }
