
:root{
  --kw-pink:#e83f73;
  --kw-pink-dark:#c92e62;
  --kw-pink-soft:#fff1f5;
  --kw-bg:#fff8fb;
  --kw-text:#241d21;
  --kw-muted:#8d7e86;
  --kw-line:#f1dfe6;
  --kw-green:#2da66a;
  --kw-shadow:0 22px 60px rgba(112,57,78,.12);
}
*{box-sizing:border-box}
html,body{min-height:100%}
body.kw-auth-page{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--kw-text);
  background:
    radial-gradient(circle at 10% 5%, rgba(255,196,214,.32), transparent 28%),
    radial-gradient(circle at 90% 95%, rgba(255,218,228,.42), transparent 30%),
    #fffafd;
}
a{text-decoration:none;color:inherit}
button,input{font:inherit}
.kw-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(320px, .95fr) minmax(440px, 1.3fr);
  width:min(1180px, calc(100% - 36px));
  margin:0 auto;
  padding:26px 0;
  gap:0;
}
.kw-brand-panel,
.kw-form-panel{
  min-height:calc(100vh - 52px);
}
.kw-brand-panel{
  position:relative;
  overflow:hidden;
  border-radius:28px 0 0 28px;
  background:
    linear-gradient(165deg,rgba(255,255,255,.76),rgba(255,235,242,.9)),
    linear-gradient(135deg,#fff9fb,#ffeef4);
  border:1px solid var(--kw-line);
  border-right:0;
  padding:44px 38px 34px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
}
.kw-brand-panel:before,
.kw-brand-panel:after{
  content:"";
  position:absolute;
  width:230px;height:230px;border-radius:50%;
  filter:blur(1px);
  opacity:.55;
}
.kw-brand-panel:before{
  left:-90px;top:-80px;
  background:radial-gradient(circle,#ffc4d6 0 18%,#ffdbe6 19% 40%,transparent 66%);
}
.kw-brand-panel:after{
  right:-95px;bottom:-70px;
  background:radial-gradient(circle,#ffd1de 0 16%,#ffe3ec 17% 42%,transparent 68%);
}
.kw-petal{
  position:absolute;
  width:12px;height:20px;border-radius:80% 20% 70% 30%;
  background:#ffbfd0;
  opacity:.65;
  transform:rotate(35deg);
}
.kw-petal.p1{top:8%;left:38%}.kw-petal.p2{top:18%;right:15%;transform:rotate(70deg)}
.kw-petal.p3{bottom:24%;left:12%;transform:rotate(-20deg)}.kw-petal.p4{bottom:12%;right:28%;transform:rotate(18deg)}
.kw-logo-mark{
  width:84px;height:84px;border-radius:28px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,#ff7b9a,#df3d70);
  color:#fff;
  box-shadow:0 16px 34px rgba(232,63,115,.25);
  margin-bottom:16px;
  font-size:38px;
  position:relative;
  z-index:2;
}
.kw-brand-name{
  font-size:38px;
  font-weight:900;
  letter-spacing:-1.2px;
  color:var(--kw-pink);
  position:relative;z-index:2;
}
.kw-brand-tag{
  color:var(--kw-pink);
  font-size:14px;
  margin-top:3px;
  font-weight:650;
  position:relative;z-index:2;
}
.kw-brand-sep{
  display:flex;align-items:center;gap:10px;
  width:180px;margin:22px auto;
  color:var(--kw-pink);
  position:relative;z-index:2;
}
.kw-brand-sep:before,.kw-brand-sep:after{content:"";height:1px;background:#efbdcb;flex:1}
.kw-brand-title{
  font-size:25px;line-height:1.35;margin:0 0 22px;
  position:relative;z-index:2;
}
.kw-benefits{
  width:min(100%,360px);
  display:grid;gap:10px;
  position:relative;z-index:2;
}
.kw-benefit{
  display:flex;align-items:center;gap:12px;
  text-align:left;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(243,214,224,.9);
  border-radius:16px;
  padding:12px 14px;
  backdrop-filter:blur(8px);
}
.kw-benefit-ico{
  width:38px;height:38px;border-radius:12px;
  display:grid;place-items:center;
  background:#fff0f5;
  color:var(--kw-pink);
  flex:0 0 auto;
  font-size:18px;
}
.kw-benefit strong{display:block;font-size:13px}
.kw-benefit small{display:block;color:var(--kw-muted);font-size:11px;margin-top:2px}
.kw-car{
  margin-top:24px;
  width:170px;height:96px;border-radius:28px 28px 20px 20px;
  background:linear-gradient(180deg,#ff8cab,#e5507a);
  position:relative;z-index:2;
  box-shadow:0 14px 24px rgba(178,59,96,.18);
}
.kw-car:before{
  content:"Just Married";
  position:absolute;left:50%;top:34px;transform:translateX(-50%);
  background:#fff8ed;color:#6d4f43;border-radius:5px;
  font:700 11px/1.1 Georgia,serif;padding:5px 8px;
  box-shadow:0 2px 5px rgba(0,0,0,.08);
}
.kw-car:after{
  content:"";
  position:absolute;left:20px;right:20px;top:13px;height:28px;
  border-radius:18px 18px 8px 8px;
  background:linear-gradient(180deg,#d7f0f6,#a8c7d0);
  border:4px solid #ea6b8e;
}
.kw-wheel{position:absolute;bottom:-9px;width:30px;height:30px;border-radius:50%;background:#3b3537;border:6px solid #81757a}
.kw-wheel.left{left:22px}.kw-wheel.right{right:22px}
.kw-form-panel{
  background:#fff;
  border:1px solid var(--kw-line);
  border-radius:0 28px 28px 0;
  box-shadow:var(--kw-shadow);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:46px 46px;
}
.kw-form-wrap{width:min(100%,520px)}
.kw-mini-logo{
  width:52px;height:52px;border-radius:18px;
  display:grid;place-items:center;
  background:var(--kw-pink-soft);
  color:var(--kw-pink);
  font-size:26px;
  margin:0 auto 16px;
}
.kw-form-title{text-align:center;margin:0;font-size:36px;letter-spacing:-1px}
.kw-form-sub{text-align:center;color:var(--kw-muted);font-size:14px;margin:8px 0 24px}
.kw-alert{
  border-radius:14px;
  padding:12px 14px;
  margin:0 0 14px;
  font-size:13px;
  border:1px solid #ffd2df;
  background:#fff1f5;
  color:#9f2e51;
}
.kw-alert.ok{background:#eef9f3;border-color:#cbead9;color:#27714d}
.kw-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.kw-field{margin-bottom:14px}
.kw-field.full{grid-column:1/-1}
.kw-label{
  display:block;
  font-size:12px;
  font-weight:800;
  margin:0 0 7px;
}
.kw-input-wrap{position:relative}
.kw-input{
  width:100%;
  border:1px solid var(--kw-line);
  background:#fff;
  border-radius:15px;
  padding:14px 44px 14px 43px;
  color:var(--kw-text);
  outline:none;
  transition:.2s;
}
.kw-input:focus{
  border-color:#f5a4bc;
  box-shadow:0 0 0 4px #fff0f5;
}
.kw-input::placeholder{color:#b4a8ae}
.kw-input-ico{
  position:absolute;left:14px;top:50%;transform:translateY(-50%);
  color:var(--kw-pink);font-size:18px;pointer-events:none;
}
.kw-eye{
  position:absolute;right:12px;top:50%;transform:translateY(-50%);
  border:0;background:transparent;color:#b2a3aa;font-size:18px;
}
.kw-row-between{
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;margin:2px 0 16px;
  font-size:12px;color:var(--kw-muted)
}
.kw-check{display:flex;align-items:center;gap:8px}
.kw-check input{accent-color:var(--kw-pink)}
.kw-link{color:var(--kw-pink);font-weight:800}
.kw-primary{
  width:100%;
  border:0;
  border-radius:14px;
  padding:14px 18px;
  color:#fff;
  background:linear-gradient(135deg,#ff4f7d,#d92f68);
  box-shadow:0 10px 22px rgba(221,48,103,.22);
  font-weight:850;
  cursor:pointer;
}
.kw-primary:hover{filter:brightness(.98)}
.kw-divider{
  display:flex;align-items:center;gap:12px;
  margin:18px 0;color:#a3939a;font-size:12px;
}
.kw-divider:before,.kw-divider:after{content:"";height:1px;background:#f0e2e7;flex:1}
.kw-google{
  width:100%;
  border:1px solid var(--kw-line);
  border-radius:14px;
  padding:13px 16px;
  background:#fff;
  font-weight:750;
  display:flex;align-items:center;justify-content:center;gap:10px;
  cursor:pointer;
}
.kw-google .g{
  width:22px;height:22px;border-radius:50%;
  display:grid;place-items:center;
  font-weight:900;
  color:#4285f4;
  border:2px solid #e8e8e8;
}
.kw-bottom{text-align:center;font-size:13px;color:var(--kw-muted);margin-top:20px}
.kw-gift{
  display:flex;align-items:center;gap:12px;
  border:1px solid #f6d8e2;
  background:linear-gradient(135deg,#fff6f8,#fff0f5);
  border-radius:15px;
  padding:12px 14px;
  margin:4px 0 16px;
}
.kw-gift .ico{font-size:22px}
.kw-gift strong{display:block;color:var(--kw-pink);font-size:12px}
.kw-gift small{font-size:11px;color:var(--kw-muted)}
.kw-forgot-visual{
  width:132px;height:110px;margin:0 auto 18px;position:relative;
}
.kw-envelope{
  position:absolute;left:50%;bottom:4px;transform:translateX(-50%);
  width:118px;height:78px;border-radius:10px;
  background:linear-gradient(145deg,#ff9db7,#ef5c83);
  box-shadow:0 14px 30px rgba(229,72,118,.18);
}
.kw-envelope:before{
  content:"";position:absolute;inset:0;
  clip-path:polygon(0 0,50% 58%,100% 0);
  background:#ffc3d2;
}
.kw-lock{
  position:absolute;left:50%;top:6px;transform:translateX(-50%);
  width:54px;height:62px;border-radius:14px;background:#fff3f7;
  border:1px solid #f5d5df;display:grid;place-items:center;font-size:26px;color:var(--kw-pink);
  z-index:3;
}
.kw-help{text-align:center;font-size:12px;color:var(--kw-muted);line-height:1.6;margin-bottom:18px}
.kw-footer-note{text-align:center;margin-top:22px;color:#b4a6ad;font-size:10px}
@media(max-width:900px){
  .kw-shell{grid-template-columns:1fr;width:min(100%,620px);padding:0}
  .kw-brand-panel{display:none}
  .kw-form-panel{min-height:100vh;border-radius:0;border:0;padding:28px 18px;background:linear-gradient(180deg,#fffafd,#fff)}
  .kw-form-wrap{max-width:520px}
  .kw-form-title{font-size:30px}
}
@media(max-width:560px){
  .kw-form-grid{grid-template-columns:1fr;gap:0}
  .kw-field.full{grid-column:auto}
  .kw-form-panel{padding:22px 16px 30px}
  .kw-form-title{font-size:29px}
  .kw-form-sub{font-size:13px}
  .kw-mini-logo{margin-top:10px}
}
/* V8.5 savings jar icon */
.kw-benefit-ico.kw-saving-benefit{overflow:hidden;padding:2px}
.kw-benefit-ico.kw-saving-benefit img{width:34px;height:34px;object-fit:contain;display:block}

/* V8.6 - slightly larger, more comfortable auth typography */
.kw-form-title{font-size:29px}.kw-form-sub{font-size:14px;line-height:1.55}.kw-field label{font-size:13px}.kw-field input{font-size:15px}.kw-btn{font-size:15px}.kw-small,.kw-login-note{font-size:12.5px}.kw-benefit strong{font-size:14px}.kw-benefit small{font-size:12px}
@media(max-width:720px){.kw-form-title{font-size:27px}.kw-form-sub{font-size:13.5px}.kw-field label{font-size:12.5px}.kw-field input{font-size:15px}}
