/* ═══════════════════════════════════════════════════════
   auth.css — Masix BMS v4  Login + Register shared styles
   ═══════════════════════════════════════════════════════ */
/* theme: core/variables.css */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
body{font-family:var(--fb);background:var(--bg);color:var(--t1);min-height:100vh;-webkit-font-smoothing:antialiased;}
::-webkit-scrollbar{width:4px;} ::-webkit-scrollbar-thumb{background:var(--t3);border-radius:99px;}

.auth-body{overflow:hidden;}
.auth-bg{position:fixed;inset:0;z-index:0;background:linear-gradient(160deg,#0A1D2C 0%,#102940 50%,#0A1D2C 100%);}
.auth-bg-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(87,70,175,0.08) 1px,transparent 1px),linear-gradient(90deg,rgba(87,70,175,0.08) 1px,transparent 1px);background-size:50px 50px;opacity:0.6;}
.particle-canvas{position:absolute;inset:0;width:100%;height:100%;}

/* ── LAYOUT ── */
.auth-layout{position:relative;z-index:1;display:flex;min-height:100vh;}
.register-layout .auth-right{overflow-y:auto;}
.auth-left{flex:0 0 400px;padding:2.5rem;display:flex;flex-direction:column;gap:1.75rem;border-right:1px solid var(--border);background:#0B151D;backdrop-filter:var(--blur);}
.auth-right{flex:1;display:flex;align-items:flex-start;justify-content:center;padding:2rem;background:#0A1D2C;backdrop-filter:blur(10px);}
.register-layout .auth-right{align-items:flex-start;padding:2rem 2rem;}

.auth-logo{display:flex;align-items:center;gap:10px;text-decoration:none;}
.logo-hex{font-size:1.7rem;color:var(--cyan);}
.logo-name{font-family:var(--fh);font-size:1.1rem;font-weight:800;color:var(--t0);letter-spacing:0.1em;}
.logo-sub{font-size:0.58rem;color:var(--t2);letter-spacing:0.18em;font-family:var(--fm);}
.auth-tagline h2{font-family:var(--fh);font-weight:700;font-size:1.7rem;color:var(--t0);line-height:1.2;margin-bottom:0.5rem;}
.auth-tagline p{font-size:0.85rem;color:var(--t2);line-height:1.65;}

/* Steps (register page) */
.auth-steps{display:flex;flex-direction:column;gap:10px;margin-top:0.5rem;}
.step{display:flex;align-items:flex-start;gap:10px;opacity:0.5;}
.step.active{opacity:1;}
.step-num{width:24px;height:24px;border-radius:50%;background:rgba(87,70,175,0.15);border:1px solid rgba(87,70,175,0.3);color:var(--cyan);font-family:var(--fm);font-size:0.72rem;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
.step.active .step-num{background:rgba(87,70,175,0.25);box-shadow:0 0 10px rgba(87,70,175,0.2);}
.step-text{font-size:0.8rem;color:var(--t2);line-height:1.5;}
.step.active .step-text{color:var(--t1);}

/* Status pills */
.auth-status{display:flex;align-items:center;gap:7px;font-size:0.78rem;color:var(--green);font-family:var(--fm);}
.auth-status-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 7px var(--green);animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.5}}

.auth-back-link{display:flex;align-items:center;gap:6px;font-size:0.82rem;color:var(--t2);text-decoration:none;transition:color 0.2s;margin-top:auto;}
.auth-back-link:hover{color:var(--cyan);}

/* ── CARD ── */
.auth-card{width:100%;max-width:580px;background:var(--glass-hi);border:1px solid var(--border-lit);border-radius:20px;padding:2.25rem;box-shadow:0 12px 40px rgba(0,100,150,0.1);}
.auth-card-header{margin-bottom:1.5rem;}
.auth-card-header h1{font-family:var(--fh);font-weight:800;font-size:1.6rem;color:var(--t0);margin-bottom:4px;}
.auth-card-header p{font-size:0.85rem;color:var(--t2);}

/* ── FORM ── */
.auth-form{display:flex;flex-direction:column;gap:1rem;}
.form-section-label{font-family:var(--fm);font-size:0.65rem;letter-spacing:0.15em;color:var(--cyan);padding:0 2px;}
.form-divider{height:1px;background:var(--border);margin:0.25rem 0;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.field-group{display:flex;flex-direction:column;gap:5px;}
.field-group label{font-size:0.74rem;color:var(--t2);display:flex;align-items:center;gap:5px;}
.field-group label i{color:var(--cyan);font-size:0.68rem;}
.field-group input,.field-group select{background:#102940;border:1px solid var(--border);border-radius:8px;color:var(--t0);font-family:var(--fb);font-size:0.875rem;padding:9px 13px;outline:none;transition:border-color 0.2s,box-shadow 0.2s;width:100%;}
.field-group input::placeholder{color:var(--t3);}
.field-group input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(87,70,175,0.1);}
.pw-wrap{position:relative;}
.pw-wrap input{padding-right:40px;}
.pw-eye{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--t3);transition:color 0.2s;}
.pw-eye:hover{color:var(--cyan);}

/* Role tabs */
.role-tabs{display:flex;gap:4px;background:#0A1D2C;border-radius:10px;padding:4px;margin-bottom:0.5rem;border:1px solid var(--border);}
.role-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border-radius:8px;border:none;background:transparent;color:var(--t2);font-family:var(--fb);font-size:0.8rem;cursor:pointer;transition:all 0.2s;}
.role-tab.active{background:#102940;color:var(--cyan);box-shadow:0 2px 8px rgba(0,100,150,0.08);}

/* Messages */
.form-msg{padding:10px 14px;border-radius:8px;font-size:0.82rem;display:flex;align-items:center;gap:8px;}
.form-msg.error  {background:rgba(255,56,56,0.1); border:1px solid rgba(255,56,56,0.3); color:var(--red);}
.form-msg.success{background:rgba(0,232,122,0.1); border:1px solid rgba(0,232,122,0.3); color:var(--green);}

/* Submit button */
.btn-auth{width:100%;padding:13px;background:var(--cyan);color:#271F3F;font-family:var(--fh);font-weight:800;font-size:0.95rem;letter-spacing:0.04em;border:none;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all 0.2s;margin-top:0.25rem;}
.btn-auth:hover:not(:disabled){background:#E2DDFE;box-shadow:0 0 24px rgba(87,70,175,0.3);}
.btn-auth:disabled{opacity:0.5;cursor:not-allowed;}
.btn-auth-text,.btn-auth-spinner{display:flex;align-items:center;gap:8px;}

.auth-footer-note{margin-top:1rem;text-align:center;font-size:0.78rem;color:var(--t2);}
.auth-footer-note a{color:var(--cyan);text-decoration:none;}
.demo-note{font-family:var(--fm);font-size:0.68rem;color:var(--t3);text-align:center;margin-top:0.75rem;background:rgba(0,0,0,0.2);border:1px solid var(--border);border-radius:7px;padding:8px;}

/* Premium auth enhancements */
.auth-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.auth-card {
  animation: masixScaleIn 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.auth-left { transition: border-color 0.3s; }
.auth-left:hover { border-right-color: rgba(87, 70, 175, 0.15); }
.btn-auth { box-shadow: 0 4px 20px rgba(87, 70, 175, 0.12); }
.btn-auth:hover:not(:disabled) { box-shadow: 0 8px 32px rgba(87, 70, 175, 0.22); }
.role-tab { transition: transform 0.2s, background 0.2s, border-color 0.2s, color 0.2s; }
.role-tab:hover { transform: translateY(-1px); }

@media(max-width:820px){
  .auth-left{display:none;}
  .auth-right{padding:1.5rem;}
  .field-row{grid-template-columns:1fr;}
}

