/*
 * DEVNOOD macOS Unified UI v3
 * Final cascade for dashboard + every modal/public page.
 * Goal: one predictable responsive system with no horizontal page push.
 */

:root {
  --mac3-desktop: #0b0b0d;
  --mac3-window: #1c1c1e;
  --mac3-window-2: #232326;
  --mac3-sidebar: #202023;
  --mac3-toolbar: #262629;
  --mac3-card: rgba(255,255,255,.055);
  --mac3-card-hover: rgba(255,255,255,.078);
  --mac3-control: rgba(255,255,255,.065);
  --mac3-border: rgba(255,255,255,.105);
  --mac3-border-strong: rgba(255,255,255,.145);
  --mac3-text: #f5f5f7;
  --mac3-subtext: #a1a1a6;
  --mac3-muted: #727277;
  --mac3-blue: #0a84ff;
  --mac3-green: #30d158;
  --mac3-yellow: #ffd60a;
  --mac3-red: #ff453a;
  --mac3-radius-window: 16px;
  --mac3-radius-card: 12px;
  --mac3-radius-control: 9px;
  --mac3-shadow-window: 0 28px 80px rgba(0,0,0,.48), 0 2px 10px rgba(0,0,0,.28);
  --mac3-ease: cubic-bezier(.22,.8,.24,1);
}

html,
body.macos-ui {
  width: 100%;
  max-width: 100%;
  overflow-x: clip !important;
}

body.macos-ui {
  background: linear-gradient(145deg,#0b0b0e 0%,#111114 55%,#09090c 100%) !important;
  color: var(--mac3-subtext) !important;
}

body.macos-ui *,
body.macos-ui *::before,
body.macos-ui *::after {
  box-sizing: border-box;
}

body.macos-ui button,
body.macos-ui a,
body.macos-ui input,
body.macos-ui select,
body.macos-ui textarea {
  -webkit-tap-highlight-color: transparent;
}

/* Restore intentional flex layouts that were previously forced to 100% width
   by the old <=375px catch-all responsive rule. */
@media (max-width: 375px) {
  body.macos-ui .flex.gap-2,
  body.macos-ui .flex.gap-3,
  body.macos-ui .flex.gap-4 {
    flex-wrap: initial;
  }
  body.macos-ui .flex.gap-2 > *,
  body.macos-ui .flex.gap-3 > *,
  body.macos-ui .flex.gap-4 > * {
    flex: initial;
    min-width: 0;
  }
}

/* ---------------------------------------------------------
   Native macOS chrome / traffic lights
   --------------------------------------------------------- */
body.macos-ui .macos-window-chrome,
body.macos-ui .macos-top-window,
body.macos-ui .macos-login-window,
body.macos-ui .macos-window {
  isolation: isolate;
}

body.macos-ui #sidebar.macos-window-chrome::before,
body.macos-ui .macos-window-chrome.has-macos-titlebar::before,
body.macos-ui .macos-window-chrome.macos-force-chrome::before {
  content: "";
  position: absolute;
  top: 19px !important;
  left: 18px !important;
  width: 12px !important;
  height: 12px !important;
  border-radius: 999px !important;
  background: #ff5f57 !important;
  box-shadow: 20px 0 0 #febc2e, 40px 0 0 #28c840 !important;
  z-index: 60 !important;
  pointer-events: none !important;
}

body.macos-ui .macos-titlebar {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 10px 14px 10px 84px !important;
  flex: 0 0 auto !important;
  border-bottom: 1px solid var(--mac3-border) !important;
  background: rgba(255,255,255,.025) !important;
  background-image: none !important;
  border-radius: 0 !important;
}

body.macos-ui .macos-titlebar h1,
body.macos-ui .macos-titlebar h2,
body.macos-ui .macos-titlebar h3,
body.macos-ui .macos-titlebar h4 {
  margin: 0 !important;
  min-width: 0;
  color: var(--mac3-text) !important;
  font-size: clamp(.95rem, 2.4vw, 1.08rem) !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  letter-spacing: -.015em !important;
}

body.macos-ui .macos-close,
body.macos-ui .macos-titlebar button[onclick*="closeModal"],
body.macos-ui .macos-titlebar [data-modal-close],
body.macos-ui .macos-titlebar .app-settings-close {
  flex: 0 0 34px !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #8e8e93 !important;
  background: rgba(255,255,255,.045) !important;
  border: 1px solid rgba(255,255,255,.06) !important;
  border-radius: 8px !important;
}

body.macos-ui .macos-titlebar button[onclick*="closeModal"]:hover,
body.macos-ui .macos-titlebar .app-settings-close:hover {
  color: #fff !important;
  background: rgba(255,255,255,.09) !important;
}

/* Simple legacy modals put p-6 on the whole window. Convert that padding into
   a proper titlebar + padded content area without changing their HTML logic. */
body.macos-ui [data-modal-content].macos-inline-pad {
  padding: 0 !important;
}
body.macos-ui [data-modal-content].macos-inline-pad > :not(.macos-titlebar):not(.app-toast-wrap):not(.w-12.h-1) {
  margin-left: 18px !important;
  margin-right: 18px !important;
}
body.macos-ui [data-modal-content].macos-inline-pad > :last-child:not(.macos-titlebar) {
  margin-bottom: 18px !important;
}
body.macos-ui [data-modal-content].macos-inline-pad > .macos-titlebar + * {
  margin-top: 16px !important;
}

/* ---------------------------------------------------------
   Dashboard shell
   --------------------------------------------------------- */
body.macos-ui .dashboard-layout {
  width: min(calc(100vw - 24px), 1680px) !important;
  max-width: min(calc(100vw - 24px), 1680px) !important;
  height: calc(100dvh - 24px) !important;
  min-height: 640px;
  margin: 12px auto !important;
  display: flex !important;
  overflow: hidden !important;
  border: 1px solid var(--mac3-border-strong) !important;
  border-radius: var(--mac3-radius-window) !important;
  background: var(--mac3-window) !important;
  box-shadow: var(--mac3-shadow-window) !important;
}

body.macos-ui .dashboard-main {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: 0 !important;
  max-width: none !important;
  background: #171719 !important;
}

body.macos-ui #sidebar {
  flex: 0 0 288px !important;
  width: 288px !important;
  min-width: 288px !important;
  max-width: 288px !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  color: var(--mac3-subtext) !important;
  background: var(--mac3-sidebar) !important;
  border-right: 1px solid var(--mac3-border) !important;
  box-shadow: none !important;
}

body.macos-ui #sidebar > div:first-child {
  flex: 0 0 60px !important;
  width: 100% !important;
  min-height: 60px !important;
  height: 60px !important;
  padding: 8px 14px 8px 84px !important;
  gap: 10px !important;
  background: var(--mac3-toolbar) !important;
  border-bottom: 1px solid var(--mac3-border) !important;
}

body.macos-ui #sidebar > div:first-child > div:first-child {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  border-radius: 8px !important;
  background: rgba(255,255,255,.07) !important;
  border: 1px solid rgba(255,255,255,.055) !important;
}

body.macos-ui #sidebar > .p-4.space-y-4 {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 12px !important;
  scrollbar-gutter: stable;
}

body.macos-ui #sidebar > div:last-child {
  flex: 0 0 auto !important;
  padding: 12px !important;
  background: #1d1d20 !important;
  border-top: 1px solid var(--mac3-border) !important;
}

/* Segmented navigation */
body.macos-ui #sidebar > .p-4.space-y-4 > .flex.gap-1.p-1 {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: 1fr !important;
  gap: 3px !important;
  padding: 3px !important;
  background: rgba(0,0,0,.24) !important;
  border: 1px solid rgba(255,255,255,.045) !important;
  border-radius: 10px !important;
}

body.macos-ui #sidebar .tab-btn {
  width: 100% !important;
  min-height: 36px !important;
  padding: 7px 8px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  color: #8e8e93 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 7px !important;
  white-space: nowrap !important;
}

body.macos-ui #sidebar .tab-btn.active {
  color: #fff !important;
  background: rgba(10,132,255,.58) !important;
  box-shadow: 0 1px 1px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.08) !important;
}

/* Sidebar cards and every quick action use one geometry/material. Semantic
   icon/text colors remain, but the button surfaces no longer look unrelated. */
body.macos-ui #sidebar .bg-dark-900\/50,
body.macos-ui #sidebar .macos-compensation,
body.macos-ui #sidebar .macos-sidebar-card {
  background: var(--mac3-card) !important;
  border: 1px solid var(--mac3-border) !important;
  border-radius: 12px !important;
}

body.macos-ui #sidebar .macos-quick-actions > button,
body.macos-ui #sidebar .macos-quick-actions > a,
body.macos-ui #sidebar .macos-tool-grid > button,
body.macos-ui #sidebar .macos-tool-grid > a {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 38px !important;
  padding: 8px 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 9px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  color: #c7c7cc !important;
  background: var(--mac3-control) !important;
  background-image: none !important;
  border: 1px solid rgba(255,255,255,.065) !important;
  border-radius: 9px !important;
  box-shadow: none !important;
}

body.macos-ui #sidebar .macos-quick-actions > button:hover,
body.macos-ui #sidebar .macos-quick-actions > a:hover,
body.macos-ui #sidebar .macos-tool-grid > button:hover,
body.macos-ui #sidebar .macos-tool-grid > a:hover {
  color: #fff !important;
  background: var(--mac3-card-hover) !important;
  border-color: rgba(255,255,255,.1) !important;
}

body.macos-ui #sidebar .macos-quick-actions > button i,
body.macos-ui #sidebar .macos-quick-actions > a i,
body.macos-ui #sidebar .macos-tool-grid > button i,
body.macos-ui #sidebar .macos-tool-grid > a i {
  flex: 0 0 18px !important;
  width: 18px !important;
  text-align: center !important;
}

body.macos-ui #sidebar .macos-tool-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 6px !important;
  margin-top: 14px !important;
}

body.macos-ui #sidebar .macos-tool-grid > .macos-section-label {
  grid-column: 1 / -1 !important;
}

body.macos-ui #sidebar .macos-section-label,
body.macos-ui #sidebar .text-xs.font-bold.text-gray-500.uppercase,
body.macos-ui #sidebar .text-\[10px\].uppercase {
  color: #6e6e73 !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
}

/* Compensation controls */
body.macos-ui #sidebar #bulkForm {
  padding: 10px !important;
  background: var(--mac3-card) !important;
  border: 1px solid var(--mac3-border) !important;
  border-radius: 12px !important;
}
body.macos-ui #sidebar #bulkForm input,
body.macos-ui #sidebar #bulkForm select {
  min-height: 38px !important;
  padding: 8px 10px !important;
  font-size: 12px !important;
  background: rgba(0,0,0,.24) !important;
  border-radius: 8px !important;
}
body.macos-ui #sidebar #bulkForm button {
  min-height: 38px !important;
  padding: 8px 10px !important;
  border-radius: 8px !important;
  background-image: none !important;
}

/* Header + stats: title never gets squeezed by cards. */
body.macos-ui .dashboard-header {
  flex: 0 0 auto !important;
  min-width: 0 !important;
  min-height: 78px !important;
  padding: 12px 16px !important;
  display: grid !important;
  grid-template-columns: minmax(180px, 1fr) auto !important;
  align-items: center !important;
  gap: 14px !important;
  background: var(--mac3-toolbar) !important;
  border-bottom: 1px solid var(--mac3-border) !important;
}

body.macos-ui .dashboard-header .header-title {
  min-width: 0 !important;
  margin: 0 !important;
}
body.macos-ui .dashboard-header .header-title h2 {
  font-size: 1.15rem !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}
body.macos-ui .dashboard-header .header-title p {
  margin: 4px 0 0 !important;
}

body.macos-ui .stats-container {
  width: auto !important;
  max-width: min(58vw, 620px) !important;
  min-width: 0 !important;
  display: flex !important;
  gap: 7px !important;
  padding: 0 0 2px !important;
  margin: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: none !important;
  overscroll-behavior-x: contain !important;
}
body.macos-ui .stats-container::-webkit-scrollbar { display: none !important; }
body.macos-ui .stats-container .stat-card {
  flex: 0 0 88px !important;
  min-width: 88px !important;
  min-height: 54px !important;
  padding: 8px 10px !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.052) !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  box-shadow: none !important;
}

body.macos-ui .dashboard-content {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 16px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  background: #151517 !important;
}
body.macos-ui .dashboard-content > [data-tab-content],
body.macos-ui #keysContainer,
body.macos-ui #filesContainer,
body.macos-ui #logsContainer,
body.macos-ui #keysPagination {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

/* Key / file cards */
body.macos-ui #keysContainer .glass,
body.macos-ui #filesContainer .glass,
body.macos-ui #logsContainer .glass {
  background: var(--mac3-card) !important;
  border: 1px solid var(--mac3-border) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}
body.macos-ui #keysContainer .md\:hidden > .glass {
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  padding: 14px !important;
}
body.macos-ui #keysContainer .md\:hidden > .glass .font-mono {
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}
body.macos-ui #keysContainer .md\:hidden > .glass .flex.gap-2 {
  min-width: 0 !important;
}
body.macos-ui #keysContainer .md\:hidden > .glass button {
  min-width: 0 !important;
  min-height: 38px !important;
  padding: 8px 6px !important;
  white-space: nowrap !important;
}

body.macos-ui #filesContainer {
  grid-template-columns: repeat(auto-fit,minmax(min(100%,260px),1fr)) !important;
}
body.macos-ui #filesContainer > * { min-width: 0 !important; }

body.macos-ui #keysPagination,
body.macos-ui .responsive-pagination {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

/* ---------------------------------------------------------
   Unified modal system
   --------------------------------------------------------- */
html.modal-open,
body.macos-ui.modal-open {
  overflow: hidden !important;
  overscroll-behavior: none !important;
}

body.macos-ui [data-modal] {
  position: fixed !important;
  inset: 0 !important;
  z-index: 100 !important;
  width: 100vw !important;
  height: 100dvh !important;
  padding: max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left)) !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  background: rgba(0,0,0,.66) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  opacity: 1;
  transition: opacity 170ms ease-out !important;
}
body.macos-ui [data-modal].opacity-0 {
  opacity: 0 !important;
  pointer-events: none !important;
}

body.macos-ui [data-modal-content] {
  position: relative !important;
  width: min(100%, 920px) !important;
  max-width: min(100%, 920px) !important;
  max-height: calc(100dvh - 20px) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: auto !important;
  overflow: hidden !important;
  color: var(--mac3-subtext) !important;
  background: var(--mac3-window-2) !important;
  background-image: none !important;
  border: 1px solid var(--mac3-border-strong) !important;
  border-radius: var(--mac3-radius-window) !important;
  box-shadow: var(--mac3-shadow-window) !important;
  transform: translate3d(0,0,0) scale(1) !important;
  opacity: 1 !important;
  transition: transform 180ms var(--mac3-ease), opacity 150ms ease-out !important;
  will-change: transform,opacity;
}
body.macos-ui [data-modal].opacity-0 [data-modal-content],
body.macos-ui [data-modal-content].scale-95 {
  transform: translate3d(0,10px,0) scale(.987) !important;
  opacity: .96 !important;
}

/* Specific intended widths */
body.macos-ui #settingsModal [data-modal-content],
body.macos-ui #freekeyModal [data-modal-content],
body.macos-ui #auctionModal [data-modal-content],
body.macos-ui #usersModal [data-modal-content] { width: min(calc(100vw - 20px), 1120px) !important; max-width: 1120px !important; }
body.macos-ui #appSettingsModal [data-modal-content] { width: min(calc(100vw - 20px), 760px) !important; max-width: 760px !important; }
body.macos-ui #promoModal [data-modal-content],
body.macos-ui #downloadModal [data-modal-content],
body.macos-ui #onlineModal [data-modal-content],
body.macos-ui #cacheModal [data-modal-content] { width: min(calc(100vw - 20px), 860px) !important; max-width: 860px !important; }

/* Any window with an explicit scroll body uses remaining height. */
body.macos-ui [data-modal-content] > .overflow-y-auto,
body.macos-ui [data-modal-content] > .modal-body,
body.macos-ui [data-modal-content] > form.overflow-y-auto,
body.macos-ui #settingsModal #settingsForm,
body.macos-ui #usersModal #usersContainer {
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch;
}

/* If a legacy window has no dedicated body wrapper, let the window itself be
   the scroll container rather than cutting its bottom content. */
body.macos-ui [data-modal-content].macos-scroll-fallback {
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

body.macos-ui [data-modal-content] .rounded-3xl,
body.macos-ui [data-modal-content] .rounded-2xl,
body.macos-ui [data-modal-content] .rounded-xl {
  border-radius: var(--mac3-radius-card) !important;
}

body.macos-ui [data-modal-content] [class*="bg-gradient-to-"] {
  background-image: none !important;
}
body.macos-ui [data-modal-content] section,
body.macos-ui [data-modal-content] .app-settings-section,
body.macos-ui [data-modal-content] .auction-card {
  box-shadow: none !important;
}

/* Form layout */
body.macos-ui [data-modal-content] input:not([type=checkbox]):not([type=radio]):not([type=range]),
body.macos-ui [data-modal-content] select,
body.macos-ui [data-modal-content] textarea {
  width: 100%;
  min-width: 0;
  border-radius: 9px !important;
  background: rgba(0,0,0,.28) !important;
  border-color: rgba(255,255,255,.1) !important;
}

/* App settings: keep the save area readable without covering form content. */
body.macos-ui #appSettingsModal .app-settings-panel {
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  background: var(--mac3-window-2) !important;
  border-radius: var(--mac3-radius-window) !important;
}
body.macos-ui #appSettingsModal .app-settings-head {
  min-height: 58px !important;
  padding: 10px 14px 10px 84px !important;
  background: rgba(255,255,255,.025) !important;
  border-bottom: 1px solid var(--mac3-border) !important;
}
body.macos-ui #appSettingsModal .app-settings-tabs {
  margin: 10px 14px 0 !important;
  padding: 3px !important;
  border-radius: 10px !important;
  background: rgba(0,0,0,.25) !important;
}
body.macos-ui #appSettingsModal .app-settings-tab-btn {
  flex: 1 1 0 !important;
  min-width: 88px !important;
  min-height: 36px !important;
  padding: 7px 9px !important;
  border-radius: 7px !important;
}
body.macos-ui #appSettingsModal .app-settings-tab-btn.active {
  color: #fff !important;
  background: rgba(10,132,255,.55) !important;
}
body.macos-ui #appSettingsModal .app-settings-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  padding: 12px 14px 14px !important;
}
body.macos-ui #appSettingsModal .app-settings-actions {
  position: static !important;
  margin: 16px 0 0 !important;
  padding: 12px 0 calc(4px + env(safe-area-inset-bottom)) !important;
  background: transparent !important;
  border-top: 1px solid var(--mac3-border) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transform: none !important;
}
body.macos-ui #appSettingsModal .app-action-btn.primary {
  background: var(--mac3-blue) !important;
  border-color: rgba(255,255,255,.12) !important;
  box-shadow: none !important;
}

/* Settings modal */
body.macos-ui #settingsModal [data-modal-content] {
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}
body.macos-ui #settingsModal .settings-tabs {
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  gap: 3px !important;
  padding: 3px !important;
  margin: 10px 14px 0 !important;
  background: rgba(0,0,0,.24) !important;
  border: 1px solid rgba(255,255,255,.05) !important;
  border-radius: 10px !important;
}
body.macos-ui #settingsModal .settings-tab-btn {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 38px !important;
  padding: 6px 5px !important;
  white-space: normal !important;
  line-height: 1.15 !important;
}
body.macos-ui #settingsModal #settingsForm {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  padding: 14px !important;
  overflow-y: auto !important;
}

/* Free key */
body.macos-ui #freekeyModal [data-modal-content] {
  display: flex !important;
  flex-direction: column !important;
}
body.macos-ui #freekeyModal [data-modal-content] > .p-6.overflow-y-auto {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 14px !important;
}
body.macos-ui #freekey-overview {
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  gap: 10px !important;
}
body.macos-ui #freekey-overview > div {
  min-width: 0 !important;
  padding: 14px !important;
  background: var(--mac3-card) !important;
  border-color: var(--mac3-border) !important;
}

/* Users */
body.macos-ui #usersModal [data-modal-content] {
  display: flex !important;
  flex-direction: column !important;
}
body.macos-ui #usersModal #createUserForm {
  background: var(--mac3-card) !important;
  border: 1px solid var(--mac3-border) !important;
}
body.macos-ui #new-user-role-picker {
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
}
body.macos-ui #usersModal #usersContainer > * {
  min-width: 0 !important;
}

/* Promo */
body.macos-ui #promoModal [data-modal-content] {
  display: flex !important;
  flex-direction: column !important;
}
body.macos-ui #promoModal [data-modal-content] > .p-6.overflow-y-auto {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 14px !important;
}
body.macos-ui #promoModal .mb-6.p-4 {
  background: var(--mac3-card) !important;
  border-color: var(--mac3-border) !important;
}
body.macos-ui #promoModal button[class*="bg-amber"],
body.macos-ui #promoModal button[class*="bg-purple"] {
  background: var(--mac3-blue) !important;
}

/* Cache manager */
body.macos-ui #cacheModal [data-modal-content] {
  display: flex !important;
  flex-direction: column !important;
}
body.macos-ui #cacheModal [class*="grid-cols-2"] {
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
}
body.macos-ui #cacheModal button[class*="bg-"] {
  background-image: none !important;
}

/* Auction */
body.macos-ui #auctionModal [data-modal-content],
body.macos-ui #auctionModal .auction-shell {
  border-radius: var(--mac3-radius-window) !important;
}
body.macos-ui #auctionModal .auction-header {
  min-height: 58px !important;
}
body.macos-ui #auctionModal .auction-tabs {
  background: rgba(0,0,0,.24) !important;
  border: 1px solid rgba(255,255,255,.05) !important;
  border-radius: 10px !important;
}

/* Online monitor */
body.macos-ui #onlineModal [data-modal-content] {
  overflow-y: auto !important;
  overflow-x: hidden !important;
}
body.macos-ui #onlineModal #online-stats > div,
body.macos-ui #onlineModal .mt-4.grid > div {
  background: var(--mac3-card) !important;
  border-color: var(--mac3-border) !important;
}

/* ---------------------------------------------------------
   Mobile dashboard + modals
   --------------------------------------------------------- */
@media (max-width: 767px) {
  body.macos-ui .dashboard-layout {
    width: calc(100vw - 12px) !important;
    max-width: calc(100vw - 12px) !important;
    height: calc(100dvh - 12px) !important;
    min-height: 0 !important;
    margin: 6px !important;
    border-radius: 13px !important;
  }

  body.macos-ui #sidebar {
    position: fixed !important;
    inset: 6px auto 6px 6px !important;
    z-index: 80 !important;
    flex: none !important;
    width: min(342px,calc(100vw - 24px)) !important;
    min-width: 0 !important;
    max-width: calc(100vw - 24px) !important;
    height: calc(100dvh - 12px) !important;
    border: 1px solid var(--mac3-border-strong) !important;
    border-radius: 14px !important;
    transform: translate3d(calc(-100% - 18px),0,0) !important;
    transition: transform 190ms var(--mac3-ease) !important;
    box-shadow: 22px 0 58px rgba(0,0,0,.42) !important;
  }
  body.macos-ui.sidebar-open #sidebar,
  body.macos-ui #sidebar:not(.-translate-x-full) {
    transform: translate3d(0,0,0) !important;
  }
  body.macos-ui:not(.sidebar-open) #sidebar {
    transform: translate3d(calc(-100% - 18px),0,0) !important;
  }

  body.macos-ui #sidebarOverlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 70 !important;
    display: block !important;
    opacity: 0 !important;
    pointer-events: none !important;
    background: rgba(0,0,0,.55) !important;
    transition: opacity 160ms ease-out !important;
  }
  body.macos-ui.sidebar-open #sidebarOverlay {
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  body.macos-ui #mobileMenuBtn {
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    z-index: 55 !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    border-radius: 9px !important;
    color: #eee !important;
    background: rgba(255,255,255,.055) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    box-shadow: none !important;
  }
  body.macos-ui.sidebar-open #mobileMenuBtn {
    opacity: 0 !important;
    transform: scale(.96) !important;
    pointer-events: none !important;
  }

  body.macos-ui .dashboard-main {
    flex: 1 1 100% !important;
    width: 100% !important;
  }

  body.macos-ui .dashboard-header {
    min-height: 112px !important;
    padding: 12px 12px 10px 58px !important;
    grid-template-columns: minmax(0,1fr) !important;
    align-content: start !important;
    gap: 9px !important;
  }
  body.macos-ui .dashboard-header .header-title {
    min-height: 40px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
  }
  body.macos-ui .dashboard-header .header-title h2 {
    font-size: 1.05rem !important;
  }
  body.macos-ui .stats-container {
    width: calc(100% + 46px) !important;
    max-width: none !important;
    margin-left: -46px !important;
    padding-left: 0 !important;
  }
  body.macos-ui .stats-container .stat-card {
    flex-basis: 82px !important;
    min-width: 82px !important;
    min-height: 52px !important;
  }

  body.macos-ui .dashboard-content {
    padding: 12px !important;
    padding-bottom: calc(78px + env(safe-area-inset-bottom)) !important;
  }

  body.macos-ui #sidebar .macos-tool-grid {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
  body.macos-ui #sidebar .macos-tool-grid > button,
  body.macos-ui #sidebar .macos-tool-grid > a {
    min-height: 42px !important;
    justify-content: flex-start !important;
    padding: 8px 9px !important;
    font-size: 11px !important;
  }

  body.macos-ui #keysContainer .md\:hidden > .glass .grid.grid-cols-2 {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
  body.macos-ui #keysContainer .md\:hidden > .glass .flex.gap-2 {
    display: grid !important;
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    gap: 6px !important;
  }

  body.macos-ui [data-modal] {
    padding: 6px !important;
  }
  body.macos-ui [data-modal-content] {
    width: calc(100vw - 12px) !important;
    max-width: calc(100vw - 12px) !important;
    max-height: calc(100dvh - 12px) !important;
    border-radius: 14px !important;
  }
  body.macos-ui .macos-titlebar {
    min-height: 50px !important;
    padding: 8px 10px 8px 78px !important;
  }
  body.macos-ui #sidebar.macos-window-chrome::before,
  body.macos-ui .macos-window-chrome.has-macos-titlebar::before {
    top: 19px !important;
    left: 16px !important;
  }

  body.macos-ui #mobileCreateModal {
    align-items: center !important;
  }
  body.macos-ui #mobileCreateModal [data-modal-content] {
    border-radius: 14px !important;
    max-height: calc(100dvh - 12px) !important;
  }
  body.macos-ui #mobileCreateModal [data-modal-content] > .w-12.h-1 {
    display: none !important;
  }

  body.macos-ui #freekey-overview {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
  body.macos-ui #freekey-overview > div {
    padding: 12px !important;
  }

  body.macos-ui #new-user-role-picker {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
  body.macos-ui #usersModal #createUserForm > .grid {
    grid-template-columns: minmax(0,1fr) !important;
  }
  body.macos-ui #usersModal #createUserForm #new-user-role-picker {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
  body.macos-ui #usersModal > [data-modal-content] > .grid.grid-cols-1.sm\:grid-cols-2.xl\:grid-cols-4 {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }

  body.macos-ui #promoModal .grid.md\:grid-cols-5,
  body.macos-ui #promoModal .grid.grid-cols-1.md\:grid-cols-5 {
    grid-template-columns: minmax(0,1fr) !important;
  }

  body.macos-ui #cacheModal [class*="grid-cols-2"] {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }

  body.macos-ui #settingsModal .settings-tabs {
    grid-template-columns: repeat(4,minmax(64px,1fr)) !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
  }
  body.macos-ui #settingsModal .settings-tabs::-webkit-scrollbar { display:none !important; }

  body.macos-ui #appSettingsModal .app-settings-body {
    padding: 12px !important;
  }
  body.macos-ui #appSettingsModal .app-settings-actions {
    grid-template-columns: minmax(0,1fr) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

@media (max-width: 380px) {
  body.macos-ui #sidebar { width: calc(100vw - 18px) !important; max-width: calc(100vw - 18px) !important; }
  body.macos-ui #sidebar .macos-tool-grid > button,
  body.macos-ui #sidebar .macos-tool-grid > a { font-size: 10.5px !important; gap: 6px !important; }
  body.macos-ui #keysContainer .md\:hidden > .glass button { font-size: 10.5px !important; }
  body.macos-ui .settings-tab-btn { font-size: 10px !important; }
}

/* ---------------------------------------------------------
   Guide / Docs: true responsive split view, never a skinny rail
   --------------------------------------------------------- */
body.macos-ui.macos-page-guide > .flex,
body.macos-ui.macos-page-docs > .flex {
  width: min(calc(100vw - 24px), 1500px) !important;
  max-width: min(calc(100vw - 24px), 1500px) !important;
  min-height: calc(100dvh - 24px) !important;
  margin: 12px auto !important;
  display: flex !important;
  overflow: hidden !important;
  border-radius: var(--mac3-radius-window) !important;
  border: 1px solid var(--mac3-border-strong) !important;
  background: var(--mac3-window) !important;
  box-shadow: var(--mac3-shadow-window) !important;
}
body.macos-ui.macos-page-guide main,
body.macos-ui.macos-page-docs main {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: 0 !important;
  max-width: none !important;
  overflow-x: hidden !important;
}
body.macos-ui.macos-page-guide aside#guideSidebar {
  flex: 0 0 276px !important;
  width: 276px !important;
  max-width: 276px !important;
  transform: none !important;
  background: var(--mac3-sidebar) !important;
}

@media (max-width: 1023px) {
  body.macos-ui.macos-page-guide > .flex,
  body.macos-ui.macos-page-docs > .flex {
    width: calc(100vw - 12px) !important;
    max-width: calc(100vw - 12px) !important;
    min-height: calc(100dvh - 12px) !important;
    margin: 6px !important;
    overflow: hidden !important;
  }
  body.macos-ui.macos-page-guide aside#guideSidebar {
    position: fixed !important;
    inset: 6px auto 6px 6px !important;
    z-index: 80 !important;
    width: min(320px,calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px) !important;
    height: calc(100dvh - 12px) !important;
    max-height: none !important;
    transform: translate3d(calc(-100% - 20px),0,0) !important;
    transition: transform 190ms var(--mac3-ease) !important;
    border: 1px solid var(--mac3-border-strong) !important;
    border-radius: 14px !important;
    box-shadow: 20px 0 55px rgba(0,0,0,.42) !important;
  }
  body.macos-ui.macos-page-guide aside#guideSidebar:not(.-translate-x-full) {
    transform: translate3d(0,0,0) !important;
  }
  body.macos-ui.macos-page-guide #guideBackdrop {
    position: fixed !important;
    inset: 0 !important;
    z-index: 70 !important;
    background: rgba(0,0,0,.55) !important;
  }
  body.macos-ui.macos-page-guide #guideMenuBtn {
    position: fixed !important;
    top: 14px !important;
    left: 14px !important;
    z-index: 90 !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 10px !important;
    background: var(--mac3-toolbar) !important;
    border: 1px solid var(--mac3-border-strong) !important;
  }
  body.macos-ui.macos-page-guide main {
    width: 100% !important;
    padding-left: clamp(16px,4vw,32px) !important;
    padding-right: clamp(16px,4vw,32px) !important;
    overflow-x: hidden !important;
  }
}

/* ---------------------------------------------------------
   Standalone pages
   --------------------------------------------------------- */
body.macos-ui .macos-top-window,
body.macos-ui .macos-login-window,
body.macos-ui .macos-window,
body.macos-ui .shell.macos-top-window,
body.macos-ui .window.macos-top-window {
  width: min(calc(100vw - 24px), 980px) !important;
  max-width: min(calc(100vw - 24px), 980px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  border-radius: var(--mac3-radius-window) !important;
  background: var(--mac3-window) !important;
  border: 1px solid var(--mac3-border-strong) !important;
  box-shadow: var(--mac3-shadow-window) !important;
  overflow-x: hidden !important;
}

@media (max-width: 640px) {
  body.macos-ui .macos-top-window,
  body.macos-ui .macos-login-window,
  body.macos-ui .macos-window,
  body.macos-ui .shell.macos-top-window,
  body.macos-ui .window.macos-top-window {
    width: calc(100vw - 12px) !important;
    max-width: calc(100vw - 12px) !important;
    margin-left: 6px !important;
    margin-right: 6px !important;
    border-radius: 13px !important;
  }
}

/* Performance: animate only compositor-friendly properties. */
body.macos-ui #sidebar,
body.macos-ui #sidebarOverlay,
body.macos-ui [data-modal],
body.macos-ui [data-modal-content],
body.macos-ui #mobileMenuBtn,
body.macos-ui #guideSidebar,
body.macos-ui #guideBackdrop {
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
}

@media (pointer: coarse), (max-width: 900px) {
  body.macos-ui .glass,
  body.macos-ui .glass-card,
  body.macos-ui [data-modal-content],
  body.macos-ui #sidebar,
  body.macos-ui .dashboard-header {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.macos-ui #sidebar,
  body.macos-ui #sidebarOverlay,
  body.macos-ui [data-modal],
  body.macos-ui [data-modal-content],
  body.macos-ui #mobileMenuBtn,
  body.macos-ui #guideSidebar,
  body.macos-ui #guideBackdrop {
    transition-duration: .001ms !important;
  }
}

/* Final overflow/flex safety corrections */
body.macos-ui [data-modal-content].overflow-y-auto,
body.macos-ui [data-modal-content].macos-inline-pad:not(#appSettingsModal *) {
  overflow-y: auto !important;
  overflow-x: hidden !important;
}
body.macos-ui [data-modal-content].flex.flex-col > :not(.flex-1):not(.macos-titlebar) {
  flex-shrink: 0 !important;
}
body.macos-ui #usersModal #createUserForm,
body.macos-ui #usersModal [data-modal-content] > .grid {
  flex: 0 0 auto !important;
}
body.macos-ui #usersModal #usersContainer {
  flex: 1 1 auto !important;
  min-height: 120px !important;
}

@media (max-width: 767px) {
  body.macos-ui #keysContainer .md\:hidden > .glass > .flex.gap-2:has(> button) {
    display: grid !important;
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    gap: 6px !important;
  }
  body.macos-ui #keysContainer .md\:hidden > .glass > .flex.gap-2:not(:has(> button)) {
    display: flex !important;
  }
}

/* ========================================================================
   DEVNOOD macOS Unified UI v4 — responsive hardening / no-overflow layer
   This block intentionally comes last and overrides legacy mobile rules.
   ======================================================================== */
:root {
  --mac4-window: #1c1c1e;
  --mac4-surface: #242426;
  --mac4-surface-2: #2a2a2d;
  --mac4-control: #303033;
  --mac4-control-hover: #39393d;
  --mac4-separator: rgba(255,255,255,.10);
  --mac4-separator-strong: rgba(255,255,255,.16);
  --mac4-blue: #0a84ff;
  --mac4-green: #30d158;
  --mac4-yellow: #ffd60a;
  --mac4-red: #ff453a;
  --mac4-label: #f5f5f7;
  --mac4-secondary: #a1a1a6;
  --mac4-tertiary: #6e6e73;
  --mac4-window-radius: 16px;
  --mac4-card-radius: 12px;
  --mac4-control-radius: 9px;
  --mac4-shadow: 0 28px 80px rgba(0,0,0,.55), 0 3px 18px rgba(0,0,0,.30);
  --mac4-ease: cubic-bezier(.2,.8,.2,1);
}

html,
body.macos-ui {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
}

/* Old base.php locked body with position:fixed. That is unsafe on Android
   and was the main reason dashboard/modals shifted sideways after opening. */
html.modal-open,
body.macos-ui.modal-open {
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  overscroll-behavior: none !important;
}

body.macos-ui .dashboard-layout,
body.macos-ui .dashboard-main,
body.macos-ui .dashboard-header,
body.macos-ui .dashboard-content,
body.macos-ui [data-tab-content],
body.macos-ui #keysContainer,
body.macos-ui #filesContainer,
body.macos-ui #logsContainer {
  min-width: 0 !important;
  max-width: 100% !important;
}

/* ------------------------------------------------------------------------
   Traffic lights live in the titlebar itself, never on top of content.
   ------------------------------------------------------------------------ */
body.macos-ui #sidebar.macos-window-chrome::before,
body.macos-ui .macos-window-chrome.has-macos-titlebar::before,
body.macos-ui .macos-window-chrome.macos-force-chrome::before {
  content: none !important;
  display: none !important;
}

body.macos-ui .macos-titlebar {
  position: sticky !important;
  top: 0 !important;
  z-index: 35 !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 58px !important;
  margin: 0 !important;
  padding: 10px 48px 10px 86px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  background: #252527 !important;
  background-image: none !important;
  border: 0 !important;
  border-bottom: 1px solid var(--mac4-separator) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body.macos-ui .macos-titlebar::before {
  content: "" !important;
  position: absolute !important;
  left: 18px !important;
  top: 50% !important;
  width: 12px !important;
  height: 12px !important;
  margin-top: -6px !important;
  border-radius: 50% !important;
  background: #ff5f57 !important;
  box-shadow: 20px 0 0 #febc2e, 40px 0 0 #28c840 !important;
  pointer-events: none !important;
  z-index: 2 !important;
}

body.macos-ui .macos-titlebar > * {
  min-width: 0 !important;
}

body.macos-ui .macos-titlebar h1,
body.macos-ui .macos-titlebar h2,
body.macos-ui .macos-titlebar h3,
body.macos-ui .macos-titlebar h4 {
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

body.macos-ui .macos-titlebar .macos-close,
body.macos-ui .macos-titlebar button[onclick*="closeModal"],
body.macos-ui .macos-titlebar [data-modal-close],
body.macos-ui .macos-titlebar .app-settings-close {
  position: absolute !important;
  right: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  border-radius: 9px !important;
  color: #8e8e93 !important;
  background: rgba(255,255,255,.055) !important;
  border: 1px solid rgba(255,255,255,.07) !important;
}

/* Sidebar header is a native sidebar toolbar, not a floating giant header. */
body.macos-ui #sidebar > .macos-titlebar:first-child {
  min-height: 62px !important;
  height: 62px !important;
  padding: 9px 14px 9px 86px !important;
}
body.macos-ui #sidebar > .macos-titlebar:first-child::before { left: 18px !important; }

/* ------------------------------------------------------------------------
   Modal foundation. Solid windows stop the dashboard showing through.
   ------------------------------------------------------------------------ */
body.macos-ui [data-modal] {
  z-index: 1000 !important;
  contain: layout paint style;
  padding: max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left)) !important;
  background: rgba(0,0,0,.72) !important;
  overflow: hidden !important;
}

body.macos-ui [data-modal-content] {
  display: flex !important;
  flex-direction: column !important;
  width: min(calc(100vw - 16px), 920px) !important;
  max-width: min(calc(100vw - 16px), 920px) !important;
  max-height: min(calc(100dvh - 16px), 900px) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: auto !important;
  padding: 0 !important;
  overflow: hidden !important;
  isolation: isolate !important;
  color: var(--mac4-secondary) !important;
  background: var(--mac4-window) !important;
  background-image: none !important;
  border: 1px solid var(--mac4-separator-strong) !important;
  border-radius: var(--mac4-window-radius) !important;
  box-shadow: var(--mac4-shadow) !important;
}

/* Content authored as a single padded legacy block scrolls safely; titlebar
   remains sticky and the remaining direct children get consistent gutters. */
body.macos-ui [data-modal-content].macos-scroll-fallback {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
}
body.macos-ui [data-modal-content].macos-inline-pad > :not(.macos-titlebar):not(.app-toast-wrap):not(.w-12.h-1) {
  width: auto !important;
  max-width: calc(100% - 28px) !important;
  margin-left: 14px !important;
  margin-right: 14px !important;
}
body.macos-ui [data-modal-content].macos-inline-pad > .macos-titlebar + * {
  margin-top: 14px !important;
}
body.macos-ui [data-modal-content].macos-inline-pad > :last-child:not(.macos-titlebar) {
  margin-bottom: 14px !important;
}

body.macos-ui [data-modal-content] > .overflow-y-auto,
body.macos-ui [data-modal-content] > .modal-body,
body.macos-ui [data-modal-content] > form.overflow-y-auto,
body.macos-ui [data-modal-content] > .app-settings-body,
body.macos-ui [data-modal-content] > .auction-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch;
}

/* One visual language for cards and controls across all dashboard dialogs. */
body.macos-ui [data-modal-content] .glass,
body.macos-ui [data-modal-content] [class*="bg-dark-8"],
body.macos-ui [data-modal-content] [class*="bg-dark-9"],
body.macos-ui [data-modal-content] .auction-card,
body.macos-ui [data-modal-content] .app-settings-section {
  background: var(--mac4-surface) !important;
  background-image: none !important;
  border-color: var(--mac4-separator) !important;
  box-shadow: none !important;
}

body.macos-ui [data-modal-content] input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
body.macos-ui [data-modal-content] select,
body.macos-ui [data-modal-content] textarea,
body.macos-ui .dashboard-content input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
body.macos-ui .dashboard-content select,
body.macos-ui .dashboard-content textarea {
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 42px !important;
  padding: 10px 12px !important;
  color: var(--mac4-label) !important;
  background: #111113 !important;
  border: 1px solid var(--mac4-separator) !important;
  border-radius: var(--mac4-control-radius) !important;
  box-shadow: none !important;
}
body.macos-ui [data-modal-content] textarea { resize: vertical; }

body.macos-ui [data-modal-content] button,
body.macos-ui [data-modal-content] a[role="button"] {
  max-width: 100%;
}

/* ------------------------------------------------------------------------
   Dashboard header / sidebar / action layout
   ------------------------------------------------------------------------ */
body.macos-ui .dashboard-header {
  grid-template-columns: minmax(180px, 1fr) minmax(0, auto) !important;
  overflow: hidden !important;
}
body.macos-ui .stats-container {
  min-width: 0 !important;
  max-width: min(58vw, 610px) !important;
}

body.macos-ui #sidebar .macos-quick-actions,
body.macos-ui #sidebar .macos-tool-grid {
  gap: 7px !important;
}
body.macos-ui #sidebar .macos-quick-actions > button,
body.macos-ui #sidebar .macos-quick-actions > a,
body.macos-ui #sidebar .macos-tool-grid > button,
body.macos-ui #sidebar .macos-tool-grid > a {
  min-height: 40px !important;
  padding: 9px 11px !important;
  color: #d1d1d6 !important;
  background: #2c2c2e !important;
  border-color: rgba(255,255,255,.08) !important;
  border-radius: 9px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
body.macos-ui #sidebar .macos-quick-actions > button:hover,
body.macos-ui #sidebar .macos-quick-actions > a:hover,
body.macos-ui #sidebar .macos-tool-grid > button:hover,
body.macos-ui #sidebar .macos-tool-grid > a:hover {
  background: #353538 !important;
}

/* ------------------------------------------------------------------------
   Key management: purpose-built responsive cards, no word/button overflow.
   ------------------------------------------------------------------------ */
body.macos-ui .key-selection-toolbar {
  background: var(--mac4-surface) !important;
  border: 1px solid var(--mac4-separator) !important;
  border-radius: 12px !important;
}
body.macos-ui .key-card-mobile {
  width: 100% !important;
  min-width: 0 !important;
  padding: 14px !important;
  overflow: hidden !important;
  background: var(--mac4-surface) !important;
  border: 1px solid var(--mac4-separator) !important;
  border-radius: 13px !important;
  box-shadow: none !important;
}
body.macos-ui .key-card-top {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  align-items: start !important;
  gap: 10px !important;
}
body.macos-ui .key-card-identity {
  display: grid !important;
  grid-template-columns: 18px minmax(0,1fr) !important;
  gap: 9px !important;
  min-width: 0 !important;
}
body.macos-ui .key-value-mobile {
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  font-size: clamp(14px, 4.2vw, 17px) !important;
  line-height: 1.3 !important;
  letter-spacing: .02em !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}
body.macos-ui .key-note-mobile {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
body.macos-ui .key-info-grid {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 8px !important;
  margin: 12px 0 !important;
}
body.macos-ui .key-info-cell {
  min-width: 0 !important;
  padding: 10px !important;
  background: #1b1b1d !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  border-radius: 10px !important;
}
body.macos-ui .key-action-grid {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 7px !important;
}
body.macos-ui .key-action-grid + .key-action-grid { margin-top: 7px !important; }
body.macos-ui .key-action-grid button {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 40px !important;
  padding: 8px 5px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  border-radius: 9px !important;
  background: #303033 !important;
  border: 1px solid rgba(255,255,255,.075) !important;
}
body.macos-ui .key-action-grid button:hover { background:#3a3a3d !important; }

body.macos-ui #keysPagination {
  background: var(--mac4-surface) !important;
  border-color: var(--mac4-separator) !important;
  padding: 10px !important;
}
body.macos-ui #keysPagination > * { min-width: 0 !important; }

/* ------------------------------------------------------------------------
   Modal-specific responsive contracts
   ------------------------------------------------------------------------ */
body.macos-ui #updatesModal [data-modal-content],
body.macos-ui #promoModal [data-modal-content],
body.macos-ui #downloadModal [data-modal-content],
body.macos-ui #onlineModal [data-modal-content],
body.macos-ui #cacheModal [data-modal-content] {
  width: min(calc(100vw - 16px), 900px) !important;
  max-width: 900px !important;
}
body.macos-ui #settingsModal [data-modal-content],
body.macos-ui #freekeyModal [data-modal-content],
body.macos-ui #usersModal [data-modal-content],
body.macos-ui #auctionModal [data-modal-content] {
  width: min(calc(100vw - 16px), 1120px) !important;
  max-width: 1120px !important;
}

body.macos-ui #updatesModal #updateStats {
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
}
body.macos-ui #updatesModal #versionsContainer {
  flex: 1 1 auto !important;
  min-height: 110px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

body.macos-ui #freekeyModal #freekey-overview {
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
}

/* Auction was the most visibly broken dialog: make its shell opaque, use one
   scroll body, and neutralize old 100dvh mobile rules. */
body.macos-ui #auctionModal .auction-shell {
  display: flex !important;
  flex-direction: column !important;
  width: min(calc(100vw - 16px), 1120px) !important;
  max-width: 1120px !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(100dvh - 16px) !important;
  overflow: hidden !important;
  background: var(--mac4-window) !important;
  background-image: none !important;
}
body.macos-ui #auctionModal .auction-header {
  flex: 0 0 auto !important;
  padding: 9px 48px 9px 86px !important;
  min-height: 64px !important;
  background: #252527 !important;
  background-image: none !important;
}
body.macos-ui #auctionModal .auction-header > .w-12.h-12 {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  border-radius: 9px !important;
  background: rgba(255,159,10,.16) !important;
  color: #ff9f0a !important;
  box-shadow: none !important;
}
body.macos-ui #auctionModal .auction-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 14px !important;
  background: #171719 !important;
}
body.macos-ui #auctionModal .auction-card {
  border-radius: 12px !important;
  background: var(--mac4-surface) !important;
  border: 1px solid var(--mac4-separator) !important;
}
body.macos-ui #auctionModal .auction-tabs {
  position: sticky !important;
  top: 0 !important;
  z-index: 20 !important;
  display: grid !important;
  grid-template-columns: repeat(5,minmax(0,1fr)) !important;
  gap: 3px !important;
  padding: 3px !important;
  background: #202022 !important;
  border: 1px solid var(--mac4-separator) !important;
  border-radius: 10px !important;
  backdrop-filter: none !important;
}
body.macos-ui #auctionModal .auction-tab {
  min-width: 0 !important;
  min-height: 38px !important;
  padding: 7px 6px !important;
  border-radius: 7px !important;
  white-space: normal !important;
  line-height: 1.15 !important;
}
body.macos-ui #auctionModal .auction-tab.active {
  background: rgba(10,132,255,.55) !important;
  border-color: rgba(255,255,255,.08) !important;
  box-shadow: none !important;
}

/* Settings/app settings: footer belongs in normal flow and forms never hide
   behind it. */
body.macos-ui #appSettingsModal .app-settings-actions,
body.macos-ui #settingsModal .settings-actions {
  position: static !important;
  inset: auto !important;
  transform: none !important;
}
body.macos-ui #appSettingsModal .app-settings-panel,
body.macos-ui #settingsModal [data-modal-content] {
  background: var(--mac4-window) !important;
}

/* ------------------------------------------------------------------------
   Phone layout
   ------------------------------------------------------------------------ */
@media (max-width: 767px) {
  body.macos-ui .dashboard-layout {
    width: calc(100vw - 10px) !important;
    max-width: calc(100vw - 10px) !important;
    height: calc(100dvh - 10px) !important;
    margin: 5px !important;
    border-radius: 13px !important;
  }

  body.macos-ui .dashboard-header {
    min-height: 112px !important;
    padding: 11px 10px 10px 58px !important;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 8px !important;
  }
  body.macos-ui .stats-container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 0 2px !important;
    overflow-x: auto !important;
  }
  body.macos-ui .stats-container .stat-card {
    flex: 0 0 78px !important;
    min-width: 78px !important;
  }

  body.macos-ui .dashboard-content {
    width: 100% !important;
    padding: 10px !important;
    padding-bottom: calc(76px + env(safe-area-inset-bottom)) !important;
    overflow-x: hidden !important;
  }

  body.macos-ui #sidebar {
    inset: 5px auto 5px 5px !important;
    width: min(344px, calc(100vw - 18px)) !important;
    max-width: calc(100vw - 18px) !important;
    height: calc(100dvh - 10px) !important;
  }
  body.macos-ui #sidebar > .macos-titlebar:first-child {
    min-height: 60px !important;
    height: 60px !important;
    padding-left: 82px !important;
  }
  body.macos-ui #sidebar .macos-tool-grid {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }

  body.macos-ui [data-modal] { padding: 5px !important; }
  body.macos-ui [data-modal-content],
  body.macos-ui #settingsModal [data-modal-content],
  body.macos-ui #freekeyModal [data-modal-content],
  body.macos-ui #usersModal [data-modal-content],
  body.macos-ui #auctionModal [data-modal-content],
  body.macos-ui #updatesModal [data-modal-content],
  body.macos-ui #promoModal [data-modal-content],
  body.macos-ui #downloadModal [data-modal-content],
  body.macos-ui #onlineModal [data-modal-content],
  body.macos-ui #cacheModal [data-modal-content] {
    width: calc(100vw - 10px) !important;
    max-width: calc(100vw - 10px) !important;
    max-height: calc(100dvh - 10px) !important;
    border-radius: 13px !important;
  }
  body.macos-ui .macos-titlebar {
    min-height: 58px !important;
    padding: 9px 44px 9px 80px !important;
  }
  body.macos-ui .macos-titlebar::before { left: 15px !important; }
  body.macos-ui .macos-titlebar .macos-close,
  body.macos-ui .macos-titlebar button[onclick*="closeModal"] {
    right: 9px !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
  }

  body.macos-ui [data-modal-content].macos-inline-pad > :not(.macos-titlebar):not(.app-toast-wrap):not(.w-12.h-1) {
    max-width: calc(100% - 20px) !important;
    margin-left: 10px !important;
    margin-right: 10px !important;
  }

  body.macos-ui #updatesModal #updateStats,
  body.macos-ui #freekeyModal #freekey-overview {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 8px !important;
  }
  body.macos-ui #updatesModal #updateStats > div,
  body.macos-ui #freekeyModal #freekey-overview > div {
    min-height: 112px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px 8px !important;
  }
  body.macos-ui #updatesModal .grid.grid-cols-1.md\:grid-cols-2.lg\:grid-cols-4,
  body.macos-ui #updatesModal .grid.grid-cols-1.md\:grid-cols-2 {
    grid-template-columns: minmax(0,1fr) !important;
  }
  body.macos-ui #updatesModal .flex.flex-col.md\:flex-row {
    align-items: stretch !important;
  }

  body.macos-ui #auctionModal .auction-shell {
    width: calc(100vw - 10px) !important;
    max-width: calc(100vw - 10px) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100dvh - 10px) !important;
  }
  body.macos-ui #auctionModal .auction-header {
    min-height: 64px !important;
    padding: 8px 42px 8px 80px !important;
  }
  body.macos-ui #auctionModal .auction-header > .w-12.h-12 {
    display: none !important;
  }
  body.macos-ui #auctionModal .auction-header p {
    display: none !important;
  }
  body.macos-ui #auctionModal .auction-body {
    padding: 10px !important;
  }
  body.macos-ui #auctionModal .auction-tabs {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 4px !important;
  }
  body.macos-ui #auctionModal .auction-tabs .auction-tab:last-child:nth-child(odd) {
    grid-column: 1 / -1 !important;
  }
  body.macos-ui #auctionModal .auction-panel > .grid,
  body.macos-ui #auctionModal form.grid {
    grid-template-columns: minmax(0,1fr) !important;
  }
  body.macos-ui #auctionModal .auction-level-reward-row,
  body.macos-ui #auctionModal .auction-preset-settings-row {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }

  body.macos-ui .key-action-grid button {
    font-size: 11px !important;
  }
  body.macos-ui #keysPagination {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: stretch !important;
  }
  body.macos-ui #keysPagination > div {
    width: 100% !important;
    justify-content: center !important;
  }
  body.macos-ui #keysPagination #paginTotal { text-align: center !important; }

  body.macos-ui [data-tab-content="files"] > .flex,
  body.macos-ui [data-tab-content="logs"] > .flex {
    min-width: 0 !important;
  }
  body.macos-ui #fileSearchInput {
    width: min(100%, 190px) !important;
  }
}

@media (max-width: 390px) {
  body.macos-ui .key-card-mobile { padding: 12px !important; }
  body.macos-ui .key-action-grid { gap: 5px !important; }
  body.macos-ui .key-action-grid button {
    min-height: 38px !important;
    padding: 7px 3px !important;
    font-size: 10.5px !important;
  }
  body.macos-ui #sidebar .macos-tool-grid > button,
  body.macos-ui #sidebar .macos-tool-grid > a {
    font-size: 10.5px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
}

/* ------------------------------------------------------------------------
   Desktop polish
   ------------------------------------------------------------------------ */
@media (min-width: 768px) {
  body.macos-ui #keysContainer table {
    table-layout: fixed !important;
  }
  body.macos-ui #keysContainer table th:nth-child(2),
  body.macos-ui #keysContainer table td:nth-child(2) { width: 29%; }
  body.macos-ui #keysContainer table th:nth-child(6),
  body.macos-ui #keysContainer table td:nth-child(6) { width: 250px; }
  body.macos-ui #keysContainer table td {
    min-width: 0 !important;
    overflow: hidden !important;
  }
  body.macos-ui #keysContainer table .font-mono {
    overflow-wrap: anywhere !important;
  }
}

/* Smooth without making the UI sluggish. */
body.macos-ui [data-modal],
body.macos-ui [data-modal-content],
body.macos-ui #sidebar,
body.macos-ui #sidebarOverlay,
body.macos-ui #mobileMenuBtn {
  transition-duration: 170ms !important;
  transition-timing-function: var(--mac4-ease) !important;
}
body.macos-ui [data-modal-content] {
  will-change: transform, opacity;
}

@media (pointer: coarse), (max-width: 900px) {
  body.macos-ui *,
  body.macos-ui *::before,
  body.macos-ui *::after {
    -webkit-tap-highlight-color: transparent;
  }
  body.macos-ui .glass,
  body.macos-ui [data-modal],
  body.macos-ui [data-modal-content],
  body.macos-ui #sidebar,
  body.macos-ui .dashboard-header,
  body.macos-ui .auction-savebar,
  body.macos-ui .auction-create-actions {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
}

/* v4.1 dashboard form-width hardening */
body.macos-ui .desktop-create-form {
  min-width: 0 !important;
  max-width: 100% !important;
  flex-wrap: wrap !important;
  row-gap: 6px !important;
}
body.macos-ui .desktop-create-form > * { min-width: 0; }

@media (min-width: 768px) and (max-width: 1180px) {
  body.macos-ui [data-tab-content="keys"] > .flex.flex-col.md\:flex-row {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  body.macos-ui .desktop-create-form {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(150px,1.1fr) minmax(190px,1.5fr) 70px 70px minmax(100px,1fr) 44px !important;
    gap: 6px !important;
  }
  body.macos-ui .desktop-create-form > .w-px { display:none !important; }
  body.macos-ui .desktop-create-form > .relative,
  body.macos-ui .desktop-create-form > .flex,
  body.macos-ui .desktop-create-form > input,
  body.macos-ui .desktop-create-form > button { width:100% !important; }
  body.macos-ui .desktop-create-form > .relative input { width:100% !important; }
}

@media (min-width: 768px) and (max-width: 960px) {
  body.macos-ui .desktop-create-form {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
  body.macos-ui .desktop-create-form > button[type="submit"] { grid-column: 1 / -1 !important; }
}

/* v4.1 performance pass for long mobile lists */
body.macos-ui .key-card-mobile {
  content-visibility: auto;
  contain-intrinsic-size: 240px;
  contain: layout paint style;
  transition: border-color 150ms ease, background-color 150ms ease !important;
}
body.macos-ui #filesContainer > .glass,
body.macos-ui #logsContainer > .glass {
  content-visibility: auto;
  contain-intrinsic-size: 160px;
}

@media (pointer: coarse), (max-width: 767px) {
  body.macos-ui #sidebar .animate-pulse,
  body.macos-ui #sidebar [class*="animate-[spin"],
  body.macos-ui .dashboard-content .animate-pulse {
    animation: none !important;
  }
}

/* Long legacy dialogs: one scroll container is more reliable than nested panes. */
body.macos-ui #usersModal [data-modal-content],
body.macos-ui #updatesModal [data-modal-content] {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
}
body.macos-ui #usersModal #usersContainer,
body.macos-ui #updatesModal #versionsContainer {
  flex: 0 0 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

/* Use cards instead of the 6-column key table whenever the dashboard content
   is too narrow after the macOS sidebar takes its space. */
@media (min-width: 768px) and (max-width: 1180px) {
  body.macos-ui #keysContainer > .hidden.md\:block {
    display: none !important;
  }
  body.macos-ui #keysContainer > .md\:hidden {
    display: block !important;
  }
  body.macos-ui #keysContainer > .md\:hidden.space-y-3 > * + * {
    margin-top: 10px !important;
  }
}

/* Universal overflow guard for every dashboard/page component. */
body.macos-ui .grid > *,
body.macos-ui .flex > *,
body.macos-ui [data-modal-content] > *,
body.macos-ui .dashboard-content > * {
  min-width: 0;
}
body.macos-ui img,
body.macos-ui video,
body.macos-ui canvas,
body.macos-ui svg {
  max-width: 100%;
}
body.macos-ui pre {
  max-width: 100% !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
}
body.macos-ui code,
body.macos-ui .font-mono,
body.macos-ui a,
body.macos-ui p,
body.macos-ui span {
  overflow-wrap: anywhere;
}
body.macos-ui button {
  min-width: 0;
}
body.macos-ui [data-modal-content] button:not(.macos-close) {
  white-space: normal;
  line-height: 1.25;
}
body.macos-ui .table-container,
body.macos-ui .overflow-x-auto {
  max-width: 100% !important;
}

/* ========================================================================
   DEVNOOD macOS Unified UI v5 — regression hardening (2026-08-20)
   ======================================================================== */
:root{
  --mac5-window:#1c1c1e;--mac5-toolbar:#242426;--mac5-surface:#2a2a2d;
  --mac5-control:#121214;--mac5-border:rgba(255,255,255,.10);
  --mac5-text:#f5f5f7;--mac5-secondary:#a1a1a6;--mac5-blue:#0a84ff;
  --mac5-red:#ff5f57;--mac5-yellow:#febc2e;--mac5-green:#28c840;
}

/* Real traffic lights: never paint dots over text/icons. */
body.macos-ui .macos-titlebar::before,
body.macos-ui #sidebar>.macos-titlebar:first-child::before,
body.macos-ui .macos-window-chrome.has-macos-titlebar::before,
body.macos-ui #sidebar.macos-window-chrome::before{content:none!important;display:none!important;box-shadow:none!important}
body.macos-ui .macos-titlebar{position:sticky!important;top:0!important;min-height:60px!important;padding:10px 52px 10px 92px!important;overflow:hidden!important;background:var(--mac5-toolbar)!important}
body.macos-ui .macos-traffic-lights{position:absolute!important;left:18px!important;top:50%!important;transform:translateY(-50%)!important;display:inline-flex!important;align-items:center!important;gap:8px!important;width:auto!important;height:14px!important;z-index:6!important;pointer-events:none!important}
body.macos-ui .macos-traffic-light{display:block!important;flex:0 0 12px!important;width:12px!important;height:12px!important;min-width:12px!important;min-height:12px!important;padding:0!important;margin:0!important;border:0!important;border-radius:999px!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.10)!important}
body.macos-ui .macos-traffic-close{background:var(--mac5-red)!important}
body.macos-ui .macos-traffic-minimize{background:var(--mac5-yellow)!important}
body.macos-ui .macos-traffic-zoom{background:var(--mac5-green)!important}
body.macos-ui .macos-titlebar>:not(.macos-traffic-lights):not(.macos-close){min-width:0!important;max-width:100%!important}
body.macos-ui .macos-titlebar h1,body.macos-ui .macos-titlebar h2,body.macos-ui .macos-titlebar h3,body.macos-ui .macos-titlebar h4{max-width:100%!important;margin:0!important;white-space:normal!important;overflow-wrap:break-word!important;word-break:normal!important}
body.macos-ui .macos-titlebar h1 i,body.macos-ui .macos-titlebar h2 i,body.macos-ui .macos-titlebar h3 i,body.macos-ui .macos-titlebar h4 i{margin-right:8px!important}
body.macos-ui #sidebar>.macos-titlebar:first-child{min-height:62px!important;height:62px!important;padding-left:92px!important}
body.macos-ui .macos-titlebar .macos-close,body.macos-ui .macos-titlebar button[onclick*="closeModal"],body.macos-ui .macos-titlebar [data-modal-close],body.macos-ui .macos-titlebar .app-settings-close{right:12px!important;top:50%!important;transform:translateY(-50%)!important}

/* One modal window, no horizontal bleed. */
body.macos-ui [data-modal]{contain:none!important;overflow:hidden!important}
body.macos-ui [data-modal-content]{min-width:0!important;overflow-x:hidden!important;background:var(--mac5-window)!important}
body.macos-ui [data-modal-content]>*,body.macos-ui [data-modal-content] form,body.macos-ui [data-modal-content] section,body.macos-ui [data-modal-content] .grid,body.macos-ui [data-modal-content] .flex{min-width:0!important}
body.macos-ui [data-modal-content] img,body.macos-ui [data-modal-content] pre,body.macos-ui [data-modal-content] table{max-width:100%!important}
body.macos-ui [data-modal-content] pre{overflow-x:auto!important}
body.macos-ui [data-modal-content] .macos-modal-body,body.macos-ui [data-modal-content]>.overflow-y-auto,body.macos-ui [data-modal-content].macos-scroll-fallback{overscroll-behavior:contain!important;scrollbar-gutter:stable!important}

/* Dashboard: input icon padding + no clipped statistics. */
body.macos-ui #searchInput{padding-left:42px!important;padding-right:14px!important}
body.macos-ui #fileSearchInput{padding-left:34px!important;padding-right:12px!important}
body.macos-ui [data-tab-content="keys"]>.flex>.relative,body.macos-ui [data-tab-content="files"] .relative{min-width:0!important}
body.macos-ui .dashboard-content .relative>i.absolute{z-index:2!important;pointer-events:none!important}
body.macos-ui #keysContainer,body.macos-ui #filesContainer,body.macos-ui #logsContainer,body.macos-ui .key-selection-toolbar,body.macos-ui .key-card-mobile{min-width:0!important;max-width:100%!important}
body.macos-ui .key-card-mobile{background:#242426!important;border-color:rgba(255,255,255,.085)!important}
body.macos-ui .key-card-top{align-items:start!important}
body.macos-ui .key-card-top>*{min-width:0!important}
body.macos-ui .key-value-mobile{color:var(--mac5-text)!important;font-weight:700!important}
body.macos-ui .key-info-cell{background:#171719!important}
body.macos-ui .key-action-grid button{overflow:hidden!important;text-overflow:ellipsis!important}

/* API Docs: Finder-like split view on desktop, drawer on mobile. */
body.macos-ui.macos-page-docs{overflow:hidden!important}
body.macos-ui.macos-page-docs>.docs-shell,body.macos-ui.macos-page-docs>.flex.docs-shell{display:flex!important;width:min(calc(100vw - 24px),1500px)!important;max-width:min(calc(100vw - 24px),1500px)!important;height:calc(100dvh - 24px)!important;min-height:0!important;margin:12px auto!important;overflow:hidden!important}
body.macos-ui.macos-page-docs #docsSidebar{position:relative!important;inset:auto!important;flex:0 0 260px!important;width:260px!important;min-width:260px!important;max-width:260px!important;height:100%!important;max-height:none!important;transform:none!important;overflow-y:auto!important;overflow-x:hidden!important;background:#202023!important}
body.macos-ui.macos-page-docs #docsSidebar>div{width:100%!important;min-width:0!important;padding:52px 16px 20px!important}
body.macos-ui.macos-page-docs .docs-main{flex:1 1 auto!important;width:auto!important;min-width:0!important;max-width:none!important;height:100%!important;overflow-y:auto!important;overflow-x:hidden!important;padding:clamp(20px,3vw,34px)!important}
body.macos-ui.macos-page-docs .docs-main>*,body.macos-ui.macos-page-docs .docs-main section,body.macos-ui.macos-page-docs .docs-main .glass,body.macos-ui.macos-page-docs .docs-main .flex,body.macos-ui.macos-page-docs .docs-main .grid{min-width:0!important;max-width:100%!important}
body.macos-ui.macos-page-docs .docs-main h1,body.macos-ui.macos-page-docs .docs-main h2,body.macos-ui.macos-page-docs .docs-main h3,body.macos-ui.macos-page-docs .docs-main p,body.macos-ui.macos-page-docs .docs-main td,body.macos-ui.macos-page-docs .docs-main th{overflow-wrap:break-word!important;word-break:normal!important}
body.macos-ui.macos-page-docs .docs-main pre{display:block!important;width:100%!important;max-width:100%!important;overflow-x:auto!important;white-space:pre!important;-webkit-overflow-scrolling:touch!important}
body.macos-ui.macos-page-docs .docs-main pre code{white-space:inherit!important;word-break:normal!important}
body.macos-ui.macos-page-docs .docs-main table{width:100%!important;max-width:100%!important}
body.macos-ui.macos-page-docs .docs-menu-button,body.macos-ui.macos-page-docs .docs-backdrop{display:none!important}

@media(max-width:1023px){
 body.macos-ui.macos-page-docs>.docs-shell,body.macos-ui.macos-page-docs>.flex.docs-shell{display:block!important;width:calc(100vw - 12px)!important;max-width:calc(100vw - 12px)!important;height:calc(100dvh - 12px)!important;margin:6px!important;overflow:hidden!important}
 body.macos-ui.macos-page-docs #docsSidebar{position:fixed!important;top:6px!important;bottom:6px!important;left:6px!important;z-index:120!important;width:min(320px,calc(100vw - 36px))!important;min-width:0!important;max-width:calc(100vw - 36px)!important;height:calc(100dvh - 12px)!important;transform:translate3d(calc(-100% - 18px),0,0)!important;transition:transform 180ms cubic-bezier(.22,.8,.24,1)!important;border-right:1px solid var(--mac5-border)!important;border-bottom:0!important;border-radius:13px!important;box-shadow:18px 0 50px rgba(0,0,0,.42)!important}
 body.macos-ui.macos-page-docs.docs-sidebar-open #docsSidebar{transform:translate3d(0,0,0)!important}
 body.macos-ui.macos-page-docs .docs-main{width:100%!important;min-width:0!important;max-width:100%!important;height:100%!important;padding:70px 16px 24px!important;overflow-y:auto!important;overflow-x:hidden!important}
 body.macos-ui.macos-page-docs .docs-menu-button{position:fixed!important;top:18px!important;left:18px!important;z-index:140!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;padding:0!important;color:#f5f5f7!important;background:#2c2c2e!important;border:1px solid var(--mac5-border)!important;border-radius:10px!important;box-shadow:0 10px 28px rgba(0,0,0,.28)!important}
 body.macos-ui.macos-page-docs.docs-sidebar-open .docs-menu-button{opacity:0!important;pointer-events:none!important}
 body.macos-ui.macos-page-docs .docs-backdrop{position:fixed!important;inset:0!important;z-index:110!important;display:block!important;opacity:0!important;pointer-events:none!important;background:rgba(0,0,0,.58)!important;transition:opacity 150ms ease!important}
 body.macos-ui.macos-page-docs.docs-sidebar-open .docs-backdrop{opacity:1!important;pointer-events:auto!important}
 body.macos-ui.macos-page-docs .docs-main .glass{padding:16px!important;border-radius:12px!important}
 body.macos-ui.macos-page-docs .docs-main table{display:block!important;overflow-x:auto!important;white-space:nowrap!important;-webkit-overflow-scrolling:touch!important}
}

@media(max-width:767px){
 body.macos-ui .macos-titlebar{min-height:58px!important;padding:9px 46px 9px 88px!important}
 body.macos-ui .macos-traffic-lights{left:16px!important;gap:7px!important}
 body.macos-ui .macos-traffic-light{flex-basis:11px!important;width:11px!important;height:11px!important;min-width:11px!important;min-height:11px!important}
 body.macos-ui #sidebar>.macos-titlebar:first-child{padding-left:88px!important}
 body.macos-ui .dashboard-header{min-height:116px!important}
 body.macos-ui .stats-container{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;width:100%!important;max-width:100%!important;gap:5px!important;overflow:hidden!important}
 body.macos-ui .stats-container .stat-card{min-width:0!important;width:100%!important;min-height:50px!important;padding:7px 4px!important;overflow:hidden!important}
 body.macos-ui .stats-container .stat-card>div:first-child{font-size:clamp(14px,4vw,18px)!important;line-height:1.05!important}
 body.macos-ui .stats-container .stat-card>div:last-child{font-size:8px!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
 body.macos-ui .key-selection-toolbar{padding:12px!important}
 body.macos-ui .key-selection-toolbar>.flex:last-child{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important}
 body.macos-ui .key-selection-toolbar button{width:100%!important;min-width:0!important;white-space:normal!important}
 body.macos-ui #settingsModal .settings-tabs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5px!important;overflow:visible!important}
 body.macos-ui #settingsModal .settings-tab-btn{min-width:0!important;padding:9px 6px!important;white-space:normal!important;line-height:1.2!important}
 body.macos-ui #freekeyModal #freekey-overview,body.macos-ui #updatesModal #updateStats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 body.macos-ui #usersModal #new-user-role-picker,body.macos-ui #usersModal #createUserForm #new-user-role-picker{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body.macos-ui [data-modal-content] .grid.md\:grid-cols-2,body.macos-ui [data-modal-content] .grid.lg\:grid-cols-2,body.macos-ui [data-modal-content] .grid.xl\:grid-cols-2{grid-template-columns:minmax(0,1fr)!important}
}
@media(max-width:420px){
 body.macos-ui .macos-titlebar{padding-left:82px!important}
 body.macos-ui .macos-traffic-lights{left:14px!important;gap:6px!important}
 body.macos-ui .macos-titlebar h1,body.macos-ui .macos-titlebar h2,body.macos-ui .macos-titlebar h3,body.macos-ui .macos-titlebar h4{font-size:.93rem!important}
 body.macos-ui .key-action-grid button{font-size:10px!important}
}

/* ========================================================================
   DEVNOOD macOS Unified UI v6 — full mobile/window regression fix
   2026-08-20
   Goals:
   - exactly one red/yellow/green cluster per window
   - no title/icon overlap
   - no modal/page horizontal push
   - readable dashboard stats on phones
   - richer key device/expiry cards
   - Finder-like file toolbar/empty state
   - proper API Docs split view + off-canvas drawer
   ======================================================================== */
:root{
  --mac6-window:#1c1c1e;
  --mac6-toolbar:#242426;
  --mac6-surface:#2a2a2d;
  --mac6-surface-2:#202023;
  --mac6-control:#111113;
  --mac6-border:rgba(255,255,255,.105);
  --mac6-border-strong:rgba(255,255,255,.15);
  --mac6-text:#f5f5f7;
  --mac6-secondary:#a1a1a6;
  --mac6-tertiary:#6e6e73;
  --mac6-blue:#0a84ff;
  --mac6-red:#ff5f57;
  --mac6-yellow:#febc2e;
  --mac6-green:#28c840;
  --mac6-ease:cubic-bezier(.22,.78,.2,1);
  --mac6-radius-window:16px;
  --mac6-radius-card:13px;
}

/* ---- hard kill every legacy pseudo traffic-light painter ---- */
body.macos-ui #sidebar::before,
body.macos-ui #sidebar.macos-window-chrome::before,
body.macos-ui [data-modal-content]::before,
body.macos-ui [data-modal-content].has-macos-titlebar::before,
body.macos-ui [data-modal-content].macos-window-chrome::before,
body.macos-ui [data-modal-content].macos-window-chrome.has-macos-titlebar::before,
body.macos-ui .macos-titlebar::before{
  content:none!important;
  display:none!important;
  width:0!important;
  height:0!important;
  box-shadow:none!important;
  background:none!important;
}

/* ---- one canonical macOS titlebar geometry ---- */
body.macos-ui .macos-titlebar{
  position:sticky!important;
  top:0!important;
  z-index:24!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
  min-height:64px!important;
  height:auto!important;
  margin:0!important;
  padding:10px 54px 10px 94px!important;
  overflow:hidden!important;
  border-radius:0!important;
  border-bottom:1px solid var(--mac6-border)!important;
  background:rgba(36,36,38,.985)!important;
  background-image:none!important;
  box-shadow:0 1px 0 rgba(0,0,0,.22)!important;
}
body.macos-ui .macos-titlebar .macos-title-content{
  position:relative!important;
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
}
body.macos-ui .macos-titlebar .macos-title-content.flex,
body.macos-ui .macos-titlebar .macos-title-content[class*="justify-between"]{
  justify-content:flex-start!important;
}
body.macos-ui .macos-titlebar h1,
body.macos-ui .macos-titlebar h2,
body.macos-ui .macos-titlebar h3,
body.macos-ui .macos-titlebar h4{
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  color:var(--mac6-text)!important;
  font-size:1rem!important;
  line-height:1.3!important;
  font-weight:700!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  overflow-wrap:normal!important;
}
body.macos-ui .macos-titlebar p{
  max-width:100%!important;
  margin:3px 0 0!important;
  color:var(--mac6-secondary)!important;
  font-size:.75rem!important;
  line-height:1.35!important;
  white-space:normal!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
}
body.macos-ui .macos-titlebar .macos-traffic-lights{
  position:absolute!important;
  left:18px!important;
  top:50%!important;
  transform:translate3d(0,-50%,0)!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  width:58px!important;
  height:14px!important;
  margin:0!important;
  padding:0!important;
  z-index:5!important;
  pointer-events:none!important;
}
body.macos-ui .macos-titlebar .macos-traffic-light{
  display:block!important;
  flex:0 0 12px!important;
  width:12px!important;
  height:12px!important;
  min-width:12px!important;
  min-height:12px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.14),0 .5px 1px rgba(255,255,255,.08)!important;
}
body.macos-ui .macos-titlebar .macos-traffic-close{background:var(--mac6-red)!important}
body.macos-ui .macos-titlebar .macos-traffic-minimize{background:var(--mac6-yellow)!important}
body.macos-ui .macos-titlebar .macos-traffic-zoom{background:var(--mac6-green)!important}
body.macos-ui .macos-titlebar .macos-close,
body.macos-ui .macos-titlebar button[onclick*="closeModal"],
body.macos-ui .macos-titlebar [data-modal-close],
body.macos-ui .macos-titlebar .app-settings-close{
  position:absolute!important;
  top:50%!important;
  right:12px!important;
  left:auto!important;
  transform:translate3d(0,-50%,0)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  min-height:36px!important;
  margin:0!important;
  padding:0!important;
  color:#8e8e93!important;
  background:#2c2c2e!important;
  border:1px solid rgba(255,255,255,.055)!important;
  border-radius:10px!important;
  z-index:8!important;
}
body.macos-ui .macos-titlebar .macos-close:hover,
body.macos-ui .macos-titlebar button[onclick*="closeModal"]:hover{
  color:#fff!important;
  background:#3a3a3c!important;
}

/* Titlebars with subtitle need the same vertical breathing room as macOS sheets. */
body.macos-ui .macos-titlebar-freekeyModal,
body.macos-ui .macos-titlebar-appSettingsModal,
body.macos-ui .macos-titlebar-auctionModal{
  min-height:72px!important;
}

/* ---- unified modal sheet: no bleed, no nested horizontal scroll ---- */
body.macos-ui [data-modal]{
  overflow:hidden!important;
  overscroll-behavior:none!important;
  padding:10px!important;
}
body.macos-ui [data-modal-content]{
  position:relative!important;
  min-width:0!important;
  width:min(calc(100vw - 20px),1120px)!important;
  max-width:1120px!important;
  max-height:calc(100dvh - 20px)!important;
  margin:auto!important;
  overflow-x:hidden!important;
  border:1px solid var(--mac6-border-strong)!important;
  border-radius:var(--mac6-radius-window)!important;
  background:var(--mac6-window)!important;
  box-shadow:0 30px 90px rgba(0,0,0,.56),0 1px 8px rgba(0,0,0,.32)!important;
  transform-origin:50% 44%!important;
  transition:transform 180ms var(--mac6-ease),opacity 160ms ease!important;
}
body.macos-ui [data-modal].opacity-0 [data-modal-content],
body.macos-ui [data-modal-content].scale-95{
  transform:translate3d(0,8px,0) scale(.985)!important;
  opacity:.96!important;
}
body.macos-ui [data-modal-content]:not(.scale-95){
  transform:translate3d(0,0,0) scale(1)!important;
  opacity:1!important;
}
body.macos-ui [data-modal-content] > *,
body.macos-ui [data-modal-content] .grid > *,
body.macos-ui [data-modal-content] .flex > *{
  min-width:0!important;
}
body.macos-ui [data-modal-content].macos-scroll-fallback,
body.macos-ui [data-modal-content] > .macos-modal-body,
body.macos-ui [data-modal-content] > .overflow-y-auto,
body.macos-ui [data-modal-content] > .modal-body,
body.macos-ui [data-modal-content] > .app-settings-body,
body.macos-ui [data-modal-content] > .auction-body{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
}
body.macos-ui [data-modal-content] input,
body.macos-ui [data-modal-content] select,
body.macos-ui [data-modal-content] textarea{
  max-width:100%!important;
}

/* Online Monitor has two control rows on phones; keep traffic lights on title row. */
@media(max-width:767px){
  body.macos-ui .macos-titlebar-onlineModal{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-content:start!important;
    min-height:116px!important;
    padding:12px 50px 12px 88px!important;
  }
  body.macos-ui .macos-titlebar-onlineModal .macos-traffic-lights{
    top:18px!important;
    transform:none!important;
  }
  body.macos-ui .macos-titlebar-onlineModal .online-title-row{
    display:flex!important;
    align-items:center!important;
    flex-wrap:wrap!important;
    gap:6px!important;
    min-height:36px!important;
    padding:0!important;
  }
  body.macos-ui .macos-titlebar-onlineModal .online-title-row h3{
    flex:0 1 auto!important;
    max-width:calc(100% - 100px)!important;
  }
  body.macos-ui .macos-titlebar-onlineModal .online-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 44px!important;
    gap:8px!important;
    width:100%!important;
    margin-top:8px!important;
    padding:0!important;
  }
  body.macos-ui .macos-titlebar-onlineModal .online-actions > button:not(.macos-close){
    width:100%!important;
    min-width:0!important;
    min-height:42px!important;
    margin:0!important;
  }
  body.macos-ui .macos-titlebar-onlineModal .macos-close{
    top:12px!important;
    transform:none!important;
  }
}

/* ---- dashboard header/stats: readable cards instead of five tiny pills ---- */
body.macos-ui .dashboard-header{
  min-width:0!important;
  overflow:hidden!important;
}
body.macos-ui .stats-container{
  min-width:0!important;
  max-width:100%!important;
}
body.macos-ui .stats-container .stat-card{
  min-width:0!important;
  border:1px solid rgba(255,255,255,.08)!important;
  background:#2a2a2d!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
@media(max-width:640px){
  body.macos-ui .dashboard-header{
    display:block!important;
    height:auto!important;
    min-height:0!important;
    padding:14px!important;
  }
  body.macos-ui .dashboard-title-block{
    width:100%!important;
    margin:0 0 12px!important;
    padding:0!important;
  }
  body.macos-ui .stats-container{
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:7px!important;
    width:100%!important;
    overflow:visible!important;
  }
  body.macos-ui .stats-container .stat-card{
    width:100%!important;
    min-width:0!important;
    min-height:64px!important;
    padding:9px 8px!important;
    border-radius:11px!important;
    overflow:hidden!important;
  }
  body.macos-ui .stats-container .stat-card:nth-child(-n+3){grid-column:span 2!important}
  body.macos-ui .stats-container .stat-card:nth-child(n+4){grid-column:span 3!important}
  body.macos-ui .stats-container .stat-card > div:first-child{
    font-size:20px!important;
    line-height:1.05!important;
    letter-spacing:-.02em!important;
  }
  body.macos-ui .stats-container .stat-card > div:last-child{
    margin-top:4px!important;
    font-size:9px!important;
    line-height:1.1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
}
@media(max-width:350px){
  body.macos-ui .stats-container{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.macos-ui .stats-container .stat-card{grid-column:auto!important}
  body.macos-ui .stats-container .stat-card:last-child{grid-column:1/-1!important}
}

/* ---- key cards v6: larger device progress + aligned expiry information ---- */
body.macos-ui .key-card-mobile{
  padding:14px!important;
  border-radius:14px!important;
  background:#232326!important;
  border-color:rgba(255,255,255,.09)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.12)!important;
}
body.macos-ui .key-card-top{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin-bottom:12px!important;
}
body.macos-ui .key-card-identity{
  display:flex!important;
  align-items:flex-start!important;
  gap:10px!important;
  flex:1 1 auto!important;
}
body.macos-ui .key-value-mobile{
  display:block!important;
  max-width:100%!important;
  font-size:clamp(15px,4.2vw,18px)!important;
  line-height:1.2!important;
  letter-spacing:.02em!important;
  overflow-wrap:anywhere!important;
}
body.macos-ui .key-info-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
  margin-bottom:10px!important;
}
body.macos-ui .key-info-cell{
  min-width:0!important;
  min-height:82px!important;
  padding:11px!important;
  border-radius:11px!important;
  background:#171719!important;
  border:1px solid rgba(255,255,255,.06)!important;
}
body.macos-ui .key-info-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  min-width:0!important;
}
body.macos-ui .key-info-label{
  color:#7c7c82!important;
  font-size:9px!important;
  font-weight:700!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
body.macos-ui .key-info-value{
  color:var(--mac6-text)!important;
  font-size:12px!important;
  font-weight:700!important;
  white-space:nowrap!important;
}
body.macos-ui .key-info-icon{color:#636369!important;font-size:11px!important}
body.macos-ui .key-device-track{
  position:relative!important;
  width:100%!important;
  height:8px!important;
  margin-top:17px!important;
  overflow:hidden!important;
  border-radius:999px!important;
  background:#303034!important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.35)!important;
}
body.macos-ui .key-device-fill{
  height:100%!important;
  min-width:0!important;
  border-radius:inherit!important;
  background:linear-gradient(90deg,#32ade6 0%,#0a84ff 58%,#bf5af2 100%)!important;
  box-shadow:0 0 10px rgba(10,132,255,.22)!important;
  transition:width 220ms var(--mac6-ease)!important;
}
body.macos-ui .key-expiry-cell{
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
}
body.macos-ui .key-expiry-value{
  margin-top:10px!important;
  color:#e5e5ea!important;
  font-size:13px!important;
  line-height:1.25!important;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace!important;
  font-weight:650!important;
  overflow-wrap:anywhere!important;
}
body.macos-ui .key-expiry-value.is-stock{color:#64d2ff!important}
body.macos-ui .key-expiry-value.is-muted{color:#636366!important}
body.macos-ui .key-action-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px!important;
  width:100%!important;
}
body.macos-ui .key-action-grid button{
  width:100%!important;
  min-width:0!important;
  min-height:42px!important;
  padding:8px 5px!important;
  border-radius:10px!important;
  font-size:11px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
@media(max-width:370px){
  body.macos-ui .key-card-mobile{padding:12px!important}
  body.macos-ui .key-info-grid{gap:7px!important}
  body.macos-ui .key-info-cell{padding:9px!important;min-height:78px!important}
  body.macos-ui .key-action-grid{gap:5px!important}
  body.macos-ui .key-action-grid button{font-size:10px!important;padding-inline:3px!important}
}

/* ---- file manager: stable toolbar and compact empty state ---- */
body.macos-ui .files-toolbar,
body.macos-ui .files-toolbar-actions,
body.macos-ui .files-search-wrap{
  min-width:0!important;
  max-width:100%!important;
}
body.macos-ui .files-toolbar-actions #fileSearchInput{
  width:190px!important;
  max-width:100%!important;
  transition:border-color 150ms ease,background-color 150ms ease!important;
}
body.macos-ui #filesContainer{
  align-content:start!important;
  min-height:0!important;
}
body.macos-ui .files-empty-state{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:250px!important;
  padding:34px 20px!important;
  border-radius:14px!important;
  background:#232326!important;
}
body.macos-ui .files-empty-icon{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:64px!important;
  height:64px!important;
  margin-bottom:14px!important;
  color:#8e8e93!important;
  font-size:26px!important;
  border-radius:16px!important;
  background:#2f2f32!important;
  border:1px solid rgba(255,255,255,.055)!important;
}
body.macos-ui .files-empty-state h3{margin:0 0 7px!important;color:var(--mac6-text)!important;font-size:17px!important;font-weight:700!important}
body.macos-ui .files-empty-state p{margin:0!important;color:var(--mac6-secondary)!important;font-size:13px!important;text-align:center!important}
@media(max-width:767px){
  body.macos-ui .files-toolbar{
    display:block!important;
    width:100%!important;
    margin-bottom:14px!important;
  }
  body.macos-ui .files-toolbar-title{margin-bottom:11px!important}
  body.macos-ui .files-toolbar-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
  }
  body.macos-ui .files-toolbar-actions .files-search-wrap{
    grid-column:1/-1!important;
    width:100%!important;
  }
  body.macos-ui .files-toolbar-actions #fileSearchInput{
    width:100%!important;
    max-width:none!important;
    min-height:44px!important;
    padding-left:40px!important;
  }
  body.macos-ui .files-toolbar-actions #toggleHiddenBtn,
  body.macos-ui .files-toolbar-actions label{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    min-height:42px!important;
  }
  body.macos-ui .files-toolbar-actions #toggleHiddenBtn span{display:inline!important}
  body.macos-ui .files-empty-state{min-height:220px!important;padding:30px 18px!important}
}

/* ---- API Docs: actual macOS split-view / mobile drawer ---- */
body.macos-ui.macos-page-docs{
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#0b0b0d!important;
}
body.macos-ui.macos-page-docs > .docs-shell,
body.macos-ui.macos-page-docs > .flex.docs-shell{
  display:flex!important;
  width:min(calc(100vw - 24px),1500px)!important;
  max-width:min(calc(100vw - 24px),1500px)!important;
  height:calc(100dvh - 24px)!important;
  min-height:0!important;
  margin:12px auto!important;
  overflow:hidden!important;
  border:1px solid var(--mac6-border-strong)!important;
  border-radius:var(--mac6-radius-window)!important;
  background:var(--mac6-window)!important;
  box-shadow:0 28px 80px rgba(0,0,0,.46)!important;
}
body.macos-ui.macos-page-docs #docsSidebar{
  position:relative!important;
  inset:auto!important;
  flex:0 0 270px!important;
  width:270px!important;
  min-width:270px!important;
  max-width:270px!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  transform:none!important;
  background:#202023!important;
  border:0!important;
  border-right:1px solid var(--mac6-border)!important;
  border-radius:0!important;
  box-shadow:none!important;
}
body.macos-ui.macos-page-docs .docs-sidebar-titlebar{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  min-height:64px!important;
  padding:9px 44px 9px 82px!important;
  border-bottom:1px solid var(--mac6-border)!important;
  background:#27272a!important;
}
body.macos-ui.macos-page-docs .docs-sidebar-lights{
  position:absolute!important;
  left:16px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  display:flex!important;
  gap:7px!important;
}
body.macos-ui.macos-page-docs .docs-sidebar-lights span{
  display:block!important;
  width:11px!important;
  height:11px!important;
  border-radius:50%!important;
  background:var(--mac6-red)!important;
}
body.macos-ui.macos-page-docs .docs-sidebar-lights span:nth-child(2){background:var(--mac6-yellow)!important}
body.macos-ui.macos-page-docs .docs-sidebar-lights span:nth-child(3){background:var(--mac6-green)!important}
body.macos-ui.macos-page-docs .docs-sidebar-title{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  min-width:0!important;
  color:var(--mac6-text)!important;
  text-decoration:none!important;
}
body.macos-ui.macos-page-docs .docs-sidebar-title-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 30px!important;
  width:30px!important;
  height:30px!important;
  color:#64d2ff!important;
  border-radius:8px!important;
  background:rgba(100,210,255,.10)!important;
}
body.macos-ui.macos-page-docs .docs-sidebar-title strong,
body.macos-ui.macos-page-docs .docs-sidebar-title small{display:block!important;min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
body.macos-ui.macos-page-docs .docs-sidebar-title strong{font-size:13px!important;line-height:1.2!important}
body.macos-ui.macos-page-docs .docs-sidebar-title small{margin-top:2px!important;color:var(--mac6-tertiary)!important;font-size:9px!important}
body.macos-ui.macos-page-docs .docs-sidebar-close{
  position:absolute!important;
  top:50%!important;
  right:10px!important;
  transform:translateY(-50%)!important;
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  padding:0!important;
  color:#8e8e93!important;
  background:#303033!important;
  border:1px solid rgba(255,255,255,.06)!important;
  border-radius:9px!important;
}
body.macos-ui.macos-page-docs .docs-sidebar-body{
  width:100%!important;
  height:calc(100% - 64px)!important;
  min-width:0!important;
  padding:12px 14px 22px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
}
body.macos-ui.macos-page-docs .docs-sidebar-body nav{min-width:0!important}
body.macos-ui.macos-page-docs .sidebar-link{
  min-width:0!important;
  padding:9px 10px!important;
  border-radius:8px!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
body.macos-ui.macos-page-docs .docs-main{
  flex:1 1 auto!important;
  width:0!important;
  min-width:0!important;
  max-width:none!important;
  height:100%!important;
  padding:28px clamp(22px,3vw,42px) 42px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  background:#18181a!important;
}
body.macos-ui.macos-page-docs .docs-main section{max-width:980px!important;margin-left:auto!important;margin-right:auto!important;scroll-margin-top:18px!important}
body.macos-ui.macos-page-docs .docs-main .glass{max-width:100%!important;overflow:hidden!important}
body.macos-ui.macos-page-docs .docs-main pre{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  white-space:pre!important;
  -webkit-overflow-scrolling:touch!important;
}
body.macos-ui.macos-page-docs .docs-main pre code{white-space:inherit!important;overflow-wrap:normal!important;word-break:normal!important}
body.macos-ui.macos-page-docs .docs-main table{width:100%!important;max-width:100%!important}
body.macos-ui.macos-page-docs .docs-mobile-head{display:none!important}
body.macos-ui.macos-page-docs .docs-backdrop{display:none!important}
body.macos-ui.macos-page-docs .docs-menu-button{display:none!important}

@media(max-width:1023px){
  body.macos-ui.macos-page-docs > .docs-shell,
  body.macos-ui.macos-page-docs > .flex.docs-shell{
    display:block!important;
    width:calc(100vw - 12px)!important;
    max-width:calc(100vw - 12px)!important;
    height:calc(100dvh - 12px)!important;
    margin:6px!important;
    border-radius:14px!important;
  }
  body.macos-ui.macos-page-docs #docsSidebar{
    position:fixed!important;
    top:8px!important;
    bottom:8px!important;
    left:8px!important;
    z-index:130!important;
    width:min(86vw,330px)!important;
    min-width:0!important;
    max-width:min(86vw,330px)!important;
    height:calc(100dvh - 16px)!important;
    transform:translate3d(calc(-100% - 18px),0,0)!important;
    opacity:.98!important;
    pointer-events:none!important;
    border:1px solid var(--mac6-border-strong)!important;
    border-radius:14px!important;
    box-shadow:24px 0 70px rgba(0,0,0,.52)!important;
    transition:transform 210ms var(--mac6-ease)!important;
  }
  body.macos-ui.macos-page-docs.docs-sidebar-open #docsSidebar{
    transform:translate3d(0,0,0)!important;
    pointer-events:auto!important;
  }
  body.macos-ui.macos-page-docs .docs-sidebar-close{display:inline-flex!important}
  body.macos-ui.macos-page-docs .docs-main{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:100%!important;
    padding:0 14px 28px!important;
  }
  body.macos-ui.macos-page-docs .docs-mobile-head{
    position:sticky!important;
    top:0!important;
    z-index:40!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    min-height:62px!important;
    margin:0 -14px 18px!important;
    padding:8px 14px 8px 62px!important;
    color:var(--mac6-text)!important;
    background:rgba(36,36,38,.98)!important;
    border-bottom:1px solid var(--mac6-border)!important;
  }
  body.macos-ui.macos-page-docs .docs-mobile-head > div{display:flex!important;align-items:center!important;gap:8px!important;font-weight:700!important}
  body.macos-ui.macos-page-docs .docs-mobile-head small{color:var(--mac6-tertiary)!important;font-size:9px!important}
  body.macos-ui.macos-page-docs .docs-menu-button{
    position:fixed!important;
    top:16px!important;
    left:16px!important;
    z-index:150!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
    padding:0!important;
    color:var(--mac6-text)!important;
    background:#303033!important;
    border:1px solid var(--mac6-border)!important;
    border-radius:10px!important;
    box-shadow:0 8px 22px rgba(0,0,0,.24)!important;
  }
  body.macos-ui.macos-page-docs.docs-sidebar-open .docs-menu-button{opacity:0!important;pointer-events:none!important}
  body.macos-ui.macos-page-docs .docs-backdrop{
    position:fixed!important;
    inset:0!important;
    z-index:120!important;
    display:block!important;
    opacity:0!important;
    pointer-events:none!important;
    background:rgba(0,0,0,.58)!important;
    transition:opacity 170ms ease!important;
  }
  body.macos-ui.macos-page-docs.docs-sidebar-open .docs-backdrop{opacity:1!important;pointer-events:auto!important}
  body.macos-ui.macos-page-docs .docs-main section{scroll-margin-top:74px!important}
  body.macos-ui.macos-page-docs .docs-main .glass{padding:16px!important;border-radius:12px!important}
  body.macos-ui.macos-page-docs .docs-main table{display:block!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  body.macos-ui.macos-page-docs .docs-main table th,
  body.macos-ui.macos-page-docs .docs-main table td{min-width:120px!important}
}

/* ---- mobile modal sizing/titlebar lane ---- */
@media(max-width:767px){
  body.macos-ui [data-modal]{padding:6px!important}
  body.macos-ui [data-modal-content]{
    width:calc(100vw - 12px)!important;
    max-width:calc(100vw - 12px)!important;
    max-height:calc(100dvh - 12px)!important;
    border-radius:14px!important;
  }
  body.macos-ui .macos-titlebar{
    min-height:62px!important;
    padding:9px 48px 9px 86px!important;
  }
  body.macos-ui .macos-titlebar .macos-traffic-lights{left:14px!important;gap:7px!important;width:55px!important}
  body.macos-ui .macos-titlebar .macos-traffic-light{flex-basis:11px!important;width:11px!important;height:11px!important;min-width:11px!important;min-height:11px!important}
  body.macos-ui .macos-titlebar .macos-close,
  body.macos-ui .macos-titlebar button[onclick*="closeModal"]{right:10px!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important}
  body.macos-ui .macos-titlebar-freekeyModal,
  body.macos-ui .macos-titlebar-appSettingsModal,
  body.macos-ui .macos-titlebar-auctionModal{min-height:72px!important}
}

/* Keep the whole app responsive even for long URLs/keys/labels. */
body.macos-ui .dashboard-content,
body.macos-ui .dashboard-content > *,
body.macos-ui .dashboard-content .grid,
body.macos-ui .dashboard-content .flex,
body.macos-ui #keysContainer,
body.macos-ui #filesContainer,
body.macos-ui #logsContainer{
  min-width:0!important;
  max-width:100%!important;
}
body.macos-ui a,
body.macos-ui code,
body.macos-ui .font-mono{overflow-wrap:anywhere!important}

@media(prefers-reduced-motion:reduce){
  body.macos-ui [data-modal],
  body.macos-ui [data-modal-content],
  body.macos-ui #sidebar,
  body.macos-ui #docsSidebar,
  body.macos-ui .docs-backdrop,
  body.macos-ui .key-device-fill{transition:none!important;animation:none!important}
}

/* =========================================================
   DEVNOOD V7 hotfix: modal titlebar/action layout + docs/mobile overflow
   ========================================================= */

/* Stable titlebar lanes: keep title, icon and subtitle away from the
   macOS traffic lights and from right-side action buttons. */
body.macos-ui .macos-titlebar{
  align-items:flex-start!important;
  padding-right:92px!important;
}
body.macos-ui .macos-titlebar .macos-title-main,
body.macos-ui .macos-titlebar .macos-title-content{
  flex:1 1 auto!important;
  min-width:0!important;
  max-width:100%!important;
}
body.macos-ui .macos-titlebar .macos-title-actions{
  flex:0 0 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  min-width:0!important;
  margin-left:auto!important;
  padding-right:42px!important;
}
body.macos-ui .macos-titlebar .macos-title-actions > *{
  flex:0 0 auto!important;
}
body.macos-ui .macos-titlebar .macos-title-actions .macos-close,
body.macos-ui .macos-titlebar .macos-title-actions button[onclick*="closeModal"]{
  position:absolute!important;
}
body.macos-ui .macos-titlebar .macos-title-main,
body.macos-ui .macos-titlebar h1.macos-title-main,
body.macos-ui .macos-titlebar h2.macos-title-main,
body.macos-ui .macos-titlebar h3.macos-title-main,
body.macos-ui .macos-titlebar h4.macos-title-main{
  align-self:center!important;
}
body.macos-ui .macos-titlebar h1,
body.macos-ui .macos-titlebar h2,
body.macos-ui .macos-titlebar h3,
body.macos-ui .macos-titlebar h4{
  white-space:normal!important;
  word-break:break-word!important;
  overflow-wrap:anywhere!important;
  text-overflow:initial!important;
}
body.macos-ui .macos-titlebar .app-settings-title,
body.macos-ui .macos-titlebar .online-title-row,
body.macos-ui .macos-titlebar .min-w-0,
body.macos-ui .macos-titlebar > .flex:first-of-type{
  min-width:0!important;
}
body.macos-ui .macos-titlebar .app-settings-title{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  padding-right:8px!important;
}
body.macos-ui .macos-titlebar .app-settings-title h1,
body.macos-ui .macos-titlebar .app-settings-title p{
  max-width:100%!important;
}
body.macos-ui .macos-titlebar .app-settings-title-icon,
body.macos-ui .macos-titlebar h3 > i:first-child,
body.macos-ui .macos-titlebar h4 > i:first-child{
  flex:0 0 auto!important;
}

/* Modal body/card safety: prevent internal headings and value cells from
   forcing columns wider than the viewport. */
body.macos-ui [data-modal-content] .grid,
body.macos-ui [data-modal-content] .flex,
body.macos-ui [data-modal-content] .space-y-2,
body.macos-ui [data-modal-content] .space-y-3,
body.macos-ui [data-modal-content] .space-y-4,
body.macos-ui [data-modal-content] .space-y-5,
body.macos-ui [data-modal-content] .space-y-6,
body.macos-ui [data-modal-content] section,
body.macos-ui [data-modal-content] article,
body.macos-ui [data-modal-content] .rounded-xl,
body.macos-ui [data-modal-content] .rounded-2xl,
body.macos-ui [data-modal-content] .rounded-3xl{
  min-width:0!important;
}
body.macos-ui [data-modal-content] .text-2xl,
body.macos-ui [data-modal-content] .text-3xl,
body.macos-ui [data-modal-content] .font-bold,
body.macos-ui [data-modal-content] .font-semibold{
  overflow-wrap:anywhere!important;
}
body.macos-ui [data-modal-content] input,
body.macos-ui [data-modal-content] textarea,
body.macos-ui [data-modal-content] select,
body.macos-ui [data-modal-content] pre,
body.macos-ui [data-modal-content] code{
  min-width:0!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
}

/* Free key, download, cache, promo and app settings often showed clipped
   stat labels on Android. Keep them readable instead of overlapping. */
body.macos-ui #freekeyModal [data-modal-content] .text-xs,
body.macos-ui #downloadModal [data-modal-content] .text-xs,
body.macos-ui #cacheModal [data-modal-content] .text-xs,
body.macos-ui #promoModal [data-modal-content] .text-xs,
body.macos-ui #appSettingsModal [data-modal-content] .text-xs{
  line-height:1.35!important;
}
body.macos-ui #cacheModal [data-modal-content] .grid > *,
body.macos-ui #downloadModal [data-modal-content] .grid > *,
body.macos-ui #freekeyModal [data-modal-content] .grid > *,
body.macos-ui #promoModal [data-modal-content] .grid > *{
  min-width:0!important;
}
body.macos-ui #cacheModal [data-modal-content] [id$="-stats"] > div,
body.macos-ui #downloadModal [data-modal-content] .text-center,
body.macos-ui #freekeyModal [data-modal-content] .text-center{
  overflow:hidden!important;
}

/* Dashboard cards and file list: long labels must wrap inside the card. */
body.macos-ui .dashboard-header .header-title,
body.macos-ui .dashboard-header .header-title h2,
body.macos-ui .dashboard-header .header-title p,
body.macos-ui .stats-container .stat-card,
body.macos-ui .stats-container .stat-card > div,
body.macos-ui #filesContainer .glass,
body.macos-ui #filesContainer .glass *{
  min-width:0!important;
}
body.macos-ui .stats-container .stat-card > div:last-child{
  white-space:normal!important;
  word-break:break-word!important;
  overflow-wrap:anywhere!important;
}
body.macos-ui #filesContainer .font-bold,
body.macos-ui #filesContainer .font-mono,
body.macos-ui #filesContainer .text-sm,
body.macos-ui #filesContainer .text-xs{
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}

/* Docs page: guarantee the drawer starts hidden on mobile and content remains
   readable instead of sitting under the drawer/overlay. */
@media(max-width:1023px){
  body.macos-ui.macos-page-docs #docsSidebar{
    transform:translate3d(calc(-100% - 24px),0,0)!important;
  }
  body.macos-ui.macos-page-docs.docs-sidebar-open #docsSidebar{
    transform:translate3d(0,0,0)!important;
  }
  body.macos-ui.macos-page-docs .docs-main{
    position:relative!important;
    z-index:1!important;
    min-width:0!important;
    width:100%!important;
  }
  body.macos-ui.macos-page-docs .docs-main .glass,
  body.macos-ui.macos-page-docs .docs-main pre,
  body.macos-ui.macos-page-docs .docs-main table,
  body.macos-ui.macos-page-docs .docs-main h1,
  body.macos-ui.macos-page-docs .docs-main h2,
  body.macos-ui.macos-page-docs .docs-main h3,
  body.macos-ui.macos-page-docs .docs-main p,
  body.macos-ui.macos-page-docs .docs-main code{
    max-width:100%!important;
    overflow-wrap:anywhere!important;
  }
}

/* Small-phone pass: make titlebars grow, keep action buttons on their own lane,
   and collapse 2-column utility layouts that were still causing overlap. */
@media(max-width:767px){
  body.macos-ui .macos-titlebar{
    min-height:72px!important;
    padding:12px 92px 12px 84px!important;
    gap:8px!important;
  }
  body.macos-ui .macos-titlebar .macos-title-actions{
    padding-right:32px!important;
    gap:6px!important;
  }
  body.macos-ui .macos-titlebar .macos-close,
  body.macos-ui .macos-titlebar button[onclick*="closeModal"]{
    right:8px!important;
    top:12px!important;
    transform:none!important;
  }
  body.macos-ui .macos-titlebar .macos-traffic-lights{
    left:12px!important;
    top:18px!important;
    transform:none!important;
  }
  body.macos-ui .macos-titlebar-appSettingsModal,
  body.macos-ui .macos-titlebar-settingsModal,
  body.macos-ui .macos-titlebar-downloadModal,
  body.macos-ui .macos-titlebar-cacheModal,
  body.macos-ui .macos-titlebar-promoModal,
  body.macos-ui .macos-titlebar-freekeyModal{
    min-height:84px!important;
  }
  body.macos-ui #cacheModal [class*="grid-cols-2"],
  body.macos-ui #downloadModal .grid.grid-cols-2,
  body.macos-ui #freekeyModal .grid.grid-cols-1.sm\:grid-cols-2.xl\:grid-cols-4,
  body.macos-ui #promoModal .grid.grid-cols-1.md\:grid-cols-5,
  body.macos-ui #settingsModal .grid.grid-cols-2,
  body.macos-ui #appSettingsModal .grid.grid-cols-2{
    grid-template-columns:minmax(0,1fr)!important;
  }
  body.macos-ui #settingsModal .settings-tabs,
  body.macos-ui #appSettingsModal .app-settings-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.macos-ui #settingsModal .settings-tab-btn,
  body.macos-ui #appSettingsModal .app-settings-tab-btn{
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  body.macos-ui #downloadModal [data-modal-content] .grid.grid-cols-2 > *,
  body.macos-ui #freekeyModal [data-modal-content] #freekey-overview > *,
  body.macos-ui #cacheModal [data-modal-content] .grid > *{
    min-height:auto!important;
  }
}
