/* SMAIS CAST desktop shell/layout isolation (v84)
 * Desktop rules require .nc-desktop-device so touch tablets are never selected
 * merely because their viewport is wide. Shared tablet/desktop component rules
 * remain in responsive.css.
 */
body.nc-desktop-device:not(.nc-gated) {
  --nc-header-height: 48px;
  --nc-nav-height: 50px;
  --nc-gutter: clamp(20px, 2.5vw, 36px);
}

body.nc-desktop-device:not(.nc-gated) .nc-icon-button {
  flex-basis: 38px;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px;
  min-height: 38px;
  padding: 8px !important;
}
body.nc-desktop-device:not(.nc-gated) .nc-icon-button .nc-icon { width: 21px; height: 21px; }

@media (min-width: 1200px) {
  body.nc-desktop-device:not(.nc-gated) .nc-shell {
    grid-template-columns: 104px minmax(0, 1fr);
    grid-template-rows: calc(var(--nc-header-height) + var(--nc-safe-top)) minmax(0, 1fr);
  }
  body.nc-desktop-device:not(.nc-gated) .nc-appbar { grid-column: 1 / -1; }
  body.nc-desktop-device:not(.nc-gated) .nc-viewport { grid-column: 2; grid-row: 2; }
  body.nc-desktop-device:not(.nc-gated) .nc-tabbar {
    grid-column: 1;
    grid-row: 2;
    flex-direction: column;
    justify-content: flex-start;
    gap: 10px;
    padding: 20px 10px 16px;
    border-top: 0;
    border-right: 1px solid var(--nc-line);
  }
  body.nc-desktop-device:not(.nc-gated) .nc-tab {
    flex: 0 0 auto;
    min-height: 72px;
    gap: 8px;
  }
  body.nc-desktop-device:not(.nc-gated) .nc-toast { bottom: 24px; }
  body.nc-desktop-device:not(.nc-gated).nc-keyboard .nc-shell { grid-template-columns: minmax(0, 1fr); }
  body.nc-desktop-device:not(.nc-gated).nc-keyboard .nc-viewport { grid-column: 1; }
}

@media (min-width: 1900px) {
  body.nc-desktop-device:not(.nc-gated) .native-screen main,
  body.nc-desktop-device:not(.nc-gated) .native-screen .cast-page-shell,
  body.nc-desktop-device:not(.nc-gated) .native-screen .sm-admin-shell,
  body.nc-desktop-device:not(.nc-gated) .native-screen .we-shell,
  body.nc-desktop-device:not(.nc-gated) .native-screen .point-exchange-shell {
    max-width: 1600px !important;
  }
  body.nc-desktop-device:not(.nc-gated) .native-screen .nc-home { max-width: 1480px !important; }
}

@media (hover: hover) and (pointer: fine) and (min-width: 600px) {
  body.nc-desktop-device .nc-tab:hover,
  body.nc-desktop-device .nc-quick:hover,
  body.nc-desktop-device .nc-hub .nc-list-row:hover { background-color: var(--nc-gold-soft); }
}
