/*
 * Declaration menu bridge
 * Source baseline: C:\ONE\One.Declaration\src\One.Declaration.Blazor\wwwroot\css\design.css
 * Scope: panel shell topbar/sidebar only (no business logic changes).
 */

.oc-panel-shell .panel-sidebar {
  padding-top: 0 !important;
}

.oc-panel-shell .panel-sidebar .oc-sidebar__brandbar {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-height: var(--oc-shell-topbar-height) !important;
  padding-inline: 0.55rem !important;
  border-bottom: 1px solid var(--sidebar-border) !important;
}

.oc-panel-shell .panel-sidebar :is(.oc-sidebar__modules, .oc-sidebar__nav-wrap) {
  padding-top: 0.7rem !important;
  padding-inline: 0.55rem !important;
}

.oc-panel-shell .panel-sidebar .oc-sidebar__section-title {
  margin: 0 0 0.35rem !important;
  padding: 0 0.35rem !important;
  font-size: 0.64rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: color-mix(in srgb, var(--text-gray-700) 72%, transparent) !important;
}

.oc-panel-shell .panel-sidebar .app-nav-item {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.7rem !important;
  width: 100% !important;
  padding: 0.3rem 0.75rem 0.3rem 0.85rem !important;
  border-radius: 0.75rem !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  color: var(--text-dark) !important;
  font-weight: 600 !important;
  font-size: 0.92rem !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease, box-shadow 150ms ease !important;
}

.oc-panel-shell .panel-sidebar .app-nav-item:hover,
.oc-panel-shell .panel-sidebar .app-nav-item:focus-visible {
  background-color: color-mix(in srgb, var(--primary) 10%, var(--card)) !important;
  border-color: color-mix(in srgb, var(--primary) 20%, var(--border)) !important;
  color: var(--text-dark) !important;
}

.oc-panel-shell .panel-sidebar .app-nav-item:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 14%, transparent) !important;
}

.oc-panel-shell .panel-sidebar .app-nav-item--active {
  background-color: color-mix(in srgb, var(--primary) 16%, var(--card)) !important;
  border-color: color-mix(in srgb, var(--primary) 34%, var(--border)) !important;
  color: var(--text-dark) !important;
  box-shadow: 0 14px 32px -24px color-mix(in srgb, var(--primary) 65%, transparent) !important;
}

.oc-panel-shell .panel-sidebar .app-nav-item__indicator {
  position: absolute !important;
  left: 0.35rem !important;
  width: 0.3rem !important;
  height: 1.3rem !important;
  border-radius: 999px !important;
  background-color: transparent !important;
  transition: background-color 150ms ease !important;
}

.oc-panel-shell .panel-sidebar .app-nav-item--active .app-nav-item__indicator {
  background-color: var(--primary) !important;
}

.oc-panel-shell .panel-sidebar .app-nav-item__icon {
  width: 2rem !important;
  height: 2rem !important;
  border-radius: 0.9rem !important;
  background: color-mix(in srgb, var(--primary) 12%, var(--card)) !important;
  color: var(--primary) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

.oc-panel-shell .panel-sidebar .app-nav-item__icon svg {
  width: 1rem !important;
  height: 1rem !important;
}

.oc-panel-shell .panel-sidebar .app-nav-item--active .app-nav-item__icon {
  background: var(--primary) !important;
  color: #fff !important;
}

.oc-panel-shell .panel-sidebar .app-nav-item__label {
  flex: 1 !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  text-align: left !important;
}

.oc-panel-shell .panel-topbar .panel-topbar-brand-slot,
.oc-panel-shell .panel-topbar .panel-topbar-brand-slot .oc-topbar__brand {
  display: inline-flex !important;
  align-items: center !important;
  min-width: 0 !important;
}

.oc-panel-shell .panel-topbar .panel-topbar-brand-slot {
  margin-inline-start: 0.22rem !important;
}

@media (min-width: 1024px) {
  .oc-panel-shell[data-sidebar-open="true"] .panel-topbar .panel-topbar-brand-slot {
    display: none !important;
  }
}

.oc-panel-shell .panel-topbar .panel-topbar-brand-slot .oc-topbar__brand {
  gap: 0.62rem !important;
  color: var(--text-dark) !important;
  text-decoration: none !important;
}

.oc-panel-shell .panel-topbar .panel-topbar-brand-slot .oc-topbar__brand-mark {
  width: 2rem !important;
  height: 2rem !important;
  border-radius: 0.68rem !important;
  background: linear-gradient(180deg, color-mix(in srgb, var(--primary) 90%, #69a7ff) 0%, var(--primary) 100%) !important;
  color: #fff !important;
  box-shadow: 0 12px 24px -16px color-mix(in srgb, var(--primary) 65%, transparent) !important;
}

.oc-panel-shell .panel-topbar .panel-topbar-brand-slot .oc-topbar__brand-text {
  min-width: 0 !important;
  display: inline-flex !important;
  flex-direction: column !important;
  gap: 0.05rem !important;
}

.oc-panel-shell .panel-topbar .panel-topbar-brand-slot .oc-topbar__brand-text strong {
  font-size: 1.05rem !important;
  line-height: 1.16 !important;
  font-weight: 700 !important;
  letter-spacing: -0.015em !important;
  color: var(--text-dark) !important;
}

.oc-panel-shell .panel-topbar .panel-topbar-brand-slot .oc-topbar__brand-text small {
  font-size: 0.72rem !important;
  line-height: 1.2 !important;
  color: var(--text-gray-600) !important;
}

@media (max-width: 1080px) {
  .oc-panel-shell .panel-topbar .panel-topbar-brand-slot .oc-topbar__brand-text small {
    display: none !important;
  }
}
