/* Shared control and optional appearance snapshots. Approved palettes, document
   geometry and printed content remain in their existing theme styles. Load last. */
@layer eco-mobile-material {
 @media screen {
  html[data-eco-vision] body .eco-theme-switch.eco-theme-switch {
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;
    flex:0 0 44px!important;box-sizing:border-box!important;padding:0!important;margin:0!important;
    border-radius:50%!important;border:1px solid rgba(255,255,255,.17)!important;
    background:linear-gradient(145deg,rgba(54,60,69,.92),rgba(26,32,39,.94))!important;
    color:#edf1f7!important;box-shadow:0 5px 13px rgba(0,0,0,.19),inset 0 1px rgba(255,255,255,.12)!important;
    cursor:pointer!important;line-height:1!important;overflow:hidden!important;
    position:relative!important;z-index:3!important;
    transition:transform .16s ease,box-shadow .16s ease!important;
    -webkit-tap-highlight-color:transparent;
  }
  html[data-eco-vision="light"] body .eco-theme-switch.eco-theme-switch {
    color:#334862!important;background:linear-gradient(145deg,#fff,#eff3f9)!important;
    border-color:rgba(255,255,255,.96)!important;
    box-shadow:0 4px 10px rgba(38,54,77,.13),inset 0 1px #fff,inset 0 -1px rgba(104,124,150,.1)!important;
  }
  html[data-eco-vision]:not([data-eco-theme-controls="session"]) body .eco-theme-switch.eco-theme-switch,
  html[data-eco-vision] body .eco-theme-switch.eco-theme-switch[hidden] {display:none!important;}
  html[data-eco-vision] body .eco-theme-switch.eco-theme-switch svg {
    display:block!important;width:20px!important;height:20px!important;
    fill:none!important;stroke:currentColor!important;stroke-width:1.7!important;
    stroke-linecap:round;stroke-linejoin:round;pointer-events:none;
  }
  html[data-eco-vision] body .eco-theme-switch.eco-theme-switch:focus-visible {
    outline:2px solid #77a9e3!important;outline-offset:3px!important;
  }
  html[data-eco-vision="light"] body .eco-theme-switch.eco-theme-switch:focus-visible {
    outline-color:#215a99!important;
  }
  html[data-eco-vision] body .eco-theme-switch.eco-theme-switch:active {transform:scale(.95)!important;}
  html[data-eco-vision] body [data-eco-theme-slot] {
    display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto;gap:8px;
  }
  html[data-eco-vision] body :is(.express-brand,.wrap > .top)>.eco-theme-switch {margin-left:auto!important;}
  html[data-eco-vision] body :is(.team-header-actions,.client-header-actions)>.eco-theme-switch {order:-1;}
  @media(max-width:1099px){
    html[data-eco-vision] body.eco-app-polished .eco-owner-mobile-header>.eco-theme-switch {
      grid-column:1!important;grid-row:1!important;justify-self:start!important;align-self:center!important;
    }
  }
  @media(min-width:1100px){
    html[data-eco-vision] body.eco-app-polished .eco-owner-mobile-header>.eco-theme-switch {grid-column:3!important;grid-row:1!important;justify-self:end!important;float:none!important;margin:0!important;}
  }
  @media(hover:hover){
    html[data-eco-vision] body .eco-theme-switch.eco-theme-switch:hover {transform:translateY(-1px)!important;}
  }
  @media(prefers-reduced-motion:reduce){
    html[data-eco-vision] body .eco-theme-switch.eco-theme-switch {transition:none!important;transform:none!important;}
  }
 }
 @media print {
  .eco-theme-switch,[data-eco-theme-slot] {display:none!important;}
 }
}
/* Fade the captured page, rather than repainting transitions on every card,
   field and shadow. Only the explicit native theme action creates this state. */
@layer eco-mobile-material {
 @media screen {
  html[data-eco-theme-transition]::view-transition {pointer-events:none}
  html[data-eco-theme-transition]::view-transition-group(root) {animation-duration:.24s;animation-timing-function:cubic-bezier(.2,.7,.3,1)}
  html[data-eco-theme-transition]::view-transition-old(root) {animation:ecoThemePageOut .24s cubic-bezier(.2,.7,.3,1) both;mix-blend-mode:normal}
  html[data-eco-theme-transition]::view-transition-new(root) {animation:ecoThemePageIn .24s cubic-bezier(.2,.7,.3,1) both;mix-blend-mode:normal}
  @keyframes ecoThemePageOut {from{opacity:1}to{opacity:0}}
  @keyframes ecoThemePageIn {from{opacity:0}to{opacity:1}}
  @media(prefers-reduced-motion:reduce) {
   html[data-eco-theme-transition]::view-transition-group(root),
   html[data-eco-theme-transition]::view-transition-old(root),
   html[data-eco-theme-transition]::view-transition-new(root) {animation:none!important}
  }
 }
}
@layer eco-mobile-material {
 @media screen {
  html[data-eco-vision] body .eco-theme-switch.eco-theme-switch svg {animation:ecoThemeIconReveal .3s cubic-bezier(.2,.75,.3,1) both}
  @keyframes ecoThemeIconReveal {from{opacity:0;transform:rotate(-28deg) scale(.7)}to{opacity:1;transform:rotate(0) scale(1)}}
  @media(prefers-reduced-motion:reduce) {
   html[data-eco-vision] body .eco-theme-switch.eco-theme-switch svg {animation:none!important}

  }
 }
}
