/* Tectitan - Shared Enterprise Theme */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
:root{
  --primary:#2563eb; --primary-dark:#1d4ed8; --primary-soft:rgba(37,99,235,.12);
  --success:#10b981; --warning:#f59e0b; --danger:#ef4444;
  --bg:#0b1220; --card:#121e3a; --border:#1e3a5f; --text:#e6edf8; --muted:#9fb0d0;
  --r:16px; --shadow:0 8px 32px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,sans-serif;
  background:radial-gradient(900px 600px at 15% 0, rgba(37,99,235,.18), transparent 60%), linear-gradient(180deg, #0b1220 0%, #0a1020 100%);
  color:var(--text); min-height:100vh; display:flex; justify-content:center; align-items:center; padding:20px; margin:0;
}
.container{
  width:100%; max-width:440px; background:linear-gradient(180deg, rgba(18,30,58,.96) 0%, #0f1a33 100%);
  border:1px solid var(--border); border-radius:20px; padding:28px; box-shadow:var(--shadow);
}
h1,h2{color:#fff; font-weight:800; letter-spacing:-.02em}
a{color:#93c5fd; text-decoration:none} a:hover{color:#60a5fa; text-decoration:underline}
input[type="text"],input[type="email"],input[type="password"],select,textarea{
  width:100%; padding:11px 12px; background:#0f1f3f; border:1px solid var(--border); border-radius:10px; color:var(--text); font-size:.92rem;
}
input:focus,select:focus,textarea:focus{outline:none; border-color:var(--primary); box-shadow:0 0 0 3px var(--primary-soft); background:#132a5a}
button,.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  padding:11px 18px; border:none; border-radius:999px; font-weight:600; font-size:.9rem; cursor:pointer; transition:.15s; text-decoration:none;
}
button:hover,.btn:hover{transform:translateY(-1px)}
.btn-primary{background:linear-gradient(180deg, var(--primary) 0%, var(--primary-dark) 100%); color:#fff; box-shadow:0 4px 14px rgba(37,99,235,.35)}
.btn-success{background:linear-gradient(180deg, #0ea5e9 0%, #0284c7 100%); color:#fff}
.btn-secondary{background:rgba(255,255,255,.08); border:1px solid var(--border); color:var(--text)}
.error-message{background:rgba(239,68,68,.10); border:1px solid rgba(239,68,68,.25); color:#fecaca; padding:12px; border-radius:12px; text-align:center}
.success-message{background:rgba(16,185,129,.10); border:1px solid rgba(16,185,129,.25); color:#a7f3d0; padding:12px; border-radius:12px; text-align:center}
.logo{max-width:140px; height:auto; border-radius:12px; box-shadow:0 4px 12px rgba(0,0,0,.25)}
.login-header{text-align:center; margin-bottom:10px} .login-header h1{font-size:1.7rem; margin:0 0 6px; border:none; padding:0}
.login-subtitle{text-align:center; color:var(--muted); margin-bottom:18px; font-size:.9rem}
.form-group{margin-bottom:14px} .form-group label{display:block; margin-bottom:6px; color:var(--text); font-weight:600; font-size:.88rem}
.welcome-text{font-size:1.02rem; margin-bottom:18px; color:var(--muted); line-height:1.6; text-align:center}
.button-group{display:flex; flex-direction:column; gap:12px; margin:18px 0}
@media(min-width:768px){ .button-group{flex-direction:row; justify-content:center} }
.password-requirements{background:rgba(255,255,255,.04); border:1px solid var(--border); border-radius:12px; padding:14px; margin:12px 0; font-size:.88rem; color:var(--muted)}
.password-requirements h4{margin:0 0 8px; color:#fbbf24; font-size:.9rem}
.password-strength{margin-top:6px; height:4px; border-radius:2px; background:rgba(255,255,255,.08); overflow:hidden}
.password-strength-bar{height:100%; width:0; transition:.2s}
.strength-weak{background:#ef4444; width:25%} .strength-fair{background:#f59e0b; width:50%} .strength-good{background:#10b981; width:75%} .strength-strong{background:#0ea5e9; width:100%}
.flashlight-section{background:rgba(255,255,255,.04); border:1px solid var(--border); border-radius:12px; padding:14px; margin:12px 0}
#reader{border:2px solid var(--primary); border-radius:12px; overflow:hidden; width:100%; max-width:460px; margin:0 auto}
.scan-result{margin-top:10px; padding:10px; background:rgba(16,185,129,.12); border:1px solid rgba(16,185,129,.3); border-radius:10px; color:#a7f3d0; text-align:center; font-weight:600}
.company-info{text-align:center; color:var(--muted); margin-bottom:14px}
.text-muted{color:var(--muted); font-size:.85rem}
