/* WPU Library Research Hub — Modern Fluent / Material public design system v40.9 */
:root{
  --wpu-primary:#0f6cbd;
  --wpu-primary-strong:#0a4f94;
  --wpu-primary-soft:#e7f2ff;
  --wpu-secondary:#6750a4;
  --wpu-tertiary:#007c78;
  --wpu-accent:#ffb900;
  --wpu-success:#107c10;
  --wpu-danger:#c42b1c;
  --wpu-ink:#172033;
  --wpu-muted:#5f6b7a;
  --wpu-line:rgba(90,112,138,.20);
  --wpu-line-strong:rgba(42,82,128,.26);
  --wpu-surface:#ffffff;
  --wpu-surface-1:rgba(255,255,255,.84);
  --wpu-surface-2:#f7f9fc;
  --wpu-surface-3:#edf3fb;
  --wpu-radius-sm:10px;
  --wpu-radius-md:16px;
  --wpu-radius-lg:22px;
  --wpu-radius-xl:30px;
  --wpu-shadow-1:0 4px 14px rgba(31,55,86,.07);
  --wpu-shadow-2:0 14px 38px rgba(31,55,86,.11);
  --wpu-shadow-3:0 28px 72px rgba(24,51,86,.16);
  --wpu-ease:cubic-bezier(.2,.8,.2,1);
  --wpu-content:min(1480px,calc(100vw - 32px));
}

html{scroll-behavior:smooth;background:#edf3fb}
body[data-wpu-design-system="modern-fluent-v40.9"]{
  min-height:100vh;
  color:var(--wpu-ink);
  background:
    radial-gradient(circle at 10% 7%,rgba(58,144,255,.16),transparent 26rem),
    radial-gradient(circle at 88% 16%,rgba(117,83,198,.12),transparent 24rem),
    radial-gradient(circle at 72% 80%,rgba(0,169,159,.08),transparent 28rem),
    linear-gradient(180deg,#f7faff 0%,#f0f5fc 44%,#f7f9fd 100%);
  background-attachment:fixed;
  font-family:"Segoe UI Variable","Segoe UI",Inter,Roboto,Arial,sans-serif;
  letter-spacing:-.005em;
}
body[data-wpu-design-system="modern-fluent-v40.9"]::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  opacity:.36;
  background-image:
    linear-gradient(rgba(75,111,153,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(75,111,153,.045) 1px,transparent 1px);
  background-size:32px 32px;
  mask-image:linear-gradient(to bottom,#000,transparent 82%);
}
body[data-wpu-design-system="modern-fluent-v40.9"]::after{
  content:"";
  position:fixed;
  inset:-20vh -10vw auto;
  height:54vh;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(115deg,rgba(16,108,189,.10),rgba(103,80,164,.08),rgba(0,124,120,.08));
  filter:blur(72px);
  transform:translateZ(0);
}
body[data-wpu-design-system="modern-fluent-v40.9"] ::selection{background:#cfe7ff;color:#06345d}
body[data-wpu-design-system="modern-fluent-v40.9"] a{transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s var(--wpu-ease),box-shadow .18s ease}
body[data-wpu-design-system="modern-fluent-v40.9"] :focus-visible{outline:3px solid rgba(15,108,189,.34);outline-offset:3px}
body[data-wpu-design-system="modern-fluent-v40.9"] > main:empty{display:none!important}

/* Scroll progress */
.wpu-scroll-progress{
  position:fixed;
  inset:0 0 auto;
  z-index:5000;
  height:3px;
  pointer-events:none;
  transform:scaleX(var(--wpu-scroll-progress,0));
  transform-origin:left center;
  background:linear-gradient(90deg,#5bb5ff,#0f6cbd 48%,#7456d8 76%,#00a39b);
  box-shadow:0 0 14px rgba(15,108,189,.42);
  transition:transform .08s linear;
}

/* Shared public header */
body[data-wpu-design-system="modern-fluent-v40.9"] .public-header-shell{
  position:sticky!important;
  top:0;
  z-index:1035;
  isolation:isolate;
  background:linear-gradient(112deg,rgba(4,42,94,.97),rgba(7,71,145,.96) 52%,rgba(12,48,110,.97))!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
  box-shadow:0 10px 38px rgba(4,29,69,.20)!important;
  backdrop-filter:blur(22px) saturate(145%);
  transition:box-shadow .22s ease,transform .22s ease,background .22s ease;
}
body[data-wpu-design-system="modern-fluent-v40.9"] .public-header-shell::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% -40%,rgba(98,190,255,.34),transparent 34%),
    radial-gradient(circle at 86% 0,rgba(118,93,211,.20),transparent 27%);
}
body[data-wpu-design-system="modern-fluent-v40.9"] .public-header-shell.is-scrolled{box-shadow:0 14px 44px rgba(4,28,67,.30)!important}
body[data-wpu-design-system="modern-fluent-v40.9"] .discovery-nav{
  min-height:78px!important;
  padding:8px 0!important;
  background:transparent!important;
  transition:min-height .22s var(--wpu-ease),padding .22s var(--wpu-ease);
}
body[data-wpu-design-system="modern-fluent-v40.9"] .public-header-shell.is-scrolled .discovery-nav{min-height:66px!important;padding:4px 0!important}
body[data-wpu-design-system="modern-fluent-v40.9"] .wpu-public-nav-container{max-width:1560px;margin:auto}
body[data-wpu-design-system="modern-fluent-v40.9"] .wpu-home-brand{
  min-width:245px;
  padding:6px 10px 6px 6px!important;
  border-radius:18px;
}
body[data-wpu-design-system="modern-fluent-v40.9"] .wpu-home-brand:hover{background:rgba(255,255,255,.08)}
body[data-wpu-design-system="modern-fluent-v40.9"] .brand-logo{
  width:54px!important;height:54px!important;
  padding:3px;
  border-radius:15px;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 10px 24px rgba(0,0,0,.16);
  transition:width .22s var(--wpu-ease),height .22s var(--wpu-ease),transform .22s var(--wpu-ease);
}
body[data-wpu-design-system="modern-fluent-v40.9"] .wpu-home-brand:hover .brand-logo{transform:rotate(-3deg) scale(1.03)}
body[data-wpu-design-system="modern-fluent-v40.9"] .public-header-shell.is-scrolled .brand-logo{width:47px!important;height:47px!important}
body[data-wpu-design-system="modern-fluent-v40.9"] .brand-text strong{font-size:1.02rem!important;letter-spacing:.01em!important}
body[data-wpu-design-system="modern-fluent-v40.9"] .brand-text small{font-size:.68rem!important;letter-spacing:.055em!important;text-transform:uppercase}
body[data-wpu-design-system="modern-fluent-v40.9"] .wpu-public-nav-list{gap:4px!important}
body[data-wpu-design-system="modern-fluent-v40.9"] .discovery-nav .nav-link{
  position:relative;
  display:inline-flex!important;
  align-items:center;
  gap:6px;
  min-height:42px;
  padding:8px 12px!important;
  border-radius:13px;
  color:rgba(255,255,255,.90)!important;
  font-size:.79rem!important;
  font-weight:680!important;
  white-space:nowrap;
}
body[data-wpu-design-system="modern-fluent-v40.9"] .discovery-nav .nav-link::after{transition:transform .2s ease}
body[data-wpu-design-system="modern-fluent-v40.9"] .discovery-nav .nav-link:hover,
body[data-wpu-design-system="modern-fluent-v40.9"] .discovery-nav .nav-link:focus,
body[data-wpu-design-system="modern-fluent-v40.9"] .discovery-nav .nav-link.is-current{
  color:#fff!important;
  background:rgba(255,255,255,.13)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 7px 18px rgba(1,26,63,.14);
}
body[data-wpu-design-system="modern-fluent-v40.9"] .discovery-nav .nav-link.is-current::before{
  content:"";
  position:absolute;
  left:12px;right:12px;bottom:4px;
  height:2px;border-radius:99px;
  background:linear-gradient(90deg,#73c4ff,#fff3a2);
}
body[data-wpu-design-system="modern-fluent-v40.9"] .nav-admin-btn{
  min-height:42px!important;
  padding:8px 14px!important;
  border-radius:13px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
  box-shadow:none!important;
  font-size:.78rem!important;
  font-weight:750!important;
}
body[data-wpu-design-system="modern-fluent-v40.9"] .nav-admin-btn:hover{background:#fff!important;color:#0a4f94!important;transform:translateY(-1px)}
body[data-wpu-design-system="modern-fluent-v40.9"][data-wpu-public-homepage="1"] .nav-admin-btn{background:linear-gradient(135deg,#ffe36d,#ffbf2f)!important;border-color:#ffe98d!important;color:#18345b!important;box-shadow:0 10px 22px rgba(0,20,55,.20)!important}
body[data-wpu-design-system="modern-fluent-v40.9"] .discovery-dropdown{
  margin-top:9px!important;
  padding:9px!important;
  border:1px solid rgba(92,119,151,.22)!important;
  border-radius:17px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 20px 54px rgba(23,48,80,.20)!important;
  backdrop-filter:blur(22px) saturate(135%);
}
body[data-wpu-design-system="modern-fluent-v40.9"] .discovery-dropdown .dropdown-item{
  display:flex;align-items:center;gap:9px;
  min-height:40px;
  border-radius:11px;
  padding:9px 11px!important;
  color:#233d5d!important;
  font-weight:620;
}
body[data-wpu-design-system="modern-fluent-v40.9"] .discovery-dropdown .dropdown-item:hover{background:#eaf3ff!important;color:#075ca7!important;transform:translateX(2px)}

/* Announcement bar */
body[data-wpu-design-system="modern-fluent-v40.9"] .global-announcement-bar,
body[data-wpu-design-system="modern-fluent-v40.9"] .global-announcement-wrapper{
  border-top:1px solid rgba(255,255,255,.10)!important;
  background:rgba(255,255,255,.08)!important;
  backdrop-filter:blur(14px);
}
body[data-wpu-design-system="modern-fluent-v40.9"] .global-announcement-inner{
  max-width:1560px!important;
  min-height:42px!important;
  margin:auto;
  padding-top:5px!important;padding-bottom:5px!important;
}
body[data-wpu-design-system="modern-fluent-v40.9"] .global-announcement-icon{
  display:grid!important;place-items:center;
  width:29px!important;height:29px!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.12)!important;
}
body[data-wpu-design-system="modern-fluent-v40.9"] .global-announcement-label{
  padding:5px 9px!important;
  border-radius:999px;
  background:rgba(255,215,75,.16)!important;
  color:#fff1a9!important;
}

/* Public content rail */
body[data-wpu-design-system="modern-fluent-v40.9"]:not(.wpu-phase-e-page) > :where(.discovery-hero,.search-page-hero,.section-card,.accordion,.page-title,.wpu-modern-page-banner,.alert){
  width:var(--wpu-content);
  margin-left:auto!important;
  margin-right:auto!important;
}
body[data-wpu-design-system="modern-fluent-v40.9"]:not(.wpu-phase-e-page) > .container,
body[data-wpu-design-system="modern-fluent-v40.9"]:not(.wpu-phase-e-page) > .container-fluid{max-width:1480px}
body[data-wpu-design-system="modern-fluent-v40.9"]:not(.wpu-phase-e-page) > .page-title{margin-top:34px!important}
body[data-wpu-design-system="modern-fluent-v40.9"]:not(.wpu-phase-e-page) > .page-title + p{width:var(--wpu-content);margin:0 auto 24px!important}

/* Generated banner for simple subpages */
.wpu-modern-page-banner{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:18px;
  align-items:center;
  margin-top:30px!important;
  margin-bottom:24px!important;
  padding:28px clamp(22px,4vw,46px)!important;
  border:1px solid rgba(78,115,157,.20);
  border-radius:var(--wpu-radius-xl);
  background:
    radial-gradient(circle at 88% 18%,rgba(112,94,216,.18),transparent 28%),
    radial-gradient(circle at 6% 100%,rgba(20,131,226,.15),transparent 35%),
    rgba(255,255,255,.84);
  box-shadow:var(--wpu-shadow-2);
  backdrop-filter:blur(18px) saturate(135%);
}
.wpu-modern-page-banner::after{
  content:"";
  position:absolute;
  right:-45px;top:-70px;
  width:230px;height:230px;
  z-index:-1;
  border:32px solid rgba(15,108,189,.06);
  border-radius:50%;
}
.wpu-modern-page-banner__icon{
  display:grid;place-items:center;
  width:64px;height:64px;
  border-radius:21px;
  color:#fff;
  background:linear-gradient(145deg,#1685df,#0f6cbd 55%,#6750a4);
  box-shadow:0 15px 30px rgba(15,108,189,.23),inset 0 1px 0 rgba(255,255,255,.32);
  font-size:1.65rem;
}
.wpu-modern-page-banner h1{margin:0!important;color:#15345b!important;font-size:clamp(2rem,4vw,3.55rem)!important;line-height:1.02!important;letter-spacing:-.045em!important;font-weight:780!important}
.wpu-modern-page-banner p{max-width:900px;margin:10px 0 0!important;color:#53667c!important;font-size:1rem;line-height:1.65}

/* Heroes */
body[data-wpu-design-system="modern-fluent-v40.9"] :where(.discovery-hero,.search-page-hero,.ask-lib-hero,.wpu-ri-hero){
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border:1px solid rgba(63,103,150,.19)!important;
  border-radius:var(--wpu-radius-xl)!important;
  background:
    radial-gradient(circle at 82% 6%,rgba(111,83,204,.22),transparent 29%),
    radial-gradient(circle at 12% 90%,rgba(57,157,236,.20),transparent 33%),
    linear-gradient(135deg,#fafdff 0%,#eef6ff 58%,#f6f0ff 100%)!important;
  box-shadow:var(--wpu-shadow-2)!important;
  padding:clamp(28px,5vw,58px)!important;
}
body[data-wpu-design-system="modern-fluent-v40.9"] :where(.discovery-hero,.search-page-hero,.ask-lib-hero,.wpu-ri-hero)::before{
  content:"";
  position:absolute;
  inset:auto -90px -130px auto;
  width:350px;height:350px;
  z-index:-1;
  border:48px solid rgba(15,108,189,.055);
  border-radius:50%;
}
body[data-wpu-design-system="modern-fluent-v40.9"] :where(.discovery-hero,.search-page-hero,.ask-lib-hero,.wpu-ri-hero) h1{
  color:#17375e!important;
  font-size:clamp(2rem,4.1vw,4rem)!important;
  line-height:1.02!important;
  letter-spacing:-.05em!important;
  font-weight:790!important;
}
body[data-wpu-design-system="modern-fluent-v40.9"] .eyebrow,
body[data-wpu-design-system="modern-fluent-v40.9"] .ask-lib-eyebrow{
  display:inline-flex;align-items:center;gap:7px;
  padding:7px 11px;
  border:1px solid rgba(15,108,189,.16);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:#0b5a9d!important;
  font-size:.74rem!important;
  font-weight:760!important;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* Surfaces and bento cards */
body[data-wpu-design-system="modern-fluent-v40.9"] .section-card{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border:1px solid var(--wpu-line)!important;
  border-radius:var(--wpu-radius-lg)!important;
  background:var(--wpu-surface-1)!important;
  box-shadow:var(--wpu-shadow-1)!important;
  backdrop-filter:blur(16px) saturate(128%);
  padding:clamp(20px,3vw,32px)!important;
  transition:transform .24s var(--wpu-ease),box-shadow .24s ease,border-color .24s ease;
}
body[data-wpu-design-system="modern-fluent-v40.9"] .section-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:3px;
  background:linear-gradient(90deg,#57b6ff,#0f6cbd 35%,#7356d8 68%,#00a39b);
  opacity:.80;
}
body[data-wpu-design-system="modern-fluent-v40.9"] .section-card:hover{border-color:var(--wpu-line-strong)!important;box-shadow:var(--wpu-shadow-2)!important}
body[data-wpu-design-system="modern-fluent-v40.9"] :where(.card,.research-tool-card,.wpu-ri-source,.workspace-item,.ask-lib-card,.ask-lib-sidebar,.resource-mini-card,.wpu-reading-card,.wpu-reco-item,.portal-step,.resource-meta-grid>div){
  border:1px solid var(--wpu-line)!important;
  border-radius:var(--wpu-radius-md)!important;
  background:rgba(255,255,255,.90)!important;
  box-shadow:var(--wpu-shadow-1)!important;
  transition:transform .22s var(--wpu-ease),box-shadow .22s ease,border-color .22s ease,background .22s ease;
}
body[data-wpu-design-system="modern-fluent-v40.9"] :where(.card,.research-tool-card,.wpu-ri-source,.workspace-item,.ask-lib-card,.ask-lib-sidebar,.resource-mini-card,.wpu-reading-card,.wpu-reco-item,.portal-step):hover{
  transform:translateY(-4px);
  border-color:rgba(15,108,189,.28)!important;
  box-shadow:var(--wpu-shadow-2)!important;
  background:#fff!important;
}
body[data-wpu-design-system="modern-fluent-v40.9"] .research-tool-card{
  position:relative;
  min-height:210px;
  overflow:hidden;
  padding:24px!important;
}
body[data-wpu-design-system="modern-fluent-v40.9"] .research-tool-card::after{
  content:"";
  position:absolute;right:-46px;bottom:-54px;
  width:145px;height:145px;border-radius:50%;
  background:var(--tool-glow,rgba(15,108,189,.08));
  pointer-events:none;
}
body[data-wpu-design-system="modern-fluent-v40.9"] .research-tool-icon{
  width:54px!important;height:54px!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,#e9f4ff,#d9ebff)!important;
  color:#0f6cbd!important;
  box-shadow:inset 0 0 0 1px rgba(15,108,189,.10);
}
body[data-wpu-design-system="modern-fluent-v40.9"] .section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}
body[data-wpu-design-system="modern-fluent-v40.9"] .section-head h2,
body[data-wpu-design-system="modern-fluent-v40.9"] .section-title{color:#17375e!important;letter-spacing:-.025em;font-weight:760!important}

/* Interactive spotlight */
.wpu-interactive-surface{position:relative;isolation:isolate;overflow:hidden}
.wpu-interactive-surface::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:0;
  background:radial-gradient(340px circle at var(--spot-x,50%) var(--spot-y,50%),rgba(66,155,244,.14),transparent 45%);
  transition:opacity .2s ease;
}
.wpu-interactive-surface:hover::after{opacity:1}

/* Buttons */
body[data-wpu-design-system="modern-fluent-v40.9"] .btn{
  --bs-btn-border-radius:12px;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:.62rem 1rem;
  border-radius:12px!important;
  font-weight:680!important;
  letter-spacing:.002em;
  box-shadow:none;
  transition:transform .18s var(--wpu-ease),box-shadow .18s ease,background .18s ease,border-color .18s ease;
}
body[data-wpu-design-system="modern-fluent-v40.9"] .btn:hover{transform:translateY(-2px)}
body[data-wpu-design-system="modern-fluent-v40.9"] .btn-primary{
  border-color:#0f6cbd!important;
  background:linear-gradient(135deg,#1684d8,#0f6cbd 58%,#0a559f)!important;
  color:#fff!important;
  box-shadow:0 9px 20px rgba(15,108,189,.20)!important;
}
body[data-wpu-design-system="modern-fluent-v40.9"] .btn-primary:hover{box-shadow:0 13px 26px rgba(15,108,189,.27)!important}
body[data-wpu-design-system="modern-fluent-v40.9"] :where(.btn-outline-primary,.btn-outline-secondary){background:rgba(255,255,255,.72)!important;backdrop-filter:blur(8px)}
body[data-wpu-design-system="modern-fluent-v40.9"] .btn-outline-primary{border-color:rgba(15,108,189,.35)!important;color:#075ca7!important}
body[data-wpu-design-system="modern-fluent-v40.9"] .btn-outline-primary:hover{background:#e7f2ff!important;color:#064b88!important}

/* Forms */
body[data-wpu-design-system="modern-fluent-v40.9"] :where(.form-control,.form-select){
  min-height:46px;
  border:1px solid rgba(81,108,139,.28)!important;
  border-radius:12px!important;
  background-color:rgba(255,255,255,.88)!important;
  color:#213854!important;
  box-shadow:inset 0 1px 1px rgba(18,48,82,.025)!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
body[data-wpu-design-system="modern-fluent-v40.9"] textarea.form-control{min-height:110px}
body[data-wpu-design-system="modern-fluent-v40.9"] :where(.form-control,.form-select):hover{border-color:rgba(15,108,189,.38)!important;background:#fff!important}
body[data-wpu-design-system="modern-fluent-v40.9"] :where(.form-control,.form-select):focus{
  border-color:#0f6cbd!important;
  background:#fff!important;
  box-shadow:0 0 0 4px rgba(15,108,189,.12)!important;
}
body[data-wpu-design-system="modern-fluent-v40.9"] .form-label{color:#284765;font-weight:680}
body[data-wpu-design-system="modern-fluent-v40.9"] .form-check-input:checked{background-color:#0f6cbd;border-color:#0f6cbd}

/* Tabs, accordions, pills */
body[data-wpu-design-system="modern-fluent-v40.9"] .nav-tabs{
  gap:5px;
  padding:5px;
  border:1px solid var(--wpu-line)!important;
  border-radius:14px;
  background:rgba(237,243,251,.85);
}
body[data-wpu-design-system="modern-fluent-v40.9"] .nav-tabs .nav-link{border:0!important;border-radius:10px!important;color:#526b84;font-weight:670}
body[data-wpu-design-system="modern-fluent-v40.9"] .nav-tabs .nav-link.active{background:#fff!important;color:#0a5a9f!important;box-shadow:var(--wpu-shadow-1)}
body[data-wpu-design-system="modern-fluent-v40.9"] .accordion{overflow:visible}
body[data-wpu-design-system="modern-fluent-v40.9"] .accordion-item{
  overflow:hidden;
  margin-bottom:12px;
  border:1px solid var(--wpu-line)!important;
  border-radius:var(--wpu-radius-md)!important;
  background:rgba(255,255,255,.88)!important;
  box-shadow:var(--wpu-shadow-1);
}
body[data-wpu-design-system="modern-fluent-v40.9"] .accordion-button{
  gap:8px;
  min-height:64px;
  padding:17px 20px!important;
  background:transparent!important;
  color:#23425f!important;
  font-weight:710!important;
  box-shadow:none!important;
}
body[data-wpu-design-system="modern-fluent-v40.9"] .accordion-button:not(.collapsed){color:#075ca7!important;background:linear-gradient(90deg,#edf6ff,#f7f3ff)!important}
body[data-wpu-design-system="modern-fluent-v40.9"] .accordion-body{padding:20px!important;color:#53667a;line-height:1.7}
body[data-wpu-design-system="modern-fluent-v40.9"] :where(.badge,.type-badge,.access-badge,.wpu-topic-chip){border-radius:999px!important;font-weight:680!important}

/* Alerts, tables, pagination */
body[data-wpu-design-system="modern-fluent-v40.9"] .alert{
  border:1px solid rgba(82,111,143,.20)!important;
  border-radius:15px!important;
  box-shadow:var(--wpu-shadow-1);
}
body[data-wpu-design-system="modern-fluent-v40.9"] .alert-info{background:#edf7ff!important;color:#17496f!important}
body[data-wpu-design-system="modern-fluent-v40.9"] .alert-warning{background:#fff8df!important;color:#664f00!important}
body[data-wpu-design-system="modern-fluent-v40.9"] .alert-success{background:#ebf8ef!important;color:#1e5b32!important}
body[data-wpu-design-system="modern-fluent-v40.9"] .table-responsive{
  overflow:hidden;
  border:1px solid var(--wpu-line);
  border-radius:var(--wpu-radius-md);
  background:#fff;
  box-shadow:var(--wpu-shadow-1);
}
body[data-wpu-design-system="modern-fluent-v40.9"] .table{margin-bottom:0}
body[data-wpu-design-system="modern-fluent-v40.9"] .table>:not(caption)>*>*{padding:.85rem .9rem;border-color:#e4ebf3}
body[data-wpu-design-system="modern-fluent-v40.9"] .table thead th{background:#eef5fd;color:#284864;font-size:.77rem;text-transform:uppercase;letter-spacing:.045em}
body[data-wpu-design-system="modern-fluent-v40.9"] .pagination{gap:5px}
body[data-wpu-design-system="modern-fluent-v40.9"] .page-link{border:1px solid var(--wpu-line)!important;border-radius:10px!important;color:#0b5f9f}
body[data-wpu-design-system="modern-fluent-v40.9"] .page-item.active .page-link{background:#0f6cbd!important;color:#fff}

/* Modal and assistant surfaces */
body[data-wpu-design-system="modern-fluent-v40.9"] .modal-content{
  overflow:hidden;
  border:1px solid rgba(74,107,145,.23)!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 32px 90px rgba(13,39,72,.28)!important;
  backdrop-filter:blur(24px) saturate(135%);
}
body[data-wpu-design-system="modern-fluent-v40.9"] .modal-header{border-bottom-color:#e0e8f1!important;background:linear-gradient(90deg,#f4f8ff,#f8f5ff)}
body[data-wpu-design-system="modern-fluent-v40.9"] .ai-chat-panel{
  overflow:hidden;
  border:1px solid rgba(100,130,166,.24)!important;
  border-radius:24px!important;
  box-shadow:0 28px 72px rgba(8,38,76,.25)!important;
}
body[data-wpu-design-system="modern-fluent-v40.9"] .wpu-floating-aira{
  border-radius:16px!important;
  background:linear-gradient(135deg,#0f6cbd,#5d50b9)!important;
  box-shadow:0 16px 36px rgba(15,74,141,.30)!important;
}

/* Footer */
body[data-wpu-design-system="modern-fluent-v40.9"] .wpu-footer{
  position:relative!important;
  overflow:hidden!important;
  width:var(--wpu-content)!important;
  max-width:1480px!important;
  margin:48px auto 18px!important;
  border:1px solid rgba(78,109,145,.18)!important;
  border-radius:28px!important;
  background:
    radial-gradient(circle at 9% 20%,rgba(70,157,241,.13),transparent 29%),
    radial-gradient(circle at 90% 12%,rgba(108,80,196,.11),transparent 26%),
    rgba(255,255,255,.86)!important;
  box-shadow:var(--wpu-shadow-2)!important;
  backdrop-filter:blur(20px) saturate(130%);
}
body[data-wpu-design-system="modern-fluent-v40.9"] .wpu-footer::before{
  content:"";
  position:absolute;inset:0 0 auto;height:4px;
  background:linear-gradient(90deg,#55b7ff,#0f6cbd,#7657d4,#00a39b,#ffbd2f);
}
body[data-wpu-design-system="modern-fluent-v40.9"] .wpu-footer-main{background:transparent!important}
body[data-wpu-design-system="modern-fluent-v40.9"] .wpu-footer-heading,
body[data-wpu-design-system="modern-fluent-v40.9"] .wpu-footer-title{color:#193d64!important}
body[data-wpu-design-system="modern-fluent-v40.9"] .wpu-footer-description,
body[data-wpu-design-system="modern-fluent-v40.9"] .wpu-footer-subtitle,
body[data-wpu-design-system="modern-fluent-v40.9"] .wpu-footer-library-info{color:#586b80!important}
body[data-wpu-design-system="modern-fluent-v40.9"] .wpu-footer-link{border-radius:11px!important;color:#36536f!important}
body[data-wpu-design-system="modern-fluent-v40.9"] .wpu-footer-link:hover{background:#edf5ff!important;color:#075ca7!important;transform:translateX(3px)}
body[data-wpu-design-system="modern-fluent-v40.9"] .wpu-footer-bottom{border-top:1px solid #dfe7f1!important;background:rgba(240,245,252,.68)!important}

/* Page-specific color identities */
body[data-wpu-design-system="modern-fluent-v40.9"].wpu-page-resources{--wpu-page-accent:#0f6cbd}
body[data-wpu-design-system="modern-fluent-v40.9"].wpu-page-research-tools{--wpu-page-accent:#6750a4}
body[data-wpu-design-system="modern-fluent-v40.9"].wpu-page-guides{--wpu-page-accent:#007c78}
body[data-wpu-design-system="modern-fluent-v40.9"].wpu-page-faq{--wpu-page-accent:#b45f06}
body[data-wpu-design-system="modern-fluent-v40.9"].wpu-page-citation-generator,
body[data-wpu-design-system="modern-fluent-v40.9"].wpu-page-citation-workspace{--wpu-page-accent:#8b4bb1}
body[data-wpu-design-system="modern-fluent-v40.9"] .section-card::before{background:linear-gradient(90deg,var(--wpu-page-accent,#55b7ff),#0f6cbd 44%,#7657d4 76%,#00a39b)}

/* Reveal motion */
.wpu-modern-enhanced [data-modern-reveal]{opacity:0;transform:translateY(18px) scale(.992);transition:opacity .56s var(--wpu-ease),transform .56s var(--wpu-ease)}
.wpu-modern-enhanced [data-modern-reveal].is-modern-visible{opacity:1;transform:none}

/* Back to top */
.wpu-back-to-top{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:1030;
  display:grid;
  place-items:center;
  width:48px;height:48px;
  border:1px solid rgba(255,255,255,.30);
  border-radius:16px;
  background:linear-gradient(145deg,#1684d8,#0f6cbd 55%,#6750a4);
  color:#fff;
  box-shadow:0 14px 32px rgba(10,72,139,.28);
  opacity:0;
  visibility:hidden;
  transform:translateY(12px) scale(.92);
  transition:opacity .2s ease,visibility .2s ease,transform .2s var(--wpu-ease);
}
.wpu-back-to-top.is-visible{opacity:1;visibility:visible;transform:none}
.wpu-back-to-top:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(10,72,139,.34)}

@media (max-width:1199.98px){
  body[data-wpu-design-system="modern-fluent-v40.9"] .wpu-public-nav-list{gap:1px!important}
  body[data-wpu-design-system="modern-fluent-v40.9"] .discovery-nav .nav-link{padding-inline:9px!important;font-size:.73rem!important}
  body[data-wpu-design-system="modern-fluent-v40.9"] .nav-admin-btn{padding-inline:10px!important}
}
@media (max-width:991.98px){
  :root{--wpu-content:min(100% - 22px,1480px)}
  body[data-wpu-design-system="modern-fluent-v40.9"] .public-header-shell{position:relative!important}
  body[data-wpu-design-system="modern-fluent-v40.9"] .discovery-nav{min-height:auto!important}
  body[data-wpu-design-system="modern-fluent-v40.9"] .wpu-public-nav-list{flex-direction:row!important;flex-wrap:wrap!important;justify-content:center!important;padding:8px 0 4px}
  body[data-wpu-design-system="modern-fluent-v40.9"] .wpu-home-brand{margin:auto}
  body[data-wpu-design-system="modern-fluent-v40.9"] .wpu-footer{border-radius:22px!important}
}
@media (max-width:767.98px){
  :root{--wpu-content:calc(100% - 14px);--wpu-radius-xl:22px;--wpu-radius-lg:18px}
  body[data-wpu-design-system="modern-fluent-v40.9"] .wpu-modern-page-banner{grid-template-columns:1fr;padding:24px 20px!important}
  .wpu-modern-page-banner__icon{width:54px;height:54px;border-radius:17px}
  body[data-wpu-design-system="modern-fluent-v40.9"] :where(.discovery-hero,.search-page-hero,.ask-lib-hero,.wpu-ri-hero){padding:26px 20px!important}
  body[data-wpu-design-system="modern-fluent-v40.9"] .section-card{padding:20px 16px!important}
  body[data-wpu-design-system="modern-fluent-v40.9"] .section-head{align-items:flex-start;flex-direction:column}
  .wpu-back-to-top{right:12px;bottom:78px;width:44px;height:44px;border-radius:14px}
}
@media (max-width:575.98px){
  body[data-wpu-design-system="modern-fluent-v40.9"] .brand-logo{width:46px!important;height:46px!important}
  body[data-wpu-design-system="modern-fluent-v40.9"] .brand-text strong{font-size:.92rem!important}
  body[data-wpu-design-system="modern-fluent-v40.9"] .brand-text small{font-size:.58rem!important}
  body[data-wpu-design-system="modern-fluent-v40.9"] .wpu-public-nav-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:5px!important}
  body[data-wpu-design-system="modern-fluent-v40.9"] .wpu-public-nav-list>.nav-item{width:100%}
  body[data-wpu-design-system="modern-fluent-v40.9"] .discovery-nav .nav-link,
  body[data-wpu-design-system="modern-fluent-v40.9"] .nav-admin-btn{width:100%;justify-content:center}
  body[data-wpu-design-system="modern-fluent-v40.9"] .wpu-footer{margin-bottom:72px!important;border-radius:18px!important}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto!important}
  body[data-wpu-design-system="modern-fluent-v40.9"] *,
  body[data-wpu-design-system="modern-fluent-v40.9"] *::before,
  body[data-wpu-design-system="modern-fluent-v40.9"] *::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .wpu-modern-enhanced [data-modern-reveal]{opacity:1!important;transform:none!important}
  .wpu-interactive-surface::after{display:none!important}
}

/* Explicit form selectors retained for the V40.9 compatibility contract. */
body[data-wpu-design-system="modern-fluent-v40.9"] .form-control,
body[data-wpu-design-system="modern-fluent-v40.9"] .form-select{font-family:inherit}
