:root{
  --bg:var(--st-bg,#eef2f6);
  --card:var(--st-card,#ffffff);
  --text:var(--st-text,#111827);
  --muted:var(--st-muted,#64748b);
  --border:var(--st-border,#dbe3ee);
  --btn:var(--st-btn,#111827);
  --btnText:var(--st-btn-text,#ffffff);
  --noticeBg:#fef3c7;
  --notice:#92400e;
}
*{box-sizing:border-box}
html,body{min-height:100%}
body{
  font-family:Arial,sans-serif;
  background:radial-gradient(circle at top left, rgba(17,24,39,.10), transparent 32%),var(--bg);
  margin:0;
  min-height:100vh;
  min-height:100dvh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
  color:var(--text);
}
.box{
  background:var(--card);
  max-width:540px;
  width:100%;
  border:1px solid var(--border);
  border-radius:28px;
  padding:24px;
  box-shadow:0 24px 70px rgba(15,23,42,.14);
}
.logo{font-size:32px;font-weight:1000;letter-spacing:-.05em;margin-bottom:8px}
.logo sup{font-size:12px}
h1{margin:0 0 8px;font-size:26px;letter-spacing:-.04em}
.subtitle{margin:0 0 18px;color:var(--muted);font-size:14px;line-height:1.45}
label{display:block;font-weight:1000;font-size:13px;margin:0 0 7px}
input{
  width:100%;
  box-sizing:border-box;
  min-height:52px;
  padding:14px 15px;
  border:1px solid var(--border);
  border-radius:18px;
  margin:0 0 14px;
  font-size:16px;
  background:var(--card);
  color:var(--text);
}
input:focus{outline:none;border-color:#111827;box-shadow:0 0 0 4px rgba(17,24,39,.08)}
button{
  width:100%;
  min-height:52px;
  background:var(--btn);
  color:var(--btnText);
  border:0;
  border-radius:999px;
  padding:14px 16px;
  font-weight:1000;
  font-size:16px;
  cursor:pointer;
}
.msg{
  background:var(--noticeBg);
  color:var(--notice);
  padding:12px;
  border-radius:16px;
  margin-bottom:14px;
  font-weight:900;
  line-height:1.35;
  font-size:14px;
}
.legal-box{
  background:color-mix(in srgb, var(--card) 82%, var(--bg));
  border:1px solid var(--border);
  border-radius:18px;
  padding:14px;
  margin:4px 0 16px;
}
.legal-check{display:flex;gap:10px;align-items:flex-start;margin:0 0 12px;line-height:1.45;font-size:14px;font-weight:700}
.legal-check:last-child{margin-bottom:0}
.legal-check input{width:auto;min-height:auto;margin:3px 0 0;flex:0 0 auto}
.legal-check a{font-weight:1000;color:var(--text)}
.captcha-wrap{margin:14px 0}
.footer-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}
.footer-row a{color:var(--text);font-weight:900}
.stayola-lang-global{
  display:inline-flex!important;
  align-items:center;
  gap:6px;
  border:1px solid var(--border);
  background:var(--card);
  color:var(--text)!important;
  text-decoration:none!important;
  border-radius:999px;
  padding:7px 10px;
  font-family:Arial,sans-serif;
  font-weight:1000;
  font-size:12px;
  line-height:1;
  box-shadow:0 2px 8px rgba(0,0,0,.06);
  white-space:nowrap;
  vertical-align:middle;
}
.g-recaptcha{max-width:100%;overflow:hidden;transform-origin:left top}
@media(max-width:390px){.g-recaptcha{transform:scale(.92)}}
@media(max-width:760px){.box{padding:20px;border-radius:26px}}
