/* =========================================
   Root (Light Theme Defaults) + Compatibility
   ========================================= */
:root,
[data-bs-theme="light"] {
    /* === Base Palette (OKLCH preferred) === */
    --color-black: oklch(0 0 0);
    --color-white: oklch(1 0 0);

    /* Reds */
    --color-red-50: oklch(.971 .013 17.38);
    --color-red-100: oklch(.936 .032 17.717);
    --color-red-200: oklch(.885 .062 18.334);
    --color-red-300: oklch(.808 .114 19.571);
    --color-red-400: oklch(.704 .191 22.216);
    --color-red-500: oklch(.637 .237 25.331);
    --color-red-600: oklch(.577 .245 27.325);
    --color-red-700: oklch(.505 .213 27.518);
    --color-red-800: oklch(.444 .177 26.899);
    --color-red-900: oklch(.396 .141 25.723);
    --color-red-950: oklch(.258 .092 26.042);

    /* Blues */
    --color-blue-50: oklch(.97 .014 254.604);
    --color-blue-100: oklch(.932 .032 255.585);
    --color-blue-200: oklch(.882 .059 254.128);
    --color-blue-300: oklch(.809 .105 251.813);
    --color-blue-400: oklch(.707 .165 254.624);
    --color-blue-500: oklch(.623 .214 259.815);
    --color-blue-600: oklch(.546 .245 262.881);
    --color-blue-700: oklch(.488 .243 264.376);
    --color-blue-800: oklch(.424 .199 265.638);
    --color-blue-900: oklch(.379 .146 265.522);
    --color-blue-950: oklch(.282 .091 267.935);

    /* Greens */
    --color-green-50: oklch(.982 .018 155.826);
    --color-green-100: oklch(.962 .044 156.743);
    --color-green-400: oklch(.792 .209 151.711);
    --color-green-500: oklch(.723 .219 149.579);
    --color-green-600: oklch(.627 .194 149.214);
    --color-green-700: oklch(.527 .154 150.069);
    --color-green-800: oklch(.448 .119 151.328);
    --color-green-950: oklch(.266 .065 152.934);

    /* Yellows / Amber / Lime / Sky / Indigo / Violet / Rose */
    --color-amber-500: oklch(.769 .188 70.08);
    --color-yellow-50: oklch(.987 .026 102.212);
    --color-yellow-100: oklch(.973 .071 103.193);
    --color-yellow-300: oklch(.905 .182 98.111);
    --color-yellow-500: oklch(.795 .184 86.047);
    --color-yellow-600: oklch(.681 .162 75.834);
    --color-yellow-700: oklch(.554 .135 66.442);
    --color-yellow-900: oklch(.421 .095 57.708);
    --color-yellow-950: oklch(.286 .066 53.813);
    --color-lime-300: oklch(.897 .196 126.665);
    --color-sky-200: oklch(.901 .058 230.902);
    --color-sky-500: oklch(.685 .169 237.323);
    --color-indigo-50: oklch(.962 .018 272.314);
    --color-indigo-100: oklch(.93 .034 272.788);
    --color-indigo-200: oklch(.87 .065 274.039);
    --color-indigo-300: oklch(.785 .115 274.713);
    --color-indigo-400: oklch(.673 .182 276.935);
    --color-indigo-500: oklch(.585 .233 277.117);
    --color-indigo-600: oklch(.511 .262 276.966);
    --color-indigo-700: oklch(.457 .24 277.023);
    --color-indigo-800: oklch(.398 .195 277.366);
    --color-indigo-900: oklch(.359 .144 278.697);
    --color-violet-700: oklch(.491 .27 292.581);
    --color-rose-600: oklch(.586 .253 17.585);

    /* Grays (Zinc scale) */
    --color-zinc-50: oklch(.985 0 0);
    --color-zinc-100: oklch(.967 .001 286.375);
    --color-zinc-200: oklch(.92 .004 286.32);
    --color-zinc-300: oklch(.871 .006 286.286);
    --color-zinc-400: oklch(.705 .015 286.067);
    --color-zinc-500: oklch(.552 .016 285.938);
    --color-zinc-600: oklch(.442 .017 285.786);
    --color-zinc-700: oklch(.37 .013 285.805);
    --color-zinc-800: oklch(.274 .006 286.033);
    --color-zinc-900: oklch(.21 .006 285.885);
    --color-zinc-950: oklch(.141 .005 285.823);

    /* Gray aliases */
    --color-gray-50: var(--color-zinc-50);
    --color-gray-100: var(--color-zinc-100);
    --color-gray-200: var(--color-zinc-200);
    --color-gray-300: var(--color-zinc-300);
    --color-gray-400: var(--color-zinc-400);
    --color-gray-500: var(--color-zinc-500);
    --color-gray-600: var(--color-zinc-600);
    --color-gray-700: var(--color-zinc-700);
    --color-gray-800: var(--color-zinc-800);
    --color-gray-900: var(--color-zinc-900);
    --color-gray-950: var(--color-zinc-950);

    /* === Semantic Tokens === */
    --color-primary: var(--color-blue-500);
    --color-secondary: var(--color-gray-600);
    --color-success: var(--color-green-500);
    --color-danger: var(--color-red-500);
    --color-warning: var(--color-yellow-500);
    --color-info: var(--color-blue-300);

    --text-primary: var(--color-black);
    --text-secondary: var(--color-gray-700);
    --muted: var(--color-gray-600);

    --bg-primary: var(--color-white);
    --bg-secondary: var(--color-gray-50);
    --bg-secondary-opacity: rgba(244, 245, 250, 0.5);
    --border-primary: var(--color-gray-300);

    /* Selection & Skeleton */
    --selection-bg: var(--color-blue-100);
    --selection-color: var(--color-black);
    --skeleton-base: var(--color-gray-300);
    --skeleton-highlight: var(--color-gray-100);

    /* === Bootstrap Overrides (complete) === */
    --bs-blue: #3577f1;
    --bs-indigo: #518ce5;
    --bs-purple: #6559cc;
    --bs-pink: #f672a7;
    --bs-red: #f06548;
    --bs-orange: #f1963b;
    --bs-yellow: #f7b84b;
    --bs-green: #0ab39c;
    --bs-teal: #02a8b5;
    --bs-cyan: #299cdb;
    --bs-white: #ffffff;
    --bs-light: #f4f5fa;
    --bs-gray: #878a99;
    --bs-gray-dark: #343a40;
    --bs-gray-100: #f4f5fa;
    --bs-gray-200: #eff2f7;
    --bs-gray-300: #e9ebec;
    --bs-gray-400: #ced4da;
    --bs-gray-500: #adb5bd;
    --bs-gray-600: #878a99;
    --bs-gray-700: #495057;
    --bs-gray-800: #343a40;
    --bs-gray-850: #2b2f33;
    --bs-gray-900: #212529;

    --bs-primary: var(--color-primary);
    --bs-secondary: var(--bs-gray-600);
    --bs-success: var(--color-success);
    --bs-info: var(--color-info);
    --bs-warning: var(--color-warning);
    --bs-danger: var(--color-danger);
    --bs-light: var(--bs-gray-100);
    --bs-dark: var(--bs-gray-800);
    --bs-muted: var(--bs-gray);

    --bs-primary-rgb: 81, 140, 229;
    --bs-secondary-rgb: 135, 138, 153;
    --bs-success-rgb: 10, 179, 156;
    --bs-info-rgb: 41, 156, 219;
    --bs-warning-rgb: 247, 184, 75;
    --bs-danger-rgb: 240, 101, 72;
    --bs-light-rgb: 244, 245, 250;
    --bs-dark-rgb: 52, 58, 64;
    --bs-muted-rgb: 135, 138, 153;
    --bs-white-rgb: 255, 255, 255;
    --bs-black-rgb: 0, 0, 0;

    --bs-primary-text-emphasis: #052c65;
    --bs-secondary-text-emphasis: #2b2f32;
    --bs-success-text-emphasis: #0a3622;
    --bs-info-text-emphasis: #055160;
    --bs-warning-text-emphasis: #664d03;
    --bs-danger-text-emphasis: #58151c;
    --bs-light-text-emphasis: #495057;
    --bs-dark-text-emphasis: #495057;

    --bs-primary-bg-subtle: #cfe2ff;
    --bs-secondary-bg-subtle: #e2e3e5;
    --bs-success-bg-subtle: #d1e7dd;
    --bs-info-bg-subtle: #cff4fc;
    --bs-warning-bg-subtle: #fff3cd;
    --bs-danger-bg-subtle: #f8d7da;
    --bs-light-bg-subtle: #fcfcfd;
    --bs-dark-bg-subtle: #ced4da;

    --bs-primary-border-subtle: #9ec5fe;
    --bs-secondary-border-subtle: #c4c8cb;
    --bs-success-border-subtle: #a3cfbb;
    --bs-info-border-subtle: #9eeaf9;
    --bs-warning-border-subtle: #ffe69c;
    --bs-danger-border-subtle: #f1aeb5;
    --bs-light-border-subtle: #e9ecef;
    --bs-dark-border-subtle: #adb5bd;

    --bs-font-sans-serif: "Poppins", ui-sans-serif, system-ui, sans-serif;
    --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
    --bs-body-font-family: var(--bs-font-sans-serif);
    --bs-body-font-size: 0.8125rem;
    --bs-body-font-weight: 400;
    --bs-body-line-height: 1.5;
    --bs-body-color: #343a40;
    --bs-body-color-rgb: 52, 58, 64;
    --bs-body-bg: #f9faff;
    --bs-body-bg-rgb: 249, 250, 255;
    --bs-emphasis-color: #000;
    --bs-emphasis-color-rgb: 0, 0, 0;
    --bs-secondary-color: rgba(33, 37, 41, 0.75);
    --bs-secondary-color-rgb: 33, 37, 41;
    --bs-secondary-bg: #e9ecef;
    --bs-secondary-bg-rgb: 233, 236, 239;
    --bs-tertiary-color: rgba(33, 37, 41, 0.5);
    --bs-tertiary-color-rgb: 33, 37, 41;
    --bs-tertiary-bg: #f8f9fa;
    --bs-tertiary-bg-rgb: 248, 249, 250;
    --bs-heading-color: inherit;
    --bs-link-color: #518ce5;
    --bs-link-color-rgb: 81, 140, 229;
    --bs-link-decoration: underline;
    --bs-link-hover-color: #0a58ca;
    --bs-link-hover-color-rgb: 10, 88, 202;
    --bs-code-color: #f672a7;
    --bs-highlight-color: #212529;
    --bs-highlight-bg: #fcf8e3;
    --bs-border-width: 1px;
    --bs-border-style: solid;
    --bs-border-color: #e9ebec;
    --bs-border-color-opacity: rgba(233, 235, 236, 0.5);
    --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
    --bs-border-radius: 0.25rem;
    --bs-border-radius-sm: 0.2rem;
    --bs-border-radius-lg: 0.3rem;
    --bs-border-radius-xl: 1rem;
    --bs-border-radius-xxl: 2rem;
    --bs-border-radius-2xl: var(--bs-border-radius-xxl);
    --bs-border-radius-pill: 50rem;
    --bs-box-shadow: 0 1px 2px rgba(56, 65, 74, 0.15);
    --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
    --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
    --bs-focus-ring-width: 0.25rem;
    --bs-focus-ring-opacity: 0.25;
    --bs-focus-ring-color: rgba(13, 110, 253, 0.25);
    --bs-form-valid-color: #198754;
    --bs-form-valid-border-color: #198754;
    --bs-form-invalid-color: #dc3545;
    --bs-form-invalid-border-color: #dc3545;

    /* === Language Fonts === */
    --font-english: var(--bs-font-sans-serif);
    --font-urdu: 'Nafees Web Naskh', 'BBC Reith Qalam', 'Noto Nastaliq Urdu', ui-sans-serif, system-ui, sans-serif;
    --font-arabic: 'Noto Sans Arabic', 'Noto Naskh Arabic', 'Amiri', ui-sans-serif, system-ui, sans-serif;

    /* === Utility === */
    --text-white: #ffffff;
    --tw-ring-shadow: 0 0 #0000;

    /* === Backward Compatibility Aliases === */
    --primary-color: var(--color-primary);
    --secondary-color: var(--color-secondary);
    --success-color: var(--color-success);
    --info-color: var(--color-info);
    --warning-color: var(--color-warning);
    --danger-color: var(--color-danger);
    --light-color: var(--bs-light);
    --dark-color: var(--bs-dark);

    --bg: #f3f5f7;
    /* legacy */
    --text: #222;
    /* legacy */
    --weak: #e74c3c;
    --fair: #f39c12;
    --good: #27ae60;
    --strong: #2ecc71;

    /* Map older names used in your app */
    --bg-primary: var(--bs-white);
    --bg-secondary: var(--bs-gray-100);
    --bg-secondary-opacity: rgba(244, 245, 250, 0.5);
    --text-primary: var(--bs-emphasis-color);
    --text-secondary: var(--bs-dark);
    --border-primary: var(--bs-gray-300);

    /* Primary palette aliases for convenience */
    --color-primary-50: var(--color-blue-50);
    --color-primary-100: var(--color-blue-100);
    --color-primary-200: var(--color-blue-200);
    --color-primary-300: var(--color-blue-300);
    --color-primary-400: var(--color-blue-400);
    --color-primary-500: var(--color-blue-500);
    --color-primary-600: var(--color-blue-600);
    --color-primary-700: var(--color-blue-700);
    --color-primary-800: var(--color-blue-800);
    --color-primary-900: var(--color-blue-900);
    --color-primary-950: var(--color-blue-950);

    --color-success-400: var(--color-green-400);
    --color-success-500: var(--color-green-500);
    --color-success-600: var(--color-green-600);

    --color-error-500: var(--color-red-500);
}

/* ================================
   Dark Theme
   ================================ */
body.dark-theme {
    --text-primary: #eeeeee;
    --text-secondary: #d3d5db;
    --muted: var(--color-gray-400);

    --bg-primary: #323339;
    --bg-secondary: #222128;
    --bg-secondary-opacity: rgba(34, 33, 40, 0.5);

    --border-primary: #454545;
    --bg-button: #494a50;
    --slider-shadow: inset 0 1px 1px #767676;

    --bs-body-bg: var(--bg-primary);
    --bs-body-color: var(--text-primary);
    --bs-border-color: #2b2f33;
    --bs-border-color-opacity: rgba(43, 47, 51, 0.5);

    --selection-bg: #444d56;
    --selection-color: #ffffff;

    --skeleton-base: #3a3a3a;
    --skeleton-highlight: #4a4a4a;
}

/* ================================
   Black Theme
   ================================ */
body.black-theme {
    --text-primary: #edeeef;
    --text-secondary: #d4d7e1;
    --muted: var(--color-gray-400);

    --bg-primary: #1b1d23;
    --bg-secondary: #000000;
    --bg-secondary-opacity: rgba(0, 0, 0, 0.5);

    --border-primary: #323232;
    --bg-button: #343844;
    --slider-shadow: inset 0 1px 1px #555555;

    --bs-body-bg: var(--bg-primary);
    --bs-body-color: var(--text-primary);
    --bs-border-color: #212529;
    --bs-border-color-opacity: rgba(33, 37, 41, 0.5);

    --selection-bg: #3a3f4b;
    --selection-color: #ffffff;

    --skeleton-base: #2a2a2a;
    --skeleton-highlight: #3a3a3a;
}


/* Default Light Theme */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: var(--bg-secondary);
}

::-webkit-scrollbar-thumb {
    background: var(--muted);
    border-radius: 4px;
}

/* Dark Theme */
body.dark-theme ::-webkit-scrollbar-track {
    background: var(--bg-secondary);
}

body.dark-theme ::-webkit-scrollbar-thumb {
    background: var(--border-primary);
}

/* Black Theme */
body.black-theme ::-webkit-scrollbar-track {
    background: var(--bg-secondary);
}

body.black-theme ::-webkit-scrollbar-thumb {
    background: var(--border-primary);
}

::selection {
    background: var(--selection-bg);
    color: var(--selection-color);
}

:host,
html {
    -webkit-text-size-adjust: 100%;
    font-feature-settings: normal;
    -webkit-tap-highlight-color: transparent;
    /* font-family: Poppins, ui-sans-serif, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji; */
    /* font-family: Poppins, ui-sans-serif, system-ui, sans-serif; */
    /* font-family: 'Roboto Regular'; */
    /* font-family: 'Roboto', sans-serif; */
    font-variation-settings: normal;
    /* line-height: 1.5; */
    tab-size: 4;
    -webkit-tap-highlight-color: transparent;
    height: 100%;
    overflow-x: hidden;
    text-rendering: optimizeLegibility
}

/* Body Styles */
body {
    /* font-family: 'Roboto', sans-serif; */
    /* background-color: var(--bs-body-bg);
    color: var(--bs-body-color); */
    background-color: var(--bg-body);
    color: var(--text-primary);
    /* line-height: 1.6; */
    margin: 0;
    padding: 0;
    overflow: hidden;
    line-height: inherit;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /* background-color: #f8fafc;
    color: #64748b; */
    font-family: var(--font-english);

    font-size: .875rem;
    /* line-height: 1.25rem; */
    text-rendering: optimizeLegibility
        /* Prevent body scroll */
}

/* Urdu-specific font */
body:lang(ur) {
    font-family: var(--font-urdu);
    line-height: normal;
}

/* Arabic-specific font */
body:lang(ar) {
    font-family: var(--font-arabic);
    line-height: normal;
}

a,
a:hover,
a:active,
a:focus {
    outline: none !important;
    text-decoration: none !important;
}

*,
:after,
:before {
    border: 0 solid var(--bs-border-color);
    box-sizing: border-box;
}




hr {
    border-top-width: 1px;
    color: inherit;
    height: 0
}

abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: inherit;
    font-weight: inherit;
}

a {
    color: inherit;
    text-decoration: inherit
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
pre,
samp {
    font-feature-settings: normal;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
    font-size: 1em;
    font-variation-settings: normal
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

table {
    border-collapse: collapse;
    border-color: inherit;
    text-indent: 0
}

button,
input,
optgroup,
select,
textarea {
    font-feature-settings: inherit;
    color: inherit;
    font-family: inherit;
    font-size: 100%;
    font-variation-settings: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    line-height: inherit;
    margin: 0;
    padding: 0;
}

button,
select {
    text-transform: none
}

button,
input:where([type=button]),
input:where([type=reset]),
input:where([type=submit]) {
    -webkit-appearance: button;
    background-color: transparent;
    background-image: none
}

:-moz-focusring {
    outline: auto
}

:-moz-ui-invalid {
    box-shadow: none
}

progress {
    vertical-align: baseline
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

summary {
    display: list-item
}

blockquote,
dd,
dl,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
p,
pre {
    margin: 0
}

fieldset {
    margin: 0
}

fieldset,
legend {
    padding: 0
}

menu,
ol,
ul {
    list-style: none;
    margin: 0;
    padding: 0
}

dialog {
    padding: 0
}

textarea {
    resize: vertical
}

input::placeholder,
textarea::placeholder {
    color: #bfc5cf;
    opacity: 0.7
}

[role=button],
button {
    cursor: pointer
}

:disabled {
    cursor: default
}

audio,
canvas,
embed,
iframe,
img,
object,
svg,
video {
    display: block;
    vertical-align: middle
}

img,
video {
    height: auto;
    max-width: 100% !important;
}

[hidden] {
    display: none !important;
}

.block {
    display: block !important;
}

.inline-block {
    display: inline-block !important;
}

.inline {
    display: inline !important;
}

.flex-align-center {
    display: flex !important;
    align-items: center !important;
}

.flex {
    display: flex !important;
}

.flex-direction-column {
    flex-direction: column !important;
}

.inline-flex {
    display: inline-flex !important;
}

.table {
    display: table !important;
}

.grid {
    display: grid !important;
}

.hidden {
    display: none !important;
}

.aspect-square {
    aspect-ratio: 1/1 !important;
}


/* Fonts */
.en {
    font-family: var(--font-english);
}

.ar {
    font-family: var(--font-arabic);
}

.ur {
    font-family: var(--font-urdu);
}


.self-stretch {
    align-self: stretch !important;
}

.overflow-auto {
    overflow: auto !important;
}

.overflow-hidden {
    overflow: hidden !important;
}

.overflow-x-auto {
    overflow-x: auto !important;
}

.overflow-y-auto {
    overflow-y: auto !important;
}

.overflow-x-hidden {
    overflow-x: hidden !important;
}

.overflow-y-hidden {
    overflow-y: hidden !important;
}

.overscroll-contain {
    overscroll-behavior: contain !important;
}

.justify-content-right {
    justify-content: right;
}

.justify-content-right:lang(ur),
.justify-content-right:lang(ar) {
    justify-content: left;
}

.justify-content-left {
    justify-content: left;
}

.justify-content-left:lang(ur),
.justify-content-left:lang(ar) {
    justify-content: right;
}

.truncate {
    overflow: hidden;
    white-space: nowrap !important;
}

.text-ellipsis,
.truncate {
    text-overflow: ellipsis !important;
}

.whitespace-nowrap {
    white-space: nowrap !important;
}

.break-words {
    overflow-wrap: break-word !important;
}

.rounded {
    border-radius: .25rem !important;
}

.rounded-2xl {
    border-radius: 1rem !important;
}

.rounded-full {
    border-radius: 9999px !important;
}

.rounded-lg {
    border-radius: .5rem !important;
}

.rounded-md {
    border-radius: .375rem
}

.rounded-none {
    border-radius: 0
}

.rounded-xl {
    border-radius: .75rem
}

.rounded-b-lg {
    border-bottom-left-radius: .5rem;
    border-bottom-right-radius: .5rem
}

.rounded-l-full {
    border-bottom-left-radius: 9999px;
    border-top-left-radius: 9999px
}

.rounded-l-lg {
    border-bottom-left-radius: .5rem;
    border-top-left-radius: .5rem
}

.rounded-l-none {
    border-bottom-left-radius: 0;
    border-top-left-radius: 0
}

.rounded-r-full {
    border-bottom-right-radius: 9999px;
    border-top-right-radius: 9999px
}

.rounded-r-lg {
    border-bottom-right-radius: .5rem;
    border-top-right-radius: .5rem
}

.rounded-r-none {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0
}

.rounded-t-2xl {
    border-top-left-radius: 1rem;
    border-top-right-radius: 1rem
}

.rounded-t-lg {
    border-top-left-radius: .5rem;
    border-top-right-radius: .5rem
}

.rounded-bl {
    border-bottom-left-radius: .25rem
}

.rounded-bl-lg {
    border-bottom-left-radius: .5rem
}

.rounded-br {
    border-bottom-right-radius: .25rem
}

.rounded-br-lg {
    border-bottom-right-radius: .5rem
}

.rounded-tl-lg {
    border-top-left-radius: .5rem
}

.rounded-tl-none {
    border-top-left-radius: 0
}

.rounded-tr-lg {
    border-top-right-radius: .5rem
}

.rounded-tr-none {
    border-top-right-radius: 0
}

.border {
    border-width: 1px
}

.border-2 {
    border-width: 2px
}

.border-4 {
    border-width: 4px
}

.border-\[3px\] {
    border-width: 3px
}

.border-y {
    border-top-width: 1px
}

.border-b,
.border-y {
    border-bottom-width: 1px
}

.border-b-0 {
    border-bottom-width: 0
}

.border-b-2 {
    border-bottom-width: 2px
}

.border-l {
    border-left-width: 1px
}

.border-l-0 {
    border-left-width: 0
}

.border-l-4 {
    border-left-width: 4px
}

.border-r {
    border-right-width: 1px
}

.border-r-0 {
    border-right-width: 0
}

.border-t {
    border-top-width: 1px
}

.border-t-0 {
    border-top-width: 0
}

.border-dashed {
    border-style: dashed
}

.border-dotted {
    border-style: dotted
}

.border-accent {
    border-color: #5f5af6
}

.border-current {
    border-color: currentColor
}

.border-error {
    border-color: #ff5724
}

.border-error\/30 {
    border-color: rgba(255, 87, 36, .3)
}

.border-info {
    border-color: #0ea5e9
}

.border-info\/30 {
    border-color: rgba(14, 165, 233, .3)
}

.border-navy-600 {
    border-color: #313e59
}

.border-primary {
    border-color: #4f46e5
}

.border-primary\/30 {
    border-color: rgba(79, 70, 229, .3)
}

.border-secondary {
    border-color: #f000b9
}

.border-secondary\/30 {
    border-color: rgba(240, 0, 185, .3)
}

.border-slate-150 {
    border-color: #e9eef5
}

.border-slate-200 {
    border-color: #e2e8f0
}

.border-slate-300 {
    border-color: #cbd5e1
}

.border-slate-400\/70 {
    border-color: rgba(148, 163, 184, .7)
}

.border-slate-50 {
    border-color: #f8fafc
}

.border-slate-500 {
    border-color: #64748b
}

.border-success {
    border-color: #10b981
}

.border-success\/30 {
    border-color: rgba(16, 185, 129, .3)
}

.border-transparent {
    border-color: transparent
}

.border-warning {
    border-color: #ff9800
}

.border-warning\/30 {
    border-color: rgba(255, 152, 0, .3)
}

.border-white {
    border-color: #fff
}

.border-white\/10 {
    border-color: hsla(0, 0%, 100%, .1)
}

.border-b-slate-200 {
    border-bottom-color: #e2e8f0
}

.border-l-info {
    border-left-color: #0ea5e9
}

.border-l-secondary {
    border-left-color: #f000b9
}

.border-l-warning {
    border-left-color: #ff9800
}

.border-r-error {
    border-right-color: #ff5724
}

.border-r-info {
    border-right-color: #0ea5e9
}

.border-r-primary {
    border-right-color: #4f46e5
}

.border-r-secondary {
    border-right-color: #f000b9
}

.border-r-slate-400 {
    border-right-color: #94a3b8
}

.border-r-slate-500 {
    border-right-color: #64748b
}

.border-r-success {
    border-right-color: #10b981
}

.border-r-transparent {
    border-right-color: transparent
}

.border-r-warning {
    border-right-color: #ff9800
}

.bg-accent {
    background-color: #5f5af6
}

.bg-black\/10 {
    background-color: rgba(0, 0, 0, .1)
}

.bg-black\/20 {
    background-color: rgba(0, 0, 0, .2)
}

.bg-black\/30 {
    background-color: rgba(0, 0, 0, .3)
}

.bg-current {
    background-color: currentColor
}

.bg-error {
    background-color: #ff5724
}

.bg-error\/10 {
    background-color: rgba(255, 87, 36, .1)
}

.bg-error\/15 {
    background-color: rgba(255, 87, 36, .15)
}

.bg-info {
    background-color: #0ea5e9
}

.bg-info\/10 {
    background-color: rgba(14, 165, 233, .1)
}

.bg-info\/15 {
    background-color: rgba(14, 165, 233, .15)
}

.bg-navy-500 {
    background-color: #384766
}

.bg-navy-600 {
    background-color: #313e59
}

.bg-navy-700 {
    background-color: #26334d
}

.bg-navy-900 {
    background-color: #192132
}

.bg-primary {
    background-color: #4f46e5
}

.bg-primary-focus {
    background-color: #4338ca
}

.bg-primary\/10 {
    background-color: rgba(79, 70, 229, .1)
}

.bg-primary\/15 {
    background-color: rgba(79, 70, 229, .15)
}

.bg-secondary {
    background-color: #f000b9
}

.bg-secondary-focus {
    background-color: #bd0090
}

.bg-secondary\/10 {
    background-color: rgba(240, 0, 185, .1)
}

.bg-secondary\/15 {
    background-color: rgba(240, 0, 185, .15)
}

.bg-slate-100 {
    background-color: #f1f5f9
}

.bg-slate-150 {
    background-color: #e9eef5
}

.bg-slate-200 {
    background-color: #e2e8f0
}

.bg-slate-300 {
    background-color: #cbd5e1
}

.bg-slate-50 {
    background-color: #f8fafc
}

.bg-slate-500 {
    background-color: #64748b
}

.bg-slate-900\/60 {
    background-color: rgba(15, 23, 42, .6)
}

.bg-success {
    background-color: #10b981
}

.bg-success\/10 {
    background-color: rgba(16, 185, 129, .1)
}

.bg-success\/15 {
    background-color: rgba(16, 185, 129, .15)
}

.bg-transparent {
    background-color: transparent
}

.bg-warning {
    background-color: #ff9800
}

.bg-warning\/10 {
    background-color: rgba(255, 152, 0, .1)
}

.bg-warning\/15 {
    background-color: rgba(255, 152, 0, .15)
}

.bg-white {
    background-color: #fff
}

.bg-white\/20 {
    background-color: hsla(0, 0%, 100%, .2)
}

.bg-white\/30 {
    background-color: hsla(0, 0%, 100%, .3)
}

.bg-white\/90 {
    background-color: hsla(0, 0%, 100%, .9)
}

.bg-gradient-to-b {
    background-image: linear-gradient(to bottom, var(--tw-gradient-stops))
}

.bg-gradient-to-br {
    background-image: linear-gradient(to bottom right, var(--tw-gradient-stops))
}

.bg-gradient-to-l {
    background-image: linear-gradient(to left, var(--tw-gradient-stops))
}

.bg-gradient-to-r {
    background-image: linear-gradient(to right, var(--tw-gradient-stops))
}

.bg-gradient-to-t {
    background-image: linear-gradient(to top, var(--tw-gradient-stops))
}


.font-size-sm {
    font-size: .875rem
}

.font-size-xsm {
    font-size: .675rem
}

.font-size-80-percent {
    font-size: 80% !important;
}


.w-full {
    width: 100%
}

.py-0 {
    padding-bottom: 0;
    padding-top: 0
}

.py-0\.5 {
    padding-bottom: .125rem;
    padding-top: .125rem
}

.py-1 {
    padding-bottom: .25rem;
    padding-top: .25rem
}

.py-1\.5 {
    padding-bottom: .375rem;
    padding-top: .375rem
}

.py-10 {
    padding-bottom: 2.5rem;
    padding-top: 2.5rem
}

.py-12 {
    padding-bottom: 3rem;
    padding-top: 3rem
}

.py-2 {
    padding-bottom: .5rem;
    padding-top: .5rem
}

.py-2\.5 {
    padding-bottom: .625rem;
    padding-top: .625rem
}

.py-3 {
    padding-bottom: .75rem;
    padding-top: .75rem
}

.py-4 {
    padding-bottom: 1rem;
    padding-top: 1rem
}

.py-5 {
    padding-bottom: 1.25rem;
    padding-top: 1.25rem
}

.py-6 {
    padding-bottom: 1.5rem;
    padding-top: 1.5rem
}

.py-8 {
    padding-bottom: 2rem;
    padding-top: 2rem
}

.pb-0 {
    padding-bottom: 0
}

.pb-0\.5 {
    padding-bottom: .125rem
}

.pb-1 {
    padding-bottom: .25rem
}

.pb-12 {
    padding-bottom: 3rem
}

.pb-2 {
    padding-bottom: .5rem
}

.pb-3 {
    padding-bottom: .75rem
}

.pb-4 {
    padding-bottom: 1rem
}

.pb-5 {
    padding-bottom: 1.25rem
}

.pb-6 {
    padding-bottom: 1.5rem
}

.pb-8 {
    padding-bottom: 2rem
}

.pl-4 {
    padding-left: 1rem
}

.pl-9 {
    padding-left: 2.25rem
}

.pl-\[var\(--main-sidebar-width\)\] {
    padding-left: var(--main-sidebar-width)
}

.pl-\[var\(--margin-x\)\] {
    padding-left: var(--margin-x)
}

.pr-1 {
    padding-right: .25rem
}

.pr-12 {
    padding-right: 3rem
}

.pr-2 {
    padding-right: .5rem
}

.pr-3 {
    padding-right: .75rem
}

.pr-6 {
    padding-right: 1.5rem
}

.pr-8 {
    padding-right: 2rem
}

.pr-9 {
    padding-right: 2.25rem
}

.pt-0 {
    padding-top: 0
}

.pt-1 {
    padding-top: .25rem
}

.pt-1\.5 {
    padding-top: .375rem
}

.pt-10 {
    padding-top: 2.5rem
}

.pt-12 {
    padding-top: 3rem
}

.pt-14 {
    padding-top: 3.5rem
}

.pt-2 {
    padding-top: .5rem
}

.pt-3 {
    padding-top: .75rem
}

.pt-4 {
    padding-top: 1rem
}

.pt-5 {
    padding-top: 1.25rem
}

.pt-6 {
    padding-top: 1.5rem
}

.pt-8 {
    padding-top: 2rem
}


.mr-0 {
    margin-right: 0
}

.mr-1 {
    margin-right: .25rem
}

.mr-2 {
    margin-right: .5rem
}

.mr-3 {
    margin-right: .75rem
}

.mr-4 {
    margin-right: 1rem
}

.mr-5 {
    margin-right: 1.25rem
}

.mr-6 {
    margin-right: 1.5rem
}


.ml-0 {
    margin-left: 0
}

.ml-1 {
    margin-left: .25rem
}

.ml-2 {
    margin-left: .5rem
}

.ml-3 {
    margin-left: .75rem
}

.ml-4 {
    margin-left: 1rem
}

.ml-5 {
    margin-left: 1.25rem
}

.ml-6 {
    margin-left: 1.5rem
}



.mt-0 {
    margin-top: 0
}

.mt-1 {
    margin-top: .25rem
}

.mt-2 {
    margin-top: .5rem
}

.mt-3 {
    margin-top: .75rem
}

.mt-4 {
    margin-top: 1rem
}

.mt-5 {
    margin-top: 1.25rem
}

.mt-6 {
    margin-top: 1.5rem
}

.mb-0 {
    margin-top: 0
}

.mb-1 {
    margin-bottom: .25rem
}

.mb-2 {
    margin-bottom: .5rem
}

.mb-3 {
    margin-bottom: .75rem
}

.mb-4 {
    margin-bottom: 1rem
}

.mb-5 {
    margin-bottom: 1.25rem
}

.mb-6 {
    margin-bottom: 1.5rem
}


.padding-5 {
    padding: 5px !important;
}

.padding-10 {
    padding: 10px !important;
}

.padding-20 {
    padding: 20px !important;
}

.padding-15 {
    padding: 15px !important;
}


.padding-top-5 {
    padding-top: 5px !important;
}

.padding-top-10 {
    padding-top: 10px !important;
}

.padding-top-15 {
    padding-top: 15px !important;
}

.padding-right-left-10 {
    padding-right: 10px !important;
    padding-left: 10px !important;
}

.margin-center {
    margin: auto !important;
}

.background-color-secondary {
    background-color: var(--bg-secondary);
}

.link {
    /* color: var(--bs-link-color); */
}

.link:hover {
    color: var(--bs-link-hover-color);
}

.text-align-left {
    text-align: left !important;
}

.text-align-left:lang(ur),
.text-align-left:lang(ar) {
    text-align: right !important;
}

.text-align-right {
    text-align: right !important;
}

.text-align-right:lang(ur),
.text-align-right:lang(ar) {
    text-align: left !important;
}


.text-align-center {
    text-align: center !important;
}

.display-block {
    display: block !important;
}

.display-inline-block {
    display: inline-block !important;
}

.display-inline {
    display: inline !important;
}

/* Define a row class for creating rows */
.row {
    display: flex;
    flex-wrap: wrap;
}

/* Define a column class for creating columns */
.col {
    flex: 1;
    /* Each column will take equal space */
}

.row-reverse {
    flex-direction: row-reverse;
}

/* Percentage-based column widths */
.col-10 {
    flex: 0 0 10%;
    max-width: 10%;
}

.col-20 {
    flex: 0 0 20%;
    max-width: 20%;
}

.col-25 {
    flex: 0 0 25%;
    max-width: 25%;
}

.col-30 {
    flex: 0 0 30%;
    max-width: 30%;
}

.col-40 {
    flex: 0 0 40%;
    max-width: 40%;
}

.col-50 {
    flex: 0 0 50%;
    max-width: 50%;
}

.col-60 {
    flex: 0 0 60%;
    max-width: 60%;
}

.col-70 {
    flex: 0 0 70%;
    max-width: 70%;
}

.col-80 {
    flex: 0 0 80%;
    max-width: 80%;
}

.col-90 {
    flex: 0 0 90%;
    max-width: 90%;
}

.col-100 {
    flex: 0 0 100%;
    max-width: 100%;
}

.col-none {
    flex: none;
    /* This column will not grow or shrink */

}



/* Define column widths for different screen sizes */
/* For extra small screens (phones) */
@media only screen and (max-width: 576px) {
    .col-xs {
        flex: 100%;
        /* Each column will take 100% width */
    }
}

/* For small screens (tablets) */
@media only screen and (min-width: 577px) and (max-width: 768px) {
    .col-sm {
        flex: 50%;
        /* Each column will take 50% width */
    }
}

/* For medium screens (desktops) */
@media only screen and (min-width: 769px) and (max-width: 992px) {
    .col-md {
        flex: 33.33%;
        /* Each column will take 33.33% width */
    }
}

/* For large screens (large desktops) */
@media only screen and (min-width: 993px) {
    .col-lg {
        flex: 25%;
        /* Each column will take 25% width */
    }
}

/* Fluid columns - Percent based widths */
.col-fluid {
    flex: 1;
}

/* Responsive modifiers for column offsets */
.col-offset-xs {
    margin-left: 100%;
    /* Push column 100% to the right for extra small screens */
}

.col-offset-sm {
    margin-left: 50%;
    /* Push column 50% to the right for small screens */
}

.col-offset-md {
    margin-left: 33.33%;
    /* Push column 33.33% to the right for medium screens */
}

.col-offset-lg {
    margin-left: 25%;
    /* Push column 25% to the right for large screens */
}

/* Alignment and distribution */
/* .row {
    justify-content: space-between;
} */

/* Center align columns vertically */
.col-align-center {
    align-self: center;
}

/* Right align columns */
.col-align-right {
    align-self: flex-end;
}

/* Left align columns */
.col-align-left {
    align-self: flex-start;
}

.align-content-center {
    align-content: center;
}





.height-100-percent {
    height: 100% !important;
}

/* Container Styles */
.layout-container {
    display: flex;
    height: 100vh;
    /* Full height of the viewport */

    /* Set container to full viewport height */
}

.layout-sidebar {
    width: 250px;
    /* Fixed width for the sidebar */
    display: flex;
    /* align-items: center; */
    justify-content: center;
}

.layout-content {
    flex: 1;
    /* Take up remaining space */
    overflow-y: auto;
    /* Enable vertical scrolling if content overflows */
}

/* Container Styles */
.mlayout-container {
    display: flex;
    height: 100vh;
    /* Full height of the viewport */

    /* Set container to full viewport height */
}

.mlayout-sidebar {
    width: 250px;
    /* Fixed width for the sidebar */
    display: flex;
    /* align-items: center; */
    /* justify-content: center; */
    flex-direction: column;
    border-right: 1px solid var(--bs-border-color);
}

.mlayout-content {
    flex: 1;
    /* Take up remaining space */
    overflow-y: auto;
    /* Enable vertical scrolling if content overflows */
}












.tmb-container {
    display: flex;
    flex-direction: column;
    /* height: 100vh; Full height of the viewport */
}

/* Top row styles */
.tmb-top {
    text-decoration: none;
    display: flex;
    /* align-items: center; */
    justify-content: center;
    flex-direction: column;

}

/* Middle row styles */
.tmb-middle {
    flex: 1;
    overflow: inherit;
    /* Take up remaining space */
    /* overflow-y: auto; */
    /* Enable vertical scrollbar if content overflows */
}

/* Bottom row styles */
.tmb-bottom {
    text-decoration: none;
    display: flex;
    /* align-items: center; */
    justify-content: center;
    flex-direction: column;

}





/* Sidebar Styles */
.sidebar {
    overflow-y: auto;
    overflow-x: visible;
    /* Allow sidebar content to scroll */
    min-height: 100%;
    z-index: 100;
    background: var(--bg-secondary);
    bottom: 0;
    margin-top: 0;
    top: 0;
    border-right: 1px solid var(--bs-border-color);
}

.sidebar-header {
    border-bottom: 1px solid var(--bs-border-color);
    line-height: 1;
}

.sidebar-header h1 {
    font-size: 1.1rem;
    line-height: 1;
    font-weight: normal;
    /* color: var(--bg-secondary); */
}

.sidebar-header span {
    line-height: 1;
    /* color: var(--bg-secondary); */
    font-size: 80%;
    /* margin-top: 10px; */
}

.sidebar-header i {
    line-height: 1;
    /* color: var(--bg-secondary); */
}

.astinfinity-logo {
    color: var(--danger-color);
}

.sidebar-header .logo-icon {
    font-size: 2.5rem;
    color: var(--danger-color);
    padding: 5px 10px 5px 10px;
    cursor: pointer;
}

.sidebar-header .logo-text {
    padding: 5px 0 5px 0;
}

.sidebar-body {
    padding-top: 15px;
}

.sidebar-footer {
    /* padding: 10px; */
    border-top: 1px solid var(--bs-border-color);
}

.sidebar ul {
    list-style-type: none;
    padding: 0;
}

.sidebar ul li {
    /* margin-bottom: 10px; */
    border-top: 1px solid transparent;
    border-bottom: 1px solid transparent;
}

.sidebar ul li a {
    display: block;
    font-weight: 400;
    font-size: 15px;
    padding: 10px 15px;
    /* line-height: 1.5 !important; */
    position: relative;
}

.sidebar ul li a:hover {
    color: var(--text-primary);
    background-color: var(--bg-primary);
}

.sidebar ul li a i {
    /* margin-right: 7px; */
    /* color: var(--bs-red); */
}

.sidebar ul li a span {
    padding-left: 7px;
    padding-right: 7px;
}


.sidebar.collapse {
    width: 60px;
}

.sidebar.collapse .nav-links {
    overflow: visible;
}

.sidebar.collapse .nav-links .active {
    background-color: var(--bg-primary);
}

.sidebar.collapse .sidebar {
    overflow: visible;
}

.sidebar.collapse .logo-text {
    opacity: 0;
    display: none;
    pointer-events: none;
    transition: 0s;
}

.sidebar.collapse .logo-icon {
    font-size: 2.0rem;
    color: var(--danger-color);
    /* background-color: var(--red); */
    padding: 10px 5px;
    font-weight: bold;
    width: 100%;
    text-align: center;
    cursor: pointer;
}

.sidebar.collapse .sidebar-footer-text {
    opacity: 0;
    display: none;
    pointer-events: none;
    transition: 0s;
}

.sidebar.collapse .nav-links li a {
    display: block;
    text-align: center;
}

.sidebar.collapse .nav-links li a i {
    display: block;
    text-align: center;
    font-size: 1.2rem;
    margin: 0;
}

.sidebar.collapse .nav-links li a .link_name {
    opacity: 0;
    pointer-events: none;

}





.sidebar.collapse .nav-links li .link_name {
    position: absolute;
    /* left: 100%; */
    top: -10px;
    margin-top: 0;
    padding: 8px 20px;
    opacity: 0;
    display: block;
    pointer-events: none;
    transition: 0s;


}


.sidebar.collapse .nav-links li:hover {
    border-top: 1px solid var(--bs-gray-700);
    border-bottom: 1px solid var(--bs-gray-700);
}

.sidebar.collapse .nav-links li:hover .link_name {
    top: 0;
    opacity: 1;
    color: var(--text-primary);
    background-color: var(--bg-primary);
    pointer-events: auto;
    transition: all 0.4s ease;
}


.sidebar.collapse .nav-links li .sub-menu .link_name {
    font-size: 18px;
    opacity: 1;
    display: block;
}



/* RTL Dropdown Positioning */
[dir="rtl"] .sidebar.collapse .nav-links li .link_name {
    right: 100%;
    border-top: 1px solid var(--bs-gray-700);
    border-bottom: 1px solid var(--bs-gray-700);
    border-left: 1px solid var(--bs-gray-700);
    border-radius: 6px 0 0 6px;
    width: max-content;

}

/* LTR Dropdown Positioning */
[dir="ltr"] .sidebar.collapse .nav-links li .link_name {
    left: 100%;
    border-top: 1px solid var(--bs-gray-700);
    border-bottom: 1px solid var(--bs-gray-700);
    border-right: 1px solid var(--bs-gray-700);
    border-radius: 0 6px 6px 0;
    width: max-content;

}









.msidebar {
    /* background-color: var(--bg-primary); */
    background-color: var(--bg-secondary);
}

.msidebar ul {
    list-style-type: none;
    padding: 0;
    width: 100%;
}

.msidebar ul li {
    /* margin-bottom: 10px; */
    border-top: 1px solid transparent;
    border-bottom: 1px solid transparent;
}

.msidebar ul li a {
    display: block;
    /* font-weight: 300;
    font-size: 13px; */
    padding: 10px 15px;
    /* line-height: 1.5 !important; */
    position: relative;
    border-bottom: 1px solid var(--bs-border-color);
}

.msidebar ul li a:hover {
    color: var(--text-primary);
    background-color: var(--bg-primary);
}

.msidebar ul li a i {
    margin-right: 7px;
    /* color: var(--bs-red); */
}

.msidebar h1 {
    padding: 12px;
    font-size: 1.1rem;
}

.msidebar .active {
    background-color: var(--bg-primary);
    font-weight: 500;
}




/* Content Styles */
.content {
    /* flex: 1;
    overflow-y: auto;
    z-index: 99;
    position: relative; */
    /* Allow sidebar content to scroll */
}

.content-header {
    background-color: var(--bg-secondary);
    border-bottom: 1px solid var(--bs-border-color);
}

.content-header-login {
    background-color: var(--bg-secondary-opacity);
    border-bottom: 1px solid var(--bs-border-color-opacity);
}

.content-body {
    /* padding: 15px; */
}

.content-footer {
    border-top: 1px solid var(--bs-border-color);
    background-color: var(--bg-secondary);

}

.content-footer-login {
    padding: 10px;
    border-top: 1px solid var(--bs-border-color-opacity);
    background-color: var(--bg-secondary-opacity);

}



.read-btn {
    margin: 0 3px;
}

.read-btn:hover {
    color: var(--primary-color);
}

.payment-btn {
    margin: 0 3px;
}

.payment-btn:hover {
    color: var(--primary-color);
}

.delivery-btn {
    margin: 0 3px;
}

.delivery-btn:hover {
    color: var(--primary-color);
}

.invoice-read-btn {
    margin: 0 3px;
}

.invoice-read-btn:hover {
    color: var(--primary-color);
}


.delete-btn {
    margin: 0 3px;
}

.delete-btn:hover {
    color: var(--primary-color);
}

.update-btn {
    margin: 0 3px;
}

.update-btn:hover {
    color: var(--primary-color);
}

.employee-name {
    cursor: pointer;
}

.employee-name:hover {
    color: var(--primary-color);
}






/* Nav Styles */
.left-nav {
    display: -webkit-flex;
    display: flex;
}

.left-nav li:first-child {}

.left-nav li:first-child a {
    font-size: 1.3rem;
    line-height: 100%;
}

.left-nav li:last-child {
    margin-left: auto;
}

.left-nav-item {
    /* margin-right: 10px; */
}

.left-nav a {
    display: block;
    padding: 1rem 0.8rem;
    text-decoration: none;
}

.left-nav-link {
    text-align: center;
}

.left-nav-link span {
    display: block;
    font-size: 9px;
    /* line-height: 100%; */
    padding-top: 3px;
}

.left-nav-link>i {
    font-size: 1.5rem;
}

.left-nav .logo {
    text-decoration: none;
}

.left-nav-item a:hover {
    color: var(--black);
    /* color: var(--bs-primary); */
    color: var(--primary-color);
    background-color: var(--bg-primary);
}

.left-nav-item a ul a {
    color: var(--text-primary);
}


.left-nav-item:hover {
    color: var(--black);
    /* color: var(--bs-primary); */
    color: var(--primary-color);
    background-color: var(--bg-primary);
}

.left-nav .dropdown {
    position: relative;
    display: inline-block;
}

.left-nav .dropbtn {
    cursor: pointer;
}

.left-nav .dropdown-content {
    display: none;
    position: absolute;
    /* left: 0; */
    background-color: var(--bg-primary);
    min-width: 240px;
    box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
    z-index: 2;
}

.left-nav .dropdown-content a {
    color: var(--text-primary);
    padding: 10px 16px;
    text-decoration: none;
    display: block;
    border-bottom: 1px solid var(--bs-border-color);
}

.left-nav .dropdown-content a:hover {
    background-color: var(--bg-secondary);
}

/* RTL Dropdown Positioning */
[dir="rtl"] .left-nav .dropdown-content {
    right: 0;
}

/* LTR Dropdown Positioning */
[dir="ltr"] .left-nav .dropdown-content {
    left: 0;
}



/* .nav-link {
    text-align: center;
}

.nav-link span {
    display: block;
    font-size: 9px;
    line-height: 100%;
    padding-top: 3px;
} */










/* Nav Styles */
.right-nav {
    display: -webkit-flex;
    display: flex;
}

.right-nav li:first-child {
    margin-right: auto;
}

.right-nav-item {
    /* margin-right: 10px; */
}

.right-nav a {
    display: block;
    padding: 7px 12px;
    text-decoration: none;
}

.right-nav-link {
    text-align: center;
}

.right-nav-link span {
    display: block;
    font-size: 9px;
    line-height: 100%;
    padding-top: 3px;
}

.right-nav-link>i {
    font-size: 1.5rem;
}



.right-nav-link-company {
    text-align: center;
    display: flex !important;
    padding: 10px !important;
    border-right: 1px solid var(--bs-border-color);

}

.right-nav-link-company span {
    display: block;
    font-size: 9px;
    /* line-height: 100%; */
    /* padding-top: 3px; */
}

.right-nav-link-company>i {
    font-size: 1.5rem;
    margin-right: 5px;
}



.right-nav .logo {
    text-decoration: none;
}

.right-nav a:hover {
    color: var(--black);
    /* color: var(--bs-primary); */
    color: var(--primary-color);
    background-color: var(--bg-primary);
}

.right-nav .dropdown {
    position: relative;
    display: inline-block;
}



.right-nav .dropbtn {
    cursor: pointer;
}



.right-nav .dropdown-content {
    display: none;
    position: absolute;
    /* right: 0; */
    background-color: var(--bg-primary);
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
    z-index: 2;
}


.right-nav .dropdown-content a {
    color: var(--text-primary);
    padding: 10px 16px;
    text-decoration: none;
    display: block;
    border-bottom: 1px solid var(--bs-border-color);
}

.right-nav .dropdown-content a:hover {
    background-color: var(--bg-secondary);
}

/* RTL Dropdown Positioning */
[dir="rtl"] .right-nav .dropdown-content {
    left: 0;
}

/* LTR Dropdown Positioning */
[dir="ltr"] .right-nav .dropdown-content {
    right: 0;
}

.right-nav .dropdown-content-company {
    /* width: 100%; */
    min-width: max-content;
    white-space: nowrap;
    box-sizing: border-box;
}



.formalert {
    display: none;
}

.alert {
    position: relative;
    padding: .7rem .7rem;
    /* margin-bottom: 1rem; */
    /* border: 1px solid transparent; */
    /* border-radius: .25rem; */
}

.alert-primary {
    color: #084298;
    background-color: #cfe2ff;
    border-color: #b6d4fe;
}

.alert-secondary {
    color: #41464b;
    background-color: #e2e3e5;
    border-color: #d3d6d8;
}

.alert-success {
    color: #0f5132;
    background-color: #d1e7dd;
    border-color: #badbcc;
}

.alert-danger {
    color: #842029;
    background-color: #f8d7da;
    border-color: #f5c2c7;
}

.alert-warning {
    color: #664d03;
    background-color: #fff3cd;
    border-color: #ffecb5;
}

.alert-info {
    color: #055160;
    background-color: #cff4fc;
    border-color: #b6effb;
}

.alert-light {
    color: #636464;
    background-color: #fefefe;
    border-color: #fdfdfe;
}

.alert-dark {
    color: #141619;
    background-color: #d3d3d4;
    border-color: #bcbebf;
}



.overflow-y-auto {
    overflow-y: auto !important;
}

.overflow-visible {
    overflow-y: visible !important;
}






.autocomplete {
    position: relative;
    /* width: 300px; */
}


.suggestions {
    position: absolute;
    border: 1px solid #ccc;
    border-top: none;
    z-index: 1000;
    background-color: white;
    width: 100%;
    max-height: 200px;
    overflow-y: auto;
    display: none;
}

.suggestion-item {
    padding: 10px;
    cursor: pointer;
}

.suggestion-item:hover,
.suggestion-item.active {
    background-color: #007bff;
    color: white;
}






.relative-position {
    position: relative;
}














/* Modal Styles */
.modal {
    display: none;
    position: fixed;
    flex-direction: column;
    z-index: 1000;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
}

.modal-container {
    position: relative;
    /* top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); */
    background-color: #fff;
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    max-height: 96vh;
    margin: 10px auto;
}

.modal-header {
    background-color: var(--bg-secondary);
    border-bottom: 1px solid var(--bs-border-color);
    padding: 10px 15px;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}

.modal-icons-left {
    padding-left: 10px;
}

.modal-icons-left i {
    cursor: pointer;
    color: var(--text-primary);
    font-size: 1.2rem;
    padding: 10px 5px;
}

.modal-icons-left i:hover {
    color: var(--primary-color);
}



.modal-icons-right i {
    padding: 10px 15px;
    cursor: pointer;
    color: var(--text-primary);
    font-size: 1.2rem;
}

.modal-sub-header {
    background-color: var(--bg-secondary);
    border-bottom: 1px solid var(--bs-border-color);
}

.modal-dropdown-menu {
    position: absolute;
    top: 80px;
    right: 0px;
    background-color: var(--bg-primary);
    border: 1px solid var(--bs-border-color);
    z-index: 1000;
    /* display: none; */
}

.menu-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
}

.menu-list li {
    border-bottom: 1px solid #ddd;
}

.menu-list li a {
    display: block;
    padding: 8px 10px;
    text-decoration: none;
    color: #333;
    font-size: 90%;
}


.confirm-modal {
    z-index: 1001;
}


.ellipsis-menu-btn {
    font-size: 24px;
    cursor: pointer;
    padding: 10px;
    /* background: #fff; */
    display: inline-block;
}

.ellipsis-menu {
    display: none;
    position: absolute;
    background: var(--bg-primary);
    border: 1px solid var(--bs-border-color);
    border-radius: 5px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    min-width: 160px;
    z-index: 1000;
    right: 0;
}

.ellipsis-menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ellipsis-menu li a {
    display: block;
    padding: 8px 12px;
    text-decoration: none;
    color: var(--text-primary);
    font-size: 90%;
}

.ellipsis-menu li a:hover {
    background-color: var(--bg-secondary);
    color: var(--text-primary);
}

.ellipsis-menu.show {
    display: block;
}

.ellipsis-menu-container {
    position: relative;
    display: inline-block;
}






.modal-header h1 {
    font-size: 1.1rem;
    font-weight: normal;
}

.modal-body {
    background-color: var(--bg-primary);
    overflow-y: auto;
}

.modal-footer {
    border-top: 1px solid var(--bs-border-color);
    padding: 10px;
    background-color: var(--bg-secondary);
}

.modal-footer-note {
    display: block;
    padding: 5px;
    color: darkslategray;
}

.modal-content {
    padding: 20px;
    background-color: var(--bg-primary);

}





/* Container Styles */
.modal-layout-container {
    display: flex;
    height: 100vh;
    /* Full height of the viewport */

    /* Set container to full viewport height */
}

.modal-layout-sidebar {
    width: 250px;
    /* Fixed width for the sidebar */
    display: flex;
    /* align-items: center; */
    /* justify-content: center; */
    flex-direction: column;
    border-right: 1px solid var(--bs-border-color);
}

.modal-layout-content {
    flex: 1;
    /* Take up remaining space */
    overflow-y: auto;
    /* Enable vertical scrolling if content overflows */
}






.close {
    /* position: absolute;
    top: 10px;
    right: 10px; */
    cursor: pointer;
    color: var(--text-primary);
    font-size: 24px;
    line-height: 100%;
}

/* Table */
.table-container {
    background-color: white;
    /* margin: 15px; */
    height: 100%;
}

.table-container-heading {
    font-size: 16px;
}

.table-header {
    padding: 7px;
    background-color: var(--bg-primary);
}

.table-body {
    /* padding: 7px; */
    background-color: var(--bg-primary);
}

.table-footer {
    padding: 7px;
    border-top: 1px solid var(--bs-border-color);
    background-color: var(--bg-primary);

}

.table-header h1 {
    font-size: 20px;
}

.table-search {
    width: 200px !important;
    display: inline !important;
    padding: 4px !important
}

.sortable-header {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.sortable-header:hover {
    color: var(--primary-color);
}

.sortable-header i {
    color: var(--bs-gray-500);
}

.active-sort {
    color: var(--bs-gray-800) !important;
}

.table {
    width: 100%;
    /* margin-bottom: 1rem; */
    border-collapse: collapse;
}


.green {
    /* color: var(--success-color); */
    color: green;
}

.orange {
    /* color: var(--success-color); */
    color: orange;
}

/* Table head */
.table thead th {
    vertical-align: bottom;
    background-color: var(--bg-secondary);
    border-bottom: 1px solid var(--bs-border-color);
    text-align: left;
    position: sticky;
    top: 0;
    z-index: 1;
}

/* Table body */
.table tbody+tbody {
    border-top: 2px solid #dee2e6;
}

/* Table rows */
.table tbody tr:hover {
    background-color: rgba(0, 0, 0, 0.075);
}

.table tbody tr td a {
    color: var(--text-primary);
    text-decoration: none;
    cursor: pointer;
}

.table tbody tr td a:hover {
    /* color: var(--bs-primary); */
    color: var(--primary-color);
    text-decoration: underline !important;
}

/* Table cells */
.table td,
.table th {
    padding: 0.75rem;
    vertical-align: top;
    border-top: 1px solid var(--bs-border-color);
}

/* Table striped rows */
.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(0, 0, 0, 0.05);
}

/* Table striped rows on hover */
.table-striped tbody tr:hover {
    background-color: rgba(0, 0, 0, 0.075);
}

.table-td-title {
    padding: 0.30rem 0.75rem !important;
}


.grid-link {
    cursor: pointer;
}

.record-read-btn {
    cursor: pointer;
}

/* Button Styles */
.btn {
    display: inline-block;
    /* font-weight: 400; */
    color: var(--text-secondary);
    text-align: center;
    vertical-align: middle;
    user-select: none;
    background-color: var(--bg-secondary);
    border: 1px solid var(--bs-border-color);
    padding: .375rem .75rem;
    /* font-size: 1rem; */
    /* line-height: 1.5; */
    border-radius: .25rem;
    transition: color 0.15s, background-color 0.15s, border-color 0.15s, box-shadow 0.15s;
    cursor: pointer;
    text-decoration: none;
}

.btn[disabled] {
    opacity: 0.6;
    cursor: not-allowed;
}

.form-btn {
    padding: 9px;
}


.form-checkox-container {}

.form-checkox-container label {
    margin: 0;
    cursor: pointer;
}

.form-checkox-container input {
    margin-right: 5px;
}

.form-checkox-note {
    font-size: 80%;
    display: block;
}

.form-ul,
.form-ol {
    margin: 8px 0 8px 20px;
}





.form-container {
    /* max-width: 900px; */
    max-width: 100%;
    /* padding: 15px; */
    background-color: var(--bg-primary);
}

.form-container h1,
.form-container h2,
.form-container h3,
.form-container h4,
.form-container h5,
.form-container h6 {
    line-height: 100%;
}

.report-container h1,
.report-container h2,
.report-container h3,
.report-container h4,
.report-container h5,
.report-container h6 {
    line-height: 100%;
}

/* Form Styles */
.form-normal-input {
    padding: .375rem .75rem;
    font-size: 1rem;
    line-height: 1.5;
    color: var(--text-secondary);
    background-color: var(--bg-secondary);
    background-clip: padding-box;
    border: 1px solid var(--bs-border-color);
}

.form-anchor {
    display: block;
    color: var(--bs-blue);
    text-decoration: none;
    font-size: 0.8rem;
    margin-top: 5px;
}

.form-label {
    display: block;
    margin-bottom: 0.2rem;
}

.form-label span {
    font-size: 80%;
}

.form-control {
    display: block;
    width: 100%;
    padding: .375rem .75rem;
    font-size: 1rem;
    line-height: 1.5;
    /* color: #495057; */
    background-color: var(--bg-secondary);
    background-clip: padding-box;
    border: 1px solid var(--bs-border-color);
    border-radius: .25rem;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.form-control:focus {
    color: #495057;
    background-color: #fff;
    border-color: #80bdff;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(0, 123, 255, 0.25);
}

/* Flex Grid
.row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
}

.col {
    flex: 1 0 0%;
    max-width: 100%;
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
} */


.items-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
}

.form-table {
    width: 100%;
    border-collapse: collapse;
}

.form-table thead th,
.form-table tbody td {
    padding: 5px;
    border: 1px solid var(--bs-border-color);
    text-align: left;
}

.form-note {
    font-size: 80%;
}

.normal-table {
    width: 100%;
}

.normal-table>table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 1rem;
    background-color: var(--bg-primary);
}

.normal-table>table>thead {
    display: table-header-group;
    vertical-align: middle;
    border-color: inherit;
}

.normal-table>table>tbody+tbody {
    border-top: 2px solid #dee2e6;
}


.normal-table>table>thead>tr>th {
    vertical-align: bottom;
    background-color: var(--bg-secondary);
    border-bottom: 1px solid var(--bs-border-color);
    text-align: left;
    position: sticky;
    top: 0;
    z-index: 1;
}


/* Table rows */
.normal-table>table>tbody tr:hover {
    background-color: rgba(0, 0, 0, 0.075);
}


.normal-table>table>tbody tr a:hover {
    /* color: var(--bs-primary); */
    color: var(--primary-color);
    text-decoration: underline !important;
}

/* Table cells */
.normal-table>table>tbody>tr>td,
.normal-table>table>thead>tr>th {
    padding: 0.75rem;
    vertical-align: top;
    border-top: 1px solid var(--bs-border-color);
}


.width-100-percent {
    width: 100%;
}

.width-80-percent {
    width: 80%;
}

.width-70-percent {
    width: 70%;
}

.width-60-percent {
    width: 60%;
}

.width-50-percent {
    width: 50%;
}

.width-40-percent {
    width: 40%;
}

.width-30-percent {
    width: 30%;
}

.width-20-percent {
    width: 20%;
}

.width-10-percent {
    width: 10%;
}

.width-25-percent {
    width: 25%;
}

.width-80 {
    width: 80px !important;
}

.width-100 {
    width: 100px !important;
}

.width-200 {
    width: 200px !important;
}

.width-300 {
    width: 300px !important;
}

.width-400 {
    width: 400px !important;
}

.width-120 {
    width: 120px !important;
}

/* Toast container */
.toast-container {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 10px;
    /* width: 100%; */
    /* max-width: 300px; */
}

/* Toast styles */
.toast {
    position: relative;
    padding: 15px 20px;
    border-radius: 5px;
    color: #fff;
    font-size: 14px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    cursor: pointer;
    display: flex;
}

.toast-success {
    background-color: #4caf50;
}

.toast-info {
    background-color: #2196f3;
}

.toast-warning {
    background-color: #ff9800;
}

.toast-error {
    background-color: #f44336;
}

/* Close button */
.toast-message {
    cursor: pointer;
    display: block;
    margin-right: 20px;
}

/* Close button */
.toast-close {
    position: absolute;
    top: 10px;
    right: 15px;
    cursor: pointer;
    font-weight: bold;
    font-size: 20px;
}

/* Progress bar */
.toast-progress {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: rgba(255, 255, 255, 0.6);
    transition: width 5s linear;
}





.tags-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    border: 1px solid var(--bs-border-color);
    padding: 5px;
    border-radius: 5px;
    background-color: var(--bg-secondary);
}

.tags-container input {
    border: none;
    outline: none;
    flex-grow: 1;
    padding: 5px;
    width: 80px;
}

.tag {
    display: inline-flex;
    align-items: center;
    background-color: #e0e0e0;
    border-radius: 3px;
    padding: 5px;
    margin: 2px;
}

.remove-tag {
    cursor: pointer;
    margin-left: 5px;
    font-size: 1.1rem;
}










.pagination {
    text-align: right;
}

.pagination button {
    margin: 0 5px;
    padding: 5px 10px;
    cursor: pointer;
}

.pagination button:hover {
    color: var(--primary-color);
}

.pagination button.active {
    font-weight: bold;
    background-color: var(--bg-secondary);
}

.pagination span {
    margin: 0 5px;
}

.limit-select {
    text-align: left;
}

.limit-select select {
    width: 70px !important;
    display: inline !important;
    padding: 4px !important;
}



/* Additional dashboard-specific styles */
/* Dashboard layout */
.dashboard-container {
    padding: 20px;
    background-color: var(--bg-primary);
}

/* Dashboard row */
.dashboard-row {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -10px 10px -10px;
}

/* Dashboard cards */
.dashboard-card {
    background-color: var(--bg-secondary);
    border-radius: var(--bs-border-radius-lg);
    box-shadow: var(--bs-box-shadow);
    padding: 10px 15px;
    border: 1px solid var(--bs-border-color);
    margin: 0 10px 10px 10px;
    flex: 1;
    min-width: 200px;
}

.card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
}

.card-title {
    font-size: 90%;
    font-weight: 500;
    color: var(--text-secondary);
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.card-value {
    font-size: 1.5rem;
    /* font-weight: 600; */
    color: var(--text-primary);
    margin: 10px 0;
}

.card-change {
    display: flex;
    align-items: center;
    font-size: 0.75rem;
}

.card-change.positive {
    color: var(--success-color);
}

.card-change.negative {
    color: var(--danger-color);
}

.card-change .fa-light.positive {
    color: var(--success-color);
}

.card-change .fa-light.negative {
    color: var(--danger-color);
}

.card-icon {
    /* width: 40px;
    height: 40px;
    border-radius: 8px; */
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
}

/* Chart containers */
.chart-container {
    height: 300px;
    position: relative;
}

/* Responsive grid for cards */
@media (min-width: 1200px) {
    .dashboard-card {
        flex: 0 0 calc(25% - 20px);
        /* max-width: calc(25% - 20px); */
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    .dashboard-card {
        flex: 0 0 calc(50% - 20px);
        max-width: calc(50% - 20px);
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .dashboard-card {
        flex: 0 0 calc(50% - 20px);
        max-width: calc(50% - 20px);
    }
}

@media (max-width: 767px) {
    .dashboard-card {
        flex: 0 0 calc(100% - 20px);
        max-width: calc(100% - 20px);
    }
}

/* Custom colors for cards */
.card-sales {
    border-left: 4px solid var(--bs-primary);
}

.card-revenue {
    border-left: 4px solid var(--success-color);
}

.card-customers {
    border-left: 4px solid var(--info-color);
}

.card-orders {
    border-left: 4px solid var(--warning-color);
}

/* Full width chart cards */
.chart-card {
    flex: 0 0 calc(100% - 20px);
    max-width: calc(100% - 20px);
}

/* Half width cards */
.half-card {
    flex: 0 0 calc(50% - 20px);
    max-width: calc(50% - 20px);
}

/* Third width cards */
.third-card {
    flex: 0 0 calc(33.33% - 20px);
    max-width: calc(33.33% - 20px);
}



.small-card {
    background-color: var(--bg-secondary);
    border-radius: var(--bs-border-radius-lg);
    box-shadow: var(--bs-box-shadow);
    padding: 10px 15px;
    border: 1px solid var(--bs-border-color);
    margin: 0 10px 10px 10px;
}

.small-card-title {
    font-size: 80%;
    font-weight: 500;
    color: var(--text-secondary);
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-align: center;
}

.small-card-value {
    font-size: 1.2rem;
    /* font-weight: 600; */
    color: var(--text-primary);
    margin: 10px 0;
    text-align: center;
}












.receipt-container {
    font-family: 'Courier New', monospace !important;
    /* line-height: 1 !important; */
    width: 100%;
    /* padding: 5mm; */
    box-sizing: border-box;
}

.receipt-header {
    text-align: center;
    margin-bottom: 5px;
    padding-bottom: 5px;
    border-bottom: 1px dashed #000;
}

.business-name {
    font-weight: bold;
    font-size: 18px;
    margin-bottom: 3px;
    text-transform: uppercase;
}

.business-info {
    font-size: 12px;
    margin-bottom: 3px;
}

.receipt-title {
    font-weight: bold;
    font-size: 14px;
    margin: 8px 0;
    text-align: center;
    text-transform: uppercase;
}

.receipt-details {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    margin-bottom: 8px;
}

.receipt-items {
    width: 100%;
    border-collapse: collapse;
    margin: 5px 0;
}

.receipt-items th {
    text-align: left;
    font-size: 12px;
    padding: 2px 0;
    border-bottom: 1px dashed #000;
}

.receipt-items td {
    font-size: 12px;
    padding: 3px 0;
}

.receipt-items .item-name {
    width: 50%;
}

.receipt-items .item-qty {
    width: 10%;
    text-align: center;
}

.receipt-items .item-price {
    width: 20%;
    text-align: right;
}

.receipt-items .item-total {
    width: 20%;
    text-align: right;
}

.receipt-totals {
    width: 100%;
    margin: 5px 0;
    border-top: 1px dashed #000;
    border-bottom: 1px dashed #000;
    padding: 5px 0;
}

.receipt-totals tr td {
    padding: 2px 0;
    font-size: 12px;
}

.receipt-totals .label {
    text-align: right;
    padding-right: 10px;
}

.receipt-totals .value {
    text-align: right;
    font-weight: bold;
}

.receipt-footer {
    text-align: center;
    font-size: 10px;
    margin-top: 10px;
}

.barcode {
    text-align: center;
    margin: 10px 0;
    font-family: 'Libre Barcode 39', cursive;
    font-size: 36px;
}

.divider {
    border-top: 1px dashed #000;
    margin: 5px 0;
}

.thank-you {
    text-align: center;
    font-weight: bold;
    margin: 10px 0;
    font-size: 14px;
}

/* Thermal printing specific */
@media print {

    /* body {
        width: 80mm !important;
    }
    @page {
        size: 80mm auto;
        margin: 0;
    } */
    .no-print {
        display: none !important;
    }
}

/* Print button styling */
.print-button {
    position: fixed;
    top: 20px;
    right: 20px;
    padding: 10px 15px;
    background-color: #4CAF50;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 16px;
}

.print-button:hover {
    background-color: #45a049;
}







.hide-searchable-select {
    width: 0 !important;
    height: 0 !important;
    font-size: 0px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    outline: 0 !important;
}

.select-dropdown-container {
    position: relative;
    display: inline-block;
    width: 100%;
    font-size: 14px;
    background-color: var(--bg-secondary);
}

.select-dropdown-trigger {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 9px;
    box-sizing: border-box;
    border: 1px solid var(--bs-border-color);
    border-radius: 4px;
    cursor: pointer;
    background-color: var(--bg-secondary);
}

.select-dropdown-arrow {
    border: solid var(--text-secondary);
    border-width: 0 1.5px 1.5px 0;
    display: inline-block;
    padding: 3px;
    transform: rotate(45deg);
}

.select-dropdown-options-container {
    display: none;
    position: absolute;
    /* top: 100%;
    left: 0; */
    width: 100%;
    border: 1px solid var(--border-primary);
    box-sizing: border-box;
    background-color: var(--bg-secondary);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    z-index: 1000;
}

.select-dropdown-input {
    width: 100%;
    padding: 8px;
    box-sizing: border-box;
    border: none;
    border-bottom: 1px solid var(--border-primary);
    border-radius: 0 !important;
    background-color: var(--bg-secondary);
}

.select-dropdown-input.active,
.select-dropdown-input:focus {
    border-bottom: 1px solid var(--primary-color);
}

.select-dropdown-options {
    max-height: 150px;
    overflow-y: auto;
}


.select-dropdown-options-item {
    padding: 10px;
    cursor: pointer;
}

.select-dropdown-options-item:hover {
    background-color: #449af7;
    color: white;
}

.select-dropdown-options-item.active {
    background-color: #007bff;
    color: white;
}

.select-dropdown-options-item.selected {
    background-color: #005cbe;
    color: white;
}

.select-dropdown-options-item.disabled {
    color: #ccc;
    cursor: not-allowed;
}

.select-loading-indicator {
    padding: 10px;
    cursor: pointer;
}

.select-no-results {
    padding: 10px;
    cursor: pointer;
}





.ledger-header {
    display: flex;
    justify-content: space-between;
    /* align-items: center; */
    padding: 10px;
    /* background-color: var(--bg-secondary); */
    border-bottom: 1px solid var(--bs-border-color);
}

.ledger-header h1 {
    font-size: 1.5rem;
    font-weight: normal;
    margin: 0;
    line-height: 100%;
}


.ledger-header-title {
    font-size: 2.5rem;
    color: var(--text-primary);
    margin-bottom: 5px;
    line-height: 100%;
}

.printable {
    width: 100% !important;
    page-break-before: always;
}


.prevent-select {
    -webkit-user-select: none;
    /* Safari */
    -ms-user-select: none;
    /* IE 10 and IE 11 */
    user-select: none;
    /* Standard syntax */
}



.medium-heading {
    font-size: 1.5rem;
    font-weight: 500;
    color: var(--text-primary);
    margin-bottom: 10px;
}

.large-heading {
    font-size: 2rem;
    font-weight: 600;
    color: var(--text-primary);
}

.small-heading {
    font-size: 1.2rem;
    font-weight: 400;
    color: var(--text-secondary);
    margin-bottom: 5px;
}



.pos-container {
    display: flex;
    flex-direction: column;
    height: 100%;
    background-color: var(--bg-primary);
}

.hbf-container {
    display: flex;
    flex-direction: column;
    height: 100%;
    background-color: var(--bg-primary);
}


.header {
    background-color: var(--background-color);
    color: var(--text-color);
}

.footer {
    background-color: var(--background-color);
    color: var(--text-color);
}

.body {
    display: flex;
    flex: 1;
    overflow: hidden;
}

.child-body {
    flex: 1;
}

.left-col {
    /* background-color: var(--primary-color); */
    overflow-y: auto;
    /* box-shadow: var(--shadow);
    border-radius: var(--border-radius); */
}

.middle-col {
    display: flex;
    flex: 1;
    /* overflow-y: auto; */
}

.right-col {
    background-color: var(--primary-color);
    overflow-y: auto;
    /* box-shadow: var(--shadow);
    border-radius: var(--border-radius); */
}


.products-container {
    border-left: 1px solid var(--bs-border-color);
    border-right: 1px solid var(--bs-border-color);
}

.border-bottom {
    border-bottom: 1px solid var(--bs-border-color);
}

.border-top {
    border-top: 1px solid var(--bs-border-color);
}

.border-left {
    border-left: 1px solid var(--bs-border-color);
}

.border-right {
    border-right: 1px solid var(--bs-border-color);
}










.product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 20px;
    justify-content: center;
    padding: 20px;
}

.product-card {
    position: relative;
    background: var(--bg-primary);
    /* padding: 15px; */
    border-radius: 6px;
    text-align: center;
    /* box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15); */
    /* transition: transform 0.3s ease-in-out; */
    overflow: hidden;
    cursor: pointer;
    padding-bottom: 10px;
    display: flex;
    flex-direction: column;
    backdrop-filter: blur(12px) saturate(180%);
    -webkit-backdrop-filter: blur(12px) saturate(180%);
    /* box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1); */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid var(--border-primary);
    max-width: 200px;

}



.product-card.clicked {
    transform: scale(1.02);
    box-shadow: 0 12px 32px rgba(0, 128, 255, 0.2);
}




.product-card h3,
.product-card p:not(.description-overlay) {
    margin: 10px 0;
}


.product-card p {
    font-size: 0.9rem;
    color: var(--text-secondary);
}

.product-card:hover {
    transform: translateY(-5px);
}

.product-img-container {
    display: flex;
    flex: 1;
    flex-direction: column;
    justify-content: center;
    background: var(--bg-secondary);
}

.product-img-container img {
    width: 100%;
}

.product-content-container {}

.product-price {
    background-color: var(--bs-orange);
    color: var(--text-white);
    padding: 2px 8px;
    border-radius: 20px;
}

.product-name {
    font-size: 0.9rem;
    color: var(--text-color);
}

/* Description Overlay */
.description-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.7);
    color: white;
    padding: 10px;
    font-size: 90%;
    text-align: center;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

.product-card:hover .description-overlay {
    opacity: 1;
}



.cart-container {
    width: 500px;
}

.cart-container table {
    width: 100%;
    border-collapse: collapse;
}

.cart-container th {
    background-color: var(--bg-secondary);
}

.cart-container th,
.cart-container td {
    padding: 5px;
    border: 1px solid var(--bs-border-color);
    /* text-align: left; */
}



.cart-table input {
    background-color: transparent;
    display: block;
    width: 100%;
    padding-top: .375rem;
    padding-bottom: .375rem;
    padding-right: .275rem;
    padding-left: .275rem;
    font-size: 1rem;
    /* line-height: 1.5; */
    background-clip: padding-box;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.cart-table input:focus {
    background-color: transparent;
    border-color: transparent;
    outline: 0;
    /* box-shadow: 0 0 0 0.25rem rgba(0, 123, 255, 0.25); */
}



.cart-product-name {
    cursor: pointer;
}

.cart-product-description {
    font-size: 90%;
    color: var(--text-secondary);
    display: block;
}

.cart-customer-info {
    padding: 4px 8px;
}

.cart-customer-info h2 {
    font-size: 120%;
}

.cart-customer-info p {
    font-size: 80%;
}


.cart-delete-td {
    width: 30px;
}

.cart-delete-td i {
    font-size: 120%;
    color: var(--danger-color);
    cursor: pointer;
}

.cart-product-td {
    max-width: 200px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.cart-product-td span {
    max-width: 180px;
    /* Adjust width as needed */
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.cart-quantity-td {
    width: 80px;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.cart-quantity-td input {
    text-align: center;
}

.cart-line-total-td {
    width: 90px;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.cart-line-total-td input {
    text-align: right;
}

.pos-category-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    /* justify-content: left; */
    /* Aligns items horizontally */
    /* background-color: #333; */
}

.category-item {
    padding: 5px 10px;
    margin: 3px;
    text-decoration: none;
    background-color: var(--bg-primary);
    border: 1px solid var(--border-primary);
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.category-item:hover {
    background-color: var(--bg-secondary);
    color: var(--bs-link-hover-color);
}

.category-item.active {
    background-color: var(--bg-secondary);
    font-weight: bold;
}


.cart-payments-table {
    width: 100%;
    border-collapse: collapse;
}

.cart-payments-table thead th {
    background-color: var(--bg-secondary);
}

.cart-payments-table thead th,
.cart-payments-table tbody td {
    padding: 5px;
    border: 1px solid var(--bs-border-color);
    text-align: left;
}


.basic-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    /* justify-content: left; */
    /* Aligns items horizontally */
    /* background-color: #333; */
}

.button-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    /* justify-content: left; */
    /* Aligns items horizontally */
    /* background-color: #333; */
}

.button-list li {
    text-align: center;
    padding: 4px 8px;
    background-color: var(--bg-secondary);
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    cursor: pointer;
    margin-left: 5px;
    border: 1px solid var(--bs-border-color);
    border-radius: 4px;
}

.button-list li:hover {
    background-color: var(--color-blue-500);
    color: var(--color-white);

}

.button-list li i {
    font-size: 1.1rem;
}

.button-list li span {
    font-size: 70%;
    /* line-height: 100%; */
    margin-top: 3px;
}

.basic-list-item {
    padding: 5px 10px;
    margin: 0 3px 0 3px;
    text-decoration: none;
    background-color: var(--bg-primary);
    border: 1px solid var(--border-primary);
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.basic-list-item:hover {
    background-color: var(--bg-secondary);
    color: var(--bs-link-hover-color);
}

.basic-list-item.active {
    background-color: var(--bg-secondary);
    font-weight: bold;
}



.pos-total-container {
    background-color: var(--bg-secondary);
    padding: 8px 12px;
}

.cart-total-amount {
    font-size: 1.3rem;
}



.pos-horizontal-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    margin-top: 1px;
}

.pos-horizontal-menu li {
    display: flex;
    flex: 1;
    flex-wrap: wrap;
    justify-content: center;
    margin-right: 1px;
}

.pos-horizontal-menu li:last-child {
    margin-right: 0;
}

.pos-horizontal-menu li a {
    flex: 1;
    padding: 5px 10px;
    text-decoration: none;
    color: var(--text-white);
    /* cursor: pointer; */
    transition: background-color 0.3s ease;
    text-align: center;
    width: 100%;
}

/* .pos-horizontal-menu li a:hover {
    background-color: var(--bs-form-valid-color);
} */

/* Primary Theme Buttons */
.btn-reset {
    background-color: var(--bg-secondary);
    color: var(--text-secondary);
    /* color: var(--color-gray-700); */
    border-color: var(--color-gray-200);
    transition: background 0.3s ease-in-out, color 0.3s ease-in-out;
}

.btn-reset:hover {
    /* background-color: var(--color-gray-50); */
    color: var(--text-secondary);

}

.btn-default {
    background-color: var(--bg-secondary);
    color: var(--text-secondary);
    transition: background 0.3s ease-in-out, color 0.3s ease-in-out;
}

.btn-default:hover {
    background-color: var(--color-primary-500);
    color: var(--color-white);
}

.btn-primary {
    background-color: var(--color-primary-600);
    color: var(--color-white);
    transition: background 0.3s ease-in-out, color 0.3s ease-in-out;
}

.btn-primary:hover {
    background-color: var(--color-primary-500);
}

.btn-secondary {
    background-color: var(--bg-secondary);
    color: var(--text-secondary);
    transition: background 0.3s ease-in-out, color 0.3s ease-in-out;
}

.btn-secondary:hover {
    background-color: var(--bg-primary);
    color: var(--text-primary);
}


.btn-light {
    color: var(--text-primary);
    background-color: var(--bg-primary);
    border-color: var(--bg-primary);
}

.btn-light {
    /* background-color: var(--light);
    color: var(--black); */
    transition: background 0.3s ease-in-out, color 0.3s ease-in-out;
}

.btn-light:hover {
    background-color: var(--muted);
    /* color: var(--black); */
    color: var(--color-white);
}

.btn-dark {
    background-color: var(--black);
    color: var(--light);
    transition: background 0.3s ease-in-out, color 0.3s ease-in-out;
}

.btn-dark:hover {
    background-color: var(--text-secondary);
    color: var(--light);
}

/* Accent Button Colors */
.btn-green {
    background-color: #16a085;
    color: #fff;
    transition: background 0.3s ease-in-out, color 0.3s ease-in-out;
}

.btn-green:hover {
    background-color: #1abc9c;
    color: #fff;
}

.btn-blue {
    background-color: #3498db;
    color: #fff;
    transition: background 0.3s ease-in-out, color 0.3s ease-in-out;
}

.btn-blue:hover {
    background-color: #2980b9;
    color: #fff;
}

.btn-red {
    background-color: #e74c3c;
    color: #fff;
    transition: background 0.3s ease-in-out, color 0.3s ease-in-out;
}

.btn-red:hover {
    background-color: #c0392b;
    color: #fff;
}

.btn-orange {
    background-color: #f39c12;
    color: #fff;
    transition: background 0.3s ease-in-out, color 0.3s ease-in-out;
}

.btn-orange:hover {
    background-color: #e67e22;
    color: #fff;
}

.btn-yellow {
    background-color: #f1c40f;
    color: #fff;
    transition: background 0.3s ease-in-out, color 0.3s ease-in-out;
}

.btn-yellow:hover {
    background-color: #d4ac0d;
    color: #fff;
}

.btn-purple {
    background-color: #9b59b6;
    color: #fff;
    transition: background 0.3s ease-in-out, color 0.3s ease-in-out;
}

.btn-purple:hover {
    background-color: #8e44ad;
    color: #fff;
}

.btn-pink {
    background-color: #e91e63;
    color: #fff;
    transition: background 0.3s ease-in-out, color 0.3s ease-in-out;
}

.btn-pink:hover {
    background-color: #c2185b;
    color: #fff;
}

.btn-cyan {
    background-color: #00bcd4;
    color: #fff;
    transition: background 0.3s ease-in-out, color 0.3s ease-in-out;
}

.btn-cyan:hover {
    background-color: #0097a7;
    color: #fff;
}

/* Neutral Button Colors */
.btn-gray {
    background-color: #95a5a6;
    color: #fff;
    transition: background 0.3s ease-in-out, color 0.3s ease-in-out;
}

.btn-gray:hover {
    background-color: #7f8c8d;
    color: #fff;
}

.btn-dark-gray {
    background-color: #2c3e50;
    color: #fff;
    transition: background 0.3s ease-in-out, color 0.3s ease-in-out;
}

.btn-dark-gray:hover {
    background-color: #34495e;
    color: #fff;
}

.btn-white {
    background-color: #ffffff;
    color: #000;
    transition: background 0.3s ease-in-out, color 0.3s ease-in-out;
}

.btn-white:hover {
    background-color: #f0f0f0;
    color: #000;
}

.btn-black {
    background-color: #000000;
    color: #fff;
    transition: background 0.3s ease-in-out, color 0.3s ease-in-out;
}

.btn-black:hover {
    background-color: #222222;
    color: #fff;
}



.decimals {
    font-size: 80%;
    font-weight: normal;
    vertical-align: baseline;
    top: -0.2em;
    position: relative;
    color: var(--text-secondary);
}



/* Animation style */
/* @keyframes cardClickEffect {
  0% {
    transform: scale(1);
    box-shadow: none;
  }
  50% {
    transform: scale(1.03);
    box-shadow: 0 0 10px rgba(0, 150, 255, 0.4);
  }
  100% {
    transform: scale(1);
    box-shadow: none;
  }
} */

/* Apply when active */
/* .product-card.clicked {
  animation: cardClickEffect 0.4s ease;
} */


.server-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 10px;
}

.server-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: 8px;
    text-align: center;
    border: 1px solid var(--bs-border-color);
    /* font-weight: bold; */
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    transition: transform 0.2s ease, box-shadow 0.3s ease;
    background: #fff;
}

.server-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1);
}

.server-card .server-name {
    display: block;
    font-size: 1rem;
    width: 100%;
    border: none;
    padding: 5px;
    /* border-top-left-radius: 8px;
  border-top-right-radius: 8px; */
}

.server-card.selected {
    outline: 3px solid #2196f3;
}



.table-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    gap: 10px;
}

.table-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: 8px;
    text-align: center;
    border: 1px solid var(--bs-border-color);
    /* font-weight: bold; */
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    transition: transform 0.2s ease, box-shadow 0.3s ease;
    background: #fff;
}

.table-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1);
}

.table-card .table-name {
    display: block;
    font-size: 1rem;
    width: 100%;
    border: none;
    padding: 5px;
    /* border-top-left-radius: 8px;
  border-top-right-radius: 8px; */
}

.table-card.selected {
    outline: 3px solid #2196f3;
}

.status-label {
    font-size: 0.8rem;
    opacity: 0.8;
}

.status-available {
    /* border-color: #4caf50; */
}

.status-available .status-label {
    color: #237627;
}

.status-occupied {
    /* border-color: #e53935; */
}

.status-occupied .status-label {
    color: #e53935;
}

.status-reserved {
    /* border-color: #fdd835; */
}

.status-reserved .status-label {
    color: #cba500;
}

.table-icon {
    width: 60px;
    opacity: 0.85;
    padding: 5px;
}

.online {
    color: #4caf50;
}

.offline {
    color: #f44336;
}

.blink {
    animation: blinkAnimation 1s infinite;
}

/* Keyframes for blink effect */
@keyframes blinkAnimation {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.validate-fail {
    border-color: red !important;
}

.normal-table-container table {
    width: 100%;
    border-collapse: collapse;
}

.normal-table-container th {
    background-color: var(--bg-secondary);
}

.normal-table-container th,
.normal-table-container td {
    padding: 5px;
    border: 1px solid var(--bs-border-color);
    /* text-align: left; */
}



.tabs {
    width: 100%;
    background: #fff;
    /* border: 1px solid #ddd;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); */
}

.tab-buttons {
    list-style: none;
    display: flex;
    padding: 0;
    margin: 0;
    border-bottom: 2px solid #ccc;
    background: #eee;
}

.tab-buttons li {
    flex: 1;
    text-align: center;
}

.tab-buttons li button {
    width: 100%;
    padding: 10px;
    background: none;
    border: none;
    cursor: pointer;
    background: #f2f2f2;
    transition: background 0.3s ease;
}

.tab-buttons li button.active {
    background: #fff;
    border-bottom: 2px solid #0077cc;
    font-weight: bold;

}

.tab-content {
    display: none;
}

.tab-content.active {
    display: block;
}


.card-info,
.wallet-info,
.gift-card-info,
.store-credit-info,
.crypto-info,
.transfer-info,
.cheque-info {
    display: none;
    flex-direction: column;
}





.report-container {}

.report-header {
    /* background-color: var(--bg-secondary); */
    background-color: #d7d7d7;
    padding: 10px;
}

.report-sub-header {
    padding: 5px 0;
    /* border-bottom: 1px solid var(--bs-border-color); */
    border-bottom: 1px solid #a3a3a3;
}

.report-small-p {
    font-size: 10px;
}

.report-normal-p {
    font-size: 14px;
}

.report-header .company-name {
    font-size: 1.5rem;
    font-weight: normal;
    margin: 0;
}

.report-header .company-slogan {
    font-weight: normal;
    margin-top: 3px;
    display: block;
}

.report-header .report-name {
    font-size: 2rem;
    color: var(--text-primary);
    margin-bottom: 5px;
}

.report-header .report-number {
    display: block;
    color: var(--text-secondary);
    font-size: 12px;
    /* line-height: 100%; */
}

.report-header .report-date {
    display: block;
    color: var(--text-secondary);
    font-size: 12px;
    /* line-height: 100%; */
}

.report-customer-name {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 5px;
}

.report-address-container {
    color: var(--text-secondary);
    font-size: 12px;
}

.report-address-span,
.report-city-span,
.report-phone-span,
.report-email-span,
.report-ntn-span {
    display: block;
}

.report-address-span {
    max-width: 300px;
}

.report-ntn-span {
    margin-top: 8px;
    font-weight: 600;

}

.report-table {
    width: 100%;
    border-collapse: collapse;
}

.report-table th {
    /* background-color: var(--bg-secondary); */
    background-color: #d7d7d7;
    padding: 8px;
    text-align: left;
    font-size: 12px;
}

.report-table th,
.report-table td {
    /* border: 1px solid var(--bs-border-color); */
    border: 1px solid #a3a3a3;
    padding: 4px 6px;
}

.report-table td {
    font-size: 12px;
    color: var(--text-secondary);
    /* line-height: 100%; */
}

/* .report-table td span {
    display: block;
    margin-top: 5px;
} */

.report-table .total-row {
    font-weight: bold;
    background-color: var(--bg-secondary);
}

.report-table .total-row td {
    border-top: 2px solid var(--bs-border-color);
}

.report-table-note {
    font-size: 90%;
    color: var(--text-secondary);
}

.report-table-totals {
    width: 100%;
    min-width: 300px;
    /* border-top: 2px solid var(--bs-border-color);
    border-bottom: 2px solid var(--bs-border-color); */
}


.report-terms {
    /* list-style: circle; */
    padding: 0;
    margin: 0;
    font-size: 11px;
    color: var(--text-secondary);
    margin-top: 6px;
    margin-bottom: 5px;
}

.report-terms li {
    margin-bottom: 2px;
    font-size: 11px;

}

.report-body {
    min-height: 500px;
}

.report-footer {
    border-top: 1px solid #a3a3a3;
    color: var(--text-secondary);
}

.strong {
    font-weight: bold;
    color: var(--text-primary);
}

.profile-container {
    padding: 20px;
}

.profile-image {
    width: 75px;
    border: 1px solid var(--bs-border-color);
    border-radius: 3px;
    margin-right: 10px;
}

.profile-image img {
    width: 100%;
}

.profile-heading {
    font-size: 2rem;
    line-height: 100%;
}

.profile-subheading {
    font-size: 0.9rem;
}

.profile-small-note {
    font-size: 0.7rem;
    display: block;
}

.profile-card {
    padding: 10px 15px;
    border-top: 1px solid var(--bs-border-color);
    border-bottom: 1px solid var(--bs-border-color);
    border-left: 1px solid var(--bs-border-color);
}

.profile-card-last {
    padding: 10px 15px;
    border: 1px solid var(--bs-border-color);
}

.profile-card-title {
    font-size: 80%;
    font-weight: 500;
    color: var(--text-secondary);
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-align: center;
}

.profile-card-value {
    font-size: 1.2rem;
    /* font-weight: 600; */
    color: var(--text-primary);
    margin: 10px 0;
    text-align: center;
}


.profile-box {
    border: 1px solid var(--bs-border-color);

}

.profile-box-header {
    padding: 10px;
    border-bottom: 1px solid var(--bs-border-color);
}

.profile-box-header a {
    color: var(--primary-color);
}

.profile-box-heading {
    font-size: 1rem;
}

.profile-box-body {
    padding: 10px;
    ;
}

.profile-box-body h3 {
    font-size: 1.7rem;
}

.profile-box-body span {
    display: block;
}

.login-container {
    justify-content: center;
    align-items: center;
    height: 100vh 533px;
    display: flex;
    /* background-color: var(--bg-primary); */
}

.login-box {
    width: 420px;
    /* margin: 50px auto; */
    background-color: var(--bg-primary);
    /* border-radius: var(--bs-border-radius-lg); */
    border-radius: .75rem;
    /* box-shadow: var(--bs-box-shadow-lg); */
    border: 1px solid var(--bs-border-color);
    --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);
    --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.login-header {
    text-align: left;
    padding: 15px;
    background-color: rgba(0, 0, 0, 0.05);
    border-top-left-radius: .75rem;
    border-top-right-radius: .75rem;

}

.login-header h2 {
    font-size: 1.8rem;
    color: var(--text-primary);
    /* line-height: normal; */
}

.login-form {
    padding: 15px;
}

.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    margin-bottom: 8px;
    color: var(--text-primary);
    font-weight: 500;
}


.btn-login {
    width: 100%;
    padding: 12px;
    font-size: 1rem;
    font-weight: 500;
    border-radius: var(--bs-border-radius);
    cursor: pointer;
    transition: all 0.3s ease;
}

.alert-error {
    background-color: var(--color-red-100);
    color: var(--color-red-800);
    padding: 12px;
    border-radius: var(--bs-border-radius);
    border-left: 4px solid var(--color-red-500);
}

.light-theme #logo {
    content: url('../images/logo_light.png');
}

.dark-theme #logo {
    content: url('../images/logo_dark.png');
}

.black-theme #logo {
    content: url('../images/logo_dark.png');
}


.status-box {
    opacity: 0.5;
    font-size: 3rem;
    color: white;
    line-height: 100%;
}

.billing-address-container p {
    color: var(--bs-gray-700);
}

.shipping-address-container p {
    color: var(--bs-gray-700);
}

.status-tag-container {
    padding: 8px;
}

.status-tag {
    background-color: green;
    color: white;
    padding: 2px 5px;
    margin-left: 8px;
}

.badge {
    display: inline-block;
    padding: 0.1em 0.35em;
    /* font-weight: 600; */
    border-radius: 0.25rem;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
}

.badge-small {
    display: inline-block;
    padding: 2px 4px;
    /* font-weight: 600; */
    border-radius: 0.25rem;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    font-size: 80%;
    line-height: 12px;
}

/* Success Badge */
.badge-success {
    background-color: green;
}

/* Danger Badge */
.badge-danger {
    background-color: #dc3545;
}

/* Warning Badge */
.badge-warning {
    background-color: #ffc107;
    color: #212529;
    /* Dark text for better contrast */
}

/* Infor Badge */
.badge-info {
    background-color: #17a2b8;
}

.badge-light {
    background-color: #f8f9fa;
    color: #212529;
    border: 1px solid var(--bs-border-color);
    /* Dark text for better contrast */
}

.badge-contain {
    background-color: #f8f9fa;
    color: #212529;
    border: 1px solid #ffd870;;
    /* Dark text for better contrast */
}


.application-container {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
    background: #f0f0f0;
}

.application-card-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
}

.application-card {
    background: white;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    padding: 20px;
    /* width: 200px;
    height: 150px; */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.application-card h1 {
    font-size: 2rem;
    margin: 10px 0 0 0;
    /* line-height: 100%; */
}

.application-card span {
    font-size: 80%;
}


/* Container for the navigation bar */
.horizontal-nav {
    margin-left: 20px;
}

/* Unordered list styled as a flex container */
.horizontal-nav ul {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
}

/* List items spaced horizontally */
.horizontal-nav ul li {
    display: flex;
    text-align: center;
}

/* Navigation links */
.horizontal-nav ul li a {
    text-decoration: none;
    transition: background-color 0.3s ease;
    padding: 10px;
}

/* Hover effect for links */
.horizontal-nav ul li a:hover {}

.horizontal-nav ul li a.active {
    background-color: var(--bg-secondary);
}

.bg-cornsilk {
    /* background-color: var(--bg-secondary); */
}

/* Loading bar */
#page-loading-bar {
    position: fixed;
    top: 0;
    left: 0;
    height: 2px;
    width: 100%;
    background: linear-gradient(to right, #3498db 30%, transparent 30%);
    background-size: 200% 100%;
    animation: ploading 1s linear infinite;
    z-index: 9999;
}

@keyframes ploading {
    from {
        background-position: 0 0;
    }

    to {
        background-position: -200% 0;
    }
}


.terms-conditions {
    font-size: 0.9rem;
    color: var(--text-secondary);
    margin-top: 10px;
    padding: 0% 20px;
}

.terms-conditions h2 {
    font-size: 1.5rem;
    color: var(--text-primary);
    margin-top: 10px;
    margin-bottom: 10px;
}

.terms-conditions ul {
    margin-left: 20px;
    margin-top: 10px;
}





.installation-container {
    justify-content: center;
    align-items: center;
    height: 100vh 533px;
    display: flex;
    /* background-color: var(--bg-primary); */
}

.installation-box {
    min-width: 700px;
    max-width: 880px;
    margin-top: 20px;
    margin-bottom: 20px;

    background-color: var(--bg-primary);
    border-radius: .75rem;
    border: 1px solid var(--bs-border-color);
    --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);
    --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.installation-header {
    text-align: left;
    padding: 15px;
    background-color: rgba(0, 0, 0, 0.05);
    border-top-left-radius: .75rem;
    border-top-right-radius: .75rem;

}

.installation-header h2 {
    font-size: 1.8rem;
    color: var(--text-primary);
    /* line-height: 100%; */
}

.installation-header span {
    font-size: 80%;
}

.installation-form h3 {
    font-size: 1rem;
    color: var(--text-primary);
    line-height: normal;
}

.installation-form-heading {
    margin-bottom: 20px;
    border-bottom: 1px solid var(--bs-border-color);
}

.installation-form-heading h1 {
    font-size: 1.1rem;
    color: cornflowerblue;
    /* line-height: 100%; */
}

.installation-form-heading span {
    font-size: 80%;
}


.installation-form-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 1px solid var(--border);
}

.installation-brand {
    display: flex;
    align-items: center;
    gap: 12px;
}

.installation-wrap {
    max-width: 880px;
    margin: 0 auto;
}

.installation-meta {
    color: var(--muted);
    font-size: 90%;
}

.installation-panel {
    margin: 18px 0;
}

.installation-section {
    margin: 18px 0;
}

.installation-section h1 {
    font-size: 1.75rem;
    margin: 0;
}

.installation-section h2 {
    font-size: 1.25rem;
    margin-top: 28px;
    margin-bottom: 10px;
}

.installation-section p {
    margin: 8px 0;
}

.installation-section ul,
ol {
    margin: 8px 0 8px 20px;
}

.installation-accept {
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid var(--border);
}

.installation-btn.primary {
    background: var(--accent);
    color: #0b1220;
    border-color: transparent;
}

.installation-btn[disabled] {
    opacity: 0.6;
    cursor: not-allowed;
}


.installation-footer {
    text-align: left;
    padding: 8px 15px;
    background-color: rgba(0, 0, 0, 0.05);
    border-bottom-left-radius: .75rem;
    border-bottom-right-radius: .75rem;

}

.installation-pill {
    display: inline-block;
    font-size: 0.85rem;
    margin-left: 8px;
}


.pass {
    color: green;
}

.fail {
    color: red;
}


/* canvas behind */
canvas.sprinkles {
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}

/* Strength bar */
.strength-wrap {
    margin-top: 0.5rem;
}

.strength-bar {
    position: relative;
    height: 10px;
    border-radius: 999px;
    background: #e8ecf2;
    overflow: hidden;
}

.strength-fill {
    height: 100%;
    width: 0%;
    background: var(--weak);
    transition: width 180ms ease, background-color 180ms ease;
}

.strength-label {
    margin-top: 0.4rem;
    font-size: 0.9rem;
    color: var(--muted);
}

.requirements {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.4rem 1rem;
    margin-top: 0.6rem;
    font-size: 0.9rem;
    color: var(--muted);
}

.req {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.req .dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #cfd6df;
    border: 1px solid #c0c8d2;
}

.req.ok .dot {
    background: #2ecc71;
    border-color: #27ae60;
}

/* Match status */
.match-status {
    margin-top: 0.5rem;
    font-size: 0.95rem;
    font-weight: 600;
}

.match-status.ok {
    color: #27ae60;
}

.match-status.err {
    color: #e74c3c;
}

/* Accessibility helper text */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}


/* Skeleton styles */
.skeleton-loading {
    background: linear-gradient(90deg, var(--skeleton-highlight) 25%, var(--skeleton-base) 50%, var(--skeleton-highlight) 75%);
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite;
    height: 16px;
    border-radius: 4px;
}

@keyframes shimmer {
    0% {
        background-position: -200% 0;
    }

    100% {
        background-position: 200% 0;
    }
}