*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --header-bg:#1b3a6e;--accent:#4da3ff;--accent-light:#e8f3ff;
  --bg:#eef1f5;--surface:#fff;--text:#2c3e50;--text-muted:#7f8c9b;
  --border:#dde2e8;--error:#e74c3c;--error-bg:#fadbd8;--success:#27ae60;--success-bg:#d5f5e3;
  --radius:8px;--shadow:0 8px 32px rgba(0,0,0,.1);
  --font:'Segoe UI',system-ui,-apple-system,Roboto,sans-serif;
}
body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}

.auth-page{display:flex;min-height:100vh}
.auth-page.single{align-items:center;justify-content:center;padding:2rem;background:linear-gradient(160deg,#1b3a6e 0%,#2c5282 40%,#eef1f5 40%)}
.auth-hero{flex:1;background:linear-gradient(135deg,#1b3a6e 0%,#254a82 60%,#2c5282 100%);display:flex;align-items:center;justify-content:center;padding:3rem;color:#fff;position:relative;overflow:hidden}
.auth-hero::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}
.hero-content{max-width:400px;position:relative;z-index:1}
.hero-content h1{font-size:2.25rem;font-weight:700;margin:1rem 0 .5rem;letter-spacing:-.02em}
.hero-content p{font-size:1.05rem;opacity:.85;margin-bottom:2rem}
.hero-features{list-style:none}
.hero-features li{padding:.5rem 0;padding-left:1.75rem;position:relative;opacity:.8;font-size:.9375rem}
.hero-features li::before{content:'';position:absolute;left:0;top:.75rem;width:8px;height:8px;background:var(--accent);border-radius:50%}
.auth-form-side{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}
.auth-card{background:var(--surface);border-radius:12px;box-shadow:var(--shadow);padding:2.5rem;width:100%;max-width:400px;border:1px solid var(--border)}
.auth-card h2{font-size:1.375rem;font-weight:600;margin-bottom:.25rem;color:var(--header-bg)}
.subtitle{color:var(--text-muted);margin-bottom:1.5rem;font-size:.875rem}
.auth-logo{text-align:center;margin-bottom:1.5rem}
.auth-logo h1{font-size:1.375rem;margin-top:.75rem;color:var(--header-bg);font-weight:600}
.auth-footer{text-align:center;margin-top:1.5rem;font-size:.8125rem;color:var(--text-muted)}
.install-card{max-width:460px}
.install-steps{display:flex;gap:6px;margin-bottom:1.5rem}
.install-steps span{flex:1;text-align:center;padding:8px;border-radius:var(--radius);background:var(--bg);font-size:.75rem;color:var(--text-muted);font-weight:500}
.install-steps span.active{background:var(--accent-light);color:var(--header-bg);font-weight:600}

.form-group{margin-bottom:1rem}
.form-group label{display:block;font-size:.8125rem;font-weight:600;margin-bottom:6px;color:var(--text-muted)}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:.9375rem;font-family:inherit;color:var(--text);transition:border-color .15s,box-shadow .15s}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}
.form-hint{color:var(--text-muted);font-size:.8125rem;margin-bottom:1rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.code-input{text-align:center;font-size:1.5rem;letter-spacing:.5rem;font-weight:700}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit}
.btn:hover{background:var(--bg)}
.btn-primary{background:var(--header-bg);color:#fff;border-color:var(--header-bg)}
.btn-primary:hover{background:#254a82}
.btn-block{width:100%}
.btn-sm{padding:6px 14px;font-size:.8125rem}
.btn-danger{background:var(--error);color:#fff;border-color:var(--error)}

.alert{padding:10px 14px;border-radius:var(--radius);font-size:.8125rem;margin-bottom:1rem}
.alert-error{background:var(--error-bg);color:var(--error);border:1px solid #f5b7b1}
.alert-success{background:var(--success-bg);color:var(--success);border:1px solid #a9dfbf}

@media(max-width:768px){
  .auth-page{flex-direction:column}
  .auth-hero{padding:2rem;min-height:auto}
  .hero-content h1{font-size:1.75rem}
  .auth-page.single{background:var(--bg)}
}
