/* M26-D1 — unified shell, mobile readiness and icon-first action polish. */
:root {
  --nx-m26-accent: #08a4c8;
  --nx-m26-accent-2: #12b886;
  --nx-m26-danger: #ef4444;
  --nx-m26-shell-card: rgba(255,255,255,0.92);
  --nx-m26-line: rgba(15, 23, 42, 0.09);
  --nx-m26-focus: 0 0 0 .22rem rgba(8,164,200,.22);
}

html {
  scroll-behavior: smooth;
}

body.nx-m26-shell {
  --ac-radius-xl: 22px;
  --ac-radius-lg: 16px;
  --ac-radius-md: 12px;
}

body.nx-m26-shell .app-main {
  background:
    radial-gradient(circle at top right, rgba(23,184,214,.12), transparent 30rem),
    linear-gradient(180deg, rgba(255,255,255,.48), rgba(238,243,247,.86) 18rem),
    var(--ac-bg);
}

body.nx-m26-shell .page-header,
body.nx-m26-shell .card,
body.nx-m26-shell .finance-card,
body.nx-m26-shell .settings-card,
body.nx-m26-shell .nx-panel {
  border-color: var(--nx-m26-line) !important;
  box-shadow: 0 12px 26px rgba(15, 23, 42, .055) !important;
}

body.nx-m26-shell .sidebar-section__label {
  letter-spacing: .11em;
  opacity: .82;
}

body.nx-m26-shell .nav-submenu__link,
body.nx-m26-shell .sidebar-link,
body.nx-m26-shell .sidebar-home {
  transition: transform .14s ease, background-color .14s ease, border-color .14s ease;
}

body.nx-m26-shell .nav-submenu__link:hover,
body.nx-m26-shell .sidebar-link:hover,
body.nx-m26-shell .sidebar-home:hover {
  transform: translateX(2px);
}

body.nx-m26-shell .btn:focus-visible,
body.nx-m26-shell .form-control:focus,
body.nx-m26-shell .form-select:focus,
body.nx-m26-shell .nx-action-icon:focus-visible {
  box-shadow: var(--nx-m26-focus) !important;
}

.nx-icon-toolbar,
.page-header__actions,
.voucher-actions,
.card-actions,
.table-actions,
.nx-actions {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: .38rem;
}

.nx-icon-toolbar .btn,
.page-header__actions .btn,
.voucher-actions .btn,
.card-actions .btn,
.table-actions .btn,
.nx-actions .btn,
a.nx-action-icon,
button.nx-action-icon {
  min-width: 2.35rem;
  min-height: 2.35rem;
  border-radius: .82rem !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
}

.nx-action-label {
  white-space: nowrap;
}

.nx-action-text-visually-hidden .nx-action-label,
.nx-action-text-visually-hidden .btn span:not(.badge):not(.visually-hidden) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.nx-m26-section-heading {
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .12em;
  color: var(--ac-muted);
  text-transform: uppercase;
}

.nx-m26-mobile-dock,
.mobile-dock,
[data-mobile-dock] {
  display: none !important;
}

@media (max-width: 991.98px) {
  body.nx-m26-shell {
    overflow: auto;
  }

  body.nx-m26-shell .app-topbar {
    min-height: 58px;
    height: 58px;
  }

  body.nx-m26-shell .app-topbar .container-fluid {
    min-height: 58px;
  }

  body.nx-m26-shell .brand-link__company {
    max-width: 44vw;
  }

  body.nx-m26-shell .app-main {
    padding-bottom: 1.15rem !important;
  }

  body.nx-m26-shell .page-header {
    border-radius: 18px !important;
    margin-bottom: .8rem !important;
  }

  body.nx-m26-shell .page-header__actions,
  body.nx-m26-shell .voucher-actions,
  body.nx-m26-shell .card-actions,
  body.nx-m26-shell .table-actions,
  body.nx-m26-shell .nx-actions {
    justify-content: flex-start;
    width: 100%;
  }

  body.nx-m26-shell .page-header__actions .btn,
  body.nx-m26-shell .voucher-actions .btn,
  body.nx-m26-shell .table-actions .btn {
    font-size: 0;
  }

  body.nx-m26-shell .page-header__actions .btn i,
  body.nx-m26-shell .voucher-actions .btn i,
  body.nx-m26-shell .table-actions .btn i {
    font-size: 1rem;
    margin: 0 !important;
  }

  body.nx-m26-shell .table-responsive,
  body.nx-m26-shell .nx-table-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  body.nx-m26-shell table {
    min-width: 720px;
  }

  .nx-m26-mobile-dock,
  .mobile-dock,
  [data-mobile-dock] {
    display: none !important;
  }
}

@media (min-width: 992px) {
  body.nx-m26-shell .app-sidebar {
    scrollbar-width: thin;
  }

  body.nx-m26-shell .app-sidebar::-webkit-scrollbar {
    width: 8px;
  }

  body.nx-m26-shell .app-sidebar::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,.18);
    border-radius: 999px;
  }
}
