@import url(https://fonts.googleapis.com/css?family=Montserrat:400,700);
/*! tailwindcss v2.2.17 | MIT License | https://tailwindcss.com */

/*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */

/*
Document
========
*/

/**
Use a better box model (opinionated).
*/

*,
::before,
::after {
  box-sizing: border-box;
}

/**
Use a more readable tab size (opinionated).
*/

html {
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4;
}

/**
1. Correct the line height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
*/

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/*
Sections
========
*/

/**
Remove the margin in all browsers.
*/

body {
  margin: 0;
}

/**
Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
*/

body {
  font-family:
		system-ui,
		-apple-system, /* Firefox supports this but not yet `system-ui` */
		'Segoe UI',
		Roboto,
		Helvetica,
		Arial,
		sans-serif,
		'Apple Color Emoji',
		'Segoe UI Emoji';
}

/*
Grouping content
================
*/

/**
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
}

/*
Text-level semantics
====================
*/

/**
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/**
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/**
1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
2. Correct the odd 'em' font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family:
		ui-monospace,
		SFMono-Regular,
		Consolas,
		'Liberation Mono',
		Menlo,
		monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/**
Prevent 'sub' and 'sup' elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
Tabular data
============
*/

/**
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
}

/*
Forms
=====
*/

/**
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
Remove the inheritance of text transform in Edge and Firefox.
1. Remove the inheritance of text transform in Firefox.
*/

button,
select { /* 1 */
  text-transform: none;
}

/**
Correct the inability to style clickable types in iOS and Safari.
*/

button,
[type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button;
}

/**
Remove the inner border and padding in Firefox.
*/

::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
Restore the focus styles unset by the previous rule.
*/

/**
Remove the additional ':invalid' styles in Firefox.
See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737
*/

/**
Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.
*/

legend {
  padding: 0;
}

/**
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/**
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to 'inherit' in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Interactive
===========
*/

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/**
 * Manually forked from SUIT CSS Base: https://github.com/suitcss/base
 * A thin layer on top of normalize.css that provides a starting point more
 * suitable for web applications.
 */

/**
 * Removes the default spacing and border for appropriate elements.
 */

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

button {
  background-color: transparent;
  background-image: none;
}

fieldset {
  margin: 0;
  padding: 0;
}

ol,
ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

/**
 * Tailwind custom reset styles
 */

/**
 * 1. Use the user's configured `sans` font-family (with Tailwind's default
 *    sans-serif font stack as a fallback) as a sane default.
 * 2. Use Tailwind's default "normal" line-height so the user isn't forced
 *    to override it to ensure consistency even when using the default theme.
 */

html {
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 1 */
  line-height: 1.5; /* 2 */
}

/**
 * Inherit font-family and line-height from `html` so users can set them as
 * a class directly on the `html` element.
 */

body {
  font-family: inherit;
  line-height: inherit;
}

/**
 * 1. Prevent padding and border from affecting element width.
 *
 *    We used to set this in the html element and inherit from
 *    the parent element for everything else. This caused issues
 *    in shadow-dom-enhanced elements like <details> where the content
 *    is wrapped by a div with box-sizing set to `content-box`.
 *
 *    https://github.com/mozdevs/cssremedy/issues/4
 *
 *
 * 2. Allow adding a border to an element by just adding a border-width.
 *
 *    By default, the way the browser specifies that an element should have no
 *    border is by setting it's border-style to `none` in the user-agent
 *    stylesheet.
 *
 *    In order to easily add borders to elements by just setting the `border-width`
 *    property, we change the default border-style for all elements to `solid`, and
 *    use border-width to hide them instead. This way our `border` utilities only
 *    need to set the `border-width` property instead of the entire `border`
 *    shorthand, making our border utilities much more straightforward to compose.
 *
 *    https://github.com/tailwindcss/tailwindcss/pull/116
 */

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: currentColor; /* 2 */
}

/*
 * Ensure horizontal rules are visible by default
 */

hr {
  border-top-width: 1px;
}

/**
 * Undo the `border-style: none` reset that Normalize applies to images so that
 * our `border-{width}` utilities have the expected effect.
 *
 * The Normalize reset is unnecessary for us since we default the border-width
 * to 0 on all elements.
 *
 * https://github.com/tailwindcss/tailwindcss/issues/362
 */

img {
  border-style: solid;
}

textarea {
  resize: vertical;
}

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1;
  color: #a1a1aa;
}

input::placeholder,
textarea::placeholder {
  opacity: 1;
  color: #a1a1aa;
}

button,
[role="button"] {
  cursor: pointer;
}

/**
 * Override legacy focus reset from Normalize with modern Firefox focus styles.
 *
 * This is actually an improvement over the new defaults in Firefox in our testing,
 * as it triggers the better focus styles even for links, which still use a dotted
 * outline in Firefox by default.
 */

table {
  border-collapse: collapse;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/**
 * Reset links to optimize for opt-in styling instead of
 * opt-out.
 */

a {
  color: inherit;
  text-decoration: inherit;
}

/**
 * Reset form element properties that are easy to forget to
 * style explicitly so you don't inadvertently introduce
 * styles that deviate from your design system. These styles
 * supplement a partial reset that is already applied by
 * normalize.css.
 */

button,
input,
optgroup,
select,
textarea {
  padding: 0;
  line-height: inherit;
  color: inherit;
}

/**
 * Use the configured 'mono' font family for elements that
 * are expected to be rendered with a monospace font, falling
 * back to the system monospace stack if there is no configured
 * 'mono' font family.
 */

pre,
code,
kbd,
samp {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

/**
 * 1. Make replaced elements `display: block` by default as that's
 *    the behavior you want almost all of the time. Inspired by
 *    CSS Remedy, with `svg` added as well.
 *
 *    https://github.com/mozdevs/cssremedy/issues/14
 * 
 * 2. Add `vertical-align: middle` to align replaced elements more
 *    sensibly by default when overriding `display` by adding a
 *    utility like `inline`.
 *
 *    This can trigger a poorly considered linting error in some
 *    tools but is included by design.
 * 
 *    https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210
 */

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/**
 * Constrain images and videos to the parent width and preserve
 * their intrinsic aspect ratio.
 *
 * https://github.com/mozdevs/cssremedy/issues/14
 */

img,
video {
  max-width: 100%;
  height: auto;
}

/**
 * Ensure the default browser behavior of the `hidden` attribute.
 */

[hidden] {
  display: none;
}

*, ::before, ::after{
  border-color: currentColor;
}

.container{
  width: 100%;
}

@media (min-width: 640px){
  .container{
    max-width: 640px;
  }
}

@media (min-width: 768px){
  .container{
    max-width: 768px;
  }
}

@media (min-width: 1024px){
  .container{
    max-width: 1024px;
  }
}

@media (min-width: 1280px){
  .container{
    max-width: 1280px;
  }
}

@media (min-width: 1536px){
  .container{
    max-width: 1536px;
  }
}

.pointer-events-none{
  pointer-events: none !important;
}

.visible{
  visibility: visible !important;
}

.fixed{
  position: fixed !important;
}

.absolute{
  position: absolute !important;
}

.relative{
  position: relative !important;
}

.sticky{
  position: sticky !important;
}

.right-0{
  right: 0px !important;
}

.left-0{
  left: 0px !important;
}

.m-0{
  margin: 0px !important;
}

.m-auto{
  margin: auto !important;
}

.mx-2{
  margin-left: 0.5rem !important;
  margin-right: 0.5rem !important;
}

.mx-3{
  margin-left: 0.75rem !important;
  margin-right: 0.75rem !important;
}

.mx-4{
  margin-left: 1rem !important;
  margin-right: 1rem !important;
}

.mx-20{
  margin-left: 5rem !important;
  margin-right: 5rem !important;
}

.mx-auto{
  margin-left: auto !important;
  margin-right: auto !important;
}

.my-2{
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

.my-5{
  margin-top: 1.25rem !important;
  margin-bottom: 1.25rem !important;
}

.my-20{
  margin-top: 5rem !important;
  margin-bottom: 5rem !important;
}

.my-auto{
  margin-top: auto !important;
  margin-bottom: auto !important;
}

.mt-0{
  margin-top: 0px !important;
}

.mt-1{
  margin-top: 0.25rem !important;
}

.mt-2{
  margin-top: 0.5rem !important;
}

.mt-3{
  margin-top: 0.75rem !important;
}

.mt-4{
  margin-top: 1rem !important;
}

.mt-5{
  margin-top: 1.25rem !important;
}

.mt-6{
  margin-top: 1.5rem !important;
}

.mt-7{
  margin-top: 1.75rem !important;
}

.mt-20{
  margin-top: 5rem !important;
}

.mt-auto{
  margin-top: auto !important;
}

.mt-10px{
  margin-top: 10px !important;
}

.mt-12px{
  margin-top: 12px !important;
}

.mt-30px{
  margin-top: 30px !important;
}

.mr-2{
  margin-right: 0.5rem !important;
}

.mr-3{
  margin-right: 0.75rem !important;
}

.mr-4{
  margin-right: 1rem !important;
}

.mr-5{
  margin-right: 1.25rem !important;
}

.mr-10{
  margin-right: 2.5rem !important;
}

.mr-20px{
  margin-right: 20px !important;
}

.mb-0{
  margin-bottom: 0px !important;
}

.mb-1{
  margin-bottom: 0.25rem !important;
}

.mb-2{
  margin-bottom: 0.5rem !important;
}

.mb-3{
  margin-bottom: 0.75rem !important;
}

.mb-4{
  margin-bottom: 1rem !important;
}

.mb-5{
  margin-bottom: 1.25rem !important;
}

.ml-1{
  margin-left: 0.25rem !important;
}

.ml-2{
  margin-left: 0.5rem !important;
}

.ml-3{
  margin-left: 0.75rem !important;
}

.ml-4{
  margin-left: 1rem !important;
}

.ml-auto{
  margin-left: auto !important;
}

.ml-16px{
  margin-left: 16px !important;
}

.block{
  display: block !important;
}

.inline-block{
  display: inline-block !important;
}

.inline{
  display: inline !important;
}

.flex{
  display: flex !important;
}

.inline-flex{
  display: inline-flex !important;
}

.table{
  display: table !important;
}

.grid{
  display: grid !important;
}

.contents{
  display: contents !important;
}

.hidden{
  display: none !important;
}

.h-5{
  height: 1.25rem !important;
}

.h-6{
  height: 1.5rem !important;
}

.h-12{
  height: 3rem !important;
}

.h-40px{
  height: 40px !important;
}

.h-full{
  height: 100% !important;
}

.min-h-screen{
  min-height: 100vh !important;
}

.w-5{
  width: 1.25rem !important;
}

.w-6{
  width: 1.5rem !important;
}

.w-12{
  width: 3rem !important;
}

.w-40{
  width: 10rem !important;
}

.w-60{
  width: 15rem !important;
}

.w-full{
  width: 100% !important;
}

.flex-1{
  flex: 1 1 0% !important;
}

.flex-shrink{
  flex-shrink: 1 !important;
}

.flex-grow{
  flex-grow: 1 !important;
}

.transform{
  --tw-translate-x: 0 !important;
  --tw-translate-y: 0 !important;
  --tw-rotate: 0 !important;
  --tw-skew-x: 0 !important;
  --tw-skew-y: 0 !important;
  --tw-scale-x: 1 !important;
  --tw-scale-y: 1 !important;
  transform: translateX(var(--tw-translate-x)) translateY(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)) !important;
}

@keyframes spin{
  to{
    transform: rotate(360deg);
  }
}

@keyframes ping{
  75%, 100%{
    transform: scale(2);
    opacity: 0;
  }
}

@keyframes pulse{
  50%{
    opacity: .5;
  }
}

@keyframes bounce{
  0%, 100%{
    transform: translateY(-25%);
    animation-timing-function: cubic-bezier(0.8,0,1,1);
  }

  50%{
    transform: none;
    animation-timing-function: cubic-bezier(0,0,0.2,1);
  }
}

.animate-spin{
  animation: spin 1s linear infinite !important;
}

.cursor-pointer{
  cursor: pointer !important;
}

.cursor-not-allowed{
  cursor: not-allowed !important;
}

.resize{
  resize: both !important;
}

.flex-row{
  flex-direction: row !important;
}

.flex-row-reverse{
  flex-direction: row-reverse !important;
}

.flex-col{
  flex-direction: column !important;
}

.flex-wrap{
  flex-wrap: wrap !important;
}

.items-center{
  align-items: center !important;
}

.justify-start{
  justify-content: flex-start !important;
}

.justify-end{
  justify-content: flex-end !important;
}

.justify-center{
  justify-content: center !important;
}

.justify-between{
  justify-content: space-between !important;
}

.justify-around{
  justify-content: space-around !important;
}

.justify-evenly{
  justify-content: space-evenly !important;
}

.gap-2{
  gap: 0.5rem !important;
}

.gap-3{
  gap: 0.75rem !important;
}

.gap-4{
  gap: 1rem !important;
}

.space-x-2 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0 !important;
  margin-right: calc(0.5rem * var(--tw-space-x-reverse)) !important;
  margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse))) !important;
}

.space-y-3 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0 !important;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse))) !important;
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse)) !important;
}

.overflow-auto{
  overflow: auto !important;
}

.overflow-hidden{
  overflow: hidden !important;
}

.overflow-y-auto{
  overflow-y: auto !important;
}

.whitespace-nowrap{
  white-space: nowrap !important;
}

.rounded-4{
  border-radius: 4px !important;
}

.rounded{
  border-radius: 0.25rem !important;
}

.rounded-lg{
  border-radius: 0.5rem !important;
}

.rounded-xl{
  border-radius: 0.75rem !important;
}

.rounded-3xl{
  border-radius: 1.5rem !important;
}

.rounded-full{
  border-radius: 9999px !important;
}

.rounded-t-lg{
  border-top-left-radius: 0.5rem !important;
  border-top-right-radius: 0.5rem !important;
}

.border-2{
  border-width: 2px !important;
}

.border{
  border-width: 1px !important;
}

.border-t-2{
  border-top-width: 2px !important;
}

.border-b{
  border-bottom-width: 1px !important;
}

.border-primary{
  --tw-border-opacity: 1 !important;
  border-color: rgba(0, 101, 255, var(--tw-border-opacity)) !important;
}

.border-strokeBox{
  --tw-border-opacity: 1 !important;
  border-color: rgba(207, 216, 230, var(--tw-border-opacity)) !important;
}

.border-rejected{
  --tw-border-opacity: 1 !important;
  border-color: rgba(236, 98, 64, var(--tw-border-opacity)) !important;
}

.border-customBorder-shade1{
  border-color: rgba(151, 160, 175, 0.2) !important;
}

.focus\:border-primary:focus{
  --tw-border-opacity: 1 !important;
  border-color: rgba(0, 101, 255, var(--tw-border-opacity)) !important;
}

.bg-primary{
  --tw-bg-opacity: 1 !important;
  background-color: rgba(0, 101, 255, var(--tw-bg-opacity)) !important;
}

.bg-primary-natural{
  --tw-bg-opacity: 1 !important;
  background-color: rgba(23, 43, 77, var(--tw-bg-opacity)) !important;
}

.bg-white{
  --tw-bg-opacity: 1 !important;
  background-color: rgba(255, 255, 255, var(--tw-bg-opacity)) !important;
}

.bg-opacity-70{
  --tw-bg-opacity: 0.7 !important;
}

.p-0{
  padding: 0px !important;
}

.p-1{
  padding: 0.25rem !important;
}

.p-2{
  padding: 0.5rem !important;
}

.p-3{
  padding: 0.75rem !important;
}

.p-4{
  padding: 1rem !important;
}

.p-5{
  padding: 1.25rem !important;
}

.p-8{
  padding: 2rem !important;
}

.p-12px{
  padding: 12px !important;
}

.p-18px{
  padding: 18px !important;
}

.p-24px{
  padding: 24px !important;
}

.px-3{
  padding-left: 0.75rem !important;
  padding-right: 0.75rem !important;
}

.px-5{
  padding-left: 1.25rem !important;
  padding-right: 1.25rem !important;
}

.px-6{
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}

.px-8{
  padding-left: 2rem !important;
  padding-right: 2rem !important;
}

.px-20px{
  padding-left: 20px !important;
  padding-right: 20px !important;
}

.py-2{
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

.py-3{
  padding-top: 0.75rem !important;
  padding-bottom: 0.75rem !important;
}

.py-4{
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.py-10px{
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.py-16px{
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}

.pt-1{
  padding-top: 0.25rem !important;
}

.pt-3{
  padding-top: 0.75rem !important;
}

.pt-4{
  padding-top: 1rem !important;
}

.pt-5{
  padding-top: 1.25rem !important;
}

.pt-10{
  padding-top: 2.5rem !important;
}

.pt-10px{
  padding-top: 10px !important;
}

.pt-20px{
  padding-top: 20px !important;
}

.pr-3{
  padding-right: 0.75rem !important;
}

.pr-5{
  padding-right: 1.25rem !important;
}

.pb-0{
  padding-bottom: 0px !important;
}

.pb-3{
  padding-bottom: 0.75rem !important;
}

.pb-4{
  padding-bottom: 1rem !important;
}

.pb-5{
  padding-bottom: 1.25rem !important;
}

.pb-10{
  padding-bottom: 2.5rem !important;
}

.pb-32px{
  padding-bottom: 32px !important;
}

.pl-1{
  padding-left: 0.25rem !important;
}

.pl-2{
  padding-left: 0.5rem !important;
}

.pl-3{
  padding-left: 0.75rem !important;
}

.pl-5{
  padding-left: 1.25rem !important;
}

.text-center{
  text-align: center !important;
}

.font-mont{
  font-family: Montserrat !important;
}

.text-header-l{
  font-size: 32px !important;
  line-height: 48px !important;
}

.text-header-m{
  font-size: 28px !important;
  line-height: 42px !important;
}

.text-title-m{
  font-size: 16px !important;
  line-height: 24px !important;
}

.font-medium{
  font-weight: 500 !important;
}

.font-semibold{
  font-weight: 600 !important;
}

.font-bold{
  font-weight: 700 !important;
}

.uppercase{
  text-transform: uppercase !important;
}

.lowercase{
  text-transform: lowercase !important;
}

.italic{
  font-style: italic !important;
}

.text-primary{
  --tw-text-opacity: 1 !important;
  color: rgba(0, 101, 255, var(--tw-text-opacity)) !important;
}

.text-primary-natural{
  --tw-text-opacity: 1 !important;
  color: rgba(23, 43, 77, var(--tw-text-opacity)) !important;
}

.text-white{
  --tw-text-opacity: 1 !important;
  color: rgba(255, 255, 255, var(--tw-text-opacity)) !important;
}

.underline{
  text-decoration: underline !important;
}

*, ::before, ::after{
  --tw-shadow: 0 0 #0000;
}

.shadow-sm{
  --tw-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
}

.shadow{
  --tw-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06) !important;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
}

.hover\:shadow-md:hover{
  --tw-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
}

.focus\:outline-none:focus{
  outline: 2px solid transparent !important;
  outline-offset: 2px !important;
}

*, ::before, ::after{
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgba(59, 130, 246, 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
}

.filter{
  --tw-blur: var(--tw-empty,/*!*/ /*!*/) !important;
  --tw-brightness: var(--tw-empty,/*!*/ /*!*/) !important;
  --tw-contrast: var(--tw-empty,/*!*/ /*!*/) !important;
  --tw-grayscale: var(--tw-empty,/*!*/ /*!*/) !important;
  --tw-hue-rotate: var(--tw-empty,/*!*/ /*!*/) !important;
  --tw-invert: var(--tw-empty,/*!*/ /*!*/) !important;
  --tw-saturate: var(--tw-empty,/*!*/ /*!*/) !important;
  --tw-sepia: var(--tw-empty,/*!*/ /*!*/) !important;
  --tw-drop-shadow: var(--tw-empty,/*!*/ /*!*/) !important;
  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) !important;
}

.blur{
  --tw-blur: blur(8px) !important;
}

.grayscale{
  --tw-grayscale: grayscale(100%) !important;
}

.transition{
  transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter !important;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
  transition-duration: 150ms !important;
}

.transition-shadow{
  transition-property: box-shadow !important;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
  transition-duration: 150ms !important;
}

.ease-in-out{
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* @font-face {
  font-family: 'BrandonText-Bold';
  src: url('/fonts/BrandonText-Bold.otf') format('opentype');
}
@font-face {
  font-family: 'BrandonText-Black';
  src: url('/fonts/BrandonText-Black.otf') format('opentype');
}
@font-face {
  font-family: 'BrandonText-Medium';
  src: url('/fonts/BrandonText-Medium.otf') format('opentype');
}
@font-face {
  font-family: 'BrandonText-Regular';
  src: url('/fonts/BrandonText-Regular.otf') format('opentype');
} */

@keyframes icon-spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(359deg);
  }
}

.icon-spin {
  animation: icon-spin 2s infinite linear;
}

html {
  font-size: 16px;
}

html,
body {
  /* position: fixed; */
  height: 100%;
  width: 100%;
}

#modal-root,
#error-modal {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  z-index: 999;
  display: flex;
  align-items: stretch;
  justify-content: center;
}

.modal-container {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  display: flex;
  width: 100vw;
  height: 100%;
  justify-content: center;
  align-items: stretch;
}

input.visit-input {
  /* font-family: BrandonText-Medium, Lato, sans-serif; */
  font-family: 'Montserrat';
  font-size: 1.1rem;
  border: none;
}

input.visit-input:focus {
  outline: none;
}

body {
  /* font-family: Lato, sans-serif; */
  font-family: 'Montserrat';
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

code {
  font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
    monospace;
}

#root {
  width: 100vw;
  height: 100vh;
  margin: 0 auto;
}

.fade-enter {
  opacity: 0;
}

.fade-enter.fade-enter-active {
  transition: 300ms linear;
  opacity: 1 !important;
}

.fade-enter-done {
  opacity: 1 !important;
}

.fade-exit {
  opacity: 1 !important;
}

.fade-exit.fade-exit-active {
  opacity: 0;
  transition: 3000ms linear;
}

.fade-in-enter,
.fade-in-appear {
  transform: translateY(2rem);
  opacity: 0;
}

.fade-in-enter.fade-in-enter-active,
.fade-in-appear.fade-in-appear-active {
  transition: 200ms linear;
  transform: none;
  opacity: 1;
}

.slide-next-enter {
  transform: translateX(100%);
}

.slide-next-enter.slide-next-enter-active {
  transition: 200ms linear;
  transform: unset;
}

.slide-next-exit {
  transform: translateY(-100%);
}

.slide-next-exit.slide-next-exit-active {
  transition: 200ms linear;
  transform: translate(100%, -100%);
}

.slide-previous-enter {
  transform: scale(0.9);
}

.slide-previous-enter.slide-previous-enter-active {
  transition: 200ms linear;
  transform: unset;
}

.slide-previous-exit {
  transform: translateX(-100%);
}

.slide-previous-exit.slide-previous-exit-active {
  transition: 200ms linear;
  transform: translateX(-100%) scale(0.6);
}

.fly-in-enter,
.fly-in-appear {
  transform: translateY(100%);
}

.fly-in-enter.fly-in-enter-active,
.fly-in-appear.fly-in-appear-active {
  transition: 200ms linear;
  transform: none;
}

.fly-in-exit {
  transform: none;
}

.fly-in-exit.fly-in-exit-active {
  transition: 200ms linear;
  transform: translateY(100%);
}

.slide-in-enter,
.slide-in-appear {
  transform: translateX(100%);
}

.slide-in-enter.slide-in-enter-active,
.slide-in-appear.slide-in-appear-active {
  transition: 200ms linear;
  transform: none;
}

.slide-in-exit {
  transform: none;
}

.slide-in-exit.slide-in-exit-active {
  transition: 200ms linear;
  transform: translateX(100%);
}

/*
.expand-hide-enter.expand-hide-enter-active {
  padding: 0 !important;
  height: 0;
  transition: 200ms linear;
}

.expand-hide-enter-done {
  padding: 0 !important;
  height: 0;
}

.expand-enter.expand-enter-active {
  background: white;
  transition: 200ms linear;
  margin-top: 0;
  /* transform: translateY(-100%); */

/*}

.expand-enter-done {
  background: white;
  margin-top: 0;
  transform: translateY(-100%);
}*/

.textOnInput {
  position: relative;
}

label {
  font-size: 16px;
  font-weight: 500;
  display: inline-block;
  margin-bottom: 0.5rem;
}

/* .textOnInput  */

.textOnInputLabel {
  position: absolute;
  top: -15px;
  left: 23px;
  padding: 2px;
  z-index: 1;
}

.textOnInput label:after {
  content: ' ';
  background-color: #fff;
  width: 100%;
  height: 13px;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
}

.form-control {
  font-weight: 500;
  font-size: 14px;
  box-shadow: none !important;
}

.checkMarkContainer {
  display: block;
  position: relative;
  padding-left: 35px;
  margin-bottom: 12px;
  cursor: pointer;
  font-size: 22px;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

/* Hide the browser's default checkbox */

.checkMarkContainer input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

/* Create a custom checkbox */

.checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 25px;
  width: 25px;
  background-color: #eee;
  border-radius: 15px;
}

/* On mouse-over, add a grey background color */

.checkMarkContainer:hover input~.checkmark {
  background-color: #ccc;
}

/* When the checkbox is checked, add a blue background */

.checkMarkContainer input:checked~.checkmark {
  background-color: #714fff;
}

/* Create the checkmark/indicator (hidden when not checked) */

.checkmark:after {
  content: '';
  position: absolute;
  display: none;
}

/* Show the checkmark when checked */

.checkMarkContainer input:checked~.checkmark:after {
  display: block;
}

/* Style the checkmark/indicator */

.checkMarkContainer .checkmark:after {
  left: 9px;
  top: 6px;
  width: 7px;
  height: 12px;
  border: solid white;
  border-width: 0 3px 3px 0;
  transform: rotate(45deg);
}

.reconfirm-modal table {
  border-collapse: collapse;
  width: 100%;
  table-layout: fixed;
}

.reconfirm-modal td {
  border: 1px solid #dddddd;
  text-align: left;
  padding: 10px 0px 10px 10px;
  font-style: normal;
  font-weight: 600;
  font-size: 14px;
  line-height: 17px;
  color: #000000;
}

td.active {
  color: #00875a;
}

.reconfirm-modal th {
  border: 1px solid #dddddd;
  text-align: left;
  padding: 8px;
  font-style: normal;
  font-weight: 700;
  font-size: 16px;
  line-height: 20px;
  color: #999999;
}

.Table__itemCount {
  /* margin-top: 10px; */
  font-size: 14px;
}

.Table__pagination {
  display: flex;
  justify-content: space-between;
  padding: 20px 10px;
}

.Table__pageButton {
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  color: #172b4d;
  margin-right: 20px;
  line-height: 32px;
  display: inline-block;
  text-align: center;
}

.Table__pageButton:disabled {
  cursor: not-allowed;
  color: gray;
}

.Table__pageButton--active {
  color: white;
  background: #714fff;
  font-weight: bold;
}

@keyframes blink {
  0% {
    scale: 1;
  }

  50% {
    scale: 1.25;
  }

  100% {
    scale: 1;
  }
}

.blink {
  animation: blink 1.5s ease-in infinite;
}

.comment-modal>div:nth-child(2) {
  border: 2px solid #714fff !important;
  border-radius: 7.5px !important;
}

.ant-modal-content {
  border-radius: 7.5px !important;
}

.react-date-picker__inputGroup__input::-webkit-outer-spin-button,
.react-date-picker__inputGroup__input::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

.react-date-picker__inputGroup__input {
  -webkit-appearance: textfield !important;
          appearance: textfield !important;
  -moz-appearance: textfield !important;
}

.header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  padding: 10px;
  background-color: white;
  height: 70px;
  border-bottom: 1px solid lightgray;
  width: 100%;
  padding-top: 32px;
}

.header div {
  display: flex;
  align-items: center;
}

.headerText {
  color: var(--primary-text-new, #0f0b28);
  font-feature-settings: 'clig' off, 'liga' off;
  /* Header/Text_M */
  font-family: Inter;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%;
  /* 24px */
}

.helpButton {
  color: #714fff;
  text-align: right;
  font-family: Inter;
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
}

.uploadDiv {
  margin: 16px;
  display: flex;
  align-items: center;
}

.ant-spin-nested-loading {
  width: 100%;
}

.uploadText {
  color: var(--text-sub, #767787);
  font-feature-settings: 'clig' off, 'liga' off;
  font-family: Inter;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 150%;
  /* 21px */
}

.nameDiv {
  display: flex;
  flex-direction: column;
  /* align-items: center; */
  margin: 10px;
}

.nameDiv input {
  border-radius: 12px;
  border: 1px solid var(--text-secondary-7, #e3e3e3);
  display: flex;
  /* width: 313px; */
  padding: 8px 20px;
  color: #000000;
  align-items: center;
  gap: 10px;
}

.nameDiv label {
  color: var(--primary-text-new, #0f0b28);
  font-feature-settings: 'clig' off, 'liga' off;
  font-family: Inter;
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%;
  /* 18px */
}

.gender {
  display: flex;
  width: 97px;
  padding: 8px 20px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  border-radius: 12px;
  border: 1px solid #e3e3e3;
  color: #e3e3e3;
  color: var(--text-brochure, #302e6b);
  text-align: center;
  font-feature-settings: 'clig' off, 'liga' off;
  font-family: Inter;
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%;
  /* 18px */
}

.language-options {
  border-radius: 4px;
  border: 1px solid var(--text-secondary-7, #e3e3e3);
}

.language-options .css-1s2u09g-control {
  border: none !important;
}

.language-options .css-b62m3t-container {
  border-radius: 4px;
}

.checkbox-doctor-profile {
  display: flex;
  width: 313px;
  padding: 8px 12px 8px 20px;
  justify-content: space-between;
  align-items: center;
  border-radius: 12px;
  border: 1px solid var(--text-secondary-7, #e3e3e3);
}

.checkbox-doctor-profile span {
  color: var(--primary-text-new, #0f0b28);
  font-feature-settings: 'clig' off, 'liga' off;
  font-family: Inter;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%;
  /* 21px */
}

.checkbox-doctor-profile input {
  width: 10px;
}

.button-submit {
  display: flex;
  width: 313px;
  padding: 12px 104.5px;
  justify-content: center;
  align-items: center;
  border-radius: 8px;
  border: 1px solid #714fff;
  background: var(--Primary, #714fff);
  margin: 10px;
}

.button-submit button {
  color: var(--White, #fff);
  font-feature-settings: 'clig' off, 'liga' off;
  font-family: Inter;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 120%;
  /* 16.8px */
}

.css-yt9ioa-option {
  color: #000000 !important;
}

.doctor-name {
  color: var(--primary-text-new, #0f0b28);
  font-feature-settings: 'clig' off, 'liga' off;
  font-family: Inter;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%;
  /* 24px */
}

.doctor-vertical {
  color: var(--text-sub, #767787);
  font-feature-settings: 'clig' off, 'liga' off;
  font-family: Inter;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: 150%;
  /* 18px */
}

.doctor-name-vertical {
  margin-left: 15px;
  margin-right: 10px;
  margin-top: 6px;
}

.right-arrow {
  margin-left: auto;
}

.doctor-exp {
  display: inline-flex;
  padding: 4px 8px;
  align-items: center;
  gap: 4px;
  border-radius: 20px;
  background: #fff8f5;
  margin-right: 10px;
}

.doctor-languages {
  display: inline-flex;
  padding: 4px 8px;
  align-items: center;
  gap: 4px;
  border-radius: 20px;
  background: #3f8cff1a;
  margin-right: 10px;
}

.doctor-qual {
  display: inline-flex;
  padding: 4px 8px;
  align-items: center;
  gap: 4px;
  border-radius: 20px;
  background: #f8d4df;
}

.doctor-checkbox {
  color: var(--text-secondary, #585969);
  font-feature-settings: 'clig' off, 'liga' off;
  font-family: Inter;
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%;
  /* 18px */
  /* margin: 10px; */
}

.tick-service {
  display: flex;
  width: 20px;
  height: 20px;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
  background: #714fff;
  margin-left: auto;
}

.slots-header {
  display: flex;
  width: 335px;
  padding: 12px;
  align-items: center;
  gap: 8px;
  border-radius: 12px 12px 0px 0px;
  background: #e2deff;
  color: #0f0b28;
  font-feature-settings: 'clig' off, 'liga' off;
  font-family: Inter;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%;
  /* 24px */
}

.add-slot-button {
  display: flex;
  padding: 12px 24px 12px 16px;
  justify-content: center;
  align-items: center;
  margin-left: 0;
  gap: 8px;
  border-radius: 8px;
  border: 1px solid #714fff;
  color: #714fff;
  text-align: center;
  font-family: Inter;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 120%;
  /* 16.8px */
  letter-spacing: 0.1px;
}

.slot-card {
  display: flex;
  padding: 12px;
  flex-direction: column;
  width: 310px;
  /* margin-top: 30px; */
  margin-bottom: 30px;
  justify-content: center;
  align-items: flex-end;
  gap: 16px;
  border-radius: 16px;
  border: 1px solid var(--Stroke, #ebeaf5);
  background: rgba(207, 200, 255, 0.2);
}

.save-slot-button {
  display: flex;
  padding: 12px 24px 12px 24px;
  justify-content: center;
  align-items: center;
  margin-left: 0;
  background: var(--Primary, #714fff);
  gap: 8px;
  border-radius: 8px;
  border: 1px solid #714fff;
  color: var(--White, #fff);
  text-align: center;
  font-family: Inter;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 120%;
  /* 16.8px */
  letter-spacing: 0.1px;
}

.slots {
  margin-bottom: 14px;
}

.submit-status {
  color: #714fff;
  text-align: center;
  font-feature-settings: 'clig' off, 'liga' off;
  font-family: Inter;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
  /* 28px */
  letter-spacing: 0.25px;
  margin-top: 30px;
}

.submit-description {
  color: rgb(78, 73, 73);
  text-align: center;
  font-feature-settings: 'clig' off, 'liga' off;
  font-family: Inter;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 140%;
  /* 22.4px */
  letter-spacing: 0.25px;
  margin-top: 20px;
}

.button-text {
  margin-top: 20px;
  display: flex;
  width: 269px;
  padding: 14px 15px;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  border-radius: 12px;
  background: var(--Primary, #714fff);
  color: var(--color-white-white, #fff);
  text-align: center;
  font-feature-settings: 'clig' off, 'liga' off;
  font-family: Inter;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 20px;
  /* 142.857% */
}

.header-center-spoc {
  color: #714fff;
  font-feature-settings: 'clig' off, 'liga' off;
  align-self: flex-start;
  margin: 20px;
  margin-bottom: 0;
  font-family: Inter;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 150%;
  /* 21px */
}

.spoc-item {
  display: flex;
  margin-left: 10px;
  align-items: flex-start;
  margin-top: 10px;
}

.spoc-text {
  margin-left: 10px;
}

.spoc-text-key {
  color: var(--text-secondary, #585969);
  font-feature-settings: 'clig' off, 'liga' off;
  font-family: Inter;
  font-size: 10px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
  /* 15px */
}

.spoc-text-value {
  color: var(--text-primary, #0f0b28);
  font-feature-settings: 'clig' off, 'liga' off;
  font-family: Inter;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: 150%;
}

.image-button {
  cursor: pointer;
  display: flex;
  padding: 12px 24px 12px 16px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  border-radius: 8px;
  border: 1px solid #714fff;
  color: #714fff;
  text-align: center;
  font-family: Inter;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 120%;
  /* 16.8px */
  letter-spacing: 0.1px;
  align-self: flex-start;
  margin-left: 20px;
}

/* Style for the image inside the button */

.image-button img {
  width: 20px;
  /* Set the width of the image */
  height: 20px;
  /* Set the height of the image */
  vertical-align: middle;
  margin-right: 5px;
  /* Adjust the spacing between the image and the text */
}

.payment-mode-select {
  border-radius: 4px;
  border: 1px solid var(--text-secondary-8, #a5a6bb);
  background: #fff;
}

.payment-mode-select .ant-select-selector {
  border: none !important;
  border-radius: 0px;
}

.pan-doc-disclaimer {
  border-radius: 12px;
  /* opacity: 0.1; */
  background: var(--accent-24, #fee4da);
  padding: 14px;
  margin-bottom: 14px;
}

.pan-doc-disclaimer h1 {
  color: #000000;
  font-family: 'Inter';
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%;
  /* 15px */
  letter-spacing: 0.25px;
}

.pan-doc-disclaimer ul {
  color: var(--text-secondary, #000000);
  list-style-type: disc;
  /* Set the type of bullet point */
  margin-left: 12px;
  font-family: Inter;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 0.25px;
}

.file-uplaod-pan {
  border-radius: 8px;
  border: 0.5px solid #7651da;
  background: #fff;
  padding: 10px;
}

.card-row {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 10;
}

.card-details {
  min-width: 48%;
}

.clinic-card {
  position: relative;
  border-radius: 12px;
  background: #ffba7a;
  height: 150px;
  flex-shrink: 0;
}

.clinic-card div {
  margin: 10px;
  color: #cf6500;
  font-feature-settings: 'clig' off, 'liga' off;
  font-family: Inter;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%;
  /* 20.8px */
}

.doctor-card {
  position: relative;
  border-radius: 12px;
  background: #ade9cc;
  height: 150px;
  flex-shrink: 0;
}

.doctor-card div {
  margin: 10px;
  color: #268356;
  font-feature-settings: 'clig' off, 'liga' off;
  font-family: Inter;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%;
  /* 20.8px */
}

.appointment-card {
  position: relative;
  border-radius: 12px;
  background: #bff2b7;
  height: 150px;
  flex-shrink: 0;
}

.appointment-card div {
  margin: 10px;
  color: #338326;
  font-feature-settings: 'clig' off, 'liga' off;
  font-family: Inter;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%;
  /* 20.8px */
}

.spoc-card {
  position: relative;
  border-radius: 12px;
  background: #d6d1f7;
  height: 150px;
  flex-shrink: 0;
}

.spoc-card div {
  margin: 10px;
  color: #5b4ac9;
  font-feature-settings: 'clig' off, 'liga' off;
  font-family: Inter;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%;
  /* 20.8px */
}

.clinic-image {
  position: absolute;
  bottom: 0;
  right: 0;
  max-width: 100px;
  /* Adjust this according to your image */
  max-height: 100px;
  /* Adjust this according to your image */
  border-radius: 50%;
  border: 2px solid white;
}

.status-card {
  border-radius: 12px;
  border: 1px solid var(--text-secondary-7, #e3e3e3);
  height: 77px;
  flex-shrink: 0;
  padding: 14px;
  padding-left: 20px;
}

.status-card h1 {
  color: #fff;
  font-family: Inter;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.04px;
}

.status-card h6 {
  color: var(--White, #fff);
  font-feature-settings: 'clig' off, 'liga' off;
  font-family: Inter;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: 150%;
  /* 18px */
}

.visit-opd-network {
  color: #714fff;
  text-align: center;
  font-family: Montserrat;
  font-size: 32px;
  font-style: normal;
  font-weight: 800;
  line-height: normal;
  text-transform: uppercase;
  width: 210px;
  margin-bottom: 20px;
}

.largest-network {
  color: #714fff;
  text-align: center;
  font-family: Montserrat;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  width: 209px;
  margin-top: 40px;
}

.opd-network-middle {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.back-button-arrow {
  display: inline;
}

.reschedule-heading h4 {
  display: inline;
  color: var(--Icon, #3A2CA0);
  font-feature-settings: 'clig' off, 'liga' off;
  font-family: 'Montserrat';
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 120%;
}

.reschedule-heading {
  margin: 10px;
}

.reschedule-heading img {
  padding-bottom: 5px;
}

.reschedule-input-label label {
  color: var(--text-secondary-8, #A5A6BB);
  font-feature-settings: 'clig' off, 'liga' off;
  font-family: 'Montserrat';
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
  line-height: 120%;
  /* 14.4px */
  letter-spacing: 0.5px;
}

.reschedule-form {
  margin: 22px;
}

/* .reschedule-input-label select{
  height: 40px;
  border-radius: 12px;
  border: 1px solid #714FFF;
} */

.reschedule-input-label {
  margin-top: 20px;
}

.call-modal .ant-modal-content {
  top: 20vh;
  width: 300px !important;
  margin: auto;
}

.call-modal .ant-modal-body {
  padding: 8px;
}

.confirm-modal-button {
  display: flex;
  /* width: 100%; */
  max-width: 100%;
  margin: auto;
  padding: 14px 125px;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  border-radius: 12px;
  background: var(--Primary, #714FFF);
  color: white;
  font-family: 'Montserrat';
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
}

.css-yt9ioa-option {
  color: #000000 !important;
}

.bottom-modal .ant-modal {
  position: fixed;
  bottom: 0;
  top: auto;
  right: 0;
  left: 0;
  padding: 0;
  margin: auto;
  border: none;
  max-width: 375px;
  width: 100%;
}

/* @media screen and (min-width: 750px) {
  .bottom-modal .ant-modal {
    max-width: 100%;
  }
} */

.no-date-icon .ant-picker-suffix {
  display: none;
}

.no-date-icon .ant-picker-clear {
  display: none;
}

.no-date-icon {
  width: 155px;
}

.no-date-icon .ant-picker-input>input::-moz-placeholder {
  color: #714FFF;
  font-feature-settings: 'clig' off, 'liga' off;
  font-family: 'Montserrat';
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%;
  /* 18px */
}

.no-date-icon .ant-picker-input>input::placeholder {
  color: #714FFF;
  font-feature-settings: 'clig' off, 'liga' off;
  font-family: 'Montserrat';
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%;
  /* 18px */
}

.select-slot .css-b62m3t-container {
  width: 100%;
}

.book-appointment-select .ant-select-selector {
  background-color: transparent !important;
  border: none !important;
  border-radius: 0px !important;
}

.book-appointment-select.ant-select-focused .ant-select-selector {
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2) !important;
  border-radius: 10px !important;
  /* Adjust this to match your select's border radius */
}

.white-spinner .ant-spin-dot-item {
  background-color: #fff !important;
}

.pink-spinner .ant-spin-dot-item {
  background-color: #714FFF !important;
}

.book-appointment-select-react .css-1s2u09g-control {
  align-items: center !important;
  background-color: rgb(255, 255, 255) !important;
  border-color: rgb(235, 234, 245) !important;
  border-radius: 10px !important;
  border-style: solid !important;
  border-width: 1px !important;
  cursor: default !important;
  display: flex !important;
  font-family: 'Montserrat' !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
  min-height: 38px !important;
  position: relative !important;
  transition: 100ms !important;
  box-sizing: border-box !important;
}

.book-appointment-select-react .ant-select-item-option-content {
  font-family: 'Montserrat' !important;
}

.ReactTable .rt-tbody .rt-expandable {
  visibility: hidden !important;
}

.search-container {
  position: relative; /* Enables absolute positioning for child elements */
  width: 100%; /* Adjust width as needed */
  max-width: 400px; /* Optional: set a max width */
}

.search-icon {
  position: absolute;
  left: 10px; /* Adjust based on design requirements */
  top: 50%;
  transform: translateY(-50%); /* Center vertically */
  width: 20px; /* Adjust icon size as needed */
  height: 20px;
  pointer-events: none; /* Ensures clicks pass through the icon to the input */
}

.search-input {
  width: 100%; /* Ensures input takes the full width of the container */
  padding-left: 40px; /* Add padding to make room for the icon */
  padding-right: 10px; /* Optional: space on the right */
  height: 40px; /* Adjust height as needed */
  border: 1px solid #ccc; /* Add border styling */
  border-radius: 8px; /* Optional: rounded corners */
  font-size: 16px; /* Adjust text size */
  outline: none; /* Remove default focus styles */
}

.search-input:focus {
  border-color: #714fff; /* Change border color on focus */
  box-shadow: 0 0 5px rgba(113, 79, 255, 0.5); /* Optional focus effect */
}

/* Target the drawer content wrapper */

.custom-drawer .ant-drawer-content-wrapper {
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
  overflow: hidden; /* Ensures content respects the border-radius */
}

/* Optional: Style the drawer content */

.custom-drawer .ant-drawer-content {
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
}

.myCustomModal .ant-modal {
  padding: 0;
  margin: 0;
  box-shadow: none;
}

.myCustomModal .ant-modal-content {
  margin: 0;
  padding: 0;
  border-radius: 16px !important;
  width: 580px;
  /* overflow: auto; */
}

.myCustomModal .ant-modal-body {
  padding: 0;
}

.myCustomModal .ant-modal {
  width: 900px !important;
}

.myCustomModal .ant-modal-close-x {
  line-height: 42px !important;
  box-shadow: none !important;
}

.label-for-two {
  font-family: Montserrat;
  font-size: 14px;
  margin-left: 5px;
  margin-bottom: 0px !important;
  font-family: 600;
}

.my-datepicker .ant-picker {
  visibility: hidden !important;
}

.my-datepicker4-dropdown {
  z-index: 100000 !important;
  left: 100px !important;
}

/* Define custom scrollbar styles */

.custom-scrollbar {
  scrollbar-width: thin; /* For Firefox */
  scrollbar-color: #C1C7DE #f1f1f5; /* For Firefox */
}

/* For WebKit browsers (Chrome, Safari) */

.custom-scrollbar::-webkit-scrollbar {
  width: 12px;
}

.custom-scrollbar::-webkit-scrollbar-track {
  background: #f1f1f5;
}

.custom-scrollbar::-webkit-scrollbar-thumb {
  background-color: #C1C7DE;
  border-radius: 10px;
  border: 3px solid #f1f1f5;
}

.hover-effect2 {
  display: flex;
  gap: 10px;
  border-bottom: 1px solid #E5E5E5;
  padding: 5px;
  cursor: pointer; /* Change cursor to pointer */
}

.hover-effect2:hover {
  background-color: #f0f0f0; /* Change background color on hover */
}

.hover-effect {
  display: flex;
  gap: 10px;
  padding: 5px;
  cursor: pointer; /* Change cursor to pointer */
}

.hover-effect:hover {
  background-color: #f0f0f0; /* Change background color on hover */
}

.and-datepicker  {
  top: -50px !important;
}

.medical-header {
  background-color: #714fff4f !important;
  /* font-color: #000000; */
}

.medical-header .close {
  color: #3D23A6; /* Change this to your desired color */
  outline: none !important;
  box-shadow: none !important;
}

.medical-modal {
  /* Your styles here */
  min-width: 744px !important;
  border-radius: 16px !important;
  /* min-width: none !important; */
}

.medical-modal .modal-content {
  border-radius: 16px !important;
}

.delete-modal{
  width: 400px !important;
}

.delete-modal .modal-content {
  border-radius: 16px !important;
  border : none !important;
}

.delete-modal2{
  width: 90% !important;
}

.delete-modal2 .modal-content {
  border-radius: 16px !important;
  border : none !important;
  width: 90% !important;
}

.delete-modal-mobile {
  width: 290px !important;
  margin-left: 50px !important;
}

.delete-modal-mobile .modal-content {
  border-radius: 16px !important;
  border : none !important;
}

.type-select.ant-select:not(.ant-select-customize-input) .ant-select-selector {
  border-radius: 10px !important;
  height: 38px !important;
  border: 1px solid rgba(226, 226, 234, 1) !important;
  font-family: 'Montserrat' !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

.type-select .ant-select-item-option-content {
  font-family: 'Montserrat' !important;
}

.type-select.ant-select-single.ant-select-show-arrow .ant-select-selection-item, .ant-select-single.ant-select-show-arrow .ant-select-selection-placeholder{
  padding-top: 3px !important;
}

.type-select .ant-select-item-option-content {
  font-family: 'Montserrat' !important;
}

.typepicker {
  border-radius: 10px !important;
  height: 38px !important;
  border: 1px solid rgba(226, 226, 234, 1) !important;
  font-family: 'Montserrat' !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

.add-labs-modal {
  max-width: 609px !important;
}

.add-labs-modal .modal-content {
  border-radius: 10px !important;
  border: none !important;
  max-height: 720px !important;
  z-index: 100000 !important;
}

.add-labs-modal2 .modal-content {
  border-radius: 10px !important;
  border: none !important;
  z-index: 100000 !important;
}

.add-labs-modal-header {
  background: rgba(113, 79, 255, 0.31) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  height: 8% !important;
}

.add-labs-modal-header2 {
  /* background: rgba(113, 79, 255, 0.31) !important; */
  background: rgba(211, 200, 255, 1) !important;
}

.add-labs-modal-header.modal-header > h5, .modal-header > button {
  color: rgba(61, 35, 166, 1) !important;
}

.add-labs-modal-header2.modal-header > h5, .modal-header > button {
  color: #000000 !important;
}

.info-icon:hover .tooltip-content {
  visibility: visible;
  opacity: 1;
}

.partitioned-container {
  display: flex;
  gap: 45px;
  justify-content: center;
  /* margin-top: 14px; */
  margin-bottom: 8px;
  height: 32px;
}

.partitioned-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 168px;
  font-family: Montserrat;
  font-size: 14px;
  font-weight: 400;
  /* margin-top: 8px; */
  color: rgba(69, 69, 81, 1);
  position: relative;
}

.partitioned-item:not(:last-child)::after {
  content: '';
  position: absolute;
  right: -22.5px; /* Half of the gap */
  top: 0;
  bottom: 0;
  width: 1px;
  background-color: #ccc; /* Adjust the color as needed */
}

.custom-tooltip {
  z-index: 100000 !important; /* Ensure the z-index is applied */
  max-width: 250px !important; /* Control the width */
  padding: 10px; /* Add padding for spacing */
}

.myCustomModal .ant-modal-close{
  outline: none !important;
  box-shadow: none !important;
}

.upload-written-rx-modal .ant-modal-close {
  left: 16px;         /* Position on the left */
  right: auto;        /* Remove default right alignment */
  /* top: 16px; */
}

/* Optional: prevent the default modal spacing from overlapping */

.upload-written-rx-modal .ant-modal-content {
  position: relative;
  padding-left: 40px;  /* Create space on the left for the back button */
}

.upload-written-rx-modal .ant-modal {
  padding: 0;
  margin: 0;
  box-shadow: none;
}

.upload-written-rx-modal .ant-modal-content {
  margin: 0;
  padding: 0;
  border-radius: 16px !important;
  width: 730px;
  /* overflow: auto; */
}

.upload-written-rx-modal .ant-modal-body {
  padding: 0;
}

.upload-written-rx-modal .ant-modal {
  width: 900px !important;
}

.upload-rx-button .ant-upload.ant-upload-select {
  width: 100% !important;
}

.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection) {
  animation: none !important;
  background-image: none !important;
  border: 2px solid #714fff !important;
}

.fancy-save-button {
  background-color: #7a5fff;         /* Purple background */
  color: white;                      /* White text */
  padding: 10px 24px;                /* Vertical and horizontal padding */
  border: none;                      /* No border */
  border-radius: 12px;               /* Rounded corners */
  font-size: 16px;                   /* Adjust as needed */
  font-weight: 500;
  cursor: pointer;
  transition: background 0.3s ease;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1); /* Optional shadow */
}

.fancy-save-button:hover {
  background-color: #684dff;         /* Slightly darker on hover */
}

.upload-written-rx-modal .ant-modal-close {
  outline: none !important;
  box-shadow: none !important;
}

.upload-written-rx-modal .ant-modal-close:focus,
.upload-written-rx-modal .ant-modal-close:active {
  outline: none !important;
  box-shadow: none !important;
}

.upload-written-rx-modal .ant-modal-close:hover {
  background: transparent !important;
}

@media (min-width: 640px){
}

@media (min-width: 768px){
}

@media (min-width: 1024px){
}

@media (min-width: 1280px){
}

@media (min-width: 1536px){
}

/* purgecss start ignore */

.ReactTable {
  position: relative;
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(0, 0, 0, 0.1);
}

.ReactTable * {
  box-sizing: border-box
}

.ReactTable .rt-table {
  flex: auto 1;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  border-collapse: collapse;
  overflow: auto
}

.ReactTable .rt-thead {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  border-bottom: 1px solid #CFD8E6 ;
}

.ReactTable .rt-thead.-headerGroups {
  border: 0;
  display: none;
}

.ReactTable .rt-thead.-filters {
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.ReactTable .rt-thead.-filters input,
.ReactTable .rt-thead.-filters select {
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: #fff;
  padding: 5px 7px;
  font-size: inherit;
  border-radius: 4px;
  font-weight: normal;
  outline-width: 0
}

.ReactTable .rt-thead.-filters .rt-th {
  border-right: 1px solid rgba(0, 0, 0, 0.02)
}

/* .ReactTable .rt-thead.-header {
	box-shadow: 0 2px 15px 0 rgba(0, 0, 0, 0.15)
} */

/* .ReactTable .rt-thead .rt-tr {
	text-align: center
} */

.ReactTable .rt-thead .rt-th,
.ReactTable .rt-thead .rt-td {
  padding: 20px 16px;
  line-height: normal;
  position: relative;
  transition: box-shadow .3s cubic-bezier(.175, .885, .32, 1.275);
  box-shadow: inset 0 0 0 0 transparent;
}

.ReactTable .rt-thead .rt-th.-sort-asc,
.ReactTable .rt-thead .rt-td.-sort-asc {
  box-shadow: inset 0 3px 0 0 rgba(0, 0, 0, 0.6)
}

.ReactTable .rt-thead .rt-th.-sort-desc,
.ReactTable .rt-thead .rt-td.-sort-desc {
  box-shadow: inset 0 -3px 0 0 rgba(0, 0, 0, 0.6)
}

.ReactTable .rt-thead .rt-th.-cursor-pointer,
.ReactTable .rt-thead .rt-td.-cursor-pointer {
  cursor: pointer
}

.ReactTable .rt-thead .rt-th:last-child,
.ReactTable .rt-thead .rt-td:last-child {
  border-right: 0
}

.ReactTable .rt-thead .rt-th:focus {
  outline-width: 0
}

.ReactTable .rt-thead .rt-resizable-header {
  overflow: visible;
}

.ReactTable .rt-thead .rt-resizable-header:last-child {
  overflow: hidden
}

.ReactTable .rt-thead .rt-resizable-header-content {
  font-family: 'Montserrat';
  font-style: normal;
  font-size: 14px;
  font-weight: 700;
  line-height: 17px;
  color: #000000;
  opacity: 0.8;
  /* overflow: visible;
	text-overflow: ellipsis;
	font-weight: 600;
	font-size: 12px;
	line-height: 24px;
	color: #172B4D; */
}

.ReactTable .rt-thead .rt-header-pivot {
  border-right-color: #f7f7f7
}

.ReactTable .rt-thead .rt-header-pivot:after,
.ReactTable .rt-thead .rt-header-pivot:before {
  left: 100%;
  top: 50%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none
}

.ReactTable .rt-thead .rt-header-pivot:after {
  border-color: rgba(255, 255, 255, 0);
  border-left-color: #fff;
  border-width: 8px;
  margin-top: -8px
}

.ReactTable .rt-thead .rt-header-pivot:before {
  border-color: rgba(102, 102, 102, 0);
  border-left-color: #f7f7f7;
  border-width: 10px;
  margin-top: -10px
}

.ReactTable .rt-tbody {
  flex: 99999 1 auto;
  display: flex;
  flex-direction: column;
  overflow: auto;
  /* max-height: 600px; */
}

.ReactTable .rt-tbody .rt-tr-group {
  border-bottom: solid 1px rgba(0, 0, 0, 0.05);
}

.ReactTable .rt-tbody .rt-tr-group:last-child {
  border-bottom: 0
}

/* .ReactTable .rt-tbody .rt-td {
	border-right: 1px solid rgba(0, 0, 0, 0.02);
} */

/* .ReactTable .rt-tbody .rt-td:last-child {
	border-right: 0
} */

.ReactTable .rt-tbody .rt-expandable {
  cursor: pointer;
  text-overflow: clip
}

.ReactTable .rt-tr-group {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
  align-items: stretch
}

.ReactTable .rt-tr {
  flex: 1 0 auto;
  display: inline-flex
}

.ReactTable .rt-th,
.ReactTable .rt-td {
  font-weight: 500;
  font-style: normal;
  font-size: 14px;
  flex: 1 0 0;
  white-space: nowrap;
  text-overflow: ellipsis;
  padding: 20px;
  overflow: visible;
  transition: .3s ease;
  transition-property: width, min-width, padding, opacity;
}

.ReactTable .rt-th.-hidden,
.ReactTable .rt-td.-hidden {
  width: 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  opacity: 0 !important
}

.ReactTable .rt-expander {
  display: inline-block;
  position: relative;
  margin: 0;
  color: transparent;
  margin: 0 10px;
}

.ReactTable .rt-expander:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-90deg);
  border-left: 5.04px solid transparent;
  border-right: 5.04px solid transparent;
  border-top: 7px solid rgba(0, 0, 0, 0.8);
  transition: all .3s cubic-bezier(.175, .885, .32, 1.275);
  cursor: pointer
}

.ReactTable .rt-expander.-open:after {
  transform: translate(-50%, -50%) rotate(0)
}

.ReactTable .rt-resizer {
  display: inline-block;
  position: absolute;
  width: 36px;
  top: 0;
  bottom: 0;
  right: -18px;
  cursor: col-resize;
  z-index: 10
}

.ReactTable .rt-tfoot {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.15);
}

.ReactTable.-highlight .rt-tbody .rt-tr:not(.-padRow):hover {
  background: rgba(0, 0, 0, 0.05)
}

.ReactTable .-pagination {
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  padding: 3px;
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.1);
  border-top: 2px solid rgba(0, 0, 0, 0.1);
}

.ReactTable .-pagination input,
.ReactTable .-pagination select {
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: #fff;
  padding: 5px 7px;
  font-size: inherit;
  border-radius: 4px;
  font-weight: normal;
  outline-width: 0
}

.ReactTable .-pagination .-btn {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 4px;
  padding: 6px;
  font-size: 1em;
  color: rgba(0, 0, 0, 0.6);
  background: rgba(0, 0, 0, 0.1);
  transition: all .1s ease;
  cursor: pointer;
  outline-width: 0;
}

.ReactTable .-pagination .-btn[disabled] {
  opacity: .5;
  cursor: default
}

.ReactTable .-pagination .-btn:not([disabled]):hover {
  background: rgba(0, 0, 0, 0.3);
  color: #fff
}

.ReactTable .-pagination .-previous,
.ReactTable .-pagination .-next {
  flex: 1;
  text-align: center
}

.ReactTable .-pagination .-center {
  flex: 1.5;
  text-align: center;
  margin-bottom: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-around
}

.ReactTable .-pagination .-pageInfo {
  display: inline-block;
  margin: 3px 10px;
  white-space: nowrap
}

.ReactTable .-pagination .-pageJump {
  display: inline-block;
}

.ReactTable .-pagination .-pageJump input {
  width: 70px;
  text-align: center
}

.ReactTable .-pagination .-pageSizeOptions {
  margin: 3px 10px
}

.-pagination-bottom{
  display: flex;
  justify-content: space-between;
}

.ReactTable .Table__pagination select {
  background: #fff;
  padding: 12px;
  font-size: inherit;
  border: 1px solid #CFD8E6;
  box-shadow: 0px 2px 0px rgba(0, 0, 0, 0.05);
  border-radius: 4px;
  font-weight: 400;
}

.ReactTable .Table__pagination select option {
  background: #fff;
  padding: 12px;
  font-size: inherit;
  border: 1px solid #CFD8E6;
  box-shadow: 0px 2px 0px rgba(0, 0, 0, 0.05);
  border-radius: 4px;
  font-weight: 400;
}

.ReactTable .rt-noData {
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: rgba(255, 255, 255, 0.8);
  transition: all .3s ease;
  z-index: 1;
  pointer-events: none;
  padding: 20px;
  color: rgba(0, 0, 0, 0.5)
}

.ReactTable .-loading {
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.8);
  transition: all .3s ease;
  z-index: -1;
  opacity: 0;
  pointer-events: none;
}

.ReactTable .-loading>div {
  position: absolute;
  display: block;
  text-align: center;
  width: 100%;
  top: 50%;
  left: 0;
  font-size: 15px;
  color: rgba(0, 0, 0, 0.6);
  transform: translateY(-52%);
  transition: all .3s cubic-bezier(.25, .46, .45, .94)
}

.ReactTable .-loading.-active {
  opacity: 1;
  z-index: 2;
  pointer-events: all;
}

.ReactTable .-loading.-active>div {
  transform: translateY(50%)
}

.ReactTable .rt-resizing .rt-th,
.ReactTable .rt-resizing .rt-td {
  transition: none !important;
  cursor: col-resize;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none
}

/* purgecss end ignore */
/* purgecss start ignore */

.react-date-picker__wrapper {
  display: flex;
  flex-grow: 1;
  flex-shrink: 0;
  border: thin solid #bbb !important;
  border-radius: 5px;
  padding: 7.5px;
  font-weight: 500;
  padding-right: 25px;
  width: 140px;
}

.react-date-picker__inputGroup__day {
  width: 20px !important;
  text-align: center;
}

.react-date-picker__inputGroup__month {
  width: 20px !important;
  text-align: center;
}

.react-date-picker__inputGroup__year {
  width: 40px !important;
}

.react-date-picker__clear-button {
  display: none;
}

.react-date-picker__calendar-button {
  display: none;
}

.font-semibold {
  font-weight: 600 !important;
  margin-bottom: 0;
}

.-filters > div > div {
  padding: 5px !important;
  display: flex !important;
}

.react-date-picker__wrapper {
  padding: 4px;
  font-weight: 400;
  font-size: 14px;
  border: 1px solid #d9d9d9 !important;
  border-radius: 2px;
}

.body {
  font-family: Arial, sans-serif;
  background-color: #f0f0f0;
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
}

.container {
  text-align: center;
  background-color: white;
  padding: 200px;
  border-radius: 8px;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
  max-width: 90%;
}

.heading {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 20px;
  color: #333;
}

.input {
  width: 100%; /* Make the input bar occupy the full width of the parent */
  max-width: 80%; /* Adjust the max width as needed to fit within the parent */
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 16px;
  text-align: center;
}

.button {
  background-color: #6a5acd;
  color: white;
  padding: 10px 20px;
  font-size: 18px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.3s;
}

.button:hover {
  background-color: #483d8b;
}

.center-screen {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh; /* Ensure it covers the full height of the viewport */
  background: #ffffff;
}

.outer-div {
  display: flex;
  flex-direction: column;
  align-items: start;
  background: #ffffff;
  width: 334px;
  height: 300px;
  border-radius: 0px 0px 12px 12px;
  margin: auto;
}

.outer-div h2 {
  margin-bottom: 10px;
  font-family: Inter;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%;
  width: 271px;
  color: var(--primary-text-new, #0f0b28);
}

.outer-div span {
  margin-bottom: 10px;
}

/* .outer-div input {
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 12px;
  width: 303px;
  height: 44px;
  flex-shrink: 0;
  border: 1px solid var(--Green-3, #ffffff);
  background: #fff;
} */

.mobile-input-login {
  width: 303px;
  height: 44px;
  flex-shrink: 0;
  border-radius: 12px;
  border: 1px solid var(--Green-3, #6fcf97);
  background: #fff;
}

.input-container {
  position: relative;
}

.input-logo {
  position: absolute;
  top: 50%;
  left: 10px; /* Adjust the left position as needed */
  transform: translateY(-50%);
  width: 20px; /* Adjust the width of the logo as needed */
  height: auto; /* Maintain aspect ratio */
}

.mobile-input-login {
  padding-left: 35px; /* Make sure this value is greater than the width of the logo */
  /* Add any other styling you need for the input */
}

.outer-div button.purple-button {
  border-radius: 12px;
  background: var(--Primary, #714fff);
  color: #fff; /* White text color */
  padding: 10px;
  border: none;
  border-radius: 5px;
  height: 46px;
  cursor: pointer;
  width: 303px; /* Same width as the input */
  margin-top: 10px;
  color: var(--color-white-white, #fff);
  text-align: center;
  font-feature-settings: 'clig' off, 'liga' off;
  font-family: Inter;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
}

.otp-inputs {
  display: flex;
}

/* OTP input style */

.otp-inputs input {
  font-size: 18px;
  text-align: center;
  border: 1px solid #ccc;
  border-radius: 5px;
  margin: 22px;
  margin-left: 0px;
  margin-right: 34px;
  margin-bottom: 16px;
  border-radius: 12px;
  border: 1px solid var(--text-secondary-7, #e3e3e3);
  background: var(--White, #fff);
  width: 48px;
  height: 48px;
}

.tab-toggle-container {
  margin: 0;
  width: 100%;
}

.tab-headers {
  display: flex;
  justify-content: space-between;
  background-color: rgb(255, 255, 255);
  width: 100%;
  padding-bottom: 4px; /* Add a bottom padding for the underline */
}

.tab-header {
  padding: 10px;
  width: 50%;
  color: var(--text-sub, #767787);
  font-feature-settings: 'clig' off, 'liga' off;
  /* Body/Search_Results */
  font-family: Inter;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%; /* 18px */
  letter-spacing: 0.25px;
  text-align: center;
  border-bottom: 1px solid var(--Primary, #f0f3f6);
}

.dot-image {
  padding: 7px;
}

.round-tab {
  width: 20px; /* Set the width and height to make the container circular */
  height: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #f4f7fc; /* Border styling */
  border-radius: 50%; /* Makes the container circular */
  font-size: 10px; /* Adjust the font size as needed */
  margin-right: 6px;
}

.round-tab.active {
  border: 1px solid #714fff !important; /* Border styling */
}

.tab-header.active {
  color: var(--Icon, #3a2ca0);
  border-bottom: 1px solid var(--Primary, #714fff);
}

.tab-header.active::after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background-color: #8a2be2; /* Purple underline color */
}

.center-form {
  margin-top: 20px;
  text-align: left;
  overflow: auto;
  margin-bottom: 100px;
}

.input-label {
  color: var(--primary-text-new, #0f0b28);
  font-feature-settings: 'clig' off, 'liga' off;
  font-family: Inter;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 150%; /* 21px */
}

.form-heading {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 10px;
  color: #333;
}

.form-group {
  margin: 15px;
}

.form-input {
  border-radius: 12px;
  border: 1px solid var(--text-secondary-7, #e3e3e3);
  display: flex;
  width: 100%;
  height: 48px;
  flex-shrink: 0;
  padding: 8px 20px;
  align-items: center;
  gap: 10px;
}

.form-button {
  display: inline-flex;
  padding: 14px 150px;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  width: 90%;
  border-radius: 8px;
  background: rgba(99, 99, 99, 0.2);
}

.form-button.active{
  background: #714FFF;
  color:white
}

.bottom-profilebutton {
  position: fixed;
  bottom: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 108px;
  flex-shrink: 0;
  background: #fefefe;
  box-shadow: 0px -2px 10px 0px rgba(0, 0, 0, 0.05);
}

.bottom-profilebutton button {
  color: #9F9F9F;
  text-align: center;
  font-feature-settings: 'clig' off, 'liga' off;
  font-family: Montserrat;
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
  line-height: 16px; /* 133.333% */
}

/* .form-button:hover {
  background-color: #714fff;
} */

.timeline-outer-div {
  display: flex;
  flex-direction: column;
  margin: auto;
  justify-content: center;
  margin-top: 20px;
  align-items: center;
  margin-bottom: 120px;
}

.certification {
  color: #714fff;
  font-feature-settings: 'clig' off, 'liga' off;
  /* Header/Text_S */
  font-family: Inter;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 140%; /* 19.6px */
  letter-spacing: 0.25px;
}

.timeline {
  border-radius: 8px;
  border: 0.5px solid #7651da;
  background: #fff;
  margin: auto;
}

/* Rest of your existing styles for .timeline */

.timeline-item {
  display: flex;
  align-items: center;
  margin-bottom: 3px; /* Adjust the margin to control the space between items */
}

.dot {
  display: inline-block;
  width: 15px; /* Adjust dot size as needed */
  height: 15px; /* Adjust dot size as needed */
  color: #8a2be2; /* Color of the dot */
  border-radius: 50%; /* Make the dot round */
  margin-right: 10px; /* Adjust the margin to control the space between dot and label */
}

.dot-label {
  color: rgba(15, 11, 40, 0.87);
  font-feature-settings: 'clig' off, 'liga' off;
  font-family: 'Inter';
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 140%; /* 19.6px */
  letter-spacing: 0.25px;
}

.upload-button {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: start;
  padding-top: 5px;
  margin-left: 16px;
}

.upload-icon {
  cursor: pointer;
  display: flex;
  padding: 14px;
}

input[type='file'] {
  margin-bottom: 5px;
}

/* Add styles for the connecting line */

.timeline-line {
  border-left: 1px solid rgba(113, 79, 255, 0.6);
  width: 100%;
  height: 100px;
  margin-left: 16px;
}

.input-box-docs {
  border-radius: 8px;
  border: 0.5px solid #714fff;
  background: #fff;
  width: 88%;
}

.close-timeline-line {
  border-left: 1px solid rgba(113, 79, 255, 0.6);
  width: 100%;
  height: 30px;
  margin-left: 16px;
}

.last-timeline-line {
  border-left: 1px solid #ffffff;
  width: 100%;
  height: 100px;
  margin-left: 16px;
}

.map-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100vh; /* Set the height of the map container to the full viewport height */
}

.map-wrapper {
  flex: 1; /* Allow the map to grow and fill the available space */
  width: 100%; /* Ensure the map takes up the full width of its parent container */
  max-width: 100%; /* Ensure the map doesn't exceed its parent's width */
}

.otp-phone {
  color: var(--text-brochure, #302e6b);
  font-feature-settings: 'clig' off, 'liga' off;
  font-family: Inter;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 140%;
  letter-spacing: 0.25px;
}

.edit-button {
  color: var(--Primary, #714fff);
  font-feature-settings: 'clig' off, 'liga' off;
  font-family: Inter;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 140%;
  letter-spacing: 0.25px;
  margin-left: 6px;
}

.otp-boxes {
  border-radius: 12px;
  border: 1px solid var(--text-secondary-7, #e3e3e3);
  background: var(--White, #fff);
  width: 48px;
  height: 48px;
  flex-shrink: 0;
}

.resend-otp {
  color: var(--Primary, #714fff);
  font-feature-settings: 'clig' off, 'liga' off;
  /* Body/Medium */
  font-family: Inter;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 150%;
}

.login-gradient-1 {
  left: 0;
  position: absolute;
  top: 14vh;
}

.login-gradient-2 {
  right: 0;
  position: absolute;
  top: 5vh;
}

.login-background-1 {
  position: absolute;
  width: 202px;
  height: 202px;
  flex-shrink: 0;
  border-radius: 292px;
  opacity: 0.5;
  background: radial-gradient(
    50% 50% at 50% 50%,
    rgba(129, 100, 248, 0.4) 0%,
    rgba(147, 120, 255, 0.4) 100%
  );
  filter: blur(50px);
}

.login-background-2 {
  position: absolute;
  width: 202px;
  height: 202px;
  flex-shrink: 0;
  right: 0;
  top: 50vh;
  z-index: -1;
  border-radius: 292px;
  opacity: 0.5;
  background: radial-gradient(
    50% 50% at 50% 50%,
    rgba(71, 229, 177, 0.4) 0%,
    rgba(160, 215, 231, 0.4) 100%
  );
  filter: blur(50px);
}

.login-background-3 {
  position: absolute;
  width: 202px;
  height: 202px;
  bottom: 0;
  flex-shrink: 0;
  z-index: -1;
  border-radius: 321px;
  opacity: 0.5;
  background: radial-gradient(
    50% 50% at 50% 50%,
    rgba(151, 71, 255, 0.4) 0%,
    rgba(71, 178, 255, 0.4) 97.92%
  );
  filter: blur(50px);
}

/* purgecss end ignore */

/* purgecss start ignore */

.imageCard {
  display: flex;
  align-items: center;
  margin-left: 12px;
}

.imageCard-img {
  border-radius: 50%;
  -o-object-fit: contain;
     object-fit: contain;
  border: 1px solid #714fff;
}

.imageCard-heading {
  font-family: Montserrat;
  font-size: 14px;
  font-weight: 600;
  line-height: 17px;
  letter-spacing: 0em;
  text-align: left;
  color: #0f0b28;
  margin-left: 8px;
  margin-bottom: 0px;
}

.slotBox {
  display: flex;
  justify-content: space-between;
  cursor: pointer;
}

.slotBox-larger {
  width: 130px;
  height: 60px;
  border-radius: 10px;
  background-color: #e0dafd;
  padding: 14px 10px;
}

.slotBox-small {
  border-radius: 8px;
  background: #e0dafd;
  height: 60px;
  padding: 20px 10px;
  margin-left: 12px;
}

.slotBox-text {
  color: #0f0b28;
  font-family: Montserrat;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 127.4%;
}

.doctorHome-main {
  border-radius: 24px 24px 0px 24px;
  border: 1px solid #ebecf0;
  background: #fff;
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  padding: 32px 48px;
  width: 100%;
  margin-top: 12px;
}

.doctorProfile {
  border-radius: 24px;
  background: #f5f4ff;
  padding: 28px;
  display: flex;
  flex-direction: column;
  width: 100%;
}

.doctorProfile-info {
  display: flex;
  justify-content: space-between;
  /* margin-top: 16px; */
}

.doctorProfile-info-name {
  font-family: Montserrat;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  margin-top: 16px;
  text-align: center;
}

.doctorProfile-info-img-text {
  font-family: Montserrat;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  margin-top: 20px;
}

.doctorProfile-info-box {
  display: flex;
  flex-direction: column;
  width: 60%;
  /* margin-top: 12px; */
}

.doctorProfile-info-box-para {
  font-family: Montserrat;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  margin-top: 8px;
  width: 80%;
}

.doctorProfile-info-icon {
  width: 28px;
  height: 28px;
}

.doctorProfile-lower {
  border-radius: 16px;
  background: #fff;
  padding: 16px 24px;
  display: flex;
  flex-direction: column;
  margin-top: 24px;
}

.doctorProfile-lower-box {
  display: flex;
}

.doctorProfile-lower-img-text {
  font-family: Montserrat;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  margin-right: 48px;
  color: #0f0b28;
  min-width: 150px;
}

.doctorProfile-lower-box-para {
  font-family: Montserrat;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  margin-left: 60px;
}

.doctorSlot-box {
  padding: 4px;
  border-radius: 24px 24px 0px 0px;
  background: rgb(207, 200, 255, 0.5);
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.1),
    0px 0px 0px 0px rgba(0, 0, 0, 0.1), 0px 0px 1px 0px rgba(0, 0, 0, 0.09),
    0px 0px 1px 0px rgba(0, 0, 0, 0.05), 0px 0px 1px 0px rgba(0, 0, 0, 0.01),
    0px 0px 1px 0px rgba(0, 0, 0, 0);
}

.doctorSlot-main {
  border-radius: 16px;
  border: 1px solid #ebeaf5;
  padding: 16px;
  display: flex;
  justify-content: space-evenly;
  width: 1000px;
  height: 180px;
  margin-bottom: 32px;
}

.doctorSlot-weekday {
  border-radius: 16px;
  background: #fff;
  width: 450px;
  height: 140px;
}

.doctorSlot-time {
  border-radius: 16px;
  background: #fff;
  width: 214px;
  margin-left: 16px;
  height: 100px;
}

.doctorSlot-weekday > div:nth-child(3) {
  border-radius: 16px;
  border: none;
  padding: 8px;
  height: 140px;
}

.doctorSlot-weekday > div:nth-child(2) {
  overflow-y: scroll;
}

/* .doctorSlot-weekday > div:first-child > div  {
  background: #e6dff9;
  border-radius: 8px;
  height: 32px;
  width: 100px;
  align-items: center;
  justify-content: center;
  display: flex;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 20px;
  color: #0f0b28;
} */

.doctorSlot-time > div {
  border-radius: 16px;
  border: none;
  padding: 16px;
  height: 100px;
}

.doctorSlot-time div:nth-child(2) {
  overflow-y: scroll;
}

.doctorSlot-cross {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: #e5e1fd;
  align-items: center;
  display: flex;
  justify-content: center;
  margin-left: 16px;
  cursor: pointer;
}

.doctorSlot-button {
  display: flex;
  justify-content: end;
  /* margin-right: 32px; */
}

.editDoctorProfile {
  padding: 40px 48px 60px 48px;
  border-radius: 0px 0px 24px 24px;
  border: 1px solid #ebecf0;
  background: #fff;
}

.editDoctorProfile-upper {
  display: flex;
  justify-content: space-between;
}

.editDoctorProfile-img {
  width: 103px;
  height: 103px;
  -o-object-fit: contain;
     object-fit: contain;
  border: 1px solid #714fff;
  border-radius: 50%;
  padding: 10px;
}

.editDoctorProfile-lower-main {
  display: flex;
  flex-direction: column;
  margin-top: 48px;
}

.editDoctorProfile-lower-row {
  display: flex;
  margin-top: 24px;
}

.editDoctorProfile-lower-select-multi {
  /* border: 1px solid #e3e3e3; */
  width: 485px;
  height: 100px;
}

.editDoctorProfile-lower-select {
  width: 485px;
  height: 40px;
}

.editDoctorProfile-lower-select > div {
  border-radius: 12px;
  border: 1px solid #e3e3e3;
  padding: 2px;
}

.editDoctorProfile-lower-select-multi > div {
  border-radius: 12px;
  padding: 8px 4px;
  height: auto;
  border: 1px solid #e3e3e3;
  height: 100px;
}

.editDoctorProfile-lower-input {
  border-radius: 12px;
  border: 1px solid #e3e3e3;
  width: 485px;
  height: 40px;
  padding: 16px;
  /* outline: 1px solid #e3e3e3; */
}

.editDoctorProfile-lower-row-left {
  display: flex;
  flex-direction: column;
  width: 485px;
}

.editDoctorProfile-lower-row-main {
  margin-left: 60px;
  display: flex;
  flex-direction: column;
}

.doctor-desc-tooltip {
  width: 600px;
  height: auto;
  padding: 16px;
  border-radius: 12px;
  background-color: #f1eeff !important;
  color: #1c1b1f !important;
  font-size: 14px !important;
  font-weight: 400 !important;
}

.doctorTable {
  background-color: #ffffff;
  border-radius: 24px 0px 0px 24px;
  background: #ffff;
}

.doctorTable > div {
  border: none;
}

.solid-button-text {
  text-align: center;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 20px;
  letter-spacing: 0.1px;
  margin-bottom: 0px;
  color: #3a2ca0;
}

.slotModal-main {
  border-radius: 16px;
  background: #fafafa;
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.1),
    0px 0px 0px 0px rgba(0, 0, 0, 0.1), 0px 0px 1px 0px rgba(0, 0, 0, 0.09),
    0px 0px 1px 0px rgba(0, 0, 0, 0.05), 0px 0px 1px 0px rgba(0, 0, 0, 0.01),
    0px 0px 1px 0px rgba(0, 0, 0, 0);
  padding: 20px 20px 12px 20px;
  margin: 32px 0px 16px 0px;
}

.doctorProfile-border {
  width: 1px;
  background: #e0dafd;
  height: 164px;
}

.editDoctorProfile-label {
  color: #0f0b28;
  font-size: 16px;
  font-weight: 600;
}

.modalclose-icon {
  border-radius: 50%;
  background: rgba(15, 11, 40, 0.4);
  width: 32px;
  height: 32px;
  margin-top: 12px;
  margin-left: -10px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.inputText {
  color: #714fff;
  font-size: 14px;
  font-weight: 700;
  margin: 10px 16px 0px 0px;
}

/* purgecss end ignore */

/* purgecss start ignore */

/* .ant-drawer {
  background: #f8f9fa; 
}

.ant-drawer-title {
  font-size: 18px;
  font-weight: bold;
  color: #333;
}

.ant-drawer-close {
  font-size: 18px;
  color: #555;
  transition: color 0.3s ease-in-out;
}

.ant-drawer-close:hover {
  color: red;
}

.drawer-iframe {
  width: 100%;
  height: 80vh;
  border: none;
  border-radius: 5px;
  background: white;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  animation: fadeIn 0.5s ease-in-out;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
} */

/* Ensure the drawer takes full height but doesn't overflow */

.ant-drawer-content-wrapper {
  height: 100% !important;
  max-height: 100vh;
}

.ant-drawer-body{
  overflow: hidden;
  padding: 0;
}

/* Prevent iframe from overflowing */

.drawer-iframe {
  width: 100%;
  height: calc(100vh - 10px); /* 64px = default Drawer header height */
  border: none;
  border-radius: 5px;
  background: white;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* purgecss end ignore */

/* purgecss start ignore */

.physio-header {
  grid-area: header;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: 0;
  background-color: transparent;
}

.header-container {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  width: 100%;
  background-color: transparent;
  padding: 0 20px;
}

.hamburger-icon {
  cursor: pointer;
  font-size: 24px;
  color: #333;
}

@media (max-width: 900px) {
  .physio-header {
    min-height: 48px !important;
  }

  .header-container {
    padding: 0 10px !important;
    gap: 8px !important;
  }

  .header-container * {
    font-size: 13px !important;
  }

  .hamburger-icon {
    font-size: 20px !important;
  }
}

/* purgecss end ignore */
/* purgecss start ignore */

.tab-navigation {
  display: flex;
  gap: 4px;
  background-color: #F5F5F5;
  padding: 4px;
  border-radius: 10px;
  max-width: 600px;
  border: 1px solid #E0E0E0;
}

.tab-button {
  flex: 1;
  padding: 10px 20px;
  border: none;
  border-radius: 8px;
  background-color: transparent;
  color: #666666;
  font-size: 15px;
  font-weight: 400;
  cursor: pointer;
  transition: all 0.3s ease;
  font-family: 'Inter', sans-serif;
  white-space: nowrap;
  box-shadow: none;
}

.tab-button.active {
  background-color: #FFFFFF;
  color: #000000;
  font-weight: 600;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.tab-button:hover {
  opacity: 0.9;
}

@media (max-width: 900px) {
  .tab-navigation {
    padding: 3px;
    gap: 2px;
  }

  .tab-button {
    font-size: 12px !important;
    padding: 6px 10px !important;
  }
}

/* purgecss end ignore */

/* purgecss start ignore */

@keyframes medicalBox {
  0% {
    transform: rotate(0deg);
  }

  50% {
    transform: rotate(13.001deg);
  }

  100% {
    transform: rotate(0deg);
  }
}

@keyframes medicalReport {
  0% {
    transform: rotate(0deg);
  }

  50% {
    transform: rotate(-16.19deg);
  }

  100% {
    transform: rotate(0deg);
  }
}

@keyframes halfFloatingCircle {
  0% {
    transform: translateX(-5px);
    /* opacity: 0; */
  }

  50% {
    transform: translateX(-40px);
    /* opacity: 1; */
  }

  100% {
    transform: translateX(-5px);
    /* opacity: 0; */
  }
}

@keyframes halfFloatingCircle2 {
  0% {
    transform: translateY(0);
    /* opacity: 0; */
  }

  50% {
    transform: translateY(-35px);
    /* opacity: 1; */
  }

  100% {
    transform: translateY(0);
    /* opacity: 0; */
  }
}

@keyframes arrow {
  0% {
    transform: translateY(10px);
    /* opacity: 0; */
  }

  50% {
    transform: translateY(0px);
    /* opacity: 1; */
  }

  100% {
    transform: translateY(10px);
    /* opacity: 0; */
  }
}

.medical-box-container {
  position: absolute;
  bottom: 50px;
  right: 5vw;
  animation: medicalBox 3s infinite;
}

.medical-box-container img {
  width: 120px;
  max-width: 100%;
  height: 120px;
}

.medical-report-container {
  position: absolute;
  top: 30px;
  left: 10vw;
  animation: medicalReport 3s infinite;
}

.medical-report-container img {
  width: 100px;
  max-width: 100%;
  height: 100px;
}

.half-floating-circle {
  position: absolute;
  bottom: 30px;
  left: -30px;
  animation: halfFloatingCircle 5s infinite;
}

.half-floating-circle2 {
  position: absolute;
  top: -111px;
  right: -105px;
  animation: halfFloatingCircle2 5s infinite;
}

.star-svg1 {
  position: absolute;
  bottom: 90px;
  left: 40px;
  z-index: 99;
  animation: medicalReport 3s infinite;
}

.star-svg2 {
  position: absolute;
  top: 70px;
  right: 80px;
  z-index: 99;
  animation: medicalReport 3s infinite;
}

.star-svg3 {
  position: absolute;
  top: 30px;
  right: 60px;
  z-index: 99;
  animation: medicalReport 3s infinite;
}

.star-svg1-secondPage {
  position: absolute;
  bottom: 90px;
  right: 40px;
  z-index: 99;
  animation: medicalReport 3s infinite;
}

.star-svg2-secondPage {
  position: absolute;
  top: 130px;
  right: 40px;
  z-index: 99;
  animation: medicalReport 3s infinite;
}

.star-svg3-secondPage {
  position: absolute;
  bottom: 220px;
  left: 60px;
  z-index: 99;
  animation: medicalReport 3s infinite;
}

.star-svg4-secondPage {
  position: absolute;
  top: 90px;
  left: 30px;
  z-index: 99;
  animation: medicalReport 3s infinite;
}

.ellipse-svg {
  position: absolute;
  bottom: 0;
  margin: auto;
  width: 100%;
}

.ellipse-svg img {
  height: auto;
}

.arrow-svg {
  position: absolute;
  bottom: 0;
  margin: auto;
  width: 100%;
  animation: arrow 2s infinite;
}

.arrow-svg img {
  height: auto;
  margin: auto;
}

.skip-button {
  position: absolute;
  top: 20px;
  right: 0px;
  right: 50px;
  color: #fff;
  padding: 30px;
  text-align: right;
  font-family: 'Montserrat';
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  width: 52px;
  height: 100px;
  flex-shrink: 0;
}

.continue-button {
  position: absolute;
  bottom: 30px;
  /* margin: auto; */
  margin-bottom: 130px;
  color: rgb(147, 120, 255);
  padding: 0px;
  /* text-align: right; */
  font-family: 'Montserrat';
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  flex-shrink: 0;
}

.main-container {
  max-width: 480px;
  width: 100%;
  min-height: 900px;
  height: 100vh;
  background-color: #dfd8ff;
  margin: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  border-radius: 0px !important;
  padding: 0px;
}

.secondTab {
  background-color: #714fff;
}

.thirdTab{
  background-color: #4227B4;
}

.associated-corporates {
  color: #fff;
  text-align: center;
  font-family: Montserrat;
  font-size: 32px;
  font-style: normal;
  font-weight: 800;
  line-height: normal;
  text-transform: uppercase;
  width: 298px;
  z-index: 999;
}

.associated-corporates-middle{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  height: 1000px;
  gap:16px;
}

.more-better {
  width: 179px;
  height: 80px;
  flex-shrink: 0;
  color: #ffffff;
  font-weight: 600;
  z-index: 999;
}

.sections {
  position: absolute;
  bottom: 0px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100vh;
  min-height: 900px;
  /* transition: all 5s ease; */
  overflow: hidden;
}

.slide-in {
  animation: slide-in 5s forwards;
}

@keyframes slide-in-element {
  from {
    transform: translateY(100vh);
  }

  to {
    transform: translateY(0);
  }
}

.slide-in-element {
  animation: slide-in-element 5s forwards;
}

@keyframes slide-out-element {
  from {
    transform: translateY(0);
  }

  to {
    transform: translateY(-100vh);
  }
}

.slide-out-element {
  animation: slide-out-element 5s forwards;
}

.slide-out {
  animation: slide-out 5s forwards;
}

.medical-logos-svg{
  animation: slide 8s linear infinite;
  width: 250%;
  max-width: 250%;
}

.medical-logos-svg2{
  animation: slide2 8s linear infinite;
  width: 250%;
  max-width: 250%;
}

.medical-logos-svg3{
  animation: slide3 8s linear infinite;
  width: 250%;
  max-width: 250%;
}

.medical-logos-svg-rotate{
  animation: rotateLogo 4s infinite;
  width: 80%;
  max-width: 100%;
  transform-origin: center;
}

.forthTab{
  background: #957CFF;
}

@keyframes rotateLogo {
  0% {
    transform: rotate(0deg); /* Adjust this value based on the distance you want the logos to move */
  }

  50% {
    transform: perspective(500px) rotateY(180deg);
  }

  100% {
    transform: rotate(0deg); /* Adjust this value based on the distance you want the logos to move */
  }
}

@keyframes slide {
  0% {
    transform: translateX(600px); /* Adjust this value based on the distance you want the logos to move */
  }

  100% {
    transform: translateX(-400px);
  }
}

@keyframes slide2 {
  0% {
    transform: translateX(-400px);
  }

  100% {
    transform: translateX(600px);
  }
}

@keyframes slide3 {
  0% {
    transform: translateX(600px); /* Adjust this value based on the distance you want the logos to move */
  }

  100% {
    transform: translateX(-400px);
  }
}

@keyframes slide-in {
  from {
    transform: translateY(900px);
  }

  to {
    transform: translateY(0);
  }
}

@keyframes slide-out {
  from {
    transform: translateY(0);
  }

  to {
    transform: translateY(-900px);
  }
}

.arrow {
  position: absolute;
  bottom: 0px;
  cursor: pointer;
  font-size: 30px;
  transition: all 0.5s ease;
}

.half-floating-circle div{
  border-radius: 50%;
  background-color: '#9378FF';
}

.half-floating-circle2 div{
  border-radius: 50%;
  background-color: '#9378FF';
}

.half-floating-circle-secondpage{
  position: absolute;
  top:-170px;
  right: -130px;
  /* animation: halfFloatingCircle 5s infinite; */
}

.half-floating-circle-secondpage div{
  border-radius: 50%;
  background: #8567FF;
}

.half-floating-circle2-secondpage{
  position: absolute;
  bottom:190px;
  right: -40px;
  animation: halfFloatingCircleBelowMap 10s infinite;
}

.half-floating-circle2-secondpage div{
  border-radius: 50%;
  background: #8567FF;
}

.half-floating-circle-thirdPage{
  position: absolute;
  top:-170px;
  right: -130px;
  /* animation: halfFloatingCircle 5s infinite; */
}

.half-floating-circle-thirdPage div{
  border-radius: 50%;
  background: #5D43CA;
}

.half-floating-circle2-thirdPage{
  position: absolute;
  bottom:190px;
  right: -40px;
  animation: halfFloatingCircleBelowMap 10s infinite;
}

.half-floating-circle2-thirdPage div{
  border-radius: 50%;
  background: #5D43CA;
}

.vector-svg{
  position: absolute;
  top: 210px;
  left: 12vw;
  z-index: 99;
}

.vector-svg1{
  position: absolute;
  bottom: 50px;
  left: 50vw;
  z-index: 99;
}

.vector-svg-secondpage{
  position: absolute;
  top: 20px;
  right: 40vw;
  z-index: 99;
}

.vector-svg1-secondpage{
  position: absolute;
  bottom:80px;
  left: 10vw;
  z-index: 99;
}

.star-svg1-thirdPage{
  position: absolute;
  bottom: 130px;
  left: 40px;
  z-index: 100;
  animation: medicalReport 3s infinite;
}

.star-svg2-thirdPage{
  position: absolute;
  top: 70px;
  right: 110px;
  z-index: 100;
  animation: medicalReport 3s infinite;
}

.vector-svg-thirdPage{
  position: absolute;
  top: 120px;
  left: 10vw;
  z-index: 99;
}

.vector-svg1-thirdPage{
  position: absolute;
  bottom:80px;
  left: 40vw;
  z-index: 99;
}

.star-svg1-forthPage{
  position: absolute;
  bottom: 130px;
  left: 40px;
  z-index: 100;
  animation: medicalReport 3s infinite;
}

.star-svg2-forthPage{
  position: absolute;
  top: 70px;
  right: 110px;
  z-index: 100;
  animation: medicalReport 3s infinite;
}

.vector-svg-forthPage{
  position: absolute;
  top: 120px;
  left: 10vw;
  z-index: 99;
}

.vector-svg1-forthPage{
  position: absolute;
  bottom:80px;
  left: 40vw;
  z-index: 99;
}

.half-floating-circle-forthPage{
  position: absolute;
  top:-170px;
  right: -130px;
  /* animation: halfFloatingCircle 5s infinite; */
}

.half-floating-circle-forthPage div{
  border-radius: 50%;
  background-color: #725CDC !important;
}

.half-floating-circle2-forthPage{
  position: absolute;
  bottom:190px;
  right: 0px;
  animation: halfFloatingCircleBelowMap 10s infinite;
}

.half-floating-circle2-forthPage div{
  border-radius: 50%;
  background-color: #725CDC !important;
}

.india-map{
  z-index: 20;
}

@keyframes halfFloatingCircleBelowMap {
  0% {
    transform: translateX(45px);
    /* opacity: 0; */
  }

  50% {
    transform: translateX(-100px);
    /* opacity: 1; */
  }

  100% {
    transform: translateX(45px);
    /* opacity: 0; */
  }
}

.india-map-pin{
  position: relative;
}

.lottie-pin-0 {
  position: absolute;
  top: -5px;
  left: 70px;
}

.lottie-pin-1 {
  position: absolute;
  top: 30px;
  left: 45px;
}

.lottie-pin-2 {
  position: absolute;
  top: 80px;
  left: 30px;
}

.lottie-pin-3 {
  position: absolute;
  top: 120px;
  left: 10px;
}

.lottie-pin-4 {
  position: absolute;
  top: 55px;
  left: 60px;
}

.lottie-pin-5 {
  position: absolute;
  top: 120px;
  left: 80px;
}

.lottie-pin-6 {
  position: absolute;
  top: 100px;
  left: 60px;
}

.lottie-pin-7 {
  position: absolute;
  top: 180px;
  left: 30px;
}

.lottie-pin-8 {
  position: absolute;
  top: 220px;
  left: 50px;
}

.lottie-pin-9 {
  position: absolute;
  top: 210px;
  left: 90px;
}

.lottie-pin-10 {
  position: absolute;
  top: 150px;
  left: 150px;
}

.lottie-pin-11 {
  position: absolute;
  top: 120px;
  left: 180px;
}

.lottie-pin-12 {
  position: absolute;
  top: 115px;
  left: 150px;
}

.lottie-pin-14 {
  position: absolute;
  top: 70px;
  left: 110px;
}

.lottie-pin-15 {
  position: absolute;
  top: 270px;
  left: 75px;
}

.lottie-pin-16 {
  position: absolute;
  top: 90px;
  left: 160px;
}

.lottie-pin-13 {
  position: absolute;
  top: 150px;
  left: 110px;
}

/* purgecss end ignore */

/* purgecss start ignore */

@keyframes medicalBox {
  0% {
    transform: rotate(0deg);
  }

  50% {
    transform: rotate(13.001deg);
  }

  100% {
    transform: rotate(0deg);
  }
}

@keyframes medicalReport {
  0% {
    transform: rotate(0deg);
  }

  50% {
    transform: rotate(-16.19deg);
  }

  100% {
    transform: rotate(0deg);
  }
}

@keyframes halfFloatingCircle {
  0% {
    transform: translateX(-5px);
    /* opacity: 0; */
  }

  50% {
    transform: translateX(-40px);
    /* opacity: 1; */
  }

  100% {
    transform: translateX(-5px);
    /* opacity: 0; */
  }
}

@keyframes halfFloatingCircle2 {
  0% {
    transform: translateY(0);
    /* opacity: 0; */
  }

  50% {
    transform: translateY(-35px);
    /* opacity: 1; */
  }

  100% {
    transform: translateY(0);
    /* opacity: 0; */
  }
}

@keyframes arrow {
  0% {
    transform: translateY(10px);
    /* opacity: 0; */
  }

  50% {
    transform: translateY(0px);
    /* opacity: 1; */
  }

  100% {
    transform: translateY(10px);
    /* opacity: 0; */
  }
}

.medical-box-container {
  position: absolute;
  bottom: 50px;
  right: 5vw;
  animation: medicalBox 3s infinite;
}

.medical-box-container img {
  width: 120px;
  max-width: 100%;
  height: 120px;
}

.medical-report-container {
  position: absolute;
  top: 30px;
  left: 10vw;
  animation: medicalReport 3s infinite;
}

.medical-report-container img {
  width: 100px;
  max-width: 100%;
  height: 100px;
}

.half-floating-circle {
  position: absolute;
  bottom: 30px;
  left: -30px;
  animation: halfFloatingCircle 5s infinite;
}

.half-floating-circle2 {
  position: absolute;
  top: -111px;
  right: -105px;
  animation: halfFloatingCircle2 5s infinite;
}

.star-svg1 {
  position: absolute;
  bottom: 90px;
  left: 40px;
  z-index: 99;
  animation: medicalReport 3s infinite;
}

.star-svg2 {
  position: absolute;
  top: 70px;
  right: 80px;
  z-index: 99;
  animation: medicalReport 3s infinite;
}

.star-svg3 {
  position: absolute;
  top: 30px;
  right: 60px;
  z-index: 99;
  animation: medicalReport 3s infinite;
}

.star-svg1-secondPage {
  position: absolute;
  bottom: 90px;
  right: 40px;
  z-index: 99;
  animation: medicalReport 3s infinite;
}

.star-svg2-secondPage {
  position: absolute;
  top: 130px;
  right: 40px;
  z-index: 99;
  animation: medicalReport 3s infinite;
}

.star-svg3-secondPage {
  position: absolute;
  bottom: 220px;
  left: 60px;
  z-index: 99;
  animation: medicalReport 3s infinite;
}

.star-svg4-secondPage {
  position: absolute;
  top: 90px;
  left: 30px;
  z-index: 99;
  animation: medicalReport 3s infinite;
}

.ellipse-svg {
  position: absolute;
  bottom: 0;
  margin: auto;
  width: 100%;
}

.ellipse-svg img {
  height: auto;
}

.arrow-svg {
  position: absolute;
  bottom: 0;
  margin: auto;
  width: 100%;
  animation: arrow 2s infinite;
}

.arrow-svg img {
  height: auto;
  margin: auto;
}

.skip-button {
  position: absolute;
  top: 20px;
  right: 0px;
  right: 50px;
  color: #fff;
  padding: 30px;
  text-align: right;
  font-family: 'Montserrat';
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  width: 52px;
  height: 100px;
  flex-shrink: 0;
}

.continue-button {
  position: absolute;
  bottom: 30px;
  /* margin: auto; */
  margin-bottom: 130px;
  color: rgb(147, 120, 255);
  padding: 0px;
  /* text-align: right; */
  font-family: 'Montserrat';
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  flex-shrink: 0;
}

.main-container {
  max-width: 480px;
  width: 100%;
  min-height: 900px;
  height: 100vh;
  background-color: #dfd8ff;
  margin: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  border-radius: 0px !important;
  padding: 0px;
}

.secondTab {
  background-color: #714fff;
}

.thirdTab{
  background-color: #4227B4;
}

.associated-corporates {
  color: #fff;
  text-align: center;
  font-family: Montserrat;
  font-size: 32px;
  font-style: normal;
  font-weight: 800;
  line-height: normal;
  text-transform: uppercase;
  width: 298px;
  z-index: 999;
}

.associated-corporates-middle{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  height: 1000px;
  gap:16px;
}

.more-better {
  width: 179px;
  height: 80px;
  flex-shrink: 0;
  color: #ffffff;
  font-weight: 600;
  z-index: 999;
}

.sections {
  position: absolute;
  bottom: 0px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100vh;
  min-height: 900px;
  /* transition: all 5s ease; */
  overflow: hidden;
}

.slide-in {
  animation: slide-in 5s forwards;
}

@keyframes slide-in-element {
  from {
    transform: translateY(100vh);
  }

  to {
    transform: translateY(0);
  }
}

.slide-in-element {
  animation: slide-in-element 5s forwards;
}

@keyframes slide-out-element {
  from {
    transform: translateY(0);
  }

  to {
    transform: translateY(-100vh);
  }
}

.slide-out-element {
  animation: slide-out-element 5s forwards;
}

.slide-out {
  animation: slide-out 5s forwards;
}

.medical-logos-svg{
  animation: slide 8s linear infinite;
  width: 250%;
  max-width: 250%;
}

.medical-logos-svg2{
  animation: slide2 8s linear infinite;
  width: 250%;
  max-width: 250%;
}

.medical-logos-svg3{
  animation: slide3 8s linear infinite;
  width: 250%;
  max-width: 250%;
}

.medical-logos-svg-rotate{
  animation: rotateLogo 4s infinite;
  width: 80%;
  max-width: 100%;
  transform-origin: center;
}

.forthTab{
  background: #957CFF;
}

@keyframes rotateLogo {
  0% {
    transform: rotate(0deg); /* Adjust this value based on the distance you want the logos to move */
  }

  50% {
    transform: perspective(500px) rotateY(180deg);
  }

  100% {
    transform: rotate(0deg); /* Adjust this value based on the distance you want the logos to move */
  }
}

@keyframes slide {
  0% {
    transform: translateX(600px); /* Adjust this value based on the distance you want the logos to move */
  }

  100% {
    transform: translateX(-400px);
  }
}

@keyframes slide2 {
  0% {
    transform: translateX(-400px);
  }

  100% {
    transform: translateX(600px);
  }
}

@keyframes slide3 {
  0% {
    transform: translateX(600px); /* Adjust this value based on the distance you want the logos to move */
  }

  100% {
    transform: translateX(-400px);
  }
}

@keyframes slide-in {
  from {
    transform: translateY(900px);
  }

  to {
    transform: translateY(0);
  }
}

@keyframes slide-out {
  from {
    transform: translateY(0);
  }

  to {
    transform: translateY(-900px);
  }
}

.arrow {
  position: absolute;
  bottom: 0px;
  cursor: pointer;
  font-size: 30px;
  transition: all 0.5s ease;
}

.half-floating-circle div{
  border-radius: 50%;
  background-color: '#9378FF';
}

.half-floating-circle2 div{
  border-radius: 50%;
  background-color: '#9378FF';
}

.half-floating-circle-secondpage{
  position: absolute;
  top:-170px;
  right: -130px;
  /* animation: halfFloatingCircle 5s infinite; */
}

.half-floating-circle-secondpage div{
  border-radius: 50%;
  background: #8567FF;
}

.half-floating-circle2-secondpage{
  position: absolute;
  bottom:190px;
  right: -40px;
  animation: halfFloatingCircleBelowMap 10s infinite;
}

.half-floating-circle2-secondpage div{
  border-radius: 50%;
  background: #8567FF;
}

.half-floating-circle-thirdPage{
  position: absolute;
  top:-170px;
  right: -130px;
  /* animation: halfFloatingCircle 5s infinite; */
}

.half-floating-circle-thirdPage div{
  border-radius: 50%;
  background: #5D43CA;
}

.half-floating-circle2-thirdPage{
  position: absolute;
  bottom:190px;
  right: -40px;
  animation: halfFloatingCircleBelowMap 10s infinite;
}

.half-floating-circle2-thirdPage div{
  border-radius: 50%;
  background: #5D43CA;
}

.vector-svg{
  position: absolute;
  top: 210px;
  left: 12vw;
  z-index: 99;
}

.vector-svg1{
  position: absolute;
  bottom: 50px;
  left: 50vw;
  z-index: 99;
}

.vector-svg-secondpage{
  position: absolute;
  top: 20px;
  right: 40vw;
  z-index: 99;
}

.vector-svg1-secondpage{
  position: absolute;
  bottom:80px;
  left: 10vw;
  z-index: 99;
}

.star-svg1-thirdPage{
  position: absolute;
  bottom: 130px;
  left: 40px;
  z-index: 100;
  animation: medicalReport 3s infinite;
}

.star-svg2-thirdPage{
  position: absolute;
  top: 70px;
  right: 110px;
  z-index: 100;
  animation: medicalReport 3s infinite;
}

.vector-svg-thirdPage{
  position: absolute;
  top: 120px;
  left: 10vw;
  z-index: 99;
}

.vector-svg1-thirdPage{
  position: absolute;
  bottom:80px;
  left: 40vw;
  z-index: 99;
}

.star-svg1-forthPage{
  position: absolute;
  bottom: 130px;
  left: 40px;
  z-index: 100;
  animation: medicalReport 3s infinite;
}

.star-svg2-forthPage{
  position: absolute;
  top: 70px;
  right: 110px;
  z-index: 100;
  animation: medicalReport 3s infinite;
}

.vector-svg-forthPage{
  position: absolute;
  top: 120px;
  left: 10vw;
  z-index: 99;
}

.vector-svg1-forthPage{
  position: absolute;
  bottom:80px;
  left: 40vw;
  z-index: 99;
}

.half-floating-circle-forthPage{
  position: absolute;
  top:-170px;
  right: -130px;
  /* animation: halfFloatingCircle 5s infinite; */
}

.half-floating-circle-forthPage div{
  border-radius: 50%;
  background-color: #725CDC !important;
}

.half-floating-circle2-forthPage{
  position: absolute;
  bottom:190px;
  right: 0px;
  animation: halfFloatingCircleBelowMap 10s infinite;
}

.half-floating-circle2-forthPage div{
  border-radius: 50%;
  background-color: #725CDC !important;
}

.india-map{
  z-index: 20;
}

@keyframes halfFloatingCircleBelowMap {
  0% {
    transform: translateX(45px);
    /* opacity: 0; */
  }

  50% {
    transform: translateX(-100px);
    /* opacity: 1; */
  }

  100% {
    transform: translateX(45px);
    /* opacity: 0; */
  }
}

.india-map-pin{
  position: relative;
}

.lottie-pin-0 {
  position: absolute;
  top: -5px;
  left: 70px;
}

.lottie-pin-1 {
  position: absolute;
  top: 30px;
  left: 45px;
}

.lottie-pin-2 {
  position: absolute;
  top: 80px;
  left: 30px;
}

.lottie-pin-3 {
  position: absolute;
  top: 120px;
  left: 10px;
}

.lottie-pin-4 {
  position: absolute;
  top: 55px;
  left: 60px;
}

.lottie-pin-5 {
  position: absolute;
  top: 120px;
  left: 80px;
}

.lottie-pin-6 {
  position: absolute;
  top: 100px;
  left: 60px;
}

.lottie-pin-7 {
  position: absolute;
  top: 180px;
  left: 30px;
}

.lottie-pin-8 {
  position: absolute;
  top: 220px;
  left: 50px;
}

.lottie-pin-9 {
  position: absolute;
  top: 210px;
  left: 90px;
}

.lottie-pin-10 {
  position: absolute;
  top: 150px;
  left: 150px;
}

.lottie-pin-11 {
  position: absolute;
  top: 120px;
  left: 180px;
}

.lottie-pin-12 {
  position: absolute;
  top: 115px;
  left: 150px;
}

.lottie-pin-14 {
  position: absolute;
  top: 70px;
  left: 110px;
}

.lottie-pin-15 {
  position: absolute;
  top: 270px;
  left: 75px;
}

.lottie-pin-16 {
  position: absolute;
  top: 90px;
  left: 160px;
}

.lottie-pin-13 {
  position: absolute;
  top: 150px;
  left: 110px;
}

/* purgecss end ignore */

/* purgecss start ignore */

/* Center the loading spinner in the middle of the screen */

.loading-container {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh; /* Full height */
  background-color: #f4f4f4; /* Light background */
  padding: 20px;
  box-sizing: border-box;
}

/* Spinner styling */

.spinner {
  border: 8px solid #f3f3f3; /* Light grey */
  border-top: 8px solid #3498db; /* Blue */
  border-radius: 50%;
  width: 60px;
  height: 60px;
  animation: spin 1.5s linear infinite;
}

/* Animation for the spinner */

@keyframes spin {
  0% { transform: rotate(0deg);
  }

  100% { transform: rotate(360deg);
  }
}

/* Responsive design */

@media (max-width: 768px) {
  .loading-container {
    padding: 10px; /* Adjust padding for smaller screens */
  }

  .spinner {
    width: 40px;
    height: 40px;
    border-width: 6px;
  }
}

@media (max-width: 480px) {
  .spinner {
    width: 30px;
    height: 30px;
    border-width: 4px;
  }
}

/* purgecss end ignore */
  
/* purgecss start ignore */

.vision-dashboard {
  display: flex;
  flex-direction: row;
  width: 100%;
  height: 100vh;
  background: #F3F5F9;
  overflow: hidden;
}

.vision-content {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
  overflow-y: auto;
}

/* purgecss end ignore */

/* purgecss start ignore */

.vision-sidebar {
  background: #ffffff;
  min-width: 225px;
  width: 225px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  height: 100vh;
  overflow-y: auto;
  flex-shrink: 0;
  position: relative;
}

/* ── Logo ── */

.sidebar-logo {
  width: 100%;
  max-width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  max-height: 60px;
}

/* ── Center info ── */

.sidebar-center-title {
  font-size: 18px;
  line-height: 20px;
  font-weight: 600;
  color: #000;
  margin-top: 16px;
  margin-bottom: 0;
}

.sidebar-center-address {
  font-size: 12px;
  line-height: 18px;
  font-weight: 300;
  color: #000;
  margin-top: 4px;
  margin-bottom: 20px;
}

/* ── Center selector ── */

.sidebar-center-select {
  margin-bottom: 20px;
}

/* ── Nav items (OuterButton style) ── */

.sidebar-nav {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.sidebar-nav-btn {
  border: 2px solid #714fff;
  padding: 10px 10px 10px 10px;
  margin-bottom: 12px;
  border-radius: 8px;
  display: flex;
  flex-direction: row;
  align-items: center;
  cursor: pointer;
  background: #ffffff;
  width: 100%;
  text-align: left;
}

.sidebar-nav-btn.active {
  background: #714FFF;
}

.sidebar-nav-btn img {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.sidebar-nav-btn.active img {
  filter: brightness(0) invert(1);
}

.sidebar-nav-btn p {
  font-size: 14px;
  font-weight: 600;
  padding: 0 12px;
  margin: 0;
  color: #714FFF;
}

.sidebar-nav-btn.active p {
  color: #ffffff;
}

/* ── Bottom section ── */

.sidebar-bottom {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-top: 16px;
}

.spoc-section {
  padding-bottom: 12px;
}

.spoc-title {
  font-size: 14px;
  font-weight: 700;
  color: #ADA7A7;
}

.spoc-name {
  font-size: 14px;
  font-weight: 600;
  color: #ADA7A7;
}

.spoc-detail {
  font-size: 12px;
  font-weight: 500;
  color: #ADA7A7;
}

.sidebar-powered {
  font-size: 12px;
  color: #ADA7A7;
  padding-bottom: 8px;
}

.sidebar-visit-logo {
  width: 60%;
  padding-bottom: 8px;
}

.sidebar-tc {
  font-size: 10px;
  line-height: 10px;
  color: #878787;
  text-decoration: underline;
  cursor: pointer;
  border: none;
  background: transparent;
  padding: 0;
  text-align: left;
}

/* purgecss end ignore */

/* purgecss start ignore */

.vision-header {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  padding: 20px;
  background: transparent;
  flex-shrink: 0;
}

.vision-header-left {
  display: flex;
  flex-direction: column;
}

.vision-welcome {
  font-size: 24px;
  font-weight: 500;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  color: #000;
}

.vision-hamburger {
  cursor: pointer;
  font-size: 22px;
  color: #333;
  flex-shrink: 0;
}

.vision-date {
  font-size: 16px;
  font-weight: 700;
  color: #ADA7A7;
}

.vision-header-right {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

/* purgecss end ignore */

/* purgecss start ignore */

.image-button {
  display: flex;
  flex-direction: row;
  align-items: center;
  border: 2px solid #714fff !important;
  border-radius: 8px !important;
  outline: none !important;
  box-shadow: none !important;
  justify-content: flex-start;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #714FFF;
  padding: 8px 12px !important;
  transition: background 0.15s, color 0.15s;
  cursor: pointer;
  background: #ffffff;
  gap: 8px;
  width: 100%;
  margin: 0;
}

.image-button img {
  margin-right: 0 !important;
  width: 20px;
  height: 20px;
}

.active-image-button {
  background: #714FFF !important;
  color: #fff !important;
}

.active-image-button > img {
  filter: brightness(0) invert(1);
}

.image-button-tip {
  padding: 2.5px !important;
  font-size: 10px !important;
  background: #714FFFAA !important;
}

.image-button-tip::before,
.image-button-tip::after {
  background: #714FFF2E !important;
}

.disabled-image-button {
  background: #F5F5F8 !important;
  color: #C0C0D0 !important;
  border-color: #E8E8F0 !important;
  cursor: not-allowed;
}

/* purgecss end ignore */

/* purgecss start ignore */

.modal-content.co-modal-content {
  border: none !important;
  border-radius: 14px !important;
  overflow: hidden;
  background: #fff !important;
  box-shadow: 0 12px 40px rgba(113, 79, 255, 0.22) !important;
  padding: 0 !important;
}

.co-input {
  width: 100%;
  border: 1.5px solid #E8E8EE;
  border-radius: 8px;
  padding: 10px 14px;
  font-size: 14px;
  font-family: 'Inter', sans-serif;
  color: #1A1A2E;
  background: #FAFAFA;
  transition: border-color 0.18s;
  outline: none;
}

.co-input:focus {
  border-color: #714FFF;
  background: #fff;
}

.co-input:-moz-read-only {
  background: #F4F2FF;
  color: #714FFF;
  font-weight: 500;
  cursor: default;
}

.co-input:read-only {
  background: #F4F2FF;
  color: #714FFF;
  font-weight: 500;
  cursor: default;
}

.co-input::-moz-placeholder {
  color: #B0B0C0;
}

.co-input::placeholder {
  color: #B0B0C0;
}

.co-textarea {
  width: 100%;
  border: 1.5px solid #E8E8EE;
  border-radius: 8px;
  padding: 10px 14px;
  font-size: 14px;
  font-family: 'Inter', sans-serif;
  color: #1A1A2E;
  background: #FAFAFA;
  resize: none;
  transition: border-color 0.18s;
  outline: none;
}

.co-textarea:focus {
  border-color: #714FFF;
  background: #fff;
}

.co-textarea::-moz-placeholder {
  color: #B0B0C0;
}

.co-textarea::placeholder {
  color: #B0B0C0;
}

.co-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: #8A8AAA;
  margin-bottom: 6px;
  font-family: 'Inter', sans-serif;
  letter-spacing: 0.2px;
}

.co-section-title {
  font-size: 11px;
  font-weight: 700;
  color: #B0B0C0;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  margin-bottom: 14px;
}

.co-divider {
  border: none;
  border-top: 1px solid #F0F0F8;
  margin: 20px 0;
}

.co-field {
  margin-bottom: 16px;
}

.co-proceed-btn {
  width: 100%;
  padding: 14px;
  background: #714FFF;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  font-family: 'Inter', sans-serif;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  transition: background 0.18s, opacity 0.18s;
  letter-spacing: 0.3px;
}

.co-proceed-btn:disabled {
  background: #C5BAF5;
  cursor: not-allowed;
}

.co-proceed-btn:not(:disabled):hover {
  background: #5D3FE8;
}

/* purgecss end ignore */

/* purgecss start ignore */

/* ── Outer container ── */

.vision-table-container {
  padding: 0 20px 20px;
  position: relative;
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

/* ── Table wrapper — flat border like ReactTable ── */

.table-card {
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  overflow: hidden;
  position: relative;
}

/* ── Tab bar (matches homepage headerComponent style) ── */

.table-header {
  border-bottom: 1px solid #CFD8E6;
  flex-shrink: 0;
}

.tab-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.tabs-left {
  display: flex;
  flex-direction: row;
}

/* tabs use inline styles in TableHeader.jsx (homepage pattern) */

.tabs-right {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-right: 12px;
}

.download-button {
  font-size: 13px;
  font-weight: 600;
  color: #714fff;
  text-decoration: underline;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}

/* ── Pagination ── */

.pagination-row {
  padding: 10px 16px;
  border-top: 2px solid rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
  gap: 4px;
}

.page-button {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #CFD8E6;
  border-radius: 4px;
  min-width: 30px;
  height: 30px;
  padding: 0 8px;
  font-size: 12px;
  font-weight: 600;
  color: #6B778C;
  background: #fff;
  cursor: pointer;
  transition: all 0.15s;
  outline: none !important;
}

.page-button:hover {
  border-color: #714fff;
  color: #714fff;
}

.current-page {
  background: #714fff;
  color: #fff;
  border-color: #714fff;
}

/* ── Scroll wrapper ── */

.table-container {
  flex: 1;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.table-wrapper {
  flex: 1;
  overflow-y: auto;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* ── Main table ── */

.vision-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: auto;
}

/* ── Header row 1: column names (ReactTable -header) ── */

.vision-table thead .rt-header-row th.rt-th {
  background: #ffffff;
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: #000000;
  opacity: 0.8;
  padding: 20px 16px;
  text-align: left;
  white-space: nowrap;
}

/* ── Header row 2: filter inputs (ReactTable -filters) ── */

.vision-table thead .rt-filter-row {
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.vision-table thead .rt-filter-row th.rt-filter-cell {
  background: #ffffff;
  padding: 5px 8px 8px;
}

/* Filter inputs — matches ReactTable filter style exactly */

.col-filter-input {
  width: 100%;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: #fff;
  padding: 5px 7px;
  font-size: 13px;
  border-radius: 4px;
  font-weight: normal;
  outline: none;
  color: #333;
  box-sizing: border-box;
}

.col-filter-input:focus {
  border-color: #714fff;
  outline: none;
}

/* ── Body rows (ReactTable -tbody) ── */

.vision-table tbody tr.rt-tr {
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  transition: background 0.12s;
}

.vision-table tbody tr.rt-tr:last-child {
  border-bottom: 0;
}

.vision-table tbody tr.rt-tr:hover {
  background: rgba(0, 0, 0, 0.05);
}

.vision-table td.rt-td {
  font-size: 14px;
  font-weight: 500;
  color: #333;
  vertical-align: middle !important;
  padding: 20px 16px !important;
  white-space: nowrap;
}

/* ── Loading mask ── */

.table-mask {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.8);
  transition: all 0.3s ease;
  z-index: 10;
  gap: 12px;
}

.table-mask-spinner {
  width: 36px;
  height: 36px;
  border: 3px solid #EAE5FF;
  border-top-color: #714fff;
  border-radius: 50%;
  animation: spin 0.7s linear infinite;
}

.table-mask-text {
  font-size: 15px;
  color: rgba(0, 0, 0, 0.6);
}

@keyframes spin {
  to { transform: rotate(360deg);
  }
}

/* ── Status badge ── */

.status-badge {
  display: inline-flex;
  align-items: center;
  padding: 5px 14px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
}

/* ── No data (ReactTable .rt-noData style) ── */

.no-requests-message {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: rgba(255, 255, 255, 0.8);
  padding: 20px;
  pointer-events: none;
}

.no-requests-message p {
  font-size: 15px;
  color: rgba(0, 0, 0, 0.5);
  margin: 0;
}

/* purgecss end ignore */

/* purgecss start ignore */

/* ── Modal shell — matches Create Order style ── */

.invoice-modal .modal-content {
  border: none !important;
  border-radius: 14px !important;
  overflow: hidden;
  background: #fff !important;
  box-shadow: 0 12px 40px rgba(113, 79, 255, 0.22) !important;
  padding: 0 !important;
}

/* ── Gradient header (shared across all views) ── */

.vm-header {
  background: linear-gradient(135deg, #714FFF 0%, #9B7FFF 100%);
  padding: 18px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
}

.vm-header-title {
  color: #fff;
  font-size: 17px;
  font-weight: 700;
  font-family: 'Inter', sans-serif;
  margin: 0;
}

.vm-header-close {
  background: rgba(255, 255, 255, 0.15);
  border: none;
  color: #fff;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 300;
  line-height: 1;
  flex-shrink: 0;
}

.vm-header-close:hover {
  background: rgba(255, 255, 255, 0.28);
}

/* ── Body ── */

.vm-body {
  background: #fff;
  padding: 24px 28px;
  overflow-y: auto;
}

/* ── Footer ── */

.vm-footer {
  padding: 16px 28px;
  border-top: 1px solid #F0F0F8;
  background: #fff;
  border-radius: 0 0 14px 14px;
  flex-shrink: 0;
}

/* ── Proceed button — matches .co-proceed-btn ── */

.vm-proceed-btn {
  width: 100%;
  padding: 14px;
  background: #714FFF;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  font-family: 'Inter', sans-serif;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  transition: background 0.18s, opacity 0.18s;
  letter-spacing: 0.3px;
}

.vm-proceed-btn:disabled {
  background: #C5BAF5;
  cursor: not-allowed;
}

.vm-proceed-btn:not(:disabled):hover {
  background: #5D3FE8;
}

/* ── Document upload section ── */

.document-section {
  display: flex;
  flex-direction: row;
  -moz-column-gap: 16px;
       column-gap: 16px;
  margin-bottom: 20px;
}

.document-window {
  border-radius: 10px;
  flex: 1;
  width: 100%;
  background: #F4F2FF;
  border: 1.5px dashed #714FFF55;
  min-width: unset;
  position: relative;
  height: 46vh;
  overflow: hidden;
}

.document-window > * {
  font-family: 'Montserrat' !important;
}

.upload-button {
  justify-content: center;
  background: #fff;
  align-items: center;
  padding: 10px 0;
  border-width: 1px !important;
  font-weight: 300 !important;
}

.disclaimer {
  position: absolute;
  bottom: 0;
  left: 0;
  font-size: 8px;
  transform: translateY(125%);
}

.re-button {
  position: absolute;
  right: 10px;
  top: 10px;
  color: #ff8c00;
  height: 25px;
  width: -moz-fit-content;
  width: fit-content;
}

/* ── Invoice (InvoiceModal) layout ── */

.invoice-modal.modal-dialog {
  max-width: 800px !important;
  width: 800px !important;
  margin: 1.75rem auto;
}

/* ── Status / Submit modal ── */

.status-modal .modal-content {
  border: none !important;
  border-radius: 14px !important;
  overflow: hidden;
  background: #fff !important;
  box-shadow: 0 12px 40px rgba(113, 79, 255, 0.22) !important;
  padding: 0 !important;
}

.status-modal .modal-body {
  padding: 32px 28px !important;
  text-align: center;
}

.primary-box {
  width: 100%;
  border-radius: 8px;
  border: 1px solid #CFC8FF;
  overflow-y: scroll;
}

.submit-button-upload {
  text-align: center;
  justify-content: center;
}

.submit-button {
  width: 100%;
  padding: 10px 0;
  text-align: center;
  justify-content: center;
}

.secondary-box {
  width: 100%;
  border-radius: 8px;
  padding: 20px;
  background: #F2EFFF;
}

.invoice-form {
  padding: 20px 10px;
  border-bottom: 1px solid #ddd;
}

.add-item {
  width: -moz-fit-content;
  width: fit-content;
  margin-left: 10px;
  padding: 5px;
  font-weight: 300;
  border-width: 1.25px !important;
  border-radius: 4.25px;
  margin-top: 20px;
  margin-bottom: 55px;
}

.bottom-text {
  position: absolute;
  bottom: 7.5px;
  left: 50%;
  transform: translateX(-50%);
}

.document-window.disabled {
  cursor: not-allowed;
  opacity: 0.6;
  pointer-events: none;
}

/* purgecss end ignore */

/* purgecss start ignore */

.dental-dashboard {
  display: grid;
  grid-template-columns: var(--sidebar-width, 280px) 1fr;
  grid-template-rows: 
        80px    
        60px    
        1fr;
  grid-template-areas:
        "sidebar header"
        "sidebar filters"
        "sidebar table";
  height: 100vh;
  width: 100%;
  overflow: hidden;
  background: #f2f2f3;
  transition: grid-template-columns 0.3s ease;
}

/* Ensure main content areas take full width */

.dental-header,
.dental-filters,
.dental-table {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

/* purgecss end ignore */



/* purgecss start ignore */

.dental-sidebar {
  grid-area: sidebar;
  padding: 24px;
  background: #fff;
  display: flex;
  flex-direction: column;
  height: 100vh;
  border-right: 1px solid #e5e5ef;
  transition: width 0.3s ease, padding 0.3s ease;
  width: 280px;
  min-width: 280px;
  position: relative;
  overflow: hidden;
}

.dental-sidebar.collapsed {
  width: 80px;
  min-width: 80px;
  padding: 24px 12px;
}

.side-btn {
  text-align: left;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid #eee;
  background: #fff;
  margin-bottom: 8px;
}

.side-btn.active {
  border-color: #6c5ce7;
  color: #6c5ce7;
}

.sidebar-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 12px;
  position: relative;
  z-index: 100;
}

.brand-row {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  width: 100%;
}

.brand-logo {
  height: 48px;
  width: 48px;
  flex-shrink: 0;
}

.brand-title-wrapper {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  justify-content: center;
  position: relative;
  z-index: 101;
}

.brand-title {
  font-size: 16px;
  font-weight: 700;
  word-break: break-word;
  text-align: center;
  line-height: 1.3;
}

.dental-sidebar.collapsed .brand-title-wrapper,
.dental-sidebar.collapsed .brand-title {
  display: none;
}

.collapse-toggle {
  background: transparent;
  border: 1px solid #e5e5ef;
  border-radius: 8px;
  padding: 8px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #714fff;
  transition: all 0.2s ease;
  flex-shrink: 0;
  margin-top: 12px;
  width: 100%;
}

.collapse-toggle:hover {
  background: #f5f5f5;
  border-color: #714fff;
}

.dental-sidebar.collapsed .collapse-toggle {
  margin-top: 8px;
}

.center-select {
  width: 100%;
  border: 1px solid #e5e5ef;
  border-radius: 10px;
  padding: 10px 12px;
  margin-top: 12px;
}

.dental-sidebar.collapsed .center-select {
  display: none;
}

.menu-section {
  margin-top: 24px;
  border-top: 1px solid #e5e5ef;
  padding-top: 20px;
}

.menu-title {
  color: #8f9098;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 10px;
}

.menu-item {
  width: 100%;
  text-align: left;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid #e5e5ef;
  background: #fff;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  transition: all 0.2s ease;
  cursor: pointer;
}

.menu-item:not(.collapsed) {
  justify-content: flex-start;
}

.menu-item.active {
  border-color: #714fff;
  color: #714fff;
}

.menu-item.collapsed {
  padding: 12px;
  justify-content: center;
  text-align: center;
}

.dental-sidebar.collapsed .menu-item > span {
  display: none;
}

.dental-sidebar.collapsed .menu-item.collapsed .orders-icon-collapsed,
.dental-sidebar.collapsed .menu-item.collapsed svg,
.dental-sidebar.collapsed .menu-item.collapsed .anticon {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 20px !important;
  height: 20px !important;
}

.link-item {
  width: 100%;
  text-align: left;
  padding: 10px 0;
  border: none;
  background: transparent;
  color: #2d2d2d;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 10px;
  transition: all 0.2s ease;
}

.link-item:hover {
  color: #714fff;
  cursor: pointer;
}

.link-item.collapsed {
  justify-content: center;
  padding: 10px;
  border-radius: 8px;
}

.link-item.collapsed:hover {
  background: #f5f5f5;
}

.link-item.collapsed span {
  display: none;
}

.link-item img {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.feedback-section {
  margin-top: auto;
  padding-top: 24px;
  border-top: 1px solid #e5e5ef;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.suggestion-link {
  color: #714fff;
  text-decoration: none;
  font-weight: 600;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  text-align: left;
  width: 100%;
}

.suggestion-link.collapsed {
  width: auto;
  padding: 10px;
  border-radius: 8px;
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.suggestion-link.collapsed:hover {
  background: #f5f5f5;
}

.powered {
  margin-top: 18px;
  color: #8f9098;
  font-size: 12px;
  border-top: 1px solid #e5e5ef;
  padding-top: 12px;
  text-align: center;
}

.visit-logo {
  width: 80px;
  margin-top: 6px;
}

.dental-sidebar.collapsed .powered,
.dental-sidebar.collapsed .visit-logo {
  display: none;
}

/* purgecss end ignore */
/* purgecss start ignore */

.suggestion-modal .ant-modal-content {
  border-radius: 16px;
  padding: 24px;
}

.suggestion-modal .ant-modal-header {
  margin-bottom: 24px;
  padding: 0;
  border-bottom: none;
}

.suggestion-modal .ant-modal-title {
  font-size: 20px;
  font-weight: 600;
  color: #1A1D1F;
}

.suggestion-modal .ant-modal-body {
  padding: 0;
}

.suggestion-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.suggestion-form label {
  font-size: 14px;
  font-weight: 500;
  color: #1A1D1F;
  margin-bottom: 4px;
}

.suggestion-form .ant-select {
  margin-bottom: 8px;
}

.suggestion-form .ant-select-selector {
  border-radius: 8px !important;
  height: 40px !important;
  padding: 4px 12px !important;
}

.suggestion-form .ant-input {
  border-radius: 8px;
  padding: 12px;
}

.button-group {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  margin-top: 8px;
}

.leave-btn {
  border-radius: 8px;
  height: 40px;
  padding: 0 24px;
  border: 1px solid #E6E8EC;
  color: #6F767E;
}

.submit-btn {
  border-radius: 8px;
  height: 40px;
  padding: 0 24px;
  background: #6366F1;
}

.submit-btn:hover {
  background: #4F46E5;
}

.submit-btn:disabled {
  background: #E6E8EC;
  color: #6F767E;
  cursor: not-allowed;
}

/* purgecss end ignore */

/* purgecss start ignore */

.dental-header {
  grid-area: header;
  padding: 20px 24px;
  border-bottom: 1px solid #eee;
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 100;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.welcome-title {
  font-weight: 600;
  font-size: 18px;
}

.welcome-sub {
  font-size: 12px;
  color: #8f9098;
}

.topbar-right {
  display: flex;
  align-items: center;
  gap: 12px;
}

.last-updated {
  color: #8f9098;
  font-size: 12px;
}

.refresh-btn {
  background: #fff;
  border: 1px solid #e5e5ef;
  border-radius: 12px;
  padding: 6px 12px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.refresh-btn:hover {
  background: #f5f5f5;
  border-color: #d9d9d9;
}

.section-title {
  margin-top: 16px;
  margin-bottom: 12px;
  font-weight: 600;
  color: #5b5b66;
}

/* Responsive styles */

@media (max-width: 768px) {
  .dental-header {
    padding: 16px;
  }

  .topbar {
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
  }

  .topbar-right {
    width: 100%;
    justify-content: space-between;
  }
}

/* purgecss end ignore */
/* purgecss start ignore */

.dental-filters {
  grid-area: filters;
  padding: 16px 24px;
  background: #f2f2f3;
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.top-filters {
  display: flex;
  gap: 16px;
  align-items: center;
}

.top-filters select {
  padding: 8px 32px 8px 12px;
  border: 1px solid #e6e6ef;
  border-radius: 8px;
  background: #fff;
  color: #333;
  font-size: 14px;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 8px center;
  background-size: 16px;
  min-width: 140px;
}

.top-filters select:hover {
  border-color: #d9d9d9;
}

.top-filters select:focus {
  outline: none;
  border-color: #6c5ce7;
  box-shadow: 0 0 0 2px rgba(108, 92, 231, 0.1);
}

.orders-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
}

.orders-header h2 {
  font-size: 20px;
  font-weight: 500;
  color: #333;
  margin: 0;
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 16px;
}

.search-container {
  position: relative;
}

.search-container input {
  padding: 8px 12px;
  padding-left: 36px;
  border: 1px solid #e6e6ef;
  border-radius: 8px;
  font-size: 14px;
  color: #333;
  width: 300px;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3ccircle cx='11' cy='11' r='8'%3e%3c/circle%3e%3cline x1='21' y1='21' x2='16.65' y2='16.65'%3e%3c/line%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: 12px center;
  background-size: 16px;
  background-color: #f8f8f8;
}

.search-container input:focus {
  outline: none;
  border-color: #6c5ce7;
  box-shadow: 0 0 0 2px rgba(108, 92, 231, 0.1);
  background-color: #fff;
}

.search-container input::-moz-placeholder {
  color: #999;
}

.search-container input::placeholder {
  color: #999;
}

.download-btn {
  padding: 8px 16px;
  background: #6c5ce7;
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: background-color 0.2s;
}

.download-btn:hover {
  background: #5a4bd1;
}

/* Responsive styles */

@media (max-width: 768px) {
  .dental-filters {
    padding: 12px;
    gap: 16px;
  }

  .top-filters {
    flex-direction: column;
    gap: 12px;
  }

  .top-filters select {
    width: 100%;
  }

  .orders-header {
    flex-direction: column;
    gap: 16px;
    align-items: flex-start;
  }

  .header-actions {
    width: 100%;
    flex-direction: column;
    gap: 12px;
  }

  .search-container,
    .search-container input {
    width: 100%;
  }

  .download-btn {
    width: 100%;
    justify-content: center;
  }
}

/* purgecss end ignore */
/* purgecss start ignore */

.dental-table {
  grid-area: table;
  padding: 16px 24px;
  height: calc(100vh - 180px);
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  overflow: hidden;
}

.table-header {
  padding: 16px 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #f0f0f0;
  min-width: 0;
  flex-shrink: 0;
}

.table-header h2 {
  font-size: 20px;
  font-weight: 500;
  color: #333;
  margin: 0;
  white-space: nowrap;
  flex-shrink: 0;
  min-width: -moz-fit-content;
  min-width: fit-content;
}

.header-actions {
  display: flex;
  gap: 16px;
  align-items: center;
  flex-shrink: 0;
  min-width: -moz-fit-content;
  min-width: fit-content;
}

.search-input {
  width: 300px;
}

.patient-info,
.center-info,
.date-time-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.secondary-text {
  color: #666;
  font-size: 13px;
}

.table-card {
  background: #fff;
  border: 1px solid #e6e6ef;
  border-radius: 12px;
  box-shadow: rgba(0,0,0,0.03) 0 1px 2px;
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Table Header Styles */

.dental-tabs {
  padding: 16px 24px 0;
}

.tab-row {
  display: flex;
  gap: 24px;
  border-bottom: 1px solid #f0f0f0;
  margin-bottom: 0;
  padding-bottom: 0;
}

.tab-btn {
  background: transparent;
  border: none;
  padding: 12px 4px;
  color: #666;
  font-size: 14px;
  cursor: pointer;
  position: relative;
  transition: color 0.2s;
}

.tab-btn:hover {
  color: #6c5ce7;
}

.tab-btn.active {
  color: #6c5ce7;
  font-weight: 500;
}

.tab-btn.active::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 2px;
  background: #6c5ce7;
}

/* Table Container */

.table-container {
  flex: 1;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.table-wrapper {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  text-align: center;
}

/* Table Styles */

table {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
  table-layout: auto;
}

thead {
  position: sticky;
  top: 0;
  background: white;
  z-index: 1;
}

th {
  padding: 16px;
  font-weight: 500;
  color: #666;
  background: #fff;
  border-bottom: 1px solid #f0f0f0;
  text-align: left;
  font-size: 14px;
  white-space: nowrap;
}

/* Action column - fixed minimum width */

/* .action-column-header,
.action-column {
    min-width: 150px;
    width: 150px;
    max-width: 150px;
} */

.action-column {
  min-width: 80px;          /* Prevent shrinking */
  vertical-align: middle;
}

.actions-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);  /* 2 columns */
  grid-template-rows: repeat(2, 1fr);     /* 2 rows */
  gap: 6px;                                /* spacing between buttons */
  justify-items: center;
  align-items: center;
  padding: 4px;
}

/* Prevent other columns from shrinking too much */

th:not(.action-column-header),
td:not(.action-column) {
  min-width: 100px;
}

/* Table cell styles */

td {
  padding: 16px;
  border-bottom: 1px solid #f0f0f0;
  color: #333;
  font-size: 14px;
  word-wrap: break-word;
}

tr:hover {
  background-color: #f8f8f8;
}

/* Checkbox styles */

.checkbox-cell {
  width: 40px;
  text-align: center;
}

.table-checkbox {
  width: 18px;
  height: 18px;
  border: 2px solid #ddd;
  border-radius: 4px;
  cursor: pointer;
}

/* Status Badge Styles */

.status-badge {
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border-radius: 16px;
  font-size: 13px;
  font-weight: 500;
  text-transform: capitalize;
}

.status-badge.status-pending {
  background: #FFF7E6;
  color: #D48806;
  border: 1px solid #FFD591;
}

.status-badge.status-pre-auth-requested {
  background: #E6F7FF;
  color: #9eadff;
  border: 1px solid #91D5FF;
}

.status-badge.status-completed {
  background: #F6FFED;
  color: #52C41A;
  border: 1px solid #B7EB8F;
}

.status-badge.status-cancelled {
  background: #FFF1F0;
  color: #F5222D;
  border: 1px solid #FFA39E;
}

.status-badge.status-cancellation-requested {
  background: #FFF1F0;
  color: #F5222D;
  border: 1px solid #FFA39E;
}

.status-badge.status-confirmed {
  background: #E6F7FF;
  color: #1890FF;
  border: 1px solid #91D5FF;
}

.status-badge.status-digitizing {
  background: #3F8CFF;
  color: #E5F0FF;
  border: 1px solid #91D5FF;
}

.status-badge.status-rejected {
  background: #FFEBE6;
  color: #F5222D;
  border: 1px solid #FFA39E;
}

.status-badge.status-processing {
  background: #E6F7FF;
  color: #1890FF;
  border: 1px solid #91D5FF;
}

.status-badge.status-delayed {
  background: #FFF2E8;
  color: #FA541C;
  border: 1px solid #FFBB96;
}

.date-time-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.date-time-info .secondary-text {
  color: #666;
  font-size: 13px;
}

/* Action Buttons */

.actions-cell {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-wrap: nowrap;
  min-width: -moz-fit-content;
  min-width: fit-content;
}

.action-btn {
  background: none;
  border: none;
  padding: 6px;
  cursor: pointer;
}

.action-btn:hover {
  background-color: #f5f5f5;
}

.action-btn img {
  width: 24px;
  height: 24px;
  opacity: 0.8;
  transition: width 0.3s ease, height 0.3s ease;
}

/* Make action button icons even bigger when sidebar is collapsed */

.dental-sidebar.collapsed ~ * .action-btn img {
  width: 20px;
  height: 20px;
}

.dental-sidebar.collapsed ~ * .action-btn {
  padding: 8px;
  min-width: 42px;
  min-height: 42px;
}

.action-btn:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.action-btn:disabled:hover {
  background-color: transparent;
}

.action-btn:disabled img {
  opacity: 0.4;
}

/* Pagination Styles */

.pagination-row {
  padding: 16px 24px;
  background: white;
  border-top: 1px solid #f0f0f0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.pagination-info {
  color: #666;
  font-size: 14px;
}

/* Responsive styles */

@media (max-width: 768px) {
  .dental-table {
    padding: 8px;
  }

  .table-header {
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
  }

  .table-header h2 {
    width: 100%;
  }

  .header-actions {
    width: 100%;
    flex-direction: column;
    gap: 12px;
  }

  .tab-row {
    gap: 16px;
    overflow-x: auto;
    padding-bottom: 8px;
  }

  .pagination-row {
    flex-direction: column;
    gap: 16px;
  }

  /* On mobile, allow action column to be smaller but still functional */

  .action-column-header,
    .action-column {
    min-width: 120px;
    width: 120px;
    max-width: 120px;
  }

  .actions-cell {
    gap: 4px;
  }

  .action-btn {
    min-width: 28px;
    height: 28px;
    padding: 6px;
  }

  .action-btn img {
    width: 18px;
    height: 18px;
  }
}

/* Ensure table wrapper handles overflow properly */

.table-wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* No requests found message */

.no-requests-message {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 300px;
  padding: 40px 20px;
  text-align: center;
}

.no-requests-message p {
  font-size: 16px;
  font-weight: 500;
  color: #8d94b1;
  margin: 0;
  font-family: 'Montserrat', sans-serif;
}

/* When sidebar is collapsed, ensure proper spacing */

.dental-sidebar.collapsed ~ * .table-header {
  padding-left: 24px;
  padding-right: 24px;
}

/* purgecss end ignore */
/* purgecss start ignore */

.modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.05);
  z-index: 999;
}

.action-modal {
  position: fixed;
  background: white;
  border-radius: 8px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
  border: 1px solid #e0e0e0;
  min-width: 180px;
  max-width: 250px;
  overflow: hidden;
  animation: modalSlideIn 0.15s ease-out;
  /* Ensure modal doesn't get cut off */
  max-height: calc(100vh - 20px);
  overflow-y: auto;
}

@keyframes modalSlideIn {
  from {
    opacity: 0;
    transform: scale(0.95) translateY(-5px);
  }

  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.modal-content {
  padding: 4px 0;
}

.action-option {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 12px 16px;
  border: none;
  background: white;
  color: #333;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.15s ease;
  text-align: left;
  white-space: nowrap;
}

.action-option:hover {
  background-color: #f8f9fa;
  color: #000;
}

.action-option.cancel {
  color: #dc3545;
}

.action-option.cancel:hover {
  background-color: #fef5f5;
  color: #c82333;
}

.action-option.disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

.action-option.disabled:hover {
  background-color: white;
  color: #333;
}

.action-option.cancel.disabled {
  color: #dc3545;
}

.action-option.cancel.disabled:hover {
  background-color: white;
  color: #dc3545;
}

.action-icon {
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  flex-shrink: 0;
}

/* Arrow pointer for better visual connection */

.action-modal::before {
  content: '';
  position: absolute;
  left: -6px;
  top: 12px;
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-right: 6px solid white;
  filter: drop-shadow(-1px 0px 1px rgba(0, 0, 0, 0.1));
}

/* Responsive handling for mobile */

@media (max-width: 768px) {
  .action-modal {
    position: fixed;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    min-width: 200px;
    max-width: 90vw;
  }

  .action-modal::before {
    display: none;
  }
}

/* Ensure modal stays within bounds on small screens */

@media (max-height: 600px) {
  .action-modal {
    max-height: 90vh;
    overflow-y: auto;
  }
}

/* purgecss end ignore */

/* purgecss start ignore */

/* Custom styles for the cancel appointment modal */

.cancel-appointment-modal .ant-modal-header {
  border-bottom: 1px solid #f0f0f0;
  padding: 20px 24px 16px;
}

.cancel-appointment-modal .ant-modal-title {
  font-size: 18px;
  font-weight: 600;
  color: #333;
}

.cancel-appointment-modal .ant-modal-close {
  top: 16px;
  right: 16px;
}

.cancel-appointment-modal .ant-modal-close-x {
  font-size: 18px;
  color: #999;
}

.cancel-appointment-modal .ant-modal-body {
  padding: 24px;
}

.cancel-modal-content {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.cancel-question {
  font-size: 16px;
  color: #333;
  line-height: 1.5;
  margin-bottom: 0;
}

.form-section {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.form-label {
  font-size: 14px;
  color: #333;
  margin-bottom: 0;
}

.full-width-select {
  width: 100%;
}

.full-width-select .ant-select-selector {
  padding: 8px 12px;
  border-radius: 6px;
  border: 1px solid #d9d9d9;
  transition: all 0.2s;
}

.full-width-select:hover .ant-select-selector {
  border-color: #40a9ff;
}

.full-width-select.ant-select-focused .ant-select-selector {
  border-color: #1890ff;
  box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
}

.reason-textarea {
  border-radius: 6px !important;
  resize: none;
}

.reason-textarea .ant-input {
  border-radius: 6px;
  padding: 12px;
  font-size: 14px;
  line-height: 1.5;
}

.reason-textarea:hover,
.reason-textarea:focus {
  border-color: #1890ff;
}

.reason-textarea:focus {
  box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
}

.modal-footer-cancel {
  display: flex;
  justify-content: flex-end;
  margin-top: 8px;
}

.leave-btn {
  border-radius: 6px;
  height: 40px;
  padding: 0 24px;
  font-weight: 500;
  border-color: #d9d9d9;
  color: #666;
}

.leave-btn:hover {
  border-color: #40a9ff;
  color: #1890ff;
}

.cancel-btn {
  border-radius: 6px;
  height: 40px;
  padding: 0 24px;
  font-weight: 500;
  background: #ff4d4f;
  border-color: #ff4d4f;
}

.cancel-btn:hover {
  background: #ff7875;
  border-color: #ff7875;
}

/* Responsive adjustments */

@media (max-width: 576px) {
  .cancel-appointment-modal {
    margin: 0 16px;
  }

  .cancel-appointment-modal .ant-modal {
    max-width: calc(100vw - 32px);
    margin: 0;
  }

  .modal-footer {
    flex-direction: column-reverse;
    gap: 12px;
  }

  .modal-footer .ant-space {
    width: 100%;
    flex-direction: column-reverse;
  }

  .modal-footer .ant-space .ant-space-item {
    width: 100%;
  }

  .leave-btn,
    .cancel-btn {
    width: 100%;
  }
}

/* Override antd modal styles for better appearance */

.cancel-appointment-modal .ant-modal-content {
  border-radius: 12px;
  overflow: hidden;
}

.cancel-appointment-modal .ant-modal-mask {
  background: rgba(0, 0, 0, 0.45);
}

/* Custom select dropdown styling */

.ant-select-dropdown {
  border-radius: 8px;
  box-shadow: 0 6px 16px 0 rgba(0, 0, 0, 0.08);
}

.ant-select-item-option-selected:not(.ant-select-item-option-disabled) {
  background-color: #e6f7ff;
}

/* Ensure proper z-index layering */

.cancel-appointment-modal .ant-modal-root {
  z-index: 2000;
}

.cancel-appointment-modal .ant-modal-mask {
  z-index: 2000;
  background: rgba(0, 0, 0, 0.45);
}

.cancel-appointment-modal .ant-modal-wrap {
  z-index: 2001;
}

.cancel-appointment-modal .ant-modal {
  z-index: 2001;
}

/* Ensure select dropdown appears above modal */

.ant-select-dropdown {
  z-index: 2100 !important;
}

/* purgecss end ignore */
/* purgecss start ignore */

.change-center-modal {
  border-radius: 8px;
}

.change-center-modal .ant-modal-content {
  border-radius: 8px;
  overflow: visible !important;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 1000;
  border: none !important;
  outline: none !important;
  /* box-shadow: 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05) !important; */
}

.change-center-modal .ant-modal-header {
  padding: 20px 24px 16px;
  border-bottom: 1px solid #f0f0f0;
  flex-shrink: 0;
}

.change-center-modal .ant-modal-title {
  font-size: 18px;
  font-weight: 600;
  color: #262626;
}

.change-center-modal .ant-modal-body {
  padding: 0 24px 16px;
  overflow: visible !important;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.change-center-modal .ant-modal-wrap {
  overflow: visible !important;
  z-index: 1000 !important;
}

.change-center-modal .ant-modal-mask {
  z-index: 999 !important;
}

/* Ensure modal stays centered when expanding */

.change-center-modal.ant-modal {
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  margin: 0 !important;
  z-index: 1000 !important;
  position: fixed !important;
  border: none !important;
  outline: none !important;
}

/* Remove any blue borders or outlines */

.change-center-modal * {
  outline: none !important;
}

.change-center-modal *:focus {
  outline: none !important;
  border-color: inherit !important;
}

/* Remove Ant Design default borders and focus states */

.change-center-modal .ant-modal-content:focus {
  outline: none !important;
  border: none !important;
}

.change-center-modal .ant-modal-content:focus-visible {
  outline: none !important;
  border: none !important;
}

.change-center-modal .ant-modal-content:focus-within {
  outline: none !important;
  border: none !important;
}

/* Remove any blue border from modal wrapper */

.change-center-modal .ant-modal-wrap {
  border: none !important;
  outline: none !important;
}

.change-center-modal .ant-modal-wrap:focus {
  outline: none !important;
  border: none !important;
}

/* Additional positioning fixes */

.ant-modal-wrap {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 1000 !important;
}

.ant-modal-mask {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 999 !important;
}

.modal-content {
  display: flex;
  flex-direction: column;
  gap: 24px;
  overflow: visible;
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.form-label {
  font-size: 16px;
  font-weight: 500;
  color: #262626;
}

.center-dropdown {
  width: 100%;
}

.center-dropdown .ant-select-selector {
  height: 48px !important;
  border: 1px solid #d9d9d9;
  border-radius: 7.5px;
  padding: 0 12px;
}

.center-dropdown .ant-select-selection-placeholder {
  color: #bfbfbf;
  font-size: 14px;
}

.question-text {
  font-size: 16px;
  color: #262626;
  font-weight: 500;
  margin-bottom: 16px;
}

.radio-container {
  display: flex;
  gap: 16px;
}

.custom-radio-group {
  display: flex;
  gap: 12px;
  width: 100%;
}

.custom-radio {
  flex: 1;
  margin: 0 !important;
  padding: 0 !important;
}

.custom-radio .ant-radio-wrapper {
  width: 100%;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d9d9d9;
  border-radius: 8px;
  background: #fff;
  font-size: 16px;
  font-weight: 500;
  transition: all 0.2s ease;
  position: relative;
  padding-left: 40px;
}

.custom-radio .ant-radio {
  position: absolute;
  left: 12px;
  margin-right: 0;
}

.custom-radio .ant-radio-wrapper .ant-radio-wrapper-checked {
  color: white !important;
}

.custom-radio .ant-radio-wrapper:hover {
  border-color: #722ed1;
  background: #f9f0ff;
}

.custom-radio.ant-radio-wrapper-checked .ant-radio-wrapper,
  .custom-radio .ant-radio-wrapper.ant-radio-wrapper-checked {
  border-color: #722ed1;
  background: #722ed1;
  color: white !important;
}

.custom-radio .ant-radio-wrapper span {
  color: inherit;
  font-size: 16px;
  font-weight: 500;
}

.custom-radio.ant-radio-wrapper-checked .ant-radio-wrapper span,
  .custom-radio .ant-radio-wrapper.ant-radio-wrapper-checked span {
  color: white !important;
}

.custom-radio.ant-radio-wrapper-checked .ant-radio .ant-radio-inner,
  .custom-radio .ant-radio-wrapper.ant-radio-wrapper-checked .ant-radio .ant-radio-inner {
  border-color: white;
  background-color: white;
}

.custom-radio.ant-radio-wrapper-checked .ant-radio .ant-radio-inner::after,
  .custom-radio .ant-radio-wrapper.ant-radio-wrapper-checked .ant-radio .ant-radio-inner::after {
  background-color: #722ed1;
}

/* Animated container for date and time selection */

.date-time-container {
  animation: slideIn 0.3s ease-out;
  overflow: visible;
}

@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.date-selection {
  margin: 16px 0;
  overflow-x: auto;
  padding-bottom: 8px;
}

.date-selection::-webkit-scrollbar {
  height: 4px;
}

.date-selection::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 2px;
}

.date-selection::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 2px;
}

.date-selection::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

.date-row {
  display: flex;
  gap: 8px;
  min-width: -moz-max-content;
  min-width: max-content;
  padding-right: 8px;
  align-items: stretch;
}

.date-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0;
  border: 1px solid #f0f0f0;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  background: #fafafa;
  width: 56px;
  height: 72px;
  box-sizing: border-box;
  flex-shrink: 0;
}

.date-item:hover {
  border-color: #722ed1;
  background: #f9f0ff;
}

.date-item.selected {
  border-color: #722ed1;
  background: #722ed1;
  color: white;
}

.day-name {
  font-size: 11px;
  font-weight: 500;
  margin-bottom: 3px;
  color: inherit;
  text-transform: uppercase;
}

.date-number {
  font-size: 16px;
  font-weight: 600;
  color: inherit;
}

.time-slot-selection {
  margin: 20px 0 16px;
}

.slot-title {
  font-size: 16px;
  font-weight: 500;
  color: #262626;
  margin-bottom: 16px;
  display: block;
}

.slot-period-headers {
  display: flex;
  gap: 8px;
  margin-bottom: 16px;
}

.period-header {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 500;
  color: #595959;
  flex: 1;
  justify-content: center;
  padding: 12px 16px;
  border: 1px solid #f0f0f0;
  border-radius: 8px;
  background: #fafafa;
  cursor: pointer;
  transition: all 0.2s ease;
}

.period-header.active {
  background: #fff;
  color: #722ed1;
  border-color: #722ed1;
}

.period-icon.morning {
  color: #722ed1;
}

.period-icon.afternoon {
  color: #595959;
}

.period-icon.evening {
  color: #595959;
}

.period-header.active .period-icon {
  color: #722ed1;
}

.time-slots-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.time-slot {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 8px;
  border: 1px solid #f0f0f0;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  background: #fff;
  font-size: 13px;
  font-weight: 500;
  color: #262626;
  text-align: center;
  min-height: 44px;
  word-break: break-word;
  line-height: 1.3;
}

.time-slot:hover:not(.unavailable) {
  border-color: #722ed1;
  background: #f9f0ff;
  color: #722ed1;
}

.time-slot.selected {
  border-color: #722ed1;
  background: #722ed1;
  color: white;
}

.time-slot.unavailable {
  background: #fafafa;
  color: #bfbfbf;
  cursor: not-allowed;
  border-color: #f0f0f0;
}

.modal-footer {
  display: flex;
  justify-content: space-between;
  /* gap: 12px; */
  /* padding: 8px 12px; */
  border-top: 1px solid #f0f0f0;
  /* margin: 16px -24px -16px; */
  /* flex-shrink: 0; */
}

.leave-button {
  padding: 8px 24px;
  height: 40px;
  border-radius: 8px;
  font-weight: 500;
  border-color: #722ed1;
  color: #722ed1;
  background: #fff;
}

.leave-button:hover {
  border-color: #9254de;
  color: #9254de;
}

.change-button {
  padding: 8px 24px;
  height: 40px;
  border-radius: 8px;
  font-weight: 500;
  background: #f5f5f5;
  border-color: #d9d9d9;
  color: #bfbfbf;
}

.change-button:not(:disabled) {
  background: #722ed1;
  border-color: #722ed1;
  color: #fff;
}

.change-button:hover:not(:disabled) {
  background: #9254de;
  border-color: #9254de;
}

.change-button:disabled {
  background: #f5f5f5;
  border-color: #d9d9d9;
  color: #bfbfbf;
}

/* Override Ant Design Radio styles */

.custom-radio .ant-radio-wrapper {
  width: 100% !important;
  height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-right: 0 !important;
}

.custom-radio.yes-radio .ant-radio-wrapper.ant-radio-wrapper-checked {
  background: #722ed1 !important;
  border-color: #722ed1 !important;
  color: white !important;
}

.custom-radio.yes-radio .ant-radio-wrapper.ant-radio-wrapper-checked span {
  color: white !important;
}

.custom-radio.no-radio .ant-radio-wrapper.ant-radio-wrapper-checked {
  background: #722ed1 !important;
  border-color: #722ed1 !important;
  color: white !important;
}

.custom-radio.no-radio .ant-radio-wrapper.ant-radio-wrapper-checked span {
  color: white !important;
}

/* Ensure radio button text is always visible */

.custom-radio .ant-radio-wrapper .ant-radio + span {
  color: #262626;
  font-size: 16px;
  font-weight: 500;
}

.custom-radio.ant-radio-wrapper-checked .ant-radio-wrapper .ant-radio + span,
  .custom-radio .ant-radio-wrapper.ant-radio-wrapper-checked .ant-radio + span {
  color: white !important;
}

/* Responsive adjustments */

@media (max-width: 768px) {
  .change-center-modal .ant-modal {
    margin: 20px;
  }

  .date-item {
    min-width: 40px;
    padding: 8px 4px;
  }

  .day-name {
    font-size: 10px;
  }

  .date-number {
    font-size: 14px;
  }

  .time-slot {
    font-size: 11px;
    padding: 8px 4px;
    min-height: 36px;
  }

  .period-header {
    font-size: 12px;
  }
}

/* purgecss end ignore */
  
/* purgecss start ignore */

/* Reschedule Modal Styles */

.reschedule-appointment-modal .ant-modal-header {
  border-bottom: 1px solid #f0f0f0;
  padding: 20px 24px 16px;
  border-radius: 7.5px 7.5px 0 0;
}

.reschedule-appointment-modal .ant-modal-title {
  font-size: 18px;
  font-weight: 600;
  color: #333;
}

.reschedule-appointment-modal .ant-modal-body {
  padding: 24px;
}

.reschedule-modal-content {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* Date Selection */

.date-selection {
  margin-bottom: 16px;
}

.dates-row {
  display: flex;
  gap: 8px;
  justify-content: space-between;
}

.date-card {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 12px 8px;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  background: #fff;
}

.date-card:hover:not(.disabled) {
  border-color: #1890ff;
  box-shadow: 0 2px 4px rgba(24, 144, 255, 0.1);
}

.date-card.selected {
  background: #1890ff;
  border-color: #1890ff;
  color: white;
}

.date-card.highlighted:not(.selected) {
  background: #6c5ce7;
  border-color: #6c5ce7;
  color: white;
}

.date-card.disabled {
  background: #f5f5f5;
  color: #bfbfbf;
  cursor: not-allowed;
}

.day-label {
  font-size: 12px;
  margin-bottom: 4px;
  opacity: 0.8;
}

.date-number {
  font-size: 18px;
  font-weight: 600;
}

/* Frame Info */

.frame-info {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #1890ff;
  color: white;
  padding: 8px 12px;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 500;
  margin: 16px 0;
}

/* Period Selection */

.period-selection {
  margin: 16px 0;
}

.period-tabs {
  display: flex;
  border: 1px solid #e8e8e8;
  border-radius: 6px;
  overflow: hidden;
}

.period-tab {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 16px;
  background: #fff;
  border-right: 1px solid #e8e8e8;
  cursor: pointer;
  transition: all 0.2s ease;
}

.period-tab:last-child {
  border-right: none;
}

.period-tab:hover {
  background: #f0f9ff;
}

.period-tab.active {
  background: #1890ff;
  color: white;
}

.period-tab span {
  font-size: 14px;
  font-weight: 500;
}

/* Time Slots */

.time-slots {
  margin: 16px 0;
}

.slots-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}

.time-slot {
  padding: 12px 16px;
  border: 1px solid #e8e8e8;
  border-radius: 6px;
  text-align: center;
  cursor: pointer;
  transition: all 0.2s ease;
  background: #fff;
  font-size: 14px;
}

.time-slot:hover {
  border-color: #1890ff;
  background: #f0f9ff;
}

.time-slot.selected {
  background: #1890ff;
  border-color: #1890ff;
  color: white;
  font-weight: 500;
}

.time-slot.disabled {
  background: #f5f5f5;
  color: #bfbfbf;
  cursor: not-allowed;
}

/* Remark Section */

.remark-section {
  margin: 16px 0;
}

.form-label {
  font-size: 14px;
  color: #333;
  margin-bottom: 8px;
  font-weight: 500;
}

.remark-textarea {
  width: 100%;
  border-radius: 6px;
}

.remark-textarea:focus {
  border-color: #1890ff;
  box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.1);
}

/* Modal Footer */

.modal-footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid #f0f0f0;
}

.leave-button {
  border-color: #d9d9d9;
  color: #666;
}

.leave-button:hover {
  border-color: #1890ff;
  color: #1890ff;
}

.reschedule-button {
  background: #1890ff;
  border-color: #1890ff;
}

.reschedule-button:hover {
  background: #40a9ff;
  border-color: #40a9ff;
}

.reschedule-button:disabled {
  background: #f5f5f5;
  border-color: #d9d9d9;
  color: #bfbfbf;
}

/* Modal overlay and content pointer events */

.reschedule-appointment-modal .ant-modal-mask {
  pointer-events: auto;
}

.reschedule-appointment-modal .ant-modal-content {
  pointer-events: auto;
  position: relative;
  z-index: 2003;
}

/* Mobile responsive */

@media (max-width: 576px) {
  .dates-row {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    gap: 8px;
    padding-bottom: 4px;
  }

  .dates-row::-webkit-scrollbar {
    display: none;
  }

  .date-card {
    flex: 0 0 56px;
    min-width: 56px;
  }

  .slots-grid {
    grid-template-columns: repeat(2, 1fr);
    max-height: 240px;
    overflow-y: auto;
  }
}

/* purgecss end ignore */

  
  
/* purgecss start ignore */

.confirmation-modal {
  position: fixed;
  background: white;
  border-radius: 8px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
  border: 1px solid #e0e0e0;
  min-width: 200px;
  max-width: 280px;
  overflow: hidden;
  animation: modalSlideIn 0.15s ease-out;
  max-height: calc(100vh - 20px);
  overflow-y: auto;
}

@keyframes modalSlideIn {
  from {
    opacity: 0;
    transform: scale(0.95) translateY(-5px);
  }

  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.confirmation-modal .modal-content {
  padding: 4px 0;
}

.confirmation-option {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 12px 16px;
  border: none;
  background: white;
  color: #333;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.15s ease;
  text-align: left;
  white-space: nowrap;
}

/* When disabled + confirmed: look disabled, NOT selected */

.confirmation-option.confirmed-disabled {
  background: white !important;   /* remove highlight */
  color: #aaa !important;         /* faded text */
  cursor: not-allowed;
  pointer-events: none;           /* no hover */
  opacity: 0.6;
}

/* Normal hover state */

.confirmation-option:not(:disabled):hover {
  background: #f7f7f7;
}

.confirmation-option:hover {
  background-color: #f0f8f0;
  color: #2d5a2d;
}

.confirmation-option:first-child:hover {
  background-color: #e8f5e8;
}

.confirmation-option:last-child:hover {
  background-color: #f0f8ff;
}

.confirmation-icon {
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  flex-shrink: 0;
}

/* Arrow pointer */

.confirmation-modal::before {
  content: '';
  position: absolute;
  left: -6px;
  top: 12px;
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-right: 6px solid white;
  filter: drop-shadow(-1px 0px 1px rgba(0, 0, 0, 0.1));
}

/* Responsive handling for mobile */

@media (max-width: 768px) {
  .confirmation-modal {
    position: fixed;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    min-width: 220px;
    max-width: 90vw;
  }

  .confirmation-modal::before {
    display: none;
  }
}

/* purgecss end ignore */

/* purgecss start ignore */

/* Confirm Appointment Modal Styles */

.confirm-appointment-modal .ant-modal-header {
  border-bottom: 1px solid #f0f0f0;
  padding: 20px 24px 16px;
  border-radius: 7.5px 7.5px 0 0;
}

.confirm-appointment-modal .ant-modal-title {
  font-size: 18px;
  font-weight: 600;
  color: #333;
}

.confirm-appointment-modal .ant-modal-body {
  padding: 24px;
}

.confirm-modal-content {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

/* Appointment Details */

.appointment-details {
  padding: 0;
}

.detail-section {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 24px;
}

.detail-section:last-child {
  margin-bottom: 0;
}

.detail-label {
  font-size: 14px;
  color: #888;
  font-weight: 400;
  line-height: 1.4;
}

.detail-value {
  font-size: 16px;
  color: #333;
  font-weight: 500;
  line-height: 1.4;
}

/* Modal Footer */

.modal-footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 8px;
  padding-top: 0;
}

/* Button Styles */

.leave-button {
  border: 2px solid #6c5ce7;
  color: #6c5ce7;
  background: transparent;
  border-radius: 25px;
  height: 48px;
  padding: 0 32px;
  font-size: 16px;
  font-weight: 500;
  min-width: 100px;
}

.leave-button:hover,
  .leave-button:focus {
  border-color: #5a4fcf;
  color: #5a4fcf;
  background: rgba(108, 92, 231, 0.05);
}

.confirm-button {
  background: #6c5ce7;
  border: 2px solid #6c5ce7;
  border-radius: 25px;
  height: 48px;
  padding: 0 32px;
  font-size: 16px;
  font-weight: 500;
  min-width: 140px;
}

.confirm-button:hover,
  .confirm-button:focus {
  background: #5a4fcf;
  border-color: #5a4fcf;
  box-shadow: 0 2px 8px rgba(108, 92, 231, 0.3);
}

.confirm-button:disabled {
  background: #f5f5f5;
  border-color: #d9d9d9;
  color: #bfbfbf;
}

/* Responsive Design */

@media (max-width: 576px) {
  .confirm-appointment-modal {
    margin: 0 !important;
  }

  .confirm-appointment-modal .ant-modal-content {
    border-radius: 12px;
  }

  .appointment-details .ant-row {
    flex-direction: column;
  }

  .appointment-details .ant-col {
    max-width: 100%;
    flex: 0 0 100%;
  }

  .modal-footer {
    justify-content: center;
  }

  .modal-footer .ant-space {
    width: 100%;
    justify-content: space-between;
  }

  .leave-button,
    .confirm-button {
    flex: 1;
    min-width: auto;
  }
}

/* Modal overlay and content pointer events */

.confirm-appointment-modal .ant-modal-mask {
  pointer-events: auto;
}

.confirm-appointment-modal .ant-modal-content {
  pointer-events: auto;
  position: relative;
  z-index: 2004;
}

.confirm-modal-footer {
  display: flex;
  flex-direction: row;
  gap: 8px;
  justify-content: flex-end;
  margin-top: 8px;
}

/* purgecss end ignore */

/* purgecss start ignore */

.confirm-treatment-modal .ant-modal-content {
  border-radius: 10px;
  padding: 0;
  background: #fff;
  overflow: visible;
}

.confirm-treatment-modal .ant-modal-header {
  border-radius: 10px 10px 0 0;
  border: none;
  /* padding: 20px 24px 0 24px; */
  background: #f2f2f3;
}

.confirm-treatment-modal .ant-modal-title {
  font-size: 18px;
  font-weight: 600;
  color: #262626;
}

.table-area-wrap {
  /* padding: 56px 24px 0 24px; */
  /* Room for avatar overlap */
  /* max-height: 300px;  */
}

.scrollable-list {
  max-height: 350px;
  overflow-y: auto;
  margin-bottom: 0;
  border-radius: 12px;
}

.treatment-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 0;
  box-shadow: none;
  margin-top: 4px;
}

.treatment-table thead tr {
  background: #fafafd;
  /* border: 1px solid black; */
}

.treatment-table th, .treatment-table td {
  padding: 12px 20px 12px 12px;
  font-size: 15px;
  border: none;
  text-align: left;
  min-width: 100px;
}

.treatment-table th {
  font-weight: 500;
  color: #8d94b1;
  border-bottom: 1px solid #eaeaea;
  background: #fafafd;
}

.treatment-table tbody tr {
  border-radius: 10px;
  border-bottom: 1px solid #f6f5fa;
  background: #fff;
  transition: background 0.2s;
}

.treatment-table tbody tr:last-child {
  border-bottom: none;
}

.treatment-table input[type="checkbox"] {
  margin: 0 12px 0 0;
  width: 18px;
  height: 18px;
  border-radius: 6px;
  accent-color: #714fff;
}

.row-done {
  color: #bfbfbf !important;
  text-decoration: line-through;
}

.row-rejected {
  background-color: #fff1f0 !important;
  opacity: 0.7;
}

.row-rejected:hover {
  background-color: #fff1f0 !important;
}

.row-rejected td {
  color: #999 !important;
}

.row-rejected input[type="checkbox"] {
  cursor: not-allowed;
  opacity: 0.5;
}

.row-disabled {
  background-color: #f5f5f5 !important;
  opacity: 0.6;
}

.row-disabled:hover {
  background-color: #f5f5f5 !important;
}

.row-disabled td {
  color: #999 !important;
}

.row-disabled input[type="checkbox"] {
  cursor: not-allowed;
  opacity: 0.5;
}

.otp-area {
  padding: 16px 24px 0 24px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.otp-label {
  font-size: 15px;
  font-weight: 500;
  margin-bottom: 2px;
  color: #4e4d66;
}

.otp-input {
  width: 100%;
  min-width: 0;
  height: 48px;
  outline: none;
  border: 1.5px solid #d9d9d9;
  font-size: 18px;
  border-radius: 8px;
  background: #fafafd;
  color: #222;
  padding: 0 16px;
  transition: border-color 0.2s;
  margin-bottom: 0;
}

.otp-error {
  border-color: #ff4d4f !important;
  background: #fff0f0 !important;
}

.otp-hint {
  color: #ff4d4f;
  font-size: 13px;
  margin-top: 3px;
}

/* .modal-footer { */

/* display: flex; */

/* justify-content: flex-end; */

/* gap: 14px; */

/* padding: 0 16px 16px 16px; */

/* margin-top: 32px; */

/* background: none; */

/* } */

.primary-btn, .leave-btn {
  border: none;
  outline: none;
  border-radius: 8px;
  height: 44px;
  padding: 0 28px;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  margin-left: 0;
  margin-right: 0;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}

.primary-btn {
  background: #714fff;
  color: #fff;
  border: 1.5px solid #714fff;
}

.primary-btn:disabled,
  .primary-btn[disabled] {
  background: #f2f1fa !important;
  color: #c2bfe2 !important;
  border-color: #f2f1fa !important;
  cursor: not-allowed;
}

.primary-btn:not([disabled]):hover {
  background: #714fff;
  border-color: #714fff;
}

.leave-btn {
  background: transparent;
  color: #714fff;
  border: 1.5px solid #714fff;
}

.leave-btn:hover {
  background: #f2f1fa;
  color: #714fff;
  border-color: #714fff;
}

@media (max-width: 600px) {
  .confirm-treatment-modal .ant-modal-content,
    .treatment-table th,
    .treatment-table td,
    .otp-input {
    font-size: 14px;
  }

  .modal-footer {
    flex-direction: column;
    gap: 10px;
    padding: 0 16px 16px 16px;
  }

  .primary-btn, .leave-btn {
    width: 100%;
    padding: 0;
  }
}

/* purgecss end ignore */
  
/* purgecss start ignore */

.export-modal {
  position: fixed;
  background: white;
  border-radius: 8px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
  border: 1px solid #e0e0e0;
  min-width: 160px;
  max-width: 220px;
  overflow: hidden;
  animation: modalSlideIn 0.15s ease-out;
  max-height: calc(100vh - 20px);
  overflow-y: auto;
}

@keyframes modalSlideIn {
  from {
    opacity: 0;
    transform: scale(0.95) translateY(-5px);
  }

  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.export-modal .modal-content {
  padding: 4px 0;
}

.export-option {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 12px 16px;
  border: none;
  background: white;
  color: #333;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.15s ease;
  text-align: left;
  white-space: nowrap;
}

.export-option:hover {
  background-color: #f8f9fa;
  color: #2c3e50;
}

.export-option:first-child:hover {
  background-color: #e8f4fd;
  color: #1e7ed8;
}

.export-option:last-child:hover {
  background-color: #fff3e0;
  color: #f57c00;
}

.export-icon {
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  flex-shrink: 0;
}

/* Arrow pointer */

.export-modal::before {
  content: '';
  position: absolute;
  left: -6px;
  top: 12px;
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-right: 6px solid white;
  filter: drop-shadow(-1px 0px 1px rgba(0, 0, 0, 0.1));
}

/* Responsive handling for mobile */

@media (max-width: 768px) {
  .export-modal {
    position: fixed;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    min-width: 180px;
    max-width: 90vw;
  }

  .export-modal::before {
    display: none;
  }
}

/* purgecss end ignore */

/* purgecss start ignore */

.upload-prescription-modal .ant-modal-content {
  border-radius: 12px;
  overflow: hidden;
}

.upload-prescription-modal .ant-modal-header {
  padding: 20px 24px 16px;
  background: #f2f2f3;
  border-bottom: 1px solid #f0f0f0;
}

.upload-prescription-modal .ant-modal-title {
  font-size: 18px;
  font-weight: 600;
  color: #1a1a1a;
}

.upload-prescription-modal .ant-modal-body {
  padding: 0;
}

.modal-content {
  padding: 24px;
}

.upload-section h3 {
  font-size: 16px;
  font-weight: 500;
  color: #1a1a1a;
  margin: 0 0 16px 0;
}

.prescription-upload {
  margin-bottom: 32px;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.prescription-upload .ant-upload-select {
  width: 140px !important;
  height: 140px !important;
  border: 2px dashed #d1d5db;
  border-radius: 8px;
  background-color: #f9fafb;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  margin: 0 !important;
}

.prescription-upload .ant-upload-select:hover {
  border-color: #6366f1;
  background-color: #f0f0ff;
}

.upload-area {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.upload-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #e5e7eb;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
}

.upload-icon .anticon {
  font-size: 18px;
  color: #6b7280;
}

.upload-text {
  font-size: 14px;
  color: #6b7280;
  font-weight: 500;
}

.prescription-upload .ant-upload-list-picture-card-container {
  width: 140px;
  height: 140px;
}

.prescription-upload .ant-upload-list-picture-card .ant-upload-list-item {
  width: 140px !important;
  height: 140px !important;
  border-radius: 8px;
  position: relative;
}

.prescription-upload .ant-upload-list-item-thumbnail img {
  border-radius: 6px;
}

/* Custom remove button */

.prescription-upload .ant-upload-list-item {
  position: relative;
}

.prescription-upload .ant-upload-list-item .remove-button {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 24px;
  height: 24px;
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  border: none;
  padding: 0;
}

.prescription-upload .ant-upload-list-item .remove-button:hover {
  background-color: #fff;
}

.prescription-upload .ant-upload-list-item .remove-button .anticon {
  color: #ef4444;
  font-size: 14px;
}

/* Custom status indicators */

.prescription-upload .ant-upload-list-item-done {
  position: relative;
}

.prescription-upload .ant-upload-list-item-done::before {
  content: '';
  position: absolute;
  top: 8px;
  left: 8px;
  width: 24px;
  height: 24px;
  background-color: #10b981;
  border-radius: 50%;
  z-index: 10;
}

.prescription-upload .ant-upload-list-item-done::after {
  content: '✓';
  position: absolute;
  top: 8px;
  left: 8px;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 12px;
  font-weight: bold;
  z-index: 11;
}

/* Upload progress indicator */

.prescription-upload .ant-upload-list-item-uploading {
  position: relative;
}

.prescription-upload .ant-upload-list-item-uploading::before {
  content: '';
  position: absolute;
  top: 8px;
  left: 8px;
  width: 24px;
  height: 24px;
  background-color: #3b82f6;
  border-radius: 50%;
  z-index: 10;
}

.prescription-upload .ant-upload-list-item-uploading::after {
  content: '↻';
  position: absolute;
  top: 8px;
  left: 8px;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 12px;
  font-weight: bold;
  z-index: 11;
  animation: rotate 1s linear infinite;
}

@keyframes rotate {
  from { transform: rotate(0deg);
  }

  to { transform: rotate(360deg);
  }
}

/* Custom status labels */

.prescription-upload .ant-upload-list-item-done .ant-upload-list-item-info::after {
  content: 'Uploaded';
  position: absolute;
  bottom: 8px;
  left: 8px;
  background-color: #10b981;
  color: white;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 500;
  z-index: 10;
}

.prescription-upload .ant-upload-list-item-uploading .ant-upload-list-item-info::after {
  content: 'Upload 12%';
  position: absolute;
  bottom: 8px;
  left: 8px;
  background-color: #3b82f6;
  color: white;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 500;
  z-index: 10;
}

/* File name styling */

.prescription-upload .ant-upload-list-item-name {
  text-align: center;
  margin-top: 8px;
  font-size: 12px;
  color: #666;
  font-weight: 500;
}

/* Progress bar */

.prescription-upload .ant-upload-list-item-progress {
  display: none !important;
}

.procedures-section {
  margin-bottom: 32px;
}

.procedures-question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 16px;
  color: #1a1a1a;
  font-weight: 500;
}

.switch-container {
  display: flex;
  align-items: center;
  gap: 12px;
}

.switch-label {
  font-size: 14px;
  color: #6b7280;
  font-weight: 500;
  transition: color 0.3s ease;
}

.switch-label.active {
  color: #1a1a1a;
}

.procedures-switch {
  background-color: #e5e7eb !important;
}

.procedures-switch.ant-switch-checked {
  background-color: #6366f1 !important;
}

.modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding-top: 8px;
}

.leave-button {
  padding: 8px 24px;
  height: 40px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  font-weight: 500;
  color: #6b7280;
}

.leave-button:hover {
  border-color: #9ca3af;
  color: #4b5563;
}

.proceed-button {
  padding: 8px 24px;
  height: 40px;
  border-radius: 8px;
  font-weight: 500;
  background-color: #6366f1;
  border-color: #6366f1;
}

.proceed-button:hover {
  background-color: #5855eb;
  border-color: #5855eb;
}

.proceed-button:disabled {
  background-color: #9ca3af;
  border-color: #9ca3af;
}

/* Responsive design */

@media (max-width: 768px) {
  .upload-prescription-modal {
    margin: 0;
    max-width: 100vw;
  }

  .modal-content {
    padding: 16px;
  }

  .prescription-upload .ant-upload-select {
    width: 120px !important;
    height: 120px !important;
  }

  .prescription-upload .ant-upload-list-picture-card-container {
    width: 120px;
    height: 120px;
  }

  .procedures-question {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }

  .modal-actions {
    flex-direction: column-reverse;
  }

  .leave-button,
    .proceed-button {
    width: 100%;
  }
}

/* purgecss end ignore */
  
/* purgecss start ignore */

/* Force Modal to be Fixed and Non-Scrollable */

.update-procedure-modal.ant-modal {
  position: fixed !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  margin: 0 !important;
  padding: 0 !important;
  max-width: 95vw;
  max-height: 90vh;
}

.update-procedure-modal .ant-modal-wrap {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
}

.update-procedure-modal .ant-modal-mask {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: rgba(0, 0, 0, 0.45) !important;
  z-index: 1000 !important;
}

.update-procedure-modal .ant-modal {
  position: relative !important;
  top: 0 !important;
  transform: none !important;
  margin: 0 !important;
  width: 1400px;
  max-width: 95vw;
  max-height: 90vh;
}

/* Prevent Body Scroll when Modal is Open */

body.modal-open {
  overflow: hidden !important;
  position: fixed !important;
  width: 100% !important;
  height: 100% !important;
}

/* Modal Content Structure */

.update-procedure-modal .ant-modal-content {
  padding: 0;
  border-radius: 12px;
  overflow: hidden;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  position: relative;
}

.update-procedure-modal .ant-modal-header {
  padding: 20px 24px;
  border-bottom: 1px solid #f0f0f0;
  background: #fafafa;
  flex-shrink: 0;
  position: relative;
  z-index: 10;
}

.update-procedure-modal .ant-modal-title {
  font-size: 18px;
  font-weight: 600;
  color: #262626;
}

.update-procedure-modal .ant-modal-close {
  top: 20px;
  right: 24px;
  z-index: 11;
}

.update-procedure-modal .ant-modal-body {
  padding: 0;
  flex: 1;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.modal-content-container {
  display: flex;
  height: 600px;
  flex: 1;
  min-height: 0;
}

/* Left Panel - Form Section */

.form-section {
  flex: 1;
  padding: 24px;
  background: #fafafa;
  border-right: 1px solid #e8e8e8;
  overflow-y: auto;
  max-height: 600px;
  min-width: 400px;
}

.form-fields {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* Procedures List Styles */

.procedures-list {
  margin-bottom: 24px;
  max-height: 250px;
  overflow-y: auto;
}

.procedures-title {
  font-size: 16px;
  font-weight: 600;
  color: #262626;
  margin-bottom: 12px;
}

.procedure-card {
  margin-bottom: 12px;
  border-radius: 8px;
  border: 1px solid #e8e8e8;
  background: #fff;
}

.procedure-card .ant-card-body {
  padding: 16px;
}

.procedure-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

.procedure-name {
  font-size: 16px;
  font-weight: 600;
  color: #262626;
  margin: 0;
}

.edit-btn {
  color: #1890ff;
}

.edit-btn:hover {
  color: #40a9ff;
  background: rgba(24, 144, 255, 0.1);
}

.delete-btn {
  color: #ff4d4f;
}

.delete-btn:hover {
  color: #ff7875;
  background: rgba(255, 77, 79, 0.1);
}

.procedure-details {
  background: #fafafa;
  padding: 12px;
  border-radius: 6px;
}

.detail-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.detail-label {
  font-size: 12px;
  color: #8c8c8c;
  font-weight: 500;
}

.detail-value {
  font-size: 14px;
  color: #262626;
  font-weight: 600;
}

.add-procedure-form {
  border-top: 1px solid #e8e8e8;
  padding-top: 20px;
  margin-top: 20px;
}

.form-title {
  font-size: 16px;
  font-weight: 600;
  color: #262626;
  margin-bottom: 16px;
}

.field-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 16px;
}

.field-label {
  font-size: 14px;
  font-weight: 500;
  color: #262626;
  margin-bottom: 4px;
}

.form-select,
.form-input {
  width: 100%;
}

.form-select .ant-select-selector,
.form-input {
  border-radius: 8px;
  border: 1px solid #d9d9d9;
  height: 40px;
}

.form-select .ant-select-selector:hover,
.form-input:hover {
  border-color: #40a9ff;
}

.form-select.ant-select-focused .ant-select-selector,
.form-input:focus {
  border-color: #40a9ff;
  box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
}

.form-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 20px;
  flex-wrap: wrap;
  gap: 12px;
}

.proceed-checkbox {
  font-size: 14px;
  color: #595959;
  flex: 1;
  min-width: 200px;
}

.add-button {
  background: #52c41a;
  border-color: #52c41a;
  border-radius: 8px;
  height: 40px;
  padding: 0 24px;
  font-weight: 500;
  flex-shrink: 0;
}

.add-button:hover {
  background: #73d13d;
  border-color: #73d13d;
}

.total-cost-display {
  background: linear-gradient(135deg, #f0f0ff 0%, #e6f7ff 100%);
  border: 1px solid #d6e4ff;
  border-radius: 12px;
  padding: 20px;
  margin: 20px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.total-label {
  font-size: 16px;
  font-weight: 600;
  color: #262626;
}

.total-amount {
  font-size: 20px;
  font-weight: 700;
  color: #722ed1;
}

.confirm-checkbox {
  margin-top: 20px;
}

.confirm-total-checkbox {
  font-size: 14px;
  color: #595959;
}

/* Right Panel - Document Viewer */

.document-viewer {
  flex: 1;
  display: flex;
  flex-direction: column;
  background: #fff;
  max-height: 600px;
  min-width: 500px;
}

.viewer-header {
  padding: 16px 20px;
  border-bottom: 1px solid #e8e8e8;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #fafafa;
  flex-shrink: 0;
}

.document-title {
  font-size: 16px;
  font-weight: 600;
  color: #262626;
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.viewer-controls {
  display: flex;
  align-items: center;
  gap: 16px;
}

.page-navigation {
  display: flex;
  align-items: center;
  gap: 8px;
}

.page-info {
  font-size: 14px;
  color: #595959;
  min-width: 40px;
  text-align: center;
}

.zoom-controls {
  display: flex;
  align-items: center;
  gap: 4px;
}

.zoom-level {
  font-size: 14px;
  color: #595959;
  min-width: 50px;
  text-align: center;
}

.company-name {
  font-size: 14px;
  font-weight: 500;
  color: #262626;
}

.document-content {
  flex: 1;
  overflow: hidden;
  position: relative;
  background: #f9f9f9;
  min-height: 0;
}

/* File Viewer Styles */

.file-viewer {
  width: 100%;
  height: 100%;
  overflow: auto;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 20px;
  box-sizing: border-box;
}

.image-container {
  display: inline-block;
  max-width: 100%;
  max-height: 100%;
}

.file-image {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  background: white;
}

/* Enhanced PDF Viewer */

.pdf-viewer-container {
  background: #f9f9f9;
  padding: 20px;
  box-sizing: border-box;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

.pdf-container {
  display: inline-block;
  max-width: 100%;
  max-height: 100%;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  background: white;
}

.file-pdf-clean {
  width: 600px;
  height: 800px;
  border: none;
  display: block;
  background: white;
}

.file-unsupported,
.no-files {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px;
  text-align: center;
  background: #f9f9f9;
  border-radius: 12px;
  min-height: 400px;
  margin: auto;
}

.no-files-icon,
.file-icon {
  font-size: 64px;
  margin-bottom: 20px;
  opacity: 0.5;
  color: #8c8c8c;
}

.no-files-message,
.file-name {
  font-size: 18px;
  color: #8c8c8c;
  font-weight: 500;
}

.file-type {
  font-size: 14px;
  color: #595959;
  margin: 8px 0;
}

.download-link {
  display: inline-block;
  padding: 8px 16px;
  background: #722ed1;
  color: #fff;
  text-decoration: none;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  transition: background-color 0.2s;
}

.download-link:hover {
  background: #9254de;
  color: #fff;
}

/* Footer Buttons */

.modal-footer {
  padding: 20px 24px;
  border-top: 1px solid #f0f0f0;
  background: #fafafa;
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  flex-shrink: 0;
}

.leave-button {
  border-radius: 8px;
  height: 40px;
  padding: 0 24px;
  font-weight: 500;
  border-color: #d9d9d9;
  color: #595959;
}

.leave-button:hover {
  border-color: #40a9ff;
  color: #40a9ff;
}

.approval-button {
  background: #722ed1;
  border-color: #722ed1;
  border-radius: 8px;
  height: 40px;
  padding: 0 24px;
  font-weight: 500;
}

.approval-button:hover:not(:disabled) {
  background: #9254de;
  border-color: #9254de;
}

.approval-button:disabled {
  background: #f5f5f5;
  border-color: #d9d9d9;
  color: #bfbfbf;
}

/* Custom Scrollbar */

.file-viewer::-webkit-scrollbar,
.form-section::-webkit-scrollbar,
.procedures-list::-webkit-scrollbar {
  width: 6px;
}

.file-viewer::-webkit-scrollbar-track,
.form-section::-webkit-scrollbar-track,
.procedures-list::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 3px;
}

.file-viewer::-webkit-scrollbar-thumb,
.form-section::-webkit-scrollbar-thumb,
.procedures-list::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 3px;
}

.file-viewer::-webkit-scrollbar-thumb:hover,
.form-section::-webkit-scrollbar-thumb:hover,
.procedures-list::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

/* Responsive Design */

@media (max-width: 1400px) {
  .update-procedure-modal .ant-modal {
    width: 95vw;
  }

  .modal-content-container {
    height: 550px;
  }

  .form-section,
  .document-viewer {
    max-height: 550px;
  }
}

@media (max-width: 1200px) {
  .modal-content-container {
    flex-direction: column;
    height: auto;
  }

  .form-section {
    border-right: none;
    border-bottom: 1px solid #e8e8e8;
    flex: none;
    max-height: 350px;
    min-width: auto;
  }

  .document-viewer {
    height: 400px;
    max-height: 400px;
    flex: none;
    min-width: auto;
  }
}

/* purgecss end ignore */

/* purgecss start ignore */

.procedure-rejected-row {
  background-color: #fff1f0 !important;
  opacity: 0.7;
}

.procedure-rejected-row:hover {
  background-color: #fff1f0 !important;
}

.procedure-rejected-row td {
  color: #999 !important;
}

.request-details-modal .ant-modal-body {
  max-height: 70vh;
  overflow-y: auto;
}

/* purgecss end ignore */

/* purgecss start ignore */

.physio-dashboard {
  height: 100vh;
  overflow-y: auto;
  width: 100%;
  display: grid;
  grid-template-columns: 260px 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-template-rows: 80px 70px repeat(12, 1fr);
  background: #fafafa;
  grid-template-areas: 
        "sidebar header header header header header header"
        "sidebar filters filters filters filters filters filters"
        "sidebar table  table  table  table  table  table"
        "sidebar table  table  table  table  table  table"
        "sidebar table  table  table  table  table  table"
        "sidebar table  table  table  table  table  table"
        "sidebar table  table  table  table  table  table"
        "sidebar table  table  table  table  table  table"
        "sidebar table  table  table  table  table  table"
        "sidebar table  table  table  table  table  table"
        "sidebar table  table  table  table  table  table"
        "sidebar table  table  table  table  table  table"
        "sidebar table  table  table  table  table  table"
        "sidebar table  table  table  table  table  table";
}

.physio-sidebar {
  grid-area: sidebar;
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  overflow-y: auto;
  z-index: 100;
}

.physio-header {
  grid-area: header;
}

.physio-filters {
  grid-area: filters;
}

.physio-table {
  grid-area: table;
  overflow: auto;
}

/* Backdrop — always styled; JS controls when it renders (mobile only) */

.physio-sidebar-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;    /* fallback */
  height: 100dvh;  /* adapts when mobile browser chrome hides on scroll */
  background: rgba(0, 0, 0, 0.45);
  z-index: 99;
  touch-action: none;  /* prevents touch scroll passing through backdrop */
}

@media (max-width: 900px) {
  .physio-dashboard {
    height: auto;
    min-height: 100vh;
    /* !important overrides the JS inline gridTemplateColumns on mobile */
    grid-template-columns: 1fr !important;
    grid-template-rows: 48px auto auto;
    grid-template-areas:
      "header"
      "filters"
      "table";
  }

  /* Global font reduction for all physio dashboard text on mobile */

  .physio-dashboard,
  .physio-dashboard * {
    font-size: 12px;
  }

  /* Exceptions — keep specific overrides intact */

  .physio-dashboard .hamburger-icon {
    font-size: 20px !important;
  }

  .physio-dashboard .physio-download-button {
    font-size: 12px !important;
  }

  .physio-dashboard .page-button {
    font-size: 11px !important;
  }
}

/* purgecss end ignore */

/* purgecss start ignore */

.physio-sidebar {
  grid-area: sidebar;
  background: #fff;
  padding: 20px 10px;
  display: flex;
  flex-direction: column;
  width: 260px;
  justify-content: space-between;
  box-shadow: rgba(60, 64, 67, 0.1) 0px 1px 3px 0px,
  rgba(60, 64, 67, 0.05) 0px 2px 6px 2px;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  overflow-y: auto;
  z-index: 101;
}

.sidebar-address {
  color: #666;
  font-size: 13px;
}

.center-dropdown {
  margin-top: 15px;
}

.sidebar-section {
  margin-top: 25px;
  display: flex;
  flex-direction: column;
  gap: 12px; /* adjust spacing as needed */
  color: #888888;
  font-weight: 400;
  margin-bottom: 0;
  margin-top: 0;
  line-height: 15px;
  font-size: 12.5px;
  font-weight: 600;
}

.section-label {
  font-size: 11px;
  color: #8b8b8b;
  margin-bottom: 8px;
  letter-spacing: 0.6px;
  text-transform: uppercase;
}

.menu-btn {
  width: 100%;
  text-align: left;
  margin-bottom: 10px;
}

.spoc-text {
  font-size: 13px;
  color: #555;
  line-height: 18px;
}

.logout-btn {
  border: 1px solid #6c4eff !important;
  background: transparent !important;
  /* color: #6c4eff !important; */
}

.sidebar-footer {
  margin-top: auto;
  text-align: center;
}

.footer-text {
  font-size: 11px;
  color: #999;
  margin-bottom: 4px;
}

.footer-logo {
  width: 60%;
}

.side-visit-logo {
  width: 50%;
}

.tertiary-text {
  font-size: 10px !important;
  margin-bottom: 2.5px;
}

.grey-text {
  color: #888888;
  font-weight: 400;
  margin-bottom: 0;
  margin-top: 0;
  line-height: 15px;
  font-size: 12.5px;
}

.sidebar-header {
  display: block;
  width: 100%;
}

.sidebar-logo {
  width: 100%;
  max-width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.sidebar-title {
  font-size: 18px;
  font-weight: 600;
  margin: 0;
  margin-top: 12px;
  line-height: 20px;
}

/* Close button — hidden on desktop, visible on mobile */

.sidebar-close-btn {
  display: none;
}

@media (max-width: 900px) {
  .physio-sidebar {
    width: 78vw;
    max-width: 290px;
    box-shadow: 4px 0 24px rgba(0, 0, 0, 0.22);
    height: 100vh;              /* fallback */
    height: 100dvh;             /* adapts when mobile browser chrome hides */
    overflow-y: auto;
    overscroll-behavior: contain; /* prevents scroll chaining to page behind */
    -webkit-overflow-scrolling: touch;
  }

  .sidebar-close-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 12px;
    right: 12px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: none;
    background: #f3f0ff;
    color: #714fff;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    z-index: 10;
  }

  .sidebar-close-btn:hover {
    background: #e8e0ff;
  }
}

/* purgecss end ignore */
/* purgecss start ignore */

.disclaimer-tooltip {
  max-width: 500px !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  padding: 8px 12px !important;
  background: #5030E5 !important;
  color: #fff !important;
  border-radius: 6px !important;
  word-wrap: break-word !important;
  white-space: normal !important;
}

.docs-menu {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.docs-menu-trigger {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px 8px;
  font-size: 18px;
  font-weight: 700;
  color: #714FFF;
  border-radius: 6px;
  line-height: 1;
}

.docs-menu-trigger:hover {
  background: #f3f0ff;
}

.docs-menu-dropdown {
  background: #fff;
  border: 1px solid #e3e3e3;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.12);
  z-index: 9999;
  min-width: 180px;
  padding: 4px 0;
}

.prescription-modal {
  min-width: 70%;
}

.prescription-modal .modal-content {
  overflow: hidden;
  padding: 0 !important;
}

.prescription-modal .modal-body {
  padding: 0 16px 16px 16px !important;
}

.prescription-modal .modal-header {
  border-bottom: none !important;
}

@media (max-width: 900px) {
  .prescription-modal .modal-content {
    max-height: 90vh;
    display: flex;
    flex-direction: column;
  }

  .prescription-modal .modal-body {
    padding: 0 !important;
    overflow: hidden;
    flex: 1;
    display: flex;
    flex-direction: column;
  }

  .prescription-modal .modal-header {
    flex-shrink: 0;
  }

  .prescription-modal .carousel,
    .prescription-modal .carousel-inner,
    .prescription-modal .carousel-item {
    height: 100%;
  }

  .prescription-modal img {
    max-height: calc(90vh - 120px);
    width: 100%;
    height: auto;
    -o-object-fit: contain;
       object-fit: contain;
    display: block;
  }
}

.docs-menu-item {
  display: block;
  width: 100%;
  padding: 8px 12px;
  text-align: left;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 13px;
  color: #714FFF;
  font-family: Inter, sans-serif;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 220px;
}

.docs-menu-item:hover {
  background: #f3f0ff;
}

.docs-menu-empty {
  padding: 10px 16px;
  font-size: 13px;
  color: #888;
  font-family: Inter, sans-serif;
}

.physio-table-container {
  grid-area: table;
  padding: 10px;
  position: relative;
  width: 100%;
  overflow-y: auto;
}

.physio-table {
  border-top: none;
  /* background: #fff; */
  border-radius: 16px;
  width: 100%;
  max-height: 100%;
  max-width: 100%;
  overflow-x: scroll;
  overflow-y: scroll;
  height: -moz-fit-content;
  height: fit-content;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px;
  display: flex;
  /* padding: 12px 24px 16px 24px; */
  justify-content: flex-end;
  align-items: center;
  gap: 16px;
  align-self: stretch;
  border-top: 1px solid #E9EAEB;
  background: #FFF;
  margin-bottom: 0 !important;
}

.physio-table-header {
  background: #fff;
  border-bottom: 1px solid #D8D7DB;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  border-bottom: none;
  border-radius: 16px 16px 0 0;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px;
  padding: 10px;
  overflow-x: auto;
  overflow-y: hidden;
  flex-wrap: nowrap;
}

/* Scrollbar styling for header */

.physio-table-header::-webkit-scrollbar {
  height: 6px;
}

.physio-table-header::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 3px;
}

.physio-table-header::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 3px;
}

.physio-table-header::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

.tab-option {
  font-size: 12.5px;
  font-weight: 600;
  border-bottom: 1.5px solid transparent;
  cursor: pointer;
  white-space: nowrap;
}

/* Status Filter Buttons */

.status-filter-container {
  display: flex;
  gap: 0px;
  margin-left: 0px;
  align-items: center;
  flex-shrink: 0;
}

.status-filter-button {
  padding: 6px 10px;
  border: none;
  border-bottom: 3px solid transparent;
  background: transparent;
  color: #666666;
  font-size: 13px;
  font-weight: 400;
  font-family: 'Inter', sans-serif;
  cursor: pointer;
  border-radius: 0;
  transition: all 0.3s ease;
  position: relative;
  margin-right: 2px;
  outline: none !important;
  box-shadow: none !important;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  flex-shrink: 0;
}

.status-filter-button .count-badge {
  display: inline;
}

.status-filter-button:focus {
  outline: none !important;
  box-shadow: none !important;
  border: none;
  border-bottom: 3px solid transparent;
}

.status-filter-button:active {
  outline: none !important;
  box-shadow: none !important;
  border: none;
}

.status-filter-button.active {
  border: none;
  border-bottom: 3px solid #6941C6 !important;
  color: #6941C6;
  font-weight: 600;
  outline: none !important;
  box-shadow: none !important;
}

.status-filter-button.active:focus {
  outline: none !important;
  box-shadow: none !important;
  border: none;
  border-bottom: 3px solid #6941C6 !important;
}

.status-filter-button:last-child {
  margin-right: 0;
}

.physio-download-button {
  display: flex;
  height: 36px;
  padding: 8px 14px;
  justify-content: center;
  align-items: center;
  gap: 4px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.30);
  background: #714FFF;
  /* box-shadow: 0 0 0 1px #6330F8, 0 1px 0 0 rgba(245, 242, 255, 0.60) inset; */
  color: #FFF;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
  font-family: Inter;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 140%;
  white-space: nowrap;
  flex-shrink: 0;
}

/* Responsive behavior for mobile screens */

@media (max-width: 900px) {
  .physio-table-container {
    height: auto;
    padding: 4px;
  }

  /* Stack header vertically: tabs row on top, search+download below */

  .physio-table-header {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 8px;
    padding: 8px !important;
    overflow-x: hidden !important;
  }

  /* Tabs row: scrollable horizontally, fixed height */

  .physio-table-header > div:first-child {
    overflow-x: auto;
    overflow-y: hidden;
    width: 100%;
    flex-shrink: 0;
    scrollbar-width: none; /* Firefox */
  }

  .physio-table-header > div:first-child::-webkit-scrollbar {
    display: none; /* Chrome/Safari */
  }

  /* Status filter buttons — keep in single row (no wrap), smaller */

  .status-filter-container {
    flex-wrap: nowrap;
    gap: 0;
    flex-shrink: 0;
  }

  .status-filter-button {
    font-size: 11px !important;
    padding: 4px 8px !important;
    white-space: nowrap;
  }

  /* Right side (search + download) — full width, stacked */

  .physio-table-header > div:last-child {
    width: 100%;
    flex-wrap: wrap;
    gap: 6px;
    margin-left: 0 !important;
    flex-shrink: 0;
  }

  /* Search input full width on mobile */

  .physio-table-header .form-control {
    min-width: 0 !important;
    width: 100% !important;
    margin-right: 0 !important;
    font-size: 12px !important;
    height: 32px !important;
    padding: 4px 8px !important;
  }

  /* Download button full width on mobile */

  .physio-download-button {
    width: 100%;
    justify-content: center;
    height: 32px !important;
    font-size: 12px !important;
    padding: 6px 10px !important;
  }

  /* Shrink table header row */

  .table .thead-light th {
    padding: 0 6px !important;
    font-size: 11px !important;
    height: 30px !important;
  }

  /* Force compact row height on mobile — overrides inline styles */

  .physio-table tr td,
  .physio-table tr th {
    height: 38px !important;
    max-height: 38px !important;
    font-size: 12px !important;
    padding-top: 2px !important;
    padding-bottom: 2px !important;
  }

  /* Status badge smaller on mobile */

  .status-badge {
    font-size: 11px !important;
    padding: 3px 8px !important;
    gap: 4px !important;
  }

  .status-badge-dot {
    width: 7px !important;
    height: 7px !important;
  }

  /* Pagination smaller */

  .page-button {
    width: 24px !important;
    height: 24px !important;
    font-size: 11px !important;
  }

  /* Pagination container — center on mobile */

  .table-footer {
    justify-content: center !important;
    padding: 4px 0 !important;
  }

  /* Reduce gaps between page buttons on mobile */

  .table-footer .mx-2 {
    margin-left: 2px !important;
    margin-right: 2px !important;
  }

  .table-footer .mr-2 {
    margin-right: 4px !important;
  }

  .table-footer .ml-2 {
    margin-left: 4px !important;
  }

  /* User details modal: single-column grid on mobile */

  .user-details-grid {
    grid-template-columns: 1fr !important;
    padding: 16px !important;
    gap: 12px 0 !important;
  }

  .user-details-modal-content > div:first-child {
    padding: 14px 16px !important;
  }

  /* RID badge smaller */

  .physio-table tbody td:first-child > div {
    font-size: 12px !important;
    min-width: 52px !important;
    padding: 2px 4px !important;
    border-radius: 6px !important;
  }
}

.page-button {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #aaa;
  border-radius: 5px;
  width: 30px;
  font-size: 12.5px;
  font-weight: 600;
  height: 30px;
  outline: none !important;
}

.current-page {
  background: #714fff;
  color: #fff;
  border-color: #714fff;
}

.table-mask {
  position: absolute;
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffffbb;
  z-index: 1;
}

.search-input {
  border-radius: 2.5px;
  outline: none;
  border: 1px solid #aaa;
  width: 100%;
  padding: 7.5px 2px;
  position: absolute;
  bottom: 0;
  font-size: 12.5px;
  height: 30px;
  transform: translateY(110%);
}

.action-button {
  width: -moz-fit-content;
  width: fit-content;
  height: 30px;
  border-radius: 5px;
  padding: 0 5px;
  justify-content: center !important;
  font-weight: 600;
  font-size: 10px;
  border-width: 1.5px !important;
}

.action-button > img {
  height: 15px;
}

.blue-button {
  border-color: #3E8BFF !important;
}

td {
  font-weight: 500;
  color: #440;
}

/* Scroll wrapper */

.table-scroll-container {
  overflow-x: auto;
  overflow-y: visible;
  width: 100%;
  position: relative;
  border-radius: 0 0 16px 16px;
}

/* Sticky right column for Actions */

.sticky {
  position: sticky;
  right: 0;
  background: #fff;
  z-index: 5;
  box-shadow: -3px 0 5px rgba(0, 0, 0, 0.08);
}

/* Desktop: fixed wide column for all action icons */

td.sticky, th.sticky {
  min-width: 260px;
  text-align: center;
}

@media (max-width: 900px) {
  td.sticky, th.sticky {
    min-width: 60px !important;
    width: 60px !important;
  }
}

/* Mobile Actions Bottom Sheet */

.actions-sheet-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 1040;
}

.actions-sheet {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  border-radius: 16px 16px 0 0;
  padding: 8px 16px 20px;
  z-index: 1041;
  box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.12);
}

.actions-sheet-handle {
  width: 36px;
  height: 3px;
  background: #e0e0e0;
  border-radius: 2px;
  margin: 0 auto 10px;
}

.actions-sheet-title {
  font-size: 13px;
  font-weight: 600;
  color: #100e15;
  margin-bottom: 10px;
}

.actions-sheet-row {
  display: flex;
  justify-content: space-between;
  gap: 0;
}

.actions-sheet-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px 2px;
  border-radius: 8px;
  transition: background 0.15s;
  flex: 1;
}

.actions-sheet-btn img {
  width: 28px;
  height: 28px;
  -o-object-fit: contain;
     object-fit: contain;
}

.actions-sheet-btn span {
  font-size: 9px;
  font-weight: 500;
  color: #100e15;
  white-space: normal;
  text-align: center;
  word-break: break-word;
  overflow-wrap: break-word;
  max-width: 56px;
  line-height: 1.3;
}

.actions-sheet-btn.disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.actions-sheet-btn:not(.disabled):active {
  background: #f2efff;
}

/* Optional for better layout */

/* .physio-table-container {
  position: relative;
  width: 100%;
} */

.table-mask {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  z-index: 10;
}

.table thead tr{
  /* display: flex; */
  height: 44px;
  align-items: center;
  justify-self: unset;
}

.table .thead-light th{
  /* height: 44px; */
  padding: 0 24px;
  align-items: center;
  gap: 24px;
  align-self: stretch;
  white-space: nowrap;
  text-align: center;
  border-bottom: 1px solid #D8D7DB;
  background: #FAFAFA;
}

/* RID Column Styles */

.rid-cell {
  text-decoration: underline;
  color: #222;
  cursor: pointer;
}

/* Center Details Column Styles */

.center-details-container {
  max-width: 150px;
  position: relative;
}

.center-details-text {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.center-details-tooltip {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  background-color: white;
  padding: 8px;
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  white-space: normal;
  word-break: break-word;
  max-width: 300px;
  border: 1px solid #e0e0e0;
}

/* Status Badge Styles */

.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  border-radius: 20px;
  font-weight: 500;
  font-size: 15px;
  width: -moz-fit-content;
  width: fit-content;
}

.status-badge-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}

/* Status Badge Color Variants */

.status-badge-green {
  background-color: #E6F9F0;
  color: #158148;
  border: 1px solid rgba(21, 129, 72, 0.125);
}

.status-badge-green .status-badge-dot {
  background-color: #158148;
}

.status-badge-orange {
  background-color: #FFF7ED;
  color: #B45309;
  border: 1px solid rgba(180, 83, 9, 0.125);
}

.status-badge-orange .status-badge-dot {
  background-color: #B45309;
}

.status-badge-purple {
  background-color: #F3F0FF;
  color: #6941C6;
  border: 1px solid rgba(105, 65, 198, 0.125);
}

.status-badge-purple .status-badge-dot {
  background-color: #6941C6;
}

.status-badge-red {
  background-color: #FEF2F2;
  color: #DC2626;
  border: 1px solid rgba(220, 38, 38, 0.125);
}

.status-badge-red .status-badge-dot {
  background-color: #DC2626;
}

/* Mobile actions toggle button */

.mobile-actions-trigger {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  border: 1px solid #e0e0e0;
  background: #f8f7ff;
  color: #714fff;
  font-size: 18px;
  font-weight: bold;
  cursor: pointer;
  letter-spacing: 1px;
}

/* Action Buttons Container */

.actions-container {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 2px;
  align-items: center;
}

/* Action Button Styles */

.action-icon-button {
  cursor: pointer;
  padding: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.action-icon-button-disabled {
  cursor: not-allowed;
  padding: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.5;
}

@keyframes spin {
  to { transform: rotate(360deg);
  }
}

/* purgecss end ignore */
/* purgecss start ignore */

.slot-carousel {
  display: flex;
  gap: 8px;
  margin-bottom: 16px;
}

.slot-btn {
  background: #f0f0f0;
  border: none;
  border-radius: 6px;
  padding: 8px 16px;
  cursor: pointer;
  min-width: 90px;
  font-size: 1rem;
  transition: background 0.2s;
}

.slot-btn.selected {
  background: #007bff;
  color: #fff;
}

.reschedule-modal {
  background: #fff;
  border-radius: 12px;
  border: 2px solid #714FFF;
  max-width: 400px;
  margin: auto;
  padding: 0;
  position: relative;
  overflow: hidden;
}

.reschedule-modal-overlay {
  background: rgba(0,0,0,0.4);
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}

.reschedule-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #714FFF;
  padding: 16px 20px;
}

.reschedule-modal-header h2 {
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  margin: 0;
}

.close-btn {
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
  color: #fff;
  opacity: 1;
  line-height: 1;
}

.reschedule-modal-body {
  padding: 20px 24px 8px;
}

.date-carousel {
  display: flex;
  overflow-x: auto;
  gap: 8px;
  margin-bottom: 16px;
}

.date-btn {
  background: #f0f0f0;
  border: none;
  border-radius: 6px;
  padding: 8px 12px;
  cursor: pointer;
  min-width: 80px;
  transition: background 0.2s;
}

.date-btn.selected {
  background: #007bff;
  color: #fff;
}

.form-group {
  margin-bottom: 16px;
}

.form-group label {
  display: block;
  margin-bottom: 6px;
  font-weight: 500;
}

.form-group select, .form-group textarea {
  width: 100%;
  padding: 8px;
  border-radius: 4px;
  border: 1px solid #ccc;
  font-size: 1rem;
}

.reschedule-modal-footer {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding: 12px 24px 20px;
}

.reschedule-btn {
  background: #714FFF;
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 8px 24px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.2s;
}

.reschedule-btn:hover {
  background: #5a3fe0;
}

@media (max-width: 600px) {
  .reschedule-modal-overlay {
    align-items: center;
    padding: 0 16px;
  }

  .reschedule-modal {
    width: 100%;
    max-width: calc(100% - 32px);
    border-radius: 16px;
    padding: 0;
    max-height: 90vh;
    overflow-y: auto;
  }

  .reschedule-modal-body {
    padding: 16px 16px 8px;
  }

  .slot-carousel,
  .date-carousel {
    gap: 6px;
    padding-bottom: 4px;
  }

  .slot-btn {
    min-width: 72px;
    padding: 6px 10px;
    font-size: 13px;
  }

  .date-btn {
    min-width: 64px;
    padding: 6px 8px;
    font-size: 13px;
  }

  .reschedule-modal-footer {
    padding: 8px 16px 20px;
    gap: 8px;
  }

  .reschedule-btn {
    padding: 7px 18px;
    font-size: 13px;
  }
}

/* purgecss end ignore */

/* purgecss start ignore */

/* Header */

.cancel-modal__header {
  background: #714FFF !important;
  padding: 18px 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 16px 16px 0 0;
  margin: 0;
}

.cancel-modal__title {
  font-size: 16px;
  font-weight: 500;
  color: #ffffff !important;
  margin: 0;
}

.cancel-modal__close {
  font-size: 18px;
  background: none;
  border: none;
  cursor: pointer;
  color: #ffffff !important;
  opacity: 1;
}

/* Content */

.cancel-modal__content {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px 24px 0;
}

.cancel-modal__text {
  font-size: 14.7px;
  color: #686670;
  font-weight: 500;
}

/* Form Fields */

.cancel-modal__field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  position: relative;
  z-index: 9999;
}

.cancel-modal__label {
  font-size: 14px;
  font-weight: 500;
  color: #100e15;
}

.cancel-modal__input {
  background: white;
  border: 1px solid #e5e4e7;
  border-radius: 8px;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.08);
  padding: 12px;
  display: flex;
  align-items: center;
  color: #100e15;
  font-size: 14px;
  outline: none;
  transition: border 0.2s;
}

.cancel-modal__input--error {
  border: 1.5px solid #f44336 !important;
  background: #fff0f0;
}

.cancel-modal__error {
  color: #f44336;
  font-size: 12px;
  margin-top: 2px;
  margin-left: 2px;
}

.cancel-modal__textarea {
  height: 92px;
  background: white;
  border: 1px solid #e5e4e7;
  border-radius: 12px;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.08);
  padding: 12px;
  resize: none;
  font-size: 14px;
  color: #100e15;
}

/* Footer */

.cancel-modal__footer {
  display: flex;
  justify-content: flex-end;
  gap: 16px;
  padding: 0 24px;
  margin-top: 24px;
  border-bottom-left-radius: 16px;
  border-bottom-right-radius: 16px;
}

/* Buttons */

.cancel-modal__btn {
  height: 36px;
  padding: 8px 24px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  border: none;
  transition: box-shadow 0.2s;
}

.cancel-modal__btn--secondary {
  background: #fff;
  color: #714fff;
  border: 1.5px solid #714fff;
  box-shadow: 0px 1px 8px -3px rgba(0, 0, 0, 0.15);
}

.cancel-modal__btn--primary {
  background: #714fff;
  color: #fff;
  font-weight: 600;
  box-shadow: 0px 1px 8px -3px rgba(0, 0, 0, 0.15);
}

.cancel-modal {
  width: 100%;
  background: white;
  border-radius: 16px;
  overflow: visible;
  padding-bottom: 24px;
  margin: 0 auto;
}

.cancel-appointment-modal .modal-content {
  padding: 0 !important;
  overflow: visible;
  border-radius: 18px;
  border: 2px solid #714FFF;
}

.cancel-appointment-modal .cancel-modal__header {
  border-radius: 10px 10px 0 0;
}

.modal.show .modal-dialog {
  display: flex;
  align-items: center; /* ✅ Center vertically */
  min-height: 100vh;
  transform: none !important;
}

.cancel-modal__select,
.cancel-modal__field select {
  position: relative;
  z-index: 200000 !important;
  background: #fff !important;     /* ensures dropdown background stays white */
}

/* selectbar dropdown css*/

/* Ensures dropdown opens below */

.filter-container {
  position: relative;
  overflow: visible; /* Allows dropdown to expand outside container */
}

.custom-select {
  z-index: 1;
}

.custom-select:focus {
  outline: none;
  border-color: #007bff;
}

.custom-select option {
  border-radius: 8px; /* keeps dropdown corners rounded */
}

/* Force dropdown to open downward below */

select.form-select {
  position: relative;
}

.physio-filter-select{
  display: flex;
  padding: 8px 12px;
  align-items: center;
  gap: 8px;
  border-radius: 12px;
  border: 1px solid '#B1AFB6';
  background: '#FFF';
  color: '#686670';
  font-family: Inter;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%; /* 19.6px */
}

.rounded-select .ant-select-selector {
  border-radius: 8px !important;
  height: 40px !important;
  display: flex;
  align-items: center;
}

@media (max-width: 600px) {
  .cancel-appointment-modal .modal-content {
    border-radius: 18px !important;
  }

  .cancel-appointment-modal .modal-dialog {
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    align-items: flex-end !important;
    min-height: 100% !important;
  }

  .cancel-appointment-modal.modal {
    display: flex !important;
    align-items: flex-end !important;
  }

  .cancel-modal {
    width: 100%;
    border-radius: 16px 16px 0 0;
    padding-bottom: 32px;
  }

  .cancel-modal__header {
    border-radius: 16px 16px 0 0;
    padding: 14px 16px;
  }

  .cancel-modal__content {
    padding: 0 16px;
    gap: 16px;
  }

  .cancel-modal__footer {
    padding: 0 16px;
    margin-top: 16px;
    flex-direction: column-reverse;
    gap: 8px;
  }

  .cancel-modal__btn {
    width: 100%;
    text-align: center;
    font-size: 14px;
  }
}

/* purgecss end ignore */
/* purgecss start ignore */

.confirm-modal {
  width: 560px;
  border-radius: 12px;
  overflow: hidden;
}

.confirm-modal .modal-content {
  border-radius: 12px;
  overflow: visible;
  border: 2px solid #714FFF;
  padding: 0 !important;
}

.confirm-modal__header {
  background: #714FFF;
  color: #FFFFFF;
  font-family: Inter, sans-serif;
  font-weight: 500;
  font-size: 16px;
  padding: 18px 24px;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  border: none;
  margin: 0;
}

.confirm-modal__header .close,
.confirm-modal__header button.close {
  color: #FFFFFF !important;
  opacity: 1;
  text-shadow: none;
}

.confirm-modal__header .close:hover,
.confirm-modal__header button.close:hover {
  color: #FFFFFF !important;
  opacity: 0.8;
}

.confirm-modal__body {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 4px 24px 24px 24px;
}

.confirm-modal__section {
  display: flex;
  justify-content: space-between;
  gap: 16px;
}

.confirm-modal__field {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.confirm-field {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 6px;
}

.confirm-field label {
  font-size: 14px;
  color: #100e15;
  font-weight: 500;
}

.readonly-box {
  background: #f5f5f5;
  border-radius: 12px;
  padding: 10px 14px;
  color: #100e15;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  border: 1px solid #e4e4e7;
}

.confirm-modal__section {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.confirm-modal__field .label {
  color: var(--Color-Text-Secondary, #686670);
  font-size: 13px;
  font-weight: 400;
  line-height: 19.5px;
}

.confirm-modal__field .value {
  color: var(--Color-Text-Primary, #100e15);
  font-size: 13px;
  font-weight: 500;
  line-height: 19.5px;
}

.confirm-modal__footer {
  display: flex;
  justify-content: flex-end;
  gap: 16px;
  padding: 0 24px 24px;
}

.btn-leave {
  background: white !important;
  color: #714fff !important;
  border: 1px solid #714fff !important;
  border-radius: 12px !important;
  box-shadow: 0px 1px 8.2px -3px rgba(0, 0, 0, 0.25);
}

.btn-confirm {
  background: #714fff !important;
  border-radius: 12px !important;
  color: white !important;
  font-weight: 600;
  box-shadow: inset 0px 1px 0px rgba(244, 242, 255, 0.6);
}

.confirm-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 10px;
}

.confirm-table th {
  background: #f3f3f3;
  font-weight: 600;
  padding: 10px;
  text-align: left;
}

.confirm-table td {
  padding: 10px;
  border-top: 1px solid #eee;
}

.otp-section {
  margin-top: 20px;
}

.otp-input {
  margin-top: 8px;
  max-width: 200px;
}

.error-text {
  color: red;
  font-size: 14px;
  margin-top: 5px;
}

.upload-section {
  margin-top: 24px;
}

.upload-title {
  font-weight: 600;
  margin-bottom: 10px;
}

.upload-grid {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.upload-card {
  position: relative;
  width: 120px;
  height: 140px;
  background: #f9f9f9;
  border-radius: 10px;
  overflow: hidden;
  text-align: center;
  padding: 8px;
  box-shadow: 0 0 4px rgba(0,0,0,0.1);
}

.upload-img {
  width: 100%;
  height: 80px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 8px;
}

.remove-btn {
  position: absolute;
  top: 4px;
  right: 6px;
  background: #fff;
  border: none;
  font-size: 16px;
  color: #ff3b30;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  line-height: 16px;
  cursor: pointer;
}

.upload-progress {
  margin-top: 6px;
}

.progress-bar {
  height: 4px;
  background: #ddd;
  border-radius: 2px;
  margin: 2px 0;
}

.progress-fill {
  height: 4px;
  background: #6b46ff;
  border-radius: 2px;
  transition: width 0.3s ease;
}

.upload-status {
  font-size: 12px;
  color: #555;
}

.upload-status.uploaded {
  color: #6b46ff;
  font-weight: 500;
}

.file-name {
  font-size: 12px;
  margin-top: 2px;
  color: #333;
}

.upload-placeholder {
  width: 120px;
  height: 140px;
  border: 2px dashed #d0c8ff;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #6b46ff;
  font-weight: 500;
  cursor: pointer;
}

.plus-icon {
  font-size: 24px;
  line-height: 24px;
}

/* OTP styles */

.otp-section {
  display: flex;
  justify-content: center;
  margin-top: 20px;
}

.otp-verify {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin-top: 20px;
}

.otp-input {
  width: 150px;
  text-align: center;
  padding: 8px;
  font-size: 16px;
  border: 1px solid #d0c8ff;
  border-radius: 6px;
}

.otp-error {
  color: red;
  font-size: 13px;
  margin-top: 5px;
}

/* Upload Section */

.upload-section {
  margin-top: 24px;
}

.upload-title {
  font-weight: 600;
  margin-bottom: 10px;
}

.upload-later {
  margin-top: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.confirm-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid #e4e4e7;
  border-radius: 12px;
  overflow: hidden;
  margin-top: 16px;
}

.confirm-table thead {
  background: #f2f2f3;
}

.confirm-table th {
  color: #100e15;
  font-weight: 500;
  font-size: 14px;
  padding: 12px 16px;
  text-align: left;
  border-bottom: 1px solid #e4e4e7;
}

.confirm-table td {
  font-size: 14px;
  padding: 12px 16px;
  border-top: 1px solid #eaeaea;
  color: #100e15;
}

.confirm-table tr:last-child td {
  border-bottom: none;
}

.otp-btn {
  border: 1px solid #714fff !important;
  color: #714fff !important;
  background: white !important;
  border-radius: 20px !important;
  padding: 4px 12px !important;
  font-weight: 500;
  font-size: 13px;
  transition: all 0.2s ease-in-out;
}

.otp-btn:hover {
  background: #f6f4ff !important;
  text-decoration: none !important;
}

/* --- Footer Section (Compact) --- */

.styled-footer {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  padding: 10px 20px 12px; /* reduced height */
  border-top: 0.5px solid #e5e5e5; /* thinner separator line */
  background: #fff;
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
}

/* Leave Button */

.btn-leave {
  background: #fff !important;
  color: #4c4cff !important;
  border: 1px solid #4c4cff !important;
  border-radius: 8px !important;
  font-weight: 500;
  font-size: 13.5px;
  padding: 5px 16px !important; /* slightly slimmer */
  transition: all 0.2s ease-in-out;
}

.btn-leave:hover {
  background: #f4f4ff !important;
  color: #3d3dff !important;
}

/* Confirm Button */

.btn-confirm {
  background: #4c4cff !important;
  color: white !important;
  border-radius: 8px !important;
  font-weight: 600;
  font-size: 13.5px;
  padding: 5px 16px !important; /* slimmer height */
  box-shadow: 0px 1px 4px rgba(76, 76, 255, 0.18);
  transition: background 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

.btn-confirm:hover {
  background: #3737ff !important;
  box-shadow: 0px 2px 6px rgba(76, 76, 255, 0.25);
}

.btn-confirm:disabled {
  background: #c9c9ff !important;
  box-shadow: none;
  cursor: not-allowed;
}

/* DatePicker and Select border radius */

.rounded-datetime-picker .ant-picker,
.rounded-datetime-picker.ant-picker {
  border-radius: 8px !important;
}

.rounded-slot-select .ant-select-selector,
.rounded-slot-select .ant-select {
  border-radius: 8px !important;
}

@media (max-width: 600px) {
  .confirm-modal {
    max-width: calc(100% - 32px) !important;
    width: calc(100% - 32px) !important;
    margin: auto 16px !important;
  }

  .confirm-modal .modal-content {
    border-radius: 16px !important;
    border: 2px solid #714FFF !important;
    overflow: hidden;
    padding: 0 !important;
    max-height: calc(100vh - 80px);
    display: flex;
    flex-direction: column;
  }

  .confirm-modal__header {
    border-radius: 0 !important;
    padding: 14px 16px;
    font-size: 14px;
    margin: 0;
    flex-shrink: 0;
  }

  .confirm-modal__body {
    padding: 12px 16px 16px;
    gap: 16px;
    overflow-y: auto;
    flex: 1;
    min-height: 0;
  }

  .confirm-modal__section {
    flex-direction: column;
    gap: 12px;
  }

  .confirm-modal__footer,
  .styled-footer {
    padding: 10px 16px 16px;
    flex-direction: column-reverse;
    gap: 8px;
    flex-shrink: 0;
  }

  .btn-leave,
  .btn-confirm {
    width: 100% !important;
    text-align: center;
  }

  .confirm-table {
    font-size: 12px;
  }

  .confirm-table th,
  .confirm-table td {
    padding: 8px 10px;
  }
}

/* purgecss end ignore */







/* purgecss start ignore */

/* Header */

.cancel-modal__header {
  background: #f2f2f3;
  padding: 18px 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
}

.cancel-modal__title {
  font-size: 16px;
  font-weight: 500;
  color: #100e15;
}

.cancel-modal__close {
  font-size: 18px;
  background: none;
  border: none;
  cursor: pointer;
  color: #686670;
}

/* Content */

.cancel-modal__content {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 0 24px;
}

.cancel-modal__text {
  font-size: 14.7px;
  color: #686670;
  font-weight: 500;
}

/* Form Fields */

.cancel-modal__field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.cancel-modal__label {
  font-size: 14px;
  font-weight: 500;
  color: #100e15;
}

.cancel-modal__input {
  background: white;
  border: 1px solid #e5e4e7;
  border-radius: 8px;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.08);
  padding: 12px;
  display: flex;
  align-items: center;
  color: #100e15;
  font-size: 14px;
  outline: none;
  transition: border 0.2s;
}

.cancel-modal__input--error {
  border: 1.5px solid #f44336 !important;
  background: #fff0f0;
}

.cancel-modal__error {
  color: #f44336;
  font-size: 12px;
  margin-top: 2px;
  margin-left: 2px;
}

.cancel-modal__textarea {
  height: 92px;
  background: white;
  border: 1px solid #e5e4e7;
  border-radius: 12px;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.08);
  padding: 12px;
  resize: none;
  font-size: 14px;
  color: #100e15;
}

/* Footer */

.cancel-modal__footer {
  display: flex;
  justify-content: flex-end;
  gap: 16px;
  padding: 0 24px;
  margin-top: 24px;
  border-bottom-left-radius: 16px;
  border-bottom-right-radius: 16px;
}

/* Buttons */

.cancel-modal__btn {
  height: 36px;
  padding: 8px 24px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  border: none;
  transition: box-shadow 0.2s;
}

.cancel-modal__btn--secondary {
  background: #fff;
  color: #714fff;
  border: 1.5px solid #714fff;
  box-shadow: 0px 1px 8px -3px rgba(0, 0, 0, 0.15);
}

.cancel-modal__btn--primary {
  background: #714fff;
  color: #fff;
  font-weight: 600;
  box-shadow: 0px 1px 8px -3px rgba(0, 0, 0, 0.15);
}

.cancel-modal {
  width: 100%;
  background: white;
  border-radius: 16px; /* Make all corners fully rounded */
  overflow: hidden;
  padding-bottom: 24px;
  margin: 0 auto;
  box-shadow: 0 2px 24px rgba(0,0,0,0.10);
}

.cancel-modal .modal-content {
  border-radius: 16px !important; /* Ensure modal content corners match */
}

.modal.show .modal-dialog {
  display: flex;
  align-items: center; /* ✅ Center vertically */
  min-height: 100vh;
}

/* purgecss end ignore */

/* purgecss start ignore */

/* Upload Invoice Modal Styles */

.upload-invoice-modal.modal .modal-dialog {
  max-width: 1000px !important;
  width: 85vw !important;
  margin: 1.75rem auto;
}

.upload-invoice-modal.modal {
  min-width: unset !important;
  width: auto !important;
}

.upload-invoice-modal .modal-content {
  border-radius: 12px;
  border: 2px solid #714FFF;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
  width: 100%;
  background: #ffffff;
  padding: 0 !important;
  overflow: hidden;
}

.upload-invoice-modal .modal-header {
  background: #714FFF;
  color: #FFFFFF;
  border-radius: 10px 10px 0 0;
  padding: 15px 40px;
  border: none;
  font-size: 20px;
  font-weight: 400;
}

.upload-invoice-modal .modal-header .close,
.upload-invoice-modal .modal-header button.close {
  color: #FFFFFF !important;
  opacity: 1;
  text-shadow: none;
  font-size: 32px;
  font-weight: 300;
}

.upload-invoice-modal .modal-header .close:hover,
.upload-invoice-modal .modal-header button.close:hover {
  color: #FFFFFF !important;
  opacity: 0.8;
}

.upload-invoice-modal .modal-body {
  padding: 40px;
  background: #ffffff;
}

/* Section headings */

.upload-invoice-modal .section-headings {
  display: flex;
  gap: 40px;
  margin-bottom: 16px;
}

.upload-invoice-modal .section-heading {
  flex: 1;
  font-weight: 600;
  font-size: 18px;
  color: #666;
  text-align: left;
  margin: 0;
}

/* Upload sections container */

.upload-invoice-modal .upload-sections-container {
  display: flex;
  gap: 24px;
}

.upload-invoice-modal .document-section {
  flex: 1;
  min-width: 0;
}

/* Upload container */

.upload-invoice-modal .upload-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: min-content;
  gap: 12px;
  align-items: start;
  align-content: start;
  justify-content: center;
  padding: 20px 20px;
  border: 2px dashed #C4B5FD;
  border-radius: 16px;
  background: #FAF8FF;
  height: 300px;
  width: 100%;
  overflow-y: auto;
  transition: all 0.2s ease;
}

.upload-invoice-modal .upload-container:hover {
  border-color: #A78BFA;
  background: #F5F3FF;
}

/* File preview card */

.upload-invoice-modal .file-preview-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}

.upload-invoice-modal .file-preview-wrapper {
  position: relative;
  width: 85px;
  height: 85px;
  border-radius: 10px;
  overflow: hidden;
  background-color: #fff;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.08);
  transition: transform 0.2s ease;
}

.upload-invoice-modal .file-preview-wrapper:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.upload-invoice-modal .file-preview-wrapper img,
.upload-invoice-modal .file-preview-wrapper embed {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* Remove button */

.upload-invoice-modal .remove-file-btn {
  position: absolute;
  top: 4px;
  right: 4px;
  background: #fff;
  border: none;
  border-radius: 50%;
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
  transition: all 0.2s ease;
  z-index: 1;
}

.upload-invoice-modal .remove-file-btn:hover {
  background: #FF4444;
  transform: scale(1.1);
}

.upload-invoice-modal .remove-file-btn:hover span {
  color: #fff;
}

.upload-invoice-modal .remove-file-btn span {
  color: #FF4444;
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
}

/* Upload status badge */

.upload-invoice-modal .upload-status-badge {
  position: absolute;
  bottom: 4px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 4px;
  background: #fff;
  padding: 3px 8px;
  border-radius: 10px;
  font-size: 10px;
  font-weight: 600;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

.upload-invoice-modal .upload-status-icon {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #6941C6;
  display: flex;
  align-items: center;
  justify-content: center;
}

.upload-invoice-modal .upload-status-icon span {
  color: #fff;
  font-size: 10px;
}

.upload-invoice-modal .upload-status-text {
  color: #6941C6;
}

/* File name */

.upload-invoice-modal .file-name {
  font-size: 11px;
  color: #344054;
  font-weight: 500;
  text-align: center;
  max-width: 85px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Upload button/label */

.upload-invoice-modal .upload-label {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  grid-column: span 1;
  padding: 0;
  min-height: 85px;
  transition: all 0.2s ease;
}

/* Center upload button when it's the only item */

.upload-invoice-modal .upload-container:has(.upload-label:only-child) {
  display: flex;
  align-items: center;
  justify-content: center;
}

.upload-invoice-modal .upload-label:hover .upload-icon {
  background: #7C3AED;
  border-color: #7C3AED;
  transform: scale(1.05);
}

.upload-invoice-modal .upload-label:hover .upload-icon span {
  color: #fff;
}

.upload-invoice-modal .upload-label:hover .upload-text {
  color: #7C3AED;
}

.upload-invoice-modal .upload-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 2px solid #8B5CF6;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
  transition: all 0.2s ease;
  background: transparent;
}

.upload-invoice-modal .upload-icon span {
  font-size: 24px;
  color: #8B5CF6;
  font-weight: 300;
  line-height: 1;
  transition: color 0.2s ease;
}

.upload-invoice-modal .upload-text {
  font-size: 14px;
  color: #8B5CF6;
  font-weight: 500;
  transition: color 0.2s ease;
}

/* Supported formats text */

.upload-invoice-modal .supported-formats {
  margin-top: 16px;
  font-size: 14px;
  color: #9CA3AF;
  text-align: left;
}

/* Action buttons container */

.upload-invoice-modal .action-buttons {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 24px 40px;
  background: #FFFFFF;
  border-top: none;
  display: flex;
  justify-content: flex-end;
  gap: 16px;
  border-radius: 0 0 24px 24px;
}

.upload-invoice-modal .btn-leave {
  padding: 10px 28px;
  border-radius: 12px;
  border: 2px solid #8B5CF6;
  background: #FFFFFF;
  color: #8B5CF6;
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}

.upload-invoice-modal .btn-leave:hover:not(:disabled) {
  background: #F5F3FF;
  border-color: #7C3AED;
  color: #7C3AED;
}

.upload-invoice-modal .btn-leave:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.upload-invoice-modal .btn-proceed {
  padding: 10px 28px;
  border-radius: 12px;
  border: none;
  background: #D1D5DB;
  color: #9CA3AF;
  font-size: 15px;
  font-weight: 500;
  cursor: not-allowed;
  transition: all 0.2s ease;
}

.upload-invoice-modal .btn-proceed:not(:disabled) {
  background: #8B5CF6;
  color: #FFFFFF;
  cursor: pointer;
}

.upload-invoice-modal .btn-proceed:not(:disabled):hover {
  background: #7C3AED;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(139, 92, 246, 0.3);
}

.upload-invoice-modal .btn-proceed:disabled {
  cursor: not-allowed;
  opacity: 1;
}

@media (max-width: 900px) {
  .upload-invoice-modal.modal .modal-dialog {
    max-width: 95vw !important;
    width: 95vw !important;
    min-width: unset !important;
    margin: 16px auto !important;
  }

  .upload-invoice-modal .modal-header {
    padding: 12px 16px;
    font-size: 16px;
    border-radius: 10px 10px 0 0;
  }

  .upload-invoice-modal .modal-body {
    padding: 12px 12px 70px;
  }

  .upload-invoice-modal .section-headings {
    gap: 8px;
  }

  .upload-invoice-modal .section-heading {
    font-size: 13px;
  }

  .upload-invoice-modal .upload-sections-container {
    gap: 12px;
  }

  .upload-invoice-modal .upload-container {
    min-width: unset !important;
    width: 100%;
    height: 160px;
    min-height: unset;
    grid-template-columns: repeat(2, 1fr);
    padding: 12px;
  }

  .upload-invoice-modal .action-buttons {
    position: absolute;
    padding: 10px 12px;
    gap: 8px;
    justify-content: flex-end;
  }

  .upload-invoice-modal .btn-leave,
  .upload-invoice-modal .btn-proceed {
    width: auto !important;
    padding: 8px 20px;
    font-size: 14px;
  }
}

/* purgecss end ignore */

/* purgecss start ignore */

/* Ensures dropdown opens below */

.filter-container {
  position: relative;
  overflow: visible; /* Allows dropdown to expand outside container */
}

.custom-select {
  z-index: 1;
}

.custom-select:focus {
  outline: none;
  border-color: #007bff;
}

.custom-select option {
  border-radius: 8px; /* keeps dropdown corners rounded */
}

/* Force dropdown to open downward below */

select.form-select {
  position: relative;
}

.physio-filter-select{
  display: flex;
  padding: 8px 12px;
  align-items: center;
  gap: 8px;
  border-radius: 12px;
  border: 1px solid '#B1AFB6';
  background: '#FFF';
  color: #000000;
  font-family: Inter;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 140%; /* 19.6px */
}

.rounded-select .ant-select-selector {
  border-radius: 8px !important;
  height: 40px !important;
  display: flex;
  align-items: center;
  color: #000000 !important;
}

.rounded-select .ant-select-selection-item {
  color: #000000 !important;
}

.rounded-select .ant-select-selection-placeholder {
  color: #666666 !important;
}

/* Custom Date Range Dropdown Styling */

.custom-date-range-dropdown {
  border-radius: 20px !important;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15) !important;
  background: white !important;
  isolation: isolate;
  z-index: 9999 !important;
}

.custom-date-range-dropdown .ant-picker-panel-container {
  border-radius: 20px;
  box-shadow: none;
  background: white;
}

.custom-date-range-dropdown .ant-picker-panels {
  background: white;
  border-radius: 20px;
}

.custom-date-range-dropdown .ant-picker-panel {
  border: none;
  background: white;
}

.custom-date-range-dropdown .ant-picker-date-panel {
  background: white;
}

.custom-date-range-dropdown .ant-picker-header {
  padding: 20px 24px 16px;
  border-bottom: none;
}

.custom-date-range-dropdown .ant-picker-header-view {
  font-size: 17px;
  font-weight: 600;
  color: #1a1a1a;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.custom-date-range-dropdown .ant-picker-header button {
  color: #666;
  font-size: 16px;
  width: 32px;
  height: 32px;
}

.custom-date-range-dropdown .ant-picker-header button:hover {
  color: #714FFF;
  background: #f5f3ff;
  border-radius: 8px;
}

/* Always show navigation arrows - don't hide them */

.custom-date-range-dropdown .ant-picker-header-next-btn,
.custom-date-range-dropdown .ant-picker-header-prev-btn,
.custom-date-range-dropdown .ant-picker-header-super-next-btn,
.custom-date-range-dropdown .ant-picker-header-super-prev-btn {
  visibility: visible !important;
  display: inline-block !important;
}

.custom-date-range-dropdown .ant-picker-content {
  padding: 8px 24px 20px;
}

.custom-date-range-dropdown .ant-picker-content th {
  color: #999;
  font-weight: 500;
  font-size: 13px;
  padding: 8px 0 12px;
}

.custom-date-range-dropdown .ant-picker-cell {
  color: #333;
  padding: 3px 0;
}

.custom-date-range-dropdown .ant-picker-cell-inner {
  width: 40px;
  height: 40px;
  line-height: 40px;
  border-radius: 16px;
  font-size: 15px;
  font-weight: 500;
  transition: all 0.2s;
  border: none;
  position: relative;
}

/* Remove any default ::before pseudo elements */

.custom-date-range-dropdown .ant-picker-cell-inner::before {
  display: none !important;
}

.custom-date-range-dropdown .ant-picker-cell:hover .ant-picker-cell-inner {
  background: #f5f3ff;
  color: #714FFF;
}

.custom-date-range-dropdown .ant-picker-cell-in-view.ant-picker-cell-selected .ant-picker-cell-inner {
  background: #714FFF !important;
  color: white !important;
  border-radius: 16px;
  font-weight: 600;
}

.custom-date-range-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-start .ant-picker-cell-inner,
.custom-date-range-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-end .ant-picker-cell-inner {
  background: #714FFF !important;
  color: white !important;
  border-radius: 16px;
  font-weight: 600;
}

.custom-date-range-dropdown .ant-picker-cell-in-view.ant-picker-cell-in-range .ant-picker-cell-inner {
  background: #f0edff;
  color: #714FFF;
}

.custom-date-range-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single)::before,
.custom-date-range-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single)::before {
  background: #f0edff;
}

.custom-date-range-dropdown .ant-picker-cell-disabled .ant-picker-cell-inner {
  color: #d0d0d0;
  background: transparent;
}

.custom-date-range-dropdown .ant-picker-cell-disabled:hover .ant-picker-cell-inner {
  background: transparent;
  color: #d0d0d0;
}

.custom-date-range-dropdown .ant-picker-cell-today .ant-picker-cell-inner {
  border: 2px solid #714FFF !important;
  background: white !important;
  color: #333 !important;
  border-radius: 16px;
  position: relative;
}

.custom-date-range-dropdown .ant-picker-cell-today .ant-picker-cell-inner::before {
  display: none !important;
}

/* Remove border when today is selected - fill with purple background */

.custom-date-range-dropdown .ant-picker-cell-today.ant-picker-cell-selected .ant-picker-cell-inner,
.custom-date-range-dropdown .ant-picker-cell-today.ant-picker-cell-range-start .ant-picker-cell-inner,
.custom-date-range-dropdown .ant-picker-cell-today.ant-picker-cell-range-end .ant-picker-cell-inner {
  border: none !important;
  background: #714FFF !important;
  color: white !important;
  border-radius: 16px;
  font-weight: 600;
}

/* When today is in range but not selected */

.custom-date-range-dropdown .ant-picker-cell-today.ant-picker-cell-in-range:not(.ant-picker-cell-selected):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end) .ant-picker-cell-inner {
  border: none !important;
  background: #714FFF !important;
  color: white !important;
  border-radius: 16px;
  font-weight: 600;
}

/* Hide second month panel - show only one month */

.custom-date-range-dropdown .ant-picker-panels > div:last-child {
  display: none !important;
}

/* Ensure single panel width */

.custom-date-range-dropdown .ant-picker-date-panel {
  width: 320px;
}

@media (max-width: 900px) {
  .physio-filters {
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
    padding: 4px 8px !important;
    row-gap: 4px !important;
    -moz-column-gap: 4px !important;
         column-gap: 4px !important;
  }

  /* Ant Design dropdown popup — renders outside physio-dashboard, target globally */

  .ant-select-dropdown .ant-select-item {
    font-size: 12px !important;
    min-height: 28px !important;
    padding: 4px 8px !important;
    line-height: 20px !important;
  }

  .ant-select-dropdown .ant-select-item-option-content {
    font-size: 12px !important;
  }

  /* Each filter dropdown takes at least half the row */

  .physio-filters .rounded-select,
  .physio-filters > div {
    flex: 1 1 calc(50% - 6px);
    min-width: 100px;
  }

  /* Shrink ant-select dropdowns */

  .physio-filters .rounded-select .ant-select-selector {
    height: 32px !important;
    font-size: 12px !important;
  }

  .physio-filters .rounded-select .ant-select-selection-item,
  .physio-filters .rounded-select .ant-select-selection-placeholder,
  .physio-filters .ant-select-selection-item,
  .physio-filters .ant-select-selection-placeholder {
    font-size: 12px !important;
    line-height: 30px !important;
  }

  .physio-filter-select {
    font-size: 12px !important;
    padding: 4px 8px !important;
  }

  /* Arrow icon smaller */

  .physio-filters .ant-select-arrow {
    font-size: 10px !important;
  }

  /* Date range picker popup — fit within viewport */

  .custom-date-range-dropdown .ant-picker-date-panel {
    width: 100%;
    max-width: 300px;
  }
}

/* purgecss end ignore */


/* purgecss start ignore */

.modal-content {
  border: 2px solid #714FFF;
  border-radius: 10px;
}

/* Ensure modal content has proper border radius */

.modal-content {
  border-radius: 12px;
  overflow: hidden;
}

.upload-modal {
  padding: 20px;
}

.modal-header {
  background: #714FFF;
  color: #FFFFFF;
  border-bottom: none;
}

.modal-header > h5 {
  color: #FFFFFF;
}

.modal-header > button,
.modal-header > button.close,
.modal-header .close,
.modal-header button[aria-label="Close"] {
  color: #FFFFFF !important;
  opacity: 1 !important;
  text-shadow: none !important;
  font-weight: 300 !important;
}

.modal-header > button:hover,
.modal-header > button.close:hover,
.modal-header .close:hover,
.modal-header button[aria-label="Close"]:hover {
  color: #FFFFFF !important;
  opacity: 0.8 !important;
}

.submit-button-upload {
  text-align: center;
  justify-content: center;
}

.document-section {
  display: flex;
  flex-direction: row;
  -moz-column-gap: 10px;
       column-gap: 10px;
  margin-bottom: 20px;
}

.document-window {
  height: -moz-fit-content;
  height: fit-content;
  min-height: 100px;
  height: fit-content;
  border-radius: 5px;
  flex: 1;
  width: 100%;
  background: #714FFF1A;
  border: 1px solid #714FFF2A;
  min-width: unset;
  position: relative;
  height: 50vh;
}

.document-window > * {
  font-family: 'Montserrat' !important;
}

.upload-button {
  justify-content: center;
  background: #fff;
  align-items: center;
  padding: 10px 0;
  border-width: 1px !important;
  font-weight: 300 !important;
}

.upload-divide {
  flex: 1;
  height: 2px;
  background: red;
}

.disclaimer {
  position: absolute;
  bottom: 0;
  left: 0;
  font-size: 8px;
  transform: translateY(125%);
}

.re-button {
  position: absolute;
  right: 10px;
  top: 10px;
  color: #ff8c00;
  height: 25px;
  width: -moz-fit-content;
  width: fit-content;
}

.invoice-modal {
  min-width: unset;
  max-width: 460px;
  width: 90vw;
}

@media (min-width: 900px) {
  .invoice-modal {
    min-width: unset;
    max-width: 500px;
    width: 500px;
  }

  .invoice-modal.invoice-modal--wide {
    max-width: 900px;
    width: 90vw;
  }
}

.invoice-modal .modal-content {
  padding: 0 !important;
  border: 2px solid #714FFF;
  border-radius: 12px;
  overflow: hidden;
}

.invoice-modal .modal-header {
  margin: 0 !important;
  border-radius: 10px 10px 0 0;
}

/* Invoice carousel arrows */

.invoice-modal--wide .carousel-control-prev,
.invoice-modal--wide .carousel-control-next {
  width: 32px;
  height: 32px;
  background: #714FFF;
  border-radius: 50%;
  top: 50%;
  transform: translateY(-50%);
  opacity: 1;
}

.invoice-modal--wide .carousel-control-prev {
  left: -16px;
}

.invoice-modal--wide .carousel-control-next {
  right: -16px;
}

.invoice-modal--wide .carousel-control-prev-icon,
.invoice-modal--wide .carousel-control-next-icon {
  width: 16px;
  height: 16px;
}

.invoice-primary-box {
  height: 70vh;
}

@media (max-width: 900px) {
  .invoice-modal-body {
    padding: 16px !important;
    max-height: calc(100vh - 120px);
    overflow-y: auto;
  }

  .invoice-primary-box {
    height: auto;
    max-height: none;
    overflow: visible !important;
    border-radius: 12px !important;
  }

  /* On mobile: remove paddingBottom from form scroll, use static footer */

  .invoice-form-scroll {
    overflow: visible !important;
    padding-bottom: 0 !important;
  }

  .invoice-form {
    padding-bottom: 8px !important;
  }

  /* Make footer static (not absolute) so it doesn't overlap content */

  .invoice-footer-btns {
    position: static !important;
    box-shadow: none !important;
    padding: 12px 0 16px !important;
  }

  /* Smaller Cancel/Submit buttons on mobile */

  .invoice-footer-btns .d-flex > * {
    width: 100px !important;
    height: 36px !important;
    font-size: 13px !important;
    padding: 4px 12px !important;
    border-radius: 10px !important;
  }

  /* Stack Package + Sessions vertically on mobile */

  .invoice-pkg-row {
    flex-direction: column !important;
    gap: 0 !important;
  }

  .invoice-pkg-row > div {
    flex: unset !important;
    width: 100% !important;
  }

  /* Reduce label top margin on mobile */

  .invoice-pkg-row .small.text-muted {
    margin-top: 12px !important;
    margin-bottom: 4px !important;
  }

  /* Ant Select — constrain height, truncate selected text */

  .invoice-pkg-select .ant-select-selector {
    height: 38px !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
  }

  .invoice-pkg-select .ant-select-selection-item,
    .invoice-pkg-select .ant-select-selection-placeholder {
    line-height: 36px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    max-width: calc(100% - 24px) !important;
    font-size: 13px !important;
  }
}

/* CallUserModal — desktop */

.status-modal .modal-content {
  padding: 0 !important;
  overflow: hidden;
  border-radius: 12px;
}

.status-modal .modal-header {
  border-radius: 10px 10px 0 0;
  margin: 0;
}

.status-modal .modal-body {
  padding-top: 8px !important;
}

@media (max-width: 600px) {
  /* CallUserModal */

  .status-modal .modal-dialog {
    max-width: calc(100% - 32px) !important;
    width: calc(100% - 32px) !important;
    margin: auto 16px !important;
  }

  .status-modal .modal-content {
    border-radius: 16px !important;
    overflow: hidden;
    padding: 0 !important;
  }

  .status-modal .modal-header {
    border-radius: 0 !important;
    padding: 14px 16px;
    margin: 0;
  }

  .status-modal .modal-body {
    padding: 16px !important;
  }

  /* UploadModal */

  .invoice-modal {
    min-width: unset !important;
    max-width: calc(100% - 32px) !important;
    width: calc(100% - 32px) !important;
    margin: auto 16px !important;
  }

  .document-section {
    flex-direction: column;
  }

  /* InvoiceModal second screen — stack columns vertically */

  .invoice-content-row {
    flex-direction: column !important;
    gap: 16px;
  }

  .invoice-content-row > div {
    flex: unset !important;
    width: 100% !important;
  }
}

@media (max-width: 900px) {
  .invoice-modal {
    min-width: unset !important;
    max-width: 460px !important;
    width: 90vw !important;
    margin: auto !important;
  }

  /* Primary-box: auto height, not fixed 70vh */

  .invoice-content-row .primary-box {
    max-height: none !important;
    height: auto !important;
  }

  /* Show uploaded images as a compact section below the form */

  .invoice-content-row > div:last-child {
    display: block !important;
    width: 100% !important;
    max-height: 130px;
    overflow: hidden;
    border-radius: 8px;
  }

  .invoice-content-row > div:last-child img,
  .invoice-content-row > div:last-child iframe {
    max-height: 110px !important;
    -o-object-fit: contain;
       object-fit: contain;
    width: 100%;
  }
}

.primary-box {
  width: 100%;
  border-radius: 5px;
  border: 1px solid #CFC8FF;
  overflow-y: scroll;
}

.submit-button {
  position: relative;
  bottom: 5px;
  width: 95%;
  left: 50%;
  transform: translateX(-50%);
  padding: 10px 0;
  text-align: center;
  justify-content: center;
}

.secondary-box {
  width: 100%;
  border-radius: 5px;
  padding: 20px;
  background: #F2EFFF;
}

.invoice-form {
  padding: 20px 10px;
  border-bottom: 1px solid #ddd;
}

.add-item {
  width: -moz-fit-content;
  width: fit-content;
  margin-left: 10px;
  padding: 5px;
  font-weight: 300;
  border-width: 1.25px !important;
  border-radius: 4.25px;
  margin-top: 20px;
  margin-bottom: 55px;
}

.bottom-text {
  position: absolute;
  bottom: 7.5px;
  left: 50%;
  transform: translateX(-50%);
}

.document-window.disabled {
  cursor: not-allowed;
}

.document-window.disabled:hover {
  border-color: #ddd;
  background-color: #f8f9fa;
}

/* purgecss end ignore */
/* purgecss start ignore */

.image-button{
  display: flex;
  flex-direction: row;
  align-items: center;
  width: 100%;
  margin: 0;
  border: 2px solid #714fff !important;
  outline: none !important;
  box-shadow: none !important;
  justify-content: center; /* <-- fix: center text horizontally */
  text-align: center; /* <-- fix: center text inside button */
}

.image-button img {
  margin-right: 0 !important;
}

.active-image-button {
  background: #714fff;
  color: #fff;
}

.active-image-button > img {
  filter: brightness(0) invert(1);
}

.image-button-tip {
  padding: 8px 14px !important;
  font-size: 12px !important;
  background: #000000 !important;
  color: #FFFFFF !important;
  white-space: nowrap !important;
  border-radius: 4px !important;
  line-height: 1.4 !important;
  margin-top: -4px !important;
}

.image-button-tip::before, .image-button-tip::after {
  background: #000000 !important;
}

.disabled-image-button {
  background: #eee;
  color: #D1D1D1;
  border-color: #eee !important;
  cursor: not-allowed;
}

/* purgecss end ignore */
/* purgecss start ignore */

.prescription-card {
  /* width: 560px;
  padding-bottom: 24px;
  background: white;
  overflow: hidden;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-end;
  gap: 28px;
  font-family: "Inter", sans-serif; */
  display: flex;
  flex-shrink: 0;
  align-self: stretch;
  align-items: center;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 1rem;
  flex-wrap: wrap;
}

/* ---------- Header ---------- */

.header {
  align-self: stretch;
  padding: 20px 24px;
  background: #f2f2f3;
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.header-title {
  color: #100e15;
  font-size: 16px;
  font-weight: 500;
  line-height: 21px;
}

.header-icon {
  width: 20px;
  height: 20px;
  position: relative;
}

.header-square {
  width: 10px;
  height: 10px;
  position: absolute;
  left: 5px;
  top: 5px;
  outline: 1.5px solid #686670;
  outline-offset: -0.75px;
}

/* ---------- Upload Section ---------- */

.upload-section {
  align-self: stretch;
  padding: 0 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.upload-label {
  color: #100e15;
  font-size: 14px;
  font-weight: 500;
}

.upload-box {
  height: 140px;
  padding: 36px 0;
  background: white;
  box-shadow: 0px 0px 4px rgba(59, 22, 156, 0.2);
  border-radius: 16px;
  outline: 1px solid #714fff;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: 0.3s;
}

.upload-box:hover {
  box-shadow: 0px 0px 6px rgba(59, 22, 156, 0.3);
}

.upload-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.upload-icon {
  width: 34px;
  height: 34px;
  background: #f5f2ff;
  border-radius: 24px;
  box-shadow: 0px 3px 4px rgba(0, 0, 0, 0.1);
}

.upload-text {
  color: #5840bb;
  font-size: 12px;
  font-weight: 500;
  line-height: 14px;
  text-align: center;
}

/* ---------- Toggle Section ---------- */

.toggle-section {
  align-self: stretch;
  padding: 0 24px;
  display: flex;
  flex-direction: column;
}

.toggle-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.toggle-question {
  color: #100e15;
  font-size: 14px;
  font-weight: 500;
  flex: 1;
}

.toggle-group {
  display: flex;
  align-items: center;
  gap: 12px;
}

.toggle-group span {
  color: #686670;
  font-weight: 500;
  font-size: 16px;
}

.toggle-group .toggle-active {
  color: #100e15;
}

.toggle-switch {
  width: 44px;
  height: 24px;
  background: #f2f2f3;
  border-radius: 12px;
  display: flex;
  align-items: center;
  padding: 2px;
  cursor: pointer;
  transition: background 0.3s;
}

.toggle-switch .toggle-circle {
  width: 20px;
  height: 20px;
  background: white;
  border-radius: 50%;
  box-shadow: 0px 1px 2px rgba(10, 13, 18, 0.06);
  transition: transform 0.3s;
}

.toggle-switch .toggle-on {
  transform: translateX(20px);
  background: white;
}

.toggle-switch.toggle-on {
  background: #714fff;
}

/* ---------- Footer ---------- */

.footer {
  align-self: stretch;
  padding: 0 24px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 16px;
}

.leave-btn {
  height: 36px;
  padding: 8px 16px;
  background: white;
  border: 1px solid #714fff;
  border-radius: 12px;
  color: #714fff;
  font-size: 14px;
  font-weight: 500;
  box-shadow: 0px 1px 8px -3px rgba(0, 0, 0, 0.25);
  cursor: pointer;
  transition: 0.2s;
}

.leave-btn:hover {
  background: #f5f2ff;
}

.proceed-btn {
  height: 36px;
  padding: 8px 14px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: 0.3s;
  border: none;
}

.proceed-btn.disabled {
  background: #d8d7db;
  color: #b1afb6;
  cursor: not-allowed;
}

.proceed-btn.active {
  background: #714fff;
  color: white;
}

.proceed-btn.active:hover {
  background: #5a3ed1;
}

/* Multiple File Upload Styles */

.file-list {
  margin-top: 12px;
  width: 100%;
  background: #fafafa;
  border-radius: 8px;
  padding: 10px;
  border: 1px solid #ddd;
  max-height: 150px;
  overflow-y: auto;
}

.file-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 6px;
  padding: 6px 10px;
  margin-bottom: 6px;
  font-size: 13px;
}

.file-name {
  flex: 1;
  color: #333;
  word-break: break-word;
}

.remove-btn {
  background: none;
  border: none;
  color: #d9534f;
  font-size: 18px;
  cursor: pointer;
  margin-left: 8px;
}

.remove-btn:hover {
  color: #b52b27;
}

/* Uploaded file preview styling */

.uploaded-file {
  position: relative;
  width: 90px;
  height: 90px;
  border-radius: 10px;
  overflow: hidden;
  background: #f2f2f2;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.file-thumb {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
}

.file-actions {
  position: absolute;
  top: 4px;
  right: 4px;
  display: flex;
  gap: 4px;
}

.action-icon {
  width: 18px;
  height: 18px;
  cursor: pointer;
  opacity: 0.9;
  transition: 0.2s ease;
}

.action-icon:hover {
  opacity: 1;
}

.action-icon.remove {
  filter: hue-rotate(330deg);
}

/* Add more box */

.add-more-box {
  width: 90px;
  height: 90px;
  border: 2px dashed #d3d3d3;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
}

.add-plus {
  font-size: 28px;
  color: #714fff;
  font-weight: bold;
}

.add-more-box {
  width: 90px;
  height: 90px;
  border: 2px dashed #a5a6bb;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: 0.2s ease;
  flex-shrink: 0;
}

.add-more-box:hover {
  border-color: #714fff;
}

.add-plus {
  font-size: 28px;
  color: #714fff;
  font-weight: bold;
}

.uploaded-file {
  position: relative;
  width: 90px;
  height: 90px;
  border: 1px solid #ddd;
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fafafa;
  flex-shrink: 0;
}

.file-thumb {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.pdf-thumb {
  font-size: 16px;
  font-weight: bold;
  color: white;
  background: #c0392b;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.file-actions {
  position: absolute;
  top: 4px;
  right: 4px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.action-btn {
  background: rgba(255, 255, 255, 0.8);
  border: none;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  font-size: 18px;
  line-height: 0;
  cursor: pointer;
  color: #333;
}

.action-btn.remove {
  background: #ff6b6b;
  color: white;
}

.add-more-box {
  width: 90px;
  height: 90px;
  border: 2px dashed #ccc;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
}

.add-plus {
  font-size: 36px;
  color: #999;
}

/* Sample Prescription thumbnail — dashboard modal */

.sample-prescription-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  margin-top: 20px;
  flex-shrink: 0;
  cursor: pointer;
}

.sample-prescription-thumb {
  width: 90px;
  height: 90px;
  border: 1.5px solid #CFC8FF;
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  background: #f7f4ff;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.sample-prescription-wrapper:hover .sample-prescription-thumb {
  border-color: #714FFF;
  box-shadow: 0 2px 10px rgba(113, 79, 255, 0.15);
}

.sample-prescription-thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.sample-prescription-text {
  font-size: 10px;
  color: #714FFF;
  font-weight: 600;
  text-align: center;
  white-space: nowrap;
}

/* purgecss end ignore */

/* purgecss start ignore */

/* ── Design tokens ─────────────────────────────────────────────────────── */

:root {
  --pdl-primary:       #5030E5;
  --pdl-primary-lt:    #714FFF;
  --pdl-bg:            #F5F5FB;
  --pdl-border:        #E5E3F0;
  --pdl-lavender:      #F0EEF9;
  --pdl-text:          #15122B;
  --pdl-muted:         #6B6889;
  --pdl-placeholder:   #9A96B3;
  --pdl-green:         #059669;
  --pdl-green-lt:      #10B981;
  --pdl-red:           #DC2626;
  --pdl-orange:        #EA580C;
  --pdl-blue:          #3B82F6;
  --pdl-blue-dk:       #1D4ED8;
  --pdl-green-dk:      #047857;
  --pdl-amber-bg:      #FEF3C7;
  --pdl-amber-border:  #FCD34D;
  --pdl-amber-text:    #B45309;
}

/* ── Base ──────────────────────────────────────────────────────────────── */

* { box-sizing: border-box; -webkit-tap-highlight-color: transparent;
}

.pdl-page {
  /* Fill the viewport reliably — same approach as pmh-page */
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  width: 100%;
  max-width: 100%;
  margin: 0;
  height: auto;
  min-height: unset;
  display: flex;
  flex-direction: column;
  background: var(--pdl-bg);
  font-family: -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', Roboto, sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow: hidden;
}

.pdl-center {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* ── Loading / Error ───────────────────────────────────────────────────── */

.pdl-spinner {
  width: 36px; height: 36px;
  border: 3px solid rgba(113,79,255,0.2);
  border-top-color: var(--pdl-primary-lt);
  border-radius: 50%;
  animation: pdl-spin 0.7s linear infinite;
}

@keyframes pdl-spin { to { transform: rotate(360deg);
  }
}

.pdl-error-view { padding: 40px 24px; text-align: center;
}

.pdl-error-icon { font-size: 48px; margin-bottom: 12px;
}

.pdl-error-title { font-size: 18px; font-weight: 800; color: var(--pdl-text); margin-bottom: 6px;
}

.pdl-error-sub   { font-size: 14px; color: var(--pdl-muted); line-height: 1.5;
}

/* ── Detail Hero Header ────────────────────────────────────────────────── */

.pdl-detail-hero {
  background: linear-gradient(135deg, #5030E5 0%, #6A44ED 50%, #714FFF 100%);
  padding: 20px 20px 22px;
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
}

.pdl-hero-orb {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

.pdl-hero-orb--tr {
  top: -60px; right: -60px;
  width: 220px; height: 220px;
  background: radial-gradient(circle, rgba(255,255,255,0.18) 0%, transparent 70%);
}

.pdl-hero-orb--bl {
  bottom: -80px; left: -40px;
  width: 180px; height: 180px;
  background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
}

/* Nav row — single child (brand), so center it */

.pdl-detail-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  position: relative;
  z-index: 2;
}

.pdl-logout-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.15);
  border: 1px solid rgba(255,255,255,0.3);
  color: #fff;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  cursor: pointer;
  flex-shrink: 0;
}

.pdl-brand-center {
  display: flex;
  align-items: center;
  gap: 10px;
}

.pdl-brand-logo {
  width: 34px; height: 34px;
  border-radius: 10px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(0,0,0,0.12);
  flex-shrink: 0;
}

.pdl-brand-text { display: flex; flex-direction: column; line-height: 1.1;
}

.pdl-brand-name { color: #fff; font-size: 16px; font-weight: 700; letter-spacing: -0.3px;
}

.pdl-brand-sub  { color: rgba(255,255,255,0.72); font-size: 11px; font-weight: 500; margin-top: 2px;
}

/* RID + badge row */

.pdl-detail-rid-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  position: relative;
  z-index: 2;
  margin-bottom: 14px;
}

.pdl-rid-label {
  color: rgba(255,255,255,0.7);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  margin-bottom: 3px;
}

.pdl-rid-value {
  color: #fff;
  font-size: 28px;
  font-weight: 800;
  letter-spacing: -0.8px;
  line-height: 1;
}

/* Hero badge */

.pdl-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 11px;
  border-radius: 100px;
  font-size: 11.5px;
  font-weight: 600;
  flex-shrink: 0;
  margin-top: 18px;
}

.pdl-hero-badge-dot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0;
}

.pdl-hero-badge--mint {
  background: rgba(255,255,255,0.22);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.2);
}

.pdl-hero-badge--mint .pdl-hero-badge-dot { background: #A7F3D0;
}

.pdl-hero-badge--green {
  background: rgba(16,185,129,0.3);
  color: #ECFDF5;
  border: 1px solid rgba(110,231,183,0.45);
}

.pdl-hero-badge--green .pdl-hero-badge-dot { background: #34D399;
}

.pdl-hero-badge--amber {
  background: rgba(245,158,11,0.35);
  color: #FEF3C7;
  border: 1px solid rgba(252,211,77,0.5);
}

.pdl-hero-badge--amber .pdl-hero-badge-dot { background: #FCD34D;
}

.pdl-hero-badge--red {
  background: rgba(239,68,68,0.35);
  color: #FEE2E2;
  border: 1px solid rgba(252,165,165,0.5);
}

.pdl-hero-badge--red .pdl-hero-badge-dot { background: #FCA5A5;
}

.pdl-hero-badge--orange {
  background: rgba(234,88,12,0.35);
  color: #FFEDD5;
  border: 1px solid rgba(253,186,116,0.5);
}

.pdl-hero-badge--orange .pdl-hero-badge-dot { background: #FB923C;
}

/* Hero tags */

.pdl-hero-tags {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  position: relative;
  z-index: 2;
}

.pdl-hero-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 11px;
  background: rgba(255,255,255,0.18);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,0.15);
  color: #fff;
  border-radius: 100px;
  font-size: 11.5px;
  font-weight: 500;
}

.pdl-hero-tag svg { flex-shrink: 0;
}

/* ── Body ──────────────────────────────────────────────────────────────── */

.pdl-body {
  flex: 1;
  overflow-y: auto;
  padding: 14px 16px 300px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  -webkit-overflow-scrolling: touch;
}

.pdl-body::-webkit-scrollbar { display: none;
}

/* ── Alert banners ─────────────────────────────────────────────────────── */

.pdl-alert {
  padding: 12px 14px;
  border-radius: 12px;
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.45;
}

.pdl-alert-icon {
  width: 20px; height: 20px;
  border-radius: 50%;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1px;
}

.pdl-alert-icon svg { width: 12px; height: 12px; color: #fff;
}

.pdl-alert--success {
  background: #D1FAE5;
  border: 1px solid #6EE7B7;
  color: #065F46;
}

.pdl-alert--success .pdl-alert-icon { background: #059669;
}

.pdl-alert--warning {
  background: var(--pdl-amber-bg);
  border: 1px solid var(--pdl-amber-border);
  color: var(--pdl-amber-text);
}

.pdl-alert--warning .pdl-alert-icon { background: #F59E0B;
}

.pdl-alert--danger {
  background: #FEE2E2;
  border: 1px solid #FCA5A5;
  color: #991B1B;
}

.pdl-alert--danger .pdl-alert-icon { background: var(--pdl-red);
}

/* ── Sections ──────────────────────────────────────────────────────────── */

.pdl-section {
  background: #fff;
  border-radius: 16px;
  padding: 14px 16px;
  box-shadow: 0 1px 2px rgba(17,12,46,0.04), 0 4px 16px rgba(80,48,229,0.04);
}

.pdl-section-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13.5px;
  font-weight: 700;
  color: var(--pdl-text);
  letter-spacing: -0.2px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--pdl-lavender);
  margin-bottom: 4px;
}

.pdl-section-icon {
  width: 22px; height: 22px;
  border-radius: 6px;
  background: var(--pdl-lavender);
  color: var(--pdl-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.pdl-section-icon svg { width: 14px; height: 14px;
}

/* KV rows */

.pdl-kv-row {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 10px 0;
  border-bottom: 1px solid var(--pdl-lavender);
}

.pdl-kv-row:last-child { border-bottom: none; padding-bottom: 2px;
}

.pdl-kv-icon {
  width: 28px; height: 28px;
  border-radius: 8px;
  background: var(--pdl-bg);
  color: var(--pdl-muted);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 1px;
}

.pdl-kv-icon svg { width: 14px; height: 14px;
}

.pdl-kv-content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 44px;
}

.pdl-kv-label {
  font-size: 10.5px;
  color: var(--pdl-muted);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 2px;
  min-height: 14px;
}

.pdl-kv-value {
  font-size: 13px;
  color: var(--pdl-text);
  font-weight: 600;
  line-height: 1.4;
  word-break: break-word;
  overflow-wrap: break-word;
  white-space: normal;
  min-height: 18px;
}

/* Session stats */

.pdl-stat-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin: 12px 0 14px;
}

.pdl-stat-box {
  padding: 12px 8px;
  background: var(--pdl-bg);
  border: 1px solid var(--pdl-border);
  border-radius: 12px;
  text-align: center;
}

.pdl-stat-num {
  font-size: 24px;
  font-weight: 800;
  letter-spacing: -0.8px;
  line-height: 1;
}

.pdl-stat-num--primary { color: var(--pdl-primary);
}

.pdl-stat-num--green   { color: var(--pdl-green);
}

.pdl-stat-num--orange  { color: var(--pdl-orange);
}

.pdl-stat-num--muted   { color: var(--pdl-muted);
}

.pdl-stat-lbl {
  font-size: 9.5px;
  color: var(--pdl-muted);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  margin-top: 4px;
}

/* Progress bar */

.pdl-progress-label-row {
  display: flex;
  justify-content: space-between;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--pdl-muted);
  margin-bottom: 6px;
}

.pdl-progress-bar {
  height: 6px;
  background: var(--pdl-lavender);
  border-radius: 100px;
  overflow: hidden;
}

.pdl-progress-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--pdl-primary), var(--pdl-primary-lt));
  border-radius: 100px;
}

.pdl-progress-fill--green {
  background: linear-gradient(90deg, #059669, #10B981);
}

/* ── Action Tray ───────────────────────────────────────────────────────── */

.pdl-action-tray {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  background: #fff;
  border-top-left-radius: 24px;
  border-top-right-radius: 24px;
  padding: 12px 12px calc(16px + env(safe-area-inset-bottom, 0px));
  box-shadow: 0 -8px 32px rgba(80,48,229,0.12), 0 -2px 8px rgba(0,0,0,0.04);
  z-index: 20;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.pdl-action-tray-label {
  font-size: 10px;
  font-weight: 700;
  color: var(--pdl-muted);
  text-transform: uppercase;
  letter-spacing: 1.2px;
  margin-bottom: 2px;
}

.pdl-tray-primary-row { width: 100%;
}

/* Primary large button */

.pdl-tray-btn-primary {
  width: 100%;
  padding: 14px 16px;
  border-radius: 14px;
  border: none;
  cursor: pointer;
  font-family: inherit;
  font-size: 14.5px;
  font-weight: 700;
  letter-spacing: -0.2px;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 12px;
  transition: transform 0.12s ease, opacity 0.15s ease;
}

.pdl-tray-btn-primary:active { transform: scale(0.985) translateY(1px);
}

.pdl-tray-btn-icon {
  width: 32px; height: 32px;
  border-radius: 8px;
  background: rgba(255,255,255,0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.pdl-tray-btn-icon svg { width: 16px; height: 16px; color: #fff;
}

.pdl-tray-btn-label { flex: 1; text-align: left;
}

.pdl-tray-btn-chevron { opacity: 0.8; display: flex; align-items: center;
}

.pdl-tray-btn-chevron svg { color: #fff;
}

.pdl-tray-btn-primary--purple {
  background: linear-gradient(135deg, var(--pdl-primary), var(--pdl-primary-lt));
  box-shadow: 0 8px 20px rgba(113,79,255,0.35);
}

.pdl-tray-btn-primary--green {
  background: linear-gradient(135deg, #059669, #10B981);
  box-shadow: 0 8px 20px rgba(16,185,129,0.3);
}

.pdl-tray-btn-primary--blue {
  background: linear-gradient(135deg, var(--pdl-blue-dk), var(--pdl-blue));
  box-shadow: 0 8px 20px rgba(37,99,235,0.3);
}

.pdl-tray-btn-primary--red {
  background: linear-gradient(135deg, #991B1B, var(--pdl-red));
  box-shadow: 0 8px 20px rgba(220,38,38,0.3);
}

.pdl-tray-btn-primary--orange {
  background: linear-gradient(135deg, #C2410C, var(--pdl-orange));
  box-shadow: 0 8px 20px rgba(234,88,12,0.3);
}

.pdl-tray-btn-primary--green-dark {
  background: linear-gradient(135deg, var(--pdl-green-dk), #059669);
  box-shadow: 0 8px 20px rgba(5,150,105,0.3);
}

/* Secondary square grid */

.pdl-tray-grid {
  display: grid;
  gap: 8px;
}

.pdl-tray-grid--1 { grid-template-columns: 1fr;
}

.pdl-tray-grid--2 { grid-template-columns: 1fr 1fr;
}

/* Compact overrides inside 2-col grid — prevents text wrap on half-width buttons */

.pdl-tray-grid--2 .pdl-tray-btn-primary,
.pdl-tray-grid--2 .pdl-tray-btn-sq {
  padding: 12px 10px;
  font-size: 12.5px;
  gap: 8px;
}

.pdl-tray-grid--2 .pdl-tray-btn-icon,
.pdl-tray-grid--2 .pdl-tray-btn-sq-icon {
  width: 28px;
  height: 28px;
  border-radius: 7px;
}

.pdl-tray-grid--2 .pdl-tray-btn-chevron,
.pdl-tray-grid--2 .pdl-tray-btn-sq-chevron { display: none;
}

.pdl-tray-btn-sq {
  width: 100%;
  padding: 14px 16px;
  border-radius: 14px;
  border: none;
  cursor: pointer;
  font-family: inherit;
  font-size: 14.5px;
  font-weight: 700;
  letter-spacing: -0.2px;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 12px;
  transition: transform 0.12s ease, opacity 0.15s ease;
}

.pdl-tray-btn-sq:active { transform: scale(0.985) translateY(1px);
}

.pdl-tray-btn-sq-icon {
  width: 32px; height: 32px;
  border-radius: 8px;
  background: rgba(255,255,255,0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.pdl-tray-btn-sq-icon svg { width: 16px; height: 16px; color: #fff;
}

.pdl-tray-btn-sq-label { flex: 1; text-align: left; line-height: 1.2;
}

.pdl-tray-btn-sq-chevron { opacity: 0.8; display: flex; align-items: center;
}

.pdl-tray-btn-sq-chevron svg { color: #fff;
}

.pdl-tray-btn-sq--blue       { background: linear-gradient(135deg, var(--pdl-blue-dk), var(--pdl-blue));       box-shadow: 0 4px 12px rgba(37,99,235,0.25);
}

.pdl-tray-btn-sq--orange     { background: linear-gradient(135deg, #C2410C, var(--pdl-orange));                 box-shadow: 0 4px 12px rgba(234,88,12,0.25);
}

.pdl-tray-btn-sq--red        { background: linear-gradient(135deg, #991B1B, var(--pdl-red));                    box-shadow: 0 4px 12px rgba(220,38,38,0.25);
}

.pdl-tray-btn-sq--green      { background: linear-gradient(135deg, #059669, var(--pdl-green-lt));               box-shadow: 0 4px 12px rgba(16,185,129,0.25);
}

.pdl-tray-btn-sq--green-dark { background: linear-gradient(135deg, var(--pdl-green-dk), #059669);               box-shadow: 0 4px 12px rgba(5,150,105,0.25);
}

.pdl-tray-btn-sq--outline {
  background: #fff;
  border: 1.5px solid var(--pdl-border);
  color: var(--pdl-primary);
}

.pdl-tray-btn-sq--outline .pdl-tray-btn-sq-icon { background: var(--pdl-lavender);
}

.pdl-tray-btn-sq--outline .pdl-tray-btn-sq-icon svg { color: var(--pdl-primary);
}

.pdl-tray-btn-sq--outline .pdl-tray-btn-sq-chevron { color: var(--pdl-primary-lt);
}

/* Full-width secondary outline (View Prescription) */

.pdl-tray-btn-full {
  width: 100%;
  padding: 14px 16px;
  border-radius: 14px;
  background: #fff;
  border: 1.5px solid var(--pdl-border);
  color: var(--pdl-primary);
  font-family: inherit;
  font-size: 14.5px;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 12px;
  transition: background 0.15s ease;
}

.pdl-tray-btn-full:active { background: var(--pdl-lavender);
}

.pdl-tray-btn-full-icon {
  width: 26px; height: 26px;
  border-radius: 7px;
  background: var(--pdl-lavender);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.pdl-tray-btn-full-icon svg { width: 14px; height: 14px; color: var(--pdl-primary);
}

.pdl-tray-btn-full-label { flex: 1; text-align: left;
}

.pdl-tray-btn-full-chevron { color: var(--pdl-primary-lt); display: flex;
}

/* ── Bottom Sheet / Overlay ────────────────────────────────────────────── */

.pdl-overlay {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(21,18,43,0);
  z-index: 100;
  pointer-events: none;
  transition: background 0.3s ease;
}

.pdl-overlay--show {
  background: rgba(21,18,43,0.45);
  backdrop-filter: blur(4px);
  pointer-events: auto;
}

.pdl-sheet {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  background: #fff;
  border-top-left-radius: 28px;
  border-top-right-radius: 28px;
  padding: 12px 20px 32px;
  max-height: 82%;
  overflow-y: auto;
  transform: translateY(100%);
  transition: transform 0.35s cubic-bezier(0.32, 0.72, 0.3, 1);
  box-shadow: 0 -20px 60px rgba(80,48,229,0.25);
}

.pdl-sheet::-webkit-scrollbar { display: none;
}

.pdl-sheet--show { transform: translateY(0);
}

.pdl-sheet-handle {
  width: 40px; height: 4px;
  background: var(--pdl-border);
  border-radius: 100px;
  margin: 0 auto 14px;
}

/* Sheet header */

.pdl-sheet-hdr {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--pdl-lavender);
  margin-bottom: 14px;
}

.pdl-sheet-ico {
  width: 44px; height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  flex-shrink: 0;
}

.pdl-sheet-ico svg { width: 18px; height: 18px;
}

.pdl-sheet-ico--blue       { background: linear-gradient(135deg, var(--pdl-blue-dk), var(--pdl-blue));
}

.pdl-sheet-ico--green      { background: linear-gradient(135deg, #059669, #10B981);
}

.pdl-sheet-ico--green-dark { background: linear-gradient(135deg, var(--pdl-green-dk), #059669);
}

.pdl-sheet-ico--orange     { background: linear-gradient(135deg, #C2410C, var(--pdl-orange));
}

.pdl-sheet-ico--red        { background: linear-gradient(135deg, #991B1B, var(--pdl-red));
}

.pdl-sheet-ico--purple     { background: linear-gradient(135deg, var(--pdl-primary), var(--pdl-primary-lt));
}

.pdl-sheet-hdr-text { flex: 1;
}

.pdl-sheet-title    { font-size: 17px; font-weight: 700; color: var(--pdl-text); letter-spacing: -0.3px; line-height: 1.2;
}

.pdl-sheet-subtitle { font-size: 12.5px; color: var(--pdl-muted); font-weight: 500; margin-top: 3px; line-height: 1.35;
}

.pdl-sheet-close {
  width: 30px; height: 30px;
  border-radius: 50%;
  background: var(--pdl-bg);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--pdl-muted);
  flex-shrink: 0;
  padding: 0;
}

.pdl-sheet-close svg { width: 14px; height: 14px;
}

.pdl-sheet-close:active { background: var(--pdl-lavender);
}

/* Sheet body */

.pdl-sheet-body { margin-bottom: 18px;
}

/* Sheet note */

.pdl-sheet-note {
  background: var(--pdl-bg);
  border-radius: 12px;
  padding: 10px 12px;
  font-size: 11.5px;
  color: var(--pdl-muted);
  font-weight: 500;
  line-height: 1.45;
  display: flex;
  gap: 8px;
  align-items: flex-start;
}

.pdl-sheet-note svg { flex-shrink: 0; margin-top: 1px; width: 14px; height: 14px; color: var(--pdl-primary-lt);
}

.pdl-sheet-note--purple { background: #EDE9FF; color: var(--pdl-primary);
}

/* Sheet CTA */

.pdl-sheet-cta {
  display: flex;
  gap: 8px;
}

.pdl-sheet-btn {
  flex: 1;
  padding: 14px 16px;
  border-radius: 14px;
  border: none;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: -0.2px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: transform 0.12s ease, opacity 0.15s ease;
}

.pdl-sheet-btn:active:not(:disabled) { transform: scale(0.99) translateY(1px);
}

.pdl-sheet-btn:disabled { opacity: 0.5; cursor: not-allowed;
}

.pdl-sheet-btn--outline {
  background: #fff;
  border: 1.5px solid var(--pdl-border);
  color: var(--pdl-muted);
}

.pdl-sheet-btn--purple {
  background: linear-gradient(135deg, var(--pdl-primary), var(--pdl-primary-lt));
  color: #fff;
  box-shadow: 0 8px 20px rgba(113,79,255,0.3);
}

.pdl-sheet-btn--green {
  background: linear-gradient(135deg, #059669, #10B981);
  color: #fff;
  box-shadow: 0 8px 20px rgba(16,185,129,0.3);
}

.pdl-sheet-btn--red {
  background: linear-gradient(135deg, #991B1B, var(--pdl-red));
  color: #fff;
  box-shadow: 0 8px 20px rgba(220,38,38,0.3);
}

.pdl-sheet-btn--blue {
  background: linear-gradient(135deg, var(--pdl-blue-dk), var(--pdl-blue));
  color: #fff;
  box-shadow: 0 8px 20px rgba(37,99,235,0.3);
}

/* ── Call Sheet ────────────────────────────────────────────────────────── */

.pdl-call-hero {
  text-align: center;
  padding: 20px 0 22px;
}

.pdl-call-avatar {
  width: 84px; height: 84px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--pdl-primary), var(--pdl-primary-lt));
  color: #fff;
  font-size: 28px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 14px;
  box-shadow: 0 12px 28px rgba(113,79,255,0.3);
}

.pdl-call-name  { font-size: 19px; font-weight: 700; color: var(--pdl-text); letter-spacing: -0.3px;
}

.pdl-call-phone { font-size: 15px; color: var(--pdl-muted); font-weight: 500; margin-top: 4px;
}

/* Full-width voice call button */

.pdl-call-voice-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 15px;
  border-radius: 14px;
  background: linear-gradient(135deg, #059669, #10B981);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(16,185,129,0.35);
  transition: opacity 0.15s ease, transform 0.12s ease;
}

.pdl-call-voice-btn:active { opacity: 0.88; transform: scale(0.99) translateY(1px);
}

.pdl-call-voice-ico {
  width: 30px; height: 30px;
  border-radius: 8px;
  background: rgba(255,255,255,0.22);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.pdl-call-voice-ico svg { width: 18px; height: 18px;
}

/* ── Summary card ──────────────────────────────────────────────────────── */

.pdl-summary-card {
  background: var(--pdl-bg);
  border: 1.5px solid var(--pdl-border);
  border-radius: 14px;
  padding: 4px 14px;
}

.pdl-summary-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--pdl-lavender);
}

.pdl-summary-row:last-child { border-bottom: none;
}

.pdl-summary-key { font-size: 11.5px; color: var(--pdl-muted); font-weight: 600; text-transform: uppercase; letter-spacing: 0.3px; flex-shrink: 0;
}

.pdl-summary-val { font-size: 13px; color: var(--pdl-text); font-weight: 600; text-align: right;
}

.pdl-summary-row--wrap { align-items: flex-start; flex-wrap: wrap; gap: 6px;
}

.pdl-summary-val--wrap { text-align: left; font-weight: 500; font-size: 12.5px; color: var(--pdl-muted); flex: 1; min-width: 0;
}

/* ── Form elements ─────────────────────────────────────────────────────── */

.pdl-form-field { margin-bottom: 14px;
}

.pdl-form-label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  color: var(--pdl-muted);
  text-transform: uppercase;
  letter-spacing: 0.6px;
  margin-bottom: 6px;
}

.pdl-input, .pdl-textarea, .pdl-select {
  width: 100%;
  background: var(--pdl-bg);
  border: 1.5px solid var(--pdl-border);
  border-radius: 12px;
  padding: 12px 14px;
  font-family: inherit;
  font-size: 13.5px;
  color: var(--pdl-text);
  font-weight: 500;
  outline: none;
  transition: border-color 0.15s ease, background 0.15s ease;
}

.pdl-input:focus, .pdl-textarea:focus, .pdl-select:focus {
  border-color: var(--pdl-primary-lt);
  background: #fff;
}

.pdl-textarea { resize: none; min-height: 80px;
}

.pdl-select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B6889' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 36px;
  cursor: pointer;
}

/* ── Date / Slot chips ─────────────────────────────────────────────────── */

.pdl-chip-row {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 4px;
  scrollbar-width: none;
  margin: 0 -20px;
  padding-left: 20px;
  padding-right: 20px;
}

.pdl-chip-row::-webkit-scrollbar { display: none;
}

.pdl-chip {
  padding: 10px 14px;
  background: var(--pdl-bg);
  border: 1.5px solid var(--pdl-border);
  border-radius: 12px;
  font-family: inherit;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--pdl-muted);
  cursor: pointer;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  min-width: 56px;
  transition: all 0.15s ease;
}

.pdl-chip-sub { font-size: 10px; color: var(--pdl-placeholder); font-weight: 500; text-transform: uppercase; letter-spacing: 0.4px;
}

.pdl-chip--active {
  background: linear-gradient(135deg, var(--pdl-primary), var(--pdl-primary-lt));
  border-color: transparent;
  color: #fff;
  box-shadow: 0 6px 14px rgba(113,79,255,0.3);
}

.pdl-chip--active .pdl-chip-sub { color: rgba(255,255,255,0.85);
}

.pdl-chip-row--slot { margin: 0; padding: 0;
}

.pdl-slot-chip {
  padding: 9px 18px;
  background: var(--pdl-bg);
  border: 1.5px solid var(--pdl-border);
  border-radius: 10px;
  font-family: inherit;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--pdl-muted);
  cursor: pointer;
  flex-shrink: 0;
  transition: all 0.15s ease;
}

.pdl-slot-chip--active {
  background: var(--pdl-primary-lt);
  border-color: var(--pdl-primary-lt);
  color: #fff;
  box-shadow: 0 4px 10px rgba(113,79,255,0.3);
}

/* ── Radio list ────────────────────────────────────────────────────────── */

.pdl-radio-list { display: flex; flex-direction: column; gap: 8px;
}

.pdl-radio-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  background: var(--pdl-bg);
  border: 1.5px solid var(--pdl-border);
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.15s ease;
}

.pdl-radio-item--active {
  background: #F6F3FF;
  border-color: var(--pdl-primary-lt);
}

.pdl-radio-dot {
  width: 18px; height: 18px;
  border-radius: 50%;
  border: 2px solid var(--pdl-border);
  flex-shrink: 0;
  position: relative;
  transition: all 0.15s ease;
}

.pdl-radio-item--active .pdl-radio-dot {
  border-color: var(--pdl-primary-lt);
  background: var(--pdl-primary-lt);
}

.pdl-radio-item--active .pdl-radio-dot::after {
  content: '';
  position: absolute;
  inset: 3px;
  border-radius: 50%;
  background: #fff;
}

.pdl-radio-label { font-size: 13px; font-weight: 600; color: var(--pdl-text);
}

/* ── Rx / Prescription sheet ───────────────────────────────────────────── */

.pdl-rx-empty { text-align: center; padding: 32px 16px; color: var(--pdl-muted); font-size: 13px; font-weight: 500;
}

.pdl-rx-list { display: flex; flex-direction: column; gap: 8px;
}

.pdl-rx-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px;
  background: var(--pdl-lavender);
  border-radius: 12px;
  border: none;
  cursor: pointer;
  font-family: inherit;
  width: 100%;
  text-align: left;
  transition: background 0.15s ease;
}

.pdl-rx-item:active { background: #E0DBFF;
}

.pdl-rx-item-icon {
  width: 36px; height: 36px;
  border-radius: 10px;
  background: linear-gradient(135deg, var(--pdl-primary), var(--pdl-primary-lt));
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.pdl-rx-item-icon svg { width: 16px; height: 16px;
}

.pdl-rx-item-label { flex: 1; font-size: 13.5px; font-weight: 600; color: var(--pdl-text);
}

.pdl-rx-item-arrow { color: var(--pdl-primary-lt); display: flex;
}

/* ── Session OTP ───────────────────────────────────────────────────────── */

.pdl-otp-row {
  display: flex;
  gap: 10px;
  justify-content: center;
  margin: 8px 0 4px;
}

.pdl-otp-input {
  width: 58px; height: 64px;
  background: var(--pdl-bg);
  border: 1.5px solid var(--pdl-border);
  border-radius: 14px;
  font-family: inherit;
  font-size: 24px;
  font-weight: 800;
  color: var(--pdl-text);
  text-align: center;
  outline: none;
  transition: all 0.15s ease;
}

.pdl-otp-input:focus {
  border-color: var(--pdl-primary-lt);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(113,79,255,0.12);
}

.pdl-otp-input--filled {
  border-color: var(--pdl-primary-lt);
  background: #fff;
  color: var(--pdl-primary);
}

/* ── Toast ─────────────────────────────────────────────────────────────── */

.pdl-toast {
  position: fixed;
  top: 80px;
  left: 50%;
  transform: translate(-50%, -20px);
  background: #fff;
  border-radius: 14px;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  gap: 10px;
  box-shadow: 0 10px 30px rgba(16,185,129,0.25), 0 4px 12px rgba(0,0,0,0.08);
  z-index: 200;
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s cubic-bezier(0.32,0.72,0.3,1);
  max-width: 320px;
  min-width: 240px;
}

.pdl-toast--show {
  opacity: 1;
  transform: translate(-50%, 0);
}

.pdl-toast-icon {
  width: 32px; height: 32px;
  border-radius: 10px;
  background: linear-gradient(135deg, #059669, #10B981);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.pdl-toast--error .pdl-toast-icon {
  background: linear-gradient(135deg, #991B1B, #DC2626);
}

.pdl-toast--error { box-shadow: 0 10px 30px rgba(220,38,38,0.2), 0 4px 12px rgba(0,0,0,0.08);
}

.pdl-toast-icon svg { width: 16px; height: 16px;
}

.pdl-toast-body { flex: 1; min-width: 0;
}

.pdl-toast-title { font-size: 13px; font-weight: 700; color: var(--pdl-text); letter-spacing: -0.2px;
}

.pdl-toast-sub   { font-size: 11px; color: var(--pdl-muted); font-weight: 500; margin-top: 1px;
}

/* ── Physio Mobile Home ────────────────────────────────────────────────── */

.pmh-page {
  background: var(--pdl-bg);
  /* Use fixed positioning to fill viewport reliably on iOS Safari
     regardless of URL bar visibility or zoom state */
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  /* Override pdl-page centering/width rules */
  width: 100%;
  max-width: 100%;
  margin: 0;
  min-height: unset;
  height: auto;
  overflow: hidden;
}

/* Header */

.pmh-header {
  background: linear-gradient(135deg, #5030E5 0%, #6A44ED 50%, #714FFF 100%);
  padding: 16px 20px 18px;
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
}

.pmh-header::before {
  content: '';
  position: absolute;
  top: -40px; right: -40px;
  width: 180px; height: 180px;
  background: radial-gradient(circle, rgba(255,255,255,0.15) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

.pmh-header::after {
  content: '';
  position: absolute;
  bottom: -60px; left: -20px;
  width: 140px; height: 140px;
  background: radial-gradient(circle, rgba(255,255,255,0.08) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

.pmh-header-row {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  position: relative;
  z-index: 2;
}

/* Logout sits in the right column, pushed to the end */

.pmh-header-row > .pdl-logout-btn {
  justify-self: end;
}

.pmh-brand-sub {
  color: rgba(255,255,255,0.75);
  font-size: 11.5px;
  font-weight: 500;
  margin-top: 2px;
}

/* Sticky white section — flat, no rounded overlap */

.pmh-sticky {
  background: #fff;
  padding: 14px 16px 10px;
  box-shadow: 0 4px 12px rgba(80,48,229,0.06);
  flex-shrink: 0;
  position: relative;
  z-index: 10;
  overflow-x: hidden;
}

/* Search bar — icon absolutely positioned over input */

.pmh-search-wrap {
  position: relative;
  margin-bottom: 12px;
}

.pmh-search-ico {
  position: absolute;
  left: 14px; top: 50%;
  transform: translateY(-50%);
  color: var(--pdl-placeholder);
  pointer-events: none;
  display: flex;
}

.pmh-search-input {
  width: 100%;
  height: 42px;
  background: var(--pdl-bg);
  border: 1.5px solid var(--pdl-border);
  border-radius: 12px;
  padding: 0 40px 0 40px;
  font-family: inherit;
  font-size: 13.5px;
  color: var(--pdl-text);
  outline: none;
  transition: border-color 0.15s, background 0.15s;
}

.pmh-search-input::-moz-placeholder { color: var(--pdl-placeholder); font-weight: 400;
}

.pmh-search-input::placeholder { color: var(--pdl-placeholder); font-weight: 400;
}

.pmh-search-input:focus { border-color: var(--pdl-primary-lt); background: #fff;
}

/* Filter tabs row — horizontal scroll, bleeds to edges */

.pmh-tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  margin: 0 -16px;
  padding: 0 16px 2px;
  scrollbar-width: none;
}

.pmh-tabs::-webkit-scrollbar { display: none;
}

.pmh-tab {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  border-radius: 100px;
  border: 1.5px solid var(--pdl-border);
  background: #fff;
  font-family: inherit;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--pdl-muted);
  cursor: pointer;
  flex-shrink: 0;
  white-space: nowrap;
  transition: all 0.18s ease;
}

.pmh-tab--active {
  background: var(--pdl-primary-lt);
  border-color: var(--pdl-primary-lt);
  color: #fff;
  box-shadow: 0 4px 10px rgba(113,79,255,0.28);
}

.pmh-tab-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  background: var(--pdl-lavender);
  color: var(--pdl-muted);
  border-radius: 9px;
  font-size: 10.5px;
  font-weight: 700;
}

.pmh-tab--active .pmh-tab-count {
  background: rgba(255,255,255,0.25);
  color: #fff;
}

/* List body */

.pmh-list-body {
  flex: 1;
  overflow-y: auto;
  padding: 14px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  -webkit-overflow-scrolling: touch;
}

.pmh-list-body::-webkit-scrollbar { display: none;
}

/* Card entrance animation */

@keyframes pmh-fadeUp {
  from { opacity: 0; transform: translateY(10px);
  }

  to   { opacity: 1; transform: translateY(0);
  }
}

/* Card — matches card-simple from design */

.pmh-card-simple {
  width: 100%;
  min-height: 80px;
  background: #fff;
  border-radius: 16px;
  padding: 18px 16px 18px 18px;
  border: none;
  cursor: pointer;
  font-family: inherit;
  text-align: left;
  box-shadow: 0 1px 2px rgba(17,12,46,0.04), 0 4px 16px rgba(80,48,229,0.06);
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  position: relative;
  overflow: hidden;
  animation: pmh-fadeUp 0.4s ease-out backwards;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.pmh-card-simple:nth-child(1) { animation-delay: 0.05s;
}

.pmh-card-simple:nth-child(2) { animation-delay: 0.10s;
}

.pmh-card-simple:nth-child(3) { animation-delay: 0.15s;
}

.pmh-card-simple:nth-child(4) { animation-delay: 0.20s;
}

.pmh-card-simple:nth-child(5) { animation-delay: 0.25s;
}

.pmh-card-simple:nth-child(6) { animation-delay: 0.30s;
}

.pmh-card-simple::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background: transparent;
  transition: background 0.18s ease;
}

.pmh-card-simple:active {
  transform: scale(0.99);
}

.pmh-card-simple.pmh-card-pressed {
  box-shadow: 0 2px 4px rgba(113,79,255,0.08), 0 8px 24px rgba(113,79,255,0.14), inset 0 0 0 1.5px rgba(113,79,255,0.22);
  transform: translateY(-1px);
}

.pmh-card-simple.pmh-card-pressed::before { background: linear-gradient(to bottom, #714FFF, #5030E5);
}

/* Card left column */

.pmh-card-left {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
  flex: 1;
}

/* RID badge — rectangular gradient */

.pmh-rid-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 9px 4px 7px;
  background: linear-gradient(135deg, #5030E5, #714FFF);
  color: #fff;
  border-radius: 7px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2px;
  box-shadow: 0 2px 6px rgba(80,48,229,0.25);
  align-self: flex-start;
}

/* Patient name */

.pmh-patient-name {
  font-size: 16px;
  font-weight: 700;
  color: var(--pdl-text);
  letter-spacing: -0.3px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Card right column */

.pmh-card-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

/* Status badges */

.pmh-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px 4px 8px;
  border-radius: 100px;
  font-size: 11px;
  font-weight: 600;
}

.pmh-status-dot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0;
}

.pmh-status-badge--green  { background: #E7F7EE; color: #167C3F;
}

.pmh-status-badge--green .pmh-status-dot  { background: #1FA75A;
}

.pmh-status-badge--purple { background: #EFE9FF; color: #5030E5;
}

.pmh-status-badge--purple .pmh-status-dot { background: #714FFF;
}

.pmh-status-badge--orange { background: #FFF1E1; color: #B35A00;
}

.pmh-status-badge--orange .pmh-status-dot { background: #F08A1C;
}

.pmh-status-badge--red    { background: #FDE8E8; color: #C52828;
}

.pmh-status-badge--red .pmh-status-dot    { background: #E63946;
}

/* Right column — status + visit type stacked */

.pmh-card-right-col {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 5px;
}

.pmh-visit-type-tag {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 6px;
  background: var(--pdl-lavender);
  color: var(--pdl-primary);
  font-size: 10.5px;
  font-weight: 600;
  white-space: nowrap;
}

/* Chevron */

.pmh-card-chev { color: var(--pdl-primary-lt); display: flex; align-items: center;
}

/* Retry button */

.pmh-retry-btn {
  margin-top: 16px;
  padding: 12px 28px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--pdl-primary), var(--pdl-primary-lt));
  color: #fff;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  border: none;
  cursor: pointer;
}

/* Pagination */

.pmh-pagination {
  background: #fff;
  padding: 12px 16px 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  box-shadow: 0 -4px 12px rgba(80,48,229,0.05);
  flex-shrink: 0;
  border-top: 1px solid #EFEDF7;
}

.pmh-page-btn {
  width: 34px; height: 34px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12.5px;
  font-weight: 600;
  cursor: pointer;
  background: #fff;
  border: 1.5px solid var(--pdl-border);
  color: var(--pdl-muted);
  font-family: inherit;
  transition: all 0.15s ease;
}

.pmh-page-btn:disabled { opacity: 0.4; cursor: not-allowed;
}

.pmh-pagination-dots {
  font-size: 13px;
  font-weight: 600;
  color: var(--pdl-muted);
  display: flex;
  align-items: center;
  padding: 0 2px;
  letter-spacing: 1px;
}

.pmh-page-btn--active {
  background: linear-gradient(135deg, #5030E5, #714FFF);
  color: #fff;
  border-color: transparent;
  border-radius: 50%;
  box-shadow: 0 4px 12px rgba(113,79,255,0.3);
}

/* ── Session OTP row (inline send button + countdown) ─────────────────── */

.pdl-session-otp-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  background: var(--pdl-bg);
  border: 1.5px solid var(--pdl-border);
  border-radius: 12px;
  padding: 12px 14px;
  margin-top: 14px;
}

.pdl-session-otp-num {
  font-size: 13.5px;
  font-weight: 700;
  color: var(--pdl-text);
}

.pdl-session-otp-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.pdl-otp-send-btn {
  padding: 6px 14px;
  border-radius: 100px;
  border: 1.5px solid var(--pdl-primary-lt);
  background: transparent;
  color: var(--pdl-primary-lt);
  font-family: inherit;
  font-size: 12.5px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
}

.pdl-otp-send-btn:active:not(:disabled) { background: var(--pdl-lavender);
}

.pdl-otp-send-btn:disabled { opacity: 0.55; cursor: not-allowed;
}

.pdl-otp-send-btn--sent {
  border-color: var(--pdl-border);
  color: var(--pdl-muted);
}

.pdl-otp-countdown {
  font-size: 13px;
  font-weight: 600;
  color: var(--pdl-muted);
  white-space: nowrap;
}

/* OTP text input error state */

.pdl-input--error {
  border-color: var(--pdl-red) !important;
  background: #FFF5F5 !important;
}

/* ── File upload zone ──────────────────────────────────────────────────── */

.pdl-file-zone-wrap { margin-bottom: 14px;
}

.pdl-file-zone {
  border: 2px dashed var(--pdl-primary-lt);
  border-radius: 14px;
  background: #F8F5FF;
  min-height: 90px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 6px;
  cursor: pointer;
  padding: 16px;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.pdl-file-zone:active { background: #EDE9FF;
}

.pdl-file-zone-plus {
  font-size: 28px;
  line-height: 1;
  color: var(--pdl-primary-lt);
  font-weight: 300;
}

.pdl-file-zone-hint {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--pdl-primary-lt);
}

.pdl-file-zone-sub {
  font-size: 10.5px;
  color: var(--pdl-placeholder);
  font-weight: 500;
  margin-top: 4px;
}

.pdl-file-zone-add {
  font-size: 22px;
  color: var(--pdl-primary-lt);
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
  flex-shrink: 0;
}

/* File thumbnails list */

.pdl-file-thumbs {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.pdl-file-thumb {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  border: 1px solid var(--pdl-border);
  border-radius: 8px;
  padding: 8px 10px;
}

.pdl-file-thumb-name {
  flex: 1;
  font-size: 12px;
  font-weight: 600;
  color: var(--pdl-text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pdl-file-thumb-remove {
  background: #FEE2E2;
  border: none;
  width: 26px;
  height: 26px;
  border-radius: 7px;
  color: var(--pdl-red);
  cursor: pointer;
  padding: 0;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s ease;
}

.pdl-file-thumb-remove:active { background: #FECACA;
}

/* Two-column upload zones layout */

.pdl-upload-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

/* ── Invoice Breakup Step ──────────────────────────────────────────────── */

.pdl-preview-wrap {
  background: var(--pdl-bg);
  border: 1px solid var(--pdl-border);
  border-radius: 14px;
  padding: 12px;
  margin-bottom: 6px;
}

.pdl-preview-label {
  font-size: 10.5px;
  font-weight: 700;
  color: var(--pdl-muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 8px;
}

.pdl-preview-carousel {
  border-radius: 10px;
  overflow: hidden;
  position: relative;
  background: #fff;
  min-height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.pdl-preview-img {
  width: 100%;
  max-height: 160px;
  -o-object-fit: contain;
     object-fit: contain;
  border-radius: 10px;
  display: block;
}

.pdl-preview-pdf {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 20px;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--pdl-primary);
  text-align: center;
}

.pdl-preview-pdf span { word-break: break-word;
}

.pdl-preview-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding-top: 8px;
}

.pdl-preview-btn {
  width: 30px; height: 30px;
  border-radius: 50%;
  background: var(--pdl-lavender);
  border: none;
  color: var(--pdl-primary);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: inherit;
  transition: background 0.15s ease;
}

.pdl-preview-btn:disabled { opacity: 0.3; cursor: not-allowed;
}

.pdl-preview-btn:active:not(:disabled) { background: #E0DBFF;
}

.pdl-preview-counter {
  font-size: 12px;
  font-weight: 600;
  color: var(--pdl-muted);
  min-width: 40px;
  text-align: center;
}

/* Sessions + Price row */

.pdl-upload-breakup-row {
  display: flex;
  gap: 10px;
  align-items: flex-start;
}

/* Total cost */

.pdl-total-cost-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--pdl-lavender);
  border-radius: 12px;
  padding: 12px 14px;
  margin-top: 4px;
}

.pdl-total-cost-label {
  font-size: 12px;
  font-weight: 700;
  color: var(--pdl-primary);
  text-transform: uppercase;
  letter-spacing: 0.4px;
}

.pdl-total-cost-value {
  font-size: 18px;
  font-weight: 800;
  color: var(--pdl-primary);
  letter-spacing: -0.4px;
}

/* Sample Prescription row — mobile upload sheet */

.pdl-sample-rx-row {
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--pdl-lavender);
  border: 1.5px solid #CFC8FF;
  border-radius: 12px;
  padding: 10px 12px;
  cursor: pointer;
  margin-top: 4px;
}

.pdl-sample-rx-thumb {
  width: 44px;
  height: 52px;
  border-radius: 6px;
  border: 1px solid #CFC8FF;
  -o-object-fit: cover;
     object-fit: cover;
  flex-shrink: 0;
  background: #ede9ff;
}

.pdl-sample-rx-text {
  flex: 1;
}

.pdl-sample-rx-text p {
  font-size: 13px;
  font-weight: 700;
  color: var(--pdl-primary-lt);
  margin: 0 0 2px;
}

.pdl-sample-rx-text span {
  font-size: 11px;
  color: var(--pdl-muted);
}

.pdl-sample-rx-chevron {
  font-size: 20px;
  color: var(--pdl-primary-lt);
  line-height: 1;
}

/* purgecss end ignore */

