/* CTW Reseller / Admin Login — unified neobrutalist UI, isolated from app pages */
:root {
  --ad-ink: #171717; --ad-paper: #f5f2e9; --ad-card: #fffefb;
  --ad-yellow: #ffcf45; --ad-blue: #91dcf6; --ad-green: #b3edae;
  --ad-muted: #635f56; --ad-edge: 2.5px solid var(--ad-ink);
}
html { min-height: 100%; }
body.admin-login-body {
  box-sizing: border-box; min-height: 100dvh; margin: 0;
  display: grid; place-items: center; padding: clamp(16px,4vw,55px);
  color: var(--ad-ink); background-color: var(--ad-paper);
  background-image: radial-gradient(circle at 8% 20%,rgba(145,220,246,.42),transparent 31%),radial-gradient(circle at 92% 92%,rgba(255,207,69,.26),transparent 32%);
  font-family: Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; font-size: 14px;
}
.admin-login-body *, .admin-login-body *::before, .admin-login-body *::after { box-sizing: border-box; }
.admin-login-shell {
  width: min(1030px,100%); min-width: 0; display: grid; grid-template-columns: minmax(0,.94fr) minmax(0,1fr);
  border: 3px solid var(--ad-ink); border-radius: 22px; overflow: hidden;
  background: var(--ad-card); box-shadow: 9px 9px 0 var(--ad-ink);
}
.admin-login-promo { min-width: 0; min-height: 565px; padding: clamp(25px,4vw,43px);
  background: var(--ad-blue); border-right: 3px solid var(--ad-ink);
  display: flex; flex-direction: column; justify-content: space-between; gap: 48px;
}
.admin-promo-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.admin-promo-brand { font-size: 27px; font-weight: 1000; letter-spacing: -.08em; }
.admin-promo-dot { color: #feea66; }
.admin-promo-label { border: 2px solid var(--ad-ink); padding: 7px 9px; border-radius: 8px; font-size: 10px; font-weight: 950; letter-spacing: .05em; background: #fff; }
.admin-promo-chip { display: inline-flex; padding: 9px 12px; border: 2px solid var(--ad-ink); border-radius: 9px; background: var(--ad-yellow); box-shadow: 3px 3px 0 var(--ad-ink); font-size: 11px; font-weight: 1000; letter-spacing: .08em; }
.admin-promo-copy h2 { margin: 24px 0 14px; font-size: clamp(35px,4vw,52px); line-height: 1.04; letter-spacing: -.055em; font-weight: 950; max-width: 440px; }
.admin-promo-copy p { max-width: 390px; margin: 0; font-size: 15px; font-weight: 600; line-height: 1.65; }
.admin-promo-steps { display: grid; gap: 10px; }
.admin-promo-steps span { display: flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 750; }
.admin-promo-steps b { width: 29px; height: 29px; flex: 0 0 auto; display: grid; place-items: center; background: #fff; border: 2px solid var(--ad-ink); border-radius: 8px; font-size: 11px; }
.admin-login-card { padding: clamp(27px,5vw,58px); display: flex; flex-direction: column; justify-content: center; min-width: 0; background: var(--ad-card); }
.admin-login-header { margin-bottom: 30px; }
.admin-badge { display: inline-flex; align-items: center; gap: 6px; color: var(--ad-ink); background: var(--ad-green); border: var(--ad-edge); border-radius: 9px; padding: 7px 11px; box-shadow: 3px 3px 0 var(--ad-ink); font-size: 11px; font-weight: 900; letter-spacing: .04em; }
.admin-login-header h1 { margin: 20px 0 9px; font-size: clamp(29px,3vw,37px); font-weight: 950; letter-spacing: -.045em; line-height: 1.12; }
.admin-login-header p { max-width: 375px; margin: 0; color: var(--ad-muted); font-size: 14px; line-height: 1.6; }
.admin-form-group { margin-bottom: 19px; }
.admin-form-group label { display: block; margin-bottom: 8px; font-size: 13px; font-weight: 900; }
.admin-input-wrap { position: relative; }
.admin-input { display: block; width: 100%; min-width: 0; min-height: 50px; padding: 12px 14px; border: var(--ad-edge); border-radius: 10px; background: #fff; color: var(--ad-ink); outline: 0; font-size: 15px; }
.admin-input:focus { box-shadow: 4px 4px 0 var(--ad-blue); }
.admin-input::placeholder { color: #878278; }
#password.admin-input { padding-right: 92px; }
.admin-toggle-btn { position: absolute; right: 7px; top: 50%; transform: translateY(-50%); min-height: 34px; padding: 5px 11px; background: var(--ad-paper); border: 2px solid var(--ad-ink); border-radius: 7px; color: var(--ad-ink); font-size: 12px; font-weight: 900; cursor: pointer; }
.admin-toggle-btn:hover { background: var(--ad-yellow); }
.admin-helper-text { margin-top: 7px; color: var(--ad-muted); font-size: 11px; line-height: 1.5; }
.admin-helper-text code { color: var(--ad-ink); font-weight: 800; }
.admin-btn-primary { width: 100%; min-height: 54px; margin-top: 9px; padding: 11px 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px; background: var(--ad-yellow); color: var(--ad-ink); border: var(--ad-edge); border-radius: 11px; box-shadow: 4px 4px 0 var(--ad-ink); font-weight: 950; font-size: 15px; cursor: pointer; transition: transform .15s,box-shadow .15s; }
.admin-btn-primary:hover { transform: translate(-1px,-1px); box-shadow: 5px 5px 0 var(--ad-ink); }
.admin-btn-primary:active { transform: translate(3px,3px); box-shadow: none; }
.admin-btn-primary span:last-child { font-size: 21px; }
.admin-alert { padding: 13px 14px; border: var(--ad-edge); border-radius: 10px; margin: 0 0 20px; font-weight: 750; font-size: 13px; line-height: 1.5; }
.admin-alert-error { background: #ffaea8; }
.admin-alert-info { background: var(--ad-green); }
.admin-footer-links { display: grid; gap: 15px; margin-top: 27px; justify-items: center; text-align: center; }
.admin-footer-links a { color: var(--ad-ink); font-size: 12px; font-weight: 900; text-decoration: underline; text-underline-offset: 3px; }
.admin-footer-links a:hover { color: #045799; }
.admin-security-label { font-size: 11px; font-weight: 700; color: var(--ad-muted); }
:where(.admin-login-body input,.admin-login-body button,.admin-login-body a):focus-visible { outline: 3px solid #126deb; outline-offset: 3px; }
@media (max-width: 760px) {
  body.admin-login-body { padding: 16px; }
  .admin-login-shell { grid-template-columns: 1fr; box-shadow: 5px 5px 0 var(--ad-ink); border-radius: 16px; }
  .admin-login-promo { min-height: 0; padding: 23px; gap: 18px; border-right: 0; border-bottom: 3px solid var(--ad-ink); }
  .admin-promo-top { gap: 6px; }
  .admin-promo-copy h2 { font-size: clamp(25px,6vw,33px); margin: 13px 0 7px; }
  .admin-promo-copy p { font-size: 12px; }
  .admin-promo-chip { font-size: 10px; padding: 6px 9px; }
  .admin-promo-steps { display: none; }
  .admin-login-card { padding: 26px 23px 30px; }
  .admin-login-header { margin-bottom: 22px; }
  .admin-login-header h1 { margin-top: 17px; }
}
@media (max-width: 380px) {
  .admin-promo-label { font-size: 9px; }
  .admin-promo-brand { font-size: 24px; }
  .admin-login-card { padding-inline: 17px; }
}
@media (prefers-reduced-motion: reduce) { .admin-btn-primary { transition: none; } }
/* GLASSY V2 admin login treatment */
body.admin-login-body{background:radial-gradient(ellipse at 9% 15%,rgba(224,156,113,.29),transparent 46%),radial-gradient(ellipse at 90% 85%,rgba(143,189,174,.25),transparent 52%),linear-gradient(145deg,#e8ded5,#f4ede6 59%,#e7d9cd)!important}
.admin-login-shell{border:1px solid rgba(255,255,255,.75)!important;border-radius:28px!important;box-shadow:0 35px 80px rgba(93,64,48,.19)!important;background:rgba(255,255,255,.57)!important;backdrop-filter:blur(22px)}
.admin-login-promo{background:linear-gradient(140deg,rgba(161,114,95,.94),rgba(224,163,125,.84))!important;color:#fff9f4!important;border:0!important}
.admin-promo-label,.admin-promo-chip,.admin-promo-steps b{background:rgba(255,255,255,.25)!important;border:1px solid rgba(255,255,255,.55)!important;color:white!important;box-shadow:none!important;border-radius:12px!important}
.admin-login-card{background:rgba(255,255,255,.48)!important}
.admin-input{border:1px solid rgba(171,133,111,.3)!important;border-radius:13px!important}
.admin-btn-primary{background:linear-gradient(130deg,#bd7755,#e8a779)!important;color:white!important;border:1px solid rgba(255,255,255,.6)!important;border-radius:13px!important;box-shadow:0 9px 22px rgba(188,110,77,.22)!important}
.admin-badge,.admin-toggle-btn{background:rgba(235,199,175,.68)!important;border:1px solid rgba(172,130,107,.25)!important;border-radius:12px!important;box-shadow:none!important}
@media(max-width:760px){.admin-login-shell{border-radius:20px!important}.admin-login-promo{border-bottom:1px solid rgba(255,255,255,.3)!important}}
