/* Cherkun Ops v2 application shell and page layout. */

body.executive-ui:not(.ui-lab-shell),
body.executive-ui:not(.ui-lab-shell) * {
  box-sizing: border-box;
}

body.executive-ui:not(.ui-lab-shell) {
  font-size: 15px;
  line-height: 1.5;
}

body.executive-ui:not(.ui-lab-shell) :where(
  section, article,
  .panel, .form-drawer, .ops-metric, .review-metric, .dashboard-card,
  .request-followup-card, .calendar-card, .notice, .flash, .status,
  .button, button, input, select, textarea, details, summary,
  .table-scroll, .command-palette-dialog, .admin-session
) {
  border-radius: var(--ops-radius) !important;
}

body.executive-ui:not(.ui-lab-shell) :where(.panel, .form-drawer, .dashboard-card) {
  border: 1px solid var(--ops-line) !important;
  background: var(--ops-surface) !important;
  box-shadow: none !important;
}

body.executive-ui:not(.ui-lab-shell) .app-shell > .page {
  width: min(100%, 1680px);
  min-width: 0;
  padding: clamp(16px, 2vw, 32px);
}

body.executive-ui:not(.ui-lab-shell) .page > * {
  min-width: 0;
}

body.executive-ui:not(.ui-lab-shell) .side-nav .nav-section {
  display: block;
  margin: 0;
  border-top: 1px solid var(--ops-line);
}

body.executive-ui:not(.ui-lab-shell) .side-nav .nav-section:first-child {
  border-top: 0;
}

body.executive-ui:not(.ui-lab-shell) .side-nav summary.nav-group {
  display: flex;
  min-height: var(--ops-control);
  align-items: center;
  justify-content: space-between;
  gap: var(--ops-space-2);
  margin: 0 !important;
  padding: 10px 12px;
  list-style: none;
  color: var(--ops-muted);
  cursor: pointer;
  font-family: var(--ops-display);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .09em;
  line-height: 1.2;
  text-transform: uppercase;
  user-select: none;
}

body.executive-ui:not(.ui-lab-shell) .side-nav summary.nav-group::-webkit-details-marker {
  display: none;
}

body.executive-ui:not(.ui-lab-shell) .side-nav summary.nav-group::marker {
  content: "";
}

body.executive-ui:not(.ui-lab-shell) .side-nav summary.nav-group:hover,
body.executive-ui:not(.ui-lab-shell) .side-nav summary.nav-group:focus-visible {
  background: var(--ops-surface-2);
  color: var(--ops-ink);
}

body.executive-ui:not(.ui-lab-shell) .side-nav summary.nav-group:focus-visible {
  outline: 2px solid var(--ops-accent);
  outline-offset: -2px;
}

body.executive-ui:not(.ui-lab-shell) .side-nav .nav-section[open] > summary.nav-group {
  color: var(--ops-ink);
}

body.executive-ui:not(.ui-lab-shell) .nav-group-chevron {
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translate(-1px, -1px);
  transition: transform 140ms ease;
}

body.executive-ui:not(.ui-lab-shell) .nav-section[open] > summary .nav-group-chevron {
  transform: rotate(225deg) translate(-1px, -1px);
}

body.executive-ui:not(.ui-lab-shell) .nav-section > a:last-child {
  margin-bottom: var(--ops-space-2);
}

body.executive-ui:not(.ui-lab-shell) .side-nav .nav-icon {
  display: grid;
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  place-items: center;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ops-muted);
  font-size: 0;
}

body.executive-ui:not(.ui-lab-shell) .side-nav a {
  font-size: 13px !important;
  line-height: 1.35;
}

body.executive-ui:not(.ui-lab-shell) .sidebar .brand strong {
  font-size: 15px;
}

body.executive-ui:not(.ui-lab-shell) .sidebar .brand small,
body.executive-ui:not(.ui-lab-shell) .admin-session small {
  font-size: 10px;
}

body.executive-ui:not(.ui-lab-shell) .admin-session span {
  font-size: 13px;
}

body.executive-ui:not(.ui-lab-shell) .admin-security-link {
  font-size: 11px;
}

body.executive-ui:not(.ui-lab-shell) .sidebar-command-tools button {
  font-size: 12px;
}

body.executive-ui:not(.ui-lab-shell) .sidebar-command-tools kbd {
  font-size: 9px;
}

body.executive-ui:not(.ui-lab-shell) .side-nav .nav-icon::before {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  content: "";
}

body.executive-ui:not(.ui-lab-shell) .side-nav a:hover .nav-icon,
body.executive-ui:not(.ui-lab-shell) .side-nav a:focus-visible .nav-icon {
  color: var(--ops-ink);
}

body.executive-ui:not(.ui-lab-shell) .side-nav a.active .nav-icon {
  background: transparent !important;
  color: var(--ops-accent);
}

body.executive-ui:not(.ui-lab-shell) .side-nav a.active .nav-icon::before {
  width: 7px;
  height: 7px;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ops-accent) 16%, transparent);
}

@media (prefers-reduced-motion: reduce) {
  body.executive-ui:not(.ui-lab-shell) .nav-group-chevron {
    transition: none;
  }
}

body.executive-ui:not(.ui-lab-shell) .page-head,
body.executive-ui:not(.ui-lab-shell) .command-page-head {
  align-items: end;
  min-height: 112px;
  margin: 0 0 var(--ops-space-6);
  border: 1px solid var(--ops-line);
  border-top: 4px solid var(--ops-accent);
  background: var(--ops-surface);
  padding: clamp(18px, 2.2vw, 30px);
}

body.executive-ui:not(.ui-lab-shell) .page-head h1 {
  margin: 3px 0 0;
  color: var(--ops-ink);
  font-family: var(--ops-display);
  font-size: clamp(27px, 3vw, 44px);
  font-weight: 700;
  letter-spacing: -.026em;
  line-height: 1.06;
}

body.executive-ui:not(.ui-lab-shell) .page-head p {
  max-width: 820px;
  margin: 9px 0 0;
  color: var(--ops-muted);
  font-size: 15px;
  line-height: 1.6;
}

body.executive-ui:not(.ui-lab-shell) .eyebrow,
body.executive-ui:not(.ui-lab-shell) .dashboard-kicker {
  color: var(--ops-accent) !important;
  font-family: var(--ops-mono);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

body.executive-ui:not(.ui-lab-shell) .panel {
  padding: clamp(16px, 1.7vw, 24px);
}

body.executive-ui:not(.ui-lab-shell) .panel-head {
  min-height: 48px;
  margin: calc(clamp(16px, 1.7vw, 24px) * -1) calc(clamp(16px, 1.7vw, 24px) * -1) 18px;
  border-bottom: 1px solid var(--ops-line) !important;
  padding: 12px clamp(16px, 1.7vw, 24px);
}

body.executive-ui:not(.ui-lab-shell) :where(.panel-head h2, .panel h2, .form-drawer h2) {
  margin: 0;
  color: var(--ops-ink);
  font-family: var(--ops-display);
  font-size: 18px;
  font-weight: 680;
  letter-spacing: -.01em;
}

