/* SANEX · Base del design system. Paleta tomada del logo: naranja #FD7803, negro, blanco. */

[data-theme="light"] {
  --bg-primary:#FFFFFF; --bg-secondary:#F4F5F7; --bg-tertiary:#EAECF0;
  --text-primary:#0D0D0D; --text-secondary:#4A4A5A; --text-muted:#8A8A9A;
  --border:#D0D3DA; --surface:#FFFFFF;
  --accent:#E56A00; --accent-hover:#C25700; --accent-text:#FFFFFF; --accent-raw:#FD7803;
  --danger:#C0392B; --success:#1A7A4A; --warning:#B8650A;
  --shadow:rgba(0,0,0,.08);
}
[data-theme="dark"] {
  --bg-primary:#0E0F13; --bg-secondary:#16181F; --bg-tertiary:#1E2028;
  --text-primary:#F0F0F5; --text-secondary:#A0A3B1; --text-muted:#6C6F7E;
  --border:#2A2D3A; --surface:#16181F;
  --accent:#FD7803; --accent-hover:#E56A00; --accent-text:#0D0D0D; --accent-raw:#FD7803;
  --danger:#E05252; --success:#3DBE7A; --warning:#E8900A;
  --shadow:rgba(0,0,0,.4);
}

*,*::before,*::after{
  box-sizing:border-box;
  -webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;
  -webkit-tap-highlight-color:transparent;
}
input,textarea,select,[contenteditable="true"]{-webkit-user-select:text;user-select:text;}

body{
  margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.6;
  background:var(--bg-secondary);color:var(--text-primary);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-weight:600;margin:0;}
button{cursor:pointer;font-family:inherit;}

.label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:600;}

/* ── Login ─────────────────────────────────────────────────────────────── */
.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;}
.auth-card{
  width:100%;max-width:400px;background:var(--bg-primary);
  border:1px solid var(--border);border-radius:18px;
  padding:2.25rem 1.75rem;box-shadow:0 18px 50px var(--shadow);
  position:relative;overflow:hidden;
}
/* barra naranja asimétrica: identidad del logo */
.auth-card::before{
  content:'';position:absolute;top:0;left:0;width:38%;height:4px;background:var(--accent-raw);
}
.auth-logo{display:block;width:86px;height:86px;margin:0 auto .9rem;border-radius:50%;}
.auth-title{text-align:center;font-size:22px;letter-spacing:-.01em;}
.auth-sub{text-align:center;color:var(--text-muted);font-size:13px;margin:.15rem 0 1.75rem;}

.campo{margin-bottom:1rem;}
.campo label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.06em;
  color:var(--text-muted);font-weight:600;margin-bottom:.35rem;}
.campo input{
  width:100%;padding:.7rem .85rem;font-size:15px;font-family:inherit;
  background:var(--bg-secondary);color:var(--text-primary);
  border:1px solid var(--border);border-radius:10px;outline:none;transition:border-color .15s;
}
.campo input:focus{border-color:var(--accent);}
.pass-wrap{position:relative;}
.pass-wrap input{padding-right:2.75rem;}
.toggle-pass{
  position:absolute;right:.5rem;top:50%;transform:translateY(-50%);
  background:none;border:none;color:var(--text-muted);padding:.4rem;
  display:flex;align-items:center;min-width:36px;min-height:36px;justify-content:center;
}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.8rem 1.1rem;border-radius:10px;border:1px solid transparent;
  font-size:15px;font-weight:500;min-height:44px;
}
.btn-primary{background:var(--accent);color:var(--accent-text);width:100%;}
.btn-primary:hover{background:var(--accent-hover);}
.btn-primary:disabled{opacity:.6;cursor:not-allowed;}
.btn-ghost{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border);}

.theme-toggle{
  position:fixed;top:14px;right:14px;z-index:50;
  width:44px;height:44px;border-radius:12px;
  background:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary);
  display:flex;align-items:center;justify-content:center;
}

/* ── Panel de sesión (Fase 1) ──────────────────────────────────────────── */
.panel{max-width:900px;margin:0 auto;padding:2rem 1.5rem;}
.panel-head{
  display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;
  padding-bottom:1.25rem;border-bottom:1px solid var(--border);margin-bottom:1.5rem;
}
.panel-head img{width:52px;height:52px;border-radius:50%;}
.chip{
  display:inline-block;padding:.25rem .65rem;border-radius:999px;font-size:12px;font-weight:600;
  background:var(--accent);color:var(--accent-text);letter-spacing:.02em;
}
.mods{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));}
.mod{
  background:var(--bg-primary);border:1px solid var(--border);border-radius:12px;
  padding:.9rem 1rem;border-left:3px solid var(--accent-raw);
}
.mod h4{font-size:15px;margin-bottom:.2rem;}
.mod span{font-size:12px;color:var(--text-muted);}

/* ── Toast (nunca alert) ───────────────────────────────────────────────── */
.toast{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%);
  padding:.75rem 1.25rem;border-radius:10px;font-size:14px;color:#fff;
  z-index:9999;max-width:90vw;box-shadow:0 8px 24px rgba(0,0,0,.3);
}
.toast-error{background:var(--danger);}
.toast-success{background:var(--success);}
.toast-warning{background:var(--warning);}

@media (max-width:768px){
  .panel{padding:1.25rem 1rem;}
  .auth-card{padding:1.75rem 1.25rem;}
}
