/* ============================================================================
   premium.css — Industrial Spectrum design layer.
   Loaded on every page right after the page's own <style> block, so it wins on
   equal specificity. It does NOT change the colour system (navy #0A1628,
   electric #0057FF, teal #33D6C0; Space Grotesk / Inter / IBM Plex Mono) —
   it refines execution: depth, glass, motion, forms, rhythm, empty states.
   Paired with premium.js (reveal-on-scroll, nav state, button loading state).
   ========================================================================== */

:root{
  --pr-navy:#0A1628; --pr-navy-950:#050B16; --pr-navy-800:#0F2444; --pr-navy-700:#16325E;
  --pr-electric:#0057FF; --pr-electric-2:#2E6BFF; --pr-teal:#33D6C0;
  --pr-ink:#0A1628; --pr-ink-2:#334155; --pr-ink-3:#5B6B82; --pr-ink-4:#8896AB;
  --pr-line:rgba(10,22,40,.08); --pr-line-2:rgba(10,22,40,.12); --pr-line-3:#DCE3EC;
  --pr-canvas:#F5F7FB; --pr-surface:#FFFFFF; --pr-surface-2:#FAFBFD;

  --pr-spectrum:linear-gradient(90deg,#0057FF 0%,#1F8BEA 50%,#33D6C0 100%);
  --pr-spectrum-d:linear-gradient(135deg,#0057FF 0%,#33D6C0 100%);

  --pr-r-sm:8px; --pr-r:12px; --pr-r-lg:16px; --pr-r-xl:22px;

  --pr-sh-xs:0 1px 2px rgba(10,22,40,.05);
  --pr-sh-sm:0 1px 2px rgba(10,22,40,.04), 0 2px 6px -2px rgba(10,22,40,.06);
  --pr-sh-md:0 1px 2px rgba(10,22,40,.04), 0 8px 24px -10px rgba(10,22,40,.14);
  --pr-sh-lg:0 2px 4px rgba(10,22,40,.04), 0 18px 40px -16px rgba(10,22,40,.22), 0 4px 12px -6px rgba(10,22,40,.08);
  --pr-sh-xl:0 30px 80px -28px rgba(5,11,22,.45), 0 10px 30px -14px rgba(5,11,22,.2);
  --pr-glow-blue:0 10px 28px -10px rgba(0,87,255,.55);
  --pr-glow-teal:0 0 0 1px rgba(51,214,192,.28), 0 10px 32px -12px rgba(51,214,192,.45);
  --pr-ring:0 0 0 4px rgba(0,87,255,.14);

  --pr-ease:cubic-bezier(.2,.75,.25,1);
  --pr-ease-spring:cubic-bezier(.34,1.4,.64,1);
  --pr-dur:.22s;
}

/* ---------------------------------------------------------------- base type */
html{-webkit-text-size-adjust:100%; text-rendering:optimizeLegibility;}
body{
  font-feature-settings:'cv11','ss01','ss03';
  -moz-osx-font-smoothing:grayscale;
  line-height:1.55;
}
h1,h2,h3,h4{letter-spacing:-.02em; text-wrap:balance;}
p{text-wrap:pretty;}
.font-mono,[class*="-num"],.num,.plan-price,.kpi-num{font-variant-numeric:tabular-nums;}
::selection{background:rgba(0,87,255,.9); color:#fff;}
:focus{outline:none;}
:focus-visible{outline:2px solid var(--pr-electric); outline-offset:2px; border-radius:6px;}
a,button{-webkit-tap-highlight-color:transparent;}

/* refined scrollbars (desktop) */
@media (pointer:fine){
  *{scrollbar-width:thin; scrollbar-color:rgba(10,22,40,.22) transparent;}
  ::-webkit-scrollbar{width:10px; height:10px;}
  ::-webkit-scrollbar-thumb{background:rgba(10,22,40,.18); border-radius:10px; border:3px solid transparent; background-clip:padding-box;}
  ::-webkit-scrollbar-thumb:hover{background-color:rgba(10,22,40,.32);}
  ::-webkit-scrollbar-track{background:transparent;}
}

/* ------------------------------------------------------------ section rhythm */
.wrap{padding-left:20px; padding-right:20px;}
@media(min-width:768px){.wrap{padding-left:40px; padding-right:40px;}}
@media(min-width:1200px){.wrap{padding-left:48px; padding-right:48px;}}

.bg-tint{background:
  radial-gradient(1200px 400px at 85% -10%, rgba(51,214,192,.06), transparent 60%),
  radial-gradient(900px 360px at 0% 110%, rgba(0,87,255,.05), transparent 60%),
  var(--pr-canvas);}

.section-head{max-width:660px;}
.section-eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-size:11px; font-weight:500; letter-spacing:.14em;
}
.section-eyebrow::before{
  content:''; width:18px; height:2px; border-radius:2px; flex:none;
  background:var(--pr-spectrum);
}
[style*="text-align:center"] > .section-eyebrow::before,
.section-head[style*="margin:0 auto"] .section-eyebrow::before{display:none;}
.section-title{letter-spacing:-.025em; line-height:1.12; font-weight:700;}
.section-sub{font-size:15.5px; line-height:1.7; color:var(--pr-ink-3); max-width:60ch;}
.section-head[style*="text-align:center"] .section-sub{margin-left:auto; margin-right:auto;}

.spectrum-underline{
  height:3px; border-radius:3px; width:56px;
  background:var(--pr-spectrum);
  box-shadow:0 0 12px rgba(51,214,192,.35);
  transform-origin:left center;
}
.reveal .spectrum-underline{transform:scaleX(.2); transition:transform .9s var(--pr-ease) .15s;}
.reveal.in .spectrum-underline{transform:scaleX(1);}
[style*="margin-left:auto"].spectrum-underline{transform-origin:center;}
.spectrum-bar{background:var(--pr-spectrum);}

.view-all-link{
  position:relative; transition:color var(--pr-dur) var(--pr-ease), gap var(--pr-dur) var(--pr-ease);
}
.view-all-link svg{transition:transform var(--pr-dur) var(--pr-ease);}
.view-all-link:hover{gap:9px;}
.view-all-link:hover svg{transform:translateX(2px);}

/* --------------------------------------------------------------------- header */
header.site-header,
header.site-header.solid{
  background:rgba(9,20,37,.965) !important;
  -webkit-backdrop-filter:saturate(170%) blur(18px);
  backdrop-filter:saturate(170%) blur(18px);
  border-bottom:1px solid rgba(255,255,255,.06) !important;
  box-shadow:0 1px 0 rgba(0,0,0,.2), 0 10px 30px -20px rgba(0,0,0,.6);
}
header.site-header::after{
  content:''; position:absolute; left:0; right:0; bottom:-1px; height:1px; pointer-events:none;
  background:linear-gradient(90deg, transparent 0%, rgba(0,87,255,.55) 30%, rgba(51,214,192,.6) 70%, transparent 100%);
  opacity:.55;
}
.nav-inner{height:72px;}
nav.main-nav a{
  position:relative; padding:6px 0; transition:color var(--pr-dur) var(--pr-ease);
}
nav.main-nav a::after{
  content:''; position:absolute; left:0; right:0; bottom:-2px; height:2px; border-radius:2px;
  background:var(--pr-spectrum); transform:scaleX(0); transform-origin:left;
  transition:transform .3s var(--pr-ease);
}
nav.main-nav a:hover::after{transform:scaleX(1);}
nav.main-nav a.pr-current,nav.main-nav a.current{color:#fff !important;}
nav.main-nav a.pr-current::after,nav.main-nav a.current::after{bottom:-2px !important; height:2px !important; background:var(--pr-spectrum) !important; transform:scaleX(1); box-shadow:0 0 10px rgba(51,214,192,.6);}
.logo-mark{transition:opacity var(--pr-dur);}
.logo-mark:hover{opacity:.9;}
.logo-glyph rect{transition:transform .4s var(--pr-ease-spring); transform-box:fill-box; transform-origin:bottom;}
.logo-mark:hover .logo-glyph rect:nth-child(1){transform:scaleY(1.12);}
.logo-mark:hover .logo-glyph rect:nth-child(2){transform:scaleY(.9);}
.logo-mark:hover .logo-glyph rect:nth-child(3){transform:scaleY(1.05);}
.btn-ghost-nav{transition:color var(--pr-dur);}

/* mobile menus (page-built #mobileMenu and platform-forms .__mm) */
#mobileMenu, .__mm{
  background:rgba(8,18,34,.94) !important;
  -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px);
  animation:pr-drop .28s var(--pr-ease);
}
.__mm a, #mobileMenu .wrap > a{transition:color var(--pr-dur), padding-left var(--pr-dur);}
.__mm a:hover, #mobileMenu .wrap > a:hover{color:#fff !important; padding-left:6px;}
.__mm .__cta{background:linear-gradient(180deg,#1766FF,#0057FF) !important; box-shadow:var(--pr-glow-blue);}
.mobile-menu-btn, .__mb{border-radius:10px; width:40px; height:40px; align-items:center; justify-content:center; transition:background var(--pr-dur);}
.mobile-menu-btn:hover, .__mb:hover{background:rgba(255,255,255,.08);}
@keyframes pr-drop{from{opacity:0; transform:translateY(-6px);} to{opacity:1; transform:none;}}

/* ----------------------------------------------------------------------- hero */
.hero{isolation:isolate;}
/* the invented stat strips that used to close each hero are hidden, so the hero owns its bottom rhythm */
section.hero{padding-bottom:clamp(64px,7vw,96px) !important;}
section.hero .hero-caps{margin-bottom:0;}
section.hero::before{
  content:''; position:absolute; z-index:0; pointer-events:none;
  left:-220px; bottom:-260px; width:720px; height:720px; border-radius:50%;
  background:radial-gradient(circle, rgba(51,214,192,.16) 0%, rgba(51,214,192,0) 65%);
  filter:blur(8px);
}
section.hero::after{
  content:''; position:absolute; z-index:0; left:0; right:0; bottom:0; height:1px; pointer-events:none;
  background:linear-gradient(90deg, transparent, rgba(51,214,192,.35), transparent);
}
.hero-glow{animation:pr-float 14s ease-in-out infinite alternate;}
@keyframes pr-float{from{transform:translate3d(0,0,0) scale(1);} to{transform:translate3d(-40px,30px,0) scale(1.08);}}
.hero h1{letter-spacing:-.03em;}
.hero h1 .accent{
  background:linear-gradient(95deg,#5B8FFF 0%,#3D7CFF 35%,#33D6C0 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent !important;
}
.hero p.lead, .hero .lead{color:#B9C4D3;}
.eyebrow{
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 0 24px -8px rgba(51,214,192,.4);
}
.eyebrow svg{filter:drop-shadow(0 0 6px rgba(51,214,192,.7));}

/* capability strip (honest replacement for the old invented hero counters) */
.hero-caps{
  position:relative; z-index:2; margin:64px 0 72px;
  display:grid; grid-template-columns:1fr; gap:1px; border-radius:18px; overflow:hidden;
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.08);
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 30px 60px -30px rgba(0,0,0,.6);
}
@media(min-width:640px){.hero-caps{grid-template-columns:1fr 1fr;}}
@media(min-width:1100px){.hero-caps{grid-template-columns:repeat(4,1fr);}}
.hero-cap{display:flex; align-items:flex-start; gap:14px; padding:20px 22px; background:rgba(10,22,40,.55); color:#fff; transition:background .3s var(--pr-ease);}
.hero-cap:hover{background:rgba(15,36,68,.75);}
.hero-cap b{display:block; font-family:'Space Grotesk',sans-serif; font-size:15px; font-weight:600; letter-spacing:-.01em;}
.hero-cap small{display:block; font-size:12.5px; color:#8FA0B6; margin-top:3px; line-height:1.45;}
.hero-cap-ic{
  width:38px; height:38px; flex:none; border-radius:10px; display:flex; align-items:center; justify-content:center;
  color:var(--pr-teal); background:linear-gradient(135deg, rgba(0,87,255,.22), rgba(51,214,192,.16));
  box-shadow:inset 0 0 0 1px rgba(51,214,192,.22); transition:box-shadow .3s, transform .4s var(--pr-ease-spring);
}
.hero-cap:hover .hero-cap-ic{transform:translateY(-2px); box-shadow:inset 0 0 0 1px rgba(51,214,192,.4), 0 0 22px -4px rgba(51,214,192,.55);}
@media(max-width:767px){.hero-caps{margin:44px 0 52px;} .hero-cap{padding:16px 18px;}}

/* advertise teaser placements (index) */
.ad-placements{display:grid; grid-template-columns:1fr; gap:1px; margin-top:18px; border-radius:12px; overflow:hidden; background:rgba(255,255,255,.07);}
@media(min-width:560px){.ad-placements{grid-template-columns:1fr 1fr;}}
.ad-placements > div{padding:16px 18px; background:rgba(10,22,40,.6);}
.ad-placements b{display:block; font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:15px; color:#fff;}
.ad-placements span{display:block; font-size:12.5px; color:#8FA0B6; margin-top:4px; line-height:1.5;}

/* industry card footer label */
.ind-cta{font-size:12.5px; font-weight:600; color:var(--pr-ink-3); transition:color .25s;}
.ind-card:hover .ind-cta{color:var(--pr-electric);}

/* sector side card (manufacturing overview) */
.pr-side-card{
  position:sticky; top:96px; border-radius:var(--pr-r-xl); padding:26px;
  background:
    radial-gradient(360px 180px at 100% 0%, rgba(51,214,192,.10), transparent 70%),
    linear-gradient(180deg,#fff,#FAFBFD);
  border:1px solid var(--pr-line); box-shadow:var(--pr-sh-md);
}
.pr-side-eyebrow{font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--pr-electric);}
.pr-side-title{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:19px; letter-spacing:-.02em; color:var(--pr-ink); margin:8px 0 14px;}
.pr-side-link{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:14px 4px; border-top:1px solid var(--pr-line); color:var(--pr-ink);
  transition:padding .25s var(--pr-ease), color .2s;
}
.pr-side-link b{display:block; font-size:14px; font-weight:600;}
.pr-side-link small{display:block; font-size:12.5px; color:var(--pr-ink-3); margin-top:2px;}
.pr-side-link svg{color:var(--pr-ink-4); flex:none; transition:transform .25s var(--pr-ease), color .2s;}
.pr-side-link:hover{padding-left:10px; color:var(--pr-electric);}
.pr-side-link:hover svg{transform:translateX(3px); color:var(--pr-electric);}
.pr-side-cta{display:flex !important; justify-content:center; margin-top:16px; padding:12px 16px; font-size:13.5px; font-weight:600;}

/* breadcrumbs on dark heroes */
.breadcrumb{font-size:12.5px;}
.breadcrumb a{transition:color var(--pr-dur);}
.breadcrumb a:hover{color:#fff;}

/* ---------------------------------------------------------------- buttons */
.btn-electric,.btn-electric-lg,.btn-primary,.plan-cta.solid,.btn-submit,.btn-next,.btn-cta,
.__pr-btn-primary,#content > .state .btn{
  position:relative; isolation:isolate; overflow:hidden;
  background:linear-gradient(180deg,#1A6BFF 0%,#0057FF 100%) !important;
  color:#fff; border:1px solid rgba(0,60,190,.6);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22), 0 1px 2px rgba(0,30,90,.3), 0 8px 20px -10px rgba(0,87,255,.7);
  transition:transform .18s var(--pr-ease), box-shadow .25s var(--pr-ease), filter .25s var(--pr-ease), background .25s;
  letter-spacing:.005em;
}
.btn-electric::after,.btn-electric-lg::after,.btn-primary::after,.plan-cta.solid::after{
  content:''; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:linear-gradient(110deg, transparent 30%, rgba(255,255,255,.28) 48%, transparent 66%);
  transform:translateX(-120%); transition:transform .7s var(--pr-ease);
}
.btn-electric:hover,.btn-electric-lg:hover,.btn-primary:hover,.plan-cta.solid:hover{
  transform:translateY(-1px); filter:brightness(1.06);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.26), 0 2px 4px rgba(0,30,90,.25), 0 14px 30px -10px rgba(0,87,255,.75), 0 0 0 1px rgba(51,214,192,.18);
}
.btn-electric:hover::after,.btn-electric-lg:hover::after,.btn-primary:hover::after,.plan-cta.solid:hover::after{transform:translateX(120%);}
.btn-electric:active,.btn-electric-lg:active,.btn-primary:active,.plan-cta.solid:active{
  transform:translateY(0) scale(.98); filter:brightness(.97);
  box-shadow:inset 0 2px 4px rgba(0,20,70,.35), 0 2px 8px -4px rgba(0,87,255,.6);
}
.btn-electric:focus-visible,.btn-electric-lg:focus-visible,.btn-primary:focus-visible{outline:none; box-shadow:0 0 0 3px #fff, 0 0 0 5px rgba(51,214,192,.9);}
.btn-electric svg,.btn-electric-lg svg,.btn-primary svg{transition:transform var(--pr-dur) var(--pr-ease);}
.btn-electric:hover svg:last-child,.btn-electric-lg:hover svg:last-child{transform:translateX(2px);}
.btn-electric-lg{border-radius:10px; padding:14px 24px;}
.btn-electric{border-radius:9px;}
.btn-primary{border-radius:10px;}

/* admin uses a navy primary — keep its identity, add the same depth */
body.pr-admin .btn-primary{background:linear-gradient(180deg,#16325E 0%,#0A1628 100%) !important; border-color:rgba(0,0,0,.4);}
body.pr-admin .btn-primary:hover{background:linear-gradient(180deg,#1A6BFF,#0057FF) !important;}

.btn-secondary-outline{
  border-radius:10px; -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  transition:transform .18s var(--pr-ease), background .25s, border-color .25s, box-shadow .25s;
}
.btn-secondary-outline:hover{
  background:rgba(255,255,255,.1); border-color:rgba(51,214,192,.55);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 0 24px -6px rgba(51,214,192,.45);
  transform:translateY(-1px);
}
.btn-secondary-outline:active{transform:scale(.98);}

.btn-outline,.btn-outline-navy,.plan-cta.outline,.evt-register,.logo-edit,.avatar-edit,.social-btn,.btn-ghost,.btn-back,.btn-secondary{
  border-radius:10px;
  transition:transform .18s var(--pr-ease), background .22s, color .22s, border-color .22s, box-shadow .22s;
  box-shadow:var(--pr-sh-xs);
}
.btn-outline:hover,.btn-outline-navy:hover,.plan-cta.outline:hover,.evt-register:hover,.logo-edit:hover,.avatar-edit:hover,.social-btn:hover,.btn-back:hover,.btn-secondary:hover{
  transform:translateY(-1px); box-shadow:var(--pr-sh-md);
}
.btn-outline:active,.btn-outline-navy:active,.plan-cta.outline:active,.evt-register:active,.social-btn:active,.btn-back:active,.btn-secondary:active{transform:scale(.98);}

.btn-approve,.btn-reject,.btn-danger-outline{border-radius:8px; transition:all .2s var(--pr-ease);}
.btn-approve:hover{box-shadow:0 8px 18px -8px rgba(14,159,110,.7); transform:translateY(-1px);}
.btn-reject:hover,.btn-danger-outline:hover{box-shadow:0 8px 18px -8px rgba(226,56,56,.6); transform:translateY(-1px);}
.btn-approve:active,.btn-reject:active,.btn-danger-outline:active{transform:scale(.97);}

button:disabled,button[disabled]{cursor:not-allowed;}
.btn-primary:disabled,.btn-electric:disabled,.btn-electric-lg:disabled{opacity:.72; transform:none !important; filter:saturate(.8);}

/* loading state (premium.js adds .pr-busy while a clicked button is disabled) */
.pr-busy{pointer-events:none;}
.pr-busy::before{
  content:''; display:inline-block; flex:none; width:14px; height:14px; margin-right:8px; vertical-align:-2px;
  border-radius:50%; border:2px solid currentColor; border-right-color:transparent; opacity:.9;
  animation:pr-spin .7s linear infinite;
}
@keyframes pr-spin{to{transform:rotate(360deg);}}
/* success pulse (premium.js flashes .pr-done after a busy button re-enables) */
.pr-done{animation:pr-done .9s var(--pr-ease);}
@keyframes pr-done{0%{box-shadow:0 0 0 0 rgba(51,214,192,.7);} 100%{box-shadow:0 0 0 14px rgba(51,214,192,0);}}

/* icon buttons (row actions, topbar) */
.icon-btn,.row-actions button{transition:background .2s, color .2s, border-color .2s, transform .15s var(--pr-ease), box-shadow .2s;}
.row-actions button{border-radius:8px; width:30px; height:30px; border-color:var(--pr-line-3);}
.row-actions button:hover{background:rgba(0,87,255,.06); box-shadow:0 4px 10px -6px rgba(0,87,255,.6);}
.row-actions button:active,.icon-btn:active{transform:scale(.92);}
.icon-btn{border-radius:10px;}

/* ------------------------------------------------------------------ pills */
.cat-tag{border-radius:6px; letter-spacing:.07em; font-weight:500; box-shadow:inset 0 0 0 1px rgba(0,87,255,.1);}
.suggest-pill,.news-cat-pill,.prod-category-pill,.cat-sub-pill,.mobile-tab,.filter-pill,.chip,.tab-btn,.cal-tab,.type-tab,.evt-tab{
  transition:background .22s, color .22s, border-color .22s, box-shadow .22s, transform .15s var(--pr-ease);
}
.suggest-pill{background:rgba(255,255,255,.8); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); border-color:var(--pr-line-3);}
.suggest-pill:hover,.news-cat-pill:hover,.prod-category-pill:hover,.cat-sub-pill:hover{
  transform:translateY(-1px); box-shadow:0 6px 16px -10px rgba(0,87,255,.6); background:#fff;
}
.suggest-pill:active,.prod-category-pill:active,.mobile-tab:active{transform:scale(.97);}
.prod-category-pill.active,.mobile-tab.active,.search-tab.active{box-shadow:0 6px 16px -8px rgba(10,22,40,.5), inset 0 1px 0 rgba(255,255,255,.08);}

/* ----------------------------------------------------------- search shell */
.search-shell{
  border-radius:20px; border:1px solid rgba(255,255,255,.7);
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.82));
  -webkit-backdrop-filter:blur(18px) saturate(160%); backdrop-filter:blur(18px) saturate(160%);
  box-shadow:0 0 0 1px var(--pr-line), 0 30px 70px -30px rgba(10,22,40,.35), 0 8px 24px -12px rgba(10,22,40,.12);
}
.search-tab{border-radius:9px; transition:background .2s, color .2s;}
.search-tab:not(.active):hover{background:rgba(10,22,40,.05); color:var(--pr-ink);}
.search-input-wrap{
  border-radius:12px; border-color:var(--pr-line-3); background:var(--pr-surface-2);
  transition:border-color .2s, box-shadow .2s, background .2s;
}
.search-input-wrap:hover{border-color:#C9D3E0;}
.search-input-wrap:focus-within{border-color:var(--pr-electric); background:#fff; box-shadow:var(--pr-ring);}
.search-input-wrap input{background:transparent;}
.search-mini{border-radius:10px; border-color:var(--pr-line-3); background:#fff; transition:border-color .2s, box-shadow .2s;}
.search-mini:focus-within{border-color:var(--pr-electric); box-shadow:var(--pr-ring);}
.search-mini input{background:transparent;}

/* ================================================================== CARDS */
/* shared light-surface card treatment */
.ind-card,.co-card,.prod-card,.evt-card,.plan-card,.testi-card,.news-feature,.news-row,.stat-card,
.qa-btn,.queue-row,.kpi-cell,.dir-card,.feat-card,.mkt-card,.listing-card,.news-card,.trend-card,
.fe-card,.cal-row,.pl-card,.benefit-card,.faq-item,.ad-card,.format-card,.pkg-card,.info-card,.side-card,
.sim-card,.co-mini,.rel-card,.cat-card,.seg-card,.svc-card,.tech-card,.why-tile{
  border-color:var(--pr-line) !important;
  box-shadow:var(--pr-sh-sm);
  transition:transform .35s var(--pr-ease), box-shadow .35s var(--pr-ease), border-color .35s var(--pr-ease), background .35s;
}
.ind-card,.co-card,.prod-card,.evt-card,.testi-card,.news-feature,.dir-card,.feat-card,.mkt-card,.listing-card,
.news-card,.trend-card,.fe-card,.plan-card,.sim-card,.rel-card,.cat-card,.seg-card,.svc-card,.tech-card{border-radius:var(--pr-r-lg) !important;}

/* hover: lift + layered shadow + spectrum hairline border */
.ind-card:hover,.co-card:hover,.prod-card:hover,.evt-card:hover,.news-feature:hover,.dir-card:hover,.feat-card:hover,
.mkt-card:hover,.listing-card:hover,.news-card:hover,.trend-card:hover,.fe-card:hover,.sim-card:hover,.rel-card:hover,
.cat-card:hover,.seg-card:hover,.svc-card:hover,.tech-card:hover,.testi-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--pr-sh-lg), 0 0 0 1px rgba(0,87,255,.14);
  border-color:rgba(0,87,255,.22) !important;
}
.news-row:hover,.qa-btn:hover,.queue-row:hover,.cal-row:hover{
  transform:translateY(-2px); box-shadow:var(--pr-sh-md); border-color:rgba(0,87,255,.25) !important;
}
.ind-card:active,.co-card:active,.prod-card:active,.evt-card:active,.news-row:active,.qa-btn:active{transform:translateY(-1px) scale(.995);}

/* top spectrum accent line that draws in on hover */
.co-card,.dir-card,.feat-card,.stat-card,.plan-card,.why-card,.testi-card,.mkt-card,.listing-card,.panel,.mi-card{position:relative;}
.co-card::before,.dir-card::before,.feat-card::before,.stat-card::before,.why-card::before,.mkt-card::before,.listing-card::before,.testi-card::before{
  content:''; position:absolute; left:18px; right:18px; top:-1px; height:2px; border-radius:2px; pointer-events:none;
  background:var(--pr-spectrum); transform:scaleX(0); transform-origin:left; opacity:0;
  transition:transform .5s var(--pr-ease), opacity .3s;
}
.co-card:hover::before,.dir-card:hover::before,.feat-card:hover::before,.stat-card:hover::before,.why-card:hover::before,
.mkt-card:hover::before,.listing-card:hover::before,.testi-card:hover::before{transform:scaleX(1); opacity:1;}

/* industry cards */
.ind-card{background:#fff;}
.ind-visual{overflow:hidden;}
.ind-visual::before{
  content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:radial-gradient(120% 90% at 100% 0%, rgba(51,214,192,.28), transparent 55%), linear-gradient(180deg, rgba(255,255,255,.06), transparent 50%);
  opacity:.7; transition:opacity .4s;
}
.ind-card:hover .ind-visual::before{opacity:1;}
.ind-visual svg{transition:transform .5s var(--pr-ease-spring); filter:drop-shadow(0 6px 14px rgba(0,0,0,.25));}
.ind-card:hover .ind-visual svg{transform:scale(1.1) translateY(-2px);}
.ind-arrow{transition:all .3s var(--pr-ease);}
.ind-card:hover .ind-arrow{box-shadow:var(--pr-glow-blue); transform:translateX(2px);}

/* company cards */
.co-logo,.queue-logo,.topbar-co-logo,.logo-lg,.avatar-lg,.avatar-sm,.lead-avatar,.testi-avatar,.topbar-avatar{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14), 0 4px 12px -6px rgba(10,22,40,.4);
}
.co-logo{border-radius:12px;}
.co-view,.panel-link{transition:gap .2s var(--pr-ease), color .2s;}
.co-view:hover{gap:8px;}

/* product cards */
.prod-card{background:#fff; overflow:hidden;}
.prod-visual{transition:transform .6s var(--pr-ease);}
.prod-card:hover .prod-visual{transform:scale(1.04);}
.prod-body{position:relative; background:#fff;}

/* event cards */
.evt-card{background:#fff; overflow:hidden;}
.evt-date{background:
  radial-gradient(120% 140% at 100% 0%, rgba(51,214,192,.18), transparent 55%),
  linear-gradient(135deg,#0A1628,#0F2444);}
.evt-date-box{
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1);
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

/* why grid (hairline mosaic) */
.grid-why{border-radius:var(--pr-r-xl); box-shadow:var(--pr-sh-sm); background:var(--pr-line); border-color:var(--pr-line);}
.why-card{transition:background .35s var(--pr-ease);}
.why-card:hover{background:linear-gradient(180deg,#fff, #F7FAFF);}
.why-icon,.stat-icon,.qa-icon,.notif-icon{
  position:relative;
  background:linear-gradient(135deg, rgba(0,87,255,.1), rgba(51,214,192,.12));
  box-shadow:inset 0 0 0 1px rgba(0,87,255,.1);
  transition:transform .4s var(--pr-ease-spring), box-shadow .3s;
}
.why-card:hover .why-icon,.stat-card:hover .stat-icon,.qa-btn:hover .qa-icon{transform:translateY(-2px) scale(1.06); box-shadow:inset 0 0 0 1px rgba(0,87,255,.18), 0 8px 18px -8px rgba(0,87,255,.5);}

/* plans */
.plan-card{border-radius:var(--pr-r-xl) !important; background:linear-gradient(180deg,#fff,#FCFDFE);}
.plan-card:hover{transform:translateY(-4px); box-shadow:var(--pr-sh-lg);}
.plan-card.featured{
  border:1px solid transparent !important;
  background:linear-gradient(#fff,#fff) padding-box, linear-gradient(160deg,#0057FF,#33D6C0) border-box;
  box-shadow:0 30px 70px -30px rgba(0,87,255,.45), 0 0 0 1px rgba(0,87,255,.05);
}
.plan-badge{background:var(--pr-spectrum-d); box-shadow:0 6px 16px -6px rgba(0,87,255,.6); letter-spacing:.08em;}
.plan-feature svg{color:var(--pr-teal); filter:drop-shadow(0 0 4px rgba(51,214,192,.35));}
.plan-card:not(.featured) .plan-feature svg{color:var(--pr-electric); filter:none;}
.plan-cta{border-radius:10px;}

/* news */
.news-feature{background:#fff; overflow:hidden;}
.news-feature-visual{transition:transform .8s var(--pr-ease);}
.news-feature:hover .news-feature-visual{transform:scale(1.03);}
.news-row{background:#fff; border-radius:14px;}
.news-row-visual{border-radius:10px;}

/* page-specific cards that share the same system */
.article-card,.sol-card,.placement-card,.cap-card,.cert-card,.certif-card,.dl-card,.exh-card,.intel-card,.isv-card,
.leader-card,.loc-card,.proj-card,.rel-co-card,.sp-card,.speaker-card,.sup-card,.verify-card,.network-card,.split-card,.mockup-card{
  border-color:var(--pr-line) !important; border-radius:var(--pr-r-lg) !important;
  box-shadow:var(--pr-sh-sm);
  transition:transform .35s var(--pr-ease), box-shadow .35s var(--pr-ease), border-color .35s var(--pr-ease);
}
.article-card:hover,.sol-card:hover,.placement-card:hover,.cap-card:hover,.cert-card:hover,.dl-card:hover,.exh-card:hover,
.intel-card:hover,.isv-card:hover,.leader-card:hover,.loc-card:hover,.proj-card:hover,.rel-co-card:hover,.sp-card:hover,
.speaker-card:hover,.sup-card:hover,.verify-card:hover{
  transform:translateY(-4px); box-shadow:var(--pr-sh-lg), 0 0 0 1px rgba(0,87,255,.12); border-color:rgba(0,87,255,.22) !important;
}
.split-card{box-shadow:var(--pr-sh-lg);}
.mockup-card{box-shadow:0 30px 70px -30px rgba(10,22,40,.35), 0 0 0 1px var(--pr-line);}
.mockup-badge{background:var(--pr-spectrum-d) !important; box-shadow:0 6px 16px -6px rgba(0,87,255,.6);}
.dir-row,.mostread-row{transition:background .25s, box-shadow .25s, transform .25s var(--pr-ease), border-color .25s;}
.dir-row:hover{box-shadow:var(--pr-sh-md); border-color:rgba(0,87,255,.2) !important;}
.sol-icon,.cap-icon,.cert-icon,.verify-icon,.sup-icon{
  background:linear-gradient(135deg, rgba(0,87,255,.1), rgba(51,214,192,.12)) !important;
  box-shadow:inset 0 0 0 1px rgba(0,87,255,.1);
}

/* form shells: one elevated, glassy surface for every long form */
.rfq-shell,.quote-shell,.inquiry-shell,.sales-shell,.alerts-shell{
  position:relative; border-radius:var(--pr-r-xl) !important;
  border:1px solid var(--pr-line) !important;
  background:linear-gradient(180deg,#fff,#FCFDFE) !important;
  box-shadow:0 30px 70px -34px rgba(10,22,40,.28), 0 8px 20px -14px rgba(10,22,40,.1) !important;
}
.rfq-shell::before,.quote-shell::before,.inquiry-shell::before,.sales-shell::before,.alerts-shell::before{
  content:''; position:absolute; left:32px; right:32px; top:-1px; height:2px; border-radius:2px;
  background:var(--pr-spectrum); opacity:.9;
}
.mediakit-shell,.newsletter-shell{
  background:
    radial-gradient(600px 260px at 100% 0%, rgba(51,214,192,.14), transparent 60%),
    radial-gradient(600px 300px at 0% 100%, rgba(0,87,255,.26), transparent 60%),
    #0A1628 !important;
}

/* ------------------------------------------------------------ dark surfaces */
.mi-section,.final-cta,.ad-section{isolation:isolate;}
.mi-card{
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.015)) !important;
  border:1px solid rgba(255,255,255,.09) !important;
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 20px 40px -24px rgba(0,0,0,.6);
  border-radius:var(--pr-r-lg);
  transition:transform .35s var(--pr-ease), border-color .35s, box-shadow .35s;
}
.mi-card:hover{transform:translateY(-3px); border-color:rgba(51,214,192,.35) !important; box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 24px 50px -24px rgba(0,0,0,.7), 0 0 30px -12px rgba(51,214,192,.45);}
.final-cta{
  background:
    radial-gradient(700px 300px at 15% 0%, rgba(0,87,255,.35), transparent 60%),
    radial-gradient(600px 300px at 90% 110%, rgba(51,214,192,.22), transparent 60%),
    linear-gradient(135deg,#050B16 0%,#0F2444 100%) !important;
  box-shadow:var(--pr-sh-xl);
}
.final-cta h2{line-height:1.12; letter-spacing:-.03em;}
.final-cta::after,.ad-section::after{
  content:''; position:absolute; inset:0; border-radius:inherit; pointer-events:none; z-index:1;
  padding:1px; background:linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,0) 40%, rgba(51,214,192,.3));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude;
}
.ad-section{
  background:
    radial-gradient(700px 320px at 100% 0%, rgba(51,214,192,.16), transparent 60%),
    radial-gradient(600px 320px at 0% 100%, rgba(0,87,255,.28), transparent 60%),
    #0A1628 !important;
  box-shadow:var(--pr-sh-xl);
}
@media(max-width:640px){.ad-section{margin:0 12px !important; padding:44px 22px !important; border-radius:20px !important;} .ad-feature-list{grid-template-columns:1fr !important;}}

/* a final CTA that follows a tinted section needs its own breathing room */
.bg-tint + section:has(> .final-cta){padding-top:88px !important;}

/* dark in-section forms (newsletter / alerts / proposal on navy panels) */
.newsletter-shell,.alerts-shell,.nl-shell{box-shadow:var(--pr-sh-xl); isolation:isolate;}
.newsletter-form,.alerts-form{align-items:stretch;}
.newsletter-form > button,.alerts-form > button{flex:none; white-space:nowrap; padding-left:22px !important; padding-right:22px !important;}
.newsletter-form input,.newsletter-form select,.alerts-form input,.alerts-form select{
  border-radius:10px !important; min-height:48px;
  transition:border-color .2s, box-shadow .2s, background .2s;
}
.newsletter-form select,.alerts-form select{
  -webkit-appearance:none; appearance:none; padding-right:38px !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23C4CDD9' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important; background-position:right 14px center !important;
}
.newsletter-form select option,.alerts-form select option{color:#0A1628;}
.newsletter-form input:focus,.newsletter-form select:focus,.alerts-form input:focus,.alerts-form select:focus{
  outline:none; border-color:rgba(51,214,192,.6) !important; background-color:rgba(255,255,255,.08) !important;
  box-shadow:0 0 0 4px rgba(51,214,192,.14);
}

/* -------------------------------------------------------------------- footer */
footer{position:relative;}
footer::before{
  content:''; position:absolute; left:0; right:0; top:0; height:1px;
  background:linear-gradient(90deg, transparent, rgba(0,87,255,.6) 30%, rgba(51,214,192,.6) 70%, transparent);
  opacity:.6;
}
.footer-col h4{letter-spacing:.08em; text-transform:uppercase; font-size:11.5px; font-family:'IBM Plex Mono',monospace; font-weight:500; color:#E7EBF1;}
.footer-col a{transition:color .2s, transform .2s var(--pr-ease); width:fit-content;}
.footer-col a:hover{color:#fff; transform:translateX(2px);}
.footer-newsletter input{
  border-radius:10px !important; transition:border-color .2s, box-shadow .2s, background .2s;
  min-width:0;
}
.footer-newsletter input:focus{border-color:rgba(51,214,192,.6) !important; background:rgba(255,255,255,.07) !important; box-shadow:0 0 0 4px rgba(51,214,192,.12);}
.social-icons a{transition:all .25s var(--pr-ease);}

/* ================================================================== FORMS */
/* one consistent, tactile field across every page */
.field input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),
.field select,.field textarea,
.input-wrap input,.input-wrap select,
.modal input:not([type=checkbox]):not([type=radio]):not([type=file]),.modal select,.modal textarea,
.form-field input,.form-field select,.form-field textarea,
.fg input:not([type=checkbox]):not([type=radio]),.fg select,.fg textarea,
.rfq-form input,.rfq-form select,.rfq-form textarea,
.contact-form input,.contact-form select,.contact-form textarea,
.pf-input,.pr-input{
  border:1px solid var(--pr-line-3) !important;
  border-radius:10px !important;
  background-color:var(--pr-surface-2) !important;
  color:var(--pr-ink);
  font-size:14px; line-height:1.4;
  min-height:44px;
  box-shadow:inset 0 1px 2px rgba(10,22,40,.04);
  transition:border-color .18s var(--pr-ease), box-shadow .18s var(--pr-ease), background-color .18s;
}
.field textarea,.modal textarea,.form-field textarea,.fg textarea,.rfq-form textarea,.contact-form textarea{min-height:104px; line-height:1.55; resize:vertical;}
.field input:hover,.field select:hover,.field textarea:hover,.input-wrap input:hover,.input-wrap select:hover,
.modal input:hover,.modal select:hover,.modal textarea:hover,.form-field input:hover,.form-field select:hover,.form-field textarea:hover,
.fg input:hover,.fg select:hover,.fg textarea:hover{border-color:#C3CEDC !important; background-color:#fff !important;}
.field input:focus,.field select:focus,.field textarea:focus,.input-wrap input:focus,.input-wrap select:focus,
.modal input:focus,.modal select:focus,.modal textarea:focus,.form-field input:focus,.form-field select:focus,.form-field textarea:focus,
.fg input:focus,.fg select:focus,.fg textarea:focus,.rfq-form input:focus,.rfq-form select:focus,.rfq-form textarea:focus,
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{
  border-color:var(--pr-electric) !important; background-color:#fff !important;
  box-shadow:var(--pr-ring), inset 0 1px 2px rgba(10,22,40,.02);
}
input::placeholder,textarea::placeholder{color:#9AA7B8; opacity:1;}
.field input[readonly],.field input:disabled,.modal input:disabled{background-color:#F1F4F8 !important; color:var(--pr-ink-3);}

/* custom select chevron */
.field select,.input-wrap select,.modal select,.form-field select,.fg select,.rfq-form select,.contact-form select,
.adv-filters select,.dir-filters select,.mkt-filters select,.filters select,.toolbar-row select,.pr-select{
  -webkit-appearance:none; appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235B6B82' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important; background-position:right 14px center !important; background-size:12px !important;
  padding-right:38px !important; cursor:pointer;
}
.field label,.modal label,.form-field label,.fg label{font-size:12.5px; font-weight:600; color:var(--pr-ink-2); letter-spacing:.005em;}
.field{gap:7px;}
.form-grid{gap:18px;}
input[type=checkbox],input[type=radio]{accent-color:var(--pr-electric); width:16px; height:16px; cursor:pointer;}

/* small inline admin selects */
.inline-select{
  -webkit-appearance:none; appearance:none; cursor:pointer;
  border-radius:7px !important; border:1px solid var(--pr-line-3) !important; background-color:#fff;
  padding:5px 24px 5px 9px !important; letter-spacing:.04em;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%235B6B82' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 7px center; background-size:10px;
  transition:border-color .2s, box-shadow .2s;
}
.inline-select:hover{border-color:#B9C5D5 !important;}
.inline-select:focus{border-color:var(--pr-electric) !important; box-shadow:0 0 0 3px rgba(0,87,255,.14);}

/* toggles */
.toggle{transition:background .25s var(--pr-ease), box-shadow .25s; box-shadow:inset 0 1px 2px rgba(10,22,40,.12);}
.toggle.on{background:linear-gradient(90deg,#0057FF,#1F8BEA) !important; box-shadow:0 0 0 3px rgba(0,87,255,.12);}
.toggle-knob{box-shadow:0 2px 4px rgba(10,22,40,.25); transition:left .28s var(--pr-ease-spring) !important;}

/* ================================================================ DASHBOARDS */
.topbar{
  background:rgba(8,18,34,.9) !important;
  -webkit-backdrop-filter:saturate(170%) blur(18px); backdrop-filter:saturate(170%) blur(18px);
  box-shadow:0 1px 0 rgba(255,255,255,.05), 0 10px 30px -20px rgba(0,0,0,.6);
}
.topbar::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:1px; pointer-events:none;
  background:linear-gradient(90deg, transparent, rgba(0,87,255,.5) 30%, rgba(51,214,192,.55) 70%, transparent); opacity:.5;
}
.sidebar{position:sticky; top:64px; align-self:start; height:calc(100vh - 64px); overflow-y:auto;}
.side-nav a{position:relative; border-radius:10px; transition:background .2s, color .2s, padding-left .25s var(--pr-ease);}
.side-nav a:hover{padding-left:15px;}
.side-nav a.active::before{
  content:''; position:absolute; left:-16px; top:9px; bottom:9px; width:3px; border-radius:0 3px 3px 0;
  background:linear-gradient(180deg,#0057FF,#33D6C0); box-shadow:0 0 12px rgba(51,214,192,.6);
}
.side-nav a.active{background:linear-gradient(90deg, rgba(0,87,255,.1), rgba(0,87,255,.02)); box-shadow:inset 0 0 0 1px rgba(0,87,255,.08);}
body.pr-admin .side-nav a.active{background:linear-gradient(90deg, rgba(212,167,44,.16), rgba(212,167,44,.03)); box-shadow:inset 0 0 0 1px rgba(212,167,44,.12);}
body.pr-admin .side-nav a.active::before{background:linear-gradient(180deg,#D4A72C,#33D6C0);}
.nav-count{transition:all .2s;}
.nav-count.alert{box-shadow:0 0 0 3px rgba(0,87,255,.14);}
.mobile-tabs{scrollbar-width:none; position:sticky; top:64px; z-index:40;
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);}
.mobile-tabs::-webkit-scrollbar{display:none;}
.mobile-tabs:not([style*="background"]){background:rgba(255,255,255,.88);}

.content-title{font-size:26px; letter-spacing:-.025em; line-height:1.15;}
.content-sub{font-size:13.5px; color:var(--pr-ink-3); line-height:1.6;}
.content-header{padding-bottom:22px; margin-bottom:24px !important; border-bottom:1px solid var(--pr-line);}

.stat-card,.panel,.kpi-cell{border-radius:var(--pr-r-lg) !important; background:#fff;}
.stat-card{padding:20px 20px 18px;}
.stat-card:hover{transform:translateY(-2px); box-shadow:var(--pr-sh-md);}
.stat-num{font-size:26px; letter-spacing:-.02em; line-height:1.1;}
.stat-label{font-size:12px; color:var(--pr-ink-3); letter-spacing:.01em;}
.panel{box-shadow:var(--pr-sh-sm); border-color:var(--pr-line) !important;}
.panel-title{font-size:15.5px; letter-spacing:-.01em;}
.panel-title-row{padding-bottom:14px; border-bottom:1px solid var(--pr-line); margin-bottom:6px;}
.kpi-cell{background:linear-gradient(180deg,#fff,#FAFBFD);}

/* tables */
table{border-collapse:separate !important; border-spacing:0;}
body.pr-dash th{background:#F8FAFC; color:#6B7A90 !important; font-weight:500 !important; letter-spacing:.07em !important; border-bottom:1px solid var(--pr-line-2) !important; padding-top:11px !important; padding-bottom:11px !important;}
body.pr-dash thead th:first-child{border-top-left-radius:10px;} body.pr-dash thead th:last-child{border-top-right-radius:10px;}
td{border-bottom-color:var(--pr-line) !important; vertical-align:middle;}
tbody tr{transition:background .18s;}
tbody tr:hover{background:linear-gradient(90deg, rgba(0,87,255,.035), rgba(51,214,192,.02)) !important;}
tbody tr:last-child td{border-bottom:none !important;}

/* status badges / pills — a touch of depth */
.status-badge,.role-badge,.status-pill,.lead-status,.session-current{border-radius:999px !important; padding-left:10px !important; padding-right:10px !important; font-weight:500; letter-spacing:.05em; box-shadow:inset 0 0 0 1px currentColor; box-shadow:inset 0 0 0 1px color-mix(in srgb, currentColor 18%, transparent);}
.status-badge.active::before,.status-badge.published::before,.status-pill.active::before{
  content:''; display:inline-block; width:6px; height:6px; border-radius:50%; background:currentColor; margin-right:6px; vertical-align:1px;
  box-shadow:0 0 0 3px color-mix(in srgb, currentColor 20%, transparent);
}

/* queue rows */
.queue-row{border-radius:14px; background:#fff;}

/* activity / notification rows */
.notif-row.unread{background:linear-gradient(90deg, rgba(0,87,255,.06), rgba(0,87,255,.01)) !important;}
.notif-dot{box-shadow:0 0 0 3px rgba(0,87,255,.15), 0 0 10px rgba(0,87,255,.5);}

/* ================================================================== MODALS */
.modal-overlay{
  background:rgba(5,11,22,.5) !important;
  -webkit-backdrop-filter:blur(8px) saturate(120%); backdrop-filter:blur(8px) saturate(120%);
}
.modal-overlay.show{animation:pr-fade .25s var(--pr-ease);}
.modal-overlay.show .modal{animation:pr-pop .38s var(--pr-ease);}
.modal{
  border-radius:20px !important;
  border:1px solid rgba(255,255,255,.7);
  background:linear-gradient(180deg,#FFFFFF 0%,#FBFCFE 100%) !important;
  box-shadow:0 0 0 1px rgba(10,22,40,.06), 0 40px 100px -30px rgba(5,11,22,.55), 0 12px 30px -16px rgba(5,11,22,.3) !important;
  position:relative;
}
.modal::before{
  content:''; position:absolute; left:24px; right:24px; top:0; height:2px; border-radius:0 0 2px 2px;
  background:var(--pr-spectrum); opacity:.85;
}
.modal h3{font-size:18px; letter-spacing:-.015em;}
.modal-actions{padding-top:18px; border-top:1px solid var(--pr-line);}
@keyframes pr-fade{from{opacity:0;} to{opacity:1;}}
@keyframes pr-pop{from{opacity:0; transform:translateY(14px) scale(.975);} to{opacity:1; transform:none;}}

/* ================================================================== TOASTS */
.toast,#__pf_toast{
  border-radius:12px !important;
  background:rgba(10,22,40,.92) !important;
  -webkit-backdrop-filter:blur(16px) saturate(160%); backdrop-filter:blur(16px) saturate(160%);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 20px 50px -18px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.06) !important;
  padding:13px 18px 13px 20px !important; font-weight:500;
  overflow:hidden;
}
.toast::before,#__pf_toast::before{
  content:''; position:absolute; left:0; top:0; bottom:0; width:3px; background:linear-gradient(180deg,#0057FF,#33D6C0);
}
#__pf_toast[style*="rgb(226, 56, 56)"],#__pf_toast[style*="#E23838"]{background:rgba(160,28,28,.94) !important;}
#__pf_toast[style*="rgb(226, 56, 56)"]::before,#__pf_toast[style*="#E23838"]::before{background:#FF8A8A;}
.toast.show,#__pf_toast[style*="display: block"]{animation:pr-toast .4s var(--pr-ease-spring);}
@keyframes pr-toast{from{opacity:0; transform:translate(-50%,14px) scale(.96);} to{opacity:1; transform:translate(-50%,0) scale(1);}}

/* ============================================================ EMPTY STATES */
.empty-state,.mkt-empty,.pr-empty{
  position:relative;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px;
  padding:40px 24px !important; margin:6px 0;
  text-align:center; font-size:13.5px !important; line-height:1.6; color:var(--pr-ink-3) !important;
  border-radius:14px;
  background:
    radial-gradient(420px 140px at 50% 0%, rgba(51,214,192,.08), transparent 70%),
    linear-gradient(180deg,#FBFCFE,#F6F8FB);
  border:1px dashed #D5DEE9;
  max-width:none;
}
.empty-state::before,.mkt-empty::before,.pr-empty::before{
  content:''; width:44px; height:44px; border-radius:12px; flex:none; margin-bottom:2px;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Crect x='3' y='16' width='5' height='10' rx='1' fill='%230057FF'/%3E%3Crect x='12.5' y='10' width='5' height='16' rx='1' fill='%2333D6C0'/%3E%3Crect x='22' y='5' width='5' height='21' rx='1' fill='%238896AB'/%3E%3C/svg%3E") center/22px no-repeat,
    linear-gradient(#fff,#fff);
  box-shadow:0 0 0 1px var(--pr-line), 0 8px 20px -10px rgba(10,22,40,.25), 0 0 0 6px rgba(51,214,192,.06);
}
/* wide, marketing-grade empty state for public grids */
.pr-empty-wide{
  grid-column:1/-1; position:relative; overflow:hidden; text-align:center;
  padding:56px 24px; border-radius:var(--pr-r-xl);
  background:
    radial-gradient(520px 200px at 50% -10%, rgba(51,214,192,.12), transparent 70%),
    radial-gradient(420px 220px at 100% 120%, rgba(0,87,255,.08), transparent 70%),
    linear-gradient(180deg,#fff,#FAFBFD);
  border:1px solid var(--pr-line);
  box-shadow:var(--pr-sh-sm);
}
.pr-empty-wide::before{
  content:''; position:absolute; inset:0; pointer-events:none; opacity:.5;
  background-image:linear-gradient(rgba(10,22,40,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(10,22,40,.035) 1px, transparent 1px);
  background-size:32px 32px;
  -webkit-mask-image:radial-gradient(ellipse 60% 70% at 50% 40%, #000 20%, transparent 75%); mask-image:radial-gradient(ellipse 60% 70% at 50% 40%, #000 20%, transparent 75%);
}
.pr-empty-wide > *{position:relative;}
.pr-empty-glyph{
  width:60px; height:60px; margin:0 auto; border-radius:16px; display:flex; align-items:center; justify-content:center; background:#fff;
  box-shadow:0 0 0 1px var(--pr-line), 0 12px 28px -12px rgba(10,22,40,.3), 0 0 0 8px rgba(51,214,192,.07);
}
.pr-empty-title{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:20px; letter-spacing:-.02em; color:var(--pr-ink); margin-top:20px;}
.pr-empty-text{font-size:14.5px; line-height:1.65; color:var(--pr-ink-3); max-width:520px; margin:8px auto 0;}
.pr-empty-actions{display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:24px;}
.pr-empty-actions .btn-electric{padding:11px 18px; font-size:13.5px; font-weight:600; display:inline-flex; align-items:center; gap:8px;}
.pr-empty-actions .btn-outline{
  display:inline-flex; align-items:center; padding:11px 18px; font-size:13.5px; font-weight:600;
  background:#fff; color:var(--pr-ink); border:1px solid var(--pr-line-3); border-radius:10px;
}
.pr-empty-actions .btn-outline:hover{border-color:var(--pr-electric); color:var(--pr-electric);}
.mi-section .pr-empty-wide,.pr-dark .pr-empty-wide{background:rgba(255,255,255,.03); border-color:rgba(255,255,255,.1);}

/* compact variant inside table cells */
td .empty-state{margin:10px 0;}
/* empty states on dark sidebars / cells keep legibility */
.sidebar .empty-state{background:transparent; border-color:rgba(255,255,255,.12);}
/* chart shells used as empty containers */
#revChart .empty-state{width:100%;}

/* Live-data containers: pages render sample markup first and swap in the real
   database rows a moment later. Keep that sample markup off-screen behind a
   shimmer until the real content (or its empty state) lands. premium.js sets
   [data-pr-ready]; the delayed animation is a no-JS safety net. */
#eventGrid:not([data-pr-ready]),#calList:not([data-pr-ready]),#trendingGrid:not([data-pr-ready]),
#mostreadList:not([data-pr-ready]),#featuredGrid:not([data-pr-ready]),#directoryList:not([data-pr-ready]),
#productGrid:not([data-pr-ready]),#topStory:not([data-pr-ready]){
  position:relative; min-height:180px;
  animation:pr-unveil 0s linear 9s forwards;
}
#eventGrid:not([data-pr-ready]) > *,#calList:not([data-pr-ready]) > *,#trendingGrid:not([data-pr-ready]) > *,
#mostreadList:not([data-pr-ready]) > *,#featuredGrid:not([data-pr-ready]) > *,#directoryList:not([data-pr-ready]) > *,
#productGrid:not([data-pr-ready]) > *,#topStory:not([data-pr-ready]) > *{visibility:hidden; animation:pr-unveil 0s linear 9s forwards;}
#eventGrid:not([data-pr-ready])::after,#calList:not([data-pr-ready])::after,#trendingGrid:not([data-pr-ready])::after,
#mostreadList:not([data-pr-ready])::after,#featuredGrid:not([data-pr-ready])::after,#directoryList:not([data-pr-ready])::after,
#productGrid:not([data-pr-ready])::after,#topStory:not([data-pr-ready])::after{
  content:''; position:absolute; left:0; right:0; top:0; height:180px; border-radius:16px; pointer-events:none;
  background:linear-gradient(90deg,#EEF2F7 0%,#F7F9FC 40%,#EEF2F7 80%); background-size:200% 100%;
  animation:pr-shimmer 1.3s linear infinite;
}
@keyframes pr-unveil{to{visibility:visible;}}

/* skeleton shimmer for "Loading…" placeholders (premium.js tags them) */
.pr-loading-text{
  color:transparent !important; border-radius:6px; display:inline-block; min-width:120px;
  background:linear-gradient(90deg,#E9EEF5 0%,#F5F8FB 40%,#E9EEF5 80%) !important; background-size:200% 100% !important;
  animation:pr-shimmer 1.3s linear infinite;
}
.topbar .pr-loading-text{background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,.18),rgba(255,255,255,.08)) !important; background-size:200% 100% !important;}
@keyframes pr-shimmer{from{background-position:200% 0;} to{background-position:-200% 0;}}

/* =========================================================== AUTH SURFACES */
.shell .side{background:
  radial-gradient(600px 400px at 0% 0%, rgba(0,87,255,.35), transparent 60%),
  radial-gradient(500px 400px at 100% 100%, rgba(51,214,192,.18), transparent 60%),
  #0A1628 !important;}
.shell .panel{background:transparent; border:none !important; box-shadow:none;}
.shell .card{
  background:rgba(255,255,255,.86);
  -webkit-backdrop-filter:blur(18px) saturate(160%); backdrop-filter:blur(18px) saturate(160%);
  border:1px solid rgba(255,255,255,.8); border-radius:22px;
  padding:34px 30px;
  box-shadow:0 0 0 1px rgba(10,22,40,.05), 0 30px 70px -30px rgba(10,22,40,.3), 0 8px 20px -12px rgba(10,22,40,.12);
}
@media(max-width:520px){.shell .card{padding:26px 20px; border-radius:18px;}}
.role-tabs{border-radius:12px; background:#EEF2F7; box-shadow:inset 0 1px 2px rgba(10,22,40,.06);}
.role-tab{border-radius:9px; transition:background .25s, color .25s, box-shadow .25s;}
.role-tab.active{box-shadow:0 1px 2px rgba(10,22,40,.08), 0 4px 12px -4px rgba(10,22,40,.15) !important;}
.role-tab:not(.active):hover{color:var(--pr-ink);}
.view.active{animation:pr-in .45s var(--pr-ease);}
.strength-fill{transition:width .4s var(--pr-ease), background .4s;}
.step-dot{transition:background .4s var(--pr-ease);}
.step-dot.done{background:var(--pr-spectrum);}
.status-icon-wrap{box-shadow:0 0 0 8px rgba(0,87,255,.04);}
.status-icon-wrap.success{box-shadow:0 0 0 8px rgba(14,159,110,.05), 0 0 30px -6px rgba(14,159,110,.4);}
.divider span{letter-spacing:.1em;}

/* ======================================================== REVEAL / MOTION */
.reveal{transition:opacity .8s var(--pr-ease), transform .8s var(--pr-ease) !important;}
html.pr-js .pr-rv{opacity:0; transform:translateY(16px);}
html.pr-js .pr-rv.pr-in{
  opacity:1; transform:none;
  transition:opacity .7s var(--pr-ease) calc(var(--pr-i,0) * 60ms), transform .7s var(--pr-ease) calc(var(--pr-i,0) * 60ms);
}
/* once revealed, hand transform back to the card's own hover */
html.pr-js .pr-rv.pr-settled{transition:transform .35s var(--pr-ease), box-shadow .35s var(--pr-ease), border-color .35s var(--pr-ease), background .35s;}
/* hairline mosaics: fade only, a translate would expose the gap lines */
html.pr-js .grid-why > .pr-rv,html.pr-js .hero-caps > .pr-rv{transform:none;}
@keyframes pr-in{from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:none;}}
.tab-page.active{animation:pr-in .4s var(--pr-ease);}

/* pointer spotlight on cards (premium.js sets --mx/--my) */
@media (hover:hover) and (pointer:fine){
  .pr-spot{background-image:radial-gradient(420px circle at var(--mx,50%) var(--my,50%), rgba(0,87,255,.06), transparent 45%) !important;}
  .mi-card.pr-spot{background-image:radial-gradient(360px circle at var(--mx,50%) var(--my,50%), rgba(51,214,192,.12), transparent 50%), linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.015)) !important;}
}

html.pr-static .reveal,html.pr-static .pr-rv{opacity:1 !important; transform:none !important; transition:none !important;}
html.pr-static .reveal .spectrum-underline{transform:none !important;}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1 !important; transform:none !important;}
  html.pr-js .pr-rv{opacity:1 !important; transform:none !important;}
  .hero-glow{animation:none;}
  .btn-electric::after,.btn-electric-lg::after,.btn-primary::after{display:none;}
}

/* =============================================================== MOBILE */
@media(max-width:767px){
  section{padding-top:64px; padding-bottom:64px;}
  .section-title{font-size:clamp(24px,7vw,30px) !important;}
  .section-sub{font-size:14.5px;}
  .hero h1{font-size:clamp(30px,8.6vw,40px) !important; letter-spacing:-.025em;}
  .hero p.lead,.hero .lead{font-size:15.5px !important;}
  .hero-ctas{gap:10px;}
  .hero-ctas > a{flex:1 1 auto; justify-content:center;}
  .final-cta{padding:64px 22px !important; border-radius:20px !important;}
  .final-cta-ctas > a{flex:1 1 100%; justify-content:center;}
  .content-title{font-size:22px;}
  .content-header{padding-bottom:18px;}
  .panel{padding:18px !important;}
  .stat-num{font-size:22px;}
  .modal{padding:22px 18px !important; border-radius:18px !important;}
  .modal-overlay{padding:16px 12px !important; align-items:flex-end !important;}
  .modal-actions{flex-wrap:wrap;}
  .modal-actions > *{flex:1 1 auto; justify-content:center;}
  .toast,#__pf_toast{left:16px !important; right:16px; transform:none !important; max-width:none !important; bottom:16px !important;}
  @keyframes pr-toast{from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:none;}}
  .footer-grid{gap:34px !important;}
  .search-shell{border-radius:16px;}
  .grid-why{border-radius:16px;}
  /* 16px inputs stop iOS zooming the page on focus */
  input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px !important;}
  .inline-select{font-size:12px !important;}
}
@media(max-width:420px){
  .wrap{padding-left:16px; padding-right:16px;}
  .content{padding-left:16px !important; padding-right:16px !important;}
}

/* ======================================================== NOT-FOUND STATES */
.pr-notfound,#content > .state{
  min-height:calc(100vh - 420px); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px;
  padding:96px 20px !important; text-align:center;
  background:radial-gradient(520px 220px at 50% 20%, rgba(51,214,192,.08), transparent 70%);
}
.pr-notfound::before,#content > .state::before{
  content:''; width:64px; height:64px; border-radius:18px; margin-bottom:18px;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Crect x='3' y='16' width='5' height='10' rx='1' fill='%230057FF'/%3E%3Crect x='12.5' y='10' width='5' height='16' rx='1' fill='%2333D6C0'/%3E%3Crect x='22' y='5' width='5' height='21' rx='1' fill='%238896AB'/%3E%3C/svg%3E") center/30px no-repeat, #fff;
  box-shadow:0 0 0 1px var(--pr-line), 0 14px 30px -14px rgba(10,22,40,.3), 0 0 0 10px rgba(51,214,192,.06);
}
.pr-notfound h1,#content > .state h1{font-size:clamp(20px,3vw,26px) !important; letter-spacing:-.02em; color:var(--pr-ink) !important; margin-bottom:16px !important; max-width:560px;}

/* ======================================================== MOBILE REFINEMENTS */
.hero h1{line-height:1.08 !important;}
@media(max-width:767px){
  /* tabs and suggestion pills scroll sideways instead of stacking into rows */
  .search-tabs,.search-suggest{flex-wrap:nowrap !important; overflow-x:auto; scrollbar-width:none; -webkit-mask-image:linear-gradient(90deg,#000 88%,transparent); mask-image:linear-gradient(90deg,#000 88%,transparent);}
  .search-tabs::-webkit-scrollbar,.search-suggest::-webkit-scrollbar{display:none;}
  .search-tab,.suggest-pill,.search-suggest > span{flex:none; white-space:nowrap;}
  .search-suggest{padding-right:24px;}
  /* dashboards: compact top bar, two-up stat cards */
  .topbar{padding:0 14px !important;}
  .grid-cards{grid-template-columns:1fr 1fr !important; gap:12px !important;}
  .stat-card{padding:16px !important;}
  .kpi-grid{gap:10px !important;}
}
@media(max-width:560px){
  .topbar .logo-text,.topbar .topbar-co-name,.topbar .admin-tag{display:none !important;}
  .topbar-co{padding-left:10px !important; margin-left:10px !important;}
}

/* ============================================================ HEADER LAYOUT
   One row that always fits: logo never shrinks, nothing overlaps.
   - >=1280px : full nav + login links + CTA
   - 481-1279 : logo + CTA + menu button (full nav lives in the menu)
   - <=480    : logo + menu button; the CTA moves into the menu (premium.js)
   (selectors are header-scoped so they beat platform-forms' injected rules) */
header .nav-inner{display:flex !important; align-items:center !important; flex-wrap:nowrap !important; min-width:0;}
header .logo-mark{flex:none !important; min-width:auto !important; position:relative; z-index:2;}
header .header-actions{flex:none !important; display:flex !important; align-items:center !important; flex-wrap:nowrap !important; margin-left:auto; position:relative; z-index:2;}
header .nav-inner > .btn-electric{flex:none !important; margin-left:auto;}
header .nav-inner > .btn-electric ~ .__mb{margin-left:4px;}
header .header-actions .btn-electric,header .nav-inner > .btn-electric{white-space:nowrap !important; position:relative; line-height:1.2;}
header nav.main-nav{flex:1 1 auto; min-width:0; justify-content:center;}
@media(max-width:1279px){
  header nav.main-nav{display:none !important;}
  header .btn-ghost-nav{display:none !important;}
  header .mobile-menu-btn,header .__mb{display:flex !important;}
  header .__mm[style*="block"]{display:block !important;}
  header .header-actions .btn-electric,header .nav-inner > .btn-electric{padding:10px 16px !important; font-size:13px !important;}
}
@media(max-width:560px){
  header .logo-mark .logo-text{font-size:15px !important;}
  header .header-actions .btn-electric,header .nav-inner > .btn-electric{padding:9px 13px !important; font-size:12.5px !important;}
}
@media(max-width:480px){
  header .header-actions .btn-electric,header .nav-inner > .btn-electric{display:none !important;}
  header .nav-inner{justify-content:space-between !important;}
}
/* CTA injected into the mobile menus */
.pr-menu-cta{display:flex !important; justify-content:center; align-items:center; margin-top:14px; padding:13px 16px !important; border-radius:10px; border:0 !important;
  background:linear-gradient(180deg,#1A6BFF,#0057FF); color:#fff !important; font-weight:600; font-size:15px; box-shadow:var(--pr-glow-blue);}
#mobileMenu a.pr-menu-current,.__mm a.pr-menu-current{color:var(--pr-teal) !important;}
#mobileMenu .wrap > a:not(.pr-menu-cta):not(.btn-electric):not(.btn-secondary-outline){border-bottom:1px solid rgba(255,255,255,.06);}

/* ===========================================================================
   CONTINUOUS CANVAS: the hero's navy gradient runs behind every page;
   every card, panel and form floats above it as a raised, matte-white surface.
   =========================================================================== */
:root{
  --pr-canvas-bg:
    radial-gradient(1100px 760px at 88% -8%, rgba(0,87,255,.30), transparent 62%),
    radial-gradient(900px 700px at -12% 38%, rgba(51,214,192,.10), transparent 60%),
    radial-gradient(1000px 900px at 108% 88%, rgba(0,87,255,.16), transparent 60%),
    linear-gradient(180deg,#0B1A30 0%,#091526 45%,#07101F 100%);
  --pr-card-bg:linear-gradient(180deg,#FFFFFF 0%,#F8FAFD 100%);
  --pr-card-sh:0 1px 0 rgba(255,255,255,.9) inset, 0 1px 2px rgba(3,8,20,.25), 0 12px 28px -12px rgba(3,8,20,.55), 0 30px 60px -30px rgba(3,8,20,.6);
  --pr-card-sh-hover:0 1px 0 rgba(255,255,255,.9) inset, 0 2px 4px rgba(3,8,20,.25), 0 22px 44px -16px rgba(3,8,20,.65), 0 40px 80px -36px rgba(0,40,140,.55), 0 0 0 1px rgba(51,214,192,.25);
  --pr-on-dark:#EEF3FA; --pr-on-dark-2:#AFBDD1; --pr-on-dark-3:#7F90A8;
}
html{background:#07101F;}
body{background:var(--pr-canvas-bg) !important; background-attachment:scroll !important; background-repeat:no-repeat !important; background-color:#07101F !important; min-height:100vh;}
/* subtle engineering grid over the whole canvas */
body::before{
  content:''; position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.028) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.028) 1px, transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.35) 60%,transparent 100%); mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.35) 60%,transparent 100%);
}

/* every section becomes transparent so the canvas reads as one surface */
section,section.bg-tint,.bg-tint,.mi-section,section.hero,.hero,main,.layout,.content,.shell,.shell .panel,.breadcrumb{background:transparent !important;}
.breadcrumb{border-bottom:1px solid rgba(255,255,255,.06) !important;}
section.hero::after{display:none;}
.hero-bg-grid{opacity:.18 !important;}
footer{background:rgba(3,8,18,.55) !important; -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border-top:1px solid rgba(255,255,255,.06);}

/* ---------- loose text that now sits on the dark canvas ---------- */
section .section-title,section h2.section-title,.section-head .section-title,.content-title{color:var(--pr-on-dark) !important;}
section .section-sub,.section-head .section-sub,.content-sub{color:var(--pr-on-dark-2) !important;}
section .section-eyebrow{color:#5FE3D0 !important;}
.view-all-link{color:#6FA0FF !important;}
.view-all-link:hover{color:#fff !important;}
.result-count,.dir-count,.mkt-count{color:var(--pr-on-dark-2) !important;}
.search-suggest > span,.search-suggest > span[style]{color:var(--pr-on-dark-3) !important;}
.content-header{border-bottom-color:rgba(255,255,255,.08) !important;}
.spectrum-underline{box-shadow:0 0 16px rgba(51,214,192,.55);}

/* ---------- raised white surfaces ---------- */
.ind-card,.co-card,.prod-card,.evt-card,.plan-card,.testi-card,.news-feature,.news-row,.stat-card,.panel,.kpi-cell,
.qa-btn,.queue-row,.dir-card,.dir-row,.feat-card,.mkt-card,.listing-card,.news-card,.trend-card,.fe-card,.cal-row,
.faq-item,.article-card,.sol-card,.placement-card,.cap-card,.cert-card,.certif-card,.dl-card,.exh-card,.intel-card,
.isv-card,.leader-card,.loc-card,.proj-card,.rel-co-card,.sp-card,.speaker-card,.sup-card,.verify-card,.network-card,
.mockup-card,.why-card,.sim-card,.cat-card,.seg-card,.svc-card,.tech-card,.mostread-row,.top-story,
.pr-empty-wide,.pr-side-card,.search-shell,.rfq-shell,.quote-shell,.inquiry-shell,.sales-shell,.alerts-shell,
.compare-shell,.modal,.shell .card,.mod-row{
  background:var(--pr-card-bg) !important;
  border:1px solid rgba(255,255,255,.65) !important;
  box-shadow:var(--pr-card-sh) !important;
}
.ind-card:hover,.co-card:hover,.prod-card:hover,.evt-card:hover,.news-feature:hover,.news-row:hover,.dir-card:hover,.dir-row:hover,
.feat-card:hover,.mkt-card:hover,.listing-card:hover,.news-card:hover,.trend-card:hover,.article-card:hover,.sol-card:hover,
.placement-card:hover,.sp-card:hover,.sup-card:hover,.cal-row:hover,.qa-btn:hover,.stat-card:hover,.plan-card:hover,
.cat-card:hover,.seg-card:hover,.svc-card:hover,.tech-card:hover,.faq-item:hover,.why-card:hover,.verify-card:hover,.cap-card:hover{
  box-shadow:var(--pr-card-sh-hover) !important;
}
.plan-card.featured{
  border:1px solid transparent !important;
  background:linear-gradient(180deg,#fff,#F8FAFD) padding-box, linear-gradient(160deg,#3D7CFF,#33D6C0) border-box !important;
  box-shadow:var(--pr-card-sh), 0 30px 80px -30px rgba(51,214,192,.45) !important;
}
.prod-body,.evt-body,.ind-body{background:transparent !important;}

/* mosaics (hairline grids) become separate floating tiles */
.grid-why{background:transparent !important; border:0 !important; box-shadow:none !important; gap:16px !important; overflow:visible !important;}
.grid-why > .why-card{border-radius:var(--pr-r-lg) !important;}

/* inside raised cards the dashed empty state becomes a soft inset well */
.panel .empty-state,.stat-card .empty-state,td .empty-state{background:linear-gradient(180deg,#F5F8FC,#EEF3F9) !important; border-color:#D5DEE9 !important;}
/* an empty state sitting straight on the canvas becomes its own raised card */
section .empty-state,section .mkt-empty{
  background:var(--pr-card-bg) !important; border:1px solid rgba(255,255,255,.65) !important; box-shadow:var(--pr-card-sh) !important;
}

/* pills sitting on the canvas */
.suggest-pill,.news-cat-pill,.prod-category-pill,.cat-sub-pill{background:rgba(255,255,255,.06) !important; border-color:rgba(255,255,255,.14) !important; color:var(--pr-on-dark-2) !important; -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);}
.suggest-pill:hover,.news-cat-pill:hover,.prod-category-pill:hover,.cat-sub-pill:hover{background:rgba(255,255,255,.12) !important; color:#fff !important; border-color:rgba(51,214,192,.5) !important;}
.prod-category-pill.active{background:#fff !important; color:var(--pr-ink) !important; border-color:#fff !important;}

/* tabs sitting on the canvas */
.cal-tab{color:var(--pr-on-dark-2) !important; background:rgba(255,255,255,.06) !important; border-color:rgba(255,255,255,.12) !important;}
.cal-tab.active{background:#fff !important; color:var(--pr-ink) !important; border-color:#fff !important; box-shadow:0 8px 20px -10px rgba(0,0,0,.6);}

/* dark CTA / promo panels stay branded navy but read as raised glass slabs */
.final-cta,.ad-section,.newsletter-shell,.mediakit-shell,.network-stats{
  border:1px solid rgba(120,160,255,.18) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 30px 80px -30px rgba(0,0,0,.8), 0 0 0 1px rgba(0,0,0,.2) !important;
}

/* ---------- long-form pages: content lives on a raised sheet ---------- */
main > .wrap,#content > article{
  background:var(--pr-card-bg); border:1px solid rgba(255,255,255,.65); border-radius:24px; box-shadow:var(--pr-card-sh);
  padding:48px clamp(22px,5vw,56px) !important; margin:40px auto 72px !important; color:var(--pr-ink);
}
#content > .state,.pr-notfound{background:transparent !important;}
#content > .state h1,.pr-notfound h1{color:var(--pr-on-dark) !important;}

/* manufacturing overview copy → raised sheet */
.overview-grid > .overview-block:first-child{background:var(--pr-card-bg); border:1px solid rgba(255,255,255,.65); border-radius:22px; box-shadow:var(--pr-card-sh); padding:34px clamp(20px,4vw,40px);}

/* ---------- dashboards ---------- */
.sidebar{
  background:rgba(6,14,28,.55) !important; border-right:1px solid rgba(255,255,255,.07) !important;
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
}
.sidebar .side-nav a{color:#B6C3D6 !important;}
.sidebar .side-nav a:hover{background:rgba(255,255,255,.06) !important; color:#fff !important;}
body:not(.pr-admin) .sidebar .side-nav a.active{background:linear-gradient(90deg, rgba(0,87,255,.28), rgba(0,87,255,.06)) !important; color:#fff !important; box-shadow:inset 0 0 0 1px rgba(90,140,255,.25) !important;}
.sidebar .nav-count{background:rgba(255,255,255,.1) !important; color:#DCE5F2 !important;}
.sidebar .nav-count.alert{background:var(--pr-electric) !important; color:#fff !important;}
.mobile-tabs{background:rgba(6,14,28,.72) !important; border-bottom:1px solid rgba(255,255,255,.07) !important;}
.mobile-tab{background:rgba(255,255,255,.06) !important; border-color:rgba(255,255,255,.12) !important; color:#B6C3D6 !important;}
.mobile-tab.active{background:#fff !important; color:var(--pr-ink) !important; border-color:#fff !important;}

/* ---------- auth ---------- */
.shell .side{background:transparent !important; border-right:1px solid rgba(255,255,255,.06);}
.card-mobile-logo .logo-text{color:var(--pr-ink) !important;}

/* loose feature lists / copy that sit straight on the canvas */
section .feature-item,section .split-benefit-list,section .ad-feature{color:var(--pr-on-dark-2) !important;}
section .feature-item svg{color:var(--pr-teal) !important;}
.split-card{box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 30px 70px -30px rgba(0,0,0,.8) !important; border:1px solid rgba(120,160,255,.2) !important;}

/* hero glow bleeds softly into the canvas instead of ending in a hard rectangle */
section.hero{overflow:visible !important;}
section.hero .hero-bg-grid{-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 20%, #000 30%, transparent 100%) !important; mask-image:radial-gradient(ellipse 80% 70% at 50% 20%, #000 30%, transparent 100%) !important;}
section.hero .hero-wave{-webkit-mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent); mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent);}
html,body{overflow-x:clip;}
header nav.main-nav{padding:0 24px; gap:clamp(16px,1.6vw,28px) !important;}
header .header-actions{gap:16px !important;}
header nav.main-nav{padding:0 !important; gap:clamp(14px,1.35vw,26px) !important;}
header .header-actions .btn-ghost-nav ~ .btn-ghost-nav{display:none !important;}
@media(max-width:1359px){header nav.main-nav a{font-size:13px !important;} header nav.main-nav{gap:14px !important;}}
.shell .panel{border:0 !important; box-shadow:none !important; border-radius:0 !important;}

/* ============================================================ DASHBOARD FIT
   The layout grid's content column used `1fr` (= minmax(auto,1fr)), so a wide
   table stretched the whole column past the screen edge and cards were cut
   off on the right. Columns may now shrink; wide tables scroll inside their card. */
.layout{grid-template-columns:minmax(0,1fr) !important;}
@media(min-width:960px){.layout{grid-template-columns:240px minmax(0,1fr) !important;}}
.layout > *,.content,.tab-page,.panel,.grid-cards > *,.rev-grid > *{min-width:0;}
.panel > div[style*="overflow-x"],.panel .table-wrap{overflow-x:auto; -webkit-overflow-scrolling:touch; margin-left:-4px; margin-right:-4px; padding:0 4px;}
.panel table{min-width:640px;}
.panel-title-row{flex-wrap:wrap; gap:10px;}
.toolbar-row > *{min-width:0;}
.search-mini{max-width:none !important; min-width:200px;}

/* rows inside a white panel are list items, not separate floating cards */
.panel .mod-row{background:transparent !important; border:0 !important; border-bottom:1px solid var(--pr-line) !important; box-shadow:none !important; border-radius:0 !important;}
.panel .mod-row:last-child{border-bottom:0 !important;}
.panel .queue-row{box-shadow:0 1px 2px rgba(10,22,40,.06), 0 6px 16px -10px rgba(10,22,40,.18) !important; border:1px solid var(--pr-line) !important;}
.panel .queue-row:hover{box-shadow:0 2px 4px rgba(10,22,40,.08), 0 12px 24px -12px rgba(10,22,40,.25) !important;}

@media(max-width:767px){
  /* approval rows: name on top, actions underneath, nothing pushed off-screen */
  .queue-row{flex-wrap:wrap !important; align-items:flex-start !important;}
  .queue-row > div:not(.queue-logo):not(.queue-actions){flex:1 1 0; min-width:0;}
  .queue-actions{margin-left:0 !important; width:100%; flex-wrap:wrap; padding-left:58px;}
  .queue-actions > *{flex:1 1 auto; text-align:center;}
  .grid-cards{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .rev-grid{grid-template-columns:minmax(0,1fr) !important;}
  .content{padding-left:14px !important; padding-right:14px !important;}
  .toolbar-row{flex-direction:column; align-items:stretch !important;}
  .toolbar-row > div{display:flex; gap:8px; flex-wrap:wrap;}
  .toolbar-row select{flex:1 1 140px;}
}
