:root{--bg:#0d0d0d;--card:#181818;--y:#FFD100;--text:#f5f5f5;--muted:#aaa}
*{box-sizing:border-box}body{font-family:Inter,system-ui,Arial,sans-serif;background:var(--bg);color:var(--text);margin:0}header{height:69px;padding:12px min(4vw,34px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #282828;background:#0a0a0a}.brand{display:flex;align-items:center;gap:12px}.brand strong{font-size:23px;color:var(--y);letter-spacing:1px}.brand small{display:block;color:#8c8c8c;font-size:10px;letter-spacing:2px}.moto{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;background:var(--y);font-size:22px}main{max-width:1250px;margin:28px auto;padding:0 18px}.hidden{display:none!important}h2{margin:0 0 14px;font-size:21px}p{line-height:1.5;color:#c1c1c1}.muted{color:#919191;font-size:12px}.box{padding:20px;background:var(--card);border:1px solid #2a2a2a;border-radius:18px;margin-bottom:18px}#login{max-width:450px;margin:9vh auto}label{display:block;color:#dedede;font-weight:700;font-size:12px;margin:13px 0 9px}input{background:#101010;color:#fff;border:1px solid #424242;border-radius:12px;padding:13px 12px;width:100%;margin-top:5px;outline:none}input:focus{border-color:var(--y)}button{border:1px solid #484848;background:#262626;color:#fff;border-radius:12px;padding:10px 15px;font-size:11px;font-weight:900;cursor:pointer}button:hover{filter:brightness(1.15)}button.gold{background:var(--y);border-color:var(--y);color:#111}.quiet{background:transparent}#loginBtn,#createBtn{width:100%;padding:15px;margin-top:12px}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.stat{border:1px solid #393000;background:linear-gradient(145deg,#211d00,#121212);padding:18px;border-radius:16px}.stat b{display:block;color:var(--y);font-size:26px}.stat span{font-size:11px;color:#b7b7b7}.layout{display:grid;grid-template-columns:350px minmax(0,1fr);gap:18px}.tablewrap{width:100%;overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;color:#999;background:#111;padding:11px;white-space:nowrap}td{border-top:1px solid #303030;padding:10px;vertical-align:middle}td.actions{min-width:238px}td.actions button{font-size:9px;padding:7px 8px;margin:2px}.badge{padding:4px 7px;border-radius:7px;font-size:10px;font-weight:900;background:#3a3100;color:var(--y)}.badge.BANNED,.badge.SUSPENDED{background:#300d0d;color:#ff9595}.badge.ACTIVE{background:#10351c;color:#92e8a3}.heading{display:flex;align-items:center;justify-content:space-between}.credentials{margin-top:14px;background:#312400;border:2px solid var(--y);border-radius:14px;padding:14px}.credentials b{color:var(--y);font-size:21px}.credentials strong{font-size:11px;color:#fff}dialog{background:#191919;color:white;border:1px solid #505050;border-radius:18px;padding:22px;width:min(94vw,460px)}dialog::backdrop{background:#000b}.buttons{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#252525;border:1px solid #6b5a00;border-radius:13px;padding:15px 23px;color:#fff;box-shadow:0 12px 35px #0007;z-index:200;max-width:90vw}@media(max-width:850px){.layout{grid-template-columns:1fr}.summary{grid-template-columns:1fr 1fr}.box{padding:14px}}

/* Conexión / diagnóstico de funciones */
.diagbox{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:1302px;margin:0 auto 18px;padding:13px 18px;border:1px solid #4e4200;border-radius:16px;background:#151300}
.diagbox b{display:block;color:#ffd100;font-size:12px}.diagbox span{display:block;color:#ddd;font-size:12px;line-height:1.35;margin-top:5px;overflow-wrap:anywhere}
.diagbox button{white-space:nowrap;background:#ffd100;color:#111;border:0;border-radius:11px;padding:11px 15px;font-weight:900;cursor:pointer}
.diagbox .ok{color:#71dfa0}.diagbox .bad{color:#ff9b9b}
@media(max-width:700px){.diagbox{flex-direction:column;align-items:stretch}.diagbox button{width:100%}}

/* v2 — pasajeros y baja segura */
.archiveToggle{display:flex;align-items:center;gap:8px;margin:10px 0;font-weight:750}
.archiveToggle input{width:16px;height:16px;margin:0;accent-color:#ffd100}
.actions .danger{border-color:#914747;background:#381818;color:#ffb1b1}
#passengerAccounts .tablewrap{max-height:420px;overflow:auto}
#passengerAccounts tbody tr:nth-child(odd){background:#141414}
#passengerAccounts input{margin:6px 0 13px}
