*,:after,:before{
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position: ;
    --tw-gradient-via-position: ;
    --tw-gradient-to-position: ;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgba(59,130,246,.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ;
    --tw-contain-size: ;
    --tw-contain-layout: ;
    --tw-contain-paint: ;
    --tw-contain-style: 
}
::backdrop{
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position: ;
    --tw-gradient-via-position: ;
    --tw-gradient-to-position: ;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgba(59,130,246,.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ;
    --tw-contain-size: ;
    --tw-contain-layout: ;
    --tw-contain-paint: ;
    --tw-contain-style: 
}

/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/
*,:after,:before{
    box-sizing: border-box;
    border: 0 solid #e5e7eb
}
:after,:before{
    --tw-content: ""
}
:host,html{
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    font-family: ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;
    font-feature-settings: normal;
    font-variation-settings: normal;
    -webkit-tap-highlight-color: transparent
}
body{
    margin: 0;
    line-height: inherit
}
hr{
    height: 0;
    color: inherit;
    border-top-width: 1px
}
abbr:where([title]){
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}
h1,h2,h3,h4,h5,h6{
    font-size: inherit;
    font-weight: inherit
}
a{
    color: inherit;
    text-decoration: inherit
}
b,strong{
    font-weight: bolder
}
code,kbd,pre,samp{
    font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;
    font-feature-settings: normal;
    font-variation-settings: normal;
    font-size: 1em
}
small{
    font-size: 80%
}
sub,sup{
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}
sub{
    bottom: -.25em
}
sup{
    top: -.5em
}
table{
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse
}
button,input,optgroup,select,textarea{
    font-family: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    font-size: 100%;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    color: inherit;
    margin: 0;
    padding: 0
}
button,select{
    text-transform: none
}
button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){
    -webkit-appearance: button;
    background-color: transparent;
    background-image: none
}
:-moz-focusring{
    outline: auto
}
:-moz-ui-invalid{
    box-shadow: none
}
progress{
    vertical-align: baseline
}
::-webkit-inner-spin-button,::-webkit-outer-spin-button{
    height: auto
}
[type=search]{
    -webkit-appearance: textfield;
    outline-offset: -2px
}
::-webkit-search-decoration{
    -webkit-appearance: none
}
::-webkit-file-upload-button{
    -webkit-appearance: button;
    font: inherit
}
summary{
    display: list-item
}
blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{
    margin: 0
}
fieldset{
    margin: 0
}
fieldset,legend{
    padding: 0
}
menu,ol,ul{
    list-style: none;
    margin: 0;
    padding: 0
}
dialog{
    padding: 0
}
textarea{
    resize: vertical
}
input::-moz-placeholder,textarea::-moz-placeholder{
    opacity: 1;
    color: #9ca3af
}
input::placeholder,textarea::placeholder{
    opacity: 1;
    color: #9ca3af
}
[role=button],button{
    cursor: pointer
}
:disabled{
    cursor: default
}
audio,canvas,embed,iframe,img,object,svg,video{
    display: block;
    vertical-align: middle
}
img,video{
    max-width: 100%;
    height: auto
}
[hidden]:where(:not([hidden=until-found])){
    display: none
}
.\!container{
    width: 100%!important
}
.container{
    width: 100%
}
@media (min-width:640px){
    .\!container{
        max-width: 640px!important
    }
    .container{
        max-width: 640px
    }

}
@media (min-width:768px){
    .\!container{
        max-width: 768px!important
    }
    .container{
        max-width: 768px
    }

}
@media (min-width:1024px){
    .\!container{
        max-width: 1024px!important
    }
    .container{
        max-width: 100% /*1024px*/
    }

}
@media (min-width:1280px){
    .\!container{
        max-width: 1280px!important
    }
    .container{
        max-width: 1280px
    }

}
@media (min-width:1536px){
    .\!container{
        max-width: 1536px!important
    }
    .container{
        max-width: 1536px
    }

}
.sr-only{
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border-width: 0
}
.pointer-events-none{
    pointer-events: none
}
.pointer-events-auto{
    pointer-events: auto
}
.visible{
    visibility: visible
}
.fixed{
    position: fixed
}
.absolute{
    position: absolute
}
.relative{
    position: relative
}
.inset-0{
    inset: 0
}
.-right-2{
    right: -.5rem
}
.-top-2{
    top: -.5rem
}
.-top-3{
    top: -.75rem
}
.bottom-6{
    bottom: 1.5rem
}
.left-0{
    left: 0
}
.left-1\/2{
    left: 50%
}
.left-4{
    left: 1rem
}
.right-0{
    right: 0
}
.right-4{
    right: 1rem
}
.top-0{
    top: 0
}
.top-20{
    top: 5rem
}
.top-4{
    top: 1rem
}
.z-50{
    z-index: 50
}
.z-\[10000\]{
    z-index: 10000
}
.col-span-full{
    grid-column: 1/-1
}
.mx-4{
    margin-left: 1rem;
    margin-right: 1rem
}
.mx-auto{
    margin-left: auto;
    margin-right: auto
}
.my-4{
    margin-top: 1rem;
    margin-bottom: 1rem
}
.mb-1{
    margin-bottom: .25rem
}
.mb-2{
    margin-bottom: .5rem
}
.mb-3{
    margin-bottom: .75rem
}
.mb-4{
    margin-bottom: 1rem
}
.mb-6{
    margin-bottom: 1.5rem
}
.mb-8{
    margin-bottom: 2rem
}
.ml-1{
    margin-left: .25rem
}
.ml-2{
    margin-left: .5rem
}
.ml-3{
    margin-left: .75rem
}
.ml-4{
    margin-left: 1rem
}
.ml-auto{
    margin-left: auto
}
.mr-1{
    margin-right: .25rem
}
.mr-2{
    margin-right: .5rem
}
.mr-3{
    margin-right: .75rem
}
.mr-4{
    margin-right: 1rem
}
.mt-0\.5{
    margin-top: .125rem
}
.mt-1{
    margin-top: .25rem
}
.mt-12{
    margin-top: 3rem
}
.mt-2{
    margin-top: .5rem
}
.mt-3{
    margin-top: .75rem
}
.mt-4{
    margin-top: 1rem
}
.mt-6{
    margin-top: 1.5rem
}
.mt-8{
    margin-top: 2rem
}
.mt-auto{
    margin-top: auto
}
.block{
    display: block
}
.inline-block{
    display: inline-block
}
.inline{
    display: inline
}
.flex{
    display: flex
}
.inline-flex{
    display: inline-flex
}
.table{
    display: table
}
.grid{
    display: grid
}
.hidden{
    display: none
}
.h-10{
    height: 2.5rem
}
.h-12{
    height: 3rem
}
.h-14{
    height: 3.5rem
}
.h-16{
    height: 4rem
}
.h-24{
    height: 6rem
}
.h-32{
    height: 8rem
}
.h-4{
    height: 1rem
}
.h-5{
    height: 1.25rem
}
.h-6{
    height: 1.5rem
}
.h-8{
    height: 2rem
}
.h-auto{
    height: auto
}
.h-full{
    height: 100%
}
.max-h-48{
    max-height: 12rem
}
.max-h-80{
    max-height: 20rem
}
.max-h-96{
    max-height: 24rem
}
.min-h-\[1\.5rem\]{
    min-height: 1.5rem
}
.min-h-screen{
    min-height: 100vh
}
.w-1\/2{
    width: 50%
}
.w-10{
    width: 2.5rem
}
.w-11{
    width: 2.75rem
}
.w-12{
    width: 3rem
}
.w-14{
    width: 3.5rem
}
.w-16{
    width: 4rem
}
.w-24{
    width: 6rem
}
.w-28{
    width: 7rem
}
.w-32{
    width: 8rem
}
.w-4{
    width: 1rem
}
.w-5{
    width: 1.25rem
}
.w-6{
    width: 1.5rem
}
.w-64{
    width: 16rem
}
.w-8{
    width: 2rem
}
.w-80{
    width: 20rem
}
.w-auto{
    width: auto
}
.w-full{
    width: 100%
}
.min-w-0{
    min-width: 0
}
.min-w-\[200px\]{
    min-width: 200px
}
.min-w-\[210px\]{
    min-width: 210px
}
.min-w-full{
    min-width: 100%
}
.max-w-2xl{
    max-width: 42rem
}
.max-w-32{
    max-width: 8rem
}
.max-w-48{
    max-width: 12rem
}
.max-w-4xl{
    max-width: 56rem
}
.max-w-6xl{
    max-width: 72rem
}
.max-w-7xl{
    max-width: 80rem
}
.max-w-lg{
    max-width: 32rem
}
.max-w-md{
    max-width: 28rem
}
.max-w-sm{
    max-width: 24rem
}
.flex-1{
    flex: 1 1 0%
}
.flex-shrink{
    flex-shrink: 1
}
.flex-shrink-0{
    flex-shrink: 0
}
.-translate-x-1\/2{
    --tw-translate-x: -50%
}
.-translate-x-1\/2,.-translate-y-full{
    transform: translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.-translate-y-full{
    --tw-translate-y: -100%
}
.translate-x-0{
    --tw-translate-x: 0px
}
.translate-x-0,.translate-x-full{
    transform: translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.translate-x-full{
    --tw-translate-x: 100%
}
.translate-y-\[-100px\]{
    --tw-translate-y: -100px
}
.scale-100,.translate-y-\[-100px\]{
    transform: translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.scale-100{
    --tw-scale-x: 1;
    --tw-scale-y: 1
}
.scale-105{
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05
}
.scale-105,.scale-95{
    transform: translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.scale-95{
    --tw-scale-x: .95;
    --tw-scale-y: .95
}
.transform{
    transform: translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
@keyframes spin{
    to{
        transform: rotate(1turn)
    }

}
.animate-spin{
    animation: spin 1s linear infinite
}
.cursor-not-allowed{
    cursor: not-allowed
}
.cursor-pointer{
    cursor: pointer
}
.select-none{
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}
.resize-none{
    resize: none
}
.resize{
    resize: both
}
.list-disc{
    list-style-type: disc
}
.grid-cols-1{
    grid-template-columns: repeat(1,minmax(0,1fr))
}
.grid-cols-2{
    grid-template-columns: repeat(2,minmax(0,1fr))
}
.grid-cols-4{
    grid-template-columns: repeat(4,minmax(0,1fr))
}
.grid-cols-7{
    grid-template-columns: repeat(7,minmax(0,1fr))
}
.flex-col{
    flex-direction: column
}
.flex-wrap{
    flex-wrap: wrap
}
.items-start{
    align-items: flex-start
}
.items-center{
    align-items: center
}
.justify-end{
    justify-content: flex-end
}
.justify-center{
    justify-content: center
}
.justify-between{
    justify-content: space-between
}
.gap-1{
    gap: .25rem
}
.gap-2{
    gap: .5rem
}
.gap-3{
    gap: .75rem
}
.gap-4{
    gap: 1rem
}
.gap-6{
    gap: 1.5rem
}
.gap-8{
    gap: 2rem
}
.space-x-1>:not([hidden])~:not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(.25rem*var(--tw-space-x-reverse));
    margin-left: calc(.25rem*(1 - var(--tw-space-x-reverse)))
}
.space-x-2>:not([hidden])~:not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(.5rem*var(--tw-space-x-reverse));
    margin-left: calc(.5rem*(1 - var(--tw-space-x-reverse)))
}
.space-x-3>:not([hidden])~:not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(.75rem*var(--tw-space-x-reverse));
    margin-left: calc(.75rem*(1 - var(--tw-space-x-reverse)))
}
.space-x-4>:not([hidden])~:not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(1rem*var(--tw-space-x-reverse));
    margin-left: calc(1rem*(1 - var(--tw-space-x-reverse)))
}
.space-x-6>:not([hidden])~:not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(1.5rem*var(--tw-space-x-reverse));
    margin-left: calc(1.5rem*(1 - var(--tw-space-x-reverse)))
}
.space-x-8>:not([hidden])~:not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(2rem*var(--tw-space-x-reverse));
    margin-left: calc(2rem*(1 - var(--tw-space-x-reverse)))
}
.space-y-1>:not([hidden])~:not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(.25rem*(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(.25rem*var(--tw-space-y-reverse))
}
.space-y-2>:not([hidden])~:not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(.5rem*(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(.5rem*var(--tw-space-y-reverse))
}
.space-y-3>:not([hidden])~:not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(.75rem*(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(.75rem*var(--tw-space-y-reverse))
}
.space-y-4>:not([hidden])~:not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(1rem*(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1rem*var(--tw-space-y-reverse))
}
.space-y-6>:not([hidden])~:not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(1.5rem*(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.5rem*var(--tw-space-y-reverse))
}
.space-y-8>:not([hidden])~:not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(2rem*(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(2rem*var(--tw-space-y-reverse))
}
.divide-y>:not([hidden])~:not([hidden]){
    --tw-divide-y-reverse: 0;
    border-top-width: calc(1px*(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(1px*var(--tw-divide-y-reverse))
}
.divide-gray-200>:not([hidden])~:not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgb(229 231 235/var(--tw-divide-opacity,1))
}
.overflow-hidden{
    overflow: hidden
}
.overflow-x-auto{
    overflow-x: auto
}
.overflow-y-auto{
    overflow-y: auto
}
.truncate{
    overflow: hidden;
    text-overflow: ellipsis
}
.truncate,.whitespace-nowrap{
    white-space: nowrap
}
.break-words{
    overflow-wrap: break-word
}
.rounded{
    border-radius: .25rem
}
.rounded-2xl{
    border-radius: 1rem
}
.rounded-full{
    border-radius: 9999px
}
.rounded-lg{
    border-radius: .5rem
}
.rounded-md{
    border-radius: .375rem
}
.rounded-none{
    border-radius: 0
}
.rounded-xl{
    border-radius: .75rem
}
.rounded-l-lg{
    border-top-left-radius: .5rem;
    border-bottom-left-radius: .5rem
}
.rounded-l-md{
    border-top-left-radius: .375rem;
    border-bottom-left-radius: .375rem
}
.rounded-r-lg{
    border-top-right-radius: .5rem;
    border-bottom-right-radius: .5rem
}
.rounded-r-md{
    border-top-right-radius: .375rem;
    border-bottom-right-radius: .375rem
}
.border{
    border-width: 1px
}
.border-2{
    border-width: 2px
}
.border-4{
    border-width: 4px
}
.border-b{
    border-bottom-width: 1px
}
.border-b-2{
    border-bottom-width: 2px
}
.border-r-0{
    border-right-width: 0
}
.border-t{
    border-top-width: 1px
}
.border-dashed{
    border-style: dashed
}
.border-blue-200{
    --tw-border-opacity: 1;
    border-color: rgb(191 219 254/var(--tw-border-opacity,1))
}
.border-blue-400{
    --tw-border-opacity: 1;
    border-color: rgb(96 165 250/var(--tw-border-opacity,1))
}
.border-blue-500{
    --tw-border-opacity: 1;
    border-color: rgb(59 130 246/var(--tw-border-opacity,1))
}
.border-blue-600{
    --tw-border-opacity: 1;
    border-color: rgb(37 99 235/var(--tw-border-opacity,1))
}
.border-gray-100{
    --tw-border-opacity: 1;
    border-color: rgb(243 244 246/var(--tw-border-opacity,1))
}
.border-gray-200{
    --tw-border-opacity: 1;
    border-color: rgb(229 231 235/var(--tw-border-opacity,1))
}
.border-gray-300{
    --tw-border-opacity: 1;
    border-color: rgb(209 213 219/var(--tw-border-opacity,1))
}
.border-green-200{
    --tw-border-opacity: 1;
    border-color: rgb(187 247 208/var(--tw-border-opacity,1))
}
.border-indigo-200{
    --tw-border-opacity: 1;
    border-color: rgb(199 210 254/var(--tw-border-opacity,1))
}
.border-orange-200{
    --tw-border-opacity: 1;
    border-color: rgb(254 215 170/var(--tw-border-opacity,1))
}
.border-primary-600{
    --tw-border-opacity: 1;
    border-color: rgb(37 99 235/var(--tw-border-opacity,1))
}
.border-red-200{
    --tw-border-opacity: 1;
    border-color: rgb(254 202 202/var(--tw-border-opacity,1))
}
.border-red-500{
    --tw-border-opacity: 1;
    border-color: rgb(239 68 68/var(--tw-border-opacity,1))
}
.border-yellow-200{
    --tw-border-opacity: 1;
    border-color: rgb(254 240 138/var(--tw-border-opacity,1))
}
.border-t-transparent{
    border-top-color: transparent
}
.bg-black{
    --tw-bg-opacity: 1;
    background-color: rgb(0 0 0/var(--tw-bg-opacity,1))
}
.bg-blue-100{
    --tw-bg-opacity: 1;
    background-color: rgb(219 234 254/var(--tw-bg-opacity,1))
}
.bg-blue-50{
    --tw-bg-opacity: 1;
    background-color: rgb(239 246 255/var(--tw-bg-opacity,1))
}
.bg-blue-500{
    --tw-bg-opacity: 1;
    background-color: rgb(59 130 246/var(--tw-bg-opacity,1))
}
.bg-blue-600{
    --tw-bg-opacity: 1;
    background-color: rgb(37 99 235/var(--tw-bg-opacity,1))
}
.bg-gray-100{
    --tw-bg-opacity: 1;
    background-color: rgb(243 244 246/var(--tw-bg-opacity,1))
}
.bg-gray-200{
    --tw-bg-opacity: 1;
    background-color: rgb(229 231 235/var(--tw-bg-opacity,1))
}
.bg-gray-300{
    --tw-bg-opacity: 1;
    background-color: rgb(209 213 219/var(--tw-bg-opacity,1))
}
.bg-gray-400{
    --tw-bg-opacity: 1;
    background-color: rgb(156 163 175/var(--tw-bg-opacity,1))
}
.bg-gray-50{
    --tw-bg-opacity: 1;
    background-color: rgb(249 250 251/var(--tw-bg-opacity,1))
}
.bg-gray-600{
    --tw-bg-opacity: 1;
    background-color: rgb(75 85 99/var(--tw-bg-opacity,1))
}
.bg-green-100{
    --tw-bg-opacity: 1;
    background-color: rgb(220 252 231/var(--tw-bg-opacity,1))
}
.bg-green-50{
    --tw-bg-opacity: 1;
    background-color: rgb(240 253 244/var(--tw-bg-opacity,1))
}
.bg-green-500{
    --tw-bg-opacity: 1;
    background-color: rgb(34 197 94/var(--tw-bg-opacity,1))
}
.bg-green-600{
    --tw-bg-opacity: 1;
    background-color: rgb(22 163 74/var(--tw-bg-opacity,1))
}
.bg-indigo-100{
    --tw-bg-opacity: 1;
    background-color: rgb(224 231 255/var(--tw-bg-opacity,1))
}
.bg-indigo-600{
    --tw-bg-opacity: 1;
    background-color: rgb(79 70 229/var(--tw-bg-opacity,1))
}
.bg-orange-100{
    --tw-bg-opacity: 1;
    background-color: rgb(255 237 213/var(--tw-bg-opacity,1))
}
.bg-orange-600{
    --tw-bg-opacity: 1;
    background-color: rgb(234 88 12/var(--tw-bg-opacity,1))
}
.bg-purple-100{
    --tw-bg-opacity: 1;
    background-color: rgb(243 232 255/var(--tw-bg-opacity,1))
}
.bg-purple-600{
    --tw-bg-opacity: 1;
    background-color: rgb(147 51 234/var(--tw-bg-opacity,1))
}
.bg-red-100{
    --tw-bg-opacity: 1;
    background-color: rgb(254 226 226/var(--tw-bg-opacity,1))
}
.bg-red-50{
    --tw-bg-opacity: 1;
    background-color: rgb(254 242 242/var(--tw-bg-opacity,1))
}
.bg-red-500{
    --tw-bg-opacity: 1;
    background-color: rgb(239 68 68/var(--tw-bg-opacity,1))
}
.bg-red-600{
    --tw-bg-opacity: 1;
    background-color: rgb(220 38 38/var(--tw-bg-opacity,1))
}
.bg-slate-50{
    --tw-bg-opacity: 1;
    background-color: rgb(248 250 252/var(--tw-bg-opacity,1))
}
.bg-white{
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255/var(--tw-bg-opacity,1))
}
.bg-yellow-100{
    --tw-bg-opacity: 1;
    background-color: rgb(254 249 195/var(--tw-bg-opacity,1))
}
.bg-yellow-500{
    --tw-bg-opacity: 1;
    background-color: rgb(234 179 8/var(--tw-bg-opacity,1))
}
.bg-opacity-50{
    --tw-bg-opacity: 0.5
}
.bg-opacity-95{
    --tw-bg-opacity: 0.95
}
.bg-gradient-to-br{
    background-image: linear-gradient(to bottom right,var(--tw-gradient-stops))
}
.bg-gradient-to-r{
    background-image: linear-gradient(to right,var(--tw-gradient-stops))
}
.from-blue-50{
    --tw-gradient-from: #eff6ff var(--tw-gradient-from-position);
    --tw-gradient-to: rgba(239,246,255,0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from),var(--tw-gradient-to)
}
.from-blue-500{
    --tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);
    --tw-gradient-to: rgba(59,130,246,0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from),var(--tw-gradient-to)
}
.from-blue-600{
    --tw-gradient-from: #2563eb var(--tw-gradient-from-position);
    --tw-gradient-to: rgba(37,99,235,0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from),var(--tw-gradient-to)
}
.from-green-600{
    --tw-gradient-from: #16a34a var(--tw-gradient-from-position);
    --tw-gradient-to: rgba(22,163,74,0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from),var(--tw-gradient-to)
}
.from-indigo-50{
    --tw-gradient-from: #eef2ff var(--tw-gradient-from-position);
    --tw-gradient-to: rgba(238,242,255,0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from),var(--tw-gradient-to)
}
.from-orange-50{
    --tw-gradient-from: #fff7ed var(--tw-gradient-from-position);
    --tw-gradient-to: rgba(255,247,237,0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from),var(--tw-gradient-to)
}
.to-blue-100{
    --tw-gradient-to: #dbeafe var(--tw-gradient-to-position)
}
.to-blue-50{
    --tw-gradient-to: #eff6ff var(--tw-gradient-to-position)
}
.to-blue-600{
    --tw-gradient-to: #2563eb var(--tw-gradient-to-position)
}
.to-blue-700{
    --tw-gradient-to: #1d4ed8 var(--tw-gradient-to-position)
}
.to-green-700{
    --tw-gradient-to: #15803d var(--tw-gradient-to-position)
}
.to-indigo-50{
    --tw-gradient-to: #eef2ff var(--tw-gradient-to-position)
}
.to-orange-100{
    --tw-gradient-to: #ffedd5 var(--tw-gradient-to-position)
}
.object-cover{
    -o-object-fit: cover;
    object-fit: cover
}
.p-1{
    padding: .25rem
}
.p-2{
    padding: .5rem
}
.p-3{
    padding: .75rem
}
.p-4{
    padding: 1rem
}
.p-6{
    padding: 1.5rem
}
.p-8{
    padding: 2rem
}
.px-2{
    padding-left: .5rem;
    padding-right: .5rem
}
.px-2\.5{
    padding-left: .625rem;
    padding-right: .625rem
}
.px-3{
    padding-left: .75rem;
    padding-right: .75rem
}
.px-4{
    padding-left: 1rem;
    padding-right: 1rem
}
.px-5{
    padding-left: 1.25rem;
    padding-right: 1.25rem
}
.px-6{
    padding-left: 1.5rem;
    padding-right: 1.5rem
}
.px-8{
    padding-left: 2rem;
    padding-right: 2rem
}
.py-0\.5{
    padding-top: .125rem;
    padding-bottom: .125rem
}
.py-1{
    padding-top: .25rem;
    padding-bottom: .25rem
}
.py-12{
    padding-top: 3rem;
    padding-bottom: 3rem
}
.py-2{
    padding-top: .5rem;
    padding-bottom: .5rem
}
.py-2\.5{
    padding-top: .625rem;
    padding-bottom: .625rem
}
.py-3{
    padding-top: .75rem;
    padding-bottom: .75rem
}
.py-4{
    padding-top: 1rem;
    padding-bottom: 1rem
}
.py-6{
    padding-top: 1.5rem;
    padding-bottom: 1.5rem
}
.py-8{
    padding-top: 2rem;
    padding-bottom: 2rem
}
.pb-2{
    padding-bottom: .5rem
}
.pl-3{
    padding-left: .75rem
}
.pl-5{
    padding-left: 1.25rem
}
.pt-2{
    padding-top: .5rem
}
.pt-4{
    padding-top: 1rem
}
.pt-6{
    padding-top: 1.5rem
}
.text-left{
    text-align: left
}
.text-center{
    text-align: center
}
.text-right{
    text-align: right
}
.font-mono{
    font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace
}
.font-sans{
    font-family: ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji
}
.text-2xl{
    font-size: 1.5rem;
    line-height: 2rem
}
.text-3xl{
    font-size: 1.875rem;
    line-height: 2.25rem
}
.text-4xl{
    font-size: 2.25rem;
    line-height: 2.5rem
}
.text-6xl{
    font-size: 3.75rem;
    line-height: 1
}
.text-lg{
    font-size: 1.125rem;
    line-height: 1.75rem
}
.text-sm{
    font-size: .875rem;
    line-height: 1.25rem
}
.text-xl{
    font-size: 1.25rem;
    line-height: 1.75rem
}
.text-xs{
    font-size: .75rem;
    line-height: 1rem
}
.font-bold{
    font-weight: 700
}
.font-medium{
    font-weight: 500
}
.font-semibold{
    font-weight: 600
}
.uppercase{
    text-transform: uppercase
}
.tracking-wider{
    letter-spacing: .05em
}
.text-amber-500{
    --tw-text-opacity: 1;
    color: rgb(245 158 11/var(--tw-text-opacity,1))
}
.text-black{
    --tw-text-opacity: 1;
    color: rgb(0 0 0/var(--tw-text-opacity,1))
}
.text-blue-400{
    --tw-text-opacity: 1;
    color: rgb(96 165 250/var(--tw-text-opacity,1))
}
.text-blue-500{
    --tw-text-opacity: 1;
    color: rgb(59 130 246/var(--tw-text-opacity,1))
}
.text-blue-600{
    --tw-text-opacity: 1;
    color: rgb(37 99 235/var(--tw-text-opacity,1))
}
.text-blue-700{
    --tw-text-opacity: 1;
    color: rgb(29 78 216/var(--tw-text-opacity,1))
}
.text-blue-800{
    --tw-text-opacity: 1;
    color: rgb(30 64 175/var(--tw-text-opacity,1))
}
.text-blue-900{
    --tw-text-opacity: 1;
    color: rgb(30 58 138/var(--tw-text-opacity,1))
}
.text-gray-400{
    --tw-text-opacity: 1;
    color: rgb(156 163 175/var(--tw-text-opacity,1))
}
.text-gray-500{
    --tw-text-opacity: 1;
    color: rgb(107 114 128/var(--tw-text-opacity,1))
}
.text-gray-600{
    --tw-text-opacity: 1;
    color: rgb(75 85 99/var(--tw-text-opacity,1))
}
.text-gray-700{
    --tw-text-opacity: 1;
    color: rgb(55 65 81/var(--tw-text-opacity,1))
}
.text-gray-800{
    --tw-text-opacity: 1;
    color: rgb(31 41 55/var(--tw-text-opacity,1))
}
.text-gray-900{
    --tw-text-opacity: 1;
    color: rgb(17 24 39/var(--tw-text-opacity,1))
}
.text-green-400{
    --tw-text-opacity: 1;
    color: rgb(74 222 128/var(--tw-text-opacity,1))
}
.text-green-500{
    --tw-text-opacity: 1;
    color: rgb(34 197 94/var(--tw-text-opacity,1))
}
.text-green-600{
    --tw-text-opacity: 1;
    color: rgb(22 163 74/var(--tw-text-opacity,1))
}
.text-green-700{
    --tw-text-opacity: 1;
    color: rgb(21 128 61/var(--tw-text-opacity,1))
}
.text-green-800{
    --tw-text-opacity: 1;
    color: rgb(22 101 52/var(--tw-text-opacity,1))
}
.text-indigo-600{
    --tw-text-opacity: 1;
    color: rgb(79 70 229/var(--tw-text-opacity,1))
}
.text-indigo-800{
    --tw-text-opacity: 1;
    color: rgb(55 48 163/var(--tw-text-opacity,1))
}
.text-orange-600{
    --tw-text-opacity: 1;
    color: rgb(234 88 12/var(--tw-text-opacity,1))
}
.text-purple-600{
    --tw-text-opacity: 1;
    color: rgb(147 51 234/var(--tw-text-opacity,1))
}
.text-red-400{
    --tw-text-opacity: 1;
    color: rgb(248 113 113/var(--tw-text-opacity,1))
}
.text-red-500{
    --tw-text-opacity: 1;
    color: rgb(239 68 68/var(--tw-text-opacity,1))
}
.text-red-600{
    --tw-text-opacity: 1;
    color: rgb(220 38 38/var(--tw-text-opacity,1))
}
.text-red-700{
    --tw-text-opacity: 1;
    color: rgb(185 28 28/var(--tw-text-opacity,1))
}
.text-red-800{
    --tw-text-opacity: 1;
    color: rgb(153 27 27/var(--tw-text-opacity,1))
}
.text-slate-900{
    --tw-text-opacity: 1;
    color: rgb(15 23 42/var(--tw-text-opacity,1))
}
.text-white{
    --tw-text-opacity: 1;
    color: rgb(255 255 255/var(--tw-text-opacity,1))
}
.text-white\/80{
    color: hsla(0,0%,100%,.8)
}
.text-yellow-400{
    --tw-text-opacity: 1;
    color: rgb(250 204 21/var(--tw-text-opacity,1))
}
.text-yellow-500{
    --tw-text-opacity: 1;
    color: rgb(234 179 8/var(--tw-text-opacity,1))
}
.text-yellow-600{
    --tw-text-opacity: 1;
    color: rgb(202 138 4/var(--tw-text-opacity,1))
}
.text-yellow-800{
    --tw-text-opacity: 1;
    color: rgb(133 77 14/var(--tw-text-opacity,1))
}
.opacity-0{
    opacity: 0
}
.opacity-100{
    opacity: 1
}
.opacity-25{
    opacity: .25
}
.opacity-50{
    opacity: .5
}
.opacity-60{
    opacity: .6
}
.opacity-75{
    opacity: .75
}
.opacity-90{
    opacity: .9
}
.shadow{
    --tw-shadow: 0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);
    --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)
}
.shadow,.shadow-2xl{
    box-shadow: var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)
}
.shadow-2xl{
    --tw-shadow: 0 25px 50px -12px rgba(0,0,0,.25);
    --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color)
}
.shadow-inner{
    --tw-shadow: inset 0 2px 4px 0 rgba(0,0,0,.05);
    --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color)
}
.shadow-inner,.shadow-lg{
    box-shadow: var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)
}
.shadow-lg{
    --tw-shadow: 0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)
}
.shadow-md{
    --tw-shadow: 0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);
    --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)
}
.shadow-md,.shadow-sm{
    box-shadow: var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)
}
.shadow-sm{
    --tw-shadow: 0 1px 2px 0 rgba(0,0,0,.05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color)
}
.shadow-xl{
    --tw-shadow: 0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);
    --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)
}
.outline-none{
    outline: 2px solid transparent;
    outline-offset: 2px
}
.outline{
    outline-style: solid
}
.ring-2{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)
}
.ring-blue-200{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(191 219 254/var(--tw-ring-opacity,1))
}
.ring-blue-500{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(59 130 246/var(--tw-ring-opacity,1))
}
.blur{
    --tw-blur: blur(8px)
}
.blur,.filter{
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}
.backdrop-blur-sm{
    --tw-backdrop-blur: blur(4px);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)
}
.transition{
    transition-property: color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .15s
}
.transition-all{
    transition-property: all;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .15s
}
.transition-colors{
    transition-property: color,background-color,border-color,text-decoration-color,fill,stroke;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .15s
}
.transition-shadow{
    transition-property: box-shadow;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .15s
}
.transition-transform{
    transition-property: transform;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .15s
}
.duration-200{
    transition-duration: .2s
}
.duration-300{
    transition-duration: .3s
}
.ease-in-out{
    transition-timing-function: cubic-bezier(.4,0,.2,1)
}
.ease-out{
    transition-timing-function: cubic-bezier(0,0,.2,1)
}
:root{
    --brand: #2563eb
}
#route-loader{
    transform: scaleX(0)
}
body{
    font-family: Inter,sans-serif;
    background-color: #f3f4f6;
    color: #1f2937
}
.sidebar{
    width: 280px;
    background-color: #1e3a8a;
    color: #fff;
    transition: transform .3s ease-in-out;
    transform: translateX(0);
    z-index: 50
}
.main-content{
    margin-left: 280px;
    transition: margin-left .3s ease-in-out
}
.sidebar-hidden{
    transform: translateX(-100%)
}
.main-content-full{
    margin-left: 0
}
.date-card{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 90px;
    text-align: center;
    border-radius: 1rem;
    cursor: pointer;
    transition: all .3s ease-in-out;
    box-shadow: 0 4px 10px rgba(0,0,0,.05);
    font-size: 1.25rem
}
.date-card:not(.date-card-selected):hover{
    transform: translateY(-5px);
    box-shadow: 0 8px 15px rgba(0,0,0,.1)
}
.date-card-selected{
    background-color: #1e40af;
    color: #fff;
    box-shadow: 0 8px 15px rgba(30,64,175,.2)
}
.date-card-free{
    background-color: #f0fdf4;
    color: #15803d
}
.date-card-occupied{
    background-color: #fef2f2;
    color: #b91c1c
}
.date-card-blocked{
    background-color: #f3f4f6;
    color: #6b7280
}
.grid-header{
    font-weight: 600;
    text-align: center;
    color: #6b7280
}
.scrollbar-hidden::-webkit-scrollbar{
    display: none
}
.scrollbar-hidden{
    -ms-overflow-style: none;
    scrollbar-width: none
}
.field-toggle-switch{
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px
}
.field-toggle-switch input{
    opacity: 0;
    width: 0;
    height: 0
}
.field-toggle-slider{
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    transition: .4s;
    border-radius: 34px
}
.field-toggle-slider:before{
    position: absolute;
    content: "";
    height: 16px;
    width: 16px;
    left: 4px;
    bottom: 4px;
    background-color: #fff;
    transition: .4s;
    border-radius: 50%
}
input:checked+.field-toggle-slider{
    background-color: #1e40af
}
input:checked+.field-toggle-slider:before{
    transform: translateX(20px)
}
.appointment-card{
    border-radius: 1rem;
    box-shadow: 0 4px 6px rgba(0,0,0,.05);
    transition: transform .2s ease-in-out,box-shadow .2s ease-in-out
}
.appointment-card:hover{
    transform: translateY(-3px);
    box-shadow: 0 6px 10px rgba(0,0,0,.1)
}
.top-nav{
    display: none
}
.plan-card{
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: .75rem;
    border-width: 2px;
    border-color: transparent;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255/var(--tw-bg-opacity,1));
    padding: 1.5rem;
    --tw-shadow: 0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);
    transition-property: all;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .3s
}
.plan-card,.plan-card:hover{
    transform: translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.plan-card:hover{
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05
}
.plan-card.selected{
    --tw-border-opacity: 1;
    border-color: rgb(99 102 241/var(--tw-border-opacity,1));
    --tw-shadow: 0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);
    --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(99 102 241/var(--tw-ring-opacity,1))
}
.check-icon{
    margin-right: .5rem;
    height: 1.5rem;
    width: 1.5rem;
    --tw-text-opacity: 1;
    color: rgb(34 197 94/var(--tw-text-opacity,1))
}
@media (max-width:767px){
    .sidebar{
        transform: translateX(-100%);
        position: fixed;
        top: 0;
        left: 0;
        height: 100%;
        width: 70%
    }
    .sidebar.sidebar-open{
        transform: translateX(0)
    }
    .main-content{
        margin-left: 0
    }
    .top-nav{
        display: flex
    }
    .grid-header{
        font-size: .75rem
    }
    .date-card{
        height: 75px
    }
    .appointment-card{
        flex-direction: column;
        align-items: flex-start;
        space-y: 1rem;
        space-x: 0
    }

}
input[type=date]::-webkit-calendar-picker-indicator{
    background: transparent;
    bottom: 0;
    color: transparent;
    cursor: pointer;
    height: auto;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: auto
}
.time-slot-button{
    border: 2px solid #e5e7eb;
    background-color: #f9fafb;
    color: #4b5563;
    transition: all .2s ease-in-out
}
.time-slot-button:hover:not(.selected){
    background-color: #e5e7eb;
    transform: translateY(-2px);
    box-shadow: 0 4px 6px rgba(0,0,0,.05)
}
.time-slot-button.selected{
    background-color: #22c55e;
    color: #fff;
    border-color: #22c55e;
    box-shadow: 0 4px 6px rgba(0,0,0,.1)
}
@keyframes bounce-in{
    0%{
        transform: scale(.5);
        opacity: 0
    }
    50%{
        transform: scale(1.2);
        opacity: 1
    }
    to{
        transform: scale(1)
    }

}
.bounce-in{
    animation: bounce-in .6s cubic-bezier(.68,-.55,.27,1.55)
}
.day{
    min-width: 40px;
    min-height: 40px
}
.unavailable-day{
    text-decoration: line-through;
    opacity: .4;
    pointer-events: none
}
.opacity-50{
    opacity: .5
}
.selected-end,.selected-start{
    background-color: #3b82f6!important;
    color: #fff
}
.selected-range{
    background-color: #bfdbfe!important;
    color: #1e40af
}
.placeholder\:text-gray-400::-moz-placeholder{
    --tw-text-opacity: 1;
    color: rgb(156 163 175/var(--tw-text-opacity,1))
}
.placeholder\:text-gray-400::placeholder{
    --tw-text-opacity: 1;
    color: rgb(156 163 175/var(--tw-text-opacity,1))
}
.after\:absolute:after{
    content: var(--tw-content);
    position: absolute
}
.after\:left-\[2px\]:after{
    content: var(--tw-content);
    left: 2px
}
.after\:top-\[2px\]:after{
    content: var(--tw-content);
    top: 2px
}
.after\:h-5:after{
    content: var(--tw-content);
    height: 1.25rem
}
.after\:w-5:after{
    content: var(--tw-content);
    width: 1.25rem
}
.after\:rounded-full:after{
    content: var(--tw-content);
    border-radius: 9999px
}
.after\:border:after{
    content: var(--tw-content);
    border-width: 1px
}
.after\:border-gray-300:after{
    content: var(--tw-content);
    --tw-border-opacity: 1;
    border-color: rgb(209 213 219/var(--tw-border-opacity,1))
}
.after\:bg-white:after{
    content: var(--tw-content);
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255/var(--tw-bg-opacity,1))
}
.after\:transition:after{
    content: var(--tw-content);
    transition-property: color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .15s
}
.after\:transition-all:after{
    content: var(--tw-content);
    transition-property: all;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .15s
}
.after\:content-\[\'\'\]:after{
    --tw-content: "";
    content: var(--tw-content)
}
.hover\:scale-105:hover{
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05
}
.hover\:scale-105:hover,.hover\:scale-110:hover{
    transform: translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.hover\:scale-110:hover{
    --tw-scale-x: 1.1;
    --tw-scale-y: 1.1
}
.hover\:scale-\[1\.02\]:hover{
    --tw-scale-x: 1.02;
    --tw-scale-y: 1.02;
    transform: translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.hover\:border-blue-300:hover{
    --tw-border-opacity: 1;
    border-color: rgb(147 197 253/var(--tw-border-opacity,1))
}
.hover\:border-blue-400:hover{
    --tw-border-opacity: 1;
    border-color: rgb(96 165 250/var(--tw-border-opacity,1))
}
.hover\:border-blue-500:hover{
    --tw-border-opacity: 1;
    border-color: rgb(59 130 246/var(--tw-border-opacity,1))
}
.hover\:bg-blue-100:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(219 234 254/var(--tw-bg-opacity,1))
}
.hover\:bg-blue-300:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(147 197 253/var(--tw-bg-opacity,1))
}
.hover\:bg-blue-50:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(239 246 255/var(--tw-bg-opacity,1))
}
.hover\:bg-blue-600:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(37 99 235/var(--tw-bg-opacity,1))
}
.hover\:bg-blue-700:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(29 78 216/var(--tw-bg-opacity,1))
}
.hover\:bg-gray-100:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(243 244 246/var(--tw-bg-opacity,1))
}
.hover\:bg-gray-200:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(229 231 235/var(--tw-bg-opacity,1))
}
.hover\:bg-gray-300:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(209 213 219/var(--tw-bg-opacity,1))
}
.hover\:bg-gray-400:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(156 163 175/var(--tw-bg-opacity,1))
}
.hover\:bg-gray-50:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(249 250 251/var(--tw-bg-opacity,1))
}
.hover\:bg-gray-700:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(55 65 81/var(--tw-bg-opacity,1))
}
.hover\:bg-green-600:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(22 163 74/var(--tw-bg-opacity,1))
}
.hover\:bg-green-700:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(21 128 61/var(--tw-bg-opacity,1))
}
.hover\:bg-indigo-700:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(67 56 202/var(--tw-bg-opacity,1))
}
.hover\:bg-purple-700:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(126 34 206/var(--tw-bg-opacity,1))
}
.hover\:bg-red-600:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(220 38 38/var(--tw-bg-opacity,1))
}
.hover\:bg-red-700:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(185 28 28/var(--tw-bg-opacity,1))
}
.hover\:from-blue-700:hover{
    --tw-gradient-from: #1d4ed8 var(--tw-gradient-from-position);
    --tw-gradient-to: rgba(29,78,216,0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from),var(--tw-gradient-to)
}
.hover\:from-green-700:hover{
    --tw-gradient-from: #15803d var(--tw-gradient-from-position);
    --tw-gradient-to: rgba(21,128,61,0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from),var(--tw-gradient-to)
}
.hover\:to-blue-800:hover{
    --tw-gradient-to: #1e40af var(--tw-gradient-to-position)
}
.hover\:to-green-800:hover{
    --tw-gradient-to: #166534 var(--tw-gradient-to-position)
}
.hover\:text-blue-800:hover{
    --tw-text-opacity: 1;
    color: rgb(30 64 175/var(--tw-text-opacity,1))
}
.hover\:text-gray-600:hover{
    --tw-text-opacity: 1;
    color: rgb(75 85 99/var(--tw-text-opacity,1))
}
.hover\:text-gray-700:hover{
    --tw-text-opacity: 1;
    color: rgb(55 65 81/var(--tw-text-opacity,1))
}
.hover\:text-gray-800:hover{
    --tw-text-opacity: 1;
    color: rgb(31 41 55/var(--tw-text-opacity,1))
}
.hover\:text-gray-900:hover{
    --tw-text-opacity: 1;
    color: rgb(17 24 39/var(--tw-text-opacity,1))
}
.hover\:text-red-600:hover{
    --tw-text-opacity: 1;
    color: rgb(220 38 38/var(--tw-text-opacity,1))
}
.hover\:text-red-700:hover{
    --tw-text-opacity: 1;
    color: rgb(185 28 28/var(--tw-text-opacity,1))
}
.hover\:text-red-800:hover{
    --tw-text-opacity: 1;
    color: rgb(153 27 27/var(--tw-text-opacity,1))
}
.hover\:text-white:hover{
    --tw-text-opacity: 1;
    color: rgb(255 255 255/var(--tw-text-opacity,1))
}
.hover\:underline:hover{
    text-decoration-line: underline
}
.hover\:shadow-md:hover{
    --tw-shadow: 0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);
    --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)
}
.hover\:shadow-md:hover,.hover\:shadow-sm:hover{
    box-shadow: var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)
}
.hover\:shadow-sm:hover{
    --tw-shadow: 0 1px 2px 0 rgba(0,0,0,.05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color)
}
.hover\:shadow-xl:hover{
    --tw-shadow: 0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);
    --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)
}
.focus\:border-blue-500:focus{
    --tw-border-opacity: 1;
    border-color: rgb(59 130 246/var(--tw-border-opacity,1))
}
.focus\:border-green-500:focus{
    --tw-border-opacity: 1;
    border-color: rgb(34 197 94/var(--tw-border-opacity,1))
}
.focus\:border-indigo-500:focus{
    --tw-border-opacity: 1;
    border-color: rgb(99 102 241/var(--tw-border-opacity,1))
}
.focus\:border-red-500:focus{
    --tw-border-opacity: 1;
    border-color: rgb(239 68 68/var(--tw-border-opacity,1))
}
.focus\:border-transparent:focus{
    border-color: transparent
}
.focus\:outline-none:focus{
    outline: 2px solid transparent;
    outline-offset: 2px
}
.focus\:ring-2:focus{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)
}
.focus\:ring-2:focus,.focus\:ring-4:focus{
    box-shadow: var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)
}
.focus\:ring-4:focus{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)
}
.focus\:ring-blue-300:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(147 197 253/var(--tw-ring-opacity,1))
}
.focus\:ring-blue-500:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(59 130 246/var(--tw-ring-opacity,1))
}
.focus\:ring-blue-500\/50:focus{
    --tw-ring-color: rgba(59,130,246,.5)
}
.focus\:ring-gray-400:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(156 163 175/var(--tw-ring-opacity,1))
}
.focus\:ring-green-500:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(34 197 94/var(--tw-ring-opacity,1))
}
.focus\:ring-indigo-500:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(99 102 241/var(--tw-ring-opacity,1))
}
.focus\:ring-red-500:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(239 68 68/var(--tw-ring-opacity,1))
}
.disabled\:transform-none:disabled{
    transform: none
}
.disabled\:cursor-not-allowed:disabled{
    cursor: not-allowed
}
.disabled\:opacity-50:disabled{
    opacity: .5
}
.peer:checked~.peer-checked\:bg-blue-600{
    --tw-bg-opacity: 1;
    background-color: rgb(37 99 235/var(--tw-bg-opacity,1))
}
.peer:checked~.peer-checked\:bg-indigo-600{
    --tw-bg-opacity: 1;
    background-color: rgb(79 70 229/var(--tw-bg-opacity,1))
}
.peer:checked~.peer-checked\:after\:left-\[2px\]:after{
    content: var(--tw-content);
    left: 2px
}
.peer:checked~.peer-checked\:after\:translate-x-full:after{
    content: var(--tw-content);
    --tw-translate-x: 100%;
    transform: translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.peer:checked~.peer-checked\:after\:border-white:after{
    content: var(--tw-content);
    --tw-border-opacity: 1;
    border-color: rgb(255 255 255/var(--tw-border-opacity,1))
}
.peer:focus~.peer-focus\:outline-none{
    outline: 2px solid transparent;
    outline-offset: 2px
}
.peer:focus~.peer-focus\:ring-4{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)
}
.peer:focus~.peer-focus\:ring-blue-300{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(147 197 253/var(--tw-ring-opacity,1))
}
@media (min-width:640px){
    .sm\:w-80{
        width: 20rem
    }
    .sm\:grid-cols-2{
        grid-template-columns: repeat(2,minmax(0,1fr))
    }
    .sm\:grid-cols-3{
        grid-template-columns: repeat(3,minmax(0,1fr))
    }
    .sm\:flex-row{
        flex-direction: row
    }
    .sm\:items-center{
        align-items: center
    }
    .sm\:justify-between{
        justify-content: space-between
    }
    .sm\:p-8{
        padding: 2rem
    }
    .sm\:px-6{
        padding-left: 1.5rem;
        padding-right: 1.5rem
    }

}
@media (min-width:768px){
    .md\:col-span-2{
        grid-column: span 2/span 2
    }
    .md\:w-40{
        width: 10rem
    }
    .md\:scale-100{
        --tw-scale-x: 1;
        --tw-scale-y: 1;
        transform: translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
    }
    .md\:grid-cols-2{
        grid-template-columns: repeat(2,minmax(0,1fr))
    }
    .md\:grid-cols-3{
        grid-template-columns: repeat(3,minmax(0,1fr))
    }
    .md\:flex-row{
        flex-direction: row
    }
    .md\:items-center{
        align-items: center
    }
    .md\:gap-4{
        gap: 1rem
    }
    .md\:p-10{
        padding: 2.5rem
    }
    .md\:p-8{
        padding: 2rem
    }

}
@media (min-width:1024px){
    .lg\:col-span-1{
        grid-column: span 1/span 1
    }
    .lg\:col-span-2{
        grid-column: span 2/span 2
    }
    .lg\:grid-cols-3{
        grid-template-columns: repeat(3,minmax(0,1fr))
    }
    .lg\:grid-cols-4{
        grid-template-columns: repeat(4,minmax(0,1fr))
    }
    .lg\:flex-row{
        flex-direction: row
    }
    .lg\:items-center{
        align-items: center
    }
    .lg\:justify-between{
        justify-content: space-between
    }
    .lg\:px-8{
        padding-left: 2rem;
        padding-right: 2rem
    }

}
@media (min-width:1280px){
    .xl\:grid-cols-4{
        grid-template-columns: repeat(4,minmax(0,1fr))
    }

}

/* Estilos personalizados para el formulario de reservas */

.card {

    background-color: #ffffff;

    border-radius: 1rem;

    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);

    padding: 2rem;

    width: 100%;

    max-width: 32rem;

    margin: 0 auto;

    border: 1px solid #f1f5f9;

    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);

}

.card:hover {

    transform: translateY(-4px) scale(1.02);

    box-shadow: 0 20px 40px rgba(0,0,0,0.12);

    border-color: #e2e8f0;

}

/* Resetear estilos de validación por defecto */

input, select, textarea {

    border: 2px solid #e5e7eb !important;

}

input:focus, select:focus, textarea:focus {

    border-color: #3b82f6 !important;

    outline: none !important;

    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1) !important;

}

/* Ocultar mensajes de validación por defecto */

input:invalid, select:invalid, textarea:invalid {

    box-shadow: none !important;

}

input:invalid:focus, select:invalid:focus, textarea:invalid:focus {

    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1) !important;

}

.btn-primary {

    background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);

    color: #ffffff;

    border: none;

    border-radius: 0.5rem;

    padding: 0.75rem 1.5rem;

    font-size: 1rem;

    font-weight: 600;

    cursor: pointer;

    transition: all 0.2s ease-in-out;

    text-align: center;

    display: inline-block;

    text-decoration: none;

}

.btn-primary:hover {

    background: linear-gradient(135deg, #2563eb 0%, #1e40af 100%);

    transform: translateY(-1px);

    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);

}

.btn-primary:active {

    transform: translateY(0);

}

.btn-primary:disabled {

    background: #9ca3af;

    cursor: not-allowed;

    transform: none;

    box-shadow: none;

}

.btn-secondary {

    background-color: #f3f4f6;

    color: #374151;

    border: 1px solid #d1d5db;

    border-radius: 0.5rem;

    padding: 0.75rem 1.5rem;

    font-size: 1rem;

    font-weight: 600;

    cursor: pointer;

    transition: all 0.2s ease-in-out;

    text-align: center;

    display: inline-block;

    text-decoration: none;

}

.btn-secondary:hover {

    background-color: #e5e7eb;

    border-color: #9ca3af;

}

.input-field {

    width: 100%;

    padding: 0.75rem 1rem;

    border: 2px solid #e5e7eb;

    border-radius: 0.5rem;

    font-size: 1rem;

    transition: all 0.2s ease-in-out;

    background-color: #ffffff;

    color: #374151;

    box-sizing: border-box;

}

.input-field:not(:focus):not(:placeholder-shown):invalid {

    border-color: #e5e7eb;

}

.input-field:not(:focus):not(:placeholder-shown):valid {

    border-color: #e5e7eb;

}

.input-field:focus {

    outline: none;

    border-color: #3b82f6;

    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);

}

.input-field:invalid:not(:focus) {

    border-color: #e5e7eb;

}

.input-field:invalid:focus {

    border-color: #3b82f6;

    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);

}

.input-field::placeholder {

    color: #9ca3af;

}

.input-field:disabled {

    background-color: #f9fafb;

    color: #6b7280;

    cursor: not-allowed;

}

/* Estilos específicos para select */

.input-field select {

    appearance: none;

    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");

    background-position: right 0.5rem center;

    background-repeat: no-repeat;

    background-size: 1.5em 1.5em;

    padding-right: 2.5rem;

}

/* Estilos para campos de fecha */

.input-field[type="date"] {

    position: relative;

}

.input-field[type="date"]::-webkit-calendar-picker-indicator {

    background: transparent;

    bottom: 0;

    color: transparent;

    cursor: pointer;

    height: auto;

    left: 0;

    position: absolute;

    right: 0;

    top: 0;

    width: auto;

}

/* Estilos para campos de número */

.input-field[type="number"] {

    -moz-appearance: textfield;

}

.input-field[type="number"]: :-webkit-outer-spin-button,
.input-field[type="number"]::-webkit-inner-spin-button {

    -webkit-appearance: none;

    margin: 0;

}

/* Estilos para el calendario semanal */

.week-day {

    padding: 0.75rem;

    text-align: center;

    border-radius: 0.5rem;

    border: 2px solid #e5e7eb;

    cursor: pointer;

    transition: all 0.2s ease-in-out;

    background-color: #ffffff;

    color: #374151;

}

.week-day:hover {

    border-color: #3b82f6;

    background-color: #eff6ff;

}

.week-day.selected {

    background-color: #3b82f6;

    border-color: #3b82f6;

    color: #ffffff;

}

.week-day.disabled {

    background-color: #f3f4f6;

    border-color: #e5e7eb;

    color: #9ca3af;

    cursor: not-allowed;

}

/* Estilos para los botones de horarios */

.time-slot-button {

    padding: 0.75rem 1rem;

    border: 2px solid #e5e7eb;

    border-radius: 0.5rem;

    background-color: #ffffff;

    color: #374151;

    font-size: 0.875rem;

    font-weight: 500;

    cursor: pointer;

    transition: all 0.2s ease-in-out;

    text-align: center;

}

.time-slot-button:hover {

    border-color: #3b82f6;

    background-color: #eff6ff;

    transform: translateY(-1px);

    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);

}

.time-slot-button.selected {

    background-color: #22c55e;

    border-color: #22c55e;

    color: #ffffff;

    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);

}

/* Estilos para el formulario de confirmación */

.confirmation-details {

    background-color: #f9fafb;

    border: 1px solid #e5e7eb;

    border-radius: 0.5rem;

    padding: 1.5rem;

}

.confirmation-details .detail-row {

    display: flex;

    align-items: center;

    margin-bottom: 0.75rem;

}

.confirmation-details .detail-row:last-child {

    margin-bottom: 0;

}

.confirmation-details .detail-label {

    color: #6b7280;

    width: 6rem;

    font-size: 0.875rem;

}

.confirmation-details .detail-value {

    font-weight: 600;

    color: #1f2937;

    word-break: break-word;

}

/* Responsive adjustments */

@media (max-width: 640px) {

    .card {

        padding: 1.5rem;

        margin: 1rem;

    }

    .week-day {

        padding: 0.5rem;

        font-size: 0.875rem;

    }

    .time-slot-button {

        padding: 0.5rem 0.75rem;

        font-size: 0.75rem;

    }

    .confirmation-details .detail-row {

        flex-direction: column;

        align-items: flex-start;

    }

    .confirmation-details .detail-label {

        width: auto;

        margin-bottom: 0.25rem;

    }

}
