
/* Eliminate 300ms tap delay on all interactive elements */
*, *:before, *:after {touch-action: manipulation;}

/**************************************************************************
* Keypad (shared across login, payment, manager pin)
**************************************************************************/

.ui-keypad {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px;
  width: 300px;
  -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none;
}
.ui-keypad .ui-key {
  display: flex; align-items: center; justify-content: center;
  height: 78px;
  background-color: var(--epos-surface-light); border-radius: 10px;
  cursor: pointer; overflow: hidden; color: var(--epos-text);
  border: 1px solid var(--epos-border-light);
  -webkit-tap-highlight-color: transparent;
  transition: transform 0.06s ease-out, background-color 0.06s ease-out;
}
.ui-keypad .ui-key:active {transform: scale(0.92); background-color: var(--epos-surface-hover);}
.ui-keypad .ui-key .title {font-size: 1.6rem; text-align: center;}
.ui-keypad .ui-key.clear,
.ui-keypad .ui-key.enter {text-transform: uppercase;}
.ui-keypad .ui-key.clear {background-color: var(--epos-danger-bg); border-color: var(--epos-danger); color: var(--epos-danger);}
.ui-keypad .ui-key.enter {background-color: var(--epos-accent-bg); border-color: var(--epos-accent); color: var(--epos-accent);}

/**************************************************************************
* Dev Bar
**************************************************************************/

.epos-dev-bar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999999;
  background: #c0392b;
  color: #fff;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-align: center;
  padding: 2px 0;
  cursor: pointer;
}

/**************************************************************************
* Button
**************************************************************************/

.ui-btn,
.ui-btn:link,
.ui-btn:visited {background-color: #666; border: 0; box-sizing: border-box; color: #fff; cursor: pointer; display: block; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-size: 1.2rem; font-weight: 400; line-height: 36px; margin: 0; padding: 0 16px; text-align: center; text-decoration: none; text-transform: uppercase; -webkit-appearance: none;}

.ui-btn,
.ui-btn:link,
.ui-btn:visited {
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  -ms-border-radius: 2px;
  -o-border-radius: 2px;
  border-radius: 2px;
}

.ui-btn:focus,
.ui-btn:hover,
.ui-btn:active {background-color: #999;}

.ui-btn.cta {background-color: var(--brand);}
.ui-btn.cta:focus,
.ui-btn.cta:hover,
.ui-btn.cta:active {background-color: var(--brand-hover);}


.ui-btn.discreet {background-color: #d6d6d6;}
.ui-btn.discreet:focus,
.ui-btn.discreet:hover,
.ui-btn.discreet:active {background-color: #ccc;}

.ui-btn.delete {background-color: #e66747;}
.ui-btn.delete:focus,
.ui-btn.delete:hover,
.ui-btn.delete:active {background-color: #dc441e;}

@media all and (min-width: 1000px){
  
  .ui-btn {display: inline-block;}
}


/**************************************************************************
* Details List
**************************************************************************/

.ui-details-list {background: #fff; border: 1px solid #ddd; padding: 40px;}
.ui-details-list dl {margin: 0;}
.ui-details-list dl dt,
.ui-details-list dl dd {line-height: 30px;}
.ui-details-list dl dd.img {height: auto;}
.ui-details-list dl dt {color: #98A0AB; float: left; text-align: right; width: 180px;}
.ui-details-list dl dd {height: 30px; margin-left: 200px;}

.ui-details-list.edit-form dl {margin-bottom: 20px;}
.ui-details-list.edit-form dl dt {line-height: 42px;}
.ui-details-list.edit-form dl dt label {display: block;}
.ui-details-list.edit-form dl dd {height: auto;} /* height was set to 42px to stop collapsing - changed to auto to allow textarea */
.ui-details-list.edit-form .r_submit .ui-btn.discreet {float: right;}


/**************************************************************************
* Forms
**************************************************************************/

input[type="text"],
input[type="number"],
input[type="email"],
input[type="password"],
input[type="date"],
select,
textarea {background-color: #fff; border: 1px solid #ddd; box-sizing: border-box; display: block; font-size: 1.4rem; height: 42px; line-height: 20px; padding: 10px; width: 100%;}

input[type="text"],
input[type="number"],
input[type="email"],
input[type="password"],
textarea {
  -webkit-appearance: none;
  -webkit-border-radius: 0; 
  border-radius: 0;
}

select {
  -webkit-border-radius: 0; 
  border-radius: 0;
}

/* NB: Height is 80px (4 lines) + 20px padding (2 x 10px) + 2px border (2 x 1px)*/
textarea {height: 102px; resize: vertical;}

.ui-form-item {margin-top: 15px;}
.ui-form-item.first {margin-top: 0;}

.ui-form-item label {display: block; padding-bottom: 5px;}
.ui-form-item label input[type="checkbox"] {float: right;}


/**************************************************************************
* Form Group
**************************************************************************/

.ui-form-group {background: #fff; border: 1px solid #D5DAE0; padding: 40px;}
.ui-form-group dl {margin: 0 0 20px;}
.ui-form-group dl:last-child {margin-bottom: 0;}
.ui-form-group dl:after {clear: both; content: "."; display: block; height: 0; overflow: hidden; visibility: hidden;} /* clear-fix */
.ui-form-group dl dt,
.ui-form-group dl dd {line-height: 42px;}
.ui-form-group dl dt {color: #98A0AB; float: left; margin-right: 20px; text-align: right; width: 180px;}
.ui-form-group dl dd {margin-left: 200px;}
.ui-form-group dl dd img { max-width: 500px;}
.ui-form-group dl dd img:hover { cursor: pointer;}
.ui-form-group dl dd textarea {resize:vertical;}
.ui-form-group dl dd #cke_content {/*margin-left:4%;*/width: 100%}
/*.ui-form-group input[type="submit"] {float: right; margin-top: 10px; width: auto;}*/
.ui-form-group dl.submit dt,
.ui-form-group dl.submit dd {line-height: 36px;}
.ui-form-group dl.submit .ui-btn.discreet {float: right;}


/**************************************************************************
* Item Group
**************************************************************************/

.ui-item-group {margin-bottom: 30px;}
.ui-item-group .item-row {background-color: #fff; border: 1px solid #D5DAE0; display: block; line-height: 24px; margin-top: -1px; position: relative; padding: 10px 14px;}
.ui-item-group .item-row.header {background-color: #f3f3f3;}
.ui-item-group .item-row.header span {font-weight: 400;}
.ui-item-group .item-row:first-child {margin-top: 0;}
.ui-item-group .item-row:after {clear: both; content: "."; display: block; height: 0; overflow: hidden; visibility: hidden;} /* clear-fix */
.ui-item-group .item-row > span {box-sizing: content-box; display: inline-block; float: left; height: 24px; overflow: hidden; padding-right: 10px; text-overflow: ellipsis; white-space: nowrap;}
.ui-item-group .item-row > .actions {float: right; height: 24px; padding: 0;}

/* Make the action links look like ui-links */
.ui-item-group .item-row > .actions span {color: #4ac5de; display: inline-block; font-size: 12px; margin-left: 10px; text-decoration: none; text-transform: uppercase;}
.ui-item-group .item-row > .actions span:hover {cursor: pointer; text-decoration: none;}

/* For icon actions e.g edit pencil */
.ui-item-group .item-row > .actions i {color: #999; cursor: pointer; display: block; height: 24px; line-height: 24px; padding: 0; text-align: center; width: 24px;}
.ui-item-group .item-row > .actions i:hover {color: #666;}

/* Add a note to the row and float it to the right */
.ui-item-group .item-row > .right-note {color: #8a929e; float: right; font-size: 12px; height: 24px; /*text-transform: uppercase;*/}

/* Item group with full row links */
.ui-item-group > a.item-row,
.ui-item-group > a.item-row:link,
.ui-item-group > a.item-row:visited {background: #fff url("../images/icons/arrow-right-44.png") no-repeat right top; color: #656D78; padding-right: 44px;}
.ui-item-group > a.item-row:focus,
.ui-item-group > a.item-row:hover,
.ui-item-group > a.item-row:active {background-color: #f9f9f9; text-decoration: none;}

/* Item link tags */
.ui-item-group > a.item-row .tags {height: 34px; position: absolute; right: 44px; top: 10px;}
.ui-item-group > a.item-row .tags span {background-color: #26b3cf; color: #fff; display: block; font-size: 10px; font-weight: 400; margin-left: 10px; padding: 0 8px; text-transform: uppercase;}
.ui-item-group > a.item-row .tags span {
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  -ms-border-radius: 2px;
  -o-border-radius: 2px;
  border-radius: 2px;
}

/* Bootstrap styling clear
.ui-item-group .item-row .label {display: inline; padding: 0; font-size: inherit; font-weight: inherit; line-height: inherit; color: inherit; text-align: left; white-space: nowrap; vertical-align: baseline; border-radius: 0;}*/


/**************************************************************************
* Link
**************************************************************************/

a,
a:link,
a:visited,
.ui-link,
.ui-link:link,
.ui-link:visited {color: var(--brand);}
a:focus,
a:hover,
a:active,
.ui-link:focus,
.ui-link:hover,
.ui-link:active {text-decoration: underline;}


/**************************************************************************
* List
**************************************************************************/

.ui-list-header {margin: 20px 0 10px;}
.ui-list-header:after {clear: both; content: "."; display: block; height: 0; overflow: hidden; visibility: hidden;} /* Clear-fix */
.ui-list-header h2 {display: block; line-height: 30px; margin-bottom: 10px; padding: 0;}
.ui-list-header .btns .ui-btn {margin-bottom: 15px;}

.ui-list a,
.ui-list span.single {background-color: #fff; border: 1px solid #ddd; display: block; line-height: 24px; margin-top: -1px; position: relative; padding: 15px 30px 15px 15px;}

.ui-list a:first-child,
.ui-list span.single {margin-top: 0;}

.ui-list a:focus,
.ui-list a:hover,
.ui-list a:active {background-color: #f6f6f6; text-decoration: none;}

/* Arrow */
.ui-list a:after {content: ''; position: absolute; height: 0; margin-top: -6px; right: 15px; top: 50%; width: 0; 
  border-bottom: 6px solid transparent;
  border-left: 6px solid #ddd;
	border-top: 6px solid transparent;
}


/**************************************************************************
* Loader
**************************************************************************/

.be-loading {
  position: relative;
}
.be-loading:after {
  position: absolute;
  display: block;
  visibility: hidden;
  opacity: 0;
  content: "";
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: rgba(255, 255, 255, 0.7);
  -webkit-transition: all .2s ease;
  -o-transition: all .2s ease;
  transition: all .2s ease;
  z-index: 2;
}
.be-loading .be-spinner {
  display: none;
}
.be-loading-active:after {
  visibility: visible;
  opacity: 1;
}
.be-loading-active .be-spinner {
  display: block;
}
.be-loading .be-spinner {
  position: absolute;
  top: 50%;
  right: 50%;
  margin-top: -20px;
  margin-right: -20px;
  z-index: 3;
}
.be-spinner svg {
  -webkit-animation: be-spinner-rotation 1.4s linear infinite;
  -o-animation: be-spinner-rotation 1.4s linear infinite;
  animation: be-spinner-rotation 1.4s linear infinite;
  stroke: var(--brand);
}
.be-spinner svg .circle {
  stroke-dasharray: 187;
  stroke-dashoffset: 0;
  -webkit-transform-origin: center;
  -ms-transform-origin: center;
  -o-transform-origin: center;
  transform-origin: center;
  -webkit-animation: be-spinner-turn 1.4s ease-in-out infinite;
  -o-animation: be-spinner-turn 1.4s ease-in-out infinite;
  animation: be-spinner-turn 1.4s ease-in-out infinite;
}
@-webkit-keyframes be-spinner-rotation {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg);
  }
}
@-o-keyframes be-spinner-rotation {
  0% {
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -o-transform: rotate(270deg);
    transform: rotate(270deg);
  }
}
@keyframes be-spinner-rotation {
  0% {
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(270deg);
    -o-transform: rotate(270deg);
    transform: rotate(270deg);
  }
}
@-webkit-keyframes be-spinner-turn {
  0% {
    stroke-dashoffset: 187;
  }
  50% {
    stroke-dashoffset: 46.75;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
  }
  100% {
    stroke-dashoffset: 187;
    -webkit-transform: rotate(450deg);
    transform: rotate(450deg);
  }
}
@-o-keyframes be-spinner-turn {
  0% {
    stroke-dashoffset: 187;
  }
  50% {
    stroke-dashoffset: 46.75;
    -o-transform: rotate(135deg);
    transform: rotate(135deg);
  }
  100% {
    stroke-dashoffset: 187;
    -o-transform: rotate(450deg);
    transform: rotate(450deg);
  }
}
@keyframes be-spinner-turn {
  0% {
    stroke-dashoffset: 187;
  }
  50% {
    stroke-dashoffset: 46.75;
    -webkit-transform: rotate(135deg);
    -o-transform: rotate(135deg);
    transform: rotate(135deg);
  }
  100% {
    stroke-dashoffset: 187;
    -webkit-transform: rotate(450deg);
    -o-transform: rotate(450deg);
    transform: rotate(450deg);
  }
}


/**************************************************************************
* Modal
**************************************************************************/

.ui-modal {display: none;}
.ui-modal .overlay {background-color: rgba(0, 0, 0, 0.5); bottom: 0; left: 0; position: fixed; right: 0; top: 0; z-index: 2000;}
.ui-modal .container {background-color: #fff; border: 1px solid #D5DAE0; box-sizing: content-box; left: 50%; margin: 0; padding: 0 0 60px; position: fixed; top: 50%; width: 500px; z-index: 2010;}

.ui-modal .container {
  -webkit-box-shadow: 0 7px 27px rgba(0,0,0,0.45);
  -moz-box-shadow: 0 7px 27px rgba(0,0,0,0.45);
  -ms-box-shadow: 0 7px 27px rgba(0,0,0,0.45);
  -o-box-shadow: 0 7px 27px rgba(0,0,0,0.45);
  box-shadow: 0 7px 27px rgba(0,0,0,0.45);
  
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
}

.ui-modal-inner > .header {background: #f0f0f0; line-height: 30px; padding: 10px 0; text-align: center;}

.ui-modal-inner > .content {padding: 20px;}
.ui-modal-inner > .content > .errors {color: #f00; margin-bottom: 20px;}
.ui-modal-inner > .content > .intro {margin-bottom: 20px;}

.ui-modal-inner > .content .form-group {margin-bottom: 15px;}
.ui-modal-inner > .content .form-group label {display: inline-block; font-weight: 700; margin-bottom: 10px;}

.ui-modal-inner > .footer {bottom: 0; height: 50px; left: 0; position: absolute; width: 100%;}
.ui-modal-inner > .footer .loading {background: url('../images/icons/modal-loading.png'); display: block; float: left; height: 18px; margin: 11px 0 11px 20px; width: 18px;}
.ui-modal-inner > .footer .right {float: right; padding-right: 10px;}
.ui-modal-inner > .footer .right button {background-color: transparent; border: 0; color: #4ac5de; cursor: pointer; display: block; float: left; font-size: 13px; line-height: 36px; margin-left: 10px; padding: 0 10px; text-transform: uppercase;}
.ui-modal-inner > .footer .right button:focus,
.ui-modal-inner > .footer .right button:hover,
.ui-modal-inner > .footer .right button:active {outline: 0;}
.ui-modal-inner > .footer .right button:not(.disabled):active {background-color: #f0f0f0;}
.ui-modal-inner > .footer .right button.disabled {color: #656D78; cursor: default; opacity: 0.4;}

.ui-modal-inner > .footer .right button {
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  -ms-border-radius: 2px;
  -o-border-radius: 2px;
  border-radius: 2px;
}

.ui-modal-inner > .footer .loading {
  -webkit-transform-origin: 50% 48%;
  -moz-transform-origin: 50% 48%;
  -ms-transform-origin: 50% 48%;
  -o-transform-origin: 50% 48%;
  transform-origin: 50% 48%;
  -webkit-animation: spin 600ms infinite linear;
  animation: spin 600ms infinite linear;
}
@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}


body.uim-open {overflow: hidden;}
body.uim-open .ui-modal {display: block;}


/**************************************************************************
* Notification
**************************************************************************/

.ui-notification {bottom: 0; box-sizing: border-box; color: #fff; left: 0; padding: 16px; position: fixed; text-align: center; width: 100%; z-index: 100;}
.ui-notification {
	-webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.3);
	-moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.3);
	box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.3);
	
	-webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
}

.ui-notification.success {background-color: #7ec51b;}
.ui-notification.fail {background-color: #dc441e;}
.ui-notification.info {background-color: #1b9bc5;}

/*
.ui-notification span.action { cursor: pointer; margin-left: 10px; text-transform: uppercase; }
*/


/**************************************************************************
* Page Footer
**************************************************************************/

.ui-page-footer {margin: 40px 0 30px;}
.ui-page-footer:after {clear: both; content: "."; display: block; height: 0; overflow: hidden; visibility: hidden;} /* clear-fix */
.ui-page-footer .actions {float: right;}


/**************************************************************************
* Page Header
**************************************************************************/

/*
.ui-page-header {position: relative;}
.ui-page-header:after {clear: both; content: "."; display: block; height: 0; overflow: hidden; visibility: hidden;}
.ui-page-header h1 {display: block; line-height: 40px; margin-bottom: 10px; padding: 0;}
.ui-page-header .btns .ui-btn {margin-bottom: 15px;}
*/
/**************************************************************************
* Page Header (from ProShops)
**************************************************************************/

.ui-page-header {margin: 20px 0 40px; position: relative;}
.ui-page-header.no-bottom-margin {margin-bottom: 0;}
.ui-page-header h1 {margin: 0;}
.ui-page-header .actions {position: absolute; right: 0; top: 0;}


/**************************************************************************
* Section / Sheet (paper elements)
**************************************************************************/

.ui-section {margin-bottom: 30px;}

.ui-section-header {line-height: 20px; margin: 30px 0 10px;}
.ui-section-header.no-top-margin {margin-top: 0;}
.ui-section-header:after {clear: both; content: "."; display: block; height: 0; overflow: hidden; visibility: hidden;} /* clear-fix */
.ui-section-header h2 {float: left; font-size: 18px; line-height: 20px; margin: 0;}
.ui-section-header .actions {float: right;}
.ui-section-header .actions .mdi-delete {margin-right: 2px;}
/*.ui-section-header .actions a {display: block; float: left;  font-size: 14px; margin-left: 10px;}*/
.ui-section-header .actions span,
.ui-section-header .actions a,
.ui-section-header .actions a:link,
.ui-section-header .actions a:visited {color: #666; cursor: pointer; display: block; font-size: 12px; float: left; margin-left: 10px; padding: 0 0 0 15px; text-decoration: none;}
.ui-section-header .actions span:focus,
.ui-section-header .actions span:hover,
.ui-section-header .actions span:active,
.ui-section-header .actions a:focus,
.ui-section-header .actions a:hover,
.ui-section-header .actions a:active {color: #333; text-decoration: underline;}
.ui-section-header .actions span:active,
.ui-section-header .actions a:active {position: relative; top: 1px;}
.ui-section-header .actions span.add,
.ui-section-header .actions a.add {background: url('../images/icons/add.png') 0 50% no-repeat;}
.ui-section-header .actions span.edit,
.ui-section-header .actions a.edit {background: url('../images/icons/edit.png') 0 50% no-repeat;}


/**************************************************************************
* Responsive / Media Queries
**************************************************************************/


@media all and (min-width: 750px){
  
  /**************************************************************************
  * List Header
  **************************************************************************/
  
  .ui-list-header {margin-top: 40px;}
  .ui-list-header h2 {display: inline-block; float: left; margin: 0;}
  .ui-list-header .btns {float: right;}
  .ui-list-header .btns .ui-btn {float: left; margin-bottom: 0; margin-left: 10px; padding: 5px 20px;}
  .ui-list-header .btns .ui-btn:first-child {margin-left: 0;}
  
  
  /**************************************************************************
  * Notification
  **************************************************************************/
  
  .ui-notification {bottom: 10px; left: 12px; width: auto; }
  
  
  /**************************************************************************
  * Page Header
  **************************************************************************/
  
  /*
  .ui-page-header {margin-bottom: 20px;}
  .ui-page-header h1 {display: inline-block; float: left; margin: 0;}
  .ui-page-header .btns {float: right;}
  .ui-page-header .btns .ui-btn {float: left; margin-bottom: 0; margin-left: 10px; padding: 10px 20px;}
  .ui-page-header .btns .ui-btn:first-child {margin-left: 0;}
  */
  
}

@media all and (min-width: 1000px){
  
  /**************************************************************************
  * List Header
  **************************************************************************/
  
  .ui-list-header h2 {display: inline-block;}
  .ui-list-header .btns {float: right;}
  

  /**************************************************************************
  * Notification
  **************************************************************************/
  
  .ui-notification {bottom: 20px; font-weight: 400; font-size: 1.6rem; line-height: 20px; left: 20px; padding-right: 52px;}
  .ui-notification .dismiss {color: rgba(255, 255, 255, 0.7); cursor: pointer; font-size: 1.8rem; height: 52px; line-height: 52px; position: absolute; right: 0; text-align: center; top: 0; width: 52px;}
  .ui-notification .dismiss:focus,
  .ui-notification .dismiss:hover,
  .ui-notification .dismiss:active {color: #fff;}
  
  
  /**************************************************************************
  * Page Header
  **************************************************************************/
  
  /*
  .ui-page-header h1 {display: inline-block;}
  .ui-page-header .btns {float: right;}
  */
}



/**************************************************************************
*
*
* Theming (overwrites which is why this is at the bottom)
*
*
**************************************************************************/


/**************************************************************************
* Borders
**************************************************************************/

.ui-form-group,
input[type="text"], input[type="number"], input[type="email"], input[type="password"], input[type="date"], select, textarea,
.ui-item-group .item-row {border-color: #E6e6e6;}


/**************************************************************************
* EPOS Dark Theme Overrides
* Scoped to .l_register and .l_login body classes
**************************************************************************/

.l_register .ui-btn,
.l_register .ui-btn:link,
.l_register .ui-btn:visited,
.l_login .ui-btn,
.l_login .ui-btn:link,
.l_login .ui-btn:visited {background-color: var(--epos-surface-light); color: var(--epos-text); border-radius: 8px;}

.l_register .ui-btn:focus,
.l_register .ui-btn:hover,
.l_register .ui-btn:active,
.l_login .ui-btn:focus,
.l_login .ui-btn:hover,
.l_login .ui-btn:active {background-color: var(--epos-surface-hover);}

.l_register .ui-btn.cta,
.l_login .ui-btn.cta {background-color: var(--epos-accent);}
.l_register .ui-btn.cta:focus,
.l_register .ui-btn.cta:hover,
.l_register .ui-btn.cta:active,
.l_login .ui-btn.cta:focus,
.l_login .ui-btn.cta:hover,
.l_login .ui-btn.cta:active {background-color: var(--epos-accent-hover);}

.l_register .ui-btn.discreet,
.l_login .ui-btn.discreet {background-color: var(--epos-surface-hover);}
.l_register .ui-btn.discreet:focus,
.l_register .ui-btn.discreet:hover,
.l_register .ui-btn.discreet:active,
.l_login .ui-btn.discreet:focus,
.l_login .ui-btn.discreet:hover,
.l_login .ui-btn.discreet:active {background-color: var(--epos-border-light);}

.l_register .ui-btn.delete,
.l_login .ui-btn.delete {background-color: var(--epos-danger);}

/* Forms */
.l_register input[type="text"],
.l_register input[type="number"],
.l_register input[type="email"],
.l_register input[type="password"],
.l_register input[type="date"],
.l_register select,
.l_register textarea {
  background-color: var(--epos-surface-light); border-color: var(--epos-border);
  color: var(--epos-text); border-radius: 6px;
}

.l_register .ui-form-group {background: var(--epos-surface); border-color: var(--epos-border);}
.l_register .ui-form-group dl dt {color: var(--epos-text-muted);}

/* Item group */
.l_register .ui-item-group .item-row {background-color: var(--epos-surface); border-color: var(--epos-border); color: var(--epos-text-secondary);}
.l_register .ui-item-group .item-row.header {background-color: var(--epos-surface-light);}
.l_register .ui-item-group .item-row > .actions span {color: var(--epos-accent);}
.l_register .ui-item-group .item-row > .actions i {color: var(--epos-text-muted);}

/* Details list */
.l_register .ui-details-list {background: var(--epos-surface); border-color: var(--epos-border);}
.l_register .ui-details-list dl dt {color: var(--epos-text-muted);}

/* Modal */
.l_register .ui-modal .overlay {background-color: rgba(0, 0, 0, 0.6);}
.l_register .ui-modal .container {background-color: var(--epos-surface); border-color: var(--epos-border); box-shadow: 0 8px 32px rgba(0,0,0,0.5); border-radius: 12px;}
.l_register .ui-modal-inner > .header {background: var(--epos-surface-light); color: var(--epos-text);}
.l_register .ui-modal-inner > .content {color: var(--epos-text-secondary);}
.l_register .ui-modal-inner > .content > .errors {color: var(--epos-danger);}
.l_register .ui-modal-inner > .footer .right button {color: var(--epos-accent);}
.l_register .ui-modal-inner > .footer .right button:not(.disabled):active {background-color: var(--epos-surface-hover);}
.l_register .ui-modal-inner > .footer .right button.disabled {color: var(--epos-text-muted);}

/* Notification */
.l_register .ui-notification.success {background-color: var(--epos-success);}
.l_register .ui-notification.fail {background-color: var(--epos-danger);}
.l_register .ui-notification.info {background-color: #185FA5;}

/* Links */
.l_register a,
.l_register a:link,
.l_register a:visited,
.l_register .ui-link,
.l_register .ui-link:link,
.l_register .ui-link:visited {color: var(--epos-accent);}

/* Lists */
.l_register .ui-list a,
.l_register .ui-list span.single {background-color: var(--epos-surface); border-color: var(--epos-border); color: var(--epos-text-secondary);}
.l_register .ui-list a:focus,
.l_register .ui-list a:hover,
.l_register .ui-list a:active {background-color: var(--epos-surface-hover);}

/* Borders override */
.l_register .ui-form-group,
.l_register input[type="text"], .l_register input[type="number"], .l_register input[type="email"], .l_register input[type="password"], .l_register input[type="date"], .l_register select, .l_register textarea,
.l_register .ui-item-group .item-row {border-color: var(--epos-border);}

.ui-dashboard-link {
  position: fixed; top: 16px; left: 16px; z-index: 100;
  font-size: 2.4rem; color: var(--epos-text-muted); text-decoration: none;
  cursor: pointer; transition: color 0.15s;
  -webkit-tap-highlight-color: transparent;
}
.ui-dashboard-link:hover,
.ui-dashboard-link:active { color: var(--epos-text); }

