

* {
 outline: none;
 box-sizing: border-box;
}

:root {
 --theme-bg-color: rgba(16 18 27 / 40%);
 --border-color: rgba(113 119 144 / 25%);
 --theme-color: #f9fafb;
 --inactive-color: rgb(113 119 144 / 78%);
 --body-font: "Poppins", sans-serif;
 --hover-menu-bg: rgba(12 15 25 / 30%);
 --content-title-color: #999ba5;
 --content-bg: rgb(146 151 179 / 13%);
 --button-inactive: rgb(249 250 251 / 55%);
 --dropdown-bg: #21242d;
 --dropdown-hover: rgb(42 46 60);
 --popup-bg: rgb(22 25 37);
 --search-bg:  #14162b;
 --overlay-bg: rgba(36, 39, 59, 0.3);
 --scrollbar-bg: rgb(1 2 3 / 40%);
}

.light-mode {
 --theme-bg-color: rgb(255 255 255 / 31%);
 --theme-color: #3c3a3a;
 --inactive-color: #333333;
 --button-inactive: #3c3a3a;
 --search-bg: rgb(255 255 255 / 31%);
 --dropdown-bg: #f7f7f7;
 --overlay-bg: rgb(255 255 255 / 30%);
 --dropdown-hover: rgb(236 236 236);
 --border-color: rgb(255 255 255 / 35%);
 --popup-bg: rgb(255 255 255);
 --hover-menu-bg: rgba(255 255 255 / 35%);
 --scrollbar-bg: rgb(255 253 253 / 57%);
 --content-title-color: var(--theme-color);
}

html {
 box-sizing: border-box;
 -webkit-font-smoothing: antialiased;
}

body {
 font-family: var(--body-font);
 background-image: url("lib/mobile-bg.jpg");
 background-size: cover;
 background-position: center;
 background-repeat: no-repeat;
 display: flex;
 justify-content: center;
 align-items: center;
 flex-direction: column;
 margin: 0;
 padding: 2em;
 width: 100%;
 height: 100vh;
}

@media screen and (max-width: 480px) {
 body {
  padding: 0.8em;
 }
}

.video-bg {
 position: fixed;
 right: 0;
 top: 0;
 width: 100%;
 height: 100%;
}

.video-bg video {
 width: 100%;
 height: 100%;
 object-fit: cover;
}

@media screen and (max-width: 768px) {
 .video-bg {
  display: none !important;
 }
}

img {
 max-width: 100%;
}

.dark-light {
 position: fixed;
 bottom: 50px;
 right: 30px;
 background-color: var(--dropdown-bg);
 box-shadow: -1px 3px 8px -1px rgba(0, 0, 0, 0.2);
 padding: 8px;
 border-radius: 50%;
 z-index: 3;
 cursor: pointer;
}

.dark-light svg {
 width: 24px;
 flex-shrink: 0;
 fill: #ffce45;
 stroke: #ffce45;
 transition: 0.5s;
}

.light-mode .dark-light svg {
 fill: transparent;
 stroke: var(--theme-color);
}

.light-mode .profile-img {
 border: 2px solid var(--theme-bg-color);
}

.light-mode .content-section ul {
 background-color: var(--theme-bg-color);
}

.light-mode .pop-up__title {
 border-color: var(--theme-color);
}

.light-mode .dropdown.is-active ul {
 background-color: rgb(255 255 255 / 94%);
}

body.light-mode:before,
body.light-mode .video-bg:before {
 content: "";
 position: absolute;
 left: 0;
 top: 0;
 width: 100%;
 height: 100vh;
 background: linear-gradient(180deg, rgba(255, 255, 255, 0.72) 0%, rgb(255 255 255 / 45%) 100%);
 backdrop-filter: saturate(3);
}

.app {
 background-color: var(--theme-bg-color);
 max-width: 1250px;
 max-height: 860px;
 height: 90vh;
 display: flex;
 flex-direction: column;
 overflow: hidden;
 position: relative;
 width: 100%;
 border-radius: 14px;
 backdrop-filter: blur(20px);
 -webkit-backdrop-filter: blur(20px);
 font-size: 15px;
 font-weight: 500;
 transition: max-width 0.3s ease, max-height 0.3s ease;
}

@media screen and (min-width: 1440px) {
 .app {
  max-width: 1420px;
  max-height: 900px;
 }
}

@media screen and (min-width: 1680px) {
 .app {
  max-width: 1620px;
  max-height: 940px;
 }
}

@media screen and (min-width: 1920px) {
 .app {
  max-width: 1780px;
  max-height: 980px;
 }
}

.header {
 display: flex;
 align-items: center;
 flex-shrink: 0;
 height: 58px;
 width: 100%;
 border-bottom: 1px solid var(--border-color);
 padding: 0 30px;
 white-space: nowrap;
}

@media screen and (max-width: 480px) {
 .header {
  padding: 0 16px;
 }
}

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

.header-menu a {
 padding: 20px 30px;
 text-decoration: none;
 color: var(--inactive-color);
 border-bottom: 2px solid transparent;
 transition: 0.3s;
}

@media screen and (max-width: 610px) {
 .header-menu a:not(.main-header-link) {
  display: none;
 }
}

.header-menu a.is-active,
.header-menu a:hover {
 color: var(--theme-color);
 border-bottom: 2px solid var(--theme-color);
}

.notify {
 position: relative;
}

.notify:before {
 content: "";
 position: absolute;
 background-color: #3a6df0;
 width: 6px;
 height: 6px;
 border-radius: 50%;
 right: 20px;
 top: 16px;
}

@media screen and (max-width: 1055px) {
 .notify {
  display: none;
 }
}

.menu-circle {
 width: 15px;
 height: 15px;
 background-color: #f96057;
 border-radius: 50%;
 box-shadow: 24px 0 0 0 #f8ce52, 48px 0 0 0 #5fcf65;
 margin-right: 195px;
 flex-shrink: 0;
}

.hamburger-menu {
 display: none;
 flex-direction: column;
 justify-content: space-between;
 width: 22px;
 height: 16px;
 background: transparent;
 border: none;
 cursor: pointer;
 padding: 0;
 z-index: 1001;
 margin-right: 15px;
 flex-shrink: 0;
}

.hamburger-menu span {
 width: 100%;
 height: 2px;
 background-color: var(--theme-color);
 border-radius: 2px;
 transition: all 0.3s ease;
}

.hamburger-menu.active span:nth-child(1) {
 transform: translateY(7px) rotate(45deg);
}

.hamburger-menu.active span:nth-child(2) {
 opacity: 0;
}

.hamburger-menu.active span:nth-child(3) {
 transform: translateY(-7px) rotate(-45deg);
}

@media screen and (max-width: 945px) {
 .menu-circle {
  display: none;
 }
 .hamburger-menu {
  display: flex;
 }
}

.search-bar {
 height: 40px;
 display: flex;
 width: 100%;
 max-width: 400px;
 padding-left: 16px;
 border-radius: 4px;
}

.search-bar input {
 width: 100%;
 height: 100%;
 border: none;
 background-color: var(--search-bg);
 border-radius: 4px;
 font-family: var(--body-font);
 font-size: 15px;
 font-weight: 500;
 padding: 0 20px 0 40px;
 box-shadow: 0 0 0 2px rgb(134 140 160 / 2%);
 background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56.966 56.966' fill='%23717790c7'%3e%3cpath d='M55.146 51.887L41.588 37.786A22.926 22.926 0 0046.984 23c0-12.682-10.318-23-23-23s-23 10.318-23 23 10.318 23 23 23c4.761 0 9.298-1.436 13.177-4.162l13.661 14.208c.571.593 1.339.92 2.162.92.779 0 1.518-.297 2.079-.837a3.004 3.004 0 00.083-4.242zM23.984 6c9.374 0 17 7.626 17 17s-7.626 17-17 17-17-7.626-17-17 7.626-17 17-17z'/%3e%3c/svg%3e");
 background-size: 14px;
 background-repeat: no-repeat;
 background-position: 16px 48%;
 color: var(--theme-color);
}

.search-bar input::placeholder {
 font-family: var(--body-font);
 color: var(--inactive-color);
 font-size: 15px;
 font-weight: 500;
}

.header-profile {
 display: flex;
 align-items: center;
 padding: 0 16px 0 40px;
 margin-left: auto;
 flex-shrink: 0;
}

.header-profile svg {
 width: 22px;
 color: #f9fafb;
 flex-shrink: 0;
}

.notification {
 position: relative;
}

.notification-number {
 position: absolute;
 background-color: #3a6df0;
 width: 16px;
 height: 16px;
 border-radius: 50%;
 font-size: 10px;
 display: flex;
 align-items: center;
 justify-content: center;
 color: #fff;
 right: -6px;
 top: -6px;
}

.notification + svg {
 margin-left: 22px;
}

@media screen and (max-width: 945px) {
 .notification + svg {
  display: none;
 }
}

.profile-img {
 width: 32px;
 height: 32px;
 border-radius: 50%;
 object-fit: cover;
 border: 2px solid var(--theme-color);
 margin-left: 22px;
}

.wide .header-menu,
.wide .header-profile {
 display: none;
}

.wide .search-bar {
 max-width: 600px;
 margin: auto;
 transition: 0.4s;
 box-shadow: 0 0 0 1px var(--border-color);
 padding-left: 0;
}

.wide .menu-circle {
 margin-right: 0;
}

.wrapper {
 display: flex;
 flex-grow: 1;
 overflow: hidden;
}

.left-side {
 flex-basis: 240px;
 border-right: 1px solid var(--border-color);
 padding: 26px;
 overflow: auto;
 flex-shrink: 0;
}

@media screen and (max-width: 945px) {
 .left-side {
  display: none;
  position: fixed;
  top: 58px;
  left: 0;
  width: 260px;
  height: calc(100% - 58px);
  background: var(--dropdown-bg);
  backdrop-filter: blur(25px);
  -webkit-backdrop-filter: blur(25px);
  z-index: 1000;
  padding: 20px;
  border-right: 1px solid var(--border-color);
  overflow-y: auto;
  box-shadow: 10px 0 30px rgba(0, 0, 0, 0.2);
 }
 .left-side.show {
  display: block !important;
 }
}

.side-wrapper + .side-wrapper {
 margin-top: 20px;
}

.side-title {
 color: var(--inactive-color);
 margin-bottom: 14px;
}

.side-menu {
 display: flex;
 flex-direction: column;
 white-space: nowrap;
}

.side-menu a {
 text-decoration: none;
 color: var(--theme-color);
 display: flex;
 align-items: center;
 font-weight: 400;
 padding: 10px;
 font-size: 14px;
 border-radius: 6px;
 transition: 0.3s;
}

.side-menu a:hover,
.side-menu a.is-active {
 background-color: var(--hover-menu-bg);
}

.side-menu svg {
 width: 16px;
 height: 16px;
 margin-right: 8px;
 flex-shrink: 0;
}

.updates {
 position: relative;
 top: 0;
 right: 0;
 margin-left: auto;
 width: 18px;
 height: 18px;
 font-size: 11px;
}

.main-header {
 display: flex;
 align-items: center;
 border-bottom: 1px solid var(--border-color);
 height: 58px;
 flex-shrink: 0;
}

.main-header .header-menu {
 margin-left: 150px;
}

@media screen and (max-width: 1055px) {
 .main-header .header-menu {
  margin: auto;
 }
}

.main-header .header-menu a {
 padding: 20px 24px;
}

.main-container {
 display: flex;
 flex-direction: column;
 flex-grow: 1;
}

.menu-link-main {
 text-decoration: none;
 color: var(--theme-color);
 padding: 0 30px;
}

@media screen and (max-width: 1055px) {
 .menu-link-main {
  display: none;
 }
}

.content-wrapper {
 display: flex;
 flex-direction: column;
 color: var(--theme-color);
 padding: 20px 40px;
 height: calc(100% - 58px);
 overflow: auto;
 background-color: var(--theme-bg-color);
}

@media screen and (max-width: 510px) {
 .content-wrapper {
  padding: 20px;
 }
}

.content-wrapper-header {
 display: flex;
 align-items: center;
 width: 100%;
 justify-content: space-between;
 background-image: url("https://www.transparenttextures.com/patterns/cubes.png"),
  linear-gradient(
   to right top,
   #cf4af3,
   #e73bd7,
   #f631bc,
   #fd31a2,
   #ff3a8b,
   #ff4b78,
   #ff5e68,
   #ff705c,
   #ff8c51,
   #ffaa49,
   #ffc848,
   #ffe652
  );
 border-radius: 14px;
 padding: 20px 40px;
}

@media screen and (max-width: 415px) {
 .content-wrapper-header {
  padding: 20px;
 }
}

.content-wrapper.overlay {
 pointer-events: none;
 transition: 0.3s;
 background-color: var(--overlay-bg);
}

.overlay-app {
 width: 100%;
 height: 100%;
 position: fixed;
 left: 0;
 top: 0;
 pointer-events: all;
 background-color: rgba(36, 39, 59, 0.8);
 opacity: 0;
 visibility: hidden;
 transition: 0.3s;
}

.overlay-app.is-active {
 visibility: visible;
 opacity: 1;
}

.img-content {
 font-weight: 500;
 font-size: 17px;
 display: flex;
 align-items: center;
 margin: 0;
}

.img-content svg {
 width: 28px;
 margin-right: 14px;
}

.content-text {
 font-weight: 400;
 font-size: 14px;
 margin-top: 16px;
 line-height: 1.7em;
 color: #ebecec;
 display: -webkit-box;
 -webkit-line-clamp: 4;
 -webkit-box-orient: vertical;
 overflow: hidden;
 text-overflow: ellipsis;
}

.content-wrapper-context {
 max-width: 350px;
}

.content-button {
 background-color: #3a6df0;
 border: none;
 padding: 8px 26px;
 color: #fff;
 border-radius: 20px;
 margin-top: 16px;
 cursor: pointer;
 transition: 0.3s;
 white-space: nowrap;
}

.content-wrapper-img {
 width: 186px;
 object-fit: cover;
 margin-top: -25px;
 object-position: center;
}

@media screen and (max-width: 570px) {
 .content-wrapper-img {
  width: 110px;
 }
}

.content-section {
 margin-top: 30px;
 display: flex;
 flex-direction: column;
}

.content-section-title {
 color: var(--content-title-color);
 margin-bottom: 14px;
}

.content-section ul {
 display: flex;
 flex-direction: column;
 width: 100%;
 height: 100%;
 justify-content: space-around;
 background-color: var(--content-bg);
 padding-left: 0;
 margin: 0;
 border-radius: 14px;
 border: 1px solid var(--theme-bg-color);
 cursor: pointer;
}

.content-section ul li {
 list-style: none;
 padding: 10px 18px;
 display: flex;
 align-items: center;
 font-size: 16px;
 width: 100%;
 height: 100%;
 white-space: nowrap;
 transition: 0.3s;
}

.content-section ul li:hover {
 background-color: var(--theme-bg-color);
}

.content-section ul li:first-child:hover {
 border-radius: 13px 13px 0 0;
}

.content-section ul li:last-child:hover {
 border-radius: 0 0 13px 13px;
}

.content-section ul li + li {
 border-top: 1px solid var(--border-color);
}

.content-section ul svg {
 width: 28px;
 border-radius: 6px;
 margin-right: 16px;
 flex-shrink: 0;
}

.products {
 display: flex;
 align-items: center;
 width: 150px;
}

@media screen and (max-width: 480px) {
 .products {
  width: 120px;
 }
}

.status {
 margin-left: auto;
 width: 140px;
 font-size: 15px;
 position: relative;
}

@media screen and (max-width: 700px) {
 .status {
  display: none;
 }
}

.status-circle {
 width: 6px;
 height: 6px;
 background-color: #396df0;
 position: absolute;
 border-radius: 50%;
 top: 4px;
 left: -20px;
}

.status-circle.green {
 background-color: #38bdf8;
}

.status-button {
 font-size: 15px;
 margin-top: 0;
 padding: 6px 24px;
}

@media screen and (max-width: 390px) {
 .status-button {
  padding: 6px 14px;
 }
}

.status-button.open {
 background: none;
 color: var(--button-inactive);
 border: 1px solid var(--button-inactive);
}

.status-button:not(.open):hover {
 color: #fff;
 border-color: #fff;
}

.content-button:not(.open):hover {
 background: #1e59f1;
}

.menu {
 width: 5px;
 height: 5px;
 background-color: var(--button-inactive);
 border-radius: 50%;
 box-shadow: 7px 0 0 0 var(--button-inactive), 14px 0 0 0 var(--button-inactive);
 margin: 0 12px;
}

@media screen and (max-width: 415px) {
 .adobe-product .menu {
  display: none;
 }
}

.dropdown {
 position: relative;
 height: 53px;
 width: 40px;
 top: -24px;
 display: flex;
 left: -5px;
 background: transparent;
 border: none;
 cursor: pointer;
}

.dropdown ul {
 position: absolute;
 background: var(--dropdown-bg);
 height: 110px;
 width: 120px;
 right: 0;
 top: 20px;
 pointer-events: none;
 opacity: 0;
 transform: translatey(10px);
 transition: all 0.4s ease;
}

.dropdown ul li a {
 text-decoration: none;
 color: var(--theme-color);
 font-size: 12px;
}

.dropdown.is-active ul {
 opacity: 1;
 pointer-events: all;
 transform: translatey(25px);
}

.dropdown.is-active ul li:hover {
 background-color: var(--dropdown-hover);
}

.button-wrapper {
 display: flex;
 align-items: center;
 justify-content: flex-end;
 width: 187px;
 margin-left: auto;
}

@media screen and (max-width: 480px) {
 .button-wrapper {
  width: auto;
 }
}

.pop-up {
 position: absolute;
 padding: 30px 40px;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
 overflow-y: auto;
 box-shadow: 0px 6px 30px rgba(0, 0, 0, 0.4);
 transition: all 0.3s;
 z-index: 10;
 background-color: var(--popup-bg);
 width: 500px;
 visibility: hidden;
 opacity: 0;
 border-radius: 6px;
 display: flex;
 flex-direction: column;
 white-space: normal;
}

@media screen and (max-width: 570px) {
 .pop-up {
  width: 100%;
 }
}

.pop-up.visible {
 visibility: visible;
 opacity: 1;
}

.pop-up__title {
 padding-bottom: 20px;
 border-bottom: 1px solid var(--border-color);
 display: flex;
 justify-content: space-between;
 align-items: center;
}

.pop-up__subtitle {
 white-space: normal;
 margin: 20px 0;
 font-size: 14px;
 font-weight: 400;
 line-height: 1.8em;
}

.pop-up__subtitle a {
 color: var(--theme-color);
}

.content-button-wrapper .content-button.status-button.open.close {
 width: auto;
}

.content-section .close {
 margin-right: 0;
 width: 24px;
}

.checkbox-wrapper {
 display: flex;
 align-items: center;
 font-size: 14px;
 font-weight: 400;
}

.checkbox-wrapper + .checkbox-wrapper {
 margin: 20px 0 40px;
}

.checkbox {
 display: none;
}

.checkbox + label {
 display: flex;
 align-items: center;
}

.checkbox + label:before {
 content: "";
 margin-right: 10px;
 width: 15px;
 height: 15px;
 border: 1px solid var(--theme-color);
 border-radius: 4px;
 cursor: pointer;
 flex-shrink: 0;
}

.checkbox:checked + label:before {
 background-color: #3a6df0;
 border-color: #3a6df0;
 background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' class='feather feather-check'%3e%3cpath d='M20 6L9 17l-5-5'/%3e%3c/svg%3e");
 background-position: 50%;
 background-size: 12px;
 background-repeat: no-repeat;
}

.content-button-wrapper {
 margin-top: auto;
 margin-left: auto;
}

.content-button-wrapper .open {
 margin-right: 8px;
}

.apps-card {
 display: flex;
 align-items: center;
 flex-wrap: wrap;
 width: calc(100% + 20px);
}

.app-card {
 display: flex;
 flex-direction: column;
 width: calc(33.3% - 20px);
 font-size: 16px;
 background-color: var(--content-bg);
 border-radius: 14px;
 border: 1px solid var(--theme-bg-color);
 padding: 20px;
 cursor: pointer;
 transition: 0.3s ease;
}

.app-card:hover {
 transform: scale(1.02);
 background-color: var(--theme-bg-color);
}

.app-card svg {
 width: 28px;
 border-radius: 6px;
 margin-right: 12px;
 flex-shrink: 0;
}

.app-card + .app-card {
 margin-left: 20px;
}

.app-card span {
 display: flex;
 align-items: center;
}

.app-card__subtext {
 font-size: 14px;
 font-weight: 400;
 line-height: 1.6em;
 margin-top: 20px;
 border-bottom: 1px solid var(--border-color);
 padding-bottom: 20px;
}

.app-card-buttons {
 display: flex;
 align-items: center;
 margin-left: auto;
 margin-top: 16px;
}

@media screen and (max-width: 1110px) {
 .app-card {
  width: calc(50% - 20px);
 }
 .app-card:last-child {
  margin-top: 20px;
  margin-left: 0px;
 }
}

@media screen and (max-width: 565px) {
 .app-card {
  width: calc(100% - 20px);
  margin-top: 20px;
 }
 .app-card + .app-card {
  margin-left: 0;
 }
}

::-webkit-scrollbar {
 width: 6px;
 border-radius: 10px;
}

::-webkit-scrollbar-thumb {
 background: var(--scrollbar-bg);
 border-radius: 10px;
}

/* Garment Management System Specific Styles */

/* Metrics Dashboard */
.metrics-grid {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
 gap: 20px;
 margin-bottom: 30px;
}

.metric-card {
 background: var(--content-bg);
 border: 1px solid var(--border-color);
 border-radius: 12px;
 padding: 20px;
 display: flex;
 align-items: center;
 gap: 15px;
 transition: transform 0.2s ease;
}

.metric-card:hover {
 transform: translateY(-3px);
 background: var(--theme-bg-color);
}

.metric-icon-wrapper {
 width: 48px;
 height: 48px;
 border-radius: 10px;
 background: rgba(58, 109, 240, 0.15);
 display: flex;
 align-items: center;
 justify-content: center;
 color: #3a6df0;
}

.metric-icon-wrapper svg {
 width: 24px;
 height: 24px;
}

.metric-details h3 {
 margin: 0;
 font-size: 13px;
 color: var(--content-title-color);
 text-transform: uppercase;
 letter-spacing: 0.5px;
}

.metric-details .metric-value {
 margin: 5px 0 0 0;
 font-size: 24px;
 font-weight: 600;
 color: var(--theme-color);
}

/* Charts Grid */
.charts-grid {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
 gap: 20px;
 margin-bottom: 20px;
}

.chart-container {
 background: var(--content-bg);
 border: 1px solid var(--border-color);
 border-radius: 12px;
 padding: 20px;
 height: 320px;
 position: relative;
}

.chart-container h3 {
 margin: 0 0 15px 0;
 font-size: 16px;
 color: var(--theme-color);
 font-weight: 500;
}

.chart-wrapper {
 height: calc(100% - 35px);
 position: relative;
 width: 100%;
}

/* Data Tables */
.data-table-container {
 background: var(--content-bg);
 border: 1px solid var(--border-color);
 border-radius: 12px;
 overflow-x: auto;
 -webkit-overflow-scrolling: touch;
 margin-bottom: 20px;
}

.table-header-actions {
 display: flex;
 justify-content: space-between;
 align-items: center;
 padding: 15px 20px;
 border-bottom: 1px solid var(--border-color);
}

.table-title {
 font-size: 16px;
 font-weight: 500;
 color: var(--theme-color);
 margin: 0;
}

.search-input-wrapper {
 position: relative;
}

.search-table-input {
 background: var(--search-bg);
 border: 1px solid var(--border-color);
 border-radius: 6px;
 padding: 8px 12px 8px 30px;
 color: var(--theme-color);
 font-size: 14px;
 width: 220px;
}

.search-table-input::placeholder {
 color: var(--inactive-color);
}

.search-input-wrapper::before {
 content: "";
 position: absolute;
 left: 10px;
 top: 50%;
 transform: translateY(-50%);
 width: 14px;
 height: 14px;
 background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23717790c7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3ccircle cx='11' cy='11' r='8'%3e%3c/circle%3e%3cline x1='21' y1='21' x2='16.65' y2='16.65'%3e%3c/line%3e%3c/svg%3e");
 background-size: contain;
 background-repeat: no-repeat;
}

.data-table {
 width: 100%;
 border-collapse: collapse;
 text-align: left;
}

.data-table th {
 padding: 12px 20px;
 font-size: 13px;
 color: var(--content-title-color);
 font-weight: 500;
 border-bottom: 1px solid var(--border-color);
 background: rgba(0, 0, 0, 0.1);
}

.data-table td {
 padding: 14px 20px;
 font-size: 14px;
 color: var(--theme-color);
 border-bottom: 1px solid var(--border-color);
 vertical-align: middle;
}

.data-table tbody tr {
 cursor: pointer;
 transition: background-color 0.2s;
}

.data-table tbody tr:hover {
 background-color: var(--hover-menu-bg);
}

.avatar-cell {
 display: flex;
 align-items: center;
 gap: 12px;
}

.table-avatar {
 width: 36px;
 height: 36px;
 border-radius: 50%;
 object-fit: cover;
 border: 1.5px solid var(--theme-color);
}

.badge {
 padding: 4px 8px;
 border-radius: 12px;
 font-size: 11px;
 font-weight: 500;
 text-transform: uppercase;
}

.badge-grade-a { background: rgba(56, 189, 248, 0.15); color: #38bdf8; }
.badge-grade-b { background: rgba(58, 109, 240, 0.15); color: #3a6df0; }
.badge-grade-c { background: rgba(248, 206, 82, 0.15); color: #f8ce52; }

/* Custom Forms */
.form-container {
 background: var(--content-bg);
 border: 1px solid var(--border-color);
 border-radius: 12px;
 padding: 25px;
 width: 95%;
 max-width: 1150px;
 margin: 0 auto 20px auto;
 box-sizing: border-box;
}

.form-title {
 margin: 0 0 20px 0;
 font-size: 18px;
 font-weight: 500;
 color: var(--theme-color);
 border-bottom: 1px solid var(--border-color);
 padding-bottom: 10px;
}

.form-grid {
 display: grid;
 grid-template-columns: repeat(2, 1fr);
 gap: 20px;
 margin-bottom: 20px;
}

@media screen and (max-width: 650px) {
 .form-grid {
  grid-template-columns: 1fr;
 }
}

.form-group {
 display: flex;
 flex-direction: column;
 gap: 6px;
}

.form-group.full-width {
 grid-column: 1 / -1;
}

.form-group label {
 font-size: 13px;
 color: var(--content-title-color);
 font-weight: 500;
}

.form-control {
 background: var(--search-bg);
 border: 1px solid var(--border-color);
 border-radius: 6px;
 padding: 10px 12px;
 color: var(--theme-color);
 font-size: 14px;
 font-family: var(--body-font);
 transition: border-color 0.2s;
}

.form-control:focus {
 border-color: #3a6df0;
}

select.form-control {
 cursor: pointer;
}

select.form-control option {
 background-color: var(--popup-bg);
 color: var(--theme-color);
}

.file-input-wrapper {
 display: flex;
 gap: 15px;
 align-items: center;
}

.img-preview {
 width: 60px;
 height: 60px;
 border-radius: 50%;
 object-fit: cover;
 border: 2px solid var(--theme-color);
 background: var(--search-bg);
}

/* Emergency Contacts Section */
.dynamic-section-header {
 display: flex;
 justify-content: space-between;
 align-items: center;
 margin: 25px 0 15px 0;
 border-top: 1px solid var(--border-color);
 padding-top: 20px;
}

.dynamic-section-title {
 font-size: 15px;
 font-weight: 500;
 color: var(--theme-color);
 margin: 0;
}

.contact-entry-list {
 display: flex;
 flex-direction: column;
 gap: 12px;
 margin-bottom: 25px;
}

.contact-entry-row {
 display: grid;
 grid-template-columns: 1fr 1fr auto;
 gap: 15px;
 align-items: end;
}

.size-entry-row {
 display: grid;
 grid-template-columns: 1fr 1.2fr 1.2fr 1fr auto;
 gap: 15px;
 align-items: end;
}

.attribute-entry-row {
 display: grid;
 grid-template-columns: 1.2fr 1.2fr 0.8fr 1.8fr auto;
 gap: 12px;
 align-items: end;
}

/* Buttons styling */
.btn {
 padding: 10px 20px;
 border-radius: 6px;
 font-size: 14px;
 font-weight: 500;
 cursor: pointer;
 border: none;
 transition: all 0.2s;
 display: inline-flex;
 align-items: center;
 justify-content: center;
 gap: 8px;
}

.btn-primary {
 background-color: #3a6df0;
 color: #fff;
}

.btn-primary:hover {
 background-color: #1e59f1;
}

.btn-secondary {
 background: none;
 border: 1px solid var(--border-color);
 color: var(--theme-color);
}

.btn-secondary:hover {
 background: var(--hover-menu-bg);
}

.btn-danger {
 background-color: rgba(249, 96, 87, 0.15);
 color: #f96057;
 border: 1px solid rgba(249, 96, 87, 0.3);
}

.btn-danger:hover {
 background-color: rgba(249, 96, 87, 0.3);
}

.btn-sm {
 padding: 6px 12px;
 font-size: 12px;
}

.form-actions {
 display: flex;
 justify-content: flex-end;
 gap: 12px;
 border-top: 1px solid var(--border-color);
 padding-top: 20px;
 margin-top: 20px;
}

/* Staff Detail View */
.staff-details-card {
 background: var(--content-bg);
 border: 1px solid var(--border-color);
 border-radius: 12px;
 padding: 30px;
 margin-bottom: 20px;
}

.staff-details-header {
 display: flex;
 gap: 30px;
 border-bottom: 1px solid var(--border-color);
 padding-bottom: 25px;
 margin-bottom: 25px;
 align-items: center;
}

@media screen and (max-width: 600px) {
 .staff-details-header {
  flex-direction: column;
  text-align: center;
 }
}

.staff-large-avatar {
 width: 110px;
 height: 110px;
 border-radius: 50%;
 object-fit: cover;
 border: 3px solid var(--theme-color);
 box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}

.staff-header-info {
 flex-grow: 1;
}

.staff-header-info h2 {
 margin: 0 0 8px 0;
 font-size: 24px;
 font-weight: 600;
 color: var(--theme-color);
}

.staff-header-info .staff-role-badge {
 margin: 0 0 12px 0;
 display: inline-block;
}

.info-grid {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
 gap: 20px;
 margin-bottom: 25px;
}

.info-item {
 display: flex;
 flex-direction: column;
 gap: 4px;
}

.info-item label {
 font-size: 12px;
 color: var(--content-title-color);
 text-transform: uppercase;
 letter-spacing: 0.5px;
}

.info-item span {
 font-size: 15px;
 color: var(--theme-color);
 font-weight: 500;
}

.emergency-contact-display-box {
 background: rgba(0,0,0,0.1);
 border: 1px solid var(--border-color);
 border-radius: 8px;
 padding: 15px 20px;
 margin-top: 10px;
}

.emergency-contact-display-box h4 {
 margin: 0 0 10px 0;
 font-size: 14px;
 color: var(--theme-color);
 font-weight: 500;
}

.contacts-subgrid {
 display: grid;
 grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
 gap: 15px;
}

.contact-card-sub {
 background: var(--hover-menu-bg);
 border: 1px solid var(--border-color);
 border-radius: 6px;
 padding: 10px 14px;
 font-size: 13px;
}

.contact-card-sub strong {
 display: block;
 margin-bottom: 4px;
 color: var(--theme-color);
}

/* POS Point Of Sale Interface */
.pos-container {
 display: grid;
 grid-template-columns: 1.5fr 1fr;
 gap: 20px;
 height: calc(100% - 40px);
 overflow: hidden;
}

@media screen and (max-width: 992px) {
 .pos-container {
  grid-template-columns: 1fr;
  overflow: auto;
 }
 .pos-cart {
  min-height: 450px !important;
  height: 500px !important;
 }
}

.pos-products {
 display: flex;
 flex-direction: column;
 gap: 15px;
 overflow: auto;
}

.pos-products-grid {
 display: grid;
 grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
 gap: 20px;
}

.pos-product-card {
 background: var(--content-bg);
 border: 1px solid var(--border-color);
 border-radius: 12px;
 padding: 16px;
 text-align: center;
 cursor: default;
 transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
 display: flex;
 flex-direction: column;
 align-items: center;
 justify-content: space-between;
 box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

.pos-product-card:hover {
 border-color: #3a6df0;
 transform: translateY(-4px);
 box-shadow: 0 10px 15px -3px rgba(58, 109, 240, 0.15), 0 4px 6px -2px rgba(58, 109, 240, 0.05);
}

.pos-card-image {
 width: 100%;
 height: 150px;
 object-fit: cover;
 border-radius: 8px;
 margin-bottom: 12px;
 border: 1px solid var(--border-color);
 transition: transform 0.2s ease;
}

.pos-product-card:hover .pos-card-image {
 transform: scale(1.02);
}

.pos-product-card .product-title {
 font-size: 14px;
 font-weight: 600;
 color: var(--theme-color);
 margin: 0 0 5px 0;
}

.pos-product-card .product-price {
 font-size: 15px;
 font-weight: 700;
 color: #38bdf8;
 margin: 0;
}

.pos-cart {
 background: var(--content-bg);
 border: 1px solid var(--border-color);
 border-radius: 14px;
 display: flex;
 flex-direction: column;
 overflow: hidden;
 box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
 height: 100%;
}

.pos-cart-header {
 padding: 18px 20px;
 border-bottom: 1px solid var(--border-color);
 display: flex;
 justify-content: space-between;
 align-items: center;
 background: rgba(0,0,0,0.05);
 flex-shrink: 0;
}

.pos-cart-title {
 font-size: 16px;
 font-weight: 600;
 color: var(--theme-color);
 margin: 0;
 display: flex;
 align-items: center;
 gap: 8px;
}

.cart-items-list {
 flex-grow: 1;
 overflow-y: auto;
 padding: 20px;
 display: flex;
 flex-direction: column;
 gap: 14px;
 min-height: 100px;
}

.cart-item {
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 12px;
 padding: 12px;
 background: rgba(255, 255, 255, 0.02);
 border: 1px solid var(--border-color);
 border-radius: 8px;
 transition: background-color 0.2s, transform 0.2s;
}

.cart-item:hover {
 background: rgba(255, 255, 255, 0.04);
 transform: translateY(-1px);
}

.cart-item-details {
 display: flex;
 flex-direction: column;
 gap: 2px;
 flex-grow: 1;
 text-align: left;
}

.cart-item-name {
 font-size: 13.5px;
 color: var(--theme-color);
 font-weight: 600;
}

.cart-item-price {
 font-size: 12px;
 color: #38bdf8;
 font-weight: 500;
}

.cart-item-qty-controls {
 display: flex;
 align-items: center;
 gap: 6px;
 background: rgba(255, 255, 255, 0.03);
 border: 1px solid var(--border-color);
 border-radius: 20px;
 padding: 2px;
}

.qty-btn {
 width: 22px;
 height: 22px;
 border-radius: 50%;
 background: transparent;
 color: var(--theme-color);
 font-size: 12px;
 display: flex;
 align-items: center;
 justify-content: center;
 cursor: pointer;
 border: none;
 transition: background 0.15s, color 0.15s;
}

.qty-btn:hover {
 background: var(--border-color);
}

.cart-item-qty {
 font-size: 13px;
 color: var(--theme-color);
 font-weight: 600;
 width: 20px;
 text-align: center;
}

.cart-item-remove {
 color: #f96057;
 font-size: 14px;
 cursor: pointer;
 padding: 0 4px;
 transition: transform 0.15s;
}

.cart-item-remove:hover {
 transform: scale(1.2);
}

.pos-cart-summary {
 padding: 20px;
 border-top: 1px solid var(--border-color);
 background: rgba(0, 0, 0, 0.15);
 display: flex;
 flex-direction: column;
 gap: 10px;
 flex-shrink: 0;
 max-height: 55%;
 overflow-y: auto;
}

.summary-row {
 display: flex;
 justify-content: space-between;
 font-size: 14px;
 color: var(--content-title-color);
}

.summary-row span:last-child {
 color: var(--theme-color);
 font-weight: 500;
}

.summary-row.total {
 font-weight: 600;
 font-size: 19px;
 color: var(--theme-color);
 margin-top: 5px;
 padding-top: 8px;
 border-top: 1.5px dashed var(--border-color);
}

.summary-row.total span:last-child {
 color: #38bdf8;
 font-weight: 700;
}

.btn-checkout {
 width: 100%;
 margin-top: 12px;
 font-size: 15px;
 font-weight: 600;
 padding: 12px;
 border-radius: 8px;
}

/* Dynamic Profile Dropdown & Modal Styles */
.profile-dropdown-wrapper {
  position: relative;
  display: inline-block;
}
.profile-dropdown {
  position: absolute;
  top: 100%;
  right: 0;
  background-color: var(--dropdown-bg);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  width: 260px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.3);
  padding: 12px;
  display: none;
  z-index: 1000;
  margin-top: 8px;
}
.profile-dropdown.show {
  display: block;
}
.profile-dropdown-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-bottom: 12px;
}
.profile-dropdown-header img {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--theme-color);
}
.profile-dropdown-info {
  display: flex;
  flex-direction: column;
}
.profile-dropdown-info strong {
  color: var(--theme-color);
  font-size: 14px;
}
.profile-dropdown-info span {
  color: var(--content-title-color);
  font-size: 11px;
}
.profile-online-dot {
  color: #38bdf8 !important;
  font-weight: 600;
  margin-top: 2px;
}
.profile-dropdown-divider {
  height: 1px;
  background-color: var(--border-color);
  margin: 8px 0;
}
.profile-dropdown-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px;
  color: var(--theme-color);
  text-decoration: none;
  font-size: 13px;
  border-radius: 6px;
  transition: background 0.2s;
}
.profile-dropdown-item:hover {
  background-color: var(--dropdown-hover);
}
.profile-dropdown-item svg {
  color: var(--inactive-color);
}

/* Profile Modal styles */
.profile-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2000;
}
.profile-modal-box {
  background: var(--popup-bg);
  border: 1px solid var(--border-color);
  border-radius: 12px;
  width: 100%;
  max-width: 420px;
  margin: 15px;
  padding: 20px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.5);
  white-space: normal;
  word-wrap: break-word;
  box-sizing: border-box;
}
.profile-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
}
.profile-modal-header h3 {
  margin: 0;
  color: var(--theme-color);
  font-size: 18px;
}
.profile-modal-close {
  background: none;
  border: none;
  color: var(--content-title-color);
  font-size: 18px;
  cursor: pointer;
}
.profile-avatar-upload-wrap {
  position: relative;
  width: 90px;
  height: 90px;
  margin: 0 auto 15px;
  border-radius: 50%;
  overflow: hidden;
  cursor: pointer;
  border: 2px solid var(--theme-color);
}
.profile-modal-avatar {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.profile-avatar-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background: rgba(0,0,0,0.6);
  color: #fff;
  font-size: 10px;
  text-align: center;
  padding: 4px 0;
}
.profile-modal-footer {
  display: flex;
  gap: 10px;
  margin-top: 15px;
}

/* Collapsible Sidebar Submenu Custom Styles */
.side-menu-parent {
  text-decoration: none;
  color: var(--theme-color);
  display: flex;
  align-items: center;
  font-weight: 400;
  padding: 10px;
  font-size: 14px;
  border-radius: 6px;
  transition: 0.3s;
  cursor: pointer;
}
.side-menu-parent:hover {
  background-color: var(--hover-menu-bg);
}
.side-menu-parent svg:first-child {
  width: 16px;
  height: 16px;
  margin-right: 8px;
  flex-shrink: 0;
}
.side-menu-parent .chevron-icon {
  width: 12px;
  height: 12px;
  margin-left: auto;
  transition: transform 0.2s;
}
.side-menu-submenu {
  display: none;
  padding-left: 15px;
  margin-top: 5px;
  flex-direction: column;
  gap: 4px;
}
.side-menu-submenu a {
  text-decoration: none;
  color: var(--inactive-color) !important;
  font-size: 13px !important;
  padding: 8px 10px !important;
  border-radius: 6px;
  transition: 0.3s;
  display: flex;
  align-items: center;
}
.side-menu-submenu a:hover,
.side-menu-submenu a.is-active {
  color: var(--theme-color) !important;
  background-color: var(--hover-menu-bg) !important;
}

/* High Performer Styling */
.high-output-row {
  border-left: 4px solid #5fcf65 !important;
  background: rgba(95, 207, 101, 0.08) !important;
}
.badge-high-performer {
  background: rgba(95, 207, 101, 0.15) !important;
  color: #5fcf65 !important;
  border: 1px solid #5fcf65 !important;
}

/* Large Modal and Responsive Entry Rows */
.profile-modal-box.modal-lg {
  max-width: 750px !important;
}

.modal-item-row {
  display: flex;
  gap: 10px;
  align-items: flex-end;
  margin-bottom: 10px;
  flex-wrap: wrap;
  background: rgba(255, 255, 255, 0.03);
  padding: 10px;
  border-radius: 8px;
  border: 1px solid var(--border-color);
  box-sizing: border-box;
}
.modal-item-row > div {
  flex: 1 1 120px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.modal-item-row > div.prod-search-col {
  flex: 2 1 220px;
}
.modal-item-row > button.delete-row-btn {
  flex: 0 0 auto;
}

/* Attendance & Leave styles */
.toggle-btn-group {
  display: inline-flex;
  gap: 5px;
}
.toggle-btn {
  padding: 5px 10px;
  font-size: 11px;
  font-weight: 600;
  border-radius: 4px;
  border: 1px solid var(--border-color);
  background: transparent;
  color: var(--content-title-color);
  cursor: pointer;
  transition: all 0.2s ease;
}
.toggle-btn:hover {
  background: rgba(255, 255, 255, 0.05);
}
.toggle-btn.active-present {
  background: rgba(95, 207, 101, 0.2) !important;
  border-color: #5fcf65 !important;
  color: #5fcf65 !important;
}
.toggle-btn.active-absent {
  background: rgba(249, 96, 87, 0.2) !important;
  border-color: #f96057 !important;
  color: #f96057 !important;
}
.toggle-btn.active-late {
  background: rgba(248, 206, 82, 0.2) !important;
  border-color: #f8ce52 !important;
  color: #f8ce52 !important;
}

/* Tabs for Live Board */
.board-tabs {
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
  border-bottom: 1px solid var(--border-color);
  padding-bottom: 10px;
}
.board-tab {
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 600;
  color: var(--content-title-color);
  background: transparent;
  border: none;
  cursor: pointer;
  position: relative;
  transition: color 0.2s ease;
}
.board-tab.is-active {
  color: var(--theme-color);
}
.board-tab.is-active::after {
  content: '';
  position: absolute;
  bottom: -11px;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--theme-color);
}

/* Leave status badges */
.badge-status-pending {
  background: rgba(248, 206, 82, 0.15);
  color: #f8ce52;
}
.badge-status-approved {
  background: rgba(95, 207, 101, 0.15);
  color: #5fcf65;
}
.badge-status-rejected {
  background: rgba(249, 96, 87, 0.15);
  color: #f96057;
}

/* Light mode modal form improvements */
body.light-mode .profile-modal-box {
  background: #ffffff;
  border: 1px solid #d2d2d7;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.15);
}

body.light-mode .profile-modal-box h3 {
  color: #1d1d1f;
}

body.light-mode .profile-modal-box .form-group label {
  color: #1d1d1f;
}

body.light-mode .profile-modal-box .form-control {
  background: #f5f5f7;
  border: 1px solid #d2d2d7;
  color: #1d1d1f;
}

body.light-mode .profile-modal-box .form-control:focus {
  border-color: #3a6df0;
  background: #ffffff;
}

body.light-mode .profile-modal-box select.form-control option {
  background-color: #ffffff;
  color: #1d1d1f;
}

body.light-mode .profile-modal-box .btn-secondary {
  background: #f5f5f7;
  border: 1px solid #d2d2d7;
  color: #1d1d1f;
}

body.light-mode .profile-modal-box .btn-secondary:hover {
  background: #e8e8ed;
}

body.light-mode .profile-modal-box .profile-modal-close {
  color: #86868b;
}

body.light-mode .profile-modal-box .profile-modal-close:hover {
  color: #1d1d1f;
}

@media screen and (max-width: 768px) {
  .main-header .header-menu {
    overflow-x: auto !important;
    white-space: nowrap !important;
    width: 100% !important;
    display: flex !important;
    justify-content: flex-start !important;
    padding: 0 10px !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .main-header .header-menu::-webkit-scrollbar {
    display: none !important;
  }
  .main-header .header-menu a {
    padding: 12px 16px !important;
    font-size: 13px !important;
    flex-shrink: 0 !important;
  }
}

@media screen and (max-width: 945px) {
  body {
    padding: 0 !important;
    margin: 0 !important;
    height: 100vh !important;
    width: 100% !important;
    overflow: hidden !important;
  }
  .app {
    max-width: 100% !important;
    max-height: 100vh !important;
    height: 100vh !important;
    border-radius: 0 !important;
  }
}

@media screen and (max-width: 600px) {
  .contact-entry-row,
  .size-entry-row,
  .attribute-entry-row {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    border-bottom: 1px solid var(--border-color) !important;
    padding-bottom: 15px !important;
    margin-bottom: 10px !important;
  }
  .contact-entry-row .btn-danger,
  .size-entry-row .btn-danger,
  .attribute-entry-row .btn-danger {
    width: 100% !important;
    margin-top: 5px !important;
  }
}





