/* Scoped styles for login page */
:root{
  --bg:#ffffff;
  --muted:#6b7280;
  --primary:#2b7be4;
  --primary-dark:#1964c8;
  --card:#ffffff;
  --radius:12px;
}

/* Public Header */
.public-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 60px;
  background: linear-gradient(269.92deg, #4097F5, #1E5198);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 40px;
  z-index: 1000;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.public-header .brand {
  position: static;
  margin: 0;
  text-decoration: none;
  cursor: pointer;
}

.public-header .logo {
  color: white;
}

.public-header .logo-img {
  width: 40px;
  height: 40px;
}

.public-nav {
  display: flex;
  gap: 32px;
}

.public-nav a {
  color: white;
  text-decoration: none;
  font-weight: 500;
  font-size: 16px;
  transition: opacity 0.3s;
}

.public-nav a:hover {
  opacity: 0.8;
}

/* Layout */
.login-page{height:100vh;display:flex;align-items:stretch;background:var(--bg);margin:0;padding:60px 0 0;overflow:hidden;}
.login-container{display:flex;width:100%;height:100vh;margin:0;box-shadow:none}
.login-hero{flex:1;background-image:linear-gradient(90deg, rgba(10,20,30,0.6), rgba(10,20,30,0.4)), url('./images/login.jpg');background-size:cover;background-position:center;color:#fff;padding:24px;display:flex;align-items:flex-start;justify-content:flex-start;position:relative}
.hero-content{max-width:520px;width:100%}
.brand{display:flex;align-items:center;gap:8px;margin-bottom:60px;position:absolute;top:24px;left:24px}
.brand .logo-img{width:40px;height:40px;object-fit:contain}
.brand .logo{font-family:'Kodchasan',sans-serif;font-weight:400;font-size:32px;line-height:100%;letter-spacing:0%;color:#fff}
.hero-title{font-size:40px;margin:120px 0 0;color:#fff;line-height:1.05}
.hero-highlight{display:block;font-size:76px;color:#15C1FF;font-weight:800}

.login-form-wrap{width:540px;background:var(--card);display:flex;align-items:center;justify-content:center;padding:48px}
.form-card{width:100%;max-width:320px}
.form-title{font-size:28px;margin:0 0 24px;text-align:center}

/* Form */
.login-form{display:block;padding:0 20px}
.form-group{margin-bottom:20px}
label{display:block;margin-bottom:8px;color:var(--muted);font-weight:500;font-size:14px}
input[type="text"],input[type="email"],input[type="password"]{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-family:'Holgada Light',sans-serif;font-weight:400;font-style:normal;font-size:16px;line-height:100%;letter-spacing:-7%;box-sizing:border-box}
.btn-primary{display:block;width:100%;padding:12px 16px;background:linear-gradient(90.28deg, #4097F5, #1E5198);color:#fff;border-radius:8px;border:none;font-weight:600;margin:24px 0 20px;cursor:pointer;font-size:15px;box-sizing:border-box}
.btn-primary:hover{opacity:0.95}

.divider{margin:24px 20px;text-align:center;color:var(--muted);position:relative;font-size:14px}
.divider:before,.divider:after{content:"";height:1px;background:#e6e9ee;position:absolute;top:50%;width:38%;}
.divider:before{left:0}
.divider:after{right:0}

.oauth-row{display:flex;justify-content:center;gap:4px;margin:0 20px}
.oauth{display:inline-flex;align-items:center;justify-content:center;width:48px;height:40px;border:none;background:transparent;text-decoration:none;color:var(--muted);font-size:16px}
.oauth-google{background:transparent}
.oauth-outlook{background:transparent}
.oauth-icon{width:28px;height:28px;object-fit:contain}

.signup-cta{text-align:center;margin:20px 20px 0;color:var(--muted);font-size:14px}
.signup-cta a{color:var(--primary);font-weight:700;text-decoration:none}

/* Error */
.error{background:#fff1f2;color:#c53030;padding:10px;border-radius:8px;margin:0 20px 16px;text-align:center;font-size:14px}

/* Responsive */
@media (max-width:900px){
  .login-container{flex-direction:column}
  .login-hero{display:block;padding:32px}
  .login-form-wrap{width:100%;padding:32px}
  .hero-highlight{font-size:44px}
}