@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');
@font-face {
    font-family: 'Graphik';
    src: url('../font/GRAPHIKARABIC.OTF') format('opentype');
}

*,
:root,
*::after,
*::before {
    /** */
    --prime: 255 0 0;
    --acent: 110 185 247;
    /** */
    --black: 29 29 29;
    --white: 254 254 254;
    --light: 245 245 245;
    --shade: 209 209 209;
    --r-thin: 4px;
    --r-huge: 8px;
    --w-thin: 600;
    --w-huge: 900;
    --shadow: 0px 10px 20px -15px #07263e;
    /** */
    --color-sys-0: #94A3B8;
    --color-sys-1: #78716C;
    --color-sys-2: #1F2937;
    /** */
    --color-0: #03a9f4;
    --color-1: #ab3b66;
    --color-2: #c47eef;
    --color-3: #29add9;
    --color-4: #22C55E;
    --color-5: #f44336;
    --color-6: #14B8A6;
    --color-7: #06B6D4;
    --color-8: #ffc107;
    --color-9: #8bc34a;
    --color-10: #f06292;
    --color-11: #050529;
}

*,
*::after,
*::before {
    font-family: "Roboto", sans-serif;
}

html[lang="ar"] *,
html[lang="ar"] *::after,
html[lang="ar"] *::before {
    font-family: 'Graphik', sans-serif;
}

::-webkit-search-cancel-button,
 ::-webkit-inner-spin-button,
 ::-webkit-outer-spin-button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: none;
}

input {
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    appearance: textfield;
}

body[close] {
    height: 100dvh;
    overflow: hidden;
}

os-text,
os-area,
os-date,
os-select,
os-search,
os-fillable,
os-password,
os-image-transfer,
os-select::part(search),
os-switch::part(toggle) {
    background: transparent;
    border: 1px solid rgb(var(--black));
}

os-filterable {
    background-color: rgb(var(--white));
}

os-button:not([outlined]),
os-topbar:not([transparent]) {
    background-color: rgb(var(--prime));
}

os-button {
    border: 1px solid rgb(var(--prime));
}

os-button:hover,
os-button:focus,
os-button:focus-within {
    border-color: rgb(var(--prime) / .4);
    background-color: rgb(var(--prime) / .4);
}

os-text,
os-area,
os-date,
os-toast,
os-select,
os-search,
os-fillable,
os-password,
os-filterable,
os-image-transfer,
os-date::part(content),
os-select::part(search),
os-modal::part(content),
os-select::part(content),
os-fillable::part(content),
os-dropdown::part(content),
os-data-visualizer::part(content) {
    border-radius: var(--r-thin);
}

os-data-visualizer::part(wrapper) {
    border: unset;
    border-radius: var(--r-huge);
}

os-date::part(content),
os-modal::part(content),
os-select::part(content),
os-navbar::part(content),
os-fillable::part(content),
os-dropdown::part(content),
os-data-visualizer::part(search),
os-data-visualizer::part(content),
os-data-visualizer::part(wrapper) {
    box-shadow: var(--shadow);
}

os-switch::part(ground) {
    border: 1px solid rgb(var(--black));
}

os-switch:not([checked])::part(ground) {
    background: transparent;
}

os-switch::part(toggle) {
    background: rgb(var(--white));
}

os-data-visualizer::part(title) {
    font-size: 1.25rem;
    line-height: 1.75rem;
    font-weight: var(--w-thin);
}

.bg-x-core {
    --tw-gradient-stops: rgb(var(--acent)), rgb(var(--prime));
}

.bg-x-core:not(.no-action):hover,
.bg-x-core:not(.no-action):focus,
.bg-x-core:not(.no-action):focus-within {
    --tw-gradient-stops: rgb(var(--prime)), rgb(var(--acent));
}

.text-x-core {
    background-image: linear-gradient(to bottom right, rgb(var(--prime)), rgb(var(--acent)));
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
}

 :is([dir="rtl"] .text-x-core) {
    background-image: linear-gradient(to bottom left, rgb(var(--prime)), rgb(var(--acent)));
}

@media (min-width: 1024px) {
    os-data-visualizer::part(title) {
        font-size: 1.5rem;
        line-height: 2rem;
    }
}

os-data-visualizer::part(image) {
    width: 4rem;
    display: block;
    margin: 0 auto;
    aspect-ratio: 1/1;
    object-fit: contain;
    object-position: center;
    background: rgb(var(--black) / .05);
    border-radius: var(--r-thin);
}

os-data-visualizer::part(search) {
    border: unset;
    border-radius: 0;
    border-bottom: 1px solid rgb(var(--black));
    background: transparent;
    padding: .25rem .5rem;
}

os-data-visualizer::part(search):focus,
os-data-visualizer::part(search):focus-within {
    outline: unset;
    border-color: rgb(var(--prime) / 1);
}

.x-scroll {
    overflow: overlay;
}

.x-scroll::-webkit-scrollbar {
    -webkit-appearance: none;
    background: transparent;
    -moz-appearance: none;
    appearance: none;
    height: 5px;
    width: 5px;
}

.x-scroll::-webkit-scrollbar-track {
    background: transparent;
}

.x-scroll::-webkit-scrollbar-thumb {
    border-radius: 2px;
    background: rgb(209 213 219 / 1);
}

.x-scroll::-webkit-scrollbar-thumb:hover {
    background: rgb(156 163 175 / 1);
}

.truncate-x-core {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -webkit-line-clamp: 2;
}

.cards::-webkit-scrollbar {
    width: 0;
    height: 0;
}

.grid-x-1 {
    width: 100%;
}

.grid-x-1>* {
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
}

@media (min-width: 1024px) {
    .grid-x-1 {
        grid-template-columns: repeat(1, 1fr);
        grid-template-rows: repeat(1, 1fr);
    }
    .grid-x-2 {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(1, 1fr);
    }
    .grid-x-3 {
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(1, 1fr);
    }
    .grid-x-4 {
        grid-template-columns: repeat(5, 1fr);
        grid-template-rows: repeat(1, 1fr);
    }
    .grid-x-5 {
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(2, 1fr);
    }
    .grid-x-1>* {
        aspect-ratio: 16/5;
    }
    .grid-x-2>* {
        aspect-ratio: 16/10;
    }
    .grid-x-3>* {
        aspect-ratio: 16/20;
    }
    .grid-x-4>*:nth-child(1),
    .grid-x-4>*:nth-child(4) {
        grid-column: span 2/span 2;
        height: 100%;
    }
    .grid-x-4>*:nth-child(2),
    .grid-x-4>*:nth-child(3) {
        grid-column: span 3/span 3;
        aspect-ratio: 16/7;
    }
    .grid-x-5>* {
        aspect-ratio: 16/9;
    }
    .grid-x-5>*:nth-child(2) {
        grid-row: span 2/span 2;
        height: 100%;
    }
    .grid-x-1>*,
    .grid-x-2>*,
    .grid-x-3>*,
    .grid-x-5>* {
        grid-column: span 1 /span 1;
    }
    #search-modal::part(content) {
        width: 34%;
    }
}

.bg-x-radial {
    background: radial-gradient(rgb(var(--acent) / .7) 20%, rgb(var(--prime) / 1));
}

.after\:bg-x-radial:after {
    background: radial-gradient(rgb(var(--acent) / .7) 20%, rgb(var(--prime) / 1));
}

.counter {
    background-color: transparent;
    text-align: center;
    padding: 0;
}

.counter:focus-within {
    outline: none;
}

.counter::part(field) {
    text-align: center;
    font-size: 20px;
}

.counter::part(trigger) {
    border-radius: 9999px;
    border: 3px solid rgb(var(--prime) / 1);
    color: rgb(var(--prime) / 1);
    width: 2rem;
    height: 2rem;
}

@keyframes rotate {
    100% {
        transform: rotate(360deg);
    }
}

@keyframes loading {
    0% {
        stroke-dasharray: 0 150;
        stroke-dashoffset: 0;
    }
    47.5% {
        stroke-dasharray: 42 150;
        stroke-dashoffset: -16;
    }
    95%,
    100% {
        stroke-dasharray: 42 150;
        stroke-dashoffset: -59;
    }
}

#loader {
    width: 4rem;
    height: 4rem;
    margin: auto;
    display: block;
    color: rgb(var(--prime) / 1);
}

#loader g {
    transform-origin: center;
    animation: rotate 2s linear infinite;
}

#loader circle {
    stroke-linecap: round;
    animation: loading 1.5s ease-in-out infinite;
}

[tab]>button>svg {
    transition: transform 200ms ease-in-out;
}

[tab][expand]>button>svg {
    transform: rotate(90deg);
}

:is([dir="rtl"] [tab][expand]>button>svg) {
    transform: rotate(-90deg);
}

[tab]>div {
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transition: all 300ms
}

[tab][expand]>div {
    max-height: 5000px;
    opacity: 1;
}

.revert,
.revert * {
    all: revert;
}

.revert img {
    max-width: 100%;
}