/* ==========================================================================
   HADES One Universe — Cuenta: acceso, "Tu cuenta" y "Mi equipo"
   Usa los tokens de themes.css: todo se viste con el tema del universo.
   Sin backdrop-filter (equipos antiguos); solo opacidad/transform animados.
   ========================================================================== */

/* ---------- Campos ---------- */
.fld{display:grid;gap:7px;min-width:0}
.fld > span{font-size:11.5px;font-weight:600;color:var(--muted);letter-spacing:.01em}
.fld > span i{font-style:normal;color:var(--faint);font-weight:500}
.fld input,.fld select{width:100%;height:46px;padding:0 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:14px;outline:0;transition:border-color .2s,box-shadow .2s,background-color .2s}
.fld select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--faint) 50%),linear-gradient(135deg,var(--faint) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:34px}
.fld select option{background:var(--surface-solid);color:var(--text)}
.fld input::placeholder{color:var(--faint)}
.fld input:focus,.fld select:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 16%,transparent)}
.fld.is-bad input,.fld.is-bad select{border-color:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 14%,transparent)}
.fld em{font-style:normal;font-size:11.5px;color:var(--danger);min-height:0}
.fld em:empty{display:none}
.fld-pass{position:relative}
.fld-pass input{padding-right:48px}
.fld-pass button{position:absolute;right:6px;bottom:6px;width:36px;height:34px;border:0;border-radius:8px;background:transparent;color:var(--faint);display:grid;place-items:center}
.fld-pass button:hover{color:var(--text)}
.fld-pass button svg{width:18px;height:18px}
.fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.fgrid .span-2{grid-column:1/-1}
.form-alert{display:block;padding:12px 14px;border-radius:var(--radius-sm);font-size:13px;line-height:1.45;border:1px solid color-mix(in srgb,var(--danger) 40%,transparent);background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--text)}
.form-alert.is-ok{border-color:color-mix(in srgb,var(--success) 40%,transparent);background:color-mix(in srgb,var(--success) 10%,transparent)}
.form-alert.is-info{border-color:var(--border-strong);background:var(--surface-2)}
.btn-primary[disabled]{opacity:.6;pointer-events:none}
.btn-primary.is-busy span:after{content:"";display:inline-block;width:12px;height:12px;margin-left:10px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;vertical-align:-1px;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- Acceso ---------- */
.acc{min-height:calc(100vh - 70px);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(24px,5vw,80px);padding:clamp(24px,5vw,64px) clamp(16px,5vw,72px)}
.acc-copy h1{margin:16px 0 14px;font-family:var(--font-display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);text-transform:var(--display-case);font-size:clamp(38px,5.4vw,72px);line-height:.98}
.acc-copy h1 span{background:linear-gradient(100deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.acc-copy p{max-width:460px;color:var(--muted);font-size:15px;line-height:1.6}
.acc-orbit{position:relative;width:min(340px,70vw);aspect-ratio:1;margin-top:28px}
.acc-orbit span{position:absolute;inset:0;border-radius:50%;border:1px solid var(--border-strong)}
.acc-orbit span:nth-child(2){inset:16%;border-style:dashed;opacity:.7}
.acc-orbit span:nth-child(3){inset:32%;border-color:color-mix(in srgb,var(--accent) 45%,transparent)}
.acc-orbit b{position:absolute;inset:41%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,var(--accent) 45%,var(--accent-2));box-shadow:0 0 40px color-mix(in srgb,var(--accent) 60%,transparent)}
.acc-orbit i{position:absolute;left:50%;top:50%;width:12px;height:12px;margin:-6px;border-radius:50%;background:var(--accent-2);box-shadow:0 0 14px var(--accent-2);animation:acc-orb 14s linear infinite;--r:min(170px,35vw)}
.acc-orbit i:nth-of-type(2){width:8px;height:8px;margin:-4px;background:var(--accent);box-shadow:0 0 12px var(--accent);animation-duration:9s;animation-direction:reverse;--r:min(115px,24vw)}
@keyframes acc-orb{from{transform:rotate(0) translateX(var(--r))}to{transform:rotate(360deg) translateX(var(--r))}}
.fx-lite .acc-orbit i{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){.acc-orbit i{animation:none;transform:translateX(var(--r))}}

.acc-card{position:relative;padding:clamp(22px,3vw,36px);border-radius:calc(var(--radius) + 6px);border:1px solid var(--border-strong);background:var(--surface-solid);box-shadow:var(--shadow);display:grid;gap:16px}
.acc-card:before{content:"";position:absolute;left:24px;right:24px;top:-1px;height:2px;background:linear-gradient(90deg,transparent,var(--accent),var(--accent-2),transparent)}
.acc-card h2{margin:0;font-family:var(--font-display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);text-transform:var(--display-case);font-size:26px}
.acc-card > p{margin:-6px 0 0;color:var(--muted);font-size:13.5px}
.acc-card .btn-primary{width:100%}
.acc-alt{display:grid;gap:10px;padding-top:14px;border-top:1px solid var(--border);font-size:13px;color:var(--muted)}
.acc-alt a{color:var(--accent);font-weight:600;text-decoration:none}
.acc-alt a:hover{text-decoration:underline}
.acc-alt .row{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
@media (max-width:900px){.acc{grid-template-columns:1fr}.acc-orbit{display:none}.acc-copy{text-align:center}.acc-copy p{margin-inline:auto}}

/* ---------- Tu cuenta (registro) ---------- */
.reg{max-width:1180px;margin:0 auto;padding:clamp(24px,4vw,52px) clamp(16px,4vw,40px) 120px}
.reg-head h1{margin:14px 0 10px;font-family:var(--font-display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);text-transform:var(--display-case);font-size:clamp(32px,4.4vw,56px);line-height:1}
.reg-head h1 span{background:linear-gradient(100deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.reg-head p{max-width:620px;color:var(--muted);font-size:15px;line-height:1.6;margin:0}
.reg-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;margin-top:30px;align-items:start}
.reg-forms{display:grid;gap:18px}
.reg-card{padding:clamp(18px,2.4vw,28px);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-solid);display:grid;gap:18px}
.reg-card h2{margin:0;display:flex;align-items:center;gap:12px;font-size:17px;font-family:var(--font-display);font-weight:var(--display-weight);text-transform:var(--display-case)}
.reg-card h2 b{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;font-size:12px;color:var(--accent-ink);background:linear-gradient(135deg,var(--accent),var(--accent-2))}
.reg-card h2 small{margin-left:auto;font-size:11px;font-weight:500;color:var(--faint);text-transform:none;letter-spacing:0}
.reg-side{position:sticky;top:90px;display:grid;gap:14px}
.reg-sum{padding:22px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface-solid);display:grid;gap:16px;overflow:hidden;position:relative}
.reg-sum:after{content:"";position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 30%,transparent),transparent 70%);pointer-events:none}
.reg-sum h3{margin:0;font-size:12px;letter-spacing:.2em;color:var(--faint);font-weight:700}
.sum-row{display:flex;align-items:center;gap:12px}
.sum-row small{display:block;font-size:10px;letter-spacing:.18em;color:var(--faint);font-weight:700}
.sum-row b{font-size:15px}
.sum-row a{margin-left:auto;font-size:12px;color:var(--accent);font-weight:600;text-decoration:none}
.sum-swatch{width:40px;height:40px;border-radius:12px;flex:none;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 35%,transparent)}
.reg-sum .sico{--s:40px}
.sum-note{font-size:12.5px;line-height:1.55;color:var(--muted);margin:0}
.reg-sum .btn-primary{width:100%}
.reg-legal{font-size:11.5px;color:var(--faint);line-height:1.5;margin:0}
@media (max-width:980px){.reg-grid{grid-template-columns:1fr}.reg-side{position:static}}
@media (max-width:560px){.fgrid{grid-template-columns:1fr}}

/* ---------- Mi equipo ---------- */
.team{max-width:1180px;margin:0 auto;padding:clamp(24px,4vw,48px) clamp(16px,4vw,40px) 120px}
.team-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.team-head h1{margin:12px 0 8px;font-family:var(--font-display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);text-transform:var(--display-case);font-size:clamp(32px,4vw,52px);line-height:1}
.team-head p{margin:0;max-width:640px;color:var(--muted);line-height:1.6}
.team-how{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:26px 0}
.team-how div{padding:16px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);font-size:12.5px;line-height:1.5;color:var(--muted)}
.team-how b{display:block;color:var(--text);font-size:13px;margin-bottom:4px}
.team-list{display:grid;gap:10px}
.person{display:grid;grid-template-columns:minmax(200px,1.2fr) minmax(0,2fr) auto;align-items:center;gap:16px;padding:14px 16px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-solid);transition:border-color .2s}
.person:hover{border-color:var(--border-strong)}
.person.is-off{opacity:.6}
.person-id{display:flex;align-items:center;gap:12px;min-width:0}
.person-id .uni-avatar{width:40px;height:40px;font-size:15px}
.person-id b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.person-id small{display:block;font-size:11.5px;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.person-tag{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;font-size:9.5px;font-weight:700;letter-spacing:.08em;vertical-align:2px;color:var(--accent-ink);background:linear-gradient(135deg,var(--accent),var(--accent-2))}
.person-sys{display:flex;flex-wrap:wrap;gap:8px}
.sys-chip{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px 0 6px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);font-size:12px;font-weight:600;color:var(--faint);transition:border-color .2s,color .2s,background-color .2s}
.sys-chip .sico{--s:24px}
.sys-chip i{font-style:normal;width:16px;height:16px;border-radius:50%;display:grid;place-items:center;font-size:10px;border:1px solid var(--border-strong)}
.sys-chip[aria-pressed="true"]{color:var(--text);border-color:color-mix(in srgb,var(--accent) 55%,transparent);background:color-mix(in srgb,var(--accent) 12%,transparent)}
.sys-chip[aria-pressed="true"] i{border-color:transparent;color:var(--accent-ink);background:var(--accent)}
.sys-chip:disabled{cursor:default}
.sys-chip.is-req{border-style:dashed}
.person-act{display:flex;gap:8px;align-items:center}
.mini-btn{height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--border);background:transparent;font-size:12px;font-weight:600;color:var(--muted);text-decoration:none;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.mini-btn:hover{color:var(--text);border-color:var(--border-strong)}
.team-empty{padding:30px;text-align:center;color:var(--muted);border:1px dashed var(--border-strong);border-radius:var(--radius)}
.new-sys{display:flex;flex-wrap:wrap;gap:8px}
@media (max-width:900px){.person{grid-template-columns:1fr}.team-how{grid-template-columns:1fr}}

/* Panel lateral para "Nuevo integrante" (reusa .drawer de ecosystem.css) */
.drawer-panel .fgrid{margin-top:6px}
.drawer-panel form{display:grid;gap:16px}
.form-alert a{color:var(--accent);font-weight:600}.form-alert code{font-size:12px}
/* Acceso en el celular: el formulario (o el PIN / la huella) aparece casi de inmediato */
@media (max-width:900px){
  .acc{padding-top:18px;gap:18px;min-height:0}
  .acc-copy h1{font-size:clamp(30px,8.5vw,40px);margin:10px 0 6px}
  .acc-copy p{display:none}
}
/* Mi equipo · nuevo usuario (mismos datos que el ERP) */
.d-note{margin:4px 0 2px;font-size:12.5px;color:var(--muted);line-height:1.5}
.av-pick{display:flex;flex-wrap:wrap;gap:6px}
.av-pick button,.av-up{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;border:1px solid var(--border);background:var(--surface-2);font-size:20px;cursor:pointer;position:relative;transition:border-color .15s,transform .15s}
.av-pick button[aria-checked="true"]{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent);transform:scale(1.06)}
.av-up input{position:absolute;inset:0;opacity:0;cursor:pointer}
.av-up.is-on{border-color:var(--accent)}
.fld-hint{font-size:11.5px;color:var(--faint);line-height:1.4}
.sa-check{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);cursor:pointer}
.sa-check input{width:18px;height:18px;margin-top:2px;accent-color:var(--accent)}
.sa-check b{display:block;font-size:13.5px}
.sa-check small{display:block;font-size:12px;color:var(--muted);margin-top:2px}
#newSysWrap.is-off{opacity:.45;pointer-events:none}
.drawer-panel{overflow-y:auto}
.person-id .uni-avatar.is-emoji{background:var(--surface-2);font-size:20px}
.sum-steps{margin:0;padding:0 0 0 18px;display:grid;gap:6px;font-size:12.5px;color:var(--muted)}.sum-steps li.is-on{color:var(--text);font-weight:700}
/* Rol por sistema (BEAUTY: Recepción / Profesional / Administrador) */
.sys-chip-wrap{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
.sys-rol{height:32px;padding:0 28px 0 10px;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);font:inherit;font-size:12px;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--faint) 50%),linear-gradient(135deg,var(--faint) 50%,transparent 50%);background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%;background-size:5px 5px;background-repeat:no-repeat}
.sys-rol option{background:var(--surface-solid);color:var(--text)}
.new-roles{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:10px}
.new-roles[hidden]{display:none}
