/* Company shell + dashboard polish. Loaded last so it wins the cascade.
   Mobile and customer modes keep their existing overlays. */
html:not([data-app-mode="mobile"]):not([data-app-mode="customer"]) {
  /* ---------- Sidebar ---------- */
  .sidebar .nav-label {
    font-size: var(--fs-caption);
    margin: 16px 12px 8px;
  }

  .sidebar .nav-item {
    min-height: 40px;
    padding: 8px 12px;
    font-size: var(--fs-nav);
    gap: 10px;
  }

  .sidebar .base-submenu .nav-item,
  .sidebar .attendance-submenu .nav-item,
  .sidebar .inventory-submenu .nav-item,
  .sidebar .maintenance-submenu .nav-item,
  .sidebar .finance-submenu .nav-item,
  .sidebar .report-submenu .nav-item {
    min-height: 38px;
    font-size: var(--fs-caption) !important;
    padding: 7px 10px !important;
  }

  .sidebar .nav-item em {
    font-size: var(--fs-caption) !important;
  }

  .sidebar nav > .base-nav-group > .base-toggle,
  .sidebar nav > .attendance-nav-group > .attendance-nav-toggle,
  .sidebar nav > .inventory-nav-group > .inventory-nav-toggle,
  .sidebar nav > .maintenance-nav-group > .maintenance-nav-toggle,
  .sidebar nav > .finance-nav-group > .finance-nav-toggle,
  .sidebar nav > .report-nav-group > .report-nav-toggle {
    min-height: 44px;
    font-size: var(--fs-nav);
  }

  .sidebar .brand strong {
    font-size: 16px;
  }

  .sidebar .brand span,
  .sidebar .user-row span,
  .sidebar .help-card span {
    font-size: var(--fs-caption) !important;
  }

  .sidebar .help-card b,
  .sidebar .user-row b {
    font-size: var(--fs-nav) !important;
  }

  .sidebar .help-card {
    padding: 12px 14px;
    gap: 10px;
  }

  /* ---------- Topbar ---------- */
  .topbar {
    height: 60px !important;
    min-height: 60px !important;
    gap: var(--space-2) !important;
  }

  .topbar .breadcrumbs {
    font-size: var(--fs-caption);
    gap: 8px;
  }

  .topbar-brand {
    gap: 8px !important;
  }

  .topbar-brand-copy strong {
    font-size: var(--fs-nav) !important;
  }

  .topbar-brand-copy small {
    font-size: var(--fs-caption) !important;
  }

  .topbar .icon-btn,
  .topbar .more-btn {
    width: var(--control-h) !important;
    height: var(--control-h) !important;
    min-width: var(--control-h);
    border-radius: 10px;
  }

  .topbar > .top-actions {
    gap: 8px !important;
  }

  #refreshApp.topbar-update {
    min-width: 128px !important;
    height: var(--control-h) !important;
    min-height: var(--control-h) !important;
    padding: 0 12px !important;
    font-size: var(--fs-caption) !important;
    border-radius: 10px !important;
  }

  .date-chip {
    min-width: 196px;
    padding: 6px 10px !important;
    font-size: var(--fs-caption) !important;
  }

  .date-chip b {
    font-size: var(--fs-caption) !important;
    color: var(--ink);
  }

  .date-chip small {
    max-width: 170px;
    font-size: var(--fs-caption) !important;
  }

  .date-chip-icon {
    width: 28px !important;
    height: 28px !important;
    flex-basis: 28px !important;
    font-size: 14px !important;
  }

  .novin-auth-userchip {
    gap: 8px;
    padding: 4px 8px 4px 4px;
    font-size: var(--fs-caption) !important;
  }

  .novin-auth-userchip b {
    font-size: var(--fs-caption) !important;
  }

  .novin-auth-userchip .filter-btn {
    min-height: 28px !important;
    height: 28px;
    padding: 0 10px !important;
    font-size: var(--fs-caption) !important;
    border-radius: 999px !important;
  }

  /* ---------- Dashboard ---------- */
  #dashboard.active-view {
    height: auto !important;
    min-height: calc(100vh - 60px) !important;
    max-height: none !important;
    overflow: visible !important;
    display: block !important;
    padding: 4px 4px 28px;
  }

  #dashboard.active-view > .page-heading {
    padding: 22px 8px 18px !important;
    min-height: 0 !important;
    align-items: flex-end;
  }

  #dashboard.active-view > .page-heading > div {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    flex-wrap: wrap;
    min-width: 0;
  }

  #dashboard.active-view > .page-heading .eyebrow {
    font-size: var(--fs-caption) !important;
    margin-bottom: 6px;
  }

  #dashboard.active-view > .page-heading h1 {
    font-size: var(--fs-title) !important;
    line-height: 1.45;
    white-space: normal !important;
  }

  #dashboard.active-view #dashboardGreeting {
    color: var(--ink) !important;
    font-weight: 800;
  }

  #dashboard.active-view > .page-heading p {
    font-size: var(--fs-caption) !important;
    white-space: normal !important;
    margin-top: 4px;
  }

  #dashboard.active-view > .metric-grid {
    gap: var(--space-3);
    max-height: none !important;
    overflow: visible !important;
  }

  #dashboard.active-view .metric-card,
  #dashboard.active-view .panel {
    padding: var(--space-4);
    border-radius: 16px;
  }

  #dashboard.active-view .metric-top {
    font-size: var(--fs-caption);
  }

  #dashboard.active-view .metric-icon {
    width: 32px;
    height: 32px;
    border-radius: 10px;
    font-size: 17px;
  }

  #dashboard.active-view .metric-card strong {
    font-size: var(--fs-metric);
    margin: 12px 0 8px;
  }

  #dashboard.active-view .metric-card small,
  #dashboard.active-view .trend,
  #dashboard.active-view .progress-caption {
    font-size: var(--fs-caption) !important;
  }

  #dashboard.active-view > .content-grid,
  #dashboard.active-view > .content-grid.lower {
    flex: none !important;
    display: grid;
    gap: var(--space-3);
    margin-top: var(--space-3) !important;
    overflow: visible !important;
  }

  #dashboard.active-view .panel-head h2 {
    font-size: 16px;
  }

  #dashboard.active-view .panel-head span {
    font-size: var(--fs-caption) !important;
  }

  #dashboard.active-view .period {
    font: 600 var(--fs-caption) Vazirmatn, Arial, sans-serif !important;
    padding: 6px 10px;
    min-height: 32px;
  }

  #dashboard.active-view .legend,
  #dashboard.active-view .y-labels,
  #dashboard.active-view .x-labels {
    font-size: var(--fs-caption) !important;
  }

  #dashboard.active-view .chart {
    height: 220px;
  }

  #dashboard.active-view .quick-grid {
    gap: 10px;
    margin-top: 16px;
  }

  #dashboard.active-view .quick-grid button {
    padding: 14px;
    border-radius: 12px;
  }

  #dashboard.active-view .quick-grid b {
    font-size: var(--fs-nav);
  }

  #dashboard.active-view .quick-grid small {
    font-size: var(--fs-caption) !important;
    margin-top: 3px;
  }

  #dashboard.active-view .tip {
    padding: 12px 14px;
    gap: 10px;
    align-items: center;
  }

  #dashboard.active-view .tip b,
  #dashboard.active-view .tip p,
  #dashboard.active-view .tip button {
    font-size: var(--fs-caption) !important;
  }

  #dashboard.active-view .text-btn {
    font: 600 var(--fs-caption) Vazirmatn, Arial, sans-serif !important;
  }

  #dashboard.active-view table th,
  #dashboard.active-view table td {
    font-size: var(--fs-caption) !important;
    padding: 12px 10px !important;
  }

  #dashboard.active-view .transaction b {
    font-size: var(--fs-caption) !important;
  }

  #dashboard.active-view .transaction small {
    font-size: var(--fs-caption) !important;
  }

  #dashboard.active-view .status {
    font-size: var(--fs-caption) !important;
    padding: 4px 10px;
  }

  #dashboard.active-view .due-item {
    gap: 12px;
    padding: 14px 0;
  }

  #dashboard.active-view .due-item b,
  #dashboard.active-view .due-item small,
  #dashboard.active-view .due-item > strong,
  #dashboard.active-view .due-item > strong small,
  #dashboard.active-view .due-date span {
    font-size: var(--fs-caption) !important;
  }

  #dashboard.active-view .due-date {
    width: 44px;
    height: 48px;
    padding-top: 6px;
  }

  #dashboard.active-view .due-date b {
    font-size: 16px;
  }

  #dashboard.active-view > .content-grid.lower > .panel {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  #dashboard.active-view > .content-grid.lower > .panel > .table-wrap {
    flex: none !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .primary-btn {
    min-height: var(--control-h);
    font-size: var(--fs-nav);
    padding: 8px 16px;
    border-radius: 10px;
  }

  .filter-btn {
    min-height: var(--control-h);
    font-size: var(--fs-caption) !important;
    padding: 0 14px !important;
    border-radius: 10px !important;
  }
}

@media (max-width: 1100px) {
  html:not([data-app-mode="mobile"]):not([data-app-mode="customer"]) {
    #refreshApp.topbar-update {
      width: var(--control-h) !important;
      min-width: var(--control-h) !important;
      padding: 0 !important;
      font-size: 0 !important;
    }

    #refreshApp.topbar-update::before {
      content: "↻";
      font-size: 16px;
      line-height: 1;
    }
  }
}

@media (max-width: 900px) {
  html:not([data-app-mode="mobile"]):not([data-app-mode="customer"]) {
    .topbar > .top-actions .offline-status {
      display: none !important;
    }

    .date-chip {
      min-width: 150px !important;
    }
  }
}

@media (max-width: 700px) {
  html:not([data-app-mode="mobile"]):not([data-app-mode="customer"]) {
    .topbar {
      height: 56px !important;
      min-height: 56px !important;
    }

    #dashboard.active-view {
      min-height: calc(100dvh - 56px) !important;
      padding: 0 0 20px;
    }

    #dashboard.active-view > .page-heading {
      flex-direction: column;
      align-items: flex-start;
      padding: 16px 0 12px !important;
    }

    #dashboard.active-view > .page-heading h1 {
      font-size: 22px !important;
    }

    #dashboard.active-view > .metric-grid,
    #dashboard.active-view > .content-grid,
    #dashboard.active-view > .content-grid.lower {
      grid-template-columns: 1fr !important;
    }
  }
}
