/* Ritmu Access UI v1.0
   Based on Ritmu Brand Guidelines v1.1.
   Exact master logo assets are used; auth/PIN behaviour remains native. */

body.rt-ritmu-access{
  min-height:100vh!important;
  margin:0!important;
  background:linear-gradient(90deg,#0B2E55 0 42%,#F7F9FC 42% 100%)!important;
  color:#173E61!important;
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  overflow-x:hidden!important;
}
body.rt-ritmu-access>.container{
  width:100%!important;
  max-width:none!important;
  min-height:100vh!important;
  margin:0!important;
  padding:0!important;
}
body.rt-ritmu-access>.container>.row{
  display:grid!important;
  grid-template-columns:42% 58%!important;
  grid-template-rows:minmax(135px,auto) 1fr!important;
  min-height:100vh!important;
  margin:0!important;
}
body.rt-ritmu-access #login_button_type{display:none!important}

/* Brand panel using supplied reversed horizontal master. */
body.rt-ritmu-access .pen-title{
  position:relative!important;
  grid-column:1!important;
  grid-row:1 / span 2!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  background-image:url('ritmu-logo-reversed.png')!important;
  background-repeat:no-repeat!important;
  background-position:clamp(34px,6vw,84px) clamp(42px,8vh,82px)!important;
  background-size:clamp(170px,18vw,245px) auto!important;
  text-align:left!important;
  box-sizing:border-box!important;
}
body.rt-ritmu-access .pen-title img{display:none!important}
body.rt-ritmu-access .pen-title:before{
  content:"Keep service moving."!important;
  position:absolute!important;
  left:clamp(34px,6vw,84px)!important;
  right:clamp(34px,6vw,84px)!important;
  top:34%!important;
  color:#fff!important;
  font-family:"Inter Display","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:clamp(31px,4vw,56px)!important;
  font-weight:700!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
}
body.rt-ritmu-access .pen-title:after{
  content:"Connected hospitality, built for clarity, confidence and the rhythm of service."!important;
  position:absolute!important;
  left:clamp(34px,6vw,84px)!important;
  right:clamp(48px,8vw,120px)!important;
  top:calc(34% + clamp(78px,9vw,125px))!important;
  max-width:470px!important;
  color:#A9C1D0!important;
  font-size:13px!important;
  font-weight:400!important;
  line-height:1.65!important;
}

/* Username / PIN mode switch */
body.rt-ritmu-access .btn_login_pin_table{
  grid-column:2!important;
  grid-row:1!important;
  align-self:end!important;
  width:min(440px,calc(100% - 48px))!important;
  margin:0 auto 12px!important;
  text-align:left!important;
}
body.rt-ritmu-access .btn_login_pin_table td{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:7px!important;
}
body.rt-ritmu-access .btn_login_pin_type{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:0 12px!important;
  border:1px solid #DCE6ED!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#0B2E55!important;
  font-size:12px!important;
  font-weight:600!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
body.rt-ritmu-access .btn_login_pin_type.active_login_btn{
  border-color:#1597A8!important;
  background:#1597A8!important;
  color:#fff!important;
}

/* Existing native card, modernised rather than replaced. */
body.rt-ritmu-access>.container>.row>.container{
  grid-column:2!important;
  grid-row:2!important;
  align-self:start!important;
  width:min(440px,calc(100% - 48px))!important;
  max-width:440px!important;
  margin:0 auto 40px!important;
  padding:0!important;
}
body.rt-ritmu-access>.container>.row>.container>.card:first-child{display:none!important}
body.rt-ritmu-access>.container>.row>.container>.card:nth-child(2){
  width:100%!important;
  margin:0!important;
  padding:28px!important;
  border:1px solid #E1E9EF!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 18px 50px rgba(11,46,85,.10)!important;
  box-sizing:border-box!important;
}
body.rt-ritmu-access .card .title{
  margin:0 0 20px!important;
  padding:0!important;
  border:0!important;
  color:#0B2E55!important;
  font-family:"Inter Display","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:28px!important;
  font-weight:700!important;
  line-height:1.1!important;
  letter-spacing:-.02em!important;
  text-transform:none!important;
}
body.rt-ritmu-access .card .input-container,
body.rt-ritmu-access .custom_margin{
  margin:0 0 14px!important;
}
body.rt-ritmu-access .card .input-container input{
  width:100%!important;
  height:50px!important;
  padding:17px 12px 5px!important;
  border:1px solid #DCE6ED!important;
  border-radius:10px!important;
  background:#F7F9FC!important;
  color:#173E61!important;
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:14px!important;
  font-weight:500!important;
  box-sizing:border-box!important;
}
body.rt-ritmu-access .card .input-container label{
  left:12px!important;
  top:8px!important;
  color:#728696!important;
  font-size:9px!important;
  font-weight:500!important;
  line-height:1!important;
  transform:none!important;
}
body.rt-ritmu-access .card .input-container .bar{display:none!important}
body.rt-ritmu-access .card .button-container{
  margin:4px 0 0!important;
}
body.rt-ritmu-access .card .button-container button{
  width:100%!important;
  min-height:50px!important;
  padding:0 18px!important;
  border:1px solid #0B2E55!important;
  border-radius:11px!important;
  background:#0B2E55!important;
  color:#fff!important;
  box-shadow:none!important;
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:13px!important;
  font-weight:700!important;
  text-transform:none!important;
}
body.rt-ritmu-access .card .button-container button span{color:#fff!important}
body.rt-ritmu-access .card .footer{
  margin:18px 0 0!important;
  font-size:11px!important;
}
body.rt-ritmu-access .card .footer a{color:#1597A8!important;font-weight:600!important}
body.rt-ritmu-access .pull-right{
  margin:10px 2px 0!important;
  color:#8A9AA6!important;
  font-size:9px!important;
}

/* PIN fields remain native jquery.pinlogin controls. */
body.rt-ritmu-access #loginpin{margin:4px 0 18px!important}
body.rt-ritmu-access .pinlogin{
  display:flex!important;
  justify-content:center!important;
  gap:9px!important;
  width:100%!important;
}
body.rt-ritmu-access .pinlogin .pinlogin-field{
  width:60px!important;
  height:60px!important;
  margin:0!important;
  border:1px solid #DCE6ED!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#0B2E55!important;
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:23px!important;
  font-weight:700!important;
  text-align:center!important;
  box-shadow:none!important;
}
body.rt-ritmu-access .pinlogin .pinlogin-field:focus{
  border-color:#1597A8!important;
  outline:0!important;
  box-shadow:0 0 0 3px rgba(21,151,168,.10)!important;
}

body.rt-ritmu-access .red_error,
body.rt-ritmu-access .error_txt{
  margin:0 0 12px!important;
  padding:9px 11px!important;
  border-radius:9px!important;
  background:#FFF2F1!important;
  color:#A7443F!important;
  font-size:11px!important;
}
body.rt-ritmu-access .green_error{
  margin:0 0 12px!important;
  padding:9px 11px!important;
  border-radius:9px!important;
  background:#EDF9F4!important;
  color:#247758!important;
  font-size:11px!important;
}

@media(max-width:900px){
  body.rt-ritmu-access{background:#F7F9FC!important}
  body.rt-ritmu-access>.container>.row{
    grid-template-columns:1fr!important;
    grid-template-rows:190px auto auto!important;
  }
  body.rt-ritmu-access .pen-title{
    grid-column:1!important;grid-row:1!important;
    background-color:#0B2E55!important;
    background-position:24px 26px!important;
    background-size:155px auto!important;
  }
  body.rt-ritmu-access .pen-title:before{
    left:24px!important;right:24px!important;top:92px!important;
    font-size:28px!important;
  }
  body.rt-ritmu-access .pen-title:after{display:none!important}
  body.rt-ritmu-access .btn_login_pin_table{
    grid-column:1!important;grid-row:2!important;
    align-self:start!important;
    width:min(440px,calc(100% - 28px))!important;
    margin:20px auto 10px!important;
  }
  body.rt-ritmu-access>.container>.row>.container{
    grid-column:1!important;grid-row:3!important;
    width:min(440px,calc(100% - 28px))!important;
    margin:0 auto 28px!important;
  }
}
