:root{
  --bg:#0b1320;
  --card:#ffffff;
  --text:#0f172a;
  --muted:#475569;
  --brand:#17477d;
  --brandHover:#123860;
  --border:rgba(2,6,23,0.12);
  --shadow:0 18px 60px rgba(2,6,23,0.25);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,"Noto Sans","Liberation Sans",sans-serif;
  color:var(--text);
  background:
    radial-gradient(1200px 700px at 20% 10%, rgba(23,71,125,0.55), transparent 60%),
    radial-gradient(900px 600px at 85% 30%, rgba(14,165,233,0.25), transparent 55%),
    linear-gradient(160deg, #08101d 0%, #0b1320 40%, #0b1320 100%);
}

.zozo-login-wrap{
  min-height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:32px 16px;
}

.card{
  width:100%;
  max-width:520px;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:16px;
  box-shadow:var(--shadow);
  overflow:hidden;
}

.card-head{
  padding:22px 22px 14px 22px;
  border-bottom:1px solid var(--border);
}

.brand{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
.brand img{width:350px;height:130px;border-radius:14px;object-fit:contain}

.h1{margin:0;font-size:20px;line-height:1.2}
.p{margin:8px 0 0 0;color:var(--muted);font-size:14px;line-height:1.5}

.card-body{padding:18px 22px 22px 22px}

.alert{
  padding:12px 14px;
  border-radius:12px;
  border:1px solid rgba(220,38,38,0.25);
  background:rgba(220,38,38,0.06);
  color:#7f1d1d;
  margin:0 0 14px 0;
  font-size:14px;
}

.label{display:block;font-weight:600;margin:0 0 8px 0}
.input{
  width:100%;
  padding:12px 12px;
  border-radius:12px;
  border:1px solid var(--border);
  outline:none;
  font-size:15px;
}
.input:focus{border-color:rgba(23,71,125,0.6); box-shadow:0 0 0 4px rgba(23,71,125,0.12)}

.actions{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}

.btn{
  appearance:none;
  border:1px solid transparent;
  border-radius:12px;
  padding:11px 14px;
  font-weight:700;
  cursor:pointer;
  font-size:14px;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.btn-primary{background:var(--brand);color:#fff}
.btn-primary:hover{background:var(--brandHover)}

.btn-outline{background:#fff;border-color:rgba(23,71,125,0.45);color:var(--brand)}
.btn-outline:hover{background:rgba(23,71,125,0.06)}

.btn-full{width:100%}

.code-row{display:flex;gap:10px;justify-content:center;align-items:center;margin-top:8px}
.code-box{
  width:52px;
  height:54px;
  text-align:center;
  font-size:18px;
  border-radius:12px;
  border:1px solid var(--border);
}
.code-box:focus{border-color:rgba(23,71,125,0.6); box-shadow:0 0 0 4px rgba(23,71,125,0.12); outline:none}

@media (max-width:420px){
  .code-box{width:44px;height:50px}
}

.small-note{margin-top:10px;color:var(--muted);font-size:13px;line-height:1.5}
