/* =========================================================
   QRMU AUTH - Unified Enterprise UI
   Used in: login, register, forgot, reset, verify, resend
========================================================= */

/* Wrapper */

.qrm-auth-wrap{
  max-width: 520px;
  margin: 80px auto;
  padding: 40px;
  background: #ffffff;
  border: 1px solid #e6edf5;
  border-radius: 18px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.05);
  box-sizing: border-box;
}

.qrm-auth-wrap.qrm-wide{
  max-width: 1100px;
}

.qrm-auth-title{
  margin-bottom: 24px;
  font-size: 24px;
  font-weight: 800;
  text-align: center;
  color: #0a1f44;
}

/* Messages */

.qrm-msg,
.qrm-auth-msg,
.qrm-error{
  margin-bottom: 18px;
  padding: 12px 14px;
  background: #f6f8fb;
  border-radius: 14px;
  font-size: 13px;
  line-height: 1.6;
  text-align: center;
  color: #0a1f44;
}

.qrm-msg.err,
.qrm-error{
  color: #b00000;
}

.qrm-msg.ok{
  color: #0a1f44;
}

/* Inputs & Select */

.qrm-auth-input,
select.qrm-auth-input{
  width: 100%;
  margin-bottom: 14px;
  padding: 14px 16px;
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.25);
  border-radius: 999px;
  font-size: 14px;
  outline: none;
  appearance: none;
  box-sizing: border-box;
  transition: all .15s ease;
}

.qrm-auth-input:focus,
select.qrm-auth-input:focus{
  border-color: #000000;
  box-shadow: 0 0 0 2px rgba(0,0,0,0.05);
}

select.qrm-auth-input{
  cursor: pointer;
  padding-right: 40px;
  background-image: url("data:image/svg+xml;utf8,<svg fill='black' height='20' viewBox='0 0 24 24' width='20' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/></svg>");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 16px;
}

/* Helper */

.qrm-helper{
  margin: -6px 0 12px 6px;
  font-size: 12px;
  line-height: 1.5;
  color: #6b7280;
}

/* Button */

.qrm-auth-btn{
  width: 100%;
  padding: 16px;
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.25);
  border-radius: 999px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  box-sizing: border-box;
  transition: all .15s ease;
}

.qrm-auth-btn:hover{
  background: #000000;
  color: #ffffff;
  border-color: #000000;
}

.qrm-auth-btn:active{
  transform: scale(0.98);
}

/* Legal / Consents */

.qrm-consents{
  margin: 16px 0 8px;
  font-size: 13px;
  color: #111827;
}

.qrm-consents label{
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 10px 0;
  line-height: 1.4;
  cursor: pointer;
}

.qrm-consents input[type="checkbox"]{
  width: 16px;
  height: 16px;
  cursor: pointer;
}

/* Links */

.qrm-auth-links{
  margin-top: 20px;
  text-align: center;
  font-size: 13px;
}

.qrm-auth-links a{
  margin: 0 8px;
  color: #000000;
  text-decoration: none;
  font-weight: 600;
}

.qrm-auth-links a:hover{
  text-decoration: underline;
}

/* Form Grid */

.qrm-form-grid{
  display: flex;
  align-items: flex-start;
  gap: 28px;
}

.qrm-form-col{
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* Appointment */

.qrm-appointment-wrap{
  margin-top: 15px;
}

/* Accordion / Day Blocks */

.qrm-acc-item{
  margin-bottom: 10px;
  border: 1px solid #ddd;
  border-radius: 10px;
  overflow: hidden;
}

.qrm-acc-header{
  padding: 12px 16px;
  background: #f5f5f5;
  font-weight: 600;
  cursor: pointer;
}

.qrm-day-block{
  margin-top: 18px;
}

.qrm-day-title{
  padding: 8px 0;
  font-weight: 600;
  cursor: pointer;
}

/* Accordion Body */

.qrm-acc-body{
  display: none;
  margin-top: 10px;
  padding: 12px;
  flex-wrap: wrap;
  gap: 8px;
}

.qrm-acc-body.active,
.qrm-day-block.open .qrm-acc-body{
  display: flex;
}

/* Slots */

.qrm-slot{
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
}

.qrm-slot-grid{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.qrm-slot-btn{
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 70px;
  padding: 8px;
  background: #f8f9fb;
  border: 1px solid #dcdcdc;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  user-select: none;
  transition: all .15s ease;
}

.qrm-slot-btn:hover{
  background: #eef2f7;
  border-color: #cfd6e0;
}

.qrm-slot-btn.active{
  background: #2c7be5;
  color: #ffffff;
  border-color: #2c7be5;
}

.qrm-slot-btn input{
  display: none;
}
.qrm-slot-row{
display:flex;
gap:12px;
margin-top:8px;
}

.qrm-slot-col{
flex:1;
display:flex;
flex-direction:column;
}
.qrm-apply-mode{
display:flex;
gap:16px;
margin-bottom:14px;
font-size:14px;
}

.qrm-apply-mode label{
display:flex;
align-items:center;
gap:6px;
cursor:pointer;
}
#master_hours{
display:none;
}