



@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Arabic:wght@400;500;600;700&display=swap");





/* =========================================================



   Ministry Presentation Platform



   Public Landing Page



========================================================= */





/* =========================



   01. Design Tokens



========================= */



:root {



  --navy: #00344b;



  --navy-dark: #002b3d;



  --teal: #40bca9;



  --teal-dark: #169c8c;



  --teal-soft: #eaf8f5;



  --blue-soft: #eef8fd;



  --orange-soft: #fff8ed;



  --page-bg: #ffffff;



  --section-bg: #f7f9fa;



  --text: #07384e;



  --muted: #6f8089;



  --border: #dfe8eb;



  --white: #ffffff;



  --container: 1400px;



  --header-height: 72px;



  --shadow: 0 8px 24px rgba(0, 52, 75, 0.055);



  --radius-sm: 6px;



  --radius-md: 10px;



  --radius-lg: 14px;



}





/* =========================



   02. Reset & Base



========================= */



* {



  box-sizing: border-box;



}





html {



  scroll-behavior: smooth;



}





body {



  margin: 0;



  direction: rtl;



  font-family: "IBM Plex Sans Arabic", Arial, sans-serif;



  color: var(--text);



  background: var(--page-bg);



  line-height: 1.7;



  overflow-x: hidden;



}





img {



  display: block;



  max-width: 100%;



}





a {



  color: inherit;



  text-decoration: none;



}





button,



input,



textarea,



select {



  font: inherit;



}





button {



  cursor: pointer;



}





section[id] {



  scroll-margin-top: var(--header-height);



}





/* =========================



   03. Global Layout



========================= */



.container {



  width: min(calc(100% - 72px), var(--container));



  margin-inline: auto;



}





.section {



  min-height: calc(100vh - var(--header-height));



  padding: 56px 0;



  display: flex;



  align-items: center;



}





.section > .container,



.section.container {



  width: min(calc(100% - 72px), var(--container));



  margin-inline: auto;



}





.section-heading {



  display: flex;



  align-items: center;



  gap: 10px;



  margin-bottom: 18px;



  color: var(--text);



  font-size: 20px;



  font-weight: 700;



}





.heading-line {



  width: 30px;



  height: 3px;



  border-radius: 10px;



  background: var(--teal);



}





.section-title-row {



  display: flex;



  align-items: center;



  justify-content: space-between;



  gap: 24px;



  margin-bottom: 24px;



}





.section-title-row .section-heading {



  margin-bottom: 0;



}





.small-outline-link {



  min-height: 38px;



  padding: 0 15px;



  display: inline-flex;



  align-items: center;



  gap: 8px;



  border: 1px solid #cedadd;



  border-radius: 5px;



  color: var(--text);



  background: var(--white);



  font-size: 12px;



  transition: 0.2s ease;



}





.small-outline-link:hover {



  border-color: var(--teal);



  color: var(--teal-dark);



}





/* =========================

   04. Header

========================= */



.main-header {

  position: sticky;

  top: 0;

  z-index: 1000;



  width: 100%;

  height: var(--header-height);



  background: var(--white);

  border-bottom: 1px solid #e8edef;



  overflow: visible;

}



.header-inner {

  height: 100%;



  display: grid;

  grid-template-columns: auto 1fr auto;

  align-items: center;



  gap: 36px;



  overflow: visible;

}



/* Ministry logo */

.ministry-brand {

  display: flex;

  align-items: center;

}



.ministry-brand img {

  width: 150px;

  height: 56px;



  object-fit: contain;

}



/* Main navigation */

.main-navigation {

  height: 100%;



  display: flex;

  align-items: center;

  justify-content: center;



  gap: 34px;

}



.main-navigation a {

  position: relative;



  height: 100%;



  display: flex;

  align-items: center;



  color: #223842;



  font-size: 14px;

  font-weight: 500;



  white-space: nowrap;

}



.main-navigation a:hover {

  color: var(--teal-dark);

}



.main-navigation a.active {

  color: var(--navy);

  font-weight: 700;

}



.main-navigation a.active::after {

  content: "";



  position: absolute;

  right: 0;

  bottom: 0;



  width: 100%;

  height: 3px;



  border-radius: 3px 3px 0 0;



  background: var(--teal);

}



/* Header actions */

.header-actions {

  direction: ltr;



  display: flex;

  align-items: center;



  gap: 14px;



  min-width: max-content;

}



/* Search icon only */

.header-search-wrapper {

  position: relative;



  display: flex;

  align-items: center;

  justify-content: center;



  height: 100%;

}



.search-icon-trigger {

  width: 34px;

  height: 34px;



  display: flex;

  align-items: center;

  justify-content: center;



  padding: 0;



  border: 0;

  border-radius: 50%;



  color: #111f27;

  background: transparent;



  cursor: pointer;



  transition:

    color 0.18s ease,

    background 0.18s ease,

    transform 0.18s ease;

}



.search-icon-trigger svg {

  display: block;



  width: 25px;

  height: 25px;

}



.search-icon-trigger:hover,

.search-icon-trigger:focus-visible {

  color: var(--teal-dark);

  background: rgba(64, 188, 169, 0.08);



  outline: none;

}



.search-icon-trigger:active {

  transform: scale(0.96);

}



/* Hover search panel */

.header-search-panel {

  position: absolute;



  top: calc(100% - 2px);

  left: 0;



  width: 300px;



  padding-top: 10px;



  opacity: 0;

  visibility: hidden;



  transform: translateY(-6px);



  pointer-events: none;



  transition:

    opacity 0.18s ease,

    visibility 0.18s ease,

    transform 0.18s ease;



  z-index: 1300;

}



.header-search-wrapper:hover .header-search-panel,

.header-search-wrapper:focus-within .header-search-panel {

  opacity: 1;

  visibility: visible;



  transform: translateY(0);



  pointer-events: auto;

}



.header-search-form {

  height: 48px;



  display: flex;

  align-items: center;



  gap: 10px;



  padding: 0 14px;



  background: #ffffff;



  border: 1px solid #dce5e8;

  border-radius: 8px;



  box-shadow: 0 10px 28px rgba(0, 52, 75, 0.12);

}



.search-input-icon {

  width: 20px;

  height: 20px;



  flex: 0 0 auto;



  color: #536a75;

}



.header-search-form input {

  width: 100%;



  border: 0;

  outline: 0;



  background: transparent;



  color: var(--text);



  font-family:

    "IBM Plex Sans Arabic",

    Arial,

    sans-serif;



  font-size: 13px;

}



.header-search-form input::placeholder {

  color: #9aa8ae;

}



/* Divider */

.header-tools-divider {

  width: 1px;

  height: 24px;



  flex: 0 0 auto;



  background: #e1e8ea;

}



/* Language */

.language-switch {

  min-height: 34px;



  display: flex;

  align-items: center;



  gap: 7px;



  padding: 0;



  border: 0;

  background: transparent;



  color: #111f27;



  font-size: 13px;

  font-weight: 500;



  cursor: pointer;



  transition: color 0.18s ease;

}



.language-switch:hover,

.language-switch:focus-visible {

  color: var(--teal-dark);



  outline: none;

}



.language-switch .tool-label {

  line-height: 1;

}



.language-icon {

  display: block;



  width: 26px;

  height: 26px;

}



/* =========================



   05. Hero



========================= */



.public-hero {



  position: relative;



  min-height: calc(100vh - var(--header-height));



  height: auto;



  display: flex;



  align-items: center;



  background-image: url("../assets/images/public/hero.jpg");



  background-size: cover;



  background-repeat: no-repeat;



  background-position: center center;



  overflow: hidden;



}





.hero-overlay {



  position: absolute;



  inset: 0;



  background:



    linear-gradient(



      90deg,



      rgba(0, 52, 75, 0.04) 0%,



      rgba(0, 52, 75, 0.20) 32%,



      rgba(0, 52, 75, 0.58) 62%,



      rgba(0, 39, 56, 0.92) 100%



    );



}





.hero-container {



  position: relative;



  z-index: 2;



  width: min(calc(100% - 72px), var(--container));



  min-height: calc(100vh - var(--header-height));



  margin-inline: auto;



  display: flex;



  align-items: center;



}





.hero-copy {



  width: min(620px, 100%);



  padding-block: 40px;



}





.section-kicker {



  display: inline-block;



  margin-bottom: 10px;



  font-size: 16px;



  font-weight: 700;



}





.section-kicker.light {



  color: #54d4c1;



}





.hero-copy h1 {



  margin: 0 0 18px;



  color: var(--white);



  font-size: clamp(42px, 4.2vw, 58px);



  line-height: 1.25;



  font-weight: 700;



}





.hero-copy p {



  max-width: 600px;



  margin: 0 0 28px;



  color: rgba(255, 255, 255, 0.92);



  font-size: 16px;



  line-height: 2;



}

/* =========================
   Hero Buttons - Premium
========================= */

.hero-buttons {
  display: flex;
  align-items: center;
  gap: 18px;

  margin-top: 12px;
}


/* =========================
   Base Button
========================= */

.btn {
  position: relative;

  width: 230px;
  height: 64px;

  padding: 0 54px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: 15px;

  font-size: 17px;
  font-weight: 700;

  line-height: 1;

  white-space: nowrap;

  overflow: hidden;

  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    border-color 0.22s ease,
    background 0.22s ease;
}


/* =========================
   Primary Button
   ابدأ الآن
========================= */

.btn-primary {
  color: #ffffff;

  border: 1px solid rgba(105, 231, 212, 0.65);

  background:
    linear-gradient(
      135deg,
      #25d1bd 0%,
      #12b9a7 48%,
      #08a994 100%
    );

  box-shadow:
    0 10px 24px rgba(0, 183, 164, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.25);
}


/* السهم */

.btn-primary::after {
  content: "›";
  position: absolute;

  left: 25px;
  right: auto;
  top: 50%;

  transform: translateY(-52%);

  color: #ffffff;

  font-size: 32px;
  font-weight: 300;

  line-height: 1;

  transition: transform 0.22s ease;
}


.btn-primary:hover {
  background:
    linear-gradient(
      135deg,
      #2edbc6 0%,
      #16c2af 48%,
      #0caf99 100%
    );

  box-shadow:
    0 14px 30px rgba(0, 183, 164, 0.34),
    inset 0 1px 0 rgba(255, 255, 255, 0.28);

  transform: translateY(-2px);
}
.btn-primary:hover::after {
  transform:
    translateY(-52%)
    translateX(-3px);
}

/* =========================
   Secondary Button
   تعرف على المنصة
========================= */

.btn-ghost {
  color: #ffffff;

  border:
    1.5px solid
    rgba(196, 236, 239, 0.82);

  background:
    linear-gradient(
      135deg,
      rgba(0, 64, 82, 0.68),
      rgba(0, 40, 58, 0.78)
    );

  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  box-shadow:
    0 8px 22px rgba(0, 25, 38, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.09);
}


/* السهم */

.btn-ghost::before {
  content: "›";

  position: absolute;

  left: 25px;
  top: 50%;

  transform: translateY(-52%);

  color: #5ad7c7;

  font-size: 32px;
  font-weight: 300;

  line-height: 1;

  transition: transform 0.22s ease;
}


.btn-ghost:hover {
  border-color: rgba(255, 255, 255, 0.95);

  background:
    linear-gradient(
      135deg,
      rgba(0, 78, 96, 0.80),
      rgba(0, 46, 63, 0.88)
    );

  box-shadow:
    0 12px 26px rgba(0, 25, 38, 0.24),
    inset 0 1px 0 rgba(255, 255, 255, 0.12);

  transform: translateY(-2px);
}


.btn-ghost:hover::before {
  transform:
    translateY(-52%)
    translateX(-3px);
}


/* =========================
   Click
========================= */

.btn:active {
  transform: translateY(0);
}


/* =========================
   Accessibility
========================= */

.btn:focus-visible {
  outline:
    3px solid
    rgba(64, 188, 169, 0.32);

  outline-offset: 4px;
}


.hero-slider-dots {



  position: absolute;



  z-index: 3;



  bottom: 22px;



  left: 50%;



  transform: translateX(-50%);



  display: flex;



  gap: 8px;



}





.hero-slider-dots span {



  width: 9px;



  height: 9px;



  border-radius: 50%;



  background: rgba(255, 255, 255, 0.82);



}





.hero-slider-dots span.active {



  background: var(--teal);



}





/* =========================



   06. About Platform



========================= */



.about-section {



  background: var(--white);



}





.about-section .container {



  width: min(calc(100% - 72px), var(--container));



}





.about-grid {



  width: 100%;



  display: grid;



  grid-template-columns: 1.05fr 0.95fr;



  align-items: center;



  gap: 70px;



}





.about-content h2 {



  margin: 0 0 16px;



  color: var(--text);



  font-size: clamp(28px, 2.2vw, 38px);



  line-height: 1.4;



}





.about-content p {



  max-width: 760px;



  margin: 0;



  color: var(--muted);



  font-size: 15px;



  line-height: 2.1;



}





.about-visual {



  display: flex;



  justify-content: center;



  align-items: center;



}





.about-visual img {



  width: 100%;



  max-width: 620px;



  max-height: 520px;



  object-fit: contain;



}
/* =========================
   07. Electronic Services
========================= */

.services-section {
  position: relative;

  
  padding: 46px 0;
background:
    linear-gradient(
      180deg,
      #fbfdfd 0%,
      #f7fafb 100%
    );

  overflow: hidden;
}

.services-section .container {
  width: min(
    calc(100% - 72px),
    var(--container)
  );
}


/* =========================
   Heading
========================= */

.services-heading {
  margin-bottom: 26px;

  text-align: right;
}

.services-heading .section-heading {
  margin-bottom: 8px;
}

.services-heading p {
  max-width: 720px;

  margin: 0;

  color: #73858e;

  font-size: 14px;
  line-height: 1.9;
}


/* =========================
   Grid
========================= */

.services-grid {
  width: 100%;

  display: grid;

  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  gap: 18px;
}


/* =========================
   Card
========================= */

.service-card {
  position: relative;

  min-width: 0;
  min-height: 500px;

  display: flex;
  flex-direction: column;

  border: 1px solid #dfe8eb;
  border-radius: 14px;

  background: #ffffff;

  overflow: hidden;

  box-shadow:
    0 8px 28px
    rgba(0, 52, 75, 0.045);

  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    border-color 0.22s ease;
}

.service-card:hover {
  transform: translateY(-4px);

  border-color:
    rgba(64, 188, 169, 0.34);

  box-shadow:
    0 16px 38px
    rgba(0, 52, 75, 0.08);
}


/* =========================
   Visual Area
========================= */

.service-visual {
  position: relative;

  width: 100%;
  height: 245px;

  padding: 20px 22px 6px;

  display: flex;
  align-items: center;
  justify-content: center;

  overflow: hidden;

  background:
    radial-gradient(
      circle at 50% 50%,
      rgba(64, 188, 169, 0.09) 0%,
      rgba(64, 188, 169, 0.035) 44%,
      transparent 72%
    );
}

.service-visual::before {
  content: "";

  position: absolute;

  width: 260px;
  height: 180px;

  border-radius: 50%;

  background:
    rgba(64, 188, 169, 0.065);

  z-index: 0;
}

.service-visual img {
  position: relative;

  z-index: 1;

  width: 100%;
  height: 100%;

  max-width: 340px;

  object-fit: contain;
}


/* =========================
   Content
========================= */

.service-card-content {
  flex: 1;

  padding:
    
    4px 26px 24px;

  display: flex;
  flex-direction: column;
}

.service-title-row {
  display: flex;

  align-items: center;

  gap: 13px;

  margin-bottom: 12px;
}


/* =========================
   Icon
========================= */

.service-icon {
  width: 42px;
  height: 42px;

  flex: 0 0 42px;

  display: grid;
  place-items: center;

  border-radius: 50%;

  color: #169c8c;

  background:
    #e9f8f5;

  border:
    1px solid
    rgba(64, 188, 169, 0.12);
}

.service-icon svg {
  width: 21px;
  height: 21px;
}

.ai-icon {
  background:
    #e5f8f4;
}


/* =========================
   Typography
========================= */

.service-card h3 {
  margin: 0;

  color: var(--navy);

  font-size: 19px;
  font-weight: 700;

  line-height: 1.45;
}

.service-card-content > p {
  min-height: 58px;

  margin:
    
    0 55px 16px 0;

  color: #778991;

  font-size: 12px;

  line-height: 1.85;
}


/* =========================
   AI Badge
========================= */

.ai-badge {
  position: absolute;

  top: 20px;
  right: 20px;

  z-index: 4;

  min-height: 30px;

  padding: 0 11px;

  display: inline-flex;
  align-items: center;

  gap: 7px;

  border:
    1px solid
    rgba(64, 188, 169, 0.35);

  border-radius: 7px;

  color: #087b70;

  background:
    rgba(239, 251, 248, 0.94);

  font-size: 10px;
  font-weight: 600;

  box-shadow:
    0 5px 14px
    rgba(0, 52, 75, 0.04);
}

.ai-badge-star {
  color: #159f90;

  font-size: 15px;

  line-height: 1;
}


/* =========================
   Different Card Touches
========================= */

.template-service .service-visual {
  background:
    radial-gradient(
      circle at 50% 50%,
      rgba(64, 188, 169, 0.08),
      transparent 70%
    );
}

.slides-service .service-visual {
  background:
    radial-gradient(
      circle at 50% 50%,
      rgba(30, 150, 185, 0.07),
      transparent 70%
    );
}

.ai-service .service-visual {
  background:
    radial-gradient(
      circle at 50% 50%,
      rgba(64, 188, 169, 0.10),
      transparent 70%
    );
}


/* =========================
   Actions
========================= */

.service-actions {
  width: 100%;

  display: flex;
  align-items: center;

  margin-top: auto;
}


/* الأزرار مؤقتًا كما هي */

.service-main-btn {
  width: 100%;
  min-height: 44px;

  padding: 0 22px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  gap: 8px;

  border: 1px solid rgba(22, 156, 140, 0.18);
  border-radius: 7px;

  color: #ffffff;

  background:
    linear-gradient(
      135deg,
      #169c8c 0%,
      #0f887b 100%
    );

  box-shadow:
    0 6px 16px
    rgba(0, 52, 75, 0.10);

  font-size: 12px;
  font-weight: 600;

  transition:
    background 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease;
}

.service-main-btn:hover {
  color: #ffffff;

  background:
    linear-gradient(
      135deg,
      #128f81 0%,
      #0b796e 100%
    );

  box-shadow:
    0 9px 20px
    rgba(0, 52, 75, 0.15);

  transform: translateY(-1px);
}

.service-main-btn:active {
  transform: translateY(0);
}

.service-main-btn:focus-visible {
  outline:
    3px solid
    rgba(64, 188, 169, 0.25);

  outline-offset: 3px;
}


/* =========================
   08. Employee Experience
========================= */

.employee-section {
  position: relative;

  min-height: calc(100vh - var(--header-height));

  padding: 70px 0;

  background:
    linear-gradient(
      180deg,
      #ffffff 0%,
      #fbfdfd 100%
    );

  overflow: hidden;
}


/* Decorative shape */

.employee-section::before {
  content: "";

  position: absolute;

  top: -80px;
  left: -110px;

  width: 320px;
  height: 320px;

  transform: rotate(45deg);

  background:
    linear-gradient(
      135deg,
      rgba(64, 188, 169, 0.08),
      rgba(64, 188, 169, 0.015)
    );

  pointer-events: none;
}


/* =========================
   Grid
========================= */

.employee-grid {
  position: relative;

  z-index: 2;

  width: min(
    calc(100% - 72px),
    var(--container)
  );

  min-height: auto;

  margin-inline: auto;

  display: grid;

  grid-template-columns:
    1.05fr 0.95fr;

  align-items: center;

  gap: 78px;
}


/* =========================
   Content
========================= */

.employee-content {
  padding: 20px 0;
}


/* Kicker */

.employee-kicker {
  display: flex;

  align-items: center;

  gap: 12px;

  margin-bottom: 22px;

  color: var(--navy);

  font-size: 18px;
  font-weight: 700;
}


.employee-kicker-line {
  width: 34px;
  height: 3px;

  flex: 0 0 auto;

  border-radius: 99px;

  background:
    linear-gradient(
      90deg,
      var(--teal-dark),
      var(--teal)
    );
}


/* Main title */

.employee-content h2 {
  max-width: 720px;

  margin: 0 0 20px;

  color: var(--navy);

  font-size:
    clamp(34px, 3vw, 48px);

  font-weight: 700;

  line-height: 1.4;
}


/* Description */

.employee-description {
  max-width: 760px;

  margin: 0;

  color: #75868e;

  font-size: 16px;

  line-height: 2.05;
}


/* =========================
   Features
========================= */

.employee-features {
  margin-top: 38px;

  display: grid;

  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  gap: 18px;
}


/* Feature Card */

.employee-feature-card {
  min-height: 200px;

  padding: 26px 20px;

  display: flex;

  flex-direction: column;

  align-items: center;

  justify-content: center;

  text-align: center;

  border:
    1px solid
    #e3ecee;

  border-radius: 15px;

  background:
    rgba(255, 255, 255, 0.96);

  box-shadow:
    0 8px 26px
    rgba(0, 52, 75, 0.045);

  transition:
    transform 0.22s ease,
    border-color 0.22s ease,
    box-shadow 0.22s ease;
}


.employee-feature-card:hover {
  transform:
    translateY(-4px);

  border-color:
    rgba(64, 188, 169, 0.32);

  box-shadow:
    0 15px 32px
    rgba(0, 52, 75, 0.075);
}


/* Feature icon */

.employee-feature-icon {
  width: 58px;
  height: 58px;

  margin-bottom: 17px;

  display: grid;

  place-items: center;

  border-radius: 50%;

  color: #159f90;

  background:
    linear-gradient(
      135deg,
      #e6f8f5,
      #f1fbf9
    );

  border:
    1px solid
    rgba(64, 188, 169, 0.14);
}


.employee-feature-icon svg {
  width: 29px;
  height: 29px;
}


/* Feature title */

.employee-feature-card h3 {
  margin: 0 0 8px;

  color: var(--navy);

  font-size: 16px;

  font-weight: 700;

  line-height: 1.55;
}


/* Feature description */

.employee-feature-card p {
  margin: 0;

  color: #829198;

  font-size: 12px;

  line-height: 1.8;
}


/* =========================
   Image
========================= */

.employee-visual {
  position: relative;

  display: flex;

  align-items: center;

  justify-content: center;
}


.employee-image-wrapper {
  position: relative;

  width: 100%;

  max-width: 720px;

  overflow: hidden;

  border-radius: 16px;

  background: #f5f8f9;

  box-shadow:
    0 16px 42px
    rgba(0, 52, 75, 0.10);
}


.employee-image-wrapper::after {
  content: "";

  position: absolute;

  inset: 0;

  border:
    1px solid
    rgba(255, 255, 255, 0.40);

  border-radius: inherit;

  pointer-events: none;
}


.employee-image-wrapper img {
  width: 100%;
  height: 100%;

  min-height: 430px;

  max-height: 520px;

  object-fit: cover;

  transition:
    transform 0.45s ease;
}


.employee-image-wrapper:hover img {
  transform: scale(1.018);
}


/* =========================
   Employee Experience Responsive
========================= */

@media (max-width: 1200px) {

  .employee-grid {
    gap: 48px;
  }

  .employee-content h2 {
    font-size: 38px;
  }

  .employee-feature-card {
    min-height: 180px;
    padding: 22px 14px;
  }

  .employee-feature-icon {
    width: 52px;
    height: 52px;
  }

  .employee-image-wrapper img {
    min-height: 390px;
  }

}


@media (max-width: 900px) {

  .employee-section {
    padding: 60px 0;
  }

  .employee-grid {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .employee-content {
    order: 1;
    padding: 0;
  }

  .employee-visual {
    order: 2;
  }

  .employee-content h2 {
    font-size: 34px;
  }

  .employee-image-wrapper {
    max-width: 100%;
  }

  .employee-image-wrapper img {
    min-height: auto;
    max-height: none;
  }

}


@media (max-width: 600px) {

  .employee-section {
    padding: 46px 0;
  }

  .employee-kicker {
    font-size: 15px;
  }

  .employee-content h2 {
    margin-bottom: 15px;
    font-size: 27px;
  }

  .employee-description {
    font-size: 13px;
  }

  .employee-features {
    margin-top: 28px;
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .employee-feature-card {
    min-height: auto;
    padding: 20px;
  }

  .employee-feature-icon {
    width: 48px;
    height: 48px;
    margin-bottom: 12px;
  }

  .employee-feature-icon svg {
    width: 24px;
    height: 24px;
  }

  .employee-image-wrapper {
    border-radius: 12px;
  }

}


/* =========================



   09. Latest Templates



========================= */



.templates-section {



  background: var(--white);



}





.templates-section .container {



  width: min(calc(100% - 72px), var(--container));



}





.templates-grid {



  display: grid;



  grid-template-columns: repeat(3, minmax(0, 1fr));



  gap: 20px;



}





.template-card {



  position: relative;



  min-height: 240px;



  display: grid;



  grid-template-columns: 42% 58%;



  border: 1px solid var(--border);



  border-radius: 10px;



  background: var(--white);



  overflow: hidden;



  box-shadow: 0 4px 15px rgba(0, 52, 75, 0.035);



}





.template-card > img {



  width: 100%;



  height: 100%;



  object-fit: cover;



  background: #f5f8f9;



}





.template-card-content {



  position: relative;



  padding: 20px;



}





.template-card h3 {



  margin: 22px 0 8px;



  font-size: 17px;



  line-height: 1.5;



}





.template-card p {



  min-height: 56px;



  margin: 0 0 16px;



  color: var(--muted);



  font-size: 12px;



  line-height: 1.8;



}





.template-card a {



  padding: 8px 14px;



  display: inline-flex;



  align-items: center;



  gap: 7px;



  border-radius: 4px;



  color: var(--white);



  background: var(--teal-dark);



  font-size: 11px;



}





.featured-tag {



  position: absolute;



  top: 12px;



  right: 14px;



  padding: 3px 8px;



  border-radius: 12px;



  color: var(--teal-dark);



  background: #dff7f1;



  font-size: 9px;



}





/* =========================
   10. Latest Updates
========================= */

.updates-section {
  min-height: auto;

  padding: 72px 0;

  background:
    linear-gradient(
      180deg,
      #f9fbfc 0%,
      #f5f8f9 100%
    );
}


/* =========================
   Header
========================= */

.updates-header {
  margin-bottom: 34px;

  display: flex;

  align-items: flex-end;
  justify-content: space-between;

  gap: 32px;
}


.updates-heading-group {
  max-width: 760px;
}


.updates-heading-group .section-heading {
  margin-bottom: 8px;

  font-size: 24px;
}


.updates-heading-group p {
  margin: 0;

  color: #7c8c94;

  font-size: 14px;

  line-height: 1.9;
}


/* =========================
   View All
========================= */

.updates-all-link {
  min-height: 44px;

  padding: 0 18px;

  display: inline-flex;

  align-items: center;
  justify-content: center;

  gap: 10px;

  flex: 0 0 auto;

  border: 1px solid #cbd9dd;

  border-radius: 7px;

  color: var(--navy);

  background: rgba(255, 255, 255, 0.88);

  font-size: 12px;
  font-weight: 600;

  transition:
    color 0.2s ease,
    border-color 0.2s ease,
    background 0.2s ease,
    transform 0.2s ease;
}


.updates-all-link:hover {
  color: var(--teal-dark);

  border-color: rgba(64, 188, 169, 0.65);

  background: #ffffff;

  transform: translateY(-1px);
}


/* =========================
   Grid
========================= */

.updates-grid {
  display: grid;

  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  gap: 22px;
}


/* =========================
   Card
========================= */

.update-card {
  position: relative;

  min-height: 330px;

  padding: 28px;

  display: flex;

  flex-direction: column;

  border: 1px solid #dfe8eb;

  border-radius: 14px;

  background: #ffffff;

  box-shadow:
    0 8px 26px
    rgba(0, 52, 75, 0.04);

  transition:
    transform 0.22s ease,
    border-color 0.22s ease,
    box-shadow 0.22s ease;
}


.update-card:hover {
  transform: translateY(-4px);

  border-color:
    rgba(64, 188, 169, 0.32);

  box-shadow:
    0 16px 34px
    rgba(0, 52, 75, 0.075);
}


/* =========================
   Card Top
========================= */

.update-card-top {
  display: flex;

  align-items: flex-start;
  justify-content: space-between;

  gap: 20px;

  margin-bottom: 8px;
}


/* =========================
   Labels
========================= */

.update-label {
  min-height: 32px;

  padding: 0 12px;

  display: inline-flex;

  align-items: center;
  justify-content: center;

  border-radius: 6px;

  font-size: 10px;
  font-weight: 600;
}


.update-blue {
  color: #2366af;

  background: #edf4ff;
}


.update-green {
  color: #128978;

  background: #e6f8f3;
}


.update-purple {
  color: #6955c5;

  background: #f1efff;
}


/* =========================
   Icon
========================= */

.update-icon {
  width: 52px;
  height: 52px;

  flex: 0 0 52px;

  display: grid;

  place-items: center;

  border-radius: 50%;
}


.update-icon svg {
  width: 26px;
  height: 26px;
}


.update-icon-blue {
  color: #166a9e;

  background: #eaf4fb;
}


.update-icon-green {
  color: #159f90;

  background: #e6f8f4;
}


.update-icon-purple {
  color: #6452b8;

  background: #f0edff;
}


/* =========================
   Date
========================= */

.update-date {
  display: block;

  margin-bottom: 18px;

  color: #8a9aa2;

  font-size: 12px;
}


/* =========================
   Title
========================= */

.update-card h3 {
  margin: 0 0 14px;

  color: var(--navy);

  font-size: 20px;
  font-weight: 700;

  line-height: 1.55;
}


/* =========================
   Description
========================= */

.update-card p {
  margin: 0 0 22px;

  color: #74868f;

  font-size: 13px;

  line-height: 1.95;
}


/* =========================
   Read More
========================= */

.update-read-more {
  margin-top: auto;

  display: inline-flex;

  align-items: center;

  gap: 8px;

  align-self: flex-start;

  color: var(--teal-dark);

  font-size: 12px;
  font-weight: 700;

  transition:
    gap 0.2s ease,
    color 0.2s ease;
}


.update-read-more:hover {
  gap: 12px;

  color: #0d8074;
}


/* =========================
   Tablet
========================= */

@media (max-width: 900px) {

  .updates-header {
    align-items: flex-start;

    flex-direction: column;
  }


  .updates-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

}


/* =========================
   Mobile
========================= */

@media (max-width: 600px) {

  .updates-section {
    padding: 48px 0;
  }


  .updates-heading-group .section-heading {
    font-size: 20px;
  }


  .updates-heading-group p {
    font-size: 12px;
  }


  .updates-all-link {
    min-height: 40px;

    font-size: 11px;
  }


  .updates-grid {
    grid-template-columns: 1fr;

    gap: 14px;
  }


  .update-card {
    min-height: auto;

    padding: 22px;
  }


  .update-icon {
    width: 46px;
    height: 46px;

    flex-basis: 46px;
  }


  .update-icon svg {
    width: 23px;
    height: 23px;
  }


  .update-card h3 {
    font-size: 18px;
  }

}
/* =========================



   11. Feedback



========================= */



.page-feedback {



  border-top: 1px solid #d6eeea;



  background: linear-gradient(90deg, #f1fcf9, #e9f8f5);



}





.feedback-inner {



  min-height: 70px;



  display: flex;



  align-items: center;



  justify-content: space-between;



}





.feedback-copy {



  display: flex;



  flex-direction: column;



  gap: 1px;



}





.feedback-copy strong {



  font-size: 13px;



}





.feedback-copy span {



  color: var(--muted);



  font-size: 11px;



}





.feedback-buttons {



  display: flex;



  gap: 7px;



}





.feedback-buttons button {



  min-width: 72px;



  height: 34px;



  border-radius: 4px;



  font-size: 11px;



}





.feedback-yes {



  color: var(--white);



  border: 1px solid var(--teal-dark);



  background: var(--teal-dark);



}





.feedback-no {



  color: var(--text);



  border: 1px solid #bac9ce;



  background: var(--white);



}





.feedback-buttons button:disabled {



  cursor: default;



  opacity: 0.85;



}





/* =========================



   12. Footer



========================= */



.main-footer {



  color: rgba(255, 255, 255, 0.9);



  background: linear-gradient(120deg, #00384a, #004d5b);



}





.footer-grid {



  min-height: 250px;



  padding: 44px 0 30px;



  display: grid;



  grid-template-columns: 1.35fr repeat(4, 1fr);



  gap: 36px;



}





.footer-brand img {



  width: 145px;



  height: auto;



  object-fit: contain;



  filter: none;



  opacity: 1;



}





.footer-brand p {



  margin-top: 60px;



  color: rgba(255, 255, 255, 0.7);



  font-size: 10px;



}





.footer-column {



  display: flex;



  flex-direction: column;



  gap: 7px;



}





.footer-column h3 {



  margin: 0 0 7px;



  color: var(--white);



  font-size: 13px;



}





.footer-column a {



  color: rgba(255, 255, 255, 0.8);



  font-size: 11px;



  transition: 0.2s ease;



}





.footer-column a:hover {



  color: var(--white);



}





.social-links {



  display: flex;



  gap: 10px;



}





.social-links a {



  width: 30px;



  height: 30px;



  display: grid;



  place-items: center;



  border: 1px solid rgba(255, 255, 255, 0.24);



  border-radius: 4px;



}





.footer-bottom {



  border-top: 1px solid rgba(255, 255, 255, 0.14);



}





.footer-bottom-inner {



  min-height: 50px;



  display: flex;



  align-items: center;



  justify-content: space-between;



  color: rgba(255, 255, 255, 0.64);



  font-size: 9px;



}





.footer-bottom-inner div {



  display: flex;



  gap: 12px;



}





/* =========================



   13. Laptop



========================= */



@media (max-width: 1200px) {



  .container,



  .hero-container,



  .employee-grid,



  .section > .container,



  .section.container,



  .about-section .container,



  .services-section .container,



  .templates-section .container,



  .updates-section .container {



    width: min(calc(100% - 48px), 1160px);



  }





  .header-inner {



    gap: 22px;



  }





  .main-navigation {



    gap: 22px;



  }





  .main-navigation a {



    font-size: 12px;



  }





 .hero-copy {



    width: min(540px, 100%);



  }





  .hero-copy h1 {



    font-size: 42px;



  }





  .about-grid,



  .employee-grid {
    gap: 48px;
  }





  .service-card {
    min-height: 500px;
  }

  .service-visual {
    height: 245px;
  }

  .service-card-content {
    padding: 4px 24px 22px;
  }





  .header-actions {

    gap: 10px;

  }



  .search-icon-trigger {

    width: 32px;

    height: 32px;

  }



  .search-icon-trigger svg {

    width: 23px;

    height: 23px;

  }



  .language-icon {

    width: 24px;

    height: 24px;

  }



}





/* =========================



   14. Tablet



========================= */



@media (max-width: 900px) {



  :root {



    --header-height: 64px;



  }





  .container,



  .hero-container,



  .employee-grid,



  .section > .container,



  .section.container,



  .about-section .container,



  .services-section .container,



  .templates-section .container,



  .updates-section .container {



    width: calc(100% - 36px);



  }





  .main-navigation {



    display: none;



  }





  .header-inner {



    grid-template-columns: 1fr auto;



  }

.public-hero {



    min-height: calc(100vh - var(--header-height));



    background-position: center center;



  }





  .hero-copy {



    width: 100%;



  }





  .hero-copy h1 {



    font-size: 36px;



  }





  .about-grid,



  .employee-grid {
    grid-template-columns: 1fr;
    gap: 42px;
  }





  .about-visual {



    order: 2;



  }






  .services-grid,



  .templates-grid,



  .updates-grid {



    grid-template-columns: repeat(2, minmax(0, 1fr));



  }





  .benefits-grid {



    gap: 16px;



  }





  .footer-grid {



    grid-template-columns: repeat(2, 1fr);



  }





  .header-actions {

    gap: 9px;

  }



  .header-search-panel {

    width: 280px;

    left: 0;

  }



}





/* =========================



   15. Mobile



========================= */



@media (max-width: 600px) {



  .container,



  .hero-container,



  .employee-grid,



  .section > .container,



  .section.container,



  .about-section .container,



  .services-section .container,



  .templates-section .container,



  .updates-section .container {



    width: calc(100% - 28px);



  }





  .section {



    min-height: auto;



    padding: 42px 0;



  }





  .main-header {



    height: 62px;



  }





  .ministry-brand img {



    width: 125px;



    height: 50px;



  }





  .language-switch {



    display: none;



  }





  .public-hero {



    min-height: 540px;



    background-position: 42% center;



  }





  .hero-overlay {



    background: rgba(0, 44, 61, 0.76);



  }





  .hero-container {



    min-height: 540px;



  }





  .hero-copy h1 {



    font-size: 31px;



  }





  .hero-copy p {



    font-size: 13px;



  }





  .hero-buttons {



    flex-direction: column;



    align-items: stretch;



  }





  .btn {



    width: 100%;



  }





  .about-content h2,



  .employee-content h2 {
    font-size: 27px;
  }





  .services-grid,



  .templates-grid,



  .updates-grid,



  .benefits-grid {



    grid-template-columns: 1fr;



  }





  .service-card {
    min-height: auto;

    border-radius: 14px;
  }

  .service-visual {
    height: 245px;

    padding: 24px 18px 6px;
  }

  .service-visual::before {
    width: 210px;
    height: 145px;
  }

  .service-visual img {
    max-width: 330px;
  }

  .service-card-content {
    padding: 8px 20px 22px;
  }

  .service-title-row {
    gap: 10px;

    margin-bottom: 10px;
  }

  .service-icon {
    width: 44px;
    height: 44px;

    flex-basis: 44px;
  }

  .service-icon svg {
    width: 22px;
    height: 22px;
  }

  .service-card h3 {
    font-size: 19px;
  }

  .service-card-content > p {
    min-height: auto;

    margin: 0 0 20px;

    font-size: 13px;
  }

  .ai-badge {
    top: 18px;
    right: 18px;

    min-height: 30px;

    padding: 0 10px;

    font-size: 10px;
  }

  .template-card {



    grid-template-columns: 1fr;



  }





  .template-card > img {



    height: 190px;



  }





  .feedback-inner {



    padding-block: 13px;



    flex-direction: column;



    align-items: flex-start;



    gap: 10px;



  }





  .footer-grid {



    grid-template-columns: 1fr;



    gap: 24px;



  }





  .footer-brand p {



    margin-top: 20px;



  }





  .footer-bottom-inner {



    padding-block: 12px;



    flex-direction: column;



    align-items: flex-start;



    gap: 7px;



  }





  .header-tools-divider {

    display: none;

  }



  .header-search-panel {

    width: 245px;

    left: 0;

  }



  .search-icon-trigger {

    width: 32px;

    height: 32px;

  }



}

/* =========================================================
   16. Agency Portal Page
   وكالة خدمة العملاء والفروع
========================================================= */

.agency-page {
  background: #ffffff;
}

.agency-hero {
  position: relative;
  min-height: 430px;
  display: flex;
  align-items: center;
  background-image: url("../assets/images/agency/agency-hero.jpg");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  overflow: hidden;
}

.agency-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(0, 52, 75, 0.10) 0%,
    rgba(0, 52, 75, 0.34) 42%,
    rgba(0, 52, 75, 0.86) 100%
  );
}

.agency-hero-container {
  position: relative;
  z-index: 2;
  width: min(calc(100% - 72px), var(--container));
  min-height: 430px;
  margin-inline: auto;
  display: flex;
  align-items: center;
}

.agency-hero-content {
  width: min(650px, 100%);
  margin-right: auto;
  color: #ffffff;
}

.agency-breadcrumb {
  margin-bottom: 22px;
  display: flex;
  align-items: center;
  gap: 9px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 13px;
}

.agency-breadcrumb a {
  transition: color 0.18s ease;
}

.agency-breadcrumb a:hover {
  color: #ffffff;
}

.agency-hero-content h1 {
  margin: 0 0 16px;
  color: #ffffff;
  font-size: clamp(34px, 3.5vw, 48px);
  line-height: 1.35;
  font-weight: 700;
}

.agency-hero-content p {
  max-width: 620px;
  margin: 0;
  color: rgba(255, 255, 255, 0.92);
  font-size: 16px;
  line-height: 2;
}

.agency-title-line {
  display: block;
  width: 42px;
  height: 3px;
  margin-top: 26px;
  border-radius: 999px;
  background: var(--teal);
}

/* Agency benefits */

.agency-benefits {
  background: #ffffff;
  border-bottom: 1px solid #edf2f3;
}

.agency-benefits-grid {
  min-height: 138px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: center;
}

.agency-benefit {
  position: relative;
  min-height: 84px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 18px 24px;
}

.agency-benefit:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 20%;
  left: 0;
  width: 1px;
  height: 60%;
  background: #dde7ea;
}

.agency-benefit-icon {
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--teal-dark);
  background: #effaf7;
  border: 1px solid #ccefe8;
  font-size: 24px;
  font-weight: 700;
}

.agency-benefit h3 {
  margin: 0;
  color: var(--navy);
  font-size: 15px;
  font-weight: 700;
}

.agency-benefit p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 11px;
}

/* Agency heading */

.agency-section-heading {
  margin-bottom: 34px;
}

.agency-section-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  color: var(--teal-dark);
  font-size: 13px;
  font-weight: 700;
}

.agency-section-kicker::before {
  content: "";
  width: 8px;
  height: 8px;
  border: 2px solid var(--teal);
  border-radius: 50%;
}

.agency-section-heading h2 {
  margin: 0 0 8px;
  color: var(--navy);
  font-size: clamp(28px, 2.5vw, 38px);
  line-height: 1.4;
  font-weight: 700;
}

.agency-section-heading p {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.9;
}

/* Departments */

.agency-departments-section {
  min-height: auto;
  padding: 64px 0 72px;
  background: linear-gradient(180deg, #f8fafb 0%, #ffffff 100%);
}

.departments-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.department-card {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #dfe8eb;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 8px 22px rgba(0, 52, 75, 0.045);
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    border-color 0.22s ease;
}

.department-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 34px rgba(0, 52, 75, 0.085);
}

.department-card-active {
  border: 2px solid var(--teal);
}

.department-card-image {
  height: 185px;
  overflow: hidden;
  background: #edf3f5;
}

.department-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition:
    transform 0.35s ease,
    filter 0.35s ease;
}

.department-card:hover .department-card-image img {
  transform: scale(1.025);
}

.department-card-future .department-card-image img {
  filter: grayscale(20%) saturate(75%);
}

.department-card-icon {
  position: relative;
  width: 58px;
  height: 58px;
  margin: -29px auto 0;
  z-index: 2;
  display: grid;
  place-items: center;
  border: 5px solid #ffffff;
  border-radius: 50%;
  color: var(--navy);
  background: #eef8fd;
  font-size: 25px;
  font-weight: 700;
}

.department-card-active .department-card-icon {
  color: var(--teal-dark);
  background: #e8faf6;
}

.department-card-body {
  padding: 18px 20px 20px;
  text-align: center;
}

.department-card-body h3 {
  min-height: 52px;
  margin: 0 0 10px;
  color: var(--navy);
  font-size: 18px;
  line-height: 1.45;
  font-weight: 700;
}

.department-card-body p {
  min-height: 72px;
  margin: 0 auto 18px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.85;
}

.department-stats {
  width: 100%;
  margin-bottom: 18px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px;
}

.department-stats div {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
}

.department-stats strong {
  color: var(--navy);
  font-size: 18px;
}

.department-stats span {
  color: var(--muted);
  font-size: 10px;
}

.department-stat-divider {
  width: 1px;
  height: 34px;
  background: #e2e9ec;
}

.department-enter-btn,
.department-disabled-btn {
  width: 100%;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
}

.department-enter-btn {
  color: #ffffff;
  background: linear-gradient(135deg, var(--navy) 0%, #005464 100%);
  box-shadow: 0 6px 16px rgba(0, 52, 75, 0.14);
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.department-enter-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 9px 22px rgba(0, 52, 75, 0.20);
}

.department-disabled-btn {
  border: 0;
  color: #75858d;
  background: #e8ecee;
  cursor: not-allowed;
}

.future-badge {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 3;
  padding: 5px 10px;
  border-radius: 999px;
  color: #65757d;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid #d9e2e5;
  font-size: 10px;
  font-weight: 600;
}

/* Agency services */

.agency-services-section {
  min-height: auto;
  padding: 58px 0;
  background: #ffffff;
}

.agency-services-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.agency-service-card {
  position: relative;
  min-height: 250px;
  padding: 28px;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 18px;
  border: 1px solid var(--border);
  border-radius: 12px;
  overflow: hidden;
}

.guide-card {
  background: linear-gradient(135deg, #ffffff 0%, #fff8ed 100%);
}

.ai-agency-card {
  background: linear-gradient(135deg, #ffffff 0%, #eaf8f5 100%);
}

.library-card {
  background: linear-gradient(135deg, #ffffff 0%, #eef8fd 100%);
}

.agency-service-icon {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: var(--teal-dark);
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(0, 52, 75, 0.06);
  font-size: 25px;
  font-weight: 700;
}

.agency-service-content {
  min-width: 0;
}

.agency-service-content h3 {
  margin: 0 0 8px;
  color: var(--navy);
  font-size: 19px;
  font-weight: 700;
}

.agency-service-content p {
  min-height: 62px;
  margin: 0 0 18px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.9;
}

.agency-service-content > a {
  min-height: 38px;
  padding: 0 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(0, 52, 75, 0.12);
  border-radius: 5px;
  color: var(--navy);
  background: rgba(255, 255, 255, 0.72);
  font-size: 11px;
  font-weight: 600;
  transition:
    background 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease;
}

.agency-service-content > a:hover {
  color: #ffffff;
  background: var(--teal-dark);
  border-color: var(--teal-dark);
}

.agency-library-stats {
  display: flex;
  align-items: center;
  gap: 26px;
  margin-bottom: 16px;
}

.agency-library-stats div {
  display: flex;
  flex-direction: column;
}

.agency-library-stats strong {
  color: var(--navy);
  font-size: 22px;
  line-height: 1.2;
}

.agency-library-stats span {
  color: var(--muted);
  font-size: 10px;
}

/* Journey */

.agency-journey-section {
  min-height: auto;
  padding: 66px 0 70px;
  background: linear-gradient(180deg, #f8fbfb 0%, #ffffff 100%);
}

.agency-journey-grid {
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  align-items: center;
  gap: 48px;
}

.journey-steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  margin-top: 36px;
}

.journey-steps::before {
  content: "";
  position: absolute;
  top: 28px;
  right: 9%;
  left: 9%;
  border-top: 1px dashed rgba(22, 156, 140, 0.38);
  z-index: 0;
}

.journey-step {
  position: relative;
  z-index: 1;
  text-align: center;
}

.journey-step-icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 14px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--teal-dark);
  background: #e9f8f5;
  border: 6px solid #ffffff;
  box-shadow: 0 0 0 1px #cdece6;
  font-size: 16px;
  font-weight: 700;
}

.journey-step h3 {
  margin: 0 0 5px;
  color: var(--navy);
  font-size: 14px;
  font-weight: 700;
}

.journey-step p {
  max-width: 170px;
  margin: 0 auto;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.7;
}

.agency-journey-visual {
  position: relative;
  min-height: 330px;
  border-radius: 12px;
  overflow: hidden;
  background: #e8eff1;
}

.agency-journey-visual img {
  width: 100%;
  height: 100%;
  min-height: 330px;
  object-fit: cover;
}

.agency-journey-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0, 52, 75, 0.02) 35%,
    rgba(0, 52, 75, 0.72) 100%
  );
  pointer-events: none;
}

.journey-video-button {
  position: absolute;
  z-index: 2;
  right: 22px;
  bottom: 22px;
  min-height: 46px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 0;
  border-radius: 7px;
  color: #ffffff;
  background: rgba(0, 52, 75, 0.82);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  font-size: 12px;
  font-weight: 600;
}

.journey-play-icon {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--navy);
  background: #ffffff;
  font-size: 9px;
}

/* Responsive */

@media (max-width: 1200px) {
  .agency-hero-container,
  .agency-benefits-grid {
    width: min(calc(100% - 48px), 1160px);
  }

  .departments-grid {
    gap: 14px;
  }

  .department-card-image {
    height: 165px;
  }

  .department-card-body {
    padding-inline: 15px;
  }

  .department-card-body h3 {
    font-size: 16px;
  }

  .agency-service-card {
    padding: 22px;
  }

  .agency-journey-grid {
    gap: 34px;
  }
}

@media (max-width: 900px) {
  .agency-hero,
  .agency-hero-container {
    min-height: 390px;
  }

  .agency-hero-container,
  .agency-benefits-grid {
    width: calc(100% - 36px);
  }

  .agency-hero-content {
    margin-right: 0;
  }

  .agency-benefits-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-block: 14px;
  }

  .agency-benefit:nth-child(2)::after {
    display: none;
  }

  .departments-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .agency-services-grid {
    grid-template-columns: 1fr;
  }

  .agency-service-card {
    min-height: auto;
  }

  .agency-journey-grid {
    grid-template-columns: 1fr;
  }

  .journey-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 34px;
  }

  .journey-steps::before {
    display: none;
  }

  .agency-journey-visual {
    min-height: 300px;
  }
}

@media (max-width: 600px) {
  .agency-hero {
    min-height: 430px;
    background-position: 42% center;
  }

  .agency-hero-container {
    width: calc(100% - 28px);
    min-height: 430px;
  }

  .agency-breadcrumb {
    font-size: 11px;
  }

  .agency-hero-content h1 {
    font-size: 30px;
  }

  .agency-hero-content p {
    font-size: 13px;
  }

  .agency-benefits-grid {
    width: calc(100% - 28px);
    grid-template-columns: 1fr;
  }

  .agency-benefit {
    justify-content: flex-start;
    padding-inline: 6px;
  }

  .agency-benefit::after {
    display: none;
  }

  .agency-departments-section,
  .agency-services-section,
  .agency-journey-section {
    padding: 46px 0;
  }

  .agency-section-heading h2 {
    font-size: 25px;
  }

  .departments-grid {
    grid-template-columns: 1fr;
  }

  .department-card-image {
    height: 210px;
  }

  .agency-service-card {
    grid-template-columns: 1fr;
    padding: 22px;
  }

  .agency-service-icon {
    width: 46px;
    height: 46px;
  }

  .agency-service-content p {
    min-height: auto;
  }

  .journey-steps {
    grid-template-columns: 1fr;
  }

  .journey-step {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 12px;
    text-align: right;
  }

  .journey-step-icon {
    margin: 0;
  }

  .journey-step p {
    max-width: none;
    margin: 0;
  }

  .agency-journey-visual,
  .agency-journey-visual img {
    min-height: 250px;
  }

  .journey-video-button {
    right: 14px;
    bottom: 14px;
  }
}
/* =========================================================
   17. Employee Presentation Workspace
   مساحة إنشاء العرض
========================================================= */

.workspace-page {
  background: #f5f8f9;
}


/* =========================================================
   01. Workspace Hero
========================================================= */

.workspace-hero {
  position: relative;

  min-height: 230px;

  display: flex;
  align-items: center;

  overflow: hidden;

  background:
    linear-gradient(
      90deg,
      rgba(0, 52, 75, 0.12) 0%,
      rgba(0, 52, 75, 0.45) 45%,
      rgba(0, 44, 61, 0.90) 100%
    ),
    url("../assets/images/public/hero.jpg")
    center center / cover
    no-repeat;
}

.workspace-hero-overlay {
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      90deg,
      rgba(0, 52, 75, 0.04),
      rgba(0, 52, 75, 0.32),
      rgba(0, 52, 75, 0.58)
    );
}

.workspace-hero-container {
  position: relative;
  z-index: 2;

  width: min(
    calc(100% - 72px),
    var(--container)
  );

  margin-inline: auto;

  display: flex;
  align-items: center;
}

.workspace-hero-content {
  width: min(650px, 100%);

  margin-right: auto;

  color: #ffffff;
}

.workspace-hero-kicker {
  display: inline-block;

  margin-bottom: 7px;

  color: #5dd6c5;

  font-size: 13px;
  font-weight: 600;
}

.workspace-hero-content h1 {
  margin: 0 0 6px;

  color: #ffffff;

  font-size: 38px;
  line-height: 1.35;

  font-weight: 700;
}

.workspace-hero-content p {
  margin: 0;

  color: rgba(255, 255, 255, 0.92);

  font-size: 15px;
}


/* =========================================================
   02. Presentation Toolbar
========================================================= */

.workspace-toolbar-section {
  padding: 14px 0;

  background: #ffffff;

  border-bottom: 1px solid #e4ebed;
}

.workspace-toolbar {
  min-height: 72px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 26px;
}

.workspace-toolbar-title {
  display: flex;
  align-items: center;

  gap: 28px;
}

.workspace-back-link {
  display: inline-flex;
  align-items: center;

  gap: 7px;

  color: #536a75;

  font-size: 12px;
  font-weight: 500;
}

.workspace-back-link:hover {
  color: var(--teal-dark);
}

.workspace-presentation-name {
  display: flex;
  align-items: center;

  gap: 12px;
}

.workspace-presentation-name h2 {
  margin: 0;

  color: var(--navy);

  font-size: 20px;
  font-weight: 700;
}

.workspace-save-status {
  padding: 5px 10px;

  border-radius: 999px;

  color: #147b69;
  background: #e6f8f3;

  font-size: 10px;
  font-weight: 600;
}

.workspace-toolbar-actions {
  display: flex;
  align-items: center;

  gap: 8px;
}

.workspace-icon-button,
.workspace-secondary-button,
.workspace-export-button {
  min-height: 42px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  gap: 8px;

  border-radius: 6px;

  font-size: 12px;
  font-weight: 600;

  transition:
    transform 0.18s ease,
    border-color 0.18s ease,
    background 0.18s ease;
}

.workspace-icon-button {
  width: 42px;

  padding: 0;

  color: var(--navy);

  border: 1px solid #d5e0e3;

  background: #ffffff;

  font-size: 20px;
}

.workspace-secondary-button {
  padding: 0 16px;

  color: var(--navy);

  border: 1px solid #d5e0e3;

  background: #ffffff;
}

.workspace-secondary-button:hover,
.workspace-icon-button:hover {
  border-color: var(--teal);

  background: #f4fbfa;
}

.workspace-export-button {
  padding: 0 22px;

  color: #ffffff;

  border: 1px solid var(--teal-dark);

  background:
    linear-gradient(
      135deg,
      #169c8c,
      #087b70
    );

  box-shadow:
    0 5px 14px
    rgba(22, 156, 140, 0.18);
}

.workspace-export-button:hover {
  transform: translateY(-1px);
}


/* =========================================================
   03. Presentation Progress
========================================================= */

.workspace-progress-section {
  padding: 14px 0;
}

.workspace-progress-panel {
  padding: 18px 22px;

  display: grid;
  grid-template-columns: 1fr auto;

  align-items: center;

  gap: 26px;

  border: 1px solid #e1e9eb;
  border-radius: 10px;

  background: #ffffff;

  box-shadow:
    0 4px 16px
    rgba(0, 52, 75, 0.035);
}

.workspace-progress-header {
  display: contents;
}

.workspace-progress-collapse {
  grid-column: 1 / -1;

  width: max-content;

  padding: 0;

  border: 0;

  color: var(--navy);

  background: transparent;

  font-size: 13px;
  font-weight: 700;
}

.workspace-progress-collapse span {
  margin-right: 5px;

  color: var(--muted);

  font-size: 10px;
  font-weight: 400;
}

.workspace-progress-total {
  grid-column: 2;
  grid-row: 2;

  min-width: 110px;

  display: flex;
  flex-direction: column;
  align-items: center;

  gap: 6px;
}

.workspace-progress-ring {
  width: 74px;
  height: 74px;

  display: grid;
  place-items: center;

  border-radius: 50%;

  background:
    conic-gradient(
      var(--teal-dark) 0 75%,
      #e6edef 75% 100%
    );

  position: relative;
}

.workspace-progress-ring::before {
  content: "";

  position: absolute;

  width: 59px;
  height: 59px;

  border-radius: 50%;

  background: #ffffff;
}

.workspace-progress-ring strong {
  position: relative;
  z-index: 2;

  color: var(--navy);

  font-size: 16px;
}

.workspace-progress-total > span {
  color: var(--muted);

  font-size: 9px;
}

.workspace-progress-steps {
  grid-column: 1;
  grid-row: 2;

  position: relative;

  display: grid;
  grid-template-columns:
    repeat(7, minmax(0, 1fr));

  gap: 8px;
}

.workspace-progress-steps::before {
  content: "";

  position: absolute;

  top: 16px;
  right: 7%;
  left: 7%;

  height: 1px;

  background: #dbe5e8;

  z-index: 0;
}

.workspace-progress-step {
  position: relative;
  z-index: 1;

  display: flex;
  flex-direction: column;
  align-items: center;

  gap: 7px;

  text-align: center;
}

.workspace-step-circle {
  width: 32px;
  height: 32px;

  display: grid;
  place-items: center;

  border-radius: 50%;

  color: #6f8089;

  background: #ffffff;

  border: 1px solid #cfdcdf;

  font-size: 11px;
  font-weight: 600;
}

.workspace-progress-step > span:last-child {
  color: #60747e;

  font-size: 10px;
}

.workspace-progress-step.completed
.workspace-step-circle {
  color: #ffffff;

  background: var(--teal-dark);

  border-color: var(--teal-dark);
}

.workspace-progress-step.active
.workspace-step-circle {
  color: #ffffff;

  background: var(--navy);

  border-color: var(--navy);

  box-shadow:
    0 0 0 5px
    rgba(64, 188, 169, 0.12);
}

.workspace-progress-step.active
> span:last-child {
  color: var(--navy);

  font-weight: 700;
}


/* =========================================================
   04. Builder Layout
========================================================= */

.workspace-builder-section {
  padding: 0 0 18px;
}

.workspace-builder-grid {
  display: grid;
  grid-template-columns:
    370px
    minmax(0, 1fr);

  gap: 16px;

  align-items: start;
}


/* =========================================================
   05. Slides Library Panel
========================================================= */

.workspace-library-panel {
  border: 1px solid #e0e8eb;
  border-radius: 10px;

  background: #ffffff;

  overflow: hidden;

  box-shadow:
    0 4px 16px
    rgba(0, 52, 75, 0.035);
}

.workspace-panel-header {
  min-height: 58px;

  padding: 0 18px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  border-bottom: 1px solid #edf1f2;
}

.workspace-panel-header h2 {
  margin: 0;

  color: var(--navy);

  font-size: 18px;
}

.workspace-panel-header button {
  width: 30px;
  height: 30px;

  border: 0;

  color: var(--navy);

  background: transparent;

  font-size: 18px;
}

.workspace-add-types {
  padding: 14px;

  display: grid;
  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  gap: 8px;
}

.workspace-add-type {
  min-height: 82px;

  padding: 10px 6px;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  gap: 6px;

  border: 1px solid #dce6e9;
  border-radius: 7px;

  color: var(--navy);

  background: #ffffff;

  font-size: 10px;
}

.workspace-add-type.active {
  color: #ffffff;

  border-color: var(--teal-dark);

  background:
    linear-gradient(
      135deg,
      #159a8a,
      #08786d
    );
}

.workspace-add-icon {
  font-size: 21px;
}

.workspace-library-search {
  margin: 0 14px 12px;

  height: 42px;

  padding: 0 12px;

  display: flex;
  align-items: center;

  gap: 8px;

  border: 1px solid #dce5e8;
  border-radius: 6px;

  background: #fafcfc;

  color: #77909a;
}

.workspace-library-search input {
  width: 100%;

  border: 0;
  outline: 0;

  background: transparent;

  color: var(--text);

  font-size: 11px;
}

.workspace-library-filters {
  padding: 0 14px 12px;

  display: flex;
  align-items: center;

  gap: 5px;

  overflow-x: auto;
}

.workspace-library-filters button {
  min-width: max-content;

  padding: 6px 11px;

  border: 0;
  border-radius: 4px;

  color: #60747e;

  background: #f1f5f6;

  font-size: 9px;
}

.workspace-library-filters button.active {
  color: #ffffff;

  background: var(--teal-dark);
}

.workspace-library-list {
  max-height: 690px;

  overflow-y: auto;

  padding: 0 14px 14px;

  display: flex;
  flex-direction: column;

  gap: 8px;
}

.workspace-library-item {
  min-height: 80px;

  padding: 9px;

  display: grid;
  grid-template-columns:
    76px
    1fr
    auto;

  align-items: center;

  gap: 9px;

  border: 1px solid #e2e9eb;
  border-radius: 7px;

  background: #ffffff;
}

.workspace-library-item img {
  width: 76px;
  height: 53px;

  object-fit: cover;

  border-radius: 4px;

  background: #f1f5f6;
}

.workspace-library-item h3 {
  margin: 0 0 3px;

  color: var(--navy);

  font-size: 11px;
}

.workspace-library-item p {
  margin: 0;

  color: var(--muted);

  font-size: 8px;
}

.workspace-library-item button {
  min-height: 31px;

  padding: 0 9px;

  border: 0;
  border-radius: 5px;

  color: #ffffff;

  background: var(--teal-dark);

  font-size: 9px;
}


/* =========================================================
   06. Presentation Editor
========================================================= */

.workspace-editor-panel {
  min-width: 0;

  border: 1px solid #e0e8eb;
  border-radius: 10px;

  background: #ffffff;

  overflow: hidden;

  box-shadow:
    0 4px 16px
    rgba(0, 52, 75, 0.035);
}

.workspace-editor-toolbar {
  min-height: 58px;

  padding: 0 14px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 18px;

  border-bottom: 1px solid #e7edef;
}

.workspace-edit-content {
  min-height: 36px;

  padding: 0 14px;

  border: 1px solid #d4dfe2;
  border-radius: 5px;

  color: var(--navy);

  background: #ffffff;

  font-size: 10px;
  font-weight: 600;
}

.workspace-editor-tools {
  display: flex;
  align-items: center;

  gap: 5px;
}

.workspace-editor-tools button {
  min-width: 32px;
  height: 32px;

  padding: 0 8px;

  display: grid;
  place-items: center;

  border: 1px solid #d8e2e5;
  border-radius: 5px;

  color: #526a75;

  background: #ffffff;

  font-size: 11px;
}

.workspace-editor-tools span {
  min-width: 44px;

  text-align: center;

  color: var(--navy);

  font-size: 11px;
  font-weight: 600;
}


/* =========================================================
   07. Slide Stage
========================================================= */

.workspace-slide-stage {
  position: relative;

  min-height: 510px;

  padding: 34px 46px;

  display: flex;
  align-items: center;
  justify-content: center;

  background:
    linear-gradient(
      135deg,
      #f1f5f6,
      #e9eff1
    );
}

.workspace-slide-preview {
  width: min(100%, 820px);

  aspect-ratio: 16 / 9;

  overflow: hidden;

  border-radius: 3px;

  background: #ffffff;

  box-shadow:
    0 12px 32px
    rgba(0, 52, 75, 0.13);
}

.workspace-slide-preview img {
  width: 100%;
  height: 100%;

  object-fit: cover;
}

.workspace-slide-arrow {
  position: absolute;

  top: 50%;

  width: 38px;
  height: 38px;

  display: grid;
  place-items: center;

  transform: translateY(-50%);

  border: 1px solid #d0dcdf;
  border-radius: 50%;

  color: var(--navy);

  background: #ffffff;

  box-shadow:
    0 4px 12px
    rgba(0, 52, 75, 0.08);

  font-size: 22px;
}

.workspace-slide-arrow-right {
  right: 12px;
}

.workspace-slide-arrow-left {
  left: 12px;
}


/* =========================================================
   08. Slide Thumbnails
========================================================= */

.workspace-slide-thumbnails {
  padding: 12px;

  display: grid;
  grid-template-columns:
    repeat(7, minmax(80px, 1fr));

  gap: 8px;

  border-top: 1px solid #e3eaec;

  background: #f8fafb;

  overflow-x: auto;
}

.workspace-thumbnail,
.workspace-add-slide {
  position: relative;

  min-width: 90px;
  min-height: 92px;

  padding: 5px;

  border: 1px solid #dbe4e7;
  border-radius: 5px;

  background: #ffffff;
}

.workspace-thumbnail.active {
  border: 2px solid var(--navy);

  box-shadow:
    0 0 0 2px
    rgba(64, 188, 169, 0.10);
}

.workspace-thumbnail > span {
  position: absolute;

  top: 4px;
  right: 5px;

  z-index: 2;

  font-size: 8px;
}

.workspace-thumbnail img {
  width: 100%;
  height: 57px;

  object-fit: cover;

  border-radius: 2px;
}

.workspace-thumbnail strong {
  display: block;

  margin-top: 4px;

  color: var(--navy);

  font-size: 8px;
}

.workspace-add-slide {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  gap: 4px;

  color: #60747e;

  font-size: 8px;
}

.workspace-add-slide span {
  color: var(--navy);

  font-size: 24px;
}


/* =========================================================
   09. AI Suggestions
========================================================= */

.workspace-ai-section {
  padding: 0 0 18px;
}

.workspace-ai-panel {
  padding: 24px;

  border: 1px solid #dbe8e7;
  border-radius: 10px;

  background:
    linear-gradient(
      135deg,
      #ffffff 0%,
      #f0fbf8 100%
    );
}

.workspace-ai-header {
  margin-bottom: 18px;
}

.workspace-ai-header > div {
  display: grid;
  grid-template-columns: auto 1fr;

  align-items: center;

  column-gap: 10px;
}

.workspace-ai-kicker {
  grid-row: 1 / 3;

  color: var(--teal-dark);

  font-size: 25px;
}

.workspace-ai-header h2 {
  margin: 0;

  color: var(--navy);

  font-size: 20px;
}

.workspace-ai-header p {
  margin: 3px 0 0;

  color: var(--muted);

  font-size: 10px;
}

.workspace-ai-grid {
  display: grid;
  grid-template-columns:
    repeat(4, minmax(0, 1fr));

  gap: 12px;
}

.workspace-ai-card {
  padding: 10px;

  border: 1px solid #dfe8ea;
  border-radius: 7px;

  background: #ffffff;
}

.workspace-ai-card img {
  width: 100%;

  aspect-ratio: 16 / 9;

  object-fit: cover;

  border-radius: 4px;
}

.workspace-ai-card h3 {
  margin: 8px 0;

  color: var(--navy);

  font-size: 11px;
}

.workspace-ai-card button {
  width: 100%;
  min-height: 32px;

  border: 0;
  border-radius: 5px;

  color: var(--teal-dark);

  background: #e9f8f5;

  font-size: 9px;
  font-weight: 600;
}


/* =========================================================
   10. Suggested Templates
========================================================= */

.workspace-templates-section {
  padding: 24px 0;

  background: #ffffff;
}

.workspace-section-title {
  margin-bottom: 17px;

  display: flex;
  align-items: center;
  justify-content: space-between;
}

.workspace-section-title h2 {
  margin: 0;

  color: var(--navy);

  font-size: 20px;
}

.workspace-section-title > button,
.workspace-section-title > a {
  border: 0;

  color: var(--teal-dark);

  background: transparent;

  font-size: 10px;
  font-weight: 600;
}

.workspace-templates-grid {
  display: grid;
  grid-template-columns:
    repeat(4, minmax(0, 1fr));

  gap: 14px;
}

.workspace-template-card {
  padding: 10px;

  border: 1px solid #dfe7e9;
  border-radius: 8px;

  background: #ffffff;

  box-shadow:
    0 4px 14px
    rgba(0, 52, 75, 0.035);
}

.workspace-template-card > img {
  width: 100%;

  aspect-ratio: 16 / 9;

  object-fit: cover;

  border-radius: 5px;

  background: #f0f4f5;
}

.workspace-template-card h3 {
  margin: 9px 0 2px;

  color: var(--navy);

  font-size: 13px;
}

.workspace-template-card p {
  margin: 0 0 10px;

  color: var(--muted);

  font-size: 9px;
}

.workspace-template-card > div {
  display: grid;
  grid-template-columns:
    36px
    1fr;

  gap: 6px;
}

.workspace-template-card button {
  min-height: 34px;

  border: 1px solid #cfe2df;
  border-radius: 5px;

  color: var(--teal-dark);

  background: #eefaf7;

  font-size: 9px;
}


/* =========================================================
   11. Recent Presentations
========================================================= */

.workspace-recent-section {
  padding: 24px 0;

  background: #f7f9fa;
}

.workspace-recent-grid {
  display: grid;
  grid-template-columns:
    repeat(4, minmax(0, 1fr));

  gap: 12px;
}

.workspace-recent-card {
  position: relative;

  min-height: 105px;

  padding: 10px;

  display: grid;
  grid-template-columns:
    70px
    1fr
    auto;

  align-items: center;

  gap: 10px;

  border: 1px solid #dfe7e9;
  border-radius: 7px;

  background: #ffffff;
}

.workspace-recent-card img {
  width: 70px;
  height: 74px;

  object-fit: cover;

  border-radius: 5px;
}

.workspace-recent-card h3 {
  margin: 0 0 4px;

  color: var(--navy);

  font-size: 11px;
}

.workspace-recent-card div span {
  color: var(--muted);

  font-size: 8px;
}

.workspace-status {
  position: absolute;

  right: 90px;
  bottom: 9px;

  padding: 3px 8px;

  border-radius: 999px;

  font-size: 8px;
}

.workspace-status.completed {
  color: #157a68;

  background: #ddf7ef;
}

.workspace-status.progress {
  color: #2765b2;

  background: #e8f1ff;
}

.workspace-recent-card > button {
  align-self: start;

  border: 0;

  color: var(--navy);

  background: transparent;

  font-size: 18px;
}


/* =========================================================
   12. Help & Support
========================================================= */

.workspace-support-section {
  padding: 28px 0 38px;

  background: #ffffff;
}

.workspace-support-section > .container > h2 {
  margin: 0 0 16px;

  color: var(--navy);

  font-size: 20px;
}

.workspace-support-grid {
  display: grid;
  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  gap: 14px;
}

.workspace-support-grid article {
  min-height: 110px;

  padding: 17px;

  display: grid;
  grid-template-columns:
    auto
    1fr;

  align-items: center;

  gap: 13px;

  border: 1px solid #e0e8ea;
  border-radius: 8px;

  background: #fafdfe;
}

.workspace-support-grid article > span {
  width: 48px;
  height: 48px;

  display: grid;
  place-items: center;

  border-radius: 10px;

  color: var(--navy);

  background: #eef6ff;

  font-size: 21px;
}

.workspace-support-grid h3 {
  margin: 0 0 3px;

  color: var(--navy);

  font-size: 13px;
}

.workspace-support-grid p {
  margin: 0 0 6px;

  color: var(--muted);

  font-size: 9px;
}

.workspace-support-grid a {
  color: var(--teal-dark);

  font-size: 9px;
  font-weight: 600;
}


/* =========================================================
   13. Workspace Responsive - Laptop
========================================================= */

@media (max-width: 1200px) {

  .workspace-hero-container {
    width:
      min(
        calc(100% - 48px),
        1160px
      );
  }

  .workspace-builder-grid {
    grid-template-columns:
      320px
      minmax(0, 1fr);
  }

  .workspace-slide-stage {
    min-height: 430px;
  }

  .workspace-library-item {
    grid-template-columns:
      65px
      1fr;
  }

  .workspace-library-item img {
    width: 65px;
  }

  .workspace-library-item button {
    grid-column: 1 / -1;

    width: 100%;
  }

}


/* =========================================================
   14. Workspace Responsive - Tablet
========================================================= */

@media (max-width: 900px) {

  .workspace-hero {
    min-height: 205px;
  }

  .workspace-hero-container {
    width: calc(100% - 36px);
  }

  .workspace-hero-content h1 {
    font-size: 30px;
  }

  .workspace-toolbar {
    flex-direction: column;
    align-items: stretch;

    padding-block: 12px;
  }

  .workspace-toolbar-title {
    justify-content: space-between;
  }

  .workspace-toolbar-actions {
    justify-content: flex-end;
  }

  .workspace-progress-panel {
    grid-template-columns: 1fr;
  }

  .workspace-progress-total,
  .workspace-progress-steps {
    grid-column: 1;
    grid-row: auto;
  }

  .workspace-progress-total {
    flex-direction: row;

    justify-self: start;
  }

  .workspace-progress-steps {
    overflow-x: auto;

    padding-bottom: 8px;
  }

  .workspace-builder-grid {
    grid-template-columns: 1fr;
  }

  .workspace-library-panel {
    order: 2;
  }

  .workspace-editor-panel {
    order: 1;
  }

  .workspace-ai-grid,
  .workspace-templates-grid,
  .workspace-recent-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

}


/* =========================================================
   15. Workspace Responsive - Mobile
========================================================= */

@media (max-width: 600px) {

  .workspace-hero {
    min-height: 190px;
  }

  .workspace-hero-container {
    width: calc(100% - 28px);
  }

  .workspace-hero-content h1 {
    font-size: 26px;
  }

  .workspace-hero-content p {
    font-size: 12px;
  }

  .workspace-toolbar-title {
    flex-direction: column;
    align-items: flex-start;

    gap: 10px;
  }

  .workspace-presentation-name {
    flex-wrap: wrap;
  }

  .workspace-presentation-name h2 {
    font-size: 17px;
  }

  .workspace-toolbar-actions {
    display: grid;
    grid-template-columns:
      42px
      1fr
      1fr;

    width: 100%;
  }

  .workspace-export-button {
    grid-column: 1 / -1;
  }

  .workspace-progress-steps {
    min-width: 650px;
  }

  .workspace-add-types {
    grid-template-columns: 1fr;
  }

  .workspace-slide-stage {
    min-height: 270px;

    padding:
      20px
      34px;
  }

  .workspace-slide-arrow {
    width: 30px;
    height: 30px;
  }

  .workspace-slide-thumbnails {
    grid-template-columns:
      repeat(7, 90px);
  }

  .workspace-ai-grid,
  .workspace-templates-grid,
  .workspace-recent-grid,
  .workspace-support-grid {
    grid-template-columns: 1fr;
  }

  .workspace-ai-panel {
    padding: 18px;
  }

}
/* =========================================================
   18. Department Page
   إدارة المشاريع والتطوير المستمر
========================================================= */

.department-page {
  background: #ffffff;
}


/* =========================================================
   01. Department Hero
========================================================= */

.department-main-hero {
  position: relative;
  min-height: 360px;

  display: flex;
  align-items: center;

  background:
    url("../assets/images/departments/projects-development.jpg")
    center center / cover
    no-repeat;

  overflow: hidden;
}

.department-main-hero-overlay {
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      90deg,
      rgba(0, 52, 75, 0.10) 0%,
      rgba(0, 52, 75, 0.42) 48%,
      rgba(0, 52, 75, 0.92) 100%
    );
}

.department-main-hero-container {
  position: relative;
  z-index: 2;

  min-height: 360px;

  display: flex;
  align-items: center;
}

.department-main-hero-content {
  width: min(700px, 100%);
  margin-right: auto;

  color: #ffffff;
}

.department-breadcrumb {
  margin-bottom: 18px;

  display: flex;
  align-items: center;
  gap: 8px;

  color: rgba(255, 255, 255, 0.78);

  font-size: 11px;
}

.department-breadcrumb a:hover {
  color: #ffffff;
}

.department-hero-agency {
  display: block;

  margin-bottom: 6px;

  color: #68d4c3;

  font-size: 12px;
  font-weight: 600;
}

.department-main-hero-content h1 {
  margin: 0 0 12px;

  color: #ffffff;

  font-size: 38px;
  line-height: 1.35;
  font-weight: 700;
}

.department-main-hero-content p {
  max-width: 670px;

  margin: 0;

  color: rgba(255, 255, 255, 0.92);

  font-size: 14px;
  line-height: 1.9;
}


/* Hero Buttons */

.department-hero-buttons {
  margin-top: 24px;

  display: flex;
  align-items: stretch;

  gap: 10px;

  flex-wrap: wrap;
}

.department-manager-button,
.department-library-button,
.department-create-button {
  min-height: 52px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  gap: 10px;

  border-radius: 6px;

  font-size: 12px;
  font-weight: 600;

  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    background 0.18s ease;
}

.department-manager-button {
  min-width: 150px;

  padding: 0 14px;

  color: #ffffff;

  border: 1px solid rgba(255, 255, 255, 0.35);

  background: rgba(0, 52, 75, 0.48);

  backdrop-filter: blur(6px);
}

.department-manager-icon {
  width: 30px;
  height: 30px;

  display: grid;
  place-items: center;

  border-radius: 6px;

  background: rgba(255, 255, 255, 0.11);

  font-size: 15px;
}

.department-manager-text {
  display: flex;
  flex-direction: column;

  line-height: 1.2;
}

.department-manager-text small {
  margin-top: 3px;

  color: rgba(255, 255, 255, 0.66);

  font-size: 8px;
}

.department-library-button {
  min-width: 190px;

  padding: 0 18px;

  color: var(--navy);

  border: 1px solid rgba(255, 255, 255, 0.7);

  background: #ffffff;
}

.department-create-button {
  min-width: 170px;

  padding: 0 20px;

  color: #ffffff;

  border: 1px solid rgba(255, 255, 255, 0.78);

  background: transparent;
}

.department-manager-button:hover,
.department-library-button:hover,
.department-create-button:hover {
  transform: translateY(-2px);
}


/* =========================================================
   02. About Department
========================================================= */

.department-about-section {
  padding: 42px 0;

  background: #ffffff;
}

.department-about-grid {
  display: grid;
  grid-template-columns: 1.15fr 1.85fr;

  align-items: stretch;

  gap: 40px;
}

.department-about-content {
  padding-top: 5px;
}

.department-heading {
  margin-bottom: 14px;

  display: flex;
  align-items: flex-start;

  gap: 10px;
}

.department-heading-icon {
  color: var(--teal-dark);

  font-size: 24px;
}

.department-heading-kicker {
  display: block;

  margin-bottom: 2px;

  color: var(--teal-dark);

  font-size: 11px;
  font-weight: 600;
}

.department-heading h2 {
  margin: 0;

  color: var(--navy);

  font-size: 24px;
}

.department-about-content > p {
  margin: 0 0 20px;

  color: var(--muted);

  font-size: 12px;
  line-height: 2;
}

.department-more-about {
  min-height: 38px;

  padding: 0 15px;

  display: inline-flex;
  align-items: center;

  gap: 8px;

  border: 1px solid #d7e1e4;
  border-radius: 5px;

  color: var(--navy);

  font-size: 10px;
  font-weight: 600;
}

.department-pillars {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));

  gap: 12px;
}

.department-pillar {
  min-height: 155px;

  padding: 18px 14px;

  text-align: center;

  border: 1px solid #e1e9eb;
  border-radius: 8px;

  background: #fbfdfd;
}

.department-pillar-icon {
  width: 45px;
  height: 45px;

  margin: 0 auto 10px;

  display: grid;
  place-items: center;

  border-radius: 50%;

  color: var(--teal-dark);

  background: #e9f8f5;

  font-size: 20px;
}

.department-pillar h3 {
  margin: 0 0 6px;

  color: var(--navy);

  font-size: 12px;
  line-height: 1.55;
}

.department-pillar p {
  margin: 0;

  color: var(--muted);

  font-size: 9px;
  line-height: 1.7;
}


/* =========================================================
   03. Shared Section Titles
========================================================= */

.department-section-title {
  margin-bottom: 16px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 20px;
}

.department-title-content {
  display: flex;
  align-items: center;

  gap: 8px;
}

.department-title-icon {
  color: var(--teal-dark);

  font-size: 19px;
}

.department-section-title h2 {
  margin: 0;

  color: var(--navy);

  font-size: 19px;
  font-weight: 700;
}

.department-section-title.compact h2 {
  font-size: 16px;
}

.department-view-all {
  color: #0a70c9;

  font-size: 10px;
  font-weight: 600;
}


/* =========================================================
   04. Department Statistics
========================================================= */

.department-content-stats {
  padding: 24px 0 30px;

  background: #f8fafb;
}

.department-content-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));

  gap: 14px;
}

.department-content-stat {
  min-height: 96px;

  padding: 16px;

  display: grid;
  grid-template-columns: auto 1fr;

  align-items: center;

  column-gap: 13px;

  border: 1px solid #e1e9eb;
  border-radius: 8px;

  background: #ffffff;
}

.department-content-stat-icon {
  width: 48px;
  height: 48px;

  grid-row: 1 / 3;

  display: grid;
  place-items: center;

  border-radius: 10px;

  font-size: 21px;
}

.department-content-stat-icon.teal {
  color: #168a7c;
  background: #e7f8f4;
}

.department-content-stat-icon.blue {
  color: #2765b4;
  background: #e9f2ff;
}

.department-content-stat-icon.green {
  color: #178b77;
  background: #e7f8f2;
}

.department-content-stat-icon.gold {
  color: #c9941a;
  background: #fff6df;
}

.department-content-stat strong {
  display: block;

  color: var(--navy);

  font-size: 23px;
  line-height: 1.1;
}

.department-content-stat span {
  color: var(--navy);

  font-size: 10px;
  font-weight: 600;
}


/* =========================================================
   05. Featured Presentations
========================================================= */

.department-featured-section {
  position: relative;

  padding: 28px 0;

  background: #ffffff;
}

.department-featured-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));

  gap: 14px;
}

.department-presentation-card {
  overflow: hidden;

  border: 1px solid #dfe7e9;
  border-radius: 7px;

  background: #ffffff;
}

.department-presentation-card img {
  width: 100%;

  aspect-ratio: 16 / 8.4;

  object-fit: cover;

  background: #eef3f4;
}

.department-presentation-card-footer {
  min-height: 48px;

  padding: 9px 11px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 10px;
}

.department-presentation-card-footer strong {
  color: var(--navy);

  font-size: 10px;
}

.department-presentation-card-footer span {
  color: var(--muted);

  font-size: 8px;
}

.department-slider-arrow {
  position: absolute;

  top: 57%;

  width: 30px;
  height: 30px;

  display: grid;
  place-items: center;

  transform: translateY(-50%);

  border: 1px solid #d8e1e4;
  border-radius: 50%;

  color: var(--navy);

  background: #ffffff;

  font-size: 17px;

  box-shadow:
    0 3px 10px
    rgba(0, 52, 75, 0.08);
}

.department-slider-next {
  right: 8px;
}

.department-slider-prev {
  left: 8px;
}


/* =========================================================
   06. Department Templates
========================================================= */

.department-templates-section {
  padding: 26px 0;

  background: #f8fafb;
}

.department-templates-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));

  gap: 14px;
}

.department-template-card {
  overflow: hidden;

  border: 1px solid #dfe7e9;
  border-radius: 7px;

  background: #ffffff;
}

.department-template-card > img {
  width: 100%;

  aspect-ratio: 16 / 7.5;

  object-fit: cover;

  background: #eff4f5;
}

.department-template-card > div {
  min-height: 48px;

  padding: 9px 11px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 10px;
}

.department-template-card strong {
  color: var(--navy);

  font-size: 10px;
}

.department-template-card span {
  color: var(--muted);

  font-size: 8px;
}


/* =========================================================
   07. Popular Slides
========================================================= */

.department-popular-slides-section {
  padding: 26px 0;

  background: #ffffff;
}

.department-popular-slides-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));

  gap: 14px;
}

.department-popular-slide {
  overflow: hidden;

  border: 1px solid #dfe7e9;
  border-radius: 7px;

  background: #ffffff;
}

.department-popular-slide img {
  width: 100%;

  aspect-ratio: 16 / 8.7;

  object-fit: cover;

  background: #eff4f5;
}

.department-popular-slide strong {
  display: block;

  padding: 9px 10px;

  color: var(--navy);

  font-size: 10px;
  text-align: center;
}


/* =========================================================
   08. Bottom Dashboard
========================================================= */

.department-dashboard-section {
  padding: 28px 0 38px;

  background: #f8fafb;
}

.department-dashboard-grid {
  display: grid;
  grid-template-columns:
    1fr
    0.75fr
    1.25fr;

  gap: 16px;

  align-items: stretch;
}

.department-news-panel,
.department-quick-actions-panel,
.department-latest-panel {
  padding: 16px;

  border: 1px solid #e0e8ea;
  border-radius: 8px;

  background: #ffffff;
}


/* =========================================================
   09. News
========================================================= */

.department-news-list {
  display: flex;
  flex-direction: column;

  gap: 10px;
}

.department-news-item {
  padding-bottom: 10px;

  display: grid;
  grid-template-columns: 100px 1fr;

  gap: 10px;

  border-bottom: 1px solid #edf1f2;
}

.department-news-item img {
  width: 100px;
  height: 70px;

  object-fit: cover;

  border-radius: 5px;

  background: #eef3f4;
}

.department-news-tag {
  margin-left: 5px;

  padding: 2px 7px;

  border-radius: 999px;

  font-size: 7px;
}

.department-news-tag.success {
  color: #167963;
  background: #dcf6ee;
}

.department-news-tag.update {
  color: #2665ad;
  background: #e6f0ff;
}

.department-news-item time {
  color: var(--muted);

  font-size: 7px;
}

.department-news-item h3 {
  margin: 4px 0;

  color: var(--navy);

  font-size: 10px;
}

.department-news-item p {
  margin: 0;

  color: var(--muted);

  font-size: 8px;
  line-height: 1.6;
}


/* Guide */

.department-guide-card {
  margin-top: 12px;

  padding: 12px;

  display: grid;
  grid-template-columns:
    auto
    1fr
    auto;

  align-items: center;

  gap: 10px;

  border: 1px solid #f0dfbd;
  border-radius: 7px;

  background: #fffaf0;
}

.department-guide-icon {
  width: 40px;
  height: 40px;

  display: grid;
  place-items: center;

  border-radius: 9px;

  color: #c98f19;
  background: #fff0d4;

  font-size: 18px;
}

.department-guide-card h3 {
  margin: 0 0 3px;

  color: var(--navy);

  font-size: 11px;
}

.department-guide-card p {
  margin: 0;

  color: var(--muted);

  font-size: 8px;
}

.department-guide-card > a {
  min-height: 31px;

  padding: 0 10px;

  display: inline-flex;
  align-items: center;

  border: 1px solid #e6c98e;
  border-radius: 5px;

  color: var(--navy);

  font-size: 8px;
}


/* =========================================================
   10. Quick Actions
========================================================= */

.department-quick-actions-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 8px;
}

.department-quick-action {
  min-height: 118px;

  padding: 13px 10px;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  gap: 5px;

  text-align: center;

  border: 1px solid #e1e9eb;
  border-radius: 7px;
}

.department-quick-action.ai {
  background: #eef7ff;
}

.department-quick-action.create {
  background: #eafaf6;
}

.department-quick-action.slides {
  background: #f7f9ff;
}

.department-quick-action.templates {
  background: #f8fafd;
}

.department-quick-icon {
  font-size: 24px;

  color: var(--teal-dark);
}

.department-quick-action strong {
  color: var(--navy);

  font-size: 10px;
}

.department-quick-action small {
  color: var(--muted);

  font-size: 7px;
  line-height: 1.5;
}


/* =========================================================
   11. Latest Presentations Table
========================================================= */

.department-latest-table {
  overflow: hidden;

  border: 1px solid #e1e8ea;
  border-radius: 6px;
}

.department-table-head,
.department-table-row {
  display: grid;
  grid-template-columns:
    1.6fr
    0.8fr
    0.8fr
    0.65fr
    28px;

  align-items: center;

  gap: 8px;
}

.department-table-head {
  min-height: 34px;

  padding: 0 10px;

  background: #f2f6f7;

  color: #637781;

  font-size: 8px;
  font-weight: 600;
}

.department-table-row {
  min-height: 56px;

  padding: 7px 10px;

  border-top: 1px solid #edf1f2;

  color: var(--navy);

  font-size: 8px;
}

.department-table-title {
  display: flex;
  align-items: center;

  gap: 8px;
}

.department-table-title img {
  width: 42px;
  height: 31px;

  object-fit: cover;

  border-radius: 3px;
}

.department-table-title strong {
  font-size: 8px;
}

.department-table-status {
  width: max-content;

  padding: 3px 7px;

  border-radius: 999px;

  font-size: 7px;
}

.department-table-status.available {
  color: #14765f;

  background: #daf5eb;
}

.department-table-row button {
  border: 0;

  color: var(--navy);

  background: transparent;

  font-size: 15px;
}


/* =========================================================
   12. Department Responsive
========================================================= */

@media (max-width: 1200px) {

  .department-main-hero-content h1 {
    font-size: 34px;
  }

  .department-about-grid {
    grid-template-columns: 1fr;
  }

  .department-pillars {
    grid-template-columns:
      repeat(4, minmax(0, 1fr));
  }

  .department-dashboard-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .department-latest-panel {
    grid-column: 1 / -1;
  }

}


@media (max-width: 900px) {

  .department-main-hero {
    min-height: 390px;
  }

  .department-main-hero-container {
    min-height: 390px;
  }

  .department-main-hero-content h1 {
    font-size: 29px;
  }

  .department-hero-buttons {
    align-items: stretch;
  }

  .department-pillars,
  .department-content-stats-grid,
  .department-featured-grid,
  .department-templates-grid,
  .department-popular-slides-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .department-dashboard-grid {
    grid-template-columns: 1fr;
  }

  .department-latest-panel {
    grid-column: auto;
  }

}


@media (max-width: 600px) {

  .department-main-hero {
    min-height: 450px;

    background-position: 40% center;
  }

  .department-main-hero-container {
    min-height: 450px;
  }

  .department-breadcrumb {
    flex-wrap: wrap;

    font-size: 9px;
  }

  .department-main-hero-content h1 {
    font-size: 26px;
  }

  .department-main-hero-content p {
    font-size: 12px;
  }

  .department-hero-buttons {
    display: grid;
    grid-template-columns: 1fr;
  }

  .department-manager-button,
  .department-library-button,
  .department-create-button {
    width: 100%;
  }

  .department-about-section {
    padding: 32px 0;
  }

  .department-pillars,
  .department-content-stats-grid,
  .department-featured-grid,
  .department-templates-grid,
  .department-popular-slides-grid,
  .department-quick-actions-grid {
    grid-template-columns: 1fr;
  }

  .department-section-title {
    align-items: flex-start;
  }

  .department-section-title h2 {
    font-size: 16px;
  }

  .department-news-item {
    grid-template-columns: 80px 1fr;
  }

  .department-news-item img {
    width: 80px;
    height: 60px;
  }

  .department-guide-card {
    grid-template-columns: auto 1fr;
  }

  .department-guide-card > a {
    grid-column: 1 / -1;

    width: 100%;

    justify-content: center;
  }

  .department-latest-table {
    overflow-x: auto;
  }

  .department-table-head,
  .department-table-row {
    min-width: 600px;
  }

}
/* =========================================================
   19. Manager Dashboard
   مساحة مدير الإدارة
========================================================= */

.manager-page {
  background: #f6f9fa;
}


/* =========================================================
   01. Manager Hero
========================================================= */

.manager-hero {
  position: relative;

  min-height: 255px;

  display: flex;
  align-items: center;

  background:
    url("../assets/images/departments/projects-development.jpg")
    center center / cover
    no-repeat;

  overflow: hidden;
}

.manager-hero-overlay {
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      90deg,
      rgba(0, 52, 75, 0.08) 0%,
      rgba(0, 52, 75, 0.36) 46%,
      rgba(0, 52, 75, 0.94) 100%
    );
}

.manager-hero-container {
  position: relative;
  z-index: 2;

  min-height: 255px;

  display: flex;
  align-items: center;
}

.manager-hero-content {
  width: min(690px, 100%);

  margin-right: auto;

  color: #ffffff;
}

.manager-breadcrumb {
  margin-bottom: 14px;

  display: flex;
  align-items: center;

  gap: 8px;

  color: rgba(255, 255, 255, 0.78);

  font-size: 10px;
}

.manager-breadcrumb a:hover {
  color: #ffffff;
}

.manager-hero-kicker {
  display: block;

  margin-bottom: 5px;

  color: #68d4c3;

  font-size: 11px;
  font-weight: 600;
}

.manager-hero-content h1 {
  margin: 0 0 9px;

  color: #ffffff;

  font-size: 34px;
  line-height: 1.3;

  font-weight: 700;
}

.manager-hero-content p {
  max-width: 590px;

  margin: 0;

  color: rgba(255, 255, 255, 0.92);

  font-size: 13px;
  line-height: 1.9;
}


/* =========================================================
   02. Statistics
========================================================= */

.manager-stats-section {
  padding: 18px 0;
}

.manager-stats-grid {
  display: grid;
  grid-template-columns:
    repeat(4, minmax(0, 1fr));

  gap: 14px;
}

.manager-stat-card {
  position: relative;

  min-height: 125px;

  padding: 18px;

  display: grid;
  grid-template-columns: auto 1fr;

  align-items: center;

  column-gap: 14px;

  border: 1px solid #dfe8eb;
  border-radius: 8px;

  background: #ffffff;

  box-shadow:
    0 4px 14px
    rgba(0, 52, 75, 0.025);
}

.manager-stat-icon {
  width: 48px;
  height: 48px;

  display: grid;
  place-items: center;

  border-radius: 11px;

  font-size: 22px;
}

.manager-stat-info strong {
  display: block;

  margin-bottom: 2px;

  color: var(--navy);

  font-size: 23px;
  line-height: 1;
}

.manager-stat-info span {
  color: var(--navy);

  font-size: 10px;
  font-weight: 600;
}

.manager-stat-card > a {
  grid-column: 1 / -1;

  margin-top: 12px;
  padding-top: 10px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  border-top: 1px solid #edf1f2;

  color: #54707d;

  font-size: 9px;
}

.manager-stat-card > a span {
  color: var(--navy);

  font-size: 15px;
}


/* Pending */

.manager-stat-pending {
  background:
    linear-gradient(
      135deg,
      #ffffff,
      #fff9ef
    );
}

.manager-stat-pending
.manager-stat-icon {
  color: #d6811a;
  background: #fff1dd;
}


/* Team */

.manager-stat-team {
  background:
    linear-gradient(
      135deg,
      #ffffff,
      #eef6ff
    );
}

.manager-stat-team
.manager-stat-icon {
  color: #2a69bd;
  background: #e7f0ff;
}


/* Completed */

.manager-stat-completed {
  background:
    linear-gradient(
      135deg,
      #ffffff,
      #effaf6
    );
}

.manager-stat-completed
.manager-stat-icon {
  color: #158875;
  background: #dff6ef;
}


/* Library */

.manager-stat-library {
  background:
    linear-gradient(
      135deg,
      #ffffff,
      #f3f6fb
    );
}

.manager-stat-library
.manager-stat-icon {
  color: #244b7e;
  background: #eaf0f8;
}


/* =========================================================
   03. Shared Panel
========================================================= */

.manager-panel {
  padding: 18px;

  border: 1px solid #dfe8eb;
  border-radius: 8px;

  background: #ffffff;

  box-shadow:
    0 4px 16px
    rgba(0, 52, 75, 0.025);
}

.manager-section-header {
  margin-bottom: 15px;

  display: flex;
  align-items: flex-start;
  justify-content: space-between;

  gap: 20px;
}

.manager-section-title {
  display: flex;
  align-items: flex-start;

  gap: 10px;
}

.manager-section-icon {
  color: var(--teal-dark);

  font-size: 22px;
  line-height: 1;
}

.manager-section-title h2 {
  margin: 0 0 3px;

  color: var(--navy);

  font-size: 20px;
  font-weight: 700;
}

.manager-section-title p {
  margin: 0;

  color: var(--muted);

  font-size: 9px;
}

.manager-view-all {
  min-height: 34px;

  padding: 0 12px;

  display: inline-flex;
  align-items: center;

  gap: 7px;

  border: 1px solid #dce5e8;
  border-radius: 5px;

  color: #0b69be;

  background: #ffffff;

  font-size: 9px;
  font-weight: 600;
}


/* =========================================================
   04. Approvals
========================================================= */

.manager-approvals-section {
  padding: 0 0 18px;
}

.manager-approval-table {
  overflow: hidden;

  border: 1px solid #e1e8ea;
  border-radius: 6px;
}

.manager-approval-head,
.manager-approval-row {
  display: grid;

  grid-template-columns:
    1.7fr
    0.85fr
    0.65fr
    0.82fr
    0.95fr
    1.3fr;

  align-items: center;

  gap: 8px;
}

.manager-approval-head {
  min-height: 39px;

  padding: 0 12px;

  background: #f3f6f7;

  color: #627782;

  font-size: 8px;
  font-weight: 600;
}

.manager-approval-row {
  min-height: 62px;

  padding: 7px 12px;

  border-top: 1px solid #edf1f2;

  color: var(--navy);

  font-size: 9px;
}

.manager-approval-row:hover {
  background: #fafcfc;
}

.manager-approval-title {
  display: flex;
  align-items: center;

  gap: 9px;
}

.manager-approval-title img {
  width: 52px;
  height: 38px;

  flex: 0 0 52px;

  object-fit: cover;

  border-radius: 4px;

  background: #edf3f4;
}

.manager-approval-title strong {
  color: var(--navy);

  font-size: 9px;
}


/* Type tags */

.manager-type-tag {
  width: max-content;

  padding: 4px 9px;

  border-radius: 4px;

  font-size: 8px;
}

.manager-type-tag.presentation {
  color: #2a6cbb;

  background: #e9f2ff;
}

.manager-type-tag.slide {
  color: #167e6d;

  background: #e5f7f1;
}

.manager-type-tag.template {
  color: #6354bd;

  background: #efedff;
}


/* Status */

.manager-approval-status {
  width: max-content;

  padding: 5px 9px;

  border-radius: 4px;

  font-size: 8px;
  font-weight: 600;
}

.manager-approval-status.pending {
  color: #b27216;

  background: #fff2d8;
}

.manager-approval-status.revision {
  color: #2770c4;

  background: #e8f2ff;
}


/* Action buttons */

.manager-approval-actions {
  display: flex;
  align-items: center;

  gap: 5px;
}

.manager-approval-actions button {
  min-height: 31px;

  padding: 0 9px;

  border-radius: 5px;

  font-size: 8px;
  font-weight: 600;
}

.manager-approve-btn {
  color: #ffffff;

  border: 1px solid #087b6f;

  background: #087b6f;
}

.manager-edit-btn {
  color: #b56e11;

  border: 1px solid #efcc8e;

  background: #fff4df;
}

.manager-reject-btn {
  color: #d64141;

  border: 1px solid #f4caca;

  background: #fff0f0;
}

.manager-approve-btn:hover,
.manager-edit-btn:hover,
.manager-reject-btn:hover {
  filter: brightness(0.97);
}


/* =========================================================
   05. Middle Section
========================================================= */

.manager-middle-section {
  padding: 0 0 18px;
}

.manager-middle-grid {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 16px;
}


/* =========================================================
   06. Team Table
========================================================= */

.manager-team-table {
  overflow: hidden;

  border: 1px solid #e2e9eb;
  border-radius: 6px;
}

.manager-team-head,
.manager-team-row {
  display: grid;

  grid-template-columns:
    1.2fr
    1fr
    0.65fr
    0.85fr;

  align-items: center;

  gap: 8px;
}

.manager-team-head {
  min-height: 36px;

  padding: 0 10px;

  background: #f4f7f8;

  color: #667a84;

  font-size: 8px;
  font-weight: 600;
}

.manager-team-row {
  min-height: 48px;

  padding: 6px 10px;

  border-top: 1px solid #edf1f2;

  color: #536b76;

  font-size: 8px;
}

.manager-team-user {
  display: flex;
  align-items: center;

  gap: 7px;
}

.manager-avatar {
  width: 27px;
  height: 27px;

  display: grid;
  place-items: center;

  border-radius: 50%;

  color: var(--navy);

  background: #edf4f6;

  font-size: 9px;
}

.manager-team-user strong {
  color: var(--navy);

  font-size: 8px;
}

.manager-team-row > strong {
  color: var(--navy);

  font-size: 9px;
}

.manager-outline-button {
  width: 100%;
  min-height: 38px;

  margin-top: 12px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  gap: 8px;

  border: 1px solid var(--teal-dark);
  border-radius: 5px;

  color: var(--navy);

  background: #ffffff;

  font-size: 9px;
  font-weight: 600;
}

.manager-outline-button:hover {
  color: #ffffff;

  background: var(--teal-dark);
}


/* =========================================================
   07. Library
========================================================= */

.manager-library-grid {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 8px;
}

.manager-library-card {
  overflow: hidden;

  border: 1px solid #e0e8ea;
  border-radius: 6px;

  background: #ffffff;
}

.manager-library-card img {
  width: 100%;

  aspect-ratio: 16 / 8.2;

  object-fit: cover;

  background: #edf3f4;
}

.manager-library-card strong {
  display: block;

  padding:
    7px
    9px
    1px;

  color: var(--navy);

  font-size: 9px;
}

.manager-library-card span {
  display: block;

  padding:
    0
    9px
    8px;

  color: var(--muted);

  font-size: 7px;
}


/* =========================================================
   08. Bottom Section
========================================================= */

.manager-bottom-section {
  padding: 0 0 30px;
}

.manager-bottom-grid {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 16px;
}


/* =========================================================
   09. Quick Actions
========================================================= */

.manager-quick-grid {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 9px;
}

.manager-quick-card {
  min-height: 118px;

  padding: 14px 12px;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  gap: 5px;

  text-align: center;

  border: 1px solid #e0e8ea;
  border-radius: 7px;
}

.manager-quick-card.employee {
  background: #eaf9f5;
}

.manager-quick-card.review {
  background: #eef6ff;
}

.manager-quick-card.library {
  background: #eff7fb;
}

.manager-quick-card.reports {
  background: #edf8fa;
}

.manager-quick-icon {
  color: var(--teal-dark);

  font-size: 24px;
}

.manager-quick-card strong {
  color: var(--navy);

  font-size: 10px;
}

.manager-quick-card small {
  color: var(--muted);

  font-size: 7px;
  line-height: 1.5;
}


/* =========================================================
   10. Activity
========================================================= */

.manager-activity-list {
  display: flex;
  flex-direction: column;
}

.manager-activity-item {
  min-height: 62px;

  padding: 9px 2px;

  display: grid;
  grid-template-columns:
    auto
    1fr;

  align-items: center;

  gap: 10px;

  border-bottom: 1px solid #edf1f2;
}

.manager-activity-item:last-child {
  border-bottom: 0;
}

.manager-activity-icon {
  width: 37px;
  height: 37px;

  display: grid;
  place-items: center;

  border-radius: 50%;

  font-size: 15px;
}

.manager-activity-icon.send {
  color: #2471d2;
  background: #e9f2ff;
}

.manager-activity-icon.edit {
  color: #d6811a;
  background: #fff1dd;
}

.manager-activity-icon.approved {
  color: #168977;
  background: #e0f7ef;
}

.manager-activity-icon.add {
  color: #2c72d4;
  background: #eaf2ff;
}

.manager-activity-item p {
  margin: 0 0 3px;

  color: #526a75;

  font-size: 9px;
  line-height: 1.6;
}

.manager-activity-item p strong {
  color: var(--navy);
}

.manager-activity-item time {
  color: #71858e;

  font-size: 7px;
}


/* =========================================================
   11. Responsive - Laptop
========================================================= */

@media (max-width: 1200px) {

  .manager-hero-content h1 {
    font-size: 30px;
  }

  .manager-approval-head,
  .manager-approval-row {
    grid-template-columns:
      1.5fr
      0.75fr
      0.6fr
      0.75fr
      0.85fr
      1.2fr;
  }

  .manager-approval-actions button {
    padding-inline: 7px;
  }

}


/* =========================================================
   12. Responsive - Tablet
========================================================= */

@media (max-width: 900px) {

  .manager-hero {
    min-height: 280px;
  }

  .manager-hero-container {
    min-height: 280px;
  }

  .manager-stats-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .manager-approval-table {
    overflow-x: auto;
  }

  .manager-approval-head,
  .manager-approval-row {
    min-width: 900px;
  }

  .manager-middle-grid,
  .manager-bottom-grid {
    grid-template-columns: 1fr;
  }

}


/* =========================================================
   13. Responsive - Mobile
========================================================= */

@media (max-width: 600px) {

  .manager-hero {
    min-height: 320px;

    background-position: 40% center;
  }

  .manager-hero-container {
    min-height: 320px;
  }

  .manager-breadcrumb {
    flex-wrap: wrap;

    font-size: 8px;
  }

  .manager-hero-content h1 {
    font-size: 26px;
  }

  .manager-hero-content p {
    font-size: 11px;
  }

  .manager-stats-grid {
    grid-template-columns: 1fr;
  }

  .manager-stat-card {
    min-height: 110px;
  }

  .manager-section-header {
    align-items: flex-start;
  }

  .manager-section-title h2 {
    font-size: 17px;
  }

  .manager-library-grid,
  .manager-quick-grid {
    grid-template-columns: 1fr;
  }

  .manager-team-table {
    overflow-x: auto;
  }

  .manager-team-head,
  .manager-team-row {
    min-width: 540px;
  }

}
/* =========================================================
   20. Login Page
   صفحة تسجيل الدخول
========================================================= */

.login-page {
  min-height: 100vh;
  background: #ffffff;
}


/* =========================================================
   01. Authentication Header
========================================================= */

.auth-header {
  position: relative;
  z-index: 1000;

  height: 66px;

  background: #ffffff;
  border-bottom: 1px solid #e7edef;
}

.auth-header-inner {
  height: 100%;

  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;

  gap: 36px;
}

.auth-brand {
  display: flex;
  align-items: center;
}

.auth-brand img {
  width: 155px;
  height: 52px;

  object-fit: contain;
}

.auth-navigation {
  height: 100%;

  display: flex;
  align-items: center;
  justify-content: center;

  gap: 38px;
}

.auth-navigation a {
  position: relative;

  height: 100%;

  display: flex;
  align-items: center;

  color: #1f3440;

  font-size: 13px;
  font-weight: 500;

  transition: color 0.18s ease;
}

.auth-navigation a:hover {
  color: var(--teal-dark);
}

.auth-language {
  min-height: 36px;

  display: inline-flex;
  align-items: center;

  gap: 7px;

  border: 0;
  background: transparent;

  color: var(--navy);

  font-size: 12px;
  font-weight: 600;

  cursor: pointer;
}

.auth-language svg {
  width: 22px;
  height: 22px;
}

.auth-language-arrow {
  margin-right: 2px;

  font-size: 12px;
}


/* =========================================================
   02. Main Login Layout
========================================================= */

.login-main {
  min-height: calc(100vh - 66px);

  display: grid;
  grid-template-columns: 1fr 1fr;

  background: #ffffff;
}


/* =========================================================
   03. Login Form Side
========================================================= */

.login-form-side {
  min-height: 820px;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 56px 54px;

  background:
    linear-gradient(
      180deg,
      #ffffff 0%,
      #fbfdfd 100%
    );
}

.login-form-wrapper {
  width: min(100%, 470px);

  margin-inline: auto;
}

.login-heading {
  margin-bottom: 28px;

  text-align: right;
}

.login-heading h1 {
  margin: 0 0 9px;

  color: var(--navy);

  font-size: 35px;
  line-height: 1.3;

  font-weight: 700;
}

.login-heading p {
  margin: 0;

  color: #506873;

  font-size: 16px;
  line-height: 1.8;
}


/* =========================================================
   04. Login Form
========================================================= */

.login-form {
  width: 100%;
}

.login-role-fieldset {
  margin: 0 0 21px;
  padding: 0;

  border: 0;
}

.login-role-fieldset legend {
  margin-bottom: 9px;

  color: var(--navy);

  font-size: 12px;
  font-weight: 700;
}

.login-role-selector {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 0;

  overflow: hidden;

  border: 1px solid #cfdcdf;
  border-radius: 6px;

  background: #ffffff;
}

.login-role-option {
  cursor: pointer;
}

.login-role-option input {
  position: absolute;

  opacity: 0;
  pointer-events: none;
}

.login-role-box {
  min-height: 46px;

  display: flex;
  align-items: center;
  justify-content: center;

  gap: 10px;

  color: var(--navy);

  background: #ffffff;

  font-size: 12px;
  font-weight: 600;

  transition:
    color 0.18s ease,
    background 0.18s ease;
}

.login-role-box svg {
  width: 23px;
  height: 23px;
}

.login-role-option input:checked + .login-role-box {
  color: #ffffff;

  background:
    linear-gradient(
      135deg,
      #00646e 0%,
      #004f59 100%
    );
}


/* =========================================================
   05. Form Fields
========================================================= */

.login-field {
  margin-bottom: 19px;
}

.login-field > label {
  display: block;

  margin-bottom: 8px;

  color: var(--navy);

  font-size: 12px;
  font-weight: 700;
}

.login-input-wrapper {
  position: relative;

  height: 48px;

  display: flex;
  align-items: center;

  border: 1px solid #cfdcdf;
  border-radius: 6px;

  background: #ffffff;

  overflow: hidden;

  transition:
    border-color 0.18s ease,
    box-shadow 0.18s ease;
}

.login-input-wrapper:focus-within {
  border-color: var(--teal);

  box-shadow:
    0 0 0 3px
    rgba(64, 188, 169, 0.11);
}

.login-input-icon {
  width: 21px;
  height: 21px;

  margin-right: 14px;

  flex: 0 0 auto;

  color: #284c83;
}

.login-input-wrapper input {
  width: 100%;
  height: 100%;

  padding: 0 13px;

  border: 0;
  outline: 0;

  color: var(--text);

  background: transparent;

  font-family:
    "IBM Plex Sans Arabic",
    Arial,
    sans-serif;

  font-size: 12px;
}

.login-input-wrapper input::placeholder {
  color: #9aa8ae;
}

.login-password-toggle {
  width: 45px;
  height: 100%;

  flex: 0 0 45px;

  display: grid;
  place-items: center;

  border: 0;
  background: transparent;

  color: #355388;

  cursor: pointer;
}

.login-password-toggle svg {
  width: 21px;
  height: 21px;
}


/* =========================================================
   06. Remember / Forgot
========================================================= */

.login-options {
  margin-top: 4px;
  margin-bottom: 22px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 20px;
}

.login-remember {
  display: flex;
  align-items: center;

  gap: 8px;

  color: var(--navy);

  font-size: 11px;

  cursor: pointer;
}

.login-remember input {
  position: absolute;

  opacity: 0;
}

.login-checkbox {
  position: relative;

  width: 18px;
  height: 18px;

  display: inline-block;

  border: 1px solid #b9c8cd;
  border-radius: 3px;

  background: #ffffff;
}

.login-remember input:checked + .login-checkbox {
  border-color: var(--navy);

  background: var(--navy);
}

.login-remember input:checked + .login-checkbox::after {
  content: "✓";

  position: absolute;
  inset: 0;

  display: grid;
  place-items: center;

  color: #ffffff;

  font-size: 11px;
  font-weight: 700;
}

.login-forgot-link {
  color: #176bc1;

  font-size: 11px;
  font-weight: 600;
}

.login-forgot-link:hover {
  text-decoration: underline;
}


/* =========================================================
   07. Submit Button
========================================================= */

.login-submit {
  width: 100%;
  min-height: 50px;

  padding: 0 21px;

  display: flex;
  align-items: center;
  justify-content: center;

  gap: 16px;

  border: 0;
  border-radius: 6px;

  color: #ffffff;

  background:
    linear-gradient(
      135deg,
      #005865 0%,
      #00434f 100%
    );

  box-shadow:
    0 8px 18px
    rgba(0, 52, 75, 0.16);

  font-size: 15px;
  font-weight: 700;

  cursor: pointer;

  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    background 0.18s ease;
}

.login-submit:hover {
  transform: translateY(-1px);

  box-shadow:
    0 10px 23px
    rgba(0, 52, 75, 0.23);
}

.login-submit-arrow {
  font-size: 18px;
}


/* =========================================================
   08. Divider
========================================================= */

.login-divider {
  margin: 22px 0;

  display: grid;
  grid-template-columns: 1fr auto 1fr;

  align-items: center;

  gap: 13px;
}

.login-divider span {
  height: 1px;

  background: #dce5e8;
}

.login-divider strong {
  color: #71838b;

  font-size: 10px;
  font-weight: 500;
}


/* =========================================================
   09. Ministry Login
========================================================= */

.login-ministry-account {
  width: 100%;
  min-height: 48px;

  display: flex;
  align-items: center;
  justify-content: center;

  gap: 12px;

  border: 1px solid #d3dee2;
  border-radius: 6px;

  color: var(--navy);

  background: #ffffff;

  font-size: 12px;
  font-weight: 600;

  cursor: pointer;

  transition:
    border-color 0.18s ease,
    background 0.18s ease;
}

.login-ministry-account:hover {
  border-color: #aabcc2;

  background: #f8fbfb;
}


/* Microsoft mark */

.login-microsoft-icon {
  width: 20px;
  height: 20px;

  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);

  gap: 2px;
}

.login-microsoft-icon i:nth-child(1) {
  background: #f25022;
}

.login-microsoft-icon i:nth-child(2) {
  background: #7fba00;
}

.login-microsoft-icon i:nth-child(3) {
  background: #00a4ef;
}

.login-microsoft-icon i:nth-child(4) {
  background: #ffb900;
}


/* =========================================================
   10. Register Card
========================================================= */

.login-register-card {
  margin-top: 22px;

  padding: 20px;

  text-align: center;

  border-radius: 7px;

  background:
    linear-gradient(
      135deg,
      #f7fafb 0%,
      #eef4f5 100%
    );

  border: 1px solid #e2e9eb;
}

.login-register-card h2 {
  margin: 0 0 6px;

  color: var(--navy);

  font-size: 14px;
}

.login-register-card p {
  max-width: 390px;

  margin: 0 auto 14px;

  color: var(--muted);

  font-size: 10px;
  line-height: 1.7;
}

.login-register-button {
  min-height: 42px;

  padding: 0 20px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  gap: 9px;

  border: 1px solid var(--teal-dark);
  border-radius: 5px;

  color: var(--navy);

  background: #ffffff;

  font-size: 11px;
  font-weight: 600;
}

.login-register-button svg {
  width: 21px;
  height: 21px;
}

.login-register-button:hover {
  color: #ffffff;

  background: var(--teal-dark);
}


/* =========================================================
   11. Visual Side
========================================================= */

.login-visual-side {
  position: relative;

  min-height: 820px;

  overflow: hidden;

  background: var(--navy);
}

.login-visual-image {
  position: absolute;
  inset: 0;
}

.login-visual-image img {
  width: 100%;
  height: 100%;

  object-fit: cover;

  object-position: center;
}

.login-visual-overlay {
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      180deg,
      rgba(0, 52, 75, 0.08) 0%,
      rgba(0, 52, 75, 0.18) 40%,
      rgba(0, 52, 75, 0.92) 100%
    );
}

.login-visual-content {
  position: absolute;

  right: 0;
  left: 0;
  bottom: 0;

  z-index: 2;

  padding:
    70px
    58px
    40px;

  color: #ffffff;
}

.login-welcome {
  display: block;

  margin-bottom: 4px;

  color: #ffffff;

  font-size: 25px;
  font-weight: 400;
}

.login-visual-content h2 {
  margin: 0 0 17px;

  color: #ffffff;

  font-size: 40px;
  line-height: 1.35;

  font-weight: 700;
}

.login-visual-content > p {
  max-width: 540px;

  margin: 0;

  color: rgba(255, 255, 255, 0.92);

  font-size: 14px;
  line-height: 1.9;
}

.login-visual-line {
  display: block;

  width: 45px;
  height: 3px;

  margin-top: 18px;

  border-radius: 999px;

  background: var(--teal);
}


/* =========================================================
   12. Benefits
========================================================= */

.login-benefits {
  margin-top: 28px;

  display: grid;
  grid-template-columns:
    repeat(4, minmax(0, 1fr));

  gap: 0;
}

.login-benefits article {
  position: relative;

  min-height: 88px;

  padding: 0 16px;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  text-align: center;
}

.login-benefits article:not(:last-child)::after {
  content: "";

  position: absolute;

  top: 10%;
  left: 0;

  width: 1px;
  height: 80%;

  background: rgba(255, 255, 255, 0.28);
}

.login-benefit-icon {
  margin-bottom: 7px;

  color: #64d7c6;

  font-size: 27px;
}

.login-benefits strong {
  color: #ffffff;

  font-size: 10px;
  line-height: 1.5;
}

.login-benefits span {
  margin-top: 2px;

  color: rgba(255, 255, 255, 0.72);

  font-size: 8px;
}


/* =========================================================
   13. Login Footer
========================================================= */

.login-footer {
  background:
    linear-gradient(
      135deg,
      #00344b 0%,
      #004c5b 100%
    );

  color: #ffffff;
}

.login-footer-grid {
  min-height: 130px;

  display: grid;
  grid-template-columns:
    1.2fr
    1fr
    1fr
    1fr
    1.6fr;

  align-items: center;

  gap: 28px;

  padding-block: 24px;
}

.login-footer-brand img {
  width: 130px;

  filter: brightness(0) invert(1);
}

.login-footer-column {
  display: flex;
  flex-direction: column;

  gap: 4px;
}

.login-footer-column h3 {
  margin: 0 0 5px;

  color: #ffffff;

  font-size: 10px;
}

.login-footer-column a,
.login-footer-column span {
  color: rgba(255, 255, 255, 0.78);

  font-size: 8px;
  line-height: 1.5;
}

.login-footer-column a:hover {
  color: #ffffff;
}

.login-footer-copy {
  align-self: end;

  text-align: left;
}

.login-footer-copy span {
  color: rgba(255, 255, 255, 0.75);

  font-size: 8px;
}


/* =========================================================
   14. Responsive - Laptop
========================================================= */

@media (max-width: 1200px) {

  .auth-header-inner {
    gap: 22px;
  }

  .auth-navigation {
    gap: 24px;
  }

  .login-form-side {
    padding-inline: 38px;
  }

  .login-visual-content {
    padding-inline: 40px;
  }

  .login-visual-content h2 {
    font-size: 34px;
  }

}


/* =========================================================
   15. Responsive - Tablet
========================================================= */

@media (max-width: 900px) {

  .auth-navigation {
    display: none;
  }

  .auth-header-inner {
    grid-template-columns:
      auto
      1fr
      auto;
  }

  .login-main {
    grid-template-columns: 1fr;
  }

  .login-form-side {
    min-height: auto;

    padding:
      50px
      30px;
  }

  .login-visual-side {
    min-height: 520px;

    order: -1;
  }

  .login-visual-content {
    padding:
      40px
      30px;
  }

  .login-benefits {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    row-gap: 18px;
  }

  .login-benefits article:nth-child(2)::after {
    display: none;
  }

  .login-footer-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    gap: 22px;
  }

  .login-footer-copy {
    text-align: right;
  }

}


/* =========================================================
   16. Responsive - Mobile
========================================================= */

@media (max-width: 600px) {

  .auth-header {
    height: 60px;
  }

  .auth-brand img {
    width: 120px;
  }

  .auth-language {
    font-size: 10px;
  }

  .login-visual-side {
    min-height: 410px;
  }

  .login-visual-content {
    padding:
      30px
      20px;
  }

  .login-welcome {
    font-size: 19px;
  }

  .login-visual-content h2 {
    font-size: 27px;
  }

  .login-visual-content > p {
    font-size: 11px;
  }

  .login-benefits {
    margin-top: 20px;
  }

  .login-form-side {
    padding:
      38px
      20px;
  }

  .login-heading h1 {
    font-size: 29px;
  }

  .login-heading p {
    font-size: 13px;
  }

  .login-options {
    align-items: flex-start;
  }

  .login-register-card {
    padding: 17px;
  }

  .login-footer-grid {
    grid-template-columns: 1fr;

    text-align: right;
  }

}
/* =========================================================
   SMART PRESENTATION BUILDER
   محرر العروض الذكي
========================================================= */

.smart-builder-page {
  background: #f5f8f9;
}

.smart-builder-page .is-hidden {
  display: none !important;
}

.smart-builder {
  min-height: calc(100vh - var(--header-height));
  background:
    linear-gradient(
      180deg,
      #ffffff 0%,
      #f8fbfb 18%,
      #f4f8f9 100%
    );
}

.smart-builder button,
.smart-builder input,
.smart-builder select,
.smart-builder textarea,
.smart-builder-modal button,
.smart-builder-modal input,
.smart-builder-drawer button,
.smart-builder-drawer input,
.smart-builder-drawer select,
.smart-builder-drawer textarea {
  font-family: "IBM Plex Sans Arabic", Arial, sans-serif;
}


/* =========================================================
   01. HEADER
========================================================= */

.smart-builder-head {
  padding: 24px 0 20px;

  border-bottom: 1px solid #e1eaec;

  background: #ffffff;
}

.smart-builder-head-inner {
  display: block;
}

.smart-builder-breadcrumb {
  margin-bottom: 10px;

  display: flex;
  align-items: center;

  gap: 8px;

  color: #8a9aa1;

  font-size: 11px;
}

.smart-builder-breadcrumb a {
  color: var(--teal-dark);

  font-weight: 600;
}

.smart-builder-breadcrumb a:hover {
  color: var(--navy);
}

.smart-builder-title-row {
  display: flex;

  align-items: flex-end;
  justify-content: space-between;

  gap: 24px;
}

.smart-builder-kicker {
  display: inline-flex;

  align-items: center;

  gap: 7px;

  margin-bottom: 4px;

  color: var(--teal-dark);

  font-size: 11px;
  font-weight: 700;
}

.smart-builder-title-row h1 {
  margin: 0;

  color: var(--navy);

  font-size: 28px;

  line-height: 1.4;
}

.smart-builder-title-row p {
  margin: 4px 0 0;

  color: var(--muted);

  font-size: 11px;
}

.smart-builder-top-actions {
  display: flex;

  align-items: center;
  justify-content: flex-end;

  flex-wrap: wrap;

  gap: 8px;
}


/* =========================================================
   02. BUTTONS
========================================================= */

.btn-builder-soft,
.btn-builder-primary {
  min-height: 40px;

  padding: 0 15px;

  display: inline-flex;

  align-items: center;
  justify-content: center;

  gap: 7px;

  border-radius: 7px;

  font-size: 11px;
  font-weight: 700;

  transition:
    transform 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    background 0.18s ease,
    box-shadow 0.18s ease;
}

.btn-builder-soft {
  color: var(--navy);

  border: 1px solid #d4e0e3;

  background: #ffffff;
}

.btn-builder-soft:hover {
  color: var(--teal-dark);

  border-color: rgba(64, 188, 169, 0.6);

  background: #f9fdfc;

  transform: translateY(-1px);
}

.btn-builder-primary {
  color: #ffffff;

  border: 1px solid var(--navy);

  background: var(--navy);

  box-shadow:
    0 6px 16px rgba(0, 52, 75, 0.13);
}

.btn-builder-primary:hover {
  color: #ffffff;

  border-color: #002d41;

  background: #002d41;

  box-shadow:
    0 9px 20px rgba(0, 52, 75, 0.18);

  transform: translateY(-1px);
}


/* =========================================================
   03. WORKSPACE
========================================================= */

.smart-builder-workspace {
  padding: 18px 0 32px;
}

.smart-builder-shell {
  display: grid;

  grid-template-columns:
    78px
    190px
    minmax(0, 1fr);

  align-items: stretch;

  gap: 12px;
}

.smart-builder-rail,
.smart-builder-thumbnails,
.smart-builder-editor {
  border: 1px solid #dfe8ea;

  background: #ffffff;

  box-shadow:
    0 8px 28px rgba(0, 52, 75, 0.035);
}


/* =========================================================
   04. SIDE TOOLS
========================================================= */

.smart-builder-rail {
  min-height: 650px;

  padding: 10px 7px;

  display: flex;

  flex-direction: column;

  gap: 7px;

  border-radius: 10px;
}

.smart-builder-rail-item {
  min-height: 68px;

  padding: 8px 5px;

  display: flex;

  flex-direction: column;

  align-items: center;
  justify-content: center;

  gap: 4px;

  color: #667982;

  border: 1px solid transparent;

  border-radius: 8px;

  background: transparent;

  transition: 0.18s ease;
}

.smart-builder-rail-item > span {
  font-size: 22px;

  line-height: 1;
}

.smart-builder-rail-item strong {
  font-size: 9px;

  font-weight: 600;
}

.smart-builder-rail-item:hover,
.smart-builder-rail-item.is-active {
  color: var(--navy);

  border-color: #dceceb;

  background: #eef9f7;
}

.smart-builder-ai-rail {
  margin-top: auto;

  color: #087c70;

  border-color:
    rgba(64, 188, 169, 0.18);

  background:
    linear-gradient(
      145deg,
      #e9f9f6,
      #f7fcfb
    );
}


/* =========================================================
   05. SLIDE THUMBNAILS
========================================================= */

.smart-builder-thumbnails {
  min-height: 650px;

  border-radius: 10px;

  overflow: hidden;
}

.smart-builder-thumbnails-head {
  min-height: 62px;

  padding: 0 13px;

  display: flex;

  align-items: center;
  justify-content: space-between;

  gap: 10px;

  border-bottom:
    1px solid #e9eff1;
}

.smart-builder-thumbnails-head > div {
  display: flex;

  flex-direction: column;

  gap: 1px;
}

.smart-builder-thumbnails-head strong {
  color: var(--navy);

  font-size: 13px;
}

.smart-builder-thumbnails-head span {
  color: var(--muted);

  font-size: 8px;
}

.smart-builder-mini-button {
  width: 30px;
  height: 30px;

  display: grid;

  place-items: center;

  color: var(--teal-dark);

  border: 1px solid #cfe5e1;

  border-radius: 6px;

  background: #eef9f7;

  font-size: 18px;
}

.smart-builder-mini-button:hover {
  color: #ffffff;

  border-color: var(--teal-dark);

  background: var(--teal-dark);
}

.smart-builder-thumbnail-list {
  max-height: 680px;

  padding: 12px;

  display: flex;

  flex-direction: column;

  gap: 11px;

  overflow-y: auto;
}

.smart-builder-thumbnail {
  position: relative;

  width: 100%;

  padding: 6px;

  text-align: right;

  border: 1px solid #dfe8ea;

  border-radius: 7px;

  background: #ffffff;

  transition: 0.18s ease;
}

.smart-builder-thumbnail:hover {
  border-color:
    rgba(64, 188, 169, 0.55);
}

.smart-builder-thumbnail.is-active {
  border-color: var(--teal-dark);

  box-shadow:
    0 0 0 2px
    rgba(64, 188, 169, 0.09);
}

.smart-builder-thumbnail-number {
  position: absolute;

  top: 6px;
  right: 7px;

  z-index: 2;

  width: 19px;
  height: 19px;

  display: grid;

  place-items: center;

  border-radius: 50%;

  color: #ffffff;

  background:
    rgba(0, 52, 75, 0.88);

  font-size: 8px;
}

.smart-builder-thumbnail-preview {
  width: 100%;

  aspect-ratio: 16 / 9;

  overflow: hidden;

  border-radius: 4px;

  background: #eff5f6;
}

.smart-builder-mini-slide {
  position: relative;

  width: 100%;
  height: 100%;

  padding: 12px;

  display: flex;

  flex-direction: column;

  align-items: flex-end;
  justify-content: center;

  gap: 5px;

  overflow: hidden;

  background:
    linear-gradient(
      125deg,
      #ffffff 0%,
      #ffffff 57%,
      #eaf5f4 57%,
      #d7efeb 73%,
      #0e6b6c 73%
    );
}

.smart-builder-mini-slide > span {
  position: absolute;

  top: 0;
  right: 0;

  width: 4px;
  height: 100%;

  background: var(--teal);
}

.smart-builder-mini-slide strong {
  max-width: 68%;

  color: var(--navy);

  font-size: 7px;

  line-height: 1.45;
}

.smart-builder-thumbnail small {
  display: block;

  margin-top: 5px;

  color: #5d717b;

  font-size: 8px;
}


/* =========================================================
   06. EDITOR
========================================================= */

.smart-builder-editor {
  min-width: 0;

  min-height: 650px;

  display: flex;

  flex-direction: column;

  border-radius: 10px;

  overflow: hidden;
}

.smart-builder-toolbar {
  min-height: 62px;

  padding: 9px 12px;

  display: flex;

  align-items: center;

  gap: 8px;

  border-bottom: 1px solid #e4ecee;

  background: #ffffff;
}

.smart-builder-toolbar-group {
  display: inline-flex;

  align-items: center;

  gap: 5px;
}

.smart-builder-toolbar-group button,
.smart-builder-toolbar-group select {
  min-height: 34px;

  border: 1px solid #d6e1e4;

  border-radius: 6px;

  color: var(--navy);

  background: #ffffff;

  font-size: 10px;
}

.smart-builder-toolbar-group button {
  min-width: 34px;

  padding: 0 8px;
}

.smart-builder-toolbar-group button:hover,
.smart-builder-toolbar-group select:hover {
  border-color: var(--teal);

  background: #f8fcfb;
}

.smart-builder-toolbar-group select {
  padding: 0 8px;

  outline: none;
}

.smart-builder-format-group select:first-child {
  width: 145px;
}

.smart-builder-format-group select:nth-child(2) {
  width: 58px;
}

.smart-builder-toolbar-spacer {
  flex: 1;
}


/* =========================================================
   07. EDITOR CANVAS
========================================================= */

.smart-builder-stage {
  flex: 1;

  min-height: 535px;

  padding: 30px;

  display: grid;

  place-items: center;

  overflow: auto;

  background:
    linear-gradient(
      135deg,
      #eef3f4 0%,
      #f5f8f9 100%
    );
}

.smart-builder-canvas-wrap {
  width: min(100%, 960px);

  display: grid;

  place-items: center;

  transform-origin: center center;

  transition:
    transform 0.16s ease;
}

.smart-builder-slide {
  position: relative;

  width: 100%;

  aspect-ratio: 16 / 9;

  overflow: hidden;

  border: 1px solid #d6e1e3;

  border-radius: 3px;

  background: #ffffff;

  box-shadow:
    0 18px 45px
    rgba(0, 52, 75, 0.12);
}

.smart-builder-slide-brand {
  position: absolute;

  top: 5.5%;
  right: 5%;

  z-index: 3;
}

.smart-builder-slide-logo-placeholder {
  padding: 6px 9px;

  color: var(--navy);

  border-right: 3px solid var(--teal);

  font-size:
    clamp(8px, 0.75vw, 12px);

  font-weight: 700;
}

.smart-builder-slide-accent {
  position: absolute;

  inset: 0;

  pointer-events: none;

  background:
    linear-gradient(
      125deg,
      transparent 0 57%,
      rgba(64, 188, 169, 0.10) 57% 66%,
      rgba(64, 188, 169, 0.21) 66% 74%,
      rgba(0, 52, 75, 0.92) 74% 100%
    );
}

.smart-builder-slide-content {
  position: relative;

  z-index: 4;

  width: 62%;

  height: 100%;

  padding:
    16%
    7%
    8%;

  display: flex;

  flex-direction: column;

  align-items: flex-start;

  justify-content: center;
}

.smart-builder-slide-eyebrow {
  margin-bottom: 8px;

  color: var(--teal-dark);

  font-size:
    clamp(9px, 0.95vw, 14px);

  font-weight: 700;
}

.smart-builder-slide-content h2 {
  width: 100%;

  margin: 0;

  color: var(--navy);

  font-size:
    clamp(26px, 3vw, 48px);

  line-height: 1.45;

  font-weight: 700;

  outline: none;
}

.smart-builder-slide-content p {
  max-width: 90%;

  margin: 13px 0 0;

  color: #74878f;

  font-size:
    clamp(10px, 1.1vw, 17px);

  line-height: 1.9;

  outline: none;
}

.smart-builder-slide-meta {
  position: absolute;

  right: 7%;
  bottom: 8%;

  display: flex;

  flex-direction: column;

  gap: 2px;

  color: #83939a;

  font-size:
    clamp(7px, 0.7vw, 11px);
}

.smart-builder-editable {
  min-width: 20px;

  border-radius: 3px;

  outline: none;
}

.smart-builder-editable:hover {
  background:
    rgba(64, 188, 169, 0.06);
}

.smart-builder-editable:focus {
  box-shadow:
    0 0 0 2px
    rgba(64, 188, 169, 0.25);

  background:
    rgba(255, 255, 255, 0.86);
}


/* =========================================================
   08. EDITOR BOTTOM BAR
========================================================= */

.smart-builder-bottom-bar {
  min-height: 58px;

  padding: 9px 12px;

  display: flex;

  align-items: center;
  justify-content: space-between;

  gap: 12px;

  border-top: 1px solid #e5ecee;

  background: #ffffff;
}

.smart-builder-bottom-note {
  display: flex;

  align-items: center;

  gap: 7px;

  color: #71858e;

  font-size: 9px;
}

.smart-builder-live-dot {
  width: 7px;
  height: 7px;

  border-radius: 50%;

  background: var(--teal-dark);

  box-shadow:
    0 0 0 4px
    rgba(64, 188, 169, 0.10);
}

.smart-builder-bottom-actions {
  display: flex;

  align-items: center;

  gap: 7px;
}


/* =========================================================
   09. MODALS
========================================================= */

.smart-builder-modal {
  position: fixed;

  inset: 0;

  z-index: 4000;

  padding: 24px;

  display: none;

  align-items: center;
  justify-content: center;
}

.smart-builder-modal.is-open {
  display: flex;
}

.smart-builder-modal-backdrop {
  position: absolute;

  inset: 0;

  background:
    rgba(0, 31, 45, 0.62);

  backdrop-filter: blur(4px);

  -webkit-backdrop-filter: blur(4px);
}

.smart-builder-modal-dialog {
  position: relative;

  z-index: 2;

  width: min(100%, 900px);

  max-height:
    calc(100vh - 48px);

  overflow-y: auto;

  border: 1px solid #dce6e8;

  border-radius: 14px;

  background: #ffffff;

  box-shadow:
    0 30px 80px
    rgba(0, 38, 55, 0.24);
}

.smart-builder-modal-close {
  position: absolute;

  top: 15px;
  left: 15px;

  z-index: 4;

  width: 34px;
  height: 34px;

  display: grid;

  place-items: center;

  border: 1px solid #d7e2e4;

  border-radius: 50%;

  color: var(--navy);

  background: #ffffff;

  font-size: 20px;
}


/* =========================================================
   10. START MODAL
========================================================= */

.smart-builder-start-dialog {
  width: min(100%, 920px);

  padding: 34px;
}

.smart-builder-start-intro {
  max-width: 620px;

  margin: 0 auto 26px;

  text-align: center;
}

.smart-builder-ai-mark {
  width: 48px;
  height: 48px;

  margin: 0 auto 12px;

  display: grid;

  place-items: center;

  border-radius: 14px;

  color: #ffffff;

  background:
    linear-gradient(
      135deg,
      var(--navy),
      var(--teal-dark)
    );

  font-size: 21px;

  box-shadow:
    0 10px 24px
    rgba(0, 52, 75, 0.14);
}

.smart-builder-start-intro h2 {
  margin: 0 0 7px;

  color: var(--navy);

  font-size: 27px;
}

.smart-builder-start-intro p {
  margin: 0;

  color: #758890;

  font-size: 11px;

  line-height: 1.9;
}

.smart-builder-start-grid {
  display: grid;

  grid-template-columns:
    repeat(4, minmax(0, 1fr));

  gap: 12px;
}

.smart-builder-start-card {
  position: relative;

  min-height: 215px;

  padding: 24px 18px;

  display: flex;

  flex-direction: column;

  align-items: center;
  justify-content: center;

  gap: 9px;

  text-align: center;

  border: 1px solid #dce6e8;

  border-radius: 11px;

  color: var(--navy);

  background: #ffffff;

  transition:
    transform 0.2s ease,
    border-color 0.2s ease,
    background 0.2s ease,
    box-shadow 0.2s ease;
}

.smart-builder-start-card:hover {
  transform: translateY(-4px);

  border-color:
    rgba(64, 188, 169, 0.6);

  background: #fbfefd;

  box-shadow:
    0 14px 30px
    rgba(0, 52, 75, 0.08);
}

.smart-builder-start-card-ai {
  border-color:
    rgba(64, 188, 169, 0.55);

  background:
    linear-gradient(
      145deg,
      #effaf8,
      #ffffff
    );
}

.smart-builder-start-badge {
  position: absolute;

  top: 10px;
  left: 10px;

  padding: 3px 7px;

  border-radius: 999px;

  color: #ffffff;

  background: var(--teal-dark);

  font-size: 8px;

  font-weight: 700;
}

.smart-builder-start-icon {
  width: 54px;
  height: 54px;

  display: grid;

  place-items: center;

  border-radius: 14px;

  color: var(--teal-dark);

  background: #eaf8f5;

  font-size: 25px;
}

.smart-builder-start-card strong {
  font-size: 15px;
}

.smart-builder-start-card small {
  min-height: 45px;

  color: #75868e;

  font-size: 9px;

  line-height: 1.8;
}

.smart-builder-start-link {
  margin-top: 3px;

  color: var(--teal-dark);

  font-size: 9px;

  font-weight: 700;
}

.smart-builder-start-skip {
  margin: 22px auto 0;

  display: block;

  padding: 7px 12px;

  border: 0;

  color: #70838c;

  background: transparent;

  font-size: 10px;
}

.smart-builder-start-skip:hover {
  color: var(--navy);
}


/* =========================================================
   11. DRAWER
========================================================= */

.smart-builder-drawer {
  position: fixed;

  inset: 0;

  z-index: 3800;

  visibility: hidden;

  pointer-events: none;
}

.smart-builder-drawer.is-open {
  visibility: visible;

  pointer-events: auto;
}

.smart-builder-drawer-backdrop {
  position: absolute;

  inset: 0;

  opacity: 0;

  background:
    rgba(0, 31, 45, 0.36);

  transition:
    opacity 0.2s ease;
}

.smart-builder-drawer.is-open
.smart-builder-drawer-backdrop {
  opacity: 1;
}

.smart-builder-drawer-panel {
  position: absolute;

  top: 0;
  right: 0;

  width: min(430px, 92vw);
  height: 100%;

  padding: 20px;

  overflow-y: auto;

  background: #ffffff;

  box-shadow:
    -18px 0 50px
    rgba(0, 52, 75, 0.14);

  transform:
    translateX(105%);

  transition:
    transform 0.24s ease;
}

.smart-builder-drawer.is-open
.smart-builder-drawer-panel {
  transform:
    translateX(0);
}

.smart-builder-drawer-head {
  margin-bottom: 18px;

  padding-bottom: 14px;

  display: flex;

  align-items: center;
  justify-content: space-between;

  gap: 12px;

  border-bottom: 1px solid #e6edef;
}

.smart-builder-drawer-head span {
  color: var(--teal-dark);

  font-size: 9px;

  font-weight: 700;
}

.smart-builder-drawer-head h2 {
  margin: 1px 0 0;

  color: var(--navy);

  font-size: 21px;
}

.smart-builder-drawer-close {
  width: 34px;
  height: 34px;

  display: grid;

  place-items: center;

  border: 1px solid #d8e3e5;

  border-radius: 50%;

  color: var(--navy);

  background: #ffffff;

  font-size: 20px;
}


/* =========================================================
   12. DRAWER CONTENT
========================================================= */

.builder-drawer-search {
  position: relative;

  margin-bottom: 13px;
}

.builder-drawer-search input {
  width: 100%;

  min-height: 42px;

  padding: 0 12px;

  border: 1px solid #d9e4e6;

  border-radius: 7px;

  outline: none;

  color: var(--navy);

  background: #ffffff;

  font-size: 10px;
}

.builder-drawer-search input:focus {
  border-color: var(--teal);

  box-shadow:
    0 0 0 3px
    rgba(64, 188, 169, 0.09);
}

.builder-template-grid,
.builder-slide-library-grid {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 10px;
}

.builder-template-item,
.builder-slide-item {
  overflow: hidden;

  border: 1px solid #dfe8ea;

  border-radius: 8px;

  background: #ffffff;

  transition: 0.18s ease;
}

.builder-template-item:hover,
.builder-slide-item:hover {
  border-color:
    rgba(64, 188, 169, 0.55);

  transform:
    translateY(-2px);
}

.builder-template-thumb,
.builder-slide-thumb {
  aspect-ratio: 16 / 9;

  padding: 12px;

  display: flex;

  align-items: flex-end;

  overflow: hidden;

  background:
    linear-gradient(
      125deg,
      #ffffff 0%,
      #ffffff 58%,
      #daf1ed 58%,
      #a8ddd5 73%,
      #0f6b6d 73%
    );
}

.builder-template-thumb strong,
.builder-slide-thumb strong {
  width: 60%;

  color: var(--navy);

  font-size: 9px;
}

.builder-template-body,
.builder-slide-body {
  padding: 10px;
}

.builder-template-body h3,
.builder-slide-body h3 {
  margin: 0 0 3px;

  color: var(--navy);

  font-size: 11px;
}

.builder-template-body p,
.builder-slide-body p {
  margin: 0 0 8px;

  color: #7c8d95;

  font-size: 8px;
}

.builder-template-actions,
.builder-slide-actions {
  display: flex;

  gap: 5px;
}

.builder-template-actions button,
.builder-slide-actions button {
  flex: 1;

  min-height: 30px;

  padding: 0 7px;

  border: 1px solid #d2e2e0;

  border-radius: 5px;

  color: var(--teal-dark);

  background: #f2faf8;

  font-size: 8px;
}


/* =========================================================
   13. AI PANEL
========================================================= */

.builder-ai-intro {
  margin-bottom: 14px;

  padding: 14px;

  border: 1px solid #d8ece8;

  border-radius: 9px;

  background:
    linear-gradient(
      145deg,
      #eefaf7,
      #fbfefd
    );
}

.builder-ai-intro strong {
  display: block;

  margin-bottom: 3px;

  color: var(--navy);

  font-size: 13px;
}

.builder-ai-intro p {
  margin: 0;

  color: #768991;

  font-size: 9px;

  line-height: 1.8;
}

.builder-ai-tabs {
  margin-bottom: 14px;

  padding: 4px;

  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 4px;

  border-radius: 7px;

  background: #f0f5f6;
}

.builder-ai-tabs button {
  min-height: 35px;

  border: 0;

  border-radius: 6px;

  color: #687c85;

  background: transparent;

  font-size: 9px;

  font-weight: 700;
}

.builder-ai-tabs button.is-active {
  color: var(--navy);

  background: #ffffff;

  box-shadow:
    0 3px 10px
    rgba(0, 52, 75, 0.06);
}

.builder-ai-field {
  margin-bottom: 12px;

  display: flex;

  flex-direction: column;

  gap: 6px;
}

.builder-ai-field span {
  color: var(--navy);

  font-size: 9px;

  font-weight: 700;
}

.builder-ai-field textarea {
  min-height: 120px;

  padding: 11px;

  resize: vertical;

  outline: none;

  border: 1px solid #d8e3e5;

  border-radius: 7px;

  color: var(--navy);

  background: #ffffff;

  font-size: 10px;

  line-height: 1.8;
}

.builder-ai-field textarea:focus {
  border-color: var(--teal);
}

.builder-ai-type {
  margin-bottom: 14px;

  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 7px;
}

.builder-ai-type label {
  min-height: 62px;

  padding: 10px;

  display: flex;

  flex-direction: column;

  align-items: center;
  justify-content: center;

  gap: 4px;

  border: 1px solid #dce6e8;

  border-radius: 7px;

  color: var(--navy);

  background: #ffffff;

  font-size: 9px;

  cursor: pointer;
}

.builder-ai-type input {
  accent-color: var(--teal-dark);
}

.builder-ai-submit {
  width: 100%;

  min-height: 42px;

  border: 1px solid var(--navy);

  border-radius: 7px;

  color: #ffffff;

  background: var(--navy);

  font-size: 10px;

  font-weight: 700;
}


/* =========================================================
   14. UPLOAD
========================================================= */

.builder-upload-box {
  min-height: 220px;

  padding: 28px;

  display: flex;

  flex-direction: column;

  align-items: center;
  justify-content: center;

  gap: 8px;

  text-align: center;

  border:
    1.5px dashed
    rgba(64, 188, 169, 0.65);

  border-radius: 10px;

  background: #f7fcfb;
}

.builder-upload-icon {
  width: 54px;
  height: 54px;

  display: grid;

  place-items: center;

  border-radius: 50%;

  color: var(--teal-dark);

  background: #e5f7f3;

  font-size: 24px;
}

.builder-upload-box strong {
  color: var(--navy);

  font-size: 14px;
}

.builder-upload-box p {
  margin: 0;

  color: #7b8d95;

  font-size: 9px;
}

.builder-upload-box button {
  margin-top: 5px;

  min-height: 37px;

  padding: 0 15px;

  border: 1px solid var(--teal-dark);

  border-radius: 6px;

  color: #ffffff;

  background: var(--teal-dark);

  font-size: 9px;

  font-weight: 700;
}

.builder-upload-options {
  margin-top: 15px;

  display: grid;

  gap: 8px;
}

.builder-upload-option {
  padding: 11px;

  display: flex;

  align-items: center;

  gap: 8px;

  border: 1px solid #dde7e9;

  border-radius: 7px;

  background: #ffffff;

  color: var(--navy);

  font-size: 9px;
}

.builder-upload-option input {
  accent-color: var(--teal-dark);
}


/* =========================================================
   15. TEMPLATE PREVIEW
========================================================= */

.smart-builder-preview-dialog {
  width: min(100%, 980px);

  padding: 28px;
}

.smart-builder-preview-content {
  display: grid;

  grid-template-columns:
    1.25fr
    0.75fr;

  align-items: center;

  gap: 28px;
}

.smart-builder-preview-image {
  min-width: 0;
}

.smart-builder-template-cover-mock {
  position: relative;

  aspect-ratio: 16 / 9;

  padding: 7%;

  display: flex;

  flex-direction: column;

  align-items: flex-start;
  justify-content: center;

  overflow: hidden;

  border: 1px solid #dbe5e7;

  border-radius: 7px;

  background:
    linear-gradient(
      125deg,
      #ffffff 0 57%,
      #e5f4f1 57% 68%,
      #aedfd7 68% 76%,
      #0b6268 76% 100%
    );

  box-shadow:
    0 14px 32px
    rgba(0, 52, 75, 0.08);
}

.smart-builder-template-cover-mock > span {
  position: absolute;

  top: 7%;
  right: 6%;

  color: var(--navy);

  font-size: 9px;

  font-weight: 700;
}

.smart-builder-template-cover-mock > strong {
  width: 58%;

  color: var(--navy);

  font-size:
    clamp(19px, 2.6vw, 34px);

  line-height: 1.45;
}

.smart-builder-template-cover-mock > small {
  margin-top: 8px;

  color: #72848d;

  font-size: 9px;
}

.smart-builder-preview-info h2 {
  margin: 0 0 8px;

  color: var(--navy);

  font-size: 24px;
}

.smart-builder-preview-info > p {
  margin: 0;

  color: #788a92;

  font-size: 11px;

  line-height: 1.9;
}

.smart-builder-preview-meta {
  margin: 18px 0;

  display: flex;

  flex-wrap: wrap;

  gap: 7px;
}

.smart-builder-preview-meta span {
  padding: 6px 9px;

  border-radius: 999px;

  color: #57717b;

  background: #f1f6f7;

  font-size: 8px;
}

.smart-builder-preview-actions {
  display: flex;

  align-items: center;

  gap: 8px;
}


/* =========================================================
   16. BEFORE / AFTER
========================================================= */

.smart-builder-compare-dialog {
  width: min(100%, 1080px);

  padding: 28px;
}

.smart-builder-modal-head {
  margin-bottom: 22px;

  padding-left: 42px;
}

.smart-builder-modal-head h2 {
  margin: 0 0 5px;

  color: var(--navy);

  font-size: 24px;
}

.smart-builder-modal-head p {
  margin: 0;

  color: #7c8d95;

  font-size: 10px;
}

.smart-builder-compare-grid {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 14px;
}

.smart-builder-compare-card {
  position: relative;

  padding: 13px;

  border: 1px solid #dce6e8;

  border-radius: 10px;

  background: #f8fafb;
}

.smart-builder-after {
  border-color:
    rgba(64, 188, 169, 0.46);

  background: #f4fbfa;
}

.smart-builder-compare-label {
  position: absolute;

  top: 20px;
  right: 20px;

  z-index: 3;

  padding: 5px 10px;

  border-radius: 999px;

  color: #ffffff;

  background: #7d8c93;

  font-size: 8px;

  font-weight: 700;
}

.smart-builder-after
.smart-builder-compare-label {
  background: var(--teal-dark);
}

.smart-builder-before-mock,
.smart-builder-after-mock {
  position: relative;

  aspect-ratio: 16 / 9;

  padding: 12%;

  display: flex;

  flex-direction: column;

  justify-content: center;

  overflow: hidden;

  border-radius: 6px;

  background: #ffffff;

  box-shadow:
    0 8px 22px
    rgba(0, 52, 75, 0.06);
}

.smart-builder-before-mock {
  border-top:
    12px solid #36566a;

  border-bottom:
    12px solid #36566a;
}

.smart-builder-before-mock > strong {
  color: #2d4d5d;

  font-size:
    clamp(17px, 2vw, 29px);
}

.smart-builder-before-mock > p {
  margin: 7px 0 0;

  color: #788b93;

  font-size: 9px;
}

.smart-builder-after-mock {
  background:
    linear-gradient(
      125deg,
      #ffffff 0 58%,
      #e2f3f0 58% 69%,
      #b8e1da 69% 76%,
      #0d6469 76% 100%
    );
}

.smart-builder-after-mock > span {
  position: absolute;

  top: 8%;
  right: 7%;

  color: var(--navy);

  font-size: 8px;

  font-weight: 700;
}

.smart-builder-after-mock > strong {
  width: 58%;

  color: var(--navy);

  font-size:
    clamp(17px, 2vw, 29px);
}

.smart-builder-after-mock > p {
  width: 58%;

  margin: 7px 0 0;

  color: #668089;

  font-size: 9px;
}

.smart-builder-before-bars,
.smart-builder-after-bars {
  width: 42%;

  height: 38%;

  margin-top: 10px;

  display: flex;

  align-items: flex-end;

  gap: 8px;
}

.smart-builder-before-bars span,
.smart-builder-after-bars span {
  flex: 1;

  border-radius:
    2px 2px 0 0;
}

.smart-builder-before-bars span {
  background: #6b8592;
}

.smart-builder-after-bars span {
  background: var(--teal-dark);
}

.smart-builder-before-bars span:nth-child(1),
.smart-builder-after-bars span:nth-child(1) {
  height: 58%;
}

.smart-builder-before-bars span:nth-child(2),
.smart-builder-after-bars span:nth-child(2) {
  height: 92%;
}

.smart-builder-before-bars span:nth-child(3),
.smart-builder-after-bars span:nth-child(3) {
  height: 72%;
}

.smart-builder-compare-actions {
  margin-top: 18px;

  display: flex;

  justify-content: flex-end;

  gap: 8px;
}


/* =========================================================
   17. EXPORT
========================================================= */

.smart-builder-export-dialog {
  width: min(100%, 520px);

  padding: 30px;
}

.smart-builder-export-dialog h2 {
  margin: 0 0 7px;

  color: var(--navy);

  font-size: 23px;
}

.smart-builder-export-dialog > p {
  margin: 0 0 20px;

  color: #788b93;

  font-size: 10px;
}

.smart-builder-field {
  display: flex;

  flex-direction: column;

  gap: 6px;
}

.smart-builder-field > span {
  color: var(--navy);

  font-size: 10px;

  font-weight: 700;
}

.smart-builder-field input {
  width: 100%;

  min-height: 44px;

  padding: 0 12px;

  color: var(--navy);

  border: 1px solid #d7e2e4;

  border-radius: 7px;

  outline: none;

  background: #ffffff;

  font-size: 11px;
}

.smart-builder-field input:focus {
  border-color: var(--teal);

  box-shadow:
    0 0 0 3px
    rgba(64, 188, 169, 0.10);
}

.smart-builder-export-note {
  margin: 14px 0 18px;

  padding: 11px 12px;

  display: flex;

  align-items: center;
  justify-content: space-between;

  gap: 12px;

  border: 1px solid #dfebed;

  border-radius: 7px;

  background: #f7fafb;
}

.smart-builder-export-note strong {
  color: var(--navy);

  font-size: 10px;
}

.smart-builder-export-note span {
  color: #7b8d95;

  font-size: 8px;
}


/* =========================================================
   18. TOAST
========================================================= */

.smart-builder-toast {
  position: fixed;

  z-index: 5000;

  right: 24px;
  bottom: 24px;

  max-width:
    min(
      360px,
      calc(100vw - 48px)
    );

  padding: 11px 14px;

  display: none;

  color: #ffffff;

  border-radius: 8px;

  background: var(--navy);

  box-shadow:
    0 14px 34px
    rgba(0, 52, 75, 0.22);

  font-size: 10px;

  line-height: 1.8;
}

.smart-builder-toast.is-visible {
  display: block;

  animation:
    smartBuilderToastIn
    0.2s ease both;
}

@keyframes smartBuilderToastIn {

  from {
    opacity: 0;

    transform:
      translateY(8px);
  }

  to {
    opacity: 1;

    transform:
      translateY(0);
  }

}


/* =========================================================
   RESPONSIVE — LAPTOP
========================================================= */

@media (max-width: 1280px) {

  .smart-builder-shell {
    grid-template-columns:
      70px
      170px
      minmax(0, 1fr);
  }

  .smart-builder-stage {
    padding: 22px;
  }

  .smart-builder-format-group
  select:first-child {
    width: 125px;
  }

  .smart-builder-toolbar {
    flex-wrap: wrap;
  }

  .smart-builder-toolbar-spacer {
    display: none;
  }

}


/* =========================================================
   RESPONSIVE — TABLET
========================================================= */

@media (max-width: 980px) {

  .smart-builder-title-row {
    align-items: flex-start;

    flex-direction: column;
  }

  .smart-builder-top-actions {
    width: 100%;

    justify-content: flex-start;
  }

  .smart-builder-shell {
    grid-template-columns:
      66px
      minmax(0, 1fr);
  }

  .smart-builder-thumbnails {
    display: none;
  }

  .smart-builder-rail {
    min-height: 600px;
  }

  .smart-builder-editor {
    min-height: 600px;
  }

  .smart-builder-start-grid {
    grid-template-columns:
      repeat(
        2,
        minmax(0, 1fr)
      );
  }

  .smart-builder-preview-content {
    grid-template-columns: 1fr;
  }

  .smart-builder-compare-grid {
    grid-template-columns: 1fr;
  }

}


/* =========================================================
   RESPONSIVE — MOBILE
========================================================= */

@media (max-width: 600px) {

  .smart-builder-head {
    padding: 18px 0 14px;
  }

  .smart-builder-title-row h1 {
    font-size: 23px;
  }

  .smart-builder-top-actions {
    display: grid;

    grid-template-columns:
      repeat(
        2,
        minmax(0, 1fr)
      );
  }

  .smart-builder-top-actions
  .btn-builder-primary {
    grid-column:
      1 / -1;
  }

  .smart-builder-workspace {
    padding: 10px 0 22px;
  }

  .smart-builder-shell {
    width:
      calc(100% - 20px);

    grid-template-columns:
      1fr;
  }

  .smart-builder-rail {
    min-height: auto;

    padding: 6px;

    display: grid;

    grid-template-columns:
      repeat(
        4,
        minmax(0, 1fr)
      );

    gap: 5px;
  }

  .smart-builder-rail-item {
    min-height: 54px;
  }

  .smart-builder-ai-rail {
    margin-top: 0;
  }

  .smart-builder-toolbar {
    overflow-x: auto;

    flex-wrap: nowrap;
  }

  .smart-builder-format-group {
    display: none;
  }

  .smart-builder-stage {
    min-height: 320px;

    padding: 14px;
  }

  .smart-builder-bottom-bar {
    align-items: stretch;

    flex-direction: column;
  }

  .smart-builder-bottom-actions {
    display: grid;

    grid-template-columns:
      repeat(
        2,
        minmax(0, 1fr)
      );
  }

  .smart-builder-modal {
    padding: 10px;
  }

  .smart-builder-start-dialog,
  .smart-builder-preview-dialog,
  .smart-builder-compare-dialog,
  .smart-builder-export-dialog {
    padding: 22px 16px;
  }

  .smart-builder-start-grid {
    grid-template-columns: 1fr;
  }

  .smart-builder-start-card {
    min-height: 160px;
  }

  .smart-builder-drawer-panel {
    width: 100%;
  }

  .builder-template-grid,
  .builder-slide-library-grid {
    grid-template-columns: 1fr;
  }

  .smart-builder-preview-actions,
  .smart-builder-compare-actions {
    align-items: stretch;

    flex-direction: column;
  }

  .smart-builder-preview-actions button,
  .smart-builder-compare-actions button {
    width: 100%;
  }

}
/* =========================================================
   MY PRESENTATIONS PAGE
   صفحة عروضي
========================================================= */

.my-presentations-page {
  background: #f6f9fa;
}

/* HERO */

.my-presentations-hero {
  padding: 46px 0 42px;
  background:
    linear-gradient(
      135deg,
      #ffffff 0%,
      #f4faf9 100%
    );
  border-bottom: 1px solid #e1eaec;
}

.my-presentations-hero-inner {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
}

.my-presentations-breadcrumb {
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #81929a;
  font-size: 11px;
}

.my-presentations-breadcrumb a {
  color: var(--teal-dark);
  font-weight: 600;
}

.my-presentations-kicker {
  display: block;
  margin-bottom: 5px;
  color: var(--teal-dark);
  font-size: 12px;
  font-weight: 700;
}

.my-presentations-hero h1 {
  margin: 0 0 8px;
  color: var(--navy);
  font-size: 38px;
  line-height: 1.4;
}

.my-presentations-hero p {
  max-width: 650px;
  margin: 0;
  color: #74878f;
  font-size: 13px;
  line-height: 1.9;
}

.my-presentations-create {
  min-height: 48px;
  padding: 0 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  flex: 0 0 auto;
  color: #ffffff;
  border-radius: 8px;
  background: var(--navy);
  box-shadow:
    0 8px 20px
    rgba(0, 52, 75, 0.14);
  font-size: 12px;
  font-weight: 700;
  transition: 0.2s ease;
}

.my-presentations-create span {
  font-size: 20px;
  line-height: 1;
}

.my-presentations-create:hover {
  color: #ffffff;
  background: #002d41;
  transform: translateY(-1px);
}

/* CONTENT */

.my-presentations-content {
  min-height: 620px;
  padding: 32px 0 70px;
}

/* TOOLBAR */

.my-presentations-toolbar {
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.my-presentations-search {
  width: min(430px, 100%);
  min-height: 44px;
  padding: 0 13px;
  display: flex;
  align-items: center;
  gap: 9px;
  border: 1px solid #dbe5e7;
  border-radius: 8px;
  background: #ffffff;
}

.my-presentations-search span {
  color: #7c8e96;
  font-size: 19px;
}

.my-presentations-search input {
  width: 100%;
  border: 0;
  outline: none;
  color: var(--navy);
  background: transparent;
  font-size: 11px;
}

.my-presentations-search input::placeholder {
  color: #98a5aa;
}

.my-presentations-filter select {
  min-height: 44px;
  padding: 0 13px;
  outline: none;
  color: var(--navy);
  border: 1px solid #dbe5e7;
  border-radius: 8px;
  background: #ffffff;
  font-size: 10px;
}

/* SUMMARY */

.my-presentations-summary {
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.my-presentations-summary > div {
  min-width: 150px;
  padding: 11px 14px;
  display: flex;
  flex-direction: column;
  border: 1px solid #e0e8ea;
  border-radius: 8px;
  background: #ffffff;
}

.my-presentations-summary span {
  color: #7d8f97;
  font-size: 8px;
}

.my-presentations-summary strong {
  color: var(--navy);
  font-size: 17px;
}

/* GRID */

.my-presentations-grid {
  display: grid;
  grid-template-columns:
    repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.my-presentation-card {
  overflow: hidden;
  border: 1px solid #dfe8ea;
  border-radius: 11px;
  background: #ffffff;
  box-shadow:
    0 7px 24px
    rgba(0, 52, 75, 0.035);
  transition:
    transform 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.my-presentation-card:hover {
  transform: translateY(-3px);
  border-color:
    rgba(64, 188, 169, 0.42);
  box-shadow:
    0 14px 32px
    rgba(0, 52, 75, 0.07);
}

/* PREVIEW */

.my-presentation-preview {
  position: relative;
  aspect-ratio: 16 / 9;
  padding: 22px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  background:
    linear-gradient(
      125deg,
      #ffffff 0%,
      #ffffff 57%,
      #e6f4f2 57%,
      #b4e1da 72%,
      #0e666b 72%
    );
  border-bottom: 1px solid #e6edef;
}

.my-presentation-preview::before {
  content: "وزارة التجارة";
  position: absolute;
  top: 16px;
  right: 18px;
  color: var(--navy);
  font-size: 8px;
  font-weight: 700;
}

.my-presentation-preview h3 {
  width: 60%;
  margin: 0;
  color: var(--navy);
  font-size: 18px;
  line-height: 1.5;
}

.my-presentation-preview span {
  width: fit-content;
  margin-top: 6px;
  padding: 3px 7px;
  border-radius: 999px;
  color: var(--teal-dark);
  background:
    rgba(255, 255, 255, 0.72);
  font-size: 7px;
  font-weight: 700;
}

/* CARD BODY */

.my-presentation-body {
  padding: 16px;
}

.my-presentation-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.my-presentation-info {
  min-width: 0;
}

.my-presentation-info h2 {
  margin: 0 0 5px;
  color: var(--navy);
  font-size: 14px;
  line-height: 1.5;
}

.my-presentation-date {
  display: block;
  color: #89999f;
  font-size: 8px;
}

.my-presentation-status {
  flex: 0 0 auto;
  padding: 4px 8px;
  border-radius: 999px;
  color: #127c6e;
  background: #e8f8f4;
  font-size: 7px;
  font-weight: 700;
}

.my-presentation-status.ai {
  color: #146c9a;
  background: #ebf5fb;
}

.my-presentation-meta {
  margin: 14px 0;
  padding: 10px 0;
  display: flex;
  align-items: center;
  gap: 18px;
  border-top: 1px solid #eef2f3;
  border-bottom: 1px solid #eef2f3;
  color: #70838c;
  font-size: 8px;
}

.my-presentation-actions {
  display: grid;
  grid-template-columns:
    1fr
    auto;
  gap: 7px;
}

.my-presentation-open {
  min-height: 37px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  color: #ffffff;
  background: var(--navy);
  font-size: 9px;
  font-weight: 700;
}

.my-presentation-open:hover {
  color: #ffffff;
  background: #002d41;
}

.my-presentation-delete {
  width: 38px;
  height: 37px;
  display: grid;
  place-items: center;
  color: #bd5252;
  border: 1px solid #efd9d9;
  border-radius: 6px;
  background: #fffafa;
  font-size: 15px;
}

.my-presentation-delete:hover {
  background: #fff0f0;
  border-color: #eabcbc;
}

/* LOADING */

.my-presentations-loading {
  min-height: 280px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: #71858e;
  text-align: center;
}

.my-presentations-loader {
  width: 34px;
  height: 34px;
  border: 3px solid #dce8e8;
  border-top-color: var(--teal-dark);
  border-radius: 50%;
  animation:
    myPresentationsSpin
    0.8s linear infinite;
}

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

.my-presentations-loading p {
  margin: 0;
  font-size: 10px;
}

/* EMPTY + ERROR */

.my-presentations-empty,
.my-presentations-error {
  min-height: 340px;
  padding: 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 1px solid #e0e8ea;
  border-radius: 12px;
  background: #ffffff;
}

.my-presentations-empty[hidden],
.my-presentations-error[hidden] {
  display: none;
}

.my-presentations-empty-icon {
  width: 65px;
  height: 65px;
  margin-bottom: 15px;
  display: grid;
  place-items: center;
  border-radius: 17px;
  color: var(--teal-dark);
  background: #e9f8f5;
  font-size: 27px;
}

.my-presentations-empty h2,
.my-presentations-error strong {
  margin: 0 0 7px;
  color: var(--navy);
  font-size: 19px;
}

.my-presentations-empty p,
.my-presentations-error p {
  max-width: 400px;
  margin: 0 0 16px;
  color: #7c8d95;
  font-size: 10px;
  line-height: 1.9;
}

.my-presentations-empty a,
.my-presentations-error button {
  min-height: 39px;
  padding: 0 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 7px;
  color: #ffffff;
  background: var(--navy);
  font-size: 9px;
  font-weight: 700;
}

/* DELETE MODAL */

.presentation-delete-modal {
  position: fixed;
  inset: 0;
  z-index: 5000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.presentation-delete-modal.is-open {
  display: flex;
}

.presentation-delete-backdrop {
  position: absolute;
  inset: 0;
  background:
    rgba(0, 31, 45, 0.55);
  backdrop-filter: blur(4px);
}

.presentation-delete-dialog {
  position: relative;
  z-index: 2;
  width: min(100%, 430px);
  padding: 30px;
  text-align: center;
  border-radius: 13px;
  background: #ffffff;
  box-shadow:
    0 25px 70px
    rgba(0, 52, 75, 0.22);
}

.presentation-delete-icon {
  width: 50px;
  height: 50px;
  margin: 0 auto 12px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #bd5252;
  background: #fff0f0;
  font-size: 23px;
  font-weight: 700;
}

.presentation-delete-dialog h2 {
  margin: 0 0 6px;
  color: var(--navy);
  font-size: 21px;
}

.presentation-delete-dialog p {
  margin: 0 0 8px;
  color: #7b8d95;
  font-size: 10px;
  line-height: 1.8;
}

.presentation-delete-dialog > strong {
  display: block;
  margin-bottom: 20px;
  color: var(--navy);
  font-size: 11px;
}

.presentation-delete-actions {
  display: grid;
  grid-template-columns:
    1fr 1fr;
  gap: 8px;
}

.presentation-delete-actions button {
  min-height: 40px;
  border-radius: 7px;
  font-size: 9px;
  font-weight: 700;
}

.presentation-delete-confirm {
  color: #ffffff;
  border: 1px solid #b84d4d;
  background: #b84d4d;
}

.presentation-delete-cancel {
  color: var(--navy);
  border: 1px solid #d6e1e4;
  background: #ffffff;
}

/* TOAST */

.my-presentations-toast {
  position: fixed;
  z-index: 6000;
  right: 24px;
  bottom: 24px;
  display: none;
  max-width: 340px;
  padding: 11px 14px;
  border-radius: 8px;
  color: #ffffff;
  background: var(--navy);
  box-shadow:
    0 14px 34px
    rgba(0, 52, 75, 0.22);
  font-size: 10px;
}

.my-presentations-toast.is-visible {
  display: block;
}

/* RESPONSIVE */

@media (max-width: 1000px) {

  .my-presentations-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

}

@media (max-width: 700px) {

  .my-presentations-hero-inner {
    align-items: stretch;
    flex-direction: column;
  }

  .my-presentations-create {
    width: fit-content;
  }

  .my-presentations-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .my-presentations-search {
    width: 100%;
  }

  .my-presentations-filter select {
    width: 100%;
  }

  .my-presentations-summary {
    display: grid;
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .my-presentations-summary > div {
    min-width: 0;
  }

  .my-presentations-grid {
    grid-template-columns: 1fr;
  }

}
/* =========================================================
   Content Admin - Templates Management
========================================================= */

.content-admin-page {
  min-height: 100vh;
  background: #f7f9fa;
  color: var(--text);
}


/* =========================
   Main
========================= */

.content-admin-main {
  min-height: calc(100vh - var(--header-height));
  padding-bottom: 60px;
}


/* =========================
   Header
========================= */

.content-admin-header {
  padding: 34px 0 26px;
  background: #ffffff;
  border-bottom: 1px solid var(--border);
}


.content-admin-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;

  margin-bottom: 22px;

  color: var(--muted);

  font-size: 13px;
}


.content-admin-breadcrumb a {
  color: var(--text);
  transition: 0.2s ease;
}


.content-admin-breadcrumb a:hover {
  color: var(--teal-dark);
}


.content-admin-title-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;

  gap: 30px;
}


.content-admin-title-row > div:first-child {
  max-width: 760px;
}


.content-admin-kicker {
  display: inline-block;

  margin-bottom: 5px;

  color: var(--teal-dark);

  font-size: 13px;
  font-weight: 700;
}


.content-admin-title-row h1 {
  margin: 0 0 8px;

  color: var(--navy);

  font-size: 32px;
  line-height: 1.35;
  font-weight: 700;
}


.content-admin-title-row p {
  margin: 0;

  color: var(--muted);

  font-size: 14px;
  line-height: 1.9;
}


/* =========================
   Button
========================= */

.content-admin-title-row .btn-builder-primary {
  min-height: 46px;

  padding: 0 22px;

  border: 0;
  border-radius: 9px;

  background: var(--navy);
  color: #ffffff;

  font-size: 13px;
  font-weight: 700;

  box-shadow:
    0 7px 18px rgba(0, 52, 75, 0.12);

  transition: 0.2s ease;
}


.content-admin-title-row .btn-builder-primary:hover {
  background: var(--navy-dark);
  transform: translateY(-1px);
}


/* =========================
   Stats
========================= */

.content-admin-stats {
  padding: 24px 0 0;
}


.content-admin-stat-grid {
  display: grid;

  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  gap: 16px;
}


.content-admin-stat-card {
  min-height: 105px;

  padding: 20px 22px;

  display: flex;
  flex-direction: column;
  justify-content: center;

  border: 1px solid var(--border);
  border-radius: 12px;

  background: #ffffff;

  box-shadow:
    0 8px 22px rgba(0, 52, 75, 0.035);
}


.content-admin-stat-card span {
  margin-bottom: 7px;

  color: var(--muted);

  font-size: 13px;
  font-weight: 500;
}


.content-admin-stat-card strong {
  color: var(--navy);

  font-size: 27px;
  line-height: 1;
  font-weight: 700;
}


/* =========================
   Library
========================= */

.content-admin-library {
  padding: 20px 0 0;
}


.content-admin-library .container {
  padding: 22px;

  border: 1px solid var(--border);
  border-radius: 14px;

  background: #ffffff;

  box-shadow:
    0 8px 24px rgba(0, 52, 75, 0.035);
}


/* =========================
   Tools
========================= */

.content-admin-tools {
  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 14px;

  margin-bottom: 20px;
}


.content-admin-search {
  width: min(100%, 420px);
  height: 44px;

  padding: 0 14px;

  display: flex;
  align-items: center;

  gap: 9px;

  border: 1px solid var(--border);
  border-radius: 9px;

  background: #ffffff;
}


.content-admin-search span {
  color: var(--navy);

  font-size: 18px;
}


.content-admin-search input {
  width: 100%;

  border: 0;
  outline: 0;

  background: transparent;

  color: var(--text);

  font-size: 13px;
}


.content-admin-search input::placeholder {
  color: #9aa8ae;
}


.content-admin-filter {
  min-width: 160px;
  height: 44px;

  padding: 0 13px;

  border: 1px solid var(--border);
  border-radius: 9px;

  outline: 0;

  background: #ffffff;
  color: var(--text);

  font-size: 13px;
}


/* =========================
   Table
========================= */

.content-admin-table-wrap {
  width: 100%;

  overflow-x: auto;

  border: 1px solid var(--border);
  border-radius: 10px;
}


.content-admin-table {
  width: 100%;
  min-width: 920px;

  border-collapse: collapse;

  background: #ffffff;
}


.content-admin-table thead {
  background: #f7f9fa;
}


.content-admin-table th {
  padding: 14px 16px;

  text-align: right;

  border-bottom: 1px solid var(--border);

  color: var(--navy);

  font-size: 12px;
  font-weight: 700;

  white-space: nowrap;
}


.content-admin-table td {
  padding: 15px 16px;

  border-bottom: 1px solid #edf2f3;

  color: var(--text);

  font-size: 12px;

  vertical-align: middle;
}


.content-admin-table tbody tr:last-child td {
  border-bottom: 0;
}


.content-admin-table tbody tr:hover {
  background: #fbfdfd;
}


.content-admin-empty {
  padding: 42px 20px !important;

  text-align: center !important;

  color: var(--muted) !important;
}


/* =========================
   Status Badges
========================= */

.template-status-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 72px;
  height: 28px;

  padding: 0 10px;

  border-radius: 999px;

  font-size: 11px;
  font-weight: 700;
}


.template-status-badge.is-draft {
  background: #f1f3f4;
  color: #63727a;
}


.template-status-badge.is-approved {
  background: var(--teal-soft);
  color: var(--teal-dark);
}


/* =========================
   Table Actions
========================= */

.template-admin-actions {
  display: flex;
  align-items: center;

  gap: 7px;
}


.template-admin-action {
  min-height: 31px;

  padding: 0 10px;

  border: 1px solid var(--border);
  border-radius: 7px;

  background: #ffffff;
  color: var(--navy);

  font-size: 11px;
  font-weight: 600;

  transition: 0.2s ease;
}


.template-admin-action:hover {
  border-color: #b9d9d4;

  background: var(--teal-soft);

  color: var(--teal-dark);
}


.template-admin-action.is-approve {
  border-color: transparent;

  background: var(--teal);
  color: #ffffff;
}


.template-admin-action.is-approve:hover {
  background: var(--teal-dark);
}


/* =========================================================
   Upload Modal
========================================================= */

#template-upload-modal {
  position: fixed;
  inset: 0;

  z-index: 3000;

  display: none;
  align-items: center;
  justify-content: center;

  padding: 30px;
}


#template-upload-modal.is-open {
  display: flex;
}


#template-upload-modal .smart-builder-modal-backdrop {
  position: absolute;
  inset: 0;

  background:
    rgba(0, 39, 55, 0.55);

  backdrop-filter: blur(3px);
}


.content-admin-upload-dialog {
  position: relative;
  z-index: 1;

  width: min(620px, 100%);
  max-height: calc(100vh - 50px);

  padding: 28px;

  overflow-y: auto;

  border-radius: 16px;

  background: #ffffff;

  box-shadow:
    0 24px 70px rgba(0, 39, 55, 0.2);
}


.content-admin-upload-dialog
.smart-builder-modal-close {
  position: absolute;

  top: 18px;
  left: 18px;

  width: 34px;
  height: 34px;

  display: flex;
  align-items: center;
  justify-content: center;

  border: 1px solid var(--border);
  border-radius: 8px;

  background: #ffffff;
  color: var(--navy);

  font-size: 20px;
  line-height: 1;
}


.content-admin-upload-head {
  padding-left: 44px;

  margin-bottom: 22px;
}


.content-admin-upload-head h2 {
  margin: 0 0 6px;

  color: var(--navy);

  font-size: 22px;
  font-weight: 700;
}


.content-admin-upload-head p {
  margin: 0;

  color: var(--muted);

  font-size: 12px;
  line-height: 1.8;
}


/* =========================
   Form
========================= */

.content-admin-upload-form {
  display: grid;

  gap: 15px;
}


.content-admin-field {
  display: grid;

  gap: 7px;
}


.content-admin-field > span {
  color: var(--navy);

  font-size: 12px;
  font-weight: 700;
}


.content-admin-field input,
.content-admin-field textarea,
.content-admin-field select {
  width: 100%;

  border: 1px solid var(--border);
  border-radius: 8px;

  outline: 0;

  background: #ffffff;
  color: var(--text);

  font-size: 13px;

  transition: 0.2s ease;
}


.content-admin-field input,
.content-admin-field select {
  height: 43px;

  padding: 0 12px;
}


.content-admin-field textarea {
  min-height: 90px;

  padding: 10px 12px;

  resize: vertical;
}


.content-admin-field input:focus,
.content-admin-field textarea:focus,
.content-admin-field select:focus {
  border-color: var(--teal);

  box-shadow:
    0 0 0 3px rgba(64, 188, 169, 0.08);
}


.content-admin-field small {
  color: var(--muted);

  font-size: 10px;
}


/* =========================
   Upload Status
========================= */

.content-admin-upload-status {
  min-height: 18px;

  color: var(--muted);

  font-size: 11px;
}


.content-admin-upload-status.is-error {
  color: #b42318;
}


.content-admin-upload-status.is-success {
  color: var(--teal-dark);
}


/* =========================
   Modal Actions
========================= */

.content-admin-form-actions {
  display: flex;
  align-items: center;

  gap: 10px;

  margin-top: 4px;
}


.content-admin-form-actions .btn-builder-primary,
.content-admin-form-actions .btn-builder-soft {
  min-height: 42px;

  padding: 0 18px;

  border-radius: 8px;

  font-size: 12px;
  font-weight: 700;
}


.content-admin-form-actions .btn-builder-primary {
  border: 0;

  background: var(--navy);
  color: #ffffff;
}


.content-admin-form-actions .btn-builder-soft {
  border: 1px solid var(--border);

  background: #ffffff;
  color: var(--navy);
}


/* =========================
   Responsive
========================= */

@media (max-width: 900px) {

  .content-admin-title-row {
    align-items: flex-start;
    flex-direction: column;
  }


  .content-admin-stat-grid {
    grid-template-columns: 1fr;
  }


  .content-admin-tools {
    align-items: stretch;
    flex-direction: column;
  }


  .content-admin-search {
    width: 100%;
  }


  .content-admin-filter {
    width: 100%;
  }

}


/* =========================================================
   Presentation Builder — slide actions & title rename
   Additions only (approved for phase 4A); existing rules unchanged.
========================================================= */

.smart-builder-thumbnail-actions {
  position: absolute;

  top: 6px;
  left: 7px;

  z-index: 3;

  display: flex;

  gap: 3px;

  opacity: 0;

  transition: opacity 0.18s ease;
}

.smart-builder-thumbnail:hover .smart-builder-thumbnail-actions,
.smart-builder-thumbnail:focus-visible .smart-builder-thumbnail-actions,
.smart-builder-thumbnail.is-active .smart-builder-thumbnail-actions {
  opacity: 1;
}

.smart-builder-thumbnail-action {
  width: 20px;
  height: 20px;

  display: grid;

  place-items: center;

  border: 1px solid var(--border);

  border-radius: 50%;

  color: var(--navy);

  background: var(--white);

  cursor: pointer;

  transition: 0.18s ease;
}

.smart-builder-thumbnail-action svg {
  width: 11px;
  height: 11px;
}

.smart-builder-thumbnail-action:hover {
  border-color: var(--teal-dark);

  color: var(--teal-dark);
}

.smart-builder-thumbnail-action.is-delete:hover {
  border-color: #b42318;

  color: #b42318;
}

.smart-builder-thumbnail-action[aria-disabled="true"] {
  opacity: 0.35;

  pointer-events: none;
}

.smart-builder-title-edit {
  width: 28px;
  height: 28px;

  margin-inline-start: 8px;

  display: inline-grid;

  place-items: center;

  vertical-align: middle;

  border: 1px solid var(--border);

  border-radius: 50%;

  color: var(--navy);

  background: var(--white);

  cursor: pointer;

  transition: 0.18s ease;
}

.smart-builder-title-edit svg {
  width: 14px;
  height: 14px;
}

.smart-builder-title-edit:hover,
.smart-builder-title-edit:focus-visible {
  border-color: var(--teal-dark);

  color: var(--teal-dark);
}

.smart-builder-title-text[contenteditable="true"] {
  outline: 2px solid rgba(64, 188, 169, 0.45);

  outline-offset: 3px;

  border-radius: 4px;
}


/* =========================================================
   REBRAND: «رفع عرض وإعادة تصميمه» (phase 4B.4-A)
   Scoped to .rebrand-*; reuses the site's colours and
   the my-presentations / builder-upload components.
========================================================= */

.rebrand-page {
  background: #f6f9fa;
}

/* hidden must win over the display rules of reused components */
.rebrand-page [hidden] {
  display: none !important;
}

.rebrand-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.rebrand-drawer-link {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
}

.rebrand-drawer-link:hover {
  color: #ffffff;
}

.rebrand-drawer-note {
  margin: 7px 0 14px;
  color: #7b8d95;
  font-size: 9px;
  line-height: 1.8;
}

.my-presentation-actions.is-rebrand {
  grid-template-columns: 1fr 1fr auto;
}

.rebrand-back {
  background: #ffffff;
  color: var(--navy);
  border: 1px solid var(--border);
  box-shadow: none;
}

.rebrand-back:hover {
  background: var(--teal-soft);
  color: var(--navy);
}

.rebrand-layout {
  display: grid;
  gap: 18px;
}

.rebrand-upload button {
  font-size: 12px;
  min-height: 42px;
}

.rebrand-upload.is-dragging {
  background: var(--teal-soft);
  border-color: var(--teal-dark);
}

.rebrand-card {
  padding: 20px 22px;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: #ffffff;
  box-shadow: var(--shadow);
}

.rebrand-card + .rebrand-card {
  margin-top: 18px;
}

.rebrand-card-head {
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.rebrand-card-head strong {
  color: var(--navy);
  font-size: 15px;
}

.rebrand-muted {
  color: var(--muted);
  font-size: 11px;
}

.rebrand-steps {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 8px;
}

.rebrand-steps li {
  padding: 11px 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--section-bg);
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  text-align: center;
}

.rebrand-steps li.is-active {
  border-color: var(--teal);
  background: var(--teal-soft);
  color: var(--teal-dark);
}

.rebrand-steps li.is-done {
  border-color: var(--teal-dark);
  background: var(--teal-dark);
  color: #ffffff;
}

.rebrand-steps li.is-failed {
  border-color: #e3b4b4;
  background: #fff4f4;
  color: #b04444;
}

.rebrand-error {
  margin-top: 16px;
  padding: 14px 16px;
  border: 1px solid #efd0d0;
  border-radius: 8px;
  background: #fffafa;
}

.rebrand-error strong {
  color: #b04444;
  font-size: 13px;
}

.rebrand-error p {
  margin: 6px 0 12px;
  color: #6c4b4b;
  font-size: 12px;
  line-height: 1.8;
}

.rebrand-verdict.is-needs_review {
  border-color: #f0d9a8;
  background: #fffcf4;
}

.rebrand-verdict.is-verified {
  border-color: #bfe3dc;
  background: #f5fcfa;
}

.rebrand-verdict.is-blocked {
  border-color: #efd0d0;
  background: #fffafa;
}

.rebrand-slides {
  color: var(--navy);
  font-size: 12px;
  font-weight: 700;
}

.rebrand-counts {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.rebrand-counts span {
  padding: 6px 10px;
  border-radius: 999px;
  background: #eef3f4;
  color: var(--navy);
  font-size: 11px;
  font-weight: 700;
}

.rebrand-counts span.is-matched {
  background: var(--teal-soft);
  color: var(--teal-dark);
}

.rebrand-counts span.is-attention {
  background: #fff1d6;
  color: #8a5a00;
}

.rebrand-verdict-note {
  margin: 12px 0 0;
  color: #5e737b;
  font-size: 12px;
  line-height: 1.9;
}

.rebrand-actions {
  margin-top: 14px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.rebrand-button {
  min-height: 40px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--navy);
  border-radius: 7px;
  background: var(--navy);
  color: #ffffff;
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.rebrand-button:hover {
  color: #ffffff;
  background: #002d41;
}

.rebrand-button.is-soft {
  background: #ffffff;
  color: var(--navy);
  border-color: var(--border);
}

.rebrand-button.is-soft:hover {
  background: var(--teal-soft);
  color: var(--navy);
}

.rebrand-button[disabled],
.rebrand-button.is-disabled {
  opacity: 0.45;
  cursor: not-allowed;
  pointer-events: none;
}

.rebrand-confirm {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #8a5a00;
  font-size: 12px;
  font-weight: 700;
}

.rebrand-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.rebrand-compare h3 {
  margin: 0 0 8px;
  color: var(--navy);
  font-size: 13px;
}

.rebrand-preview-note {
  margin-bottom: 8px;
  color: #8a5a00;
  font-size: 11px;
  line-height: 1.8;
}

.rebrand-preview-note:empty {
  display: none;
}

.rebrand-thumbs {
  max-height: 560px;
  overflow-y: auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.rebrand-thumbs figure {
  margin: 0;
}

.rebrand-thumbs img,
.rebrand-thumbs .rebrand-missing {
  width: 100%;
  aspect-ratio: 16 / 9;
  display: block;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #ffffff;
}

.rebrand-thumbs .rebrand-missing {
  display: grid;
  place-items: center;
  color: var(--muted);
  font-size: 10px;
}

.rebrand-thumbs figcaption {
  margin-top: 4px;
  color: var(--muted);
  font-size: 10px;
}

.rebrand-general {
  margin: 0 0 14px;
  padding-inline-start: 18px;
  color: #5e737b;
  font-size: 12px;
  line-height: 1.9;
}

.rebrand-general:empty {
  display: none;
}

.rebrand-table-wrap {
  overflow-x: auto;
}

.rebrand-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}

.rebrand-table th {
  padding: 9px 10px;
  background: var(--navy);
  color: #f8f8f8;
  text-align: right;
}

.rebrand-table td {
  padding: 9px 10px;
  border-bottom: 1px solid #eef2f3;
  color: var(--text);
  vertical-align: top;
  line-height: 1.8;
}

.rebrand-table td ul {
  margin: 0;
  padding-inline-start: 16px;
}

.rebrand-status {
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
}

.rebrand-status.is-partial {
  background: #fff1d6;
  color: #8a5a00;
}

.rebrand-status.is-unsupported,
.rebrand-status.is-not_carried,
.rebrand-status.is-mismatch {
  background: #fdeaea;
  color: #a33a3a;
}

@media (max-width: 900px) {
  .rebrand-compare,
  .rebrand-steps {
    grid-template-columns: 1fr;
  }
}

/* file names mix Arabic and ".pptx": keep their own reading order */
#rebrand-file-name {
  unicode-bidi: plaintext;
}


/* =========================================================
   WORKSPACE: PowerPoint decks (phase 4B.4-B)
   The slide is PowerPoint's own picture; .deck-overlay holds one
   transparent box per PPTX element for selecting, editing, moving.
========================================================= */

.smart-builder-thumbnail-preview {
  position: relative;
}

.smart-builder-thumbnail-image {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  background: #ffffff;
}

.deck-thumb-pending {
  position: absolute;
  inset-inline-start: 4px;
  bottom: 4px;
  padding: 2px 6px;
  border-radius: 999px;
  background: rgba(0, 52, 75, 0.82);
  color: #ffffff;
  font-size: 8px;
  font-weight: 700;
}

.deck-overlay {
  position: absolute;
  inset: 0;
  z-index: 6;
}

.deck-hotspot {
  position: absolute;
  border: 1px dashed transparent;
  border-radius: 2px;
  cursor: default;
  touch-action: none;
}

.deck-hotspot:hover {
  border-color: rgba(64, 188, 169, 0.9);
  background: rgba(64, 188, 169, 0.06);
}

.deck-hotspot.is-editable {
  cursor: text;
}

.deck-hotspot.is-selected {
  border: 1.5px solid var(--teal-dark);
  background: rgba(64, 188, 169, 0.08);
}

.deck-hotspot.is-dragging {
  border-style: dashed;
  background: rgba(0, 52, 75, 0.08);
  cursor: grabbing;
}

.deck-hotspot.is-overflow {
  border-color: #d08a2c;
}

.deck-badge {
  position: absolute;
  inset-inline-start: 10px;
  top: 10px;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(0, 52, 75, 0.85);
  color: #ffffff;
  font-size: 11px;
  font-weight: 700;
  pointer-events: none;
}

.deck-report-link {
  margin-inline-start: 6px;
  color: var(--teal-dark);
  font-weight: 700;
  text-decoration: underline;
}

.deck-editor {
  position: fixed;
  z-index: 7000;
  padding: 14px;
  display: grid;
  gap: 10px;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: #ffffff;
  box-shadow: 0 18px 45px rgba(0, 52, 75, 0.18);
}

.deck-editor-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.deck-editor-head strong {
  color: var(--navy);
  font-size: 13px;
}

.deck-editor-close {
  border: 0;
  background: none;
  color: var(--muted);
  font-size: 18px;
  cursor: pointer;
}

.deck-editor-text {
  width: 100%;
  padding: 9px 10px;
  border: 1px solid var(--border);
  border-radius: 7px;
  color: var(--navy);
  font-family: inherit;
  font-size: 13px;
  line-height: 1.8;
  resize: vertical;
}

.deck-editor-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: var(--muted);
  font-size: 12px;
}

.deck-editor-row select {
  margin-inline-start: 6px;
  min-height: 32px;
  border: 1px solid var(--border);
  border-radius: 6px;
  font-family: inherit;
}

.deck-editor-align {
  display: flex;
  gap: 4px;
}

.deck-editor-align button {
  min-height: 32px;
  padding: 0 10px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #ffffff;
  color: var(--navy);
  font-family: inherit;
  font-size: 12px;
  cursor: pointer;
}

.deck-editor-align button.is-active {
  border-color: var(--teal-dark);
  background: var(--teal-soft);
  color: var(--teal-dark);
  font-weight: 700;
}

.deck-editor-note,
.deck-editor-warning {
  margin: 0;
  font-size: 11px;
  line-height: 1.7;
}

.deck-editor-note {
  color: var(--muted);
}

.deck-editor-warning {
  color: #8a5a00;
  font-weight: 700;
}

.deck-editor-actions {
  display: flex;
  gap: 8px;
}

.is-deck-mode #font-family,
.is-deck-mode [data-editor-command="bold"],
.is-deck-mode [data-editor-command="undo"],
.is-deck-mode [data-editor-command="redo"] {
  opacity: 0.45;
}

#before-after-button.is-active {
  border-color: var(--teal-dark);
  background: var(--teal-soft);
  color: var(--teal-dark);
}


/* =========================================================
   Header: signed-in user name and sign-out button
========================================================= */

.account-signout {
  min-height: 34px;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #111f27;
  font-family: inherit;
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  cursor: pointer;
  transition: color 0.18s ease;
}

.account-signout svg {
  width: 21px;
  height: 21px;
}

.account-signout .account-name {
  color: var(--muted);
}

.account-signout .account-name:empty {
  display: none;
}

.account-signout:hover,
.account-signout:focus-visible {
  color: #b0392c;
}

.account-signout:disabled {
  opacity: 0.6;
  cursor: progress;
}

@media (max-width: 760px) {
  .account-signout .account-name,
  .account-signout .account-signout-label {
    display: none;
  }
}


/* =========================================================
   Short site-wide message (pages not ready yet, etc.)
========================================================= */

.site-message {
  position: fixed;
  left: 50%;
  bottom: 28px;
  z-index: 3000;
  max-width: min(520px, calc(100vw - 32px));
  padding: 12px 18px;
  border-radius: 10px;
  color: #ffffff;
  background: #0d2f3d;
  box-shadow: 0 12px 30px rgba(0, 25, 36, 0.3);
  font-size: 13.5px;
  line-height: 1.6;
  text-align: center;
  opacity: 0;
  transform: translate(-50%, 16px);
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.site-message.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
}




/* =========================================================
   Signed-in header: account menu (name + initial)
========================================================= */

.account-menu {
  position: relative;
}

.account-trigger {
  display: flex;
  align-items: center;
  gap: 9px;
  height: 42px;
  padding: 0 12px 0 5px;
  border: 1px solid #e3eaec;
  border-radius: 999px;
  background: #ffffff;
  color: #00344b;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.account-trigger:hover,
.account-menu.is-open .account-trigger {
  border-color: #bfe0dc;
  box-shadow: 0 4px 14px rgba(0, 52, 75, 0.08);
}

.account-trigger:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(0, 206, 183, 0.35);
}

.account-avatar {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: linear-gradient(145deg, #004a68 0%, #00344b 100%);
  color: #00ceb7;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
}

.account-avatar.is-large {
  width: 46px;
  height: 46px;
  font-size: 20px;
}

/* In RTL the avatar sits on the right of the name, like the design. */
.account-trigger .account-avatar { order: 0; }
.account-trigger .account-first { order: 1; }
.account-caret {
  order: 2;
  width: 15px;
  height: 15px;
  color: #6b7f88;
  transition: transform 0.18s ease;
}

.account-menu.is-open .account-caret {
  transform: rotate(180deg);
}

.account-panel {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  z-index: 1200;
  width: 300px;
  overflow: hidden;
  border: 1px solid #e3eaec;
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 22px 54px rgba(0, 52, 75, 0.18);
  animation: account-panel-in 0.16s ease-out;
}

.account-panel[hidden] {
  display: none;
}

@keyframes account-panel-in {
  from { opacity: 0; transform: translateY(-6px); }
  to { opacity: 1; transform: none; }
}

.account-panel-head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px;
}

.account-panel-head div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.account-panel-head strong {
  overflow: hidden;
  color: #00344b;
  font-size: 15px;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.account-panel-head small {
  color: #5d717b;
  font-size: 12.5px;
  line-height: 1.6;
}

.account-panel-links a,
.account-panel-out {
  display: flex;
  align-items: center;
  gap: 11px;
  width: 100%;
  padding: 12px 18px;
  border: 0;
  border-top: 1px solid #f0f4f5;
  background: transparent;
  color: #1b2a33;
  font-family: inherit;
  font-size: 14px;
  text-align: start;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s ease;
}

.account-panel-links a:hover,
.account-panel-links a:focus-visible,
.account-panel-out:hover,
.account-panel-out:focus-visible {
  outline: none;
  background: #f4f8f9;
}

.account-panel svg {
  flex: 0 0 auto;
  width: 19px;
  height: 19px;
  color: #169c8c;
}

.account-panel-out,
.account-panel-out svg {
  color: #a3271b;
}

.account-panel-out:disabled {
  opacity: 0.6;
  cursor: progress;
}

@media (max-width: 760px) {
  .account-trigger {
    padding: 0 4px;
  }
  .account-first,
  .account-caret {
    display: none;
  }
  .account-panel {
    width: min(300px, calc(100vw - 32px));
  }
}


/* =========================================================
   «معاينة كـ» (system admin views the platform as a role)
========================================================= */

.account-preview {
  padding: 12px 18px 14px;
  border-top: 1px solid #f0f4f5;
  background: #fbfcfd;
}

.account-preview-title {
  display: block;
  margin-bottom: 8px;
  color: #5d717b;
  font-size: 12px;
  font-weight: 700;
}

.account-preview-options {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.account-preview-options button,
.account-preview-back {
  height: 32px;
  padding: 0 12px;
  border: 1px solid #d7e3e6;
  border-radius: 999px;
  background: #ffffff;
  color: #00344b;
  font-family: inherit;
  font-size: 12.5px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}

.account-preview-options button:hover,
.account-preview-options button:focus-visible {
  outline: none;
  border-color: #00ceb7;
}

.account-preview-options button.is-on {
  border-color: #00344b;
  background: #00344b;
  color: #ffffff;
}

.account-preview-back {
  width: 100%;
  margin-top: 10px;
  border-color: #f0c36d;
  background: #fff6e3;
  color: #7a4a00;
}

.preview-bar {
  position: sticky;
  top: 0;
  z-index: 1300;
  background: linear-gradient(90deg, #002b3d 0%, #00344b 55%, #003f5a 100%);
  box-shadow: inset 0 -2px 0 #00ceb7;
  color: rgba(255, 255, 255, 0.82);
  font-size: 13px;
}

.preview-bar-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  width: min(calc(100% - 48px), var(--container, 1320px));
  min-height: 48px;
  margin-inline: auto;
  padding: 7px 0 9px;
}

.preview-bar-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  height: 26px;
  padding: 0 11px 0 12px;
  border: 1px solid rgba(0, 206, 183, 0.45);
  border-radius: 999px;
  background: rgba(0, 206, 183, 0.12);
  color: #00ceb7;
  font-size: 12px;
  font-weight: 700;
}

.preview-bar-badge svg {
  width: 16px;
  height: 16px;
}

.preview-bar-text {
  color: rgba(255, 255, 255, 0.7);
}

.preview-bar-roles {
  display: inline-flex;
  padding: 3px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 9px;
  background: rgba(0, 0, 0, 0.18);
}

.preview-bar-roles button {
  height: 28px;
  padding: 0 14px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: rgba(255, 255, 255, 0.72);
  font-family: inherit;
  font-size: 12.5px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}

.preview-bar-roles button:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}

.preview-bar-roles button.is-on {
  background: #00ceb7;
  color: #002b3d;
  cursor: default;
}

.preview-bar-exit {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  height: 32px;
  margin-inline-start: auto;
  padding: 0 14px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 8px;
  background: transparent;
  color: #ffffff;
  font-family: inherit;
  font-size: 12.5px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.preview-bar-exit svg {
  width: 13px;
  height: 13px;
}

.preview-bar-exit:hover,
.preview-bar-exit:focus-visible {
  outline: none;
  border-color: #ffffff;
  background: rgba(255, 255, 255, 0.12);
}


/* =========================================================
   Unified page heads (admin pages match «عروضي» and «لوحة المدير»)
========================================================= */

.content-admin-header {
  padding: 40px 0 84px;
  border-bottom: 0;
  background: linear-gradient(135deg, #004663 0%, #00344b 55%, #002b3d 100%);
  color: #ffffff;
}

.content-admin-header .content-admin-breadcrumb,
.content-admin-header .content-admin-breadcrumb span {
  color: rgba(255, 255, 255, 0.6);
}

.content-admin-header .content-admin-breadcrumb a {
  color: rgba(255, 255, 255, 0.75);
}

.content-admin-header .content-admin-breadcrumb a:hover {
  color: #ffffff;
}

.content-admin-header .content-admin-breadcrumb span:last-child {
  color: #00ceb7;
}

.content-admin-header .content-admin-kicker {
  color: #00ceb7;
}

.content-admin-header .content-admin-title-row h1 {
  color: #ffffff;
  font-size: clamp(28px, 3vw, 36px);
}

.content-admin-header .content-admin-title-row p {
  color: rgba(255, 255, 255, 0.78);
  font-size: 15px;
}

.content-admin-header .btn-builder-primary {
  border-color: #00ceb7;
  background: #00ceb7;
  color: #002b3d;
  box-shadow: 0 8px 20px rgba(0, 206, 183, 0.25);
}

.content-admin-header .btn-builder-primary:hover {
  background: #12dcc4;
}

.content-admin-header .btn-builder-soft {
  border-color: rgba(255, 255, 255, 0.4);
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}

.content-admin-header .btn-builder-soft:hover {
  background: rgba(255, 255, 255, 0.16);
}

/* The number cards float over the bottom of the band. */
.content-admin-stats {
  position: relative;
  z-index: 2;
  margin-top: -56px;
  background: transparent;
}

.content-admin-stat-card {
  min-height: 112px;
  border-radius: 16px;
  box-shadow: 0 18px 44px rgba(0, 52, 75, 0.1);
}

.content-admin-stat-card strong {
  font-size: 30px;
}

/* Library page band: same navy as the other pages. */
.lib-hero {
  background:
    radial-gradient(circle at 12% 120%, rgba(0, 206, 183, 0.18) 0, transparent 42%),
    linear-gradient(135deg, #004663 0%, #00344b 55%, #002b3d 100%);
}


/* =========================================================
   Phone menu (app.js initMobileMenu)
========================================================= */
.mobile-menu-button { display: none; }
.mobile-menu-panel[hidden] { display: none; }

@media (max-width: 900px) {
  .mobile-menu-button {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    order: -1;
    border: 1px solid #d5e0e4;
    border-radius: 10px;
    background: #ffffff;
    color: #00344b;
    cursor: pointer;
  }

  .mobile-menu-button svg { width: 22px; height: 22px; }
  .mobile-menu-button[aria-expanded="true"] { border-color: #00344b; background: #f4f8f9; }

  .mobile-menu-panel {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    z-index: 1200;
    display: grid;
    padding: 8px 16px 14px;
    border-bottom: 1px solid #e3eaec;
    background: #ffffff;
    box-shadow: 0 18px 30px rgba(0, 52, 75, .12);
  }

  .mobile-menu-panel a {
    padding: 13px 4px;
    border-bottom: 1px solid #f0f4f5;
    color: #17323f;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
  }

  .mobile-menu-panel a:last-child { border-bottom: 0; }
  .mobile-menu-panel a.active { color: #0b7d6f; }
  .mobile-menu-panel a.active::before { content: ""; display: inline-block; width: 4px; height: 16px; margin-inline-end: 10px; border-radius: 2px; background: #00ceb7; vertical-align: -2px; }
}

@media (max-width: 900px) {
  .main-header .header-inner { grid-template-columns: auto 1fr auto; gap: 12px; }
  .main-header .ministry-brand img { width: 112px; height: auto; }
}
