:root {
    --white: rgba(255, 253, 250, 1);
    --branding: rgba(255, 128, 64, 1);
    --black: rgba(3, 14, 15, 1);
    --white-64: rgba(255, 253, 250, 0.64);
    --black-40: rgba(3, 14, 15, 0.4);
    --black-64: rgba(3, 14, 15, 0.64);
    --active: rgba(255, 201, 173, 1);
    --black-80: rgba(3, 14, 15, 0.8);
    --heart-fillminus: rgba(255, 97, 80, 1);
    --note: rgba(224, 224, 224, 1);
    --black-56: rgba(3, 14, 15, 0.56);
    --white-80: rgba(255, 253, 250, 0.8);
    --appt-stagedone: rgba(163, 163, 163, 1);
    --appt-stageno-show-cancel: rgba(51, 51, 51, 0.8);
    --categoriesacrylic: rgba(244, 167, 185, 1);
    --categoriesdip: rgba(245, 92, 88, 1);
    --categoriesmani: rgba(251, 150, 110, 1);
    --categoriespedi: rgba(246, 197, 85, 1);
    --categorieswax: rgba(202, 173, 95, 1);
    --categorieslash: rgba(190, 194, 63, 1);
    --categoriesfacial: rgba(59, 163, 95, 1);
    --categoriesmakeup: rgba(20, 102, 78, 1);
    --categorieshead: rgba(30, 136, 168, 1);
    --categoriesgiftcard: rgba(138, 107, 190, 1);
    --stagesconfirm-unconfirm: rgba(87, 179, 220, 1);
    --stagescheckin: rgba(235, 175, 48, 1);
    --stagesin-service: rgba(0, 170, 144, 1);
    --stagesdone: rgba(215, 84, 85, 1);
    --stagesin-service-fill: rgba(173, 255, 243, 1);
    --stagescheckin-fill: rgba(255, 229, 173, 1);
    --stagesdone-fill: rgba(255, 173, 174, 1);
    --h3-font-family: "Montserrat", Helvetica;
    --h3-font-weight: 600;
    --h3-font-size: 14px;
    --h3-letter-spacing: 0px;
    --h3-line-height: normal;
    --h3-font-style: normal;
    --body-font-family: "Montserrat", Helvetica;
    --body-font-weight: 400;
    --body-font-size: 14px;
    --body-letter-spacing: 0px;
    --body-line-height: normal;
    --body-font-style: normal;
    --h2-font-family: "Montserrat", Helvetica;
    --h2-font-weight: 600;
    --h2-font-size: 20px;
    --h2-letter-spacing: 0px;
    --h2-line-height: 120.00000476837158%;
    --h2-font-style: normal;
    --h1-font-family: "Montserrat", Helvetica;
    --h1-font-weight: 600;
    --h1-font-size: 30px;
    --h1-letter-spacing: 0px;
    --h1-line-height: 120.00000476837158%;
    --h1-font-style: normal;
    --extra-font-family: "Montserrat", Helvetica;
    --extra-font-weight: 400;
    --extra-font-size: 12px;
    --extra-letter-spacing: 0px;
    --extra-line-height: normal;
    --extra-font-style: normal;
    --popup: 0px 4px 20px 0px rgba(0, 0, 0, 0.1);
    --calculator: 0px 4px 10px 0px rgba(0, 0, 0, 0.1);
    --red: rgba(215, 84, 85, 1);
    --green: rgba(0, 170, 144, 1);
    --yellow: var(--bs-yellow);
    --red-o: rgba(255, 173, 174, 1);
    --green-o: rgba(173, 255, 243, 1);
    --yellow-o: rgb(255, 242, 215, 1);
    --brand-color: #FF8040;
    --brand-sub-color: #FFC9AD;
    --backgroud: #f1f1f1;
    --confirm-color: #57B3DC;
    --checkin-color: #EBAF30;
    --in-service-color: #00AA90;
    --done-color: #D75455;
    --close-color: #A3A3A3;
    --main-color-o: rgba(255, 201, 173, 1);
    --qs-txt: var(--theme-mode-text-gray);
    --qs-txt-solid: var(--theme-mode-text);
    --shadow-qs-solid: 0px 4px 20px 0px rgba(0, 0, 0, 0.1);
    --shadow-qs-light: 0px 2px 4px 0px rgba(0, 0, 0, 0.1);
    --red-simpli: rgba(255, 97, 80, 1);
    --backgroud-gray: rgba(224, 224, 224, 1);
}


:root {
    --vh: 1;
    --scale: 100;
    --px-2: calc(2px * var(--scale) / 100);
    --px-4: calc(4px * var(--scale) / 100);
    --px-8: calc(8px * var(--scale) / 100);
    --px-12: calc(12px * var(--scale) / 100);
    --px-16: calc(16px * var(--scale) / 100);
    --px-20: calc(20px * var(--scale) / 100);
    --px-24: calc(24px * var(--scale) / 100);
    --px-28: calc(28px * var(--scale) / 100);
    --px-32: calc(32px * var(--scale) / 100);
    --px-36: calc(36px * var(--scale) / 100);
    --px-40: calc(40px * var(--scale) / 100);
    --px-44: calc(44px * var(--scale) / 100);
    --px-48: calc(48px * var(--scale) / 100);
    --px-52: calc(52px * var(--scale) / 100);
    --px-56: calc(56px * var(--scale) / 100);
    --px-60: calc(60px * var(--scale) / 100);
    --px-64: calc(64px * var(--scale) / 100);
    --px-68: calc(68px * var(--scale) / 100);
    --px-72: calc(72px * var(--scale) / 100);
    --px-76: calc(76px * var(--scale) / 100);
    --px-80: calc(80px * var(--scale) / 100);
    --px-84: calc(84px * var(--scale) / 100);
    --px-88: calc(88px * var(--scale) / 100);
    --px-92: calc(92px * var(--scale) / 100);
    --px-96: calc(96px * var(--scale) / 100);
    --px-100: calc(100px * var(--scale) / 100);
    --px-104: calc(104px * var(--scale) / 100);
    --px-108: calc(108px * var(--scale) / 100);
    --px-112: calc(112px * var(--scale) / 100);
    --px-116: calc(116px * var(--scale) / 100);
    --px-120: calc(120px * var(--scale) / 100);
    --px-124: calc(124px * var(--scale) / 100);
    --px-128: calc(128px * var(--scale) / 100);
    --px-132: calc(132px * var(--scale) / 100);
    --px-136: calc(136px * var(--scale) / 100);
    --px-140: calc(140px * var(--scale) / 100);
    --px-144: calc(144px * var(--scale) / 100);
    --px-148: calc(148px * var(--scale) / 100);
    --px-152: calc(152px * var(--scale) / 100);
    --px-156: calc(156px * var(--scale) / 100);
    --px-160: calc(160px * var(--scale) / 100);
    --px-164: calc(164px * var(--scale) / 100);
    --px-168: calc(168px * var(--scale) / 100);
    --px-172: calc(172px * var(--scale) / 100);
    --px-176: calc(176px * var(--scale) / 100);
    --px-180: calc(180px * var(--scale) / 100);
    --px-184: calc(184px * var(--scale) / 100);
    --px-188: calc(188px * var(--scale) / 100);
    --px-192: calc(192px * var(--scale) / 100);
    --px-196: calc(196px * var(--scale) / 100);
    --px-200: calc(200px * var(--scale) / 100);
    --px-204: calc(204px * var(--scale) / 100);
    --px-208: calc(208px * var(--scale) / 100);
    --px-212: calc(212px * var(--scale) / 100);
    --px-216: calc(216px * var(--scale) / 100);
    --px-220: calc(220px * var(--scale) / 100);
    --px-224: calc(224px * var(--scale) / 100);
    --px-228: calc(228px * var(--scale) / 100);
    --px-232: calc(232px * var(--scale) / 100);
    --px-236: calc(236px * var(--scale) / 100);
    --px-240: calc(240px * var(--scale) / 100);
    --px-244: calc(244px * var(--scale) / 100);
    --px-248: calc(248px * var(--scale) / 100);
    --px-252: calc(252px * var(--scale) / 100);
    --px-256: calc(256px * var(--scale) / 100);
    --px-260: calc(260px * var(--scale) / 100);
    --px-264: calc(264px * var(--scale) / 100);
    --px-268: calc(268px * var(--scale) / 100);
    --px-272: calc(272px * var(--scale) / 100);
    --px-276: calc(276px * var(--scale) / 100);
    --px-280: calc(280px * var(--scale) / 100);
    --px-284: calc(284px * var(--scale) / 100);
    --px-288: calc(288px * var(--scale) / 100);
    --px-292: calc(292px * var(--scale) / 100);
    --px-296: calc(296px * var(--scale) / 100);
    --px-300: calc(300px * var(--scale) / 100);
    --px-304: calc(304px * var(--scale) / 100);
    --px-308: calc(308px * var(--scale) / 100);
    --px-312: calc(312px * var(--scale) / 100);
    --px-316: calc(316px * var(--scale) / 100);
    --px-320: calc(320px * var(--scale) / 100);
    --px-324: calc(324px * var(--scale) / 100);
    --px-328: calc(328px * var(--scale) / 100);
    --px-332: calc(332px * var(--scale) / 100);
    --px-336: calc(336px * var(--scale) / 100);
    --px-340: calc(340px * var(--scale) / 100);
    --px-344: calc(344px * var(--scale) / 100);
    --px-348: calc(348px * var(--scale) / 100);
    --px-352: calc(352px * var(--scale) / 100);
    --px-356: calc(356px * var(--scale) / 100);
    --px-360: calc(360px * var(--scale) / 100);
    --px-364: calc(364px * var(--scale) / 100);
    --px-368: calc(368px * var(--scale) / 100);
    --px-372: calc(372px * var(--scale) / 100);
    --px-376: calc(376px * var(--scale) / 100);
    --px-380: calc(380px * var(--scale) / 100);
    --px-384: calc(384px * var(--scale) / 100);
    --px-388: calc(388px * var(--scale) / 100);
    --px-392: calc(392px * var(--scale) / 100);
    --px-396: calc(396px * var(--scale) / 100);
    --px-400: calc(400px * var(--scale) / 100);
    --px-420: calc(420px * var(--scale) / 100);
    --px-430: calc(430px * var(--scale) / 100);
    --px-440: calc(440px * var(--scale) / 100);
    --px-450: calc(450px * var(--scale) / 100);
    --px-460: calc(460px * var(--scale) / 100);
    --px-480: calc(480px * var(--scale) / 100);
    --px-500: calc(500px * var(--scale) / 100);
    --px-550: calc(550px * var(--scale) / 100);
    --px-570: calc(570px * var(--scale) / 100);
    --px-600: calc(600px * var(--scale) / 100);
    --px-620: calc(620px * var(--scale) / 100);
    --px-640: calc(640px * var(--scale) / 100);
    --px-650: calc(650px * var(--scale) / 100);
    --px-690: calc(690px * var(--scale) / 100);
    --px-700: calc(700px * var(--scale) / 100);
    --px-710: calc(710px * var(--scale) / 100);
    --px-800: calc(800px * var(--scale) / 100);
    --px-820: calc(820px * var(--scale) / 100);
    --px-900: calc(900px * var(--scale) / 100);
    --px-950: calc(950px * var(--scale) / 100);
    --px-970: calc(970px * var(--scale) / 100);
    --px-988: calc(988px * var(--scale) / 100);
    --px-998: calc(998px * var(--scale) / 100);
    --px-1100: calc(1100px * var(--scale) / 100);
    --px-1200: calc(1200px * var(--scale) / 100);
    /**/
    --s-8: calc(8px * var(--scale) / 100) / calc(11px * var(--scale) / 100) "Montserrat", sans-serif;
    --s-10: calc(10px * var(--scale) / 100) / calc(13px * var(--scale) / 100) "Montserrat", sans-serif;
    --s-11: calc(11px * var(--scale) / 100) / calc(14px * var(--scale) / 100) "Montserrat", sans-serif;
    --s-12: calc(12px * var(--scale) / 100) / calc(15px * var(--scale) / 100) "Montserrat", sans-serif;
    --s-13: calc(13px * var(--scale) / 100) / calc(16px * var(--scale) / 100) "Montserrat", sans-serif;
    --s-14: calc(14px * var(--scale) / 100) / calc(15px * var(--scale) / 100) "Montserrat", sans-serif;
    --s-15: calc(15px * var(--scale) / 100) / calc(19px * var(--scale) / 100) "Montserrat", sans-serif;
    --s-16: calc(16px * var(--scale) / 100) / calc(19px * var(--scale) / 100) "Montserrat", sans-serif;
    --s-17: calc(17px * var(--scale) / 100) / calc(20px * var(--scale) / 100) "Montserrat", sans-serif;
    --s-18: calc(18px * var(--scale) / 100) / calc(22px * var(--scale) / 100) "Montserrat", sans-serif;
    --s-19: calc(19px * var(--scale) / 100) / calc(23px * var(--scale) / 100) "Montserrat", sans-serif;
    --s-20: calc(20px * var(--scale) / 100) / calc(24px * var(--scale) / 100) "Montserrat", sans-serif;
    --s-22: calc(22px * var(--scale) / 100) / calc(27px * var(--scale) / 100) "Montserrat", sans-serif;
    --s-24: calc(24px * var(--scale) / 100) / calc(37px * var(--scale) / 100) "Montserrat", sans-serif;
    --s-25: calc(25px * var(--scale) / 100) / calc(30px * var(--scale) / 100) "Montserrat", sans-serif;
    --s-26: calc(26px * var(--scale) / 100) / calc(32px * var(--scale) / 100) "Montserrat", sans-serif;
    --s-28: calc(28px * var(--scale) / 100) / calc(34px * var(--scale) / 100) "Montserrat", sans-serif;
    --s-30: calc(30px * var(--scale) / 100) / calc(37px * var(--scale) / 100) "Montserrat", sans-serif;
    --s-32: calc(32px * var(--scale) / 100) / calc(39px * var(--scale) / 100) "Montserrat", sans-serif;
    --s-38: calc(38px * var(--scale) / 100) / calc(42px * var(--scale) / 100) "Montserrat", sans-serif;
    --s-45: calc(45px * var(--scale) / 100) / calc(55px * var(--scale) / 100) "Montserrat", sans-serif;
    --s-50: calc(50px * var(--scale) / 100) / calc(61px * var(--scale) / 100) "Montserrat", sans-serif;
    --s-54: calc(54px * var(--scale) / 100) / calc(66px * var(--scale) / 100) "Montserrat", sans-serif;
    --s-80: calc(80px * var(--scale) / 100) / calc(98px * var(--scale) / 100) "Montserrat", sans-serif;
    --shadow: 0px 1px 3px 0px rgba(60,64,67,.30), 0px 4px 8px 3px rgba(60,64,67,.15);
    --bdr-1: 1px solid rgb(218,220,224);
    --bdr-2: 2px solid rgb(218,220,224);
    --bs-main: #00bed6;
    --bs-main-50: #ebffff;
    --bs-main-100: #cefdff;
    --bs-main-200: #a2f8ff;
    --bs-main-300: #63f0fd;
    --bs-main-400: #1cdef4;
    --bs-main-500: #00bed6;
    --bs-main-600: #039ab7;
    --bs-main-700: #0a7b94;
    --bs-main-800: #126278;
    --bs-main-900: #145265;
    --bs-main-950: #063646;
    --bs-main-o: var(--bs-main-100);
    --color-chart: var(--bs-main);
    --color-chart-o: var(--bs-main-o);
    --color-bg: #f9f9f9;
    --color-white: #ffffff;
    --color-border: #e5e5e5;
    --color-text: #0d1619;
    --color-hover: #0d16190a;
    --fw-400: 400;
    --fw-500: 500;
    --fw-600: 600;
    --column-min: 0;
    --column-max: 1fr;
    --rowSize: auto;
    --chart-gray: var(--bs-gray-100);
    --chart-gradiant: linear-gradient(90deg, var(--bs-main) 0%, var(--bs-main-300) 100%);
    --bard-color-brand-text-gradient-stop-1: #4285f4;
    --bard-color-brand-text-gradient-stop-1-rgb: 66, 133, 244;
    --bard-color-brand-text-gradient-stop-2: #9b72cb;
    --bard-color-brand-text-gradient-stop-2-rgb: 155, 114, 203;
    --bard-color-brand-text-gradient-stop-3: #d96570;
    --bard-color-brand-text-gradient-stop-3-rgb: 217, 101, 112;
    --gem-sys-color--surface: #fff;
    --transform-page: 100%;
    --w-day: var(--px-100);
    --bg-inp: #fafcfe;
    --bs-gray-100: var(--bs-main-50);
}

.shadow-scroll {
    box-shadow: 4px 2px 4px var(--bs-gray-400);
}

/* Common CSS properties  */
.dis-none {
    display: none !important;
}

input::-internal-datetime-container {
    flex-direction: row-reverse;
}

/*input[type=checkbox] {
    height: 0;
    width: 0;
    visibility: hidden;
}*/

label.checkbox {
    margin: 0;
    display: block;
    cursor: pointer;
    overflow: hidden;
    text-indent: -9999px;
    width: var(--px-48);
    height: var(--px-24);
    background: #D1D1D1;
    position: relative;
    border-radius: var(--px-60);
}

    label.checkbox:after {
        content: '';
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: var(--px-2);
        width: var(--px-20);
        height: var(--px-20);
        background: #fff;
        border-radius: var(--px-24);
        transition: 0.5s;
    }

input:checked + label.checkbox {
    background: var(--main-color);
    border: 1px solid var(--theme-mode-border);
}

    input:checked + label.checkbox:after {
        left: calc(100% - var(--px-2));
        transform: translate(-100%, -50%);
    }

label.checkbox:active:after {
    width: 130px;
}

.toggle-option {
    display: flex;
    gap: var(--px-8);
    align-items: center;
    height: var(--px-36);
}

.wrap-line-1, .wrap-line-2, .wrap-line-3, .wrap-line-4, .wrap-line-5 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    word-break: break-word;
    text-overflow: ellipsis;
    text-transform: capitalize;
    -webkit-box-orient: vertical;
}

.wrap-line-2 {
    -webkit-line-clamp: 2;
}

.wrap-line-3 {
    -webkit-line-clamp: 3;
}

.wrap-line-4 {
    -webkit-line-clamp: 4;
}

.wrap-line-5 {
    -webkit-line-clamp: 5;
}

button {
    z-index: 0;
    outline: unset;
    position: relative;
    overflow: hidden;
    -webkit-font-smoothing: antialiased;
}

    button::before {
        content: '';
        display: block;
        opacity: 0;
        position: absolute;
        transition-duration: .15s;
        transition-timing-function: cubic-bezier(0.6,0.0,0.2,1);
        z-index: -1;
        bottom: 0;
        left: 0;
        right: 0;
        top: 0;
        background: var(--bs-dark);
        border-radius: 4px;
        transform: scale(0);
        transition-property: transform,opacity;
    }

    button:active::before {
        opacity: .1;
        transform: scale(1.5);
    }

    button:active > * {
        animation: scale-click .3s;
    }

    button.btn-close-popup {
        padding: 0;
        font-weight: 700;
        color: var(--bs-dark);
        font-size: var(--px-24);
    }

    button.btn-gray {
        background: var(--bs-gray-500);
    }

    button.disable {
        opacity: .4;
        pointer-events: none;
    }

    button[data-bs-dismiss="modal"] {
        background: unset;
        color: var(--bs-main);
        font-size: var(--px-24);
    }

    button.br-100 {
        border-radius: 100%;
    }

    button.br-0 {
        border-radius: 0;
    }

    button.icon-btn {
        display: flex;
        align-items: center;
        width: var(--px-32);
        height: var(--px-32);
        justify-content: center;
        color: var(--bs-gray-800);
        border-radius: var(--px-32);
        background: var(--bs-white);
        border: 1px solid var(--bs-gray-300);
    }

.underline {
    text-decoration: underline;
}

div, p, span, a, b, button, input, h1, h2, h3, h4, h5, h6 {
    font-family: Montserrat, sans-serif;
}

.txt-white {
    color: var(--theme-mode-text-white);
}

.txt-green {
    color: var(--bs-green) !important;
}

.txt-red {
    color: var(--bs-danger) !important;
}

.txt-pink {
    color: var(--bs-pink) !important;
}

.txt-dark {
    color: var(--theme-mode-text-dark);
}

.disNone, .disnone {
    display: none !important;
}

.noClick {
    pointer-events: none !important;
}

.no-click {
    pointer-events: none !important;
}

.allow-click {
    pointer-events: all !important;
}

p {
    margin: 0;
}

body {
    width: 100vw;
    display: flex;
    overflow: hidden;
    flex-direction: column;
    height: 100dvh !important;
}

header.container-header-layout {
    flex: 1;
    display: flex;
    align-items: center;
    max-height: var(--px-60);
    justify-content: flex-start;
    padding: 0 var(--px-20);
    box-shadow: 0 2px 2px #00000020;
}

    header.container-header-layout .nav-start,
    header.container-header-layout .nav-end {
        flex: 1;
        display: flex;
        align-items: center;
    }

        header.container-header-layout .nav-start img {
            width: var(--px-40);
            height: var(--px-40);
        }

    header.container-header-layout .nav-end {
        justify-content: end;
        align-items: center;
    }

        header.container-header-layout .nav-end .logo-store {
            background: unset;
            border-radius: 100%;
            width: var(--px-50);
            height: var(--px-50);
        }

        header.container-header-layout .nav-end button.setting {
            width: 88%;
            border: none;
            display: flex;
            align-items: center;
            height: var(--px-44);
            margin-top: var(--px-8);
            font: normal normal 400 var(--s-16);
            justify-content: flex-start;
            border-radius: 0 var(--px-20) var(--px-20) 0;
            border-left: 3px solid transparent;
        }

            header.container-header-layout .nav-end button.setting:hover {
                background: var(--bs-main-100);
                border-left: 3px solid var(--bs-main)
            }

header .title-header {
    white-space: nowrap;
    font: normal normal 700 var(--s-20)
}

.search-form {
    display: grid;
    align-items: center;
    width: var(--px-40);
    height: var(--px-40);
    padding: 0 var(--px-8);
    border-radius: var(--px-12);
    grid-template-columns: var(--px-28) 1fr var(--px-60);
    font-size: var(--px-16);
    color: var(--black-64);
    cursor: pointer;
}

    .search-form:not(.active) input,
    .search-form:not(.active) button,
    .search-form:not(.active) .filter-form {
        display: none
    }

    .search-form.active {
        width: var(--px-500);
        background: white;
        height: var(--px-60);
        position: absolute;
        top: var(--px-24);
        left: 50%;
        z-index: 20;
        transform: translateX(-50%);
        padding: 0 var(--px-24);
        box-shadow: var(--shadow);
        border-radius: var(--px-12);
        max-width: 90%;
        align-items: center;
    }

        .search-form.active i {
            color: var(--bs-main)
        }


/* KEYBOARD*/

.keyboard-pin:not(.permission) {
    width: 100vw;
    min-width: 100vw;
    margin: auto;
    height: 100dvh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--px-40);
}

.keyboard-pin.permission-form {
    background: rgb(12 12 12 / 80%);
    justify-content: center;
}

.keyboard-pin .modal-dialog {
    height: 100%;
    display: flex;
    max-width: 70vw;
    border-radius: 8px;
    flex-direction: column;
    justify-content: center;
    margin: 0px auto;
}

.keyboard-pin .modal-content {
    border: 0px;
    display: flex;
    gap: var(--px-32);
    flex-flow: column;
    padding-bottom: 0px;
    align-items: center;
    background: inherit;
}

.keyboard-pin .pin-header {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    gap: var(--px-12);
}

    .keyboard-pin .pin-header p {
        font: normal normal 600 var(--s-28);
        color: white;
    }

.keyboard-pin .pin-wrapper {
    width: 100%;
    display: grid;
    height: var(--px-32);
    margin: var(--px-32) 0 0;
    grid-gap: var( --px-10);
    justify-content: center;
    justify-items: center;
    grid-template-columns: repeat(auto-fit, var( --px-44));
}

.keyboard-pin .pin-header input {
    border: 0px;
    cursor: text;
    outline: none;
    text-align: center;
    width: var(--px-20);
    height: var(--px-20);
    font-size: var(--px-20);
    border-radius: var(--px-20);
    color: var(--txt-dark);
    background: white;
}

    .keyboard-pin .pin-header input.typed {
        color: var(--bs-main);
        background: var(--bs-main);
    }

.keyboard-pin .pin-form-keypad {
    display: grid;
    border-radius: 4px;
    grid-gap: var(--px-22);
    color: white;
    grid-template-rows: repeat(4, var(--px-76));
    grid-template-columns: repeat(3, var(--px-100));
}

    .keyboard-pin .pin-form-keypad button {
        border: 0px;
        padding: 0px;
        width: 100%;
        height: 100%;
        min-width: unset;
        color: white;
        font: normal normal 600 var(--s-32);
        backdrop-filter: blur(4px);
        border-radius: var(--px-50);
        border: var(--bdr-1);
        border-color: var(--bs-gray-600);
    }

        .keyboard-pin .pin-form-keypad button.clear, .keyboard-pin .pin-form-keypad button.cancel {
            /* border: 0px; */
            /* background: 0px center; */
        }

        .keyboard-pin .pin-form-keypad button.cancel {
            color: white;
            font: normal normal 500 var(--s-18);
        }

        .keyboard-pin .pin-form-keypad button.clear i {
            font-size: var(--px-44);
            --fa-secondary-color: var(--bs-gray-800);
            --fa-secondary-opacity: 1;
            --fa-primary-color: white;
            --fa-primary-opacity: 1;
        }

.blur {
    filter: blur(4px);
}

.modal-right-side {
    right: 0;
    left: unset;
    max-width: var(--px-620);
}

    .modal-right-side .modal-header {
        flex: 1;
        max-height: var(--px-80);
        padding: var(--px-16);
    }

    .modal-right-side .modal-content {
        background: var(--bs-gray-100);
        height: 100%;
    }

    .modal-right-side .modal-fullscreen {
        width: unset;
        background: var(--bs-gray-100);
    }

.modal-portal {
    top: unset;
    right: 50%;
    bottom: 0;
    width: 100dvw;
    margin-top: auto;
    transform: translateX(50%);
    height: calc(100dvh - var(--px-76));
}

.container-body-layout {
    flex: 1;
    width: 100%;
    overflow: hidden;
    max-width: unset;
}

input.no-style {
    width: 100%;
    border: none;
    outline: none;
    min-width: unset;
    box-shadow: none;
    height: var(--px-40);
    padding: 0 var(--px-8);
    color: var(--bs-gray-900);
    background: TRANSPARENT;
    font: normal normal 500 var(--s-14);
}

    input.no-style::-webkit-input-placeholder {
        color: var(--bs-gray-400);
        font: normal normal 200 var(--s-14);
    }

.hover {
    cursor: pointer;
}

    .hover:hover {
        box-shadow: var(--shadow);
        background: var(--white);
    }

box.status,
.small.status {
    border-radius: var(--px-8);
    background: var(--green-o);
}

.small.status {
    border-radius: var(--px-8);
    background: var(--green-o);
}

.preview-per .title {
    color: var(--bs-main-700);
    font: normal normal 500 var(--s-20);
}

.modal-fullscreen .modal-body {
    padding: 0 var(--px-16);
    overflow: hidden auto;
}

button.upload.no-backgr {
    width: var(--px-68);
    height: var(--px-68);
    border-radius: var(--px-48);
    border: 1px dashed var(--bs-main);
}

.logo-no-avt {
    display: flex;
    width: var(--px-100);
    align-items: center;
    height: var(--px-100);
    color: var(--bs-main);
    font-size: var(--px-24);
    justify-content: center;
    border-radius: var(--px-100);
    background: var(--bs-main-50);
    border: 1px dashed var(--bs-main);
}

    .logo-no-avt:hover {
        cursor: pointer;
        background: var(--bs-main-100);
    }

.group-btn {
    flex: 1;
    width: 100%;
    display: flex;
    gap: var(--px-8);
    max-height: var(--px-40);
    align-items: flex-end;
    justify-content: flex-end;
}

button {
    border: 0;
    display: flex;
    gap: var(--px-12);
    align-items: center;
    height: var(--px-36);
    color: var(--bs-white);
    justify-content: center;
    padding: 0 var(--px-16);
    background: var(--bs-main);
    border-radius: var(--px-8);
    font: normal normal 400 var(--s-14);
    text-transform: capitalize;
}

    button.icon-only {
        background: var(--bs-gray-100);
    }

.filter-form {
    display: flex;
    gap: var(--px-8);
    align-items: center;
    grid-column: span 3;
    justify-content: center;
    border-top: 1px solid var(--bs-gray-300);
    padding-top: var(--px-16);
}

button.bg-opacity {
    border: 0;
    color: var(--bs-main);
    background: var(--bs-main-100);
}

button.no-backgr {
    background: unset;
    color: var(--bs-dark);
    white-space: nowrap;
    border: var(--bdr-1);
    font: normal normal 600 var(--s-14);
}

    button.no-backgr.active {
        background: var(--bs-main-950) !important;
        color: var(--white);
        border-color: var(--bs-main);
    }

    button.no-backgr i {
        color: var(--bs-main);
    }

button.nav-calendar {
    width: var(--px-36);
    font-size: var(--px-24);
}

button.no-bd {
    border: 0;
}

button.closed.text {
    background: unset;
    color: var(--bs-gray-600);
    font: normal normal 500 var(--s-16);
}

button.confirm {
    font: normal normal 500 var(--s-16);
}

button.drop-btn {
    width: 100%;
    justify-content: start;
    height: var(--px-40);
    border: unset;
    color: var(--bs-gray-700);
    border-radius: var(--px-4);
    font: normal normal 400 var(--s-14);
}


.form-group {
    width: 100%;
    display: grid !important;
    max-width: var( --px-700);
    background: var(--white);
    border-radius: var( --px-8);
    grid-gap: var( --px-16) var(--px-12);
    padding: var( --px-16) var(--px-20);
    grid-template-rows: min-content;
    grid-template-columns: repeat(12, 1fr);
}

    .form-group .header--detail {
        position: relative;
        grid-column: span 12;
        padding-bottom: var(--px-8);
        margin-bottom: var(--px-20);
        font: normal normal 600 var(--s-18);
    }

        .form-group .header--detail::after {
            position: absolute;
            bottom: -10px;
            width: calc(100% + var(--px-48));
            content: '';
            left: calc(-1 * var(--px-24));
            border: var(--bdr-1);
        }

.form--input {
    height: 100%;
    display: flex;
    gap: var(--px-12);
    position: relative;
    grid-column: span 6;
    flex-direction: column;
    font: normal normal 400 var(--s-14);
}

    .form--input.img-hotel img {
        width: var(--px-120);
        height: var(--px-120);
        border-radius: var(--px-120);
        border: 1px solid var(--bs-gray-300);
    }

    .form--input input {
        margin: 0;
        width: 100%;
        outline: none;
        border-radius: 8px;
        height: var(--px-40);
        border: var(--bdr-1);
        color: var(--bs-dark);
        padding: var(--px-12) var(--px-16);
        font: normal normal 400 var(--s-14);
    }

        .form--input input[readonly] {
            background: unset;
            border: unset;
            padding: 0;
        }

    .form--input .check-valid {
        display: none;
        color: var(--red);
        font: normal normal 400 var(--s-14);
    }

    .form--input label {
        font: normal normal 600 var(--s-14);
    }

    .form--input.require .check-valid {
        display: block;
    }

    .form--input textarea {
        margin: 0;
        width: 100%;
        outline: none;
        border-radius: 8px;
        height: var(--px-80);
        border: var(--bdr-1);
        color: var(--bs-dark);
        padding: var(--px-12) var(--px-16);
        font: normal normal 400 var(--s-14);
    }

    .form--input .titl-form {
        font: normal normal 600 var(--s-16);
    }

    .form--input.has-bd {
        position: relative;
        box-shadow: var(--shadow-qs-light);
        border: 1px solid var(--bs-gray-100);
    }

        .form--input.has-bd.collapse {
            overflow: hidden;
            max-height: var(--px-76);
        }

            .form--input.has-bd.collapse .info-guest-typed {
                display: flex;
                color: var(--bs-orange);
            }

                .form--input.has-bd.collapse .info-guest-typed.typed {
                    text-transform: uppercase;
                    color: var(--bs-gray-600);
                }

            .form--input.has-bd.collapse .grid-3,
            .form--input.has-bd.collapse .grid-8,
            .form--input.has-bd.collapse .grid-12.upload,
            .form--input.has-bd.collapse .grid-4,
            .form--input.has-bd.collapse .grid-6 {
                display: none;
            }

        .form--input.has-bd:not(.collapse) .info-guest-typed {
            display: none;
        }

        .form--input.has-bd .collapse-guest {
            position: absolute;
            top: var(--px-20);
            right: var(--px-12);
            background: unset;
            color: var(--bs-dark);
            z-index: 11;
            cursor: pointer;
        }

            .form--input.has-bd .collapse-guest:hover {
                background: var(--bs-gray-100);
            }


/* Create a custom checkbox */
div.option.select-radio {
    flex: 1;
    display: flex;
    min-width: 30%;
    cursor: pointer;
    gap: var(--px-8);
    align-items: center;
    grid-column: span 2;
    min-height: var(--px-40);
    color: var(--bs-gray-600);
    border-radius: var(--px-8);
    justify-content: flex-start;
    font: normal normal 500 var(--s-14);
}

    div.option.select-radio.active {
        color: var(--bs-dark);
    }

    div.option.select-radio.disable {
        opacity: .6;
    }


.container--checkbox .checkmark {
    position: absolute;
    top: 2px;
    left: 2px;
    height: var(--px-24);
    width: var(--px-24);
    background-color: var(--bs-gray-200);
    border-radius: 4px;
}

    .container--checkbox .checkmark.radio {
        border-radius: 100%;
        border-color: var(--bs-main);
    }

/* When the checkbox is checked, add a blue background */
.container--checkbox {
    display: block;
    margin: 0;
    position: relative;
    cursor: pointer;
    height: var(--px-32);
    width: var(--px-32);
    pointer-events: none;
}

    .container--checkbox input:checked ~ .checkmark,
    .option.select-radio.active .checkmark {
        background-color: var(--bs-main-200);
    }

        .container--checkbox input:checked ~ .checkmark.radio {
            background: var(--bs-white);
            border: 6px solid var(--bs-main);
        }

    /* Create the checkmark/indicator (hidden when not checked) */
    .container--checkbox .checkmark:after {
        content: "";
        position: absolute;
        display: none;
    }

    /* Show the checkmark when checked */
    .container--checkbox input:checked ~ .checkmark:after,
    .option.select-radio.active .checkmark:after {
        display: block;
        border-color: var(--bs-main-500);
    }

    /* Style the checkmark/indicator */
    .container--checkbox .checkmark:after {
        left: 7px;
        top: 2px;
        width: var(--px-8);
        height: var(--px-16);
        border: solid #fff;
        border-width: 0 2px 2px 0;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    .container--checkbox .checkmark.radio:after {
        border: none;
    }

    .container--checkbox .checkmark.uncheckall:after {
        background: #FFF;
        border: 0;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        width: 70%;
        height: 2px;
        border-radius: 2px;
    }

.toggle-option {
    display: flex;
    gap: var(--px-8);
    align-items: center;
    height: var(--px-36);
}

    .toggle-option .label-input {
        display: flex;
        align-items: center;
    }


label.checkbox {
    margin: 0;
    display: block;
    cursor: pointer;
    overflow: hidden;
    text-indent: -9999px;
    width: var(--px-48);
    height: var(--px-24);
    background: var(--bs-gray-200);
    position: relative;
    border-radius: var(--px-60);
}

    label.checkbox:after {
        content: '';
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: var(--px-2);
        width: var(--px-20);
        height: var(--px-20);
        background: #fff;
        border-radius: var(--px-16);
        transition: 0.5s;
    }

input:checked + label.checkbox {
    background: var(--bs-main);
    border: 1px solid var(--bs-gray-300);
}

    input:checked + label.checkbox:after {
        left: calc(100% - var(--px-2));
        transform: translate(-100%, -50%);
    }

label.checkbox:active:after {
    width: 130px;
}

/* Loading */
.loading-container {
    display: flex;
    min-width: 90vw;
    width: 100%;
    justify-content: center;
    margin: 8px 0;
    min-height: 60vh;
    height: 100%;
    font-size: var(--px-60);
    align-items: center;
    color: var(--bs-gray-500);
}

/* Upload form*/
div.form-upload-image {
    display: flex;
    overflow: hidden;
    position: relative;
    align-items: center;
    height: var(--px-600);
    justify-content: center;
    border-radius: var(--px-16);
    border: 2px dotted var(--bs-gray-300);
}

    div.form-upload-image.upload-logo-store {
        margin: auto;
        width: var(--px-300);
        height: var(--px-300);
        border-radius: var(--px-300);
    }

    div.form-upload-image p {
        font: normal normal 500 var(--s-14);
    }

    div.form-upload-image i {
        font-size: var(--px-32);
    }

    div.form-upload-image img {
        z-index: 1;
        width: 100%;
        height: 100%;
        position: absolute;
    }

    div.form-upload-image .upload-label {
        width: 100%;
        height: 100%;
        display: flex;
        cursor: pointer;
        gap: var(--px-8);
        align-items: center;
        flex-direction: column;
        justify-content: center;
        color: var(--bs-gray-600);
        font: normal normal 300 var(--s-16);
    }

    div.form-upload-image .upload-input {
        top: 0;
        left: 0;
        opacity: 0;
        width: 100%;
        height: 100%;
        cursor: pointer;
        position: absolute;
    }

.form-upload-image:hover .upload-label {
    z-index: 20;
    background: #00000030;
    color: var(--bs-white);
}

.form-group .box-info {
    display: flex;
    gap: var(--px-8);
    align-items: start;
    grid-column: span 6;
    flex-direction: column;
    font: normal normal 400 var(--s-14);
}

    .form-group .box-info strong {
        font: normal normal 600 var(--s-14);
    }

    .form-group .box-info.border-bot {
        overflow: hidden;
        gap: var(--px-8);
        padding-bottom: var(--px-12);
        border-bottom: 1px dashed var( --bs-gray-400);
    }

.form-group.folio-search .box-info.border-bot {
    overflow: hidden;
    gap: var(--px-8);
    min-height: var(--px-140);
    max-height: var(--px-140);
    border-bottom: 1px dashed var( --bs-gray-400);
}

.form-group .box-info strong.special {
    color: var(--bs-main-700);
    font: normal normal 600 var(--s-18);
}

.form-group .box-info span {
    color: var(--bs-gray-600);
    text-transform: uppercase;
    font: normal normal 400 var(--s-12);
}

.form-group .box-info .photo-and-upload-form {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between
}

.form-group .box-info img.avt-client {
    height: var(--px-100);
    width: var(--px-100);
    border-radius: var(--px-100);
    border: 1px solid var(--bs-gray-400);
}

.switch-action-tab-bar {
    height: 100%;
    display: grid;
    grid-gap: var(--px-4);
    align-items: center;
    grid-template-columns: repeat(3, minmax(var(--px-40), var(--px-120)));
    );
    justify-content: center;
}

    .switch-action-tab-bar .btn-switch {
        position: relative;
        font-size: var(--px-24);
        height: 100%;
        overflow: unset;
        color: var(--bs-gray-600);
        background: var(--bs-white);
    }

        .switch-action-tab-bar .btn-switch:hover {
            font-weight: 500;
            color: var(--bs-main);
            background: var(--bs-main-50);
        }

        .switch-action-tab-bar .btn-switch.selected {
            color: var(--bs-main);
        }

        .switch-action-tab-bar .btn-switch.selected {
        }

            .switch-action-tab-bar .btn-switch.selected::after {
                position: absolute;
                content: '';
                height: var(--px-4);
                width: var(--px-44);
                background: var(--bs-main);
                left: 50%;
                bottom: 0px;
                border-radius: var(--px-4) var(--px-4) 0 0;
                transform: translateX(-50%);
            }

            .switch-action-tab-bar .btn-switch.selected i {
                font-weight: 300;
            }

.logo-store {
    height: 100%;
    gap: 0 var(--px-12);
    display: grid;
    align-items: center;
    background: unset;
    height: var(--px-44);
    grid-template-rows: min-content;
    grid-template-columns: 1fr var(--px-32);
    color: var(--bs-dark);
    border-radius: var(--px-8);
    align-content: center;
    padding: 0 var(--px-8);
}

    .logo-store img {
        width: var(--px-32);
        height: var(--px-32);
        border-radius: 100%;
    }

    .logo-store .hotel-name {
        font: normal normal 700 var(--s-14);
    }

    .logo-store::before,
    .logo-store::after {
        display: none;
    }

.title-page {
    flex: 1;
    color: var(--bs-dark);
    font: normal normal 700 var(--s-24);
}

.reservation-body-page {
    width: 100%;
    height: 100%;
    display: flex;
    overflow: hidden;
    position: relative;
    padding-top: 2px;
}

.transform-select {
    transition: all .3s;
    min-width: 100%;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    background: var(--bs-main-50);
    transform: translateX(var(--transform-page));
}
