:root { --green:#8fbd56; --bg:#f5f5ff; }
html,body { margin:0; background:var(--bg); font-family:system-ui,-apple-system,sans-serif; }
.login-img { min-height:100vh; }
.page { padding:24px 12px 40px; }
.col-login { text-align:center; }
.header-brand-img { max-height:72px; width:auto; }
.container-login100 { max-width:440px; margin:16px auto 0; }
.wrap-login100,.card-body { background:#fff; border-radius:12px; box-shadow:0 8px 30px rgba(0,0,0,.06); }
.card-body { padding:28px 24px 24px; }
.login100-form-title { display:block; text-align:center; font-size:22px; font-weight:600; color:#333; margin:0 0 18px; }
.wrap-input100 { position:relative; margin:0 0 14px; }
.input100, .form-control-lg {
  width:100%; box-sizing:border-box; height:46px; border:1px solid #e5e7eb; border-radius:8px;
  padding:0 40px 0 14px; font-size:15px; outline:none; background:#fff;
}
.input100:focus, .form-control-lg:focus { border-color:var(--green); }
.symbol-input100 { position:absolute; right:12px; top:12px; color:#9ca3af; }
.main-parent { position:relative; }
.main-parent .main-child { position:absolute; top:0; right:6px; height:100%; display:flex; align-items:center; }
.custom-control { display:flex; align-items:center; gap:8px; margin:12px 0; font-size:14px; color:#444; }
.container-login100-form-btn { margin-top:8px; }
.login100-form-btn, .btn-primary {
  width:100%; height:46px; border:0; border-radius:8px; background:var(--green); color:#fff;
  font-size:16px; font-weight:600; cursor:pointer;
}
.login100-form-btn:disabled { opacity:.55; cursor:not-allowed; }
.login100-form-btn:hover:not(:disabled) { filter:brightness(.95); color:#fff; }
.text-center { text-align:center; }
.pt-3 { padding-top:12px; }
.text-dark { color:#333; }
.text-primary { color:var(--green); text-decoration:none; }
.stash-captcha-wait {
  min-width:120px; height:45px; display:flex; align-items:center; justify-content:center;
  color:#666; font-size:12px; background:#fff; border-radius:4px;
}
.stash-captcha-wait .spin {
  width:18px; height:18px; margin-right:8px; border:2px solid #ddd;
  border-top-color:var(--green); border-radius:50%; animation:stashSpin .8s linear infinite;
}
@keyframes stashSpin { to { transform:rotate(360deg); } }
.stash-form-error {
  background:#f8d7da; color:#842029; border:1px solid #f5c2c7;
  border-radius:4px; padding:8px 12px; margin:0 0 12px; font-size:13px;
}
.stash-form-ok {
  background:#d1e7dd; color:#0f5132; border:1px solid #badbcc;
  border-radius:4px; padding:8px 12px; margin:0 0 12px; font-size:13px;
}
.stash-hint { font-size:12px; color:#6b7280; margin:-6px 0 12px; }
.custom-control-label a { color:var(--green); }
.app-header.header {
  background:#fff; box-shadow:0 1px 8px rgba(0,0,0,.06); padding:8px 16px;
  position:sticky; top:0; z-index:50;
}
.header-brand { display:flex; align-items:center; margin-right:12px; }
.header-brand-img.desktop-logo { height:40px; width:auto; }
.d-flex { display:flex; }
.align-items-center { align-items:center; }
.order-lg-2, .header-right-icons { margin-left:auto; align-items:center; gap:8px; }
.ms-auto { margin-left:auto; }
img { max-width:100%; }
