/* CERES DCOM OS v1.0 — isolated fullscreen app shell
   Twenty Twenty-Five is neutralized only on pages containing DCOMOS. */
html:has(.cd-app),
body:has(.cd-app){
  margin:0!important;
  padding:0!important;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-height:100%!important;
  overflow:hidden!important;
}
body:has(.cd-app) #wpadminbar,
body:has(.cd-app) .site-header,
body:has(.cd-app) .site-footer,
body:has(.cd-app) .wp-site-blocks>header,
body:has(.cd-app) .wp-site-blocks>footer,
body:has(.cd-app) header.wp-block-template-part,
body:has(.cd-app) footer.wp-block-template-part,
body:has(.cd-app) .elementor-location-header,
body:has(.cd-app) .elementor-location-footer,
body:has(.cd-app) .woodmart-header,
body:has(.cd-app) .whb-header,
body:has(.cd-app) .main-header,
body:has(.cd-app) #header,
body:has(.cd-app) #footer,
body:has(.cd-app) .page-header,
body:has(.cd-app) .breadcrumbs{
  display:none!important;
}
body:has(.cd-app) #page,
body:has(.cd-app) #content,
body:has(.cd-app) .site,
body:has(.cd-app) .site-content,
body:has(.cd-app) .content-area,
body:has(.cd-app) .site-main,
body:has(.cd-app) main,
body:has(.cd-app) article,
body:has(.cd-app) .entry-content,
body:has(.cd-app) .wp-site-blocks{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  height:100%!important;
  min-height:100%!important;
  overflow:hidden!important;
}
body:has(.cd-app) .cd-app{
  position:fixed!important;
  inset:0!important;
  z-index:999999!important;
  display:grid!important;
  grid-template-columns:250px minmax(0,1fr)!important;
  width:100vw!important;
  max-width:none!important;
  height:100vh!important;
  height:100dvh!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
body:has(.cd-app) .cd-app>aside{
  position:relative!important;
  width:250px!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  box-sizing:border-box!important;
}
body:has(.cd-app) .cd-app>main{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  box-sizing:border-box!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
}
body:has(.cd-app) .cd-app>main>section{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
body:has(.cd-app) .cd-app>main>section>*{
  max-width:none!important;
}
body:has(.cd-app) .cd-sidebar{
  height:100%!important;
  overflow-y:auto!important;
}
@media(max-width:900px){
  body:has(.cd-app) .cd-app{
    grid-template-columns:76px minmax(0,1fr)!important;
  }
  body:has(.cd-app) .cd-app>aside{
    width:76px!important;
  }
}
@media(max-width:640px){
  html:has(.cd-app),body:has(.cd-app){
    overflow:hidden!important;
  }
  body:has(.cd-app) .cd-app{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    width:100vw!important;
    height:100vh!important;
    height:100dvh!important;
  }
  body:has(.cd-app) .cd-app>aside{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:72px!important;
    overflow:hidden!important;
  }
  body:has(.cd-app) .cd-app>main{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
}


/* DCOMOS v1.0 — final responsive shell override.
   State is recalculated on every viewport resize so desktop/mobile transitions
   never retain the previous layout state. */
body:has(.cd-app) .cd-app{
  --dcom-sidebar-width:250px;
  display:grid!important;
  grid-template-columns:var(--dcom-sidebar-width) minmax(0,1fr)!important;
  grid-template-rows:minmax(0,1fr)!important;
}
body:has(.cd-app) .cd-app>aside,
body:has(.cd-app) .cd-sidebar{
  width:var(--dcom-sidebar-width)!important;
  min-width:var(--dcom-sidebar-width)!important;
  max-width:var(--dcom-sidebar-width)!important;
  height:100%!important;
  max-height:none!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  box-sizing:border-box!important;
}
body:has(.cd-app) .cd-app>main,
body:has(.cd-app) .cd-main{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  box-sizing:border-box!important;
}
body:has(.cd-app) .cd-app.dcom-compact{
  --dcom-sidebar-width:76px;
}
body:has(.cd-app) .cd-app.dcom-compact>aside,
body:has(.cd-app) .cd-app.dcom-compact .cd-sidebar{
  width:76px!important;
  min-width:76px!important;
  max-width:76px!important;
  padding-left:10px!important;
  padding-right:10px!important;
}
body:has(.cd-app) .cd-app.dcom-compact aside .cd-brand>div:not(.cd-logo),
body:has(.cd-app) .cd-app.dcom-compact aside .cd-user>div:not(.cd-avatar-wrap),
body:has(.cd-app) .cd-app.dcom-compact aside nav a span:not(.cd-nav-badge){
  /* labels are visually compacted by the state class; links remain usable */
}
body:has(.cd-app) .cd-app.dcom-mobile{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:72px minmax(0,1fr)!important;
  width:100vw!important;
  height:100vh!important;
  height:100dvh!important;
}
body:has(.cd-app) .cd-app.dcom-mobile>aside,
body:has(.cd-app) .cd-app.dcom-mobile .cd-sidebar{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:72px!important;
  min-height:72px!important;
  max-height:72px!important;
  overflow:hidden!important;
  padding:8px 10px!important;
  position:relative!important;
}
body:has(.cd-app) .cd-app.dcom-mobile>aside nav,
body:has(.cd-app) .cd-app.dcom-mobile .cd-sidebar nav{
  display:flex!important;
  flex-direction:row!important;
  gap:4px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  white-space:nowrap!important;
  width:100%!important;
  max-width:100%!important;
}
body:has(.cd-app) .cd-app.dcom-mobile>aside nav a,
body:has(.cd-app) .cd-app.dcom-mobile .cd-sidebar nav a{
  flex:0 0 auto!important;
  white-space:nowrap!important;
}
body:has(.cd-app) .cd-app.dcom-mobile>main,
body:has(.cd-app) .cd-app.dcom-mobile .cd-main{
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
@media(max-width:900px) and (min-width:641px){
  body:has(.cd-app) .cd-app:not(.dcom-mobile){
    --dcom-sidebar-width:76px;
    grid-template-columns:76px minmax(0,1fr)!important;
  }
  body:has(.cd-app) .cd-app:not(.dcom-mobile)>aside,
  body:has(.cd-app) .cd-app:not(.dcom-mobile) .cd-sidebar{
    width:76px!important;min-width:76px!important;max-width:76px!important;
  }
}
@media(max-width:640px){
  body:has(.cd-app) .cd-app{grid-template-columns:1fr!important;grid-template-rows:72px minmax(0,1fr)!important;}
}

/* DCOMOS v1.0 — Native Tablet & Mobile App Shell
   Desktop remains unchanged. Tablet/mobile use a fixed bottom dock so the
   navigation never overlaps the top profile/clock area or page content. */
@media (max-width:900px){
  html:has(.cd-app), body:has(.cd-app){
    overflow:hidden!important;
    height:100%!important;
    min-height:100%!important;
  }
  body:has(.cd-app) .cd-app,
  body:has(.cd-app) .cd-app.dcom-compact,
  body:has(.cd-app) .cd-app.dcom-mobile{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100vh!important;
    height:100dvh!important;
    min-height:0!important;
    overflow:hidden!important;
    background:#f4f8fa!important;
  }
  body:has(.cd-app) .cd-app>aside,
  body:has(.cd-app) .cd-app.dcom-compact>aside,
  body:has(.cd-app) .cd-app.dcom-mobile>aside{
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    top:auto!important;
    z-index:1000000!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    padding:0!important;
    margin:0!important;
    overflow:visible!important;
    background:rgba(255,255,255,.97)!important;
    border:0!important;
    border-top:1px solid #dce9ef!important;
    box-shadow:0 -10px 30px rgba(0,55,80,.10)!important;
    box-sizing:border-box!important;
    backdrop-filter:blur(18px)!important;
    -webkit-backdrop-filter:blur(18px)!important;
  }
  /* Brand/user remain represented by the app header; they must not consume
     dock space or collide with profile/clock controls. */
  body:has(.cd-app) .cd-app>aside .cd-brand,
  body:has(.cd-app) .cd-app>aside .cd-user{
    display:none!important;
  }
  body:has(.cd-app) .cd-app>aside nav,
  body:has(.cd-app) .cd-app.dcom-compact>aside nav,
  body:has(.cd-app) .cd-app.dcom-mobile>aside nav{
    display:flex!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    flex-direction:row!important;
    gap:4px!important;
    width:100%!important;
    max-width:none!important;
    height:72px!important;
    min-height:72px!important;
    max-height:72px!important;
    padding:7px 8px calc(7px + env(safe-area-inset-bottom,0px))!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    white-space:nowrap!important;
    scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch!important;
  }
  body:has(.cd-app) .cd-app>aside nav::-webkit-scrollbar{display:none!important}
  body:has(.cd-app) .cd-app>aside nav a,
  body:has(.cd-app) .cd-app.dcom-compact>aside nav a,
  body:has(.cd-app) .cd-app.dcom-mobile>aside nav a{
    flex:0 0 auto!important;
    min-width:76px!important;
    height:58px!important;
    min-height:58px!important;
    margin:0!important;
    padding:7px 9px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:14px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    font-size:10px!important;
    font-weight:700!important;
    color:#53656e!important;
    text-decoration:none!important;
    box-sizing:border-box!important;
  }
  body:has(.cd-app) .cd-app>aside nav a.active{
    background:#e7f6fb!important;
    color:#007eb6!important;
    font-weight:900!important;
  }
  body:has(.cd-app) .cd-app>aside nav a:hover{background:#f1f9fc!important}
  body:has(.cd-app) .cd-app>aside .cd-nav-badge{
    min-width:17px!important;
    height:17px!important;
    margin-left:4px!important;
    font-size:9px!important;
  }
  body:has(.cd-app) .cd-app>main,
  body:has(.cd-app) .cd-app.dcom-compact>main,
  body:has(.cd-app) .cd-app.dcom-mobile>main{
    position:relative!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    padding:0!important;
    margin:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    box-sizing:border-box!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
  }
  body:has(.cd-app) .cd-app>main>header{
    position:sticky!important;
    top:0!important;
    z-index:100!important;
    width:100%!important;
    min-height:76px!important;
    height:auto!important;
    padding:14px 16px!important;
    box-sizing:border-box!important;
  }
  body:has(.cd-app) .cd-app>main>header>div:first-child{min-width:0!important}
  body:has(.cd-app) .cd-app>main>header h1{
    font-size:20px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  body:has(.cd-app) .cd-app>main>header>div:last-child{
    flex:0 0 auto!important;
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    max-width:46%!important;
  }
  body:has(.cd-app) .cd-app>main>header>div:last-child a{
    margin-left:0!important;
    padding:7px 9px!important;
    border-radius:9px!important;
    font-size:10px!important;
    white-space:nowrap!important;
  }
  body:has(.cd-app) .cd-app>main>section{
    width:100%!important;
    max-width:none!important;
    padding:14px 14px calc(92px + env(safe-area-inset-bottom,0px))!important;
    box-sizing:border-box!important;
  }
  /* Tables/forms become horizontally scrollable instead of pushing over the
     app shell. Cards remain inside the viewport. */
  body:has(.cd-app) .cd-app .cd-card,
  body:has(.cd-app) .cd-app .cd-panel,
  body:has(.cd-app) .cd-app .cd-analytics-panel,
  body:has(.cd-app) .cd-app .cd-sma-panel{
    max-width:100%!important;
    box-sizing:border-box!important;
  }
}

@media (max-width:640px){
  body:has(.cd-app) .cd-app>aside nav,
  body:has(.cd-app) .cd-app.dcom-mobile>aside nav{
    height:68px!important;
    min-height:68px!important;
    max-height:68px!important;
    padding:5px 6px calc(5px + env(safe-area-inset-bottom,0px))!important;
  }
  body:has(.cd-app) .cd-app>aside nav a,
  body:has(.cd-app) .cd-app.dcom-mobile>aside nav a{
    min-width:68px!important;
    width:68px!important;
    height:58px!important;
    min-height:58px!important;
    padding:6px 7px!important;
    border-radius:13px!important;
    font-size:9px!important;
  }
  body:has(.cd-app) .cd-app>main>header{
    min-height:68px!important;
    padding:11px 12px!important;
  }
  body:has(.cd-app) .cd-app>main>header span{font-size:8px!important}
  body:has(.cd-app) .cd-app>main>header h1{font-size:17px!important}
  body:has(.cd-app) .cd-app>main>header>div:last-child a{
    padding:6px 7px!important;
    font-size:9px!important;
  }
  body:has(.cd-app) .cd-app>main>section{
    padding:11px 10px calc(82px + env(safe-area-inset-bottom,0px))!important;
  }
}

/* DCOMOS v1.0 — Premium Tablet/Mobile App Launcher */
.cd-mobile-home-layer,.cd-mobile-dock{display:none}
@media (max-width:900px){
  body:has(.cd-app) .cd-app{background:linear-gradient(180deg,#f7fbfd 0%,#eef6f9 100%)!important}
  body:has(.cd-app) .cd-app>aside{display:none!important}
  body:has(.cd-app) .cd-app>main{height:100%!important;padding-bottom:0!important}
  body:has(.cd-app) .cd-app>main>header{display:none!important}
  body:has(.cd-app) .cd-app>main>section{padding:18px 16px 110px!important}
  body:has(.cd-app) .cd-mobile-home-layer{display:block!important;position:absolute!important;inset:0!important;z-index:20!important;overflow:hidden!important;background:linear-gradient(180deg,#f8fcfe 0%,#edf6f9 100%)!important}
  body:has(.cd-app) .cd-mobile-home-layer:empty{display:none!important}
  body:has(.cd-app) .cd-mobile-home-layer .cd-home-logo{color:#fff;font-weight:900;font-size:22px;letter-spacing:.08em;line-height:1;white-space:nowrap}
  body:has(.cd-app) .cd-home-screen{height:100%;overflow-y:auto;padding:18px 16px 108px;box-sizing:border-box}
  body:has(.cd-app) .cd-home-header{border-radius:24px;background:linear-gradient(145deg,#062b3a 0%,#0b536c 68%,#0095da 140%);color:#fff;padding:20px;box-shadow:0 14px 36px rgba(6,43,58,.18);margin-bottom:22px;position:relative;overflow:hidden}
  body:has(.cd-app) .cd-home-header:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-90px;top:-90px;background:rgba(255,255,255,.08)}
  body:has(.cd-app) .cd-home-brand{display:flex;align-items:center;gap:12px;position:relative;z-index:1}
  body:has(.cd-app) .cd-home-brand .cd-logo-img,body:has(.cd-app) .cd-home-brand .cd-home-logo-img{height:34px!important;width:auto!important;max-width:130px!important;object-fit:contain!important;display:block!important}
  body:has(.cd-app) .cd-home-brand strong{display:block;font-size:16px;letter-spacing:.2px}
  body:has(.cd-app) .cd-home-brand span{display:block;font-size:9px;opacity:.72;margin-top:2px}
  body:has(.cd-app) .cd-home-brand em{display:inline-block;font-style:normal;font-size:8px;margin-top:6px;padding:3px 7px;border:1px solid rgba(255,255,255,.22);border-radius:20px;color:#d9f5ff}
  body:has(.cd-app) .cd-home-user{display:flex;align-items:center;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.13);position:relative;z-index:1}
  body:has(.cd-app) .cd-home-user strong{display:block;font-size:12px}.cd-home-user span{display:block;font-size:9px;opacity:.7;margin-top:3px}.cd-home-user time{margin-left:auto;font-size:16px;font-weight:800;letter-spacing:.5px}.cd-home-avatar,.cd-home-avatar-img{width:42px;height:42px;border-radius:14px;object-fit:cover}.cd-home-avatar{display:flex;align-items:center;justify-content:center;background:#0095da;color:#fff;font-weight:900;font-size:16px;border:1px solid rgba(255,255,255,.25)}
  body:has(.cd-app) .cd-home-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 10px;align-items:start}
  body:has(.cd-app) .cd-home-module{text-decoration:none;color:#062b3a;display:flex;flex-direction:column;align-items:center;min-width:0;gap:7px;-webkit-tap-highlight-color:transparent}
  body:has(.cd-app) .cd-home-icon{width:min(72px,18vw);aspect-ratio:1;border-radius:19px;background:#fff;border:1px solid rgba(6,43,58,.08);box-shadow:0 9px 22px rgba(6,43,58,.09);display:grid;place-items:center;position:relative;transition:transform .18s ease,box-shadow .18s ease}
  body:has(.cd-app) .cd-home-icon:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(145deg,rgba(0,149,218,.12),rgba(0,149,218,0));}
  body:has(.cd-app) .cd-home-icon span{width:24px;height:24px;border-radius:8px;background:linear-gradient(145deg,#0095da,#0b536c);position:relative;display:block;box-shadow:0 5px 12px rgba(0,149,218,.22)}
  body:has(.cd-app) .cd-home-icon span:after{content:"";position:absolute;inset:6px;border:2px solid rgba(255,255,255,.9);border-radius:5px}
  body:has(.cd-app) .cd-home-module[data-icon="grid"] .cd-home-icon span:after{box-shadow:8px 0 0 -2px #fff,0 8px 0 -2px #fff,8px 8px 0 -2px #fff;border:0;background:#fff;width:4px;height:4px;inset:6px;border-radius:2px}
  body:has(.cd-app) .cd-home-module b{font-size:9px;line-height:1.2;text-align:center;font-weight:800;max-width:80px;white-space:normal}
  body:has(.cd-app) .cd-home-module:active .cd-home-icon{transform:scale(.94);box-shadow:0 4px 10px rgba(6,43,58,.1)}
  body:has(.cd-app) .cd-mobile-dock{display:flex!important;position:fixed!important;left:12px!important;right:12px!important;bottom:calc(10px + env(safe-area-inset-bottom,0px))!important;height:64px!important;z-index:1000001!important;border-radius:22px!important;background:rgba(255,255,255,.94)!important;border:1px solid rgba(6,43,58,.09)!important;box-shadow:0 12px 35px rgba(6,43,58,.18)!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important;align-items:center!important;justify-content:center!important;gap:34px!important;padding:0 18px!important;box-sizing:border-box!important}
  body:has(.cd-app) .cd-dock-btn{width:44px!important;height:44px!important;border:0!important;background:transparent!important;display:grid!important;place-items:center!important;color:#062b3a!important;text-decoration:none!important;padding:0!important;border-radius:14px!important;cursor:pointer!important}
  body:has(.cd-app) .cd-dock-back{font-size:22px!important}.cd-dock-triangle{color:#0b536c}.cd-dock-circle{width:40px;height:40px;border-radius:50%;background:#0095da;color:#fff;display:grid;place-items:center;font-size:15px;box-shadow:0 6px 14px rgba(0,149,218,.28)}
  body:has(.cd-app) .cd-burger,.cd-dock-burger{width:24px;height:18px;display:flex;flex-direction:column;justify-content:space-between}.cd-dock-burger i{height:2px;width:24px;background:#062b3a;border-radius:2px}
  body:has(.cd-app) .cd-window-panel{position:absolute;left:0;right:0;bottom:76px;background:rgba(248,252,254,.98);border:1px solid rgba(6,43,58,.09);border-radius:24px;padding:16px;box-shadow:0 20px 50px rgba(6,43,58,.2);display:none;max-height:min(58vh,480px);overflow:hidden}
  body:has(.cd-app) .cd-mobile-dock.window-open .cd-window-panel{display:block!important}.cd-window-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.cd-window-head strong{font-size:14px;color:#062b3a}.cd-window-close{border:0;background:#eaf3f6;border-radius:10px;width:32px;height:32px;font-size:20px;color:#062b3a}.cd-window-list{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 8px;scroll-snap-type:x mandatory}.cd-window-card{flex:0 0 150px;scroll-snap-align:start;border:1px solid #d9e8ee;border-radius:16px;background:#fff;padding:14px;text-decoration:none;color:#062b3a;box-shadow:0 7px 18px rgba(6,43,58,.07)}.cd-window-card span{display:block;width:34px;height:34px;border-radius:11px;background:#e7f6fb;color:#0095da;margin-bottom:10px}.cd-window-card b{display:block;font-size:11px}.cd-window-card small{display:block;color:#70828b;font-size:8px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
@media(max-width:640px){
 body:has(.cd-app) .cd-home-screen{padding:12px 11px 104px}.cd-home-header{padding:16px!important;border-radius:21px!important}.cd-home-grid{gap:16px 5px!important}.cd-home-icon{border-radius:17px!important}.cd-mobile-dock{height:60px!important;bottom:calc(8px + env(safe-area-inset-bottom,0px))!important;gap:30px!important;left:9px!important;right:9px!important}.cd-dock-btn{width:42px!important;height:42px!important}.cd-dock-circle{width:38px!important;height:38px!important}
}

/* DCOMOS v1.0 — Premium responsive app shell v6 */
@media (max-width:900px){
  html:has(.cd-app),body:has(.cd-app){width:100%;max-width:none;overflow:hidden!important}
  body:has(.cd-app) .cd-app{grid-template-columns:1fr!important;display:block!important;overflow:hidden!important}
  body:has(.cd-app) .cd-app>aside{display:none!important}
  body:has(.cd-app) .cd-app>main{width:100%!important;min-width:0!important;height:100%!important;overflow-y:auto!important;overflow-x:hidden!important}
  body:has(.cd-app) .cd-app>main>header{display:flex!important;position:sticky!important;top:0!important;min-height:64px!important;padding:11px 14px!important;background:rgba(255,255,255,.94)!important;border-bottom:1px solid #dce9ef!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important;z-index:900!important;box-sizing:border-box!important}
  body:has(.cd-app) .cd-app>main>header h1{font-size:18px!important;margin:2px 0 0!important}
  body:has(.cd-app) .cd-app>main>header span{font-size:8px!important;letter-spacing:.08em!important}
  body:has(.cd-app) .cd-app>main>header>div:last-child{max-width:42%!important;overflow:hidden}
  body:has(.cd-app) .cd-app>main>header>div:last-child a{font-size:9px!important;padding:6px 7px!important}
  body:has(.cd-app) .cd-app>main>section{padding:14px 12px calc(100px + env(safe-area-inset-bottom,0px))!important;min-width:0!important;box-sizing:border-box!important}
  body:has(.cd-app) .cd-app .cd-card,body:has(.cd-app) .cd-app .cd-panel,body:has(.cd-app) .cd-app .cd-analytics-panel,body:has(.cd-app) .cd-app .cd-sma-panel{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
  body:has(.cd-app) .cd-app img,body:has(.cd-app) .cd-app iframe,body:has(.cd-app) .cd-app video{max-width:100%;box-sizing:border-box}
  body:has(.cd-app) .cd-app table{max-width:100%;}
  body:has(.cd-app) .cd-app .cd-table-wrap,body:has(.cd-app) .cd-app .cd-table-responsive,body:has(.cd-app) .cd-app .table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  body:has(.cd-app) .cd-app form,.cd-app .cd-form,.cd-app .cd-toolbar{max-width:100%;box-sizing:border-box}
  body:has(.cd-app) .cd-app input,body:has(.cd-app) .cd-app select,body:has(.cd-app) .cd-app textarea{max-width:100%;box-sizing:border-box}
  body:has(.cd-app) .cd-app .cd-grid,body:has(.cd-app) .cd-app .cd-dashboard-grid,body:has(.cd-app) .cd-app .cd-kpi-grid,body:has(.cd-app) .cd-app .cd-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body:has(.cd-app) .cd-app .cd-project-main-grid,body:has(.cd-app) .cd-app .cd-timeline-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}

  /* Home logo: full logo remains inside a dedicated frame without clipping. */
  body:has(.cd-app) .cd-home-brand .cd-logo-frame{width:58px!important;height:42px!important;min-width:58px!important;border-radius:12px!important;background:#fff!important;border:1px solid rgba(255,255,255,.28)!important;display:grid!important;place-items:center!important;padding:5px!important;box-sizing:border-box!important;overflow:hidden!important;box-shadow:0 7px 18px rgba(0,0,0,.12)!important}
  body:has(.cd-app) .cd-home-brand .cd-logo-frame img.cd-home-logo-img{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important}
  body:has(.cd-app) .cd-home-brand .cd-logo-img{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important}

  /* Distinct module icons — inline SVG, one visual language, different glyph per module. */
  body:has(.cd-app) .cd-home-icon{width:min(78px,19vw)!important;min-width:54px!important;aspect-ratio:1!important;display:grid!important;place-items:center!important}
  body:has(.cd-app) .cd-home-icon svg{width:34px!important;height:34px!important;fill:none!important;stroke:#087fac!important;stroke-width:1.7!important;stroke-linecap:round!important;stroke-linejoin:round!important;position:relative!important;z-index:2!important}
  body:has(.cd-app) .cd-home-module:nth-child(4n+2) .cd-home-icon svg{stroke:#0b536c!important}
  body:has(.cd-app) .cd-home-module:nth-child(4n+3) .cd-home-icon svg{stroke:#0095da!important}
  body:has(.cd-app) .cd-home-module:nth-child(4n+4) .cd-home-icon svg{stroke:#16647c!important}

  /* Floating orientation control. */
  body:has(.cd-app) .cd-orientation-fab{display:grid!important;place-items:center!important;position:fixed!important;right:8px!important;top:42%!important;width:38px!important;height:38px!important;border-radius:50%!important;border:1px solid rgba(6,43,58,.1)!important;background:rgba(255,255,255,.94)!important;color:#087fac!important;box-shadow:0 9px 24px rgba(6,43,58,.17)!important;backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important;z-index:1000002!important;padding:0!important;cursor:pointer!important;font-size:20px!important;line-height:1!important}
  body:has(.cd-app) .cd-orientation-fab:active{transform:scale(.93)}
  body:has(.cd-app) .cd-orientation-icon{display:block!important;transform:rotate(0deg)!important}

  /* App-like orientation modes. Actual device orientation remains controlled by OS/browser; this is the DCOMOS layout preference fallback. */
  body:has(.cd-app.dcom-orientation-landscape) .cd-home-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:14px 8px!important}
  body:has(.cd-app.dcom-orientation-landscape) .cd-home-icon{width:min(62px,11vw)!important}
  body:has(.cd-app.dcom-orientation-landscape) .cd-home-header{padding:16px 18px!important}
  body:has(.cd-app.dcom-orientation-landscape) .cd-home-screen{padding-bottom:100px!important}
  body:has(.cd-app.dcom-orientation-landscape) .cd-app>main>section{padding-bottom:100px!important}
}

@media (max-width:640px){
  body:has(.cd-app) .cd-app>main>header{min-height:58px!important;padding:9px 12px!important}
  body:has(.cd-app) .cd-app>main>header h1{font-size:16px!important}
  body:has(.cd-app) .cd-app>main>header>div:last-child{max-width:38%!important}
  body:has(.cd-app) .cd-app>main>header>div:last-child a{font-size:8px!important;padding:5px 6px!important}
  body:has(.cd-app) .cd-app>main>section{padding-left:10px!important;padding-right:10px!important}
  body:has(.cd-app) .cd-app .cd-grid,body:has(.cd-app) .cd-app .cd-dashboard-grid,body:has(.cd-app) .cd-app .cd-kpi-grid,body:has(.cd-app) .cd-app .cd-report-grid{grid-template-columns:1fr!important}
  body:has(.cd-app) .cd-app .cd-project-main-grid,body:has(.cd-app) .cd-app .cd-timeline-form-grid{grid-template-columns:1fr!important}
  body:has(.cd-app) .cd-home-grid{gap:18px 5px!important}
  body:has(.cd-app) .cd-home-icon{width:min(72px,19vw)!important}
  body:has(.cd-app) .cd-home-icon svg{width:31px!important;height:31px!important}
  body:has(.cd-app) .cd-home-module b{font-size:8.5px!important;max-width:74px!important}
  body:has(.cd-app) .cd-home-brand .cd-logo-frame{width:54px!important;height:39px!important;min-width:54px!important;padding:4px!important}
  body:has(.cd-app) .cd-orientation-fab{right:6px!important;width:34px!important;height:34px!important;font-size:18px!important}
  body:has(.cd-app.dcom-orientation-landscape) .cd-home-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}
  body:has(.cd-app.dcom-orientation-landscape) .cd-home-icon{width:min(58px,12vw)!important}
}

@media (min-width:901px){
  .cd-orientation-fab{display:none!important}
}


/* DCOMOS v1.0 — Tablet/Mobile Home Header Collision Fix
   When the launcher Home is active, the desktop module header must not remain
   visible underneath/above the Home layer. Module pages keep their app header. */
@media (max-width:900px){
  body:has(.cd-app) .cd-mobile-home-layer{
    position:fixed!important;
    inset:0!important;
    z-index:100000!important;
    width:100vw!important;
    height:100vh!important;
    height:100dvh!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    isolation:isolate!important;
  }
  body:has(.cd-app) .cd-mobile-home-layer + aside + .cd-mobile-dock + main > header{
    display:none!important;
    visibility:hidden!important;
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    overflow:hidden!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
  }
  body:has(.cd-app) .cd-mobile-home-layer .cd-home-screen{
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    max-height:100%!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    box-sizing:border-box!important;
    padding-top:18px!important;
  }
  body:has(.cd-app) .cd-mobile-home-layer .cd-home-header{
    margin-top:0!important;
  }
}
@media (max-width:640px){
  body:has(.cd-app) .cd-mobile-home-layer .cd-home-screen{padding-top:12px!important;}
}

/* DCOMOS v1.0 — Menu Management + Command Center Social Range */
.cd-menu-manager{width:100%;max-width:1180px;margin:0 auto}.cd-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.cd-menu-box,.cd-menu-custom{background:#f8fcfe;border:1px solid #d7e8ef;border-radius:16px;padding:16px}.cd-menu-box-head{margin-bottom:12px}.cd-menu-box-head h3,.cd-menu-custom h3{margin:0 0 4px;color:#063b4b}.cd-menu-box-head small,.cd-menu-custom>small{color:#6d8792}.cd-menu-list{display:flex;flex-direction:column;gap:8px;min-height:80px}.cd-menu-row{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #d9e8ee;border-radius:12px;padding:11px 12px;cursor:grab;user-select:none;box-shadow:0 2px 8px rgba(5,55,72,.04)}.cd-menu-row:active{cursor:grabbing}.cd-menu-row.dragging{opacity:.45;border-style:dashed}.cd-menu-grip{font-size:18px;letter-spacing:-4px;color:#079bd7;width:20px}.cd-menu-label{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cd-menu-label b{font-size:13px;color:#063b4b}.cd-menu-label small{font-size:10px;color:#78909a}.cd-menu-visible{font-size:11px;color:#55727d;white-space:nowrap}.cd-menu-custom{margin-top:18px}.cd-menu-custom-form{display:grid;grid-template-columns:1fr 1.6fr .8fr auto;gap:10px;margin:12px 0}.cd-menu-custom-form input,.cd-menu-custom-form select{width:100%;min-height:42px;border:1px solid #cfe1e8;border-radius:10px;padding:8px 10px;background:#fff;box-sizing:border-box}.cd-menu-actions{display:flex;gap:10px;margin-top:18px}.cd-cc-social-platform-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}.cd-cc-social-platform{background:#f8fcfe;border:1px solid #d7e8ef;border-radius:14px;padding:14px}.cd-cc-social-platform-title{font-size:14px;color:#063b4b;margin-bottom:10px}.cd-cc-social-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.cd-cc-social-metrics span{display:flex;flex-direction:column;gap:2px}.cd-cc-social-metrics small{font-size:9px;color:#718992}.cd-cc-social-metrics strong{font-size:16px;color:#073f55}.cd-cc-controls{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:10px 0 14px}.cd-cc-controls label{font-size:10px;font-weight:700;color:#365a67;display:flex;flex-direction:column;gap:4px}.cd-cc-controls input{min-height:36px;border:1px solid #cfe1e8;border-radius:9px;padding:6px 9px}.cd-cc-controls button{min-height:36px;border:0;border-radius:9px;padding:0 14px;background:#079bd7;color:#fff;font-weight:700;cursor:pointer}@media(max-width:900px){.cd-menu-grid{grid-template-columns:1fr}.cd-menu-custom-form{grid-template-columns:1fr 1fr}.cd-cc-social-platform-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.cd-menu-custom-form{grid-template-columns:1fr}.cd-menu-actions{flex-direction:column}.cd-cc-social-platform-grid{grid-template-columns:1fr}.cd-cc-social-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.cd-menu-row{padding:12px 10px}.cd-menu-visible{font-size:10px}}
/* v1.0 final: orientation control removed from Tablet/Mobile */
.cd-orientation-fab{display:none!important}
