:root{
  --bg:#fffdf5;
  --primary:#facc15;
  --primary-dark:#eab308;
  --text:#1c1917;
  --muted:#78716c;
  --line:#e7e5e4;
  --white:#ffffff;
  --shadow:0 28px 80px rgba(120,53,15,.12);
}

*{box-sizing:border-box;margin:0;padding:0}

body{
  min-height:100vh;
  font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:
    radial-gradient(circle at 0% 0%, rgba(254,240,138,.5) 0 0, transparent 34%),
    radial-gradient(circle at 100% 100%, rgba(253,224,71,.4) 0 0, transparent 34%),
    var(--bg);
  color:var(--text);
}

.login-page{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:36px 18px;
  position:relative;
  overflow:hidden;
}

.shape{position:absolute;border-radius:999px;pointer-events:none;z-index:0}
.shape-left{width:520px;height:520px;left:-260px;top:-130px;background:rgba(254,249,195,.6)}
.shape-right{width:560px;height:560px;right:-250px;bottom:-250px;background:rgba(254,240,138,.5)}

.dots{position:absolute;width:118px;height:118px;opacity:.5;background-image:radial-gradient(#eab308 2px, transparent 2px);background-size:18px 18px;z-index:0}
.dots-left{top:52px;left:54px}
.dots-right{right:92px;bottom:210px;opacity:.28}

.login-card{
  width:100%;
  max-width:520px;
  position:relative;
  z-index:1;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(255,255,255,.75);
  border-radius:28px;
  box-shadow:var(--shadow);
  padding:54px 54px 40px;
  backdrop-filter:blur(18px);
  animation:fadeUp .65s ease both;
}

.brand{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:38px}

/* Logo Adjustment: No padding/background as requested */
.brand-logo{
  display:flex;
  align-items:center;
  justify-content:center;
}

.brand-logo img {
    height: 58px;
    width: auto;
    display: block;
}

.brand h1{font-size:25px;line-height:1;font-weight:800;letter-spacing:.06em}
.brand p{font-size:15px;color:var(--muted);margin-top:7px;font-weight:500}

.login-heading{text-align:center;margin-bottom:36px}
.login-heading h2{font-size:31px;line-height:1.15;margin-bottom:10px;letter-spacing:-.04em}
.login-heading p{font-size:15px;color:var(--muted);line-height:1.6}

.login-form{display:block}.form-group{margin-bottom:24px}.form-group label{display:block;font-size:15px;font-weight:700;margin-bottom:10px;color:#17213d}
.input-wrap{height:62px;border:1px solid var(--line);border-radius:12px;background:#fff;display:flex;align-items:center;padding:0 16px;transition:.22s ease}
.input-wrap:focus-within{border-color:rgba(234,179,8,.75);box-shadow:0 0 0 4px rgba(234,179,8,.09)}
.input-icon{width:25px;height:25px;color:#1f2a49;flex:0 0 auto;margin-right:15px}
.input-wrap input{width:100%;height:100%;border:0;outline:0;background:transparent;font-size:16px;color:var(--text)}
.input-wrap input::placeholder{color:#8b96b8}.toggle-password{border:0;background:transparent;color:#8b96b8;cursor:pointer;padding:8px;margin-left:8px;display:grid;place-items:center}.toggle-password svg{width:24px;height:24px}.toggle-password:hover{color:var(--primary)}
.form-options{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:8px 0 28px;font-size:15px}.remember{display:flex;align-items:center;gap:10px;color:#27324f;cursor:pointer}.remember input{width:20px;height:20px;accent-color:var(--primary)}.form-options a{color:var(--primary-dark);text-decoration:none;font-weight:600}.form-options a:hover{text-decoration:underline}
.login-btn{width:100%;height:64px;border:0;border-radius:12px;background:linear-gradient(135deg,#fde047,#eab308);color:#1c1917;font-size:17px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:16px;box-shadow:0 16px 30px rgba(234,179,8,.2);transition:.22s ease}.login-btn svg{width:24px;height:24px;transition:.22s ease}.login-btn:hover{transform:translateY(-2px);box-shadow:0 20px 38px rgba(234,179,8,.28)}.login-btn:hover svg{transform:translateX(4px)}
.card-footer{border-top:1px solid #edf0f7;margin-top:38px;padding-top:24px;text-align:center;color:var(--muted);font-size:14px}

@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}

/* Alerts */
.alert {
    padding: 16px;
    border-radius: 12px;
    margin-bottom: 24px;
    font-size: 14px;
    font-weight: 500;
}

.alert-danger {
    background: #fef2f2;
    color: #991b1b;
    border: 1px solid #fee2e2;
}

@media (max-width:576px){.login-card{padding:36px 22px 28px;border-radius:22px}.brand{margin-bottom:28px}.brand-logo img{height:50px}.brand h1{font-size:21px}.login-heading h2{font-size:27px}.input-wrap{height:58px}.form-options{align-items:flex-start;flex-direction:column}.dots,.shape{opacity:.35}}
