
/* Portal Auth UI (login / signup / reset) */
.qrmenu-auth-wrap{max-width:420px;margin:26px auto;padding:0 14px;}
.qrmenu-auth-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.12);
  border-radius:22px;
  padding:24px 22px 18px;
  box-shadow:0 10px 30px rgba(0,0,0,.06);
}
.qrmenu-auth-card h1{
  margin:4px 0 8px;
  font-size:32px;
  line-height:1.05;
  text-align:center;
  letter-spacing:-.02em;
}
.qrmenu-auth-switch{
  text-align:center;
  margin:0 0 22px;
  font-size:16px;
  color:rgba(0,0,0,.65);
}
.qrmenu-auth-switch a{color:#1b64f0;text-decoration:none;}
.qrmenu-auth-switch a:hover{text-decoration:underline;}

.qrmenu-auth-pricing{
  text-align:center;
  font-weight:600;
  font-size:14px;
  color:rgba(0,0,0,.55);
  margin-bottom:10px;
}
.qrmenu-auth-pricing span{font-weight:500;}

.qrmenu-auth-form label{
  display:block;
  font-size:16px;
  font-weight:600;
  margin:18px 0 10px;
  color:rgba(0,0,0,.75);
}
.qrmenu-auth-form input[type="text"],
.qrmenu-auth-form input[type="email"],
.qrmenu-auth-form input[type="password"]{
  width:100%;
  box-sizing:border-box;
  padding:12px 12px;
  border-radius:10px;
  border:1px solid rgba(0,0,0,.18);
  font-size:16px;
  outline:none;
}
.qrmenu-auth-form input:focus{border-color:rgba(27,100,240,.55);box-shadow:0 0 0 3px rgba(27,100,240,.12);}

.qrmenu-auth-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:16px 0 18px;
}
.qrmenu-auth-check{
  display:flex;
  align-items:center;
  gap:12px;
  font-size:16px;
  color:rgba(0,0,0,.7);
}
.qrmenu-auth-check input{width:18px;height:18px;}
.qrmenu-auth-link{
  font-size:16px;
  font-weight:600;
  color:#1b64f0;
  text-decoration:none;
}
.qrmenu-auth-link:hover{text-decoration:underline;}

.qrmenu-auth-btn{
  width:100%;
  border:none;
  border-radius:999px;
  height:46px;
  font-size:15px;
  font-weight:800;
  letter-spacing:.04em;
  background:#1d987c;
  color:#fff;
  cursor:pointer;
  margin-top:8px;
}
.qrmenu-auth-btn:hover{filter:brightness(.98);}
.qrmenu-auth-btn:active{transform:translateY(1px);}

.qrmenu-auth-divider{
  position:relative;
  text-align:center;
  margin:22px 0 14px;
  color:rgba(0,0,0,.55);
  font-weight:700;
}
.qrmenu-auth-divider:before{
  content:"";
  position:absolute;
  left:0; right:0;
  top:50%;
  height:1px;
  background:rgba(0,0,0,.14);
}
.qrmenu-auth-divider span{
  position:relative;
  background:#fff;
  padding:0 12px;
}

.qrmenu-auth-social{
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  border-radius:12px;
  padding:12px 12px;
  text-decoration:none;
  font-weight:800;
  font-size:16px;
  justify-content:center;
  box-sizing:border-box;
  border:1px solid rgba(0,0,0,.12);
}
.qrmenu-auth-social .ic{
  width:34px;height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  background:#fff;
  border:1px solid rgba(0,0,0,.10);
  font-weight:900;
}
.qrmenu-auth-social.google{background:#4e7ee8;color:#fff;border-color:transparent;}
.qrmenu-auth-social.ms{background:#2f2f2f;color:#fff;border-color:transparent;}
.qrmenu-auth-social.fb{background:#1877f2;color:#fff;border-color:transparent;}

/* Notices */
.qrmenu-auth-notice{
  padding:12px 14px;
  border-radius:12px;
  margin:8px 0 14px;
  font-weight:700;
  background:rgba(0,0,0,.04);
  color:rgba(0,0,0,.7);
}
.qrmenu-auth-notice.error{background:rgba(255,0,0,.08);color:#7a1c1c;}
.qrmenu-auth-notice.success{background:rgba(0,170,90,.10);color:#0b5a34;}

/* Existing portal notice styles for logged-in gating */
.qrmenu-portal-notice{
  max-width:1000px;
  margin:20px auto 10px;
  padding:12px 14px;
  border-radius:12px;
  background:rgba(0,0,0,.04);
}
.qrmenu-portal-notice-error{background:rgba(255,0,0,.08);}

/* Mobile tweaks */
@media (max-width:480px){
  .qrmenu-auth-card{padding:26px 18px;border-radius:22px;}
  .qrmenu-auth-card h1{font-size:34px;}
  .qrmenu-auth-form input{font-size:16px;padding:14px;}
  .qrmenu-auth-btn{height:50px;font-size:15px;}
}
