/* CEMI Front UX · Public Shell. F2.5 visual refinement, surface-scoped. */
.cemi-ux-shell{display:flex;min-height:100vh;flex-direction:column;background:var(--cemi-color-surface);color:var(--cemi-color-text)}
.cemi-ux-shell__skip-link{position:fixed;inset-block-start:var(--cemi-space-2);inset-inline-start:var(--cemi-space-2);z-index:var(--cemi-z-overlay);transform:translateY(-200%)}.cemi-ux-shell__skip-link:focus{transform:translateY(0)}
.cemi-ux-shell__header{position:sticky;inset-block-start:0;z-index:var(--cemi-z-sticky);background:rgba(255,255,255,.965);border-top:3px solid var(--cemi-color-ink);border-bottom:1px solid #e6e9ee;backdrop-filter:saturate(145%) blur(16px);box-shadow:0 2px 12px rgba(26,34,49,.035)}
.cemi-ux-shell__header-inner{width:min(100% - (2 * var(--cemi-gutter)),82rem);margin-inline:auto;min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.cemi-ux-shell__brand{display:inline-flex;align-items:center;min-width:0;flex:0 1 auto;color:var(--cemi-color-ink);text-decoration:none;font-weight:850;letter-spacing:-.03em}.cemi-ux-shell__brand-image{display:block;width:auto;max-width:172px;max-height:52px}.cemi-ux-shell__brand-mark{font-size:1.3rem;letter-spacing:.08em;color:var(--cemi-color-brand)}
.cemi-ux-shell__nav{display:flex;align-items:center}.cemi-ux-shell__nav-list{display:flex;align-items:center;gap:.15rem;margin:0;padding:0;list-style:none}.cemi-ux-shell__nav-list a,.cemi-ux-shell__mobile-list a,.cemi-ux-shell__footer a{color:inherit;text-decoration:none}.cemi-ux-shell__nav-list a{display:inline-flex;align-items:center;min-height:44px;padding:.55rem .78rem;border-radius:999px;font-size:.82rem;font-weight:700;color:#4b5565}.cemi-ux-shell__nav-list a:hover,.cemi-ux-shell__nav-list a:focus-visible{color:var(--cemi-color-brand)}.cemi-ux-shell__nav-list a[aria-current="page"]{background:var(--cemi-color-brand-soft);color:var(--cemi-color-brand-strong)}
.cemi-ux-shell__actions{display:flex;align-items:center;gap:.6rem}.cemi-ux-shell__desktop-cta{min-height:42px;padding-inline:1rem;font-size:.78rem;font-weight:800}.cemi-ux-shell__main{min-width:0;flex:1}.cemi-ux-shell__mobile-trigger{display:none}.cemi-ux-shell__mobile-panel[hidden]{display:none!important}
.cemi-ux-shell__footer{margin-block-start:auto;padding-block:clamp(3rem,6vw,5rem);background:#151c29;color:#fff}.cemi-ux-shell__footer-grid{width:min(100% - (2 * var(--cemi-gutter)),82rem);margin-inline:auto;display:grid;gap:2.25rem}.cemi-ux-shell__footer-brand{max-width:34rem}.cemi-ux-shell__footer-brand strong{font-size:1.1rem}.cemi-ux-shell__footer-brand p{color:rgba(255,255,255,.66);margin:.7rem 0 0;line-height:1.65}.cemi-ux-shell__footer-links{display:grid;gap:.7rem;margin:0;padding:0;list-style:none}.cemi-ux-shell__footer a{color:rgba(255,255,255,.82)}.cemi-ux-shell__footer a:hover,.cemi-ux-shell__footer a:focus-visible{color:#fff}.cemi-ux-shell__footer-meta{display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-start;color:rgba(255,255,255,.56);font-size:.84rem}
.cemi-ux-shell__mobile-panel{position:fixed;inset:78px 0 0;z-index:var(--cemi-z-overlay);overflow:auto;background:#fff;border-top:1px solid var(--cemi-color-border);box-shadow:var(--cemi-shadow-lg)}.cemi-ux-shell__mobile-nav{display:grid;gap:1.5rem;padding-block:1.25rem 2rem}.cemi-ux-shell__mobile-list{display:grid;gap:.25rem;margin:0;padding:0;list-style:none}.cemi-ux-shell__mobile-list a{display:block;padding:1rem 0;border-bottom:1px solid var(--cemi-color-border);font-weight:750;color:var(--cemi-color-ink)}
@media(min-width:768px){.cemi-ux-shell__footer-grid{grid-template-columns:minmax(0,1.2fr) minmax(10rem,.65fr) minmax(12rem,.65fr)}.cemi-ux-shell__footer-meta{justify-content:flex-end;text-align:right}.cemi-ux-shell__mobile-panel{display:none!important}}
@media(max-width:767px){.cemi-ux-shell__nav--desktop{display:none}.cemi-ux-shell__mobile-trigger{display:inline-flex}.cemi-ux-shell__header-inner{min-height:66px}.cemi-ux-shell__desktop-cta{display:none}.cemi-ux-shell__brand-image{max-width:142px;max-height:42px}.cemi-ux-shell__mobile-panel{inset:66px 0 0}.cemi-ux-shell__footer-meta{flex-direction:column}}
body.admin-bar .cemi-ux-shell__header{inset-block-start:32px}@media(max-width:782px){body.admin-bar .cemi-ux-shell__header{inset-block-start:46px}}
@media(prefers-reduced-motion:reduce){.cemi-ux-shell *,.cemi-ux-shell *::before,.cemi-ux-shell *::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}


/* F2.6 · Complete public shell */
.cemi-ux-shell__footer{padding-bottom:1.5rem}
.cemi-ux-shell__footer-top{display:grid;gap:2.5rem}
.cemi-ux-shell__footer-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.cemi-ux-shell__footer-columns nav>strong{display:block;margin-bottom:.85rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#fff}
.cemi-ux-shell__footer-bottom{margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:rgba(255,255,255,.5);font-size:.75rem}
@media(min-width:860px){.cemi-ux-shell__footer-top{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)}}
@media(max-width:640px){.cemi-ux-shell__footer-columns{grid-template-columns:1fr 1fr}.cemi-ux-shell__footer-columns nav:last-child{grid-column:1/-1}.cemi-ux-shell__footer-bottom{flex-direction:column}}

/* F2.7 · Shell responsive composition */
@media (min-width:1200px){.cemi-ux-shell__header-inner{min-height:4.4rem}}
@media (max-width:899px){
 .cemi-ux-shell__desktop-nav{display:none}
 .cemi-ux-shell__mobile-trigger{display:inline-flex}
}
@media (max-width:599px){
 .cemi-ux-shell__header-inner{min-height:3.8rem}
 .cemi-ux-shell__header-action{display:none}
 .cemi-ux-shell__brand{font-size:.88rem}
}

/* F2.7A · Shell width calibration */
.cemi-ux-shell__header-inner,.cemi-ux-shell__footer-top,.cemi-ux-shell__footer-bottom{
 width:min(calc(100% - 2rem),1440px);margin-inline:auto
}
@media(min-width:900px){
 .cemi-ux-shell__header-inner,.cemi-ux-shell__footer-top,.cemi-ux-shell__footer-bottom{
  width:min(calc(100% - 4rem),1440px)
 }
}
@media(min-width:1600px){
 .cemi-ux-shell__header-inner,.cemi-ux-shell__footer-top,.cemi-ux-shell__footer-bottom{
  width:min(calc(100% - 6rem),1520px)
 }
}
@media(max-width:599px){
 .cemi-ux-shell__header-inner,.cemi-ux-shell__footer-top,.cemi-ux-shell__footer-bottom{
  width:min(calc(100% - 1.5rem),34rem)
 }
}


/* F2.7B · Public Shell responsive authority */
.cemi-ux-shell__header{
  position:sticky;top:0;z-index:var(--cemi-z-sticky,80);
  background:rgba(255,255,255,.96);backdrop-filter:saturate(150%) blur(12px);
  border-bottom:1px solid rgba(26,34,49,.08)
}
.cemi-ux-shell__header-inner{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.25rem;
  min-height:4.6rem
}
.cemi-ux-shell__brand{display:inline-flex;align-items:center;gap:.55rem;color:#1a2231;text-decoration:none}
.cemi-ux-shell__brand-mark{
  display:grid;place-items:center;width:2rem;height:2rem;border-radius:.6rem;
  background:var(--cemi-color-brand);color:#fff;font-weight:900;font-size:1rem
}
.cemi-ux-shell__brand-copy{display:grid;line-height:.88}
.cemi-ux-shell__brand-copy small{font-size:.48rem;letter-spacing:.12em;font-weight:800}
.cemi-ux-shell__brand-copy strong{font-size:1rem;letter-spacing:.01em}
.cemi-ux-shell__desktop-nav{display:flex;justify-content:center;align-items:center;gap:clamp(.8rem,1.6vw,1.45rem)}
.cemi-ux-shell__desktop-nav a{font-size:.78rem;font-weight:750;color:#273142;text-decoration:none;white-space:nowrap}
.cemi-ux-shell__desktop-nav a:hover{color:var(--cemi-color-brand)}
.cemi-ux-shell__actions{display:flex;align-items:center;gap:.55rem}
.cemi-ux-shell__icon-action{
  display:grid;place-items:center;width:2.65rem;height:2.65rem;border:1px solid #dce2e9;border-radius:.72rem;
  color:#1a2231;text-decoration:none;font-size:1.25rem;background:#fff
}
.cemi-ux-shell__mobile-trigger{
  display:none;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;padding:0;
  border:1px solid #dce2e9;border-radius:.75rem;background:#fff;color:#1a2231;cursor:pointer
}
.cemi-ux-shell__menu-icon{display:grid;gap:3px;width:1rem}
.cemi-ux-shell__menu-icon i{display:block;height:2px;background:currentColor;border-radius:2px}
.cemi-ux-shell__mobile-drawer{
  position:fixed;inset:0;z-index:calc(var(--cemi-z-modal,120) + 1);background:rgba(10,18,29,.55);
}
.cemi-ux-shell__mobile-panel{
  margin-left:auto;width:min(88vw,24rem);height:100%;background:#fff;padding:1rem 1rem 1.5rem;
  box-shadow:-20px 0 50px rgba(10,18,29,.18);overflow:auto
}
.cemi-ux-shell__mobile-panel-head{display:flex;justify-content:space-between;align-items:center;padding:.35rem .2rem 1rem}
.cemi-ux-shell__mobile-panel-head strong{font-size:1.15rem}
.cemi-ux-shell__mobile-close{
  width:2.6rem;height:2.6rem;border:1px solid #dde2e9;border-radius:.7rem;background:#fff;font-size:1.5rem;line-height:1
}
.cemi-ux-shell__mobile-nav{display:grid;border-top:1px solid #edf0f3}
.cemi-ux-shell__mobile-nav a{
  padding:1rem .15rem;border-bottom:1px solid #edf0f3;color:#1a2231;text-decoration:none;font-weight:800
}
.cemi-ux-shell__mobile-actions{display:grid;gap:.75rem;margin-top:1.25rem}
.cemi-ux-shell__mobile-actions>a:not(.cfx-button){color:#1a2231;font-weight:800;text-decoration:none}
html.cfx-menu-open,body.cfx-menu-open{overflow:hidden}

/* Tablet: shorten nav before it collides. */
@media(min-width:900px) and (max-width:1199px){
  .cemi-ux-shell__header-inner{grid-template-columns:auto 1fr auto;gap:.8rem;min-height:4.2rem}
  .cemi-ux-shell__desktop-nav{gap:.72rem}
  .cemi-ux-shell__desktop-nav a{font-size:.68rem}
  .cemi-ux-shell__header-action{padding-inline:.8rem;font-size:.7rem}
  .cemi-ux-shell__brand-copy small{display:none}
}

/* Mobile/tablet portrait: compact shell, icon trigger rather than giant Menú pill. */
@media(max-width:899px){
  .cemi-ux-shell__header-inner{grid-template-columns:auto 1fr;min-height:3.9rem}
  .cemi-ux-shell__desktop-nav{display:none}
  .cemi-ux-shell__actions{justify-self:end}
  .cemi-ux-shell__mobile-trigger{display:inline-flex}
  .cemi-ux-shell__header-action{display:none}
}
@media(max-width:599px){
  .cemi-ux-shell__header-inner{min-height:3.65rem}
  .cemi-ux-shell__brand-mark{width:2rem;height:2rem}
  .cemi-ux-shell__brand-copy{display:none}
  .cemi-ux-shell__icon-action{width:2.55rem;height:2.55rem}
  .cemi-ux-shell__mobile-trigger{width:2.55rem;height:2.55rem}
}

/* Footer responsive authority */
@media(min-width:900px){
  .cemi-ux-shell__footer-columns{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(min-width:600px) and (max-width:899px){
  .cemi-ux-shell__footer-top{grid-template-columns:1fr}
  .cemi-ux-shell__footer-columns{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cemi-ux-shell__footer-columns nav:last-child{grid-column:1/-1}
}
@media(max-width:599px){
  .cemi-ux-shell__footer{padding-top:2.5rem}
  .cemi-ux-shell__footer-top,.cemi-ux-shell__footer-columns{grid-template-columns:1fr}
  .cemi-ux-shell__footer-columns nav:last-child{grid-column:auto}
  .cemi-ux-shell__footer-bottom{flex-direction:column;align-items:flex-start}
}


/* F2.9 · Home closure: shell polish + accessibility */
.cemi-ux-skip-link{
  position:fixed;left:1rem;top:.75rem;z-index:9999;transform:translateY(-160%);
  padding:.7rem 1rem;border-radius:.6rem;background:#1a2231;color:#fff;text-decoration:none;font-weight:800;
  transition:transform .15s ease
}
.cemi-ux-skip-link:focus{transform:translateY(0)}
.cemi-ux-shell__desktop-nav a.is-current,
.cemi-ux-shell__desktop-nav a[aria-current="page"]{color:var(--cemi-color-brand)}
.cemi-ux-shell__desktop-nav a:focus-visible,
.cemi-ux-shell__icon-action:focus-visible,
.cemi-ux-shell__mobile-trigger:focus-visible,
.cemi-ux-shell__mobile-close:focus-visible,
.cemi-ux-shell__mobile-nav a:focus-visible{
  outline:3px solid rgba(200,23,104,.28);outline-offset:3px
}
.cemi-ux-shell__header{box-shadow:0 1px 0 rgba(26,34,49,.04)}
@media(max-width:899px){
 .cemi-ux-shell__mobile-panel{padding-top:max(1rem,env(safe-area-inset-top));padding-bottom:max(1.5rem,env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){
 .cemi-ux-skip-link,.cemi-ux-shell__mobile-panel{transition:none!important}
}


/* F2.9A · SHELL FUNCTIONAL CLOSURE
   Final authority after historical F2.x rules. */

/* Explicitly defeat pre-F2.7 mobile-panel positioning/display rules. */
.cemi-ux-shell__mobile-drawer[hidden]{display:none!important}
@media(max-width:899px){
  .cemi-ux-shell__mobile-drawer:not([hidden]){display:block!important}
  .cemi-ux-shell__mobile-drawer:not([hidden]) .cemi-ux-shell__mobile-panel{
    display:block!important;
    position:absolute!important;
    inset:0 0 0 auto!important;
    width:min(90vw,24rem)!important;
    height:100dvh!important;
    margin:0!important;
    padding:max(1rem,env(safe-area-inset-top)) 1rem max(1.5rem,env(safe-area-inset-bottom))!important;
    background:var(--cemi-color-surface)!important;
    color:var(--cemi-color-text)!important;
    overflow-y:auto!important;
  }
}
@media(min-width:900px){
  .cemi-ux-shell__mobile-drawer{display:none!important}
}

.cemi-ux-shell__brand-image{display:block;max-height:2.5rem;width:auto;max-width:10rem}
.cemi-ux-shell__search-icon,.cemi-ux-shell__account-icon{
  width:.95rem;height:.95rem;display:block;position:relative
}
.cemi-ux-shell__search-icon:before{
  content:"";position:absolute;width:.62rem;height:.62rem;border:2px solid currentColor;border-radius:50%;left:0;top:0
}
.cemi-ux-shell__search-icon:after{
  content:"";position:absolute;width:.42rem;height:2px;background:currentColor;transform:rotate(45deg);right:-.02rem;bottom:.06rem;border-radius:2px
}
.cemi-ux-shell__account-icon:before{
  content:"";position:absolute;width:.44rem;height:.44rem;border:1.8px solid currentColor;border-radius:50%;left:.24rem;top:0
}
.cemi-ux-shell__account-icon:after{
  content:"";position:absolute;width:.78rem;height:.4rem;border:1.8px solid currentColor;border-bottom:0;border-radius:.55rem .55rem 0 0;left:.06rem;bottom:.02rem
}
.cemi-ux-shell__account-action{
  min-height:2.65rem;display:inline-flex;align-items:center;gap:.45rem;padding:0 .75rem;
  border:1px solid var(--cemi-color-border);border-radius:.72rem;background:var(--cemi-color-surface);
  color:var(--cemi-color-text);font-size:.72rem;font-weight:800;text-decoration:none;white-space:nowrap
}
.cemi-ux-shell__theme-toggle{cursor:pointer}
.cemi-ux-shell__mobile-theme{
  min-height:2.8rem;padding:.7rem .85rem;text-align:left;border:1px solid var(--cemi-color-border);
  border-radius:.7rem;background:var(--cemi-color-surface-soft);color:var(--cemi-color-text);font-weight:800
}
.cemi-ux-shell__mobile-nav a{color:var(--cemi-color-text)!important;background:transparent!important}
.cemi-ux-shell__mobile-panel-head strong{color:var(--cemi-color-ink)}
.cemi-ux-shell__mobile-close{color:var(--cemi-color-text);background:var(--cemi-color-surface);border-color:var(--cemi-color-border)}
.cemi-ux-shell__mobile-actions>a:not(.cfx-button){color:var(--cemi-color-text)!important}

/* Desktop/tablet action strategy */
@media(min-width:1200px){
  .cemi-ux-shell__account-action span:last-child{display:inline}
}
@media(min-width:900px) and (max-width:1199px){
  .cemi-ux-shell__account-action{width:2.65rem;padding:0;justify-content:center}
  .cemi-ux-shell__account-action span:last-child{display:none}
}
@media(max-width:899px){
  .cemi-ux-shell__account-action{display:none}
}
@media(max-width:599px){
  .cemi-ux-shell__brand-image{max-width:7.5rem;max-height:2rem}
}

/* Theme tokens: shell + Home consume these without changing content truth. */
html[data-cfx-theme="dark"]{
  --cemi-color-ink:#f5f7fb;
  --cemi-color-text:#e5e9f0;
  --cemi-color-muted:#a9b1bd;
  --cemi-color-subtle:#8e99a8;
  --cemi-color-surface:#101824;
  --cemi-color-surface-soft:#151f2d;
  --cemi-color-surface-strong:#1c2838;
  --cemi-color-border:#2a3748;
  --cemi-color-border-strong:#3a485b;
}
html[data-cfx-theme="dark"] body{background:#101824;color:#e5e9f0}
html[data-cfx-theme="dark"] .cemi-ux-shell__header{
  background:rgba(16,24,36,.96);border-color:#2a3748;border-top-color:#c81768
}
html[data-cfx-theme="dark"] .cemi-ux-shell__desktop-nav a,
html[data-cfx-theme="dark"] .cemi-ux-shell__brand,
html[data-cfx-theme="dark"] .cemi-ux-shell__icon-action,
html[data-cfx-theme="dark"] .cemi-ux-shell__account-action{color:#eef2f8}
html[data-cfx-theme="dark"] .cemi-ux-shell__icon-action,
html[data-cfx-theme="dark"] .cemi-ux-shell__account-action{background:#151f2d;border-color:#2a3748}
html[data-cfx-theme="dark"] .cemi-ux-shell__mobile-drawer{background:rgba(2,7,13,.72)}


/* F2.9B · HEADER ACTIONS POLISH */
.cemi-ux-shell__actions{gap:.45rem}
.cemi-ux-shell__icon-action,
.cemi-ux-shell__account-action,
.cemi-ux-shell__mobile-trigger{
  width:2.65rem;height:2.65rem;min-width:2.65rem;min-height:2.65rem;
  border-radius:.72rem
}
.cemi-ux-shell__account-action{
  padding:0 .7rem;width:auto;min-width:2.65rem;justify-content:center
}
.cemi-ux-shell__account-label{display:inline}
.cemi-ux-shell__theme-icon{
  position:relative;display:block;width:1rem;height:1rem
}

/* Sun */
.cemi-ux-shell__theme-icon[data-theme-state="light"]:before{
  content:"";position:absolute;left:50%;top:50%;width:.42rem;height:.42rem;
  margin:-.21rem 0 0 -.21rem;border:2px solid currentColor;border-radius:50%
}
.cemi-ux-shell__theme-icon[data-theme-state="light"]:after{
  content:"";position:absolute;inset:-.03rem;
  background:
    linear-gradient(currentColor,currentColor) 50% 0/2px .18rem no-repeat,
    linear-gradient(currentColor,currentColor) 50% 100%/2px .18rem no-repeat,
    linear-gradient(90deg,currentColor,currentColor) 0 50%/.18rem 2px no-repeat,
    linear-gradient(90deg,currentColor,currentColor) 100% 50%/.18rem 2px no-repeat;
  opacity:.95
}

/* Moon */
.cemi-ux-shell__theme-icon[data-theme-state="dark"]:before{
  content:"";position:absolute;width:.72rem;height:.72rem;border:2px solid currentColor;
  border-radius:50%;left:.08rem;top:.08rem
}
.cemi-ux-shell__theme-icon[data-theme-state="dark"]:after{
  content:"";position:absolute;width:.66rem;height:.66rem;border-radius:50%;
  background:var(--cemi-color-surface);left:.38rem;top:-.02rem
}

@media(min-width:1200px){
  .cemi-ux-shell__account-action{width:auto}
}
@media(min-width:900px) and (max-width:1199px){
  .cemi-ux-shell__account-action{width:2.65rem;padding:0}
  .cemi-ux-shell__account-label{display:none}
}
@media(max-width:899px){
  /* User remains a persistent primary Header action on mobile/tablet portrait. */
  .cemi-ux-shell__account-action{display:inline-flex!important;width:2.55rem;height:2.55rem;padding:0}
  .cemi-ux-shell__account-label{display:none}
  .cemi-ux-shell__icon-action,
  .cemi-ux-shell__mobile-trigger{width:2.55rem;height:2.55rem;min-width:2.55rem;min-height:2.55rem}
}
@media(max-width:420px){
  .cemi-ux-shell__actions{gap:.28rem}
  .cemi-ux-shell__icon-action,
  .cemi-ux-shell__account-action,
  .cemi-ux-shell__mobile-trigger{width:2.42rem;height:2.42rem;min-width:2.42rem;min-height:2.42rem}
}


/* F2.9C · Shell consumes global type authority */
.cemi-ux-shell__brand-copy,
.cemi-ux-shell__desktop-nav,
.cemi-ux-shell__mobile-nav,
.cemi-ux-shell__actions,
.cemi-ux-shell__footer{
  font-family:var(--cemi-font-body);
}
.cemi-ux-shell__brand-copy strong{
  font-family:var(--cemi-font-display);
  font-weight:var(--cemi-weight-extrabold);
  letter-spacing:-.03em;
}
.cemi-ux-shell__desktop-nav a,
.cemi-ux-shell__mobile-nav a,
.cemi-ux-shell__account-action{
  font-weight:var(--cemi-weight-bold);
}
.cemi-ux-shell__mobile-panel-head strong{
  font-family:var(--cemi-font-display);
  font-weight:var(--cemi-weight-extrabold);
}


/* ============================================================
   F2.9D · PUBLIC HEADER BEHAVIOR RECOVERY
   Canonical override only. Core behavior recovered; Core CSS not imported.
   ============================================================ */
.cemi-ux-shell__header{
  --cfx-header-expanded-h:4.6rem;
  --cfx-header-compact-h:3.65rem;
  transform:translate3d(0,0,0);
  transition:
    transform .24s cubic-bezier(.2,.8,.2,1),
    min-height .22s ease,
    background-color .22s ease,
    box-shadow .22s ease,
    border-color .22s ease;
  will-change:transform;
}
.cemi-ux-shell__header[data-cfx-header-visibility="hidden"]{
  transform:translate3d(0,calc(-100% - 8px),0);
}
.cemi-ux-shell__header[data-cfx-header-visibility="shown"]{
  transform:translate3d(0,0,0);
}
.cemi-ux-shell__header[data-cfx-header-state="expanded"] .cemi-ux-shell__header-inner{
  min-height:var(--cfx-header-expanded-h);
}
.cemi-ux-shell__header[data-cfx-header-state="compact"]{
  background:color-mix(in srgb,var(--cemi-color-surface) 94%,transparent);
  box-shadow:0 10px 28px rgba(10,18,29,.08);
}
.cemi-ux-shell__header[data-cfx-header-state="compact"] .cemi-ux-shell__header-inner{
  min-height:var(--cfx-header-compact-h);
}
.cemi-ux-shell__header[data-cfx-header-state="compact"] .cemi-ux-shell__brand-image{
  max-height:2rem;
}
.cemi-ux-shell__header[data-cfx-header-state="compact"] .cemi-ux-shell__brand-mark{
  width:1.8rem;height:1.8rem;border-radius:.5rem
}
.cemi-ux-shell__header[data-cfx-header-state="compact"] .cemi-ux-shell__brand-copy small{display:none}
.cemi-ux-shell__header[data-cfx-header-state="compact"] .cemi-ux-shell__brand-copy strong{font-size:.9rem}
.cemi-ux-shell__header[data-cfx-header-state="compact"] .cemi-ux-shell__icon-action,
.cemi-ux-shell__header[data-cfx-header-state="compact"] .cemi-ux-shell__account-action,
.cemi-ux-shell__header[data-cfx-header-state="compact"] .cemi-ux-shell__mobile-trigger{
  width:2.4rem;height:2.4rem;min-width:2.4rem;min-height:2.4rem;border-radius:.62rem
}
.cemi-ux-shell__header[data-cfx-header-state="compact"] .cemi-ux-shell__header-action{
  min-height:2.4rem;padding-block:.45rem
}

/* Mobile drawer becomes navigation experience, not a flat technical list. */
.cemi-ux-shell__mobile-panel{
  width:min(92vw,27rem)!important;
  padding:0!important;
}
.cemi-ux-shell__mobile-panel-head{
  position:sticky;top:0;z-index:2;
  padding:max(1.1rem,env(safe-area-inset-top)) 1.15rem 1rem;
  background:color-mix(in srgb,var(--cemi-color-surface) 96%,transparent);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--cemi-color-border);
}
.cemi-ux-shell__mobile-panel-head>div{display:grid;gap:.18rem}
.cemi-ux-shell__mobile-panel-head small{
  color:var(--cemi-color-brand);font-size:.62rem;font-weight:800;letter-spacing:.12em
}
.cemi-ux-shell__mobile-panel-head strong{font-size:1.22rem;letter-spacing:-.025em}

.cemi-ux-shell__mobile-quick{
  display:grid;grid-template-columns:1fr 1fr;gap:.65rem;padding:1rem 1.15rem .35rem
}
.cemi-ux-shell__mobile-quick a{
  display:grid;gap:.35rem;padding:.9rem .85rem;border:1px solid var(--cemi-color-border);
  border-radius:.9rem;background:var(--cemi-color-surface-soft);color:var(--cemi-color-text);
  text-decoration:none
}
.cemi-ux-shell__mobile-quick a>span{font-size:1.15rem;color:var(--cemi-color-brand)}
.cemi-ux-shell__mobile-quick a>strong{font-size:.78rem;line-height:1.2}

.cemi-ux-shell__mobile-nav{
  display:grid;gap:.35rem;padding:.65rem 1.15rem 1rem;border:0
}
.cemi-ux-shell__mobile-group{
  display:grid;padding:.95rem 0;border-bottom:1px solid var(--cemi-color-border)
}
.cemi-ux-shell__mobile-group:last-child{border-bottom:0}
.cemi-ux-shell__mobile-group h2{
  margin:0 0 .45rem;color:var(--cemi-color-muted);font-size:.64rem;font-weight:800;
  letter-spacing:.11em;text-transform:uppercase
}
.cemi-ux-shell__mobile-group a{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.72rem 0;border:0!important;color:var(--cemi-color-text)!important;
  font-size:.94rem;font-weight:700;text-decoration:none
}
.cemi-ux-shell__mobile-group a span{
  color:var(--cemi-color-subtle);font-weight:500;transition:transform .16s ease
}
.cemi-ux-shell__mobile-group a:hover span,
.cemi-ux-shell__mobile-group a:focus-visible span{transform:translateX(3px)}

.cemi-ux-shell__mobile-cta{
  display:grid;gap:.35rem;margin:0 1.15rem max(1.25rem,env(safe-area-inset-bottom));
  padding:1rem;border-radius:1rem;background:var(--cemi-color-surface-strong)
}
.cemi-ux-shell__mobile-cta small{
  color:var(--cemi-color-brand);font-size:.62rem;font-weight:800;letter-spacing:.1em
}
.cemi-ux-shell__mobile-cta strong{font-size:1rem;color:var(--cemi-color-ink)}
.cemi-ux-shell__mobile-cta .cfx-button{margin-top:.45rem;justify-content:center}

/* Compact mobile still keeps Search · User · Theme · Menu available. */
@media(max-width:899px){
  .cemi-ux-shell__header{
    --cfx-header-expanded-h:3.9rem;
    --cfx-header-compact-h:3.35rem;
  }
  .cemi-ux-shell__header[data-cfx-header-state="compact"] .cemi-ux-shell__header-inner{
    gap:.55rem
  }
}
@media(max-width:420px){
  .cemi-ux-shell__mobile-panel{width:100vw!important}
  .cemi-ux-shell__mobile-quick{grid-template-columns:1fr 1fr}
}

/* Admin bar + iPhone safe area remain compatible with sticky adaptive Header. */
body.admin-bar .cemi-ux-shell__header{top:32px}
@media(max-width:782px){body.admin-bar .cemi-ux-shell__header{top:46px}}
@supports(padding:max(0px)){
  @media(max-width:899px){
    .cemi-ux-shell__header-inner{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
  }
}

/* Reduced motion: keep state semantics, remove movement. */
@media(prefers-reduced-motion:reduce){
  .cemi-ux-shell__header{transition:none!important}
  .cemi-ux-shell__header[data-cfx-header-visibility="hidden"]{transform:none!important}
  .cemi-ux-shell__mobile-group a span{transition:none!important}
}
