/* =========================================================
   QePatientPortal v1.2.50 - Saudi National Day 2026 theme
   "عزّنا بطبعنا"
   Seasonal presentation layer only. No portal workflow logic.
   ========================================================= */

.national-day-theme{
  --snd-green-950:#002f2a;
  --snd-green-900:#003d35;
  --snd-green-800:#075444;
  --snd-green-700:#0b6a4d;
  --snd-green-600:#0b8d52;
  --snd-green-500:#10a85d;
  --snd-cream:#f7f3e7;
  --snd-gold:#7c5d21;
  --snd-olive:#607c4f;
  --snd-magenta:#971a4d;
  --snd-lime:#5aba1c;
  --snd-blue:#0050af;
  --snd-violet:#6565e0;
  --snd-ink:#17352f;
  --snd-line:#d6e4dc;
  --primary:var(--snd-green-600);
  --primary-dark:var(--snd-green-900);
  --primary-soft:#edf8f1;
  --ink:var(--snd-ink);
  --line:var(--snd-line);
  --background:#f3f7f3;
  --shadow-xs:0 4px 14px rgba(0,61,53,.06);
  --shadow-sm:0 12px 34px rgba(0,61,53,.09);
  --shadow-md:0 24px 60px rgba(0,61,53,.15);
}

/* Shared surface language */
body.national-day-theme.portal-body{
  background:
    radial-gradient(circle at 7% 5%,rgba(90,186,28,.07),transparent 26%),
    radial-gradient(circle at 94% 2%,rgba(151,26,77,.045),transparent 23%),
    linear-gradient(180deg,#fbfdf9 0%,#f2f7f3 100%);
}
body.national-day-theme.portal-body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background-image:url('/images/national-day/snd-textile-square.webp');
  background-size:760px 760px;
  background-position:left -260px top -220px;
  background-repeat:no-repeat;
  opacity:.035;
}

.national-day-theme .desktop-sidebar{
  background:
    linear-gradient(180deg,rgba(0,47,42,.91),rgba(0,61,53,.97)),
    url('/images/national-day/snd-textile-banner.webp') center top/auto 100% no-repeat;
  box-shadow:18px 0 54px rgba(0,47,42,.16);
}
.national-day-theme .sidebar-brand{border-bottom-color:rgba(255,255,255,.16)}
.national-day-theme .sidebar-brand-title{color:#fff}
.national-day-theme .sidebar-brand-tagline{color:rgba(255,255,255,.78)}
.national-day-theme .sidebar-link{color:rgba(255,255,255,.87)}
.national-day-theme .sidebar-link:hover{background:rgba(255,255,255,.10)}
.national-day-theme .sidebar-link.active{
  color:var(--snd-green-900);
  background:#fff;
  box-shadow:0 12px 26px rgba(0,25,22,.25);
}
.national-day-theme .sidebar-link.active::after{
  content:"";
  position:absolute;
  inset-inline-end:10px;
  top:10px;
  bottom:10px;
  width:4px;
  border-radius:9px;
  background:linear-gradient(180deg,var(--snd-lime),var(--snd-green-600));
}
.national-day-theme .sidebar-link.active .nav-icon{
  color:var(--snd-green-700);
  background:#edf8f1;
}
.national-day-theme .sidebar-logout button{border-color:rgba(255,255,255,.18)}

.national-day-theme .topbar{
  background:rgba(255,255,255,.94);
  border-bottom-color:#dbe7df;
  box-shadow:0 7px 22px rgba(0,61,53,.055);
}
.national-day-theme .topbar::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:2px;
  background:linear-gradient(90deg,var(--snd-gold),var(--snd-olive),var(--snd-magenta),var(--snd-lime),var(--snd-blue),var(--snd-violet));
  opacity:.72;
}
.snd-topbar-logo{
  width:210px;
  height:46px;
  border-radius:10px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--snd-green-950);
  box-shadow:0 7px 18px rgba(0,61,53,.12);
  flex:0 0 auto;
}
.snd-topbar-logo img{display:block;width:100%;height:100%;object-fit:contain}
.national-day-theme .portal-language-switch,
.national-day-theme .portal-back-button{
  color:var(--snd-green-800);
  border-color:#bcd8c7;
  background:#fff;
}
.national-day-theme .portal-language-switch:hover,
.national-day-theme .portal-back-button:hover{
  color:var(--snd-green-900);
  background:#eef8f1;
  border-color:#8dc5a4;
}
.national-day-theme .topbar-notifications.active{color:var(--snd-green-700)}
.national-day-theme .user-avatar,
.national-day-theme .primary-button{
  background:linear-gradient(135deg,var(--snd-green-700),var(--snd-green-500));
  box-shadow:0 8px 18px rgba(11,141,82,.22);
}
.national-day-theme .user-chip{border-color:#d4e2da;box-shadow:var(--shadow-xs)}

/* Main cards */
.national-day-theme .portal-card,
.national-day-theme .metric-card,
.national-day-theme .patient-mobile-card,
.national-day-theme .quick-actions-grid>a,
.national-day-theme .insurance-card,
.national-day-theme .appointment-card,
.national-day-theme .visit-card,
.national-day-theme .lab-card,
.national-day-theme .sick-leave-card,
.national-day-theme .request-card,
.national-day-theme .complaint-card{
  border-color:#dbe6df;
  box-shadow:var(--shadow-xs);
}
.national-day-theme .portal-card:hover,
.national-day-theme .quick-actions-grid>a:hover{
  border-color:#b9d8c5;
  box-shadow:var(--shadow-sm);
}
.national-day-theme .page-eyebrow,
.national-day-theme .section-kicker,
.national-day-theme .card-header-row a,
.national-day-theme .dashboard-v120-section-heading>a{
  color:var(--snd-green-700);
}
.national-day-theme .patient-status-pill,
.national-day-theme .status-badge{
  color:#11663f;
  background:#edf8f1;
  border-color:#c5e4d0;
}
.national-day-theme .patient-status-pill span{background:var(--snd-green-500)}
.national-day-theme .appointment-date-box{
  color:var(--snd-green-900);
  border-color:#c8dfd1;
  background:linear-gradient(180deg,#edf8f1,#fbfdfb);
}
.national-day-theme .timeline-dot{background:var(--snd-green-600);border-color:#cde7d5}
.national-day-theme .input-shell:focus-within,
.national-day-theme input:focus,
.national-day-theme select:focus,
.national-day-theme textarea:focus{border-color:var(--snd-green-600)}

/* Dashboard hero: the national identity is strong here, while content stays medical and readable. */
.national-day-theme.controller-dashboard.action-index .welcome-section{
  min-height:270px;
  grid-template-columns:minmax(0,1fr);
  align-items:center;
  padding:34px 36px;
  border-color:#1d6754;
  background:
    linear-gradient(90deg,rgba(0,47,42,.94) 0%,rgba(0,61,53,.89) 48%,rgba(0,47,42,.68) 100%),
    url('/images/national-day/snd-textile-banner.webp') center/cover no-repeat;
  box-shadow:0 20px 48px rgba(0,61,53,.18);
  isolation:isolate;
}
.national-day-theme.controller-dashboard.action-index .welcome-section::before{
  content:"";
  position:absolute;
  inset-inline-end:30px;
  bottom:28px;
  width:min(34%,330px);
  aspect-ratio:840/152;
  background:url('/images/national-day/snd-logo-horizontal.png') center/contain no-repeat;
  filter:drop-shadow(0 10px 20px rgba(0,0,0,.16));
  z-index:2;
}
.national-day-theme.controller-dashboard.action-index .welcome-section::after{
  content:"";
  position:absolute;
  inset:0;
  width:auto;
  height:auto;
  border-radius:inherit;
  background:
    linear-gradient(90deg,transparent 0 65%,rgba(90,186,28,.08) 65% 66%,transparent 66% 100%),
    radial-gradient(circle at 92% 10%,rgba(124,93,33,.22),transparent 18%);
  pointer-events:none;
  z-index:0;
}
.national-day-theme.controller-dashboard.action-index .welcome-section>div:first-child{max-width:62%;z-index:3}
.national-day-theme.controller-dashboard.action-index .welcome-section h1,
.national-day-theme.controller-dashboard.action-index .welcome-section p,
.national-day-theme.controller-dashboard.action-index .welcome-section .page-eyebrow{color:#fff}
.national-day-theme.controller-dashboard.action-index .welcome-section p{color:rgba(255,255,255,.82)}
.national-day-theme.controller-dashboard.action-index .welcome-section .page-eyebrow{opacity:.9}
.national-day-theme.controller-dashboard.action-index .welcome-visual{display:none}
.national-day-theme.controller-dashboard.action-index .welcome-section .patient-status-pill{
  color:#164f36;
  background:rgba(255,255,255,.94);
  border-color:rgba(255,255,255,.72);
  box-shadow:0 10px 24px rgba(0,0,0,.12);
}

/* Six-trait accent palette from the visual identity. */
.national-day-theme .metric-teal::after{background:var(--snd-green-600)}
.national-day-theme .metric-blue::after{background:var(--snd-blue)}
.national-day-theme .metric-violet::after{background:var(--snd-violet)}
.national-day-theme .metric-orange::after{background:var(--snd-gold)}
.national-day-theme .metric-teal .metric-icon{background:#edf8f1;color:var(--snd-green-700)}
.national-day-theme .metric-blue .metric-icon{background:#edf4ff;color:var(--snd-blue)}
.national-day-theme .metric-violet .metric-icon{background:#f1efff;color:var(--snd-violet)}
.national-day-theme .metric-orange .metric-icon{background:#f7f1e6;color:var(--snd-gold)}
.national-day-theme .qv-icon.teal{background:#edf8f1!important;color:var(--snd-green-700)!important}
.national-day-theme .qv-icon.blue{background:#edf4ff!important;color:var(--snd-blue)!important}
.national-day-theme .qv-icon.green{background:#eef7eb!important;color:var(--snd-olive)!important}
.national-day-theme .qv-icon.mint{background:#f2fbe9!important;color:#4a9319!important}
.national-day-theme .qv-icon.orange{background:#f8f1e4!important;color:var(--snd-gold)!important}
.national-day-theme .qv-icon.violet{background:#f0efff!important;color:var(--snd-violet)!important}

/* Pregnancy and attention cards keep their semantic colors, with national green framing. */
.national-day-theme .pregnancy-dashboard-entry{
  border-color:#c7ded0;
  box-shadow:var(--shadow-xs);
}
.national-day-theme .pregnancy-dashboard-entry:hover{border-color:#95c3a7;box-shadow:var(--shadow-sm)}

/* Assistant */
.national-day-theme .patient-assistant-launcher,
.national-day-theme .patient-assistant-form button{
  background:linear-gradient(135deg,var(--snd-green-800),var(--snd-green-500));
}
.national-day-theme .patient-assistant-launcher{box-shadow:0 14px 34px rgba(0,61,53,.28)}
.national-day-theme .patient-assistant-header{background:linear-gradient(135deg,#fff,#eef8f1)}
.national-day-theme .assistant-message-user>div{background:linear-gradient(135deg,var(--snd-green-900),var(--snd-green-600))}
.national-day-theme .assistant-response-heading{color:var(--snd-green-800)}
.national-day-theme .assistant-intent-icon{background:#edf8f1;color:var(--snd-green-700)}
.national-day-theme .assistant-followups button,
.national-day-theme .patient-assistant-quick button{border-color:#a9ceb8;color:var(--snd-green-800)}

/* Mobile navigation */
.national-day-theme .mobile-bottom-nav{border-top-color:#d4e2da;box-shadow:0 -12px 34px rgba(0,61,53,.10)}
.national-day-theme .mobile-bottom-nav a.active,
.national-day-theme .mobile-bottom-nav button.active{color:var(--snd-green-700)}
.national-day-theme .mobile-bottom-nav a.active::before,
.national-day-theme .mobile-bottom-nav button.active::before{
  background:linear-gradient(90deg,var(--snd-green-500),var(--snd-lime));
}
.snd-mobile-menu-logo{
  margin:0 14px 14px;
  padding:9px;
  border-radius:14px;
  background:var(--snd-green-950);
  overflow:hidden;
}
.snd-mobile-menu-logo img{display:block;width:100%;height:auto}

/* =========================================================
   LOGIN
   ========================================================= */
body.national-day-theme.auth-page{
  background:
    radial-gradient(circle at 10% 10%,rgba(90,186,28,.08),transparent 24%),
    linear-gradient(145deg,#eef4ee,#fbfcf8 56%,#edf3ee);
}
.national-day-theme .auth-card{
  border-color:#cadbd0;
  box-shadow:0 30px 82px rgba(0,47,42,.22);
}
.national-day-theme .auth-brand-panel{
  position:relative;
  background:
    linear-gradient(180deg,rgba(0,35,31,.18),rgba(0,38,33,.70)),
    url('/images/national-day/snd-hero.webp') center/cover no-repeat;
}
.national-day-theme .auth-brand-panel::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(0,47,42,.22),transparent 42%),
    linear-gradient(180deg,transparent 50%,rgba(0,36,31,.33));
  opacity:1;
}
.national-day-theme .auth-brand-panel::after{display:none}
.national-day-theme .auth-brand-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(0,61,53,.08),rgba(0,47,42,.20));
  z-index:0;
}
.national-day-theme .auth-brand-content{padding:42px 48px;z-index:2}
.national-day-theme .auth-brand-top{
  position:absolute;
  top:34px;
  left:38px;
  width:205px;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.32);
  border-radius:17px;
  background:rgba(255,255,255,.91);
  box-shadow:0 12px 28px rgba(0,0,0,.14);
  backdrop-filter:blur(10px);
}
.national-day-theme .auth-brand-top .auth-logo{width:74px;max-height:52px;object-fit:contain}
.national-day-theme .auth-brand-top .auth-brand-ar{color:var(--snd-green-900);font-size:.94rem}
.national-day-theme .auth-brand-top .auth-brand-en{color:#3f6258;font-size:.55rem}
.snd-auth-national-logo{
  position:absolute;
  top:34px;
  right:38px;
  z-index:4;
  width:390px;
  max-width:48%;
  padding:8px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:15px;
  background:rgba(0,47,42,.89);
  box-shadow:0 14px 34px rgba(0,0,0,.18);
  backdrop-filter:blur(8px);
}
.snd-auth-national-logo img{display:block;width:100%;height:auto;border-radius:7px}
.national-day-theme .auth-brand-middle{
  align-self:end;
  max-width:74%;
  margin-top:auto;
  margin-bottom:138px;
  padding:21px 24px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:22px;
  background:rgba(0,43,38,.56);
  box-shadow:0 16px 36px rgba(0,0,0,.16);
  backdrop-filter:blur(8px);
}
.national-day-theme .auth-brand-kicker{
  color:#fff;
  border-color:rgba(255,255,255,.22);
  background:rgba(255,255,255,.12);
  box-shadow:none;
}
.national-day-theme .auth-brand-middle h1{color:#fff;text-shadow:0 3px 16px rgba(0,0,0,.24)}
.national-day-theme .auth-brand-middle p{color:rgba(255,255,255,.85)}
.national-day-theme .auth-security-note{
  position:absolute;
  left:48px;
  right:48px;
  bottom:38px;
  max-width:none;
  min-height:92px;
  padding:15px 18px;
  color:#fff;
  border-color:rgba(255,255,255,.22);
  background:rgba(0,43,38,.58);
  box-shadow:0 14px 30px rgba(0,0,0,.14);
  backdrop-filter:blur(8px);
}
.national-day-theme .auth-security-note small{color:rgba(255,255,255,.78)}
.national-day-theme .auth-security-icon{color:#fff;border-color:rgba(255,255,255,.26);background:rgba(255,255,255,.12)}
.national-day-theme .auth-brand-visual{display:none!important}

.national-day-theme .auth-form-panel{background:linear-gradient(180deg,#fff,#f9fcf9)}
.national-day-theme .auth-form-header h2{color:var(--snd-green-900)}
.national-day-theme .auth-language-switch{color:var(--snd-green-800);border-color:#bcd8c7}
.national-day-theme .auth-primary-button{
  background:linear-gradient(135deg,var(--snd-green-800),var(--snd-green-500));
  box-shadow:0 12px 26px rgba(11,141,82,.22);
  position:relative;
  overflow:hidden;
}
.national-day-theme .auth-primary-button::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:3px;
  background:linear-gradient(90deg,var(--snd-gold),var(--snd-olive),var(--snd-magenta),var(--snd-lime),var(--snd-blue),var(--snd-violet));
}
.national-day-theme .auth-lookup-link{color:var(--snd-green-800)}
.national-day-theme .auth-eligibility-button{border-color:#bcd8c7;color:var(--snd-green-800);background:#f8fcf9}
.national-day-theme .auth-support-box{border-color:#d4e2da;background:linear-gradient(135deg,#fff,#f6faf7)}
.national-day-theme .auth-support-box strong{color:var(--snd-green-800)}
.national-day-theme .auth-input-wrap,
.national-day-theme .auth-input-wrap:focus-within,
.national-day-theme .auth-input-wrap:has(input:not(:placeholder-shown)){
  border-color:#d2e0d7!important;
}
.national-day-theme .auth-input-wrap:focus-within{box-shadow:0 0 0 4px rgba(11,141,82,.09)!important;border-color:#8fc5a4!important}
.snd-auth-mobile-national-logo{display:none}
.national-day-theme .auth-login-footer{color:#62776e}

/* Focus stays accessible and matches the seasonal palette. */
.national-day-theme a:focus-visible,
.national-day-theme button:focus-visible,
.national-day-theme input:focus-visible,
.national-day-theme select:focus-visible,
.national-day-theme textarea:focus-visible{
  outline:3px solid rgba(11,141,82,.28)!important;
  outline-offset:2px;
}

@media(max-width:1180px){
  .snd-topbar-logo{width:165px;height:36px;border-radius:8px}
}

@media(max-width:1080px){
  .snd-topbar-logo{display:none}
}

@media(max-width:980px){
  .national-day-theme .auth-brand-panel{display:none}
  .national-day-theme .auth-card{background:#fff}
  .national-day-theme .auth-form-panel{
    background:
      linear-gradient(180deg,rgba(0,61,53,.05),transparent 220px),
      #fff;
  }
  .national-day-theme .auth-mobile-brand{
    padding:16px;
    border-color:#bcd8c7;
    background:linear-gradient(145deg,#f0f8f2,#fff);
  }
  .snd-auth-mobile-national-logo{
    display:block;
    margin-top:13px;
    padding:7px;
    border-radius:11px;
    background:var(--snd-green-950);
    overflow:hidden;
  }
  .snd-auth-mobile-national-logo img{display:block;width:100%;height:auto}
}

@media(max-width:767px){
  body.national-day-theme.portal-body::before{display:none}
  .national-day-theme .topbar{background:rgba(255,255,255,.97)}
  .national-day-theme.controller-dashboard.action-index .welcome-section{
    min-height:238px;
    padding:24px 18px 78px;
    border-radius:22px;
    background:
      linear-gradient(180deg,rgba(0,47,42,.90),rgba(0,61,53,.84)),
      url('/images/national-day/snd-textile-banner.webp') center/cover no-repeat;
  }
  .national-day-theme.controller-dashboard.action-index .welcome-section>div:first-child{max-width:100%}
  .national-day-theme.controller-dashboard.action-index .welcome-section::before{
    inset-inline-start:18px;
    inset-inline-end:auto;
    bottom:16px;
    width:250px;
    max-width:calc(100% - 36px);
  }
  .national-day-theme.controller-dashboard.action-index .welcome-section .patient-status-pill{
    top:14px;
    inset-inline-end:14px;
  }
  .national-day-theme .portal-content{background:transparent}
  .national-day-theme .metric-card::after{height:3px}
  body.national-day-theme.auth-page{background:#fff}
  .national-day-theme .auth-form-panel{background:linear-gradient(180deg,#eef7f0 0,#fff 180px)}
  .national-day-theme .auth-form-header h2{font-size:1.95rem}
  .snd-mobile-menu-logo{margin-top:4px}
}

@media(prefers-reduced-motion:reduce){
  .national-day-theme *,
  .national-day-theme *::before,
  .national-day-theme *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}

/* =========================================================
   v1.2.51 - INNER PORTAL NATIONAL DAY IDENTITY
   Strong seasonal personality on authenticated pages while
   keeping medical data surfaces bright and easy to read.
   ========================================================= */

/* National mark inside the permanent desktop navigation. */
.national-day-theme .snd-sidebar-mark{
  margin:12px 16px 4px;
  padding:7px 9px;
  border:1px solid rgba(255,255,255,.17);
  border-radius:14px;
  background:rgba(0,34,30,.52);
  box-shadow:0 12px 28px rgba(0,22,19,.18);
  overflow:hidden;
}
.national-day-theme .snd-sidebar-mark img{
  display:block;
  width:100%;
  height:auto;
  max-height:48px;
  object-fit:contain;
}

/* Compact identity ribbon for every authenticated inner page. */
.national-day-theme .snd-inner-identity{
  position:relative;
  min-height:78px;
  margin:0 0 18px;
  padding:14px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  overflow:hidden;
  border:1px solid rgba(124,93,33,.34);
  border-radius:20px;
  background:
    linear-gradient(100deg,rgba(0,47,42,.98),rgba(0,61,53,.95) 58%,rgba(7,84,68,.90)),
    url('/images/national-day/snd-textile-banner.webp') center/cover no-repeat;
  box-shadow:0 14px 34px rgba(0,61,53,.13);
  color:#fff;
  isolation:isolate;
}
.national-day-theme .snd-inner-identity::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 12% 20%,rgba(90,186,28,.18),transparent 24%),
    linear-gradient(90deg,transparent 0 79%,rgba(124,93,33,.20) 79% 80%,transparent 80% 100%);
}
.national-day-theme .snd-inner-identity::after{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  bottom:0;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--snd-gold),var(--snd-olive),var(--snd-magenta),var(--snd-lime),var(--snd-blue),var(--snd-violet));
  opacity:.85;
}
.national-day-theme .snd-inner-identity-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
  z-index:1;
}
.national-day-theme .snd-inner-identity-copy span{
  color:rgba(255,255,255,.70);
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.02em;
}
.national-day-theme .snd-inner-identity-copy strong{
  color:#fff;
  font-size:1.08rem;
  font-weight:900;
  line-height:1.45;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.national-day-theme .snd-inner-identity-logo{
  width:238px;
  max-width:40%;
  height:48px;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:4px 7px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:12px;
  background:rgba(0,29,26,.35);
}
.national-day-theme .snd-inner-identity-logo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

/* The authenticated canvas now carries a subtle woven language. */
body.national-day-theme.portal-body .portal-main{
  background:
    radial-gradient(circle at 100% 0,rgba(90,186,28,.055),transparent 22%),
    radial-gradient(circle at 0 100%,rgba(124,93,33,.04),transparent 25%),
    #f5f8f5;
}
.national-day-theme .portal-content{
  position:relative;
}
.national-day-theme .portal-content::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background-image:url('/images/national-day/snd-textile-square.webp');
  background-repeat:no-repeat;
  background-size:560px 560px;
  background-position:left -330px bottom -320px;
  opacity:.022;
}

/* Shared headings / heroes on inner pages. */
.national-day-theme .portal-content :is(
  .page-heading-row,
  .medical-record-hero,
  .documents-hero,
  .insurance-hero,
  .health-summary-hero,
  .notifications-hero,
  .pregnancy-women-hero,
  .pregnancy-labs-hero,
  .lab-page-heading,
  .lab-detail-hero,
  .data-change-create-hero,
  .complaint-details-hero
){
  position:relative;
  overflow:hidden;
  border-color:#cbded2!important;
  box-shadow:0 10px 26px rgba(0,61,53,.07);
}
.national-day-theme .portal-content :is(
  .page-heading-row,
  .medical-record-hero,
  .documents-hero,
  .insurance-hero,
  .health-summary-hero,
  .notifications-hero,
  .pregnancy-women-hero,
  .pregnancy-labs-hero,
  .lab-page-heading,
  .lab-detail-hero,
  .data-change-create-hero,
  .complaint-details-hero
)::after{
  content:"";
  position:absolute;
  inset-inline:18px;
  bottom:0;
  height:3px;
  border-radius:999px 999px 0 0;
  background:linear-gradient(90deg,var(--snd-gold),var(--snd-olive),var(--snd-magenta),var(--snd-lime),var(--snd-blue),var(--snd-violet));
  opacity:.72;
  pointer-events:none;
}
.national-day-theme .portal-content :is(
  .page-heading-row,
  .medical-record-hero,
  .documents-hero,
  .insurance-hero,
  .health-summary-hero,
  .notifications-hero,
  .lab-page-heading,
  .lab-detail-hero,
  .data-change-create-hero
){
  background:
    radial-gradient(circle at 100% 0,rgba(90,186,28,.08),transparent 26%),
    linear-gradient(135deg,#fff,#f8fbf8)!important;
}
.national-day-theme .portal-content :is(
  .page-heading-row,
  .medical-record-hero,
  .documents-hero,
  .insurance-hero,
  .health-summary-hero,
  .notifications-hero,
  .lab-page-heading,
  .lab-detail-hero,
  .data-change-create-hero
) :is(h1,h2,h3){
  color:var(--snd-green-900);
}
.national-day-theme .portal-content .page-eyebrow{
  color:var(--snd-green-700)!important;
}

/* Cards keep a clinical white surface, framed by the seasonal identity. */
.national-day-theme .portal-content :is(
  .portal-card,
  .metric-card,
  .profile-summary-card,
  .appointment-list-card,
  .appointments-preview-card,
  .lab-results-card,
  .lab-trends-filter-card,
  .lab-trend-title-card,
  .documents-filter,
  .documents-content,
  .insurance-card,
  .complaint-summary-card,
  .complaint-detail-card,
  .data-change-request-card,
  .request-card,
  .sick-leave-card,
  .health-summary-card,
  .notification-card,
  .pregnancy-dashboard-entry,
  .pregnancy-card,
  .pregnancy-result-card
){
  border-color:#d5e2da!important;
  box-shadow:0 7px 22px rgba(0,61,53,.055);
}
.national-day-theme .portal-content :is(
  .portal-card,
  .appointment-list-card,
  .appointments-preview-card,
  .lab-results-card,
  .documents-content,
  .insurance-card,
  .complaint-detail-card,
  .data-change-request-card,
  .request-card,
  .sick-leave-card
):hover{
  border-color:#b7d3c1!important;
  box-shadow:0 13px 30px rgba(0,61,53,.09);
}

/* Tabs and segmented navigation. */
.national-day-theme .portal-content :is(
  .appointments-tabs,
  .complaints-tabs,
  .my-requests-service-tabs,
  .medical-record-tabs,
  .lab-tabs,
  .documents-tabs
){
  border-color:#d4e2da!important;
  background:#fff!important;
  box-shadow:0 7px 20px rgba(0,61,53,.045);
}
.national-day-theme .portal-content :is(
  .appointments-tab.active,
  .complaints-tabs .active,
  .my-requests-service-tabs .active,
  .medical-record-tabs .active,
  .lab-tabs .active,
  .documents-tabs .active
){
  color:#fff!important;
  border-color:var(--snd-green-800)!important;
  background:linear-gradient(135deg,var(--snd-green-900),var(--snd-green-600))!important;
  box-shadow:0 8px 18px rgba(0,61,53,.14)!important;
}

/* Filters / inputs: quiet neutral default with an accessible, restrained focus. */
.national-day-theme .portal-content :is(input,select,textarea){
  border-color:#d5e1da;
}
.national-day-theme .portal-content :is(input,select,textarea):focus,
.national-day-theme .portal-content .input-shell:focus-within{
  border-color:#8ebda0!important;
  box-shadow:0 0 0 3px rgba(11,106,77,.075)!important;
}

/* Common affirmative actions. */
.national-day-theme .portal-content :is(
  .primary-button,
  .complaint-create-button,
  .complaint-submit-button,
  .documents-load-more,
  .appointments-load-more,
  .complaints-load-more,
  .data-change-create-actions .primary,
  .data-change-form-actions .primary
){
  color:#fff!important;
  border-color:var(--snd-green-800)!important;
  background:linear-gradient(135deg,var(--snd-green-900),var(--snd-green-600))!important;
  box-shadow:0 9px 20px rgba(0,61,53,.14)!important;
}
.national-day-theme .portal-content :is(
  .primary-button,
  .complaint-create-button,
  .complaint-submit-button,
  .documents-load-more,
  .appointments-load-more,
  .complaints-load-more
):hover{
  filter:brightness(1.04);
  transform:translateY(-1px);
}

/* Counts / chips / badges. */
.national-day-theme .portal-content :is(.page-count-chip,.card-badge-group,.status-badge){
  border-color:#c9ddd0;
}
.national-day-theme .portal-content .page-count-chip{
  color:var(--snd-green-900);
  background:linear-gradient(180deg,#fff,#eef7f1);
  box-shadow:0 6px 16px rgba(0,61,53,.06);
}

/* Tables stay white, with National Day framing confined to headings. */
.national-day-theme .portal-content table{
  border-color:#dbe5df;
}
.national-day-theme .portal-content table thead th{
  color:var(--snd-green-900);
  border-color:#cdded4!important;
  background:#eef6f1!important;
}
.national-day-theme .portal-content table tbody tr:hover{
  background:#f7fbf8;
}

/* Modal / popup chrome. */
.national-day-theme :is(
  .complaint-modal,
  .complaint-attachment-modal,
  .data-change-preview-modal,
  .data-change-success-modal,
  .data-change-file-alert-modal,
  .pregnancy-imaging-popup,
  .pregnancy-result-popup
){
  border-color:#cadfd1!important;
  box-shadow:0 26px 72px rgba(0,47,42,.24)!important;
}
.national-day-theme :is(
  .complaint-modal-header,
  .complaint-attachment-modal-header,
  .data-change-preview-modal header,
  .pregnancy-imaging-popup header,
  .pregnancy-result-popup header
){
  border-bottom-color:#d6e3db!important;
  background:linear-gradient(135deg,#fff,#eff7f2)!important;
}

/* Back button becomes part of the seasonal chrome. */
.national-day-theme .portal-back-row{
  margin-bottom:14px;
}
.national-day-theme .portal-back-button{
  color:var(--snd-green-900)!important;
  border-color:#bad4c3!important;
  background:#fff!important;
  box-shadow:0 5px 14px rgba(0,61,53,.045);
}
.national-day-theme .portal-back-button:hover{
  border-color:#8ebda0!important;
  background:#eef7f1!important;
}

/* Mobile bottom navigation uses the textile color language without getting dark. */
.national-day-theme .mobile-bottom-nav{
  background:rgba(255,255,255,.98);
  backdrop-filter:blur(18px);
}
.national-day-theme .mobile-bottom-nav :is(a,button).active{
  color:var(--snd-green-900)!important;
  background:#eef7f1;
}
.national-day-theme .mobile-menu-sheet{
  border-top:1px solid #c9ddd0;
  background:
    linear-gradient(180deg,rgba(238,247,241,.92),#fff 145px),
    #fff;
}

/* Login correction requested: no bright-green selection ring. */
.national-day-theme .auth-input-wrap:focus-within,
.national-day-theme .auth-input-wrap:has(input:not(:placeholder-shown)){
  border-color:#cfd9d3!important;
  box-shadow:0 0 0 3px rgba(0,61,53,.045)!important;
}
.national-day-theme .auth-input-wrap input:focus{
  outline:none!important;
}
body.national-day-theme.auth-page :is(a,button,input,select,textarea):focus-visible{
  outline:2px solid rgba(0,61,53,.18)!important;
  outline-offset:2px;
}

/* Mobile login: carry the same rich National Day visual language instead of a pale block. */
@media(max-width:980px){
  body.national-day-theme.auth-page{
    background:
      linear-gradient(180deg,rgba(0,47,42,.96),rgba(0,61,53,.94) 46%,#f6f9f6 46%),
      url('/images/national-day/snd-textile-banner.webp') center top/auto 52% no-repeat;
  }
  .national-day-theme .auth-shell{
    padding-top:max(16px,env(safe-area-inset-top));
  }
  .national-day-theme .auth-card{
    overflow:visible;
    border:0;
    background:transparent;
    box-shadow:none;
  }
  .national-day-theme .auth-form-panel{
    overflow:visible;
    border-radius:26px 26px 0 0;
    background:transparent;
  }
  .national-day-theme .auth-form-wrap{
    position:relative;
  }
  .national-day-theme .auth-mobile-brand{
    position:relative;
    display:flex;
    min-height:315px;
    margin-bottom:18px;
    padding:72px 22px 26px;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    border:1px solid rgba(255,255,255,.18);
    border-radius:24px;
    color:#fff;
    background:
      linear-gradient(180deg,rgba(0,47,42,.66),rgba(0,61,53,.84)),
      url('/images/national-day/snd-textile-square.webp') center/cover no-repeat;
    box-shadow:0 22px 54px rgba(0,31,27,.25);
  }
  .national-day-theme .auth-mobile-brand::after{
    content:"";
    position:absolute;
    left:18px;
    right:18px;
    bottom:0;
    height:2px;
    background:linear-gradient(90deg,var(--snd-gold),var(--snd-olive),var(--snd-magenta),var(--snd-lime),var(--snd-blue),var(--snd-violet));
    opacity:.84;
  }
  .national-day-theme .auth-mobile-brand>.auth-logo{
    width:104px;
    max-height:104px;
    filter:drop-shadow(0 10px 18px rgba(0,0,0,.15));
  }
  .national-day-theme .auth-mobile-brand .auth-brand-ar{
    margin-top:10px;
    color:#fff;
    font-size:1.1rem;
    font-weight:900;
  }
  .national-day-theme .auth-mobile-brand .auth-brand-en{
    color:#e8d8ad;
    font-size:.64rem;
    font-weight:700;
    letter-spacing:.04em;
  }
  .national-day-theme .snd-auth-mobile-national-logo{
    position:absolute;
    top:14px;
    inset-inline-end:14px;
    width:164px;
    margin:0;
    padding:5px 6px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:10px;
    background:rgba(0,27,24,.55);
    box-shadow:0 8px 20px rgba(0,0,0,.16);
  }
  .national-day-theme .auth-mobile-brand .auth-beta-badge{
    margin-top:16px;
    color:#fff;
    border-color:rgba(255,255,255,.25);
    background:rgba(255,255,255,.10);
  }
  .national-day-theme .auth-form{
    padding:0 14px 18px;
    border-radius:24px 24px 0 0;
    background:#fff;
    box-shadow:0 -12px 34px rgba(0,47,42,.08);
  }
  .national-day-theme .auth-language-row{
    padding-top:18px;
  }
}

@media(max-width:1080px){
  .national-day-theme .snd-sidebar-mark{display:none}
}

@media(max-width:767px){
  .national-day-theme .snd-inner-identity{
    min-height:68px;
    margin:0 0 12px;
    padding:11px 12px;
    border-radius:16px;
    gap:10px;
  }
  .national-day-theme .snd-inner-identity-copy span{font-size:.68rem}
  .national-day-theme .snd-inner-identity-copy strong{font-size:.92rem}
  .national-day-theme .snd-inner-identity-logo{
    width:152px;
    max-width:47%;
    height:40px;
    padding:3px 5px;
    border-radius:9px;
  }
  .national-day-theme .portal-content :is(
    .page-heading-row,
    .medical-record-hero,
    .documents-hero,
    .insurance-hero,
    .health-summary-hero,
    .notifications-hero,
    .pregnancy-women-hero,
    .pregnancy-labs-hero,
    .lab-page-heading,
    .lab-detail-hero,
    .data-change-create-hero,
    .complaint-details-hero
  )::after{
    inset-inline:12px;
  }
}

@media(max-width:420px){
  .national-day-theme .snd-inner-identity-logo{width:132px}
  .national-day-theme .snd-inner-identity-copy strong{max-width:150px}
  .national-day-theme .snd-auth-mobile-national-logo{width:142px}
  .national-day-theme .auth-mobile-brand{min-height:292px;padding-top:68px}
}

/* =========================================================
   v1.2.52 - INNER PORTAL NATIONAL DAY REFINEMENT
   - Keep login page exactly as approved.
   - Tighten borders and card framing on authenticated pages.
   - Harmonize action buttons with the approved National Day palette.
   ========================================================= */

/* Safety: inner-page theming only. Login stays on the previously approved presentation. */
body.national-day-theme.portal-body .portal-content > *{min-width:0}

/* Refined frame language for the authenticated experience. */
.national-day-theme .portal-content :is(
  .health-summary-section,
  .health-summary-panel,
  .health-summary-note,
  .medical-requests-summary,
  .medical-request-card,
  .request-summary-card,
  .sick-leave-card,
  .medical-record-timeline,
  .visit-detail-section,
  .visit-details-summary>div,
  .documents-filter,
  .documents-content,
  .appointments-list-card,
  .appointment-card,
  .lab-results-card,
  .lab-trends-filter-card,
  .insurance-card,
  .complaint-summary-card,
  .complaint-detail-card,
  .data-change-request-card,
  .current-data-card,
  .data-change-create-form .change-fields-grid,
  .data-change-create-form .change-request-details,
  .pregnancy-card,
  .pregnancy-result-card,
  .pregnancy-dashboard-entry,
  .notification-card,
  .portal-alert
){
  border-color:#d3e0d8!important;
  box-shadow:0 8px 24px rgba(0,61,53,.055)!important;
}

.national-day-theme .portal-content :is(
  .health-summary-section,
  .health-summary-panel,
  .medical-request-card,
  .request-summary-card,
  .sick-leave-card,
  .documents-content,
  .appointment-card,
  .lab-results-card,
  .insurance-card,
  .complaint-detail-card,
  .data-change-request-card,
  .current-data-card,
  .pregnancy-card,
  .pregnancy-result-card,
  .notification-card
):hover{
  border-color:#b8d0c0!important;
  box-shadow:0 14px 32px rgba(0,61,53,.09)!important;
}

/* Stronger, cleaner section separators so borders do not look washed out. */
.national-day-theme .portal-content :is(
  .health-summary-note,
  .health-summary-footer-note,
  .medical-request-note,
  .medical-request-decision,
  .visit-details-host,
  .simple-record-list>article,
  .clinical-answer-groups article,
  .reading-card,
  .prescription-card,
  .data-change-notice,
  .data-change-message
){
  border-color:#d8e4dc!important;
}

/* Buttons: unify on the approved National Day green / gold language. */
.national-day-theme .portal-content :is(
  .primary-button,
  .request-primary-action,
  .sick-leave-report-button,
  .lab-report-button,
  .lab-view-button,
  .visit-report-button,
  .visit-radiology-report-button,
  .request-submit-button,
  .data-change-create-button,
  .current-data-edit,
  .data-change-create-actions .primary,
  .data-change-form-actions .primary,
  .request-modal-button,
  .request-modal-actions .request-modal-button,
  .request-modal-actions .primary,
  .data-change-request-modal .primary,
  .request-modal-actions button.primary
){
  color:#fff!important;
  border:1px solid var(--snd-green-800)!important;
  background:linear-gradient(135deg,var(--snd-green-900),var(--snd-green-600))!important;
  box-shadow:0 10px 22px rgba(0,61,53,.16)!important;
}

.national-day-theme .portal-content :is(
  .primary-button,
  .request-primary-action,
  .sick-leave-report-button,
  .lab-report-button,
  .lab-view-button,
  .visit-report-button,
  .visit-radiology-report-button,
  .request-submit-button,
  .data-change-create-button,
  .current-data-edit,
  .data-change-create-actions .primary,
  .data-change-form-actions .primary,
  .request-modal-button,
  .request-modal-actions .request-modal-button,
  .request-modal-actions .primary,
  .data-change-request-modal .primary,
  .request-modal-actions button.primary
):hover{
  filter:brightness(1.05);
  transform:translateY(-1px);
}

/* Secondary buttons / outline actions. */
.national-day-theme .portal-content :is(
  .request-secondary-action,
  .request-cancel-button,
  .data-change-create-actions .secondary,
  .data-change-form-actions .secondary,
  .lab-back-link,
  .data-change-back-link,
  .request-attachments button,
  .request-modal-actions .secondary,
  .request-compact-cancel button,
  .data-change-request-modal .secondary,
  .medical-record-load-error button
){
  color:var(--snd-green-900)!important;
  border:1px solid #bfd2c6!important;
  background:#fff!important;
  box-shadow:0 4px 12px rgba(0,61,53,.04)!important;
}

.national-day-theme .portal-content :is(
  .request-secondary-action,
  .request-cancel-button,
  .data-change-create-actions .secondary,
  .data-change-form-actions .secondary,
  .lab-back-link,
  .data-change-back-link,
  .request-attachments button,
  .request-modal-actions .secondary,
  .request-compact-cancel button,
  .data-change-request-modal .secondary,
  .medical-record-load-error button
):hover{
  background:#eef7f1!important;
  border-color:#94baa2!important;
}

/* Status pills and supporting chips follow the identity palette instead of unrelated purples/blues. */
.national-day-theme .portal-content .sick-leave-status{
  color:var(--snd-green-900)!important;
  background:#edf8f1!important;
  border:1px solid #c8dfd1!important;
}
.national-day-theme .portal-content .sick-leave-duration-badge{
  color:#6c521f!important;
  background:#f7f1e6!important;
  border:1px solid #e4d3ae!important;
}
.national-day-theme .portal-content .sick-leave-specialty-badge,
.national-day-theme .portal-content .medical-request-specialty{
  color:var(--snd-green-800)!important;
  background:#f3f8f6!important;
  border:1px solid #d7e4dd!important;
}
.national-day-theme .portal-content .sick-leave-card-date,
.national-day-theme .portal-content .medical-visit-date{
  color:var(--snd-green-900)!important;
  border:1px solid #c8dbd0!important;
  background:linear-gradient(180deg,#f6fbf7,#edf5ef)!important;
}
.national-day-theme .portal-content .request-summary-card.total{color:var(--snd-green-800)!important;background:linear-gradient(135deg,#fff,#eff8f2)!important}
.national-day-theme .portal-content .request-summary-card.pending{color:#8a671e!important;background:linear-gradient(135deg,#fff,#faf5ea)!important}
.national-day-theme .portal-content .request-summary-card.approved{color:#1f7650!important;background:linear-gradient(135deg,#fff,#eef8f2)!important}
.national-day-theme .portal-content .request-summary-card.rejected{color:#8d3341!important;background:linear-gradient(135deg,#fff,#fbf2f3)!important}

/* Request tabs: active state should clearly read as part of the National Day theme. */
.national-day-theme .portal-content :is(.medical-requests-tabs a.active,.my-requests-service-tabs .active){
  color:#fff!important;
  background:linear-gradient(135deg,var(--snd-green-900),var(--snd-green-600))!important;
  border-color:var(--snd-green-800)!important;
  box-shadow:0 8px 18px rgba(0,61,53,.12)!important;
}
.national-day-theme .portal-content :is(.medical-requests-tabs a:hover,.my-requests-service-tabs a:hover){
  background:#eef7f1!important;
  color:var(--snd-green-900)!important;
}

/* Medical record quick actions: remove the off-theme purple and blue accents. */
.national-day-theme .portal-content .visit-attendance-notification-button,
.national-day-theme .portal-content .visit-lab-report-button,
.national-day-theme .portal-content .visit-medical-report-button,
.national-day-theme .portal-content .visit-medical-report-request-button{
  background:linear-gradient(135deg,var(--snd-green-900),var(--snd-green-600))!important;
  border:1px solid var(--snd-green-800)!important;
  box-shadow:0 10px 22px rgba(0,61,53,.16)!important;
}
.national-day-theme .portal-content .visit-report-actions{gap:10px}

/* Top hero cards receive a restrained textile hint without turning into posters. */
.national-day-theme .portal-content :is(
  .health-summary-hero,
  .page-heading-row,
  .data-change-hero.requests-only,
  .medical-requests-heading
){
  background:
    radial-gradient(circle at 100% 0,rgba(90,186,28,.07),transparent 24%),
    linear-gradient(135deg,#fff,#f8fbf8)!important;
  border:1px solid #d3e0d8!important;
  box-shadow:0 10px 26px rgba(0,61,53,.06)!important;
}

/* Prevent accent strips from drifting outside rounded borders. */
.national-day-theme .portal-content :is(
  .health-summary-hero,
  .page-heading-row,
  .medical-record-hero,
  .documents-hero,
  .insurance-hero,
  .notifications-hero,
  .lab-page-heading,
  .lab-detail-hero,
  .data-change-create-hero,
  .complaint-details-hero,
  .medical-requests-heading
){
  overflow:hidden!important;
}

@media(max-width:767px){
  .national-day-theme .portal-content :is(
    .request-primary-action,
    .request-secondary-action,
    .sick-leave-report-button,
    .lab-report-button,
    .lab-view-button,
    .visit-report-button,
    .visit-radiology-report-button,
    .data-change-create-button,
    .current-data-edit
  ){
    min-height:44px;
  }
}

/* =========================================================
   v1.2.53 - requested corrective pass
   - Fix login harmony on desktop while keeping approved style language.
   - Normalize hero/page-heading curves and paddings.
   - Repair inner-page strip placement and text contrast.
   ========================================================= */

/* ---------- 1) Login: keep the same National Day style, but make the layout coherent ---------- */
@media (min-width:821px){
  body.national-day-theme.auth-page .auth-card{
    width:min(100%,1180px);
    min-height:640px;
    border-radius:30px;
    grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);
  }
  body.national-day-theme.auth-page .auth-brand-content{
    justify-content:flex-start;
    padding:36px 40px 34px;
  }
  body.national-day-theme.auth-page .auth-brand-top{
    top:34px;
    left:34px;
    width:220px;
    border-radius:20px;
  }
  body.national-day-theme.auth-page .snd-auth-national-logo{
    top:34px;
    right:34px;
    width:298px;
    max-width:43%;
    border-radius:16px;
  }
  body.national-day-theme.auth-page .auth-brand-middle{
    align-self:center;
    width:min(100%,430px);
    max-width:430px;
    margin:148px auto 0;
    padding:24px 26px;
    border-radius:24px;
    text-align:center;
  }
  body.national-day-theme.auth-page .auth-brand-middle h1{
    margin:14px 0 10px;
    font-size:clamp(2.05rem,2.65vw,3rem)!important;
    line-height:1.22!important;
    white-space:normal!important;
    word-break:keep-all;
  }
  body.national-day-theme.auth-page .auth-brand-middle p{
    font-size:1rem;
    line-height:1.9;
  }
  body.national-day-theme.auth-page .auth-security-note{
    left:34px;
    right:34px;
    bottom:34px;
    min-height:86px;
    padding:14px 18px;
    border-radius:22px;
  }
  body.national-day-theme.auth-page .auth-form-panel{
    padding:38px 48px;
  }
  body.national-day-theme.auth-page .auth-form-wrap{width:min(100%,420px)}
}

/* ---------- 2) Standardize hero / page-heading cards across inner pages ---------- */
.national-day-theme .portal-content :is(
  .page-heading-row,
  .medical-record-hero,
  .documents-hero,
  .insurance-hero,
  .health-summary-hero,
  .notifications-hero,
  .pregnancy-women-hero,
  .pregnancy-labs-hero,
  .lab-page-heading,
  .lab-detail-hero,
  .data-change-create-hero,
  .complaint-details-hero,
  .medical-requests-heading,
  .complaints-heading
){
  padding:24px 26px!important;
  border:1px solid #d0ddd5!important;
  border-radius:28px!important;
  background:
    radial-gradient(circle at 100% 0,rgba(90,186,28,.06),transparent 24%),
    linear-gradient(135deg,#fff,#f9fcf9)!important;
  box-shadow:0 12px 28px rgba(0,61,53,.06)!important;
}

.national-day-theme .portal-content :is(
  .page-heading-row,
  .medical-record-hero,
  .documents-hero,
  .insurance-hero,
  .health-summary-hero,
  .notifications-hero,
  .pregnancy-women-hero,
  .pregnancy-labs-hero,
  .lab-page-heading,
  .lab-detail-hero,
  .data-change-create-hero,
  .complaint-details-hero,
  .medical-requests-heading,
  .complaints-heading
)::after{
  inset-inline:22px!important;
  bottom:0!important;
  height:3px!important;
  opacity:.9!important;
}

.national-day-theme .portal-content :is(
  .page-heading-row p,
  .medical-record-hero p,
  .documents-hero p,
  .insurance-hero p,
  .health-summary-hero p,
  .notifications-hero p,
  .pregnancy-women-hero p,
  .pregnancy-labs-hero p,
  .lab-page-heading p,
  .lab-detail-hero p,
  .data-change-create-hero p,
  .complaint-details-hero p,
  .medical-requests-heading p,
  .complaints-heading p
){
  color:#5f726b!important;
}

.national-day-theme .portal-content .page-count-chip{
  padding:11px 15px!important;
  border:1px solid #d3e0d8!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#fbfdfa,#f1f7f2)!important;
  color:var(--snd-green-900)!important;
  box-shadow:none!important;
}
.national-day-theme .portal-content .page-count-chip span{color:#5f726b!important}

/* ---------- 3) Page-specific fixes ---------- */
/* Health Summary: repair the quick-summary hero strip and balance the identity chips */
.national-day-theme .portal-content .health-summary-hero{
  min-height:196px!important;
  align-items:center!important;
}
.national-day-theme .portal-content .health-summary-hero-copy{
  max-width:calc(100% - 146px);
}
.national-day-theme .portal-content .health-summary-identity{
  gap:8px!important;
}
.national-day-theme .portal-content .health-summary-identity span{
  border:1px solid #d4e0d8!important;
  background:rgba(255,255,255,.96)!important;
}
.national-day-theme .portal-content .health-summary-hero-mark{
  background:linear-gradient(135deg,var(--snd-green-700),#1492ba)!important;
  box-shadow:0 16px 30px rgba(0,61,53,.16)!important;
}

/* Medical record: make the hero chip readable and not washed out */
.national-day-theme .portal-content .medical-record-hero{
  align-items:center!important;
}
.national-day-theme .portal-content .medical-record-patient-chip{
  border:1px solid #d3e0d8!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:none!important;
}
.national-day-theme .portal-content .medical-record-patient-chip span,
.national-day-theme .portal-content .medical-record-patient-chip small{
  color:#62736d!important;
}
.national-day-theme .portal-content .medical-record-patient-chip strong{
  color:var(--snd-green-900)!important;
}

/* Requests / appointments / complaints / lab / sick leaves should all have the classic curved hero look */
.national-day-theme .portal-content .medical-requests-heading,
.national-day-theme .portal-content .complaints-heading,
.national-day-theme .portal-content .lab-page-heading,
.national-day-theme .portal-content .page-heading-row{
  margin-bottom:18px!important;
}

/* Sick leave card/date and lab/request action buttons keep the identity palette */
.national-day-theme .portal-content .sick-leave-card,
.national-day-theme .portal-content .medical-request-card,
.national-day-theme .portal-content .appointment-list-card,
.national-day-theme .portal-content .lab-results-card,
.national-day-theme .portal-content .complaint-card,
.national-day-theme .portal-content .complaint-detail-card{
  border-radius:24px!important;
}
.national-day-theme .portal-content .sick-leave-card-date,
.national-day-theme .portal-content .appointment-list-date,
.national-day-theme .portal-content .lab-page-icon{
  border-radius:18px!important;
}

/* Complaint page primary action follows the approved palette */
.national-day-theme .portal-content .complaint-create-button,
.national-day-theme .portal-content .complaint-success-done{
  border:1px solid var(--snd-green-800)!important;
  background:linear-gradient(135deg,var(--snd-green-900),var(--snd-green-600))!important;
  box-shadow:0 10px 22px rgba(0,61,53,.16)!important;
}

/* Mobile tune: preserve curves and prevent crowding */
@media (max-width:820px){
  .national-day-theme .portal-content :is(
    .page-heading-row,
    .medical-record-hero,
    .documents-hero,
    .insurance-hero,
    .health-summary-hero,
    .notifications-hero,
    .pregnancy-women-hero,
    .pregnancy-labs-hero,
    .lab-page-heading,
    .lab-detail-hero,
    .data-change-create-hero,
    .complaint-details-hero,
    .medical-requests-heading,
    .complaints-heading
  ){
    padding:20px 18px!important;
    border-radius:24px!important;
  }
  .national-day-theme .portal-content .health-summary-hero-copy{max-width:100%}
}

/* =========================================================
   v1.2.54 - login page dedicated layout fix
   - Focus only on the login page balance and spacing.
   ========================================================= */
@media (min-width:821px){
  body.national-day-theme.auth-page .auth-card{
    width:min(100%,1170px)!important;
    min-height:650px!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1.03fr)!important;
    border-radius:30px!important;
  }

  body.national-day-theme.auth-page .auth-brand-panel,
  body.national-day-theme.auth-page .auth-brand-content{
    min-height:650px!important;
  }

  body.national-day-theme.auth-page .auth-brand-content{
    display:block!important;
    padding:0!important;
  }

  body.national-day-theme.auth-page .auth-brand-top{
    top:34px!important;
    left:34px!important;
    width:225px!important;
    padding:14px 16px!important;
    border-radius:20px!important;
  }

  body.national-day-theme.auth-page .snd-auth-national-logo{
    top:34px!important;
    right:34px!important;
    width:250px!important;
    max-width:41%!important;
    padding:7px!important;
    border-radius:16px!important;
  }

  body.national-day-theme.auth-page .auth-brand-middle{
    position:absolute!important;
    inset-inline-start:28px!important;
    inset-inline-end:28px!important;
    top:184px!important;
    margin:0!important;
    width:auto!important;
    max-width:none!important;
    padding:24px 24px 22px!important;
    border-radius:24px!important;
    text-align:center!important;
  }

  body.national-day-theme.auth-page .auth-brand-middle h1{
    margin:12px 0 10px!important;
    font-size:clamp(2.1rem,2.55vw,3rem)!important;
    line-height:1.18!important;
    white-space:normal!important;
  }

  body.national-day-theme.auth-page .auth-brand-middle p{
    margin:0 auto!important;
    max-width:400px!important;
    font-size:.98rem!important;
    line-height:1.8!important;
  }

  body.national-day-theme.auth-page .auth-security-note{
    left:28px!important;
    right:28px!important;
    bottom:28px!important;
    width:auto!important;
    min-height:94px!important;
    display:grid!important;
    grid-template-columns:56px minmax(0,1fr)!important;
    align-items:center!important;
    justify-content:start!important;
    gap:14px!important;
    padding:16px 18px!important;
    border-radius:22px!important;
  }

  body.national-day-theme.auth-page .auth-security-icon{
    width:56px!important;
    height:56px!important;
    flex:0 0 56px!important;
    order:0!important;
    border-radius:16px!important;
  }

  body.national-day-theme.auth-page .auth-security-copy{
    min-width:0!important;
    gap:2px!important;
  }

  body.national-day-theme.auth-page .auth-security-copy strong{
    font-size:1rem!important;
    line-height:1.35!important;
    color:#fff!important;
  }

  body.national-day-theme.auth-page .auth-security-copy small{
    font-size:.76rem!important;
    line-height:1.7!important;
    color:rgba(255,255,255,.82)!important;
  }

  body.national-day-theme.auth-page .auth-form-panel{
    padding:40px 50px!important;
  }
}

/* =========================================================
   v1.2.58 - Health Summary National Day color correction
   Fixes the inherited circular pseudo-element that was turning
   the bottom accent into a large multicolor arc.
   ========================================================= */
.national-day-theme .portal-content .health-summary-hero::after{
  content:""!important;
  position:absolute!important;
  left:22px!important;
  right:22px!important;
  bottom:0!important;
  width:auto!important;
  height:3px!important;
  inset-inline:auto!important;
  border:0!important;
  border-radius:999px 999px 0 0!important;
  background:linear-gradient(90deg,
    var(--snd-green-900) 0%,
    var(--snd-green-600) 72%,
    #b79a56 100%)!important;
  opacity:.82!important;
  pointer-events:none!important;
}

.national-day-theme .portal-content .health-summary-hero{
  background:
    radial-gradient(circle at 96% 4%,rgba(90,186,28,.055),transparent 24%),
    linear-gradient(135deg,#ffffff 0%,#fbfdfb 58%,#f4f8f5 100%)!important;
}

.national-day-theme .portal-content .health-summary-eyebrow{
  color:var(--snd-green-700)!important;
}

.national-day-theme .portal-content .health-summary-identity span{
  color:#536c63!important;
  border-color:#d4e0d8!important;
  background:#fff!important;
}

.national-day-theme .portal-content .health-summary-identity strong{
  color:var(--snd-green-900)!important;
}

.national-day-theme .portal-content .health-summary-hero-mark{
  color:#fff!important;
  background:linear-gradient(145deg,var(--snd-green-800),var(--snd-green-500))!important;
  box-shadow:0 16px 30px rgba(0,61,53,.15)!important;
}

@media(max-width:820px){
  .national-day-theme .portal-content .health-summary-hero::after{
    left:16px!important;
    right:16px!important;
  }
}
