:root {
  --font: 'Tajawal', system-ui, -apple-system, sans-serif;
  --bg-deep: #02010a;
  --msn-blue: rgba(0, 100, 215, 0.12);
  --msn-glow: rgba(0, 180, 255, 0.05);
  --scroll-thumb: rgba(155, 155, 155, 0.25);
  --scroll-thumb-hover: rgba(155, 155, 155, 0.5);
  --transition-default: cubic-bezier(0.05, 0.7, 0.1, 1);
  --spring: cubic-bezier(0.3, 1.5, 0.5, 1);
  --neon-purple: rgba(120, 60, 240, 0.18);
  --neon-deep: rgba(70, 0, 180, 0.12);
  --warm-glow: rgba(255, 140, 0, 0.05);
  --neon-pink: rgba(220, 50, 130, 0.08);
  --neon-cyan: rgba(0, 210, 255, 0.05);
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --wallpaper-blur: 0px;
}

*,
*::before,
*::after,
*:before,
*:after,
body,
html,
input,
button,
select,
textarea,
optgroup,
option,
label,
span,
div,
p,
a,
h1, h2, h3, h4, h5, h6,
small,
strong,
em,
b,
i,
u,
s,
table,
thead,
tbody,
tfoot,
tr,
td,
th,
ul,
ol,
li,
dl,
dt,
dd,
blockquote,
pre,
code,
kbd,
samp,
var,
figure,
figcaption,
fieldset,
legend,
form,
header,
footer,
nav,
main,
section,
article,
aside,
details,
summary,
dialog,
menu,
canvas,
video,
audio,
iframe,
svg,
text,
tspan,
ruby,
rt,
rp,
mark,
time,
data,
output,
progress,
meter,
::placeholder,
::selection,
::marker,
::backdrop {
  font-family: 'Tajawal', system-ui, -apple-system, sans-serif !important;
}

html,
body,
*,
*::before,
*::after {
  scrollbar-width: none !important; 
  -ms-overflow-style: none !important; 
}

html::-webkit-scrollbar,
body::-webkit-scrollbar,
*::-webkit-scrollbar,
*::before::-webkit-scrollbar,
*::after::-webkit-scrollbar,
::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: transparent !important;
}

html::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb,
*::-webkit-scrollbar-thumb,
::-webkit-scrollbar-thumb {
  display: none !important;
  background: transparent !important;
  width: 0 !important;
  height: 0 !important;
}

html::-webkit-scrollbar-track,
body::-webkit-scrollbar-track,
*::-webkit-scrollbar-track,
::-webkit-scrollbar-track {
  display: none !important;
  background: transparent !important;
  width: 0 !important;
  height: 0 !important;
}

html::-webkit-scrollbar-corner,
body::-webkit-scrollbar-corner,
*::-webkit-scrollbar-corner,
::-webkit-scrollbar-corner {
  display: none !important;
  background: transparent !important;
}

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: var(--font) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
  user-select: none;
}

input,
textarea,
select,
[contenteditable="true"],
.selectable,
p,
h1,
h2,
h3,
h4,
h5,
h6,
span,
label,
table,
tr,
td,
th,
tbody,
thead,
tfoot,
code,
pre,
.selectable-text,
.data-cell,
.badge {
  -webkit-user-select: text !important;
  user-select: text !important;
}

::selection {
  background: rgba(0, 120, 215, 0.4) !important;
  color: #ffffff !important;
}

html {
  direction: rtl;
  font-size: 16px;
  scroll-behavior: auto !important;
  scroll-padding-top: 20px;
  scroll-padding-bottom: 20px;
  overflow-x: hidden;
  -webkit-overflow-scrolling: auto !important;
  overscroll-behavior: none;
}

body {
  min-height: 100vh;
  margin: 0;
  padding: 0;
  color: #fff;
  background: var(--bg-deep);
  background-repeat: no-repeat;
  overflow-x: hidden;
  overflow-y: auto;
  position: relative;
  text-rendering: optimizeSpeed;
  will-change: scroll-position;
}

a,
button {
  text-decoration: none;
  outline: none;
  border: none;
  background: none;
  -webkit-tap-highlight-color: transparent;
  cursor: pointer;
  color: inherit;
  transition: transform .15s var(--transition-default);
  touch-action: manipulation;
  -webkit-user-select: none;
  user-select: none;
  font-family: var(--font) !important;
}

a:focus-visible,
button:focus-visible {
  outline: 2px solid rgba(91, 53, 232, 0.7);
  outline-offset: 3px;
  border-radius: 4px;
}

button:active {
  transform: scale(.974) translateY(2px);
}

.scroll-container,
.modal-content,
.dropdown-menu,
.sidebar,
.chat-messages {
  overflow-y: auto;
  scroll-behavior: auto !important;
  overscroll-behavior: contain;
  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  will-change: scroll-position;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

.scroll-container::-webkit-scrollbar,
.modal-content::-webkit-scrollbar,
.dropdown-menu::-webkit-scrollbar,
.sidebar::-webkit-scrollbar,
.chat-messages::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

.no-overscroll {
  overscroll-behavior: none;
}

@font-face {
  font-family: 'Tajawal';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Tajawal'), url('fonts/Iura6YBj_oCad4k1nzSBC45I.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}

@font-face {
  font-family: 'Tajawal';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Tajawal'), url('fonts/Iura6YBj_oCad4k1nzGBCw.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Tajawal';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: local('Tajawal'), url('fonts/Iurf6YBj_oCad4k1l8KiHrRpiYlJ.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC;
}

@font-face {
  font-family: 'Tajawal';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: local('Tajawal'), url('fonts/Iurf6YBj_oCad4k1l8KiHrFpiQ.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Tajawal';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local('Tajawal'), url('fonts/Iurf6YBj_oCad4k1l4qkHrRpiYlJ.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC;
}

@font-face {
  font-family: 'Tajawal';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local('Tajawal'), url('fonts/Iurf6YBj_oCad4k1l4qkHrFpiQ.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

#eyehrm-progress-loader.eyehrm-progress-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 2.5px !important;
  background: rgba(0, 0, 0, 0.15);
  z-index: 9999;
  pointer-events: none;
  display: none;
  overflow: hidden;
}

#eyehrm-progress-loader .eyehrm-progress-bar {
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, #6b0f8c 0%, #9b3dff 20%, #00b4ff 45%, #00e5aa 65%, #ff6b00 85%, #6b0f8c 100%) !important;
  background-size: 200% 100% !important;
  box-shadow: 0 0 12px rgba(155, 61, 255, 0.6), 0 0 4px rgba(0, 229, 170, 0.4);
  transition: width .4s cubic-bezier(0.1, 0.7, 1, 0.1);
  float: left;
}

#eyehrm-progress-loader.active {
  display: block !important;
}

#eyehrm-progress-loader.eyehrm-animated .eyehrm-progress-bar {
  animation: progressFlow 1.4s linear infinite !important;
}

@keyframes progressFlow {
  0% {
    background-position: 0% 0;
  }
  100% {
    background-position: 200% 0;
  }
}

.gap {
  height: 80px;
}

.background-layer {
  position: fixed;
  inset: 0;
  z-index: -2;
  overflow: hidden;
  background: var(--bg-deep);
}

.background-layer::before {
  content: '';
  position: absolute;
  inset: -60px;
  background-image: var(--wallpaper-bg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  filter: blur(var(--wallpaper-blur, 0px));
  transform: translateZ(0);
  will-change: filter;
  transition: filter .45s var(--transition-default), background-image .35s ease;
}

.background-layer::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(120% 90% at 50% -8%, rgba(2, 1, 10, 0.4) 0%, rgba(2, 1, 10, 0) 55%),
    radial-gradient(150% 130% at 50% 50%, rgba(2, 1, 10, 0) 42%, rgba(2, 1, 10, 0.32) 100%),
    linear-gradient(180deg, rgba(2, 1, 10, 0.14) 0%, rgba(2, 1, 10, 0.22) 100%);
}

@supports (-webkit-touch-callout: none) {
  .background-layer::before {
    transform: none;
  }
}

/* ==========================================================================
   Deep mobile / touch support
   Applies across the whole app (loaded on every page alongside home-css.css
   and taskbar.css). Two problems this section solves:
   1) Most interactive states here are written as :hover, which never fires
      on a touchscreen and can visually "stick" after a tap on some mobile
      browsers.
   2) Default touch behaviour (300ms tap delay, callout menus, drag
      ghosting) makes custom UI feel unresponsive/non-native on a phone.
   ========================================================================== */

/* Real, immediate press feedback for touch, added/removed by
   native-touch.js on touchstart/touchend (see TOUCH_PRESS_SELECTOR there). */
.vr-touch-active {
  transform: scale(0.965) !important;
  opacity: 1 !important;
  transition: transform .14s cubic-bezier(0.33, 1, 0.68, 1) !important;
}

.vr-card.vr-touch-active {
  transform: none !important;
  opacity: 1 !important;
  box-shadow: 0 1px 8px rgba(0, 0, 0, 0.12), inset 0 0 0 1.5px rgba(0, 0, 0, 0.06) !important;
  transition: box-shadow .12s ease !important;
}

.vr-suggestions li.vr-touch-active,
.vr-tr.vr-touch-active,
.vr-si.vr-touch-active {
  background: rgba(91, 53, 232, 0.12) !important;
}

/* Comfortable, consistent touch handling on every interactive surface:
   no double-tap-to-zoom delay, no accidental text selection/callouts while
   tapping, no drag-ghost on images/icons. */
a,
button,
.vr-card,
.vr-tr,
.vr-si,
.vr-w-avatar,
.vr-feed-composer-idle,
.vr-header-search .vr-search-wrap,
.vr-suggestions li,
.eyeerp-home-taskbar-icon,
.eyeerp-home-taskbar-home,
.eyeerp-home-nav-btn,
.eyeerp-home-app-item,
.eyeerp-home-profile-item,
.eyeerp-home-user-trigger,
.system-app-item {
  touch-action: manipulation;
  -webkit-touch-callout: none;
}

img,
svg {
  -webkit-user-drag: none;
  user-drag: none;
}

@media (hover: none) and (pointer: coarse) {
  /* Disable hover-triggered transforms/animations on touch devices so
     nothing gets stuck "hovered" after a tap; .vr-touch-active above
     takes over as the press feedback instead. */
  .vr-card:hover,
  .vr-card--todo:hover,
  .vr-card--profile:hover,
  .vr-w-avatar:hover,
  .vr-tr:hover,
  .vr-si:hover,
  .vr-suggestions li:hover,
  .vr-feed-composer-idle:hover .vr-feed-composer-avatar,
  .vr-feed-composer-idle:hover .vr-feed-composer-placeholder {
    transform: none;
    box-shadow: revert;
    background: revert;
  }

}
