/* Moonya HQ shell consistency contract.
   Loaded last so every product view shares one outer frame while preserving
   each feature's internal layout and behavior. */

body.theme-mono.moonya-v2 {
  --moonya-page-max: 1300px;
  --moonya-page-head-top: 12px;
  --moonya-page-head-bottom: 22px;
}

/* One content rail for every active HQ section. */
body.theme-mono.moonya-v2 :is(
  #v-dash .moonya-dashboard,
  #v-odobravanje,
  #v-analitika .anv2-page,
  #v-reports .arr-page,
  #v-brain .brv2-page,
  #v-studio .stc2-page,
  #v-calendar .moonya-cal-page,
  #v-automacije .auv2-page,
  #v-inbox .inbx-page,
  #v-gallery .vg2-page,
  #v-settings .stv2-page,
  #v-dm .dmv2-page,
  #v-kontakti .ktv2-page
) {
  width: min(100%, var(--moonya-page-max)) !important;
  max-width: var(--moonya-page-max) !important;
  margin-inline: auto !important;
}

body.theme-mono.moonya-v2 #v-feedback {
  width: min(100%, var(--moonya-page-max)) !important;
  max-width: var(--moonya-page-max) !important;
  margin-inline: auto !important;
  padding-top: var(--moonya-page-head-top) !important;
}

/* The utility bar keeps identical height on every page. Rich page headers
   carry the visible title, so the old breadcrumb/title is never duplicated. */
body.theme-mono.moonya-v2 .top,
body.theme-mono.moonya-v2 .main:has(#v-studio.view.on) .top {
  width: min(100%, var(--moonya-page-max)) !important;
  min-height: 64px !important;
  margin: 0 auto 10px !important;
  padding: 4px 0 !important;
  justify-content: space-between !important;
  overflow: visible !important;
}

body.theme-mono.moonya-v2 #vhead {
  display: none !important;
}

body.theme-mono.moonya-v2 :is(.tools, .moonya-notifications) {
  overflow: visible !important;
}

/* Shared vertical rhythm for feature command headers. */
body.theme-mono.moonya-v2 :is(
  #v-analitika .anv2-command,
  #v-reports .arr-command,
  #v-brain .brv2-command,
  #v-studio .stc2-command,
  #v-automacije .auv2-command,
  #v-gallery .vg2-command,
  #v-settings .stv2-command,
  #v-dm .dmv2-command
) {
  margin: var(--moonya-page-head-top) 0 var(--moonya-page-head-bottom) !important;
}

body.theme-mono.moonya-v2 :is(
  #v-dash .moonya-command-head,
  #v-odobravanje .moonya-ap-command-head
) {
  margin: 0 !important;
  padding: var(--moonya-page-head-top) 2px var(--moonya-page-head-bottom) !important;
}

body.theme-mono.moonya-v2 #v-calendar .moonya-cal-page {
  padding: 0 0 38px !important;
}

body.theme-mono.moonya-v2 #v-calendar .moonya-cal-command {
  margin: var(--moonya-page-head-top) 0 var(--moonya-page-head-bottom) !important;
}

body.theme-mono.moonya-v2 #v-inbox .inbx-page {
  gap: 16px !important;
  padding-top: var(--moonya-page-head-top) !important;
}

body.theme-mono.moonya-v2 #v-inbox .inbx-head {
  margin-bottom: 6px !important;
}

/* Real Moonya assets: horizontal when open, square when compact. */
body.theme-mono.moonya-v2 .moonya-wordmark {
  overflow: visible !important;
}

body.theme-mono.moonya-v2 .moonya-wordmark img {
  width: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: left center !important;
}

body.theme-mono.moonya-v2:not(.side-compact) .moonya-logo-horizontal {
  display: block !important;
}

body.theme-mono.moonya-v2:not(.side-compact) .moonya-logo-square {
  display: none !important;
}

body.theme-mono.moonya-v2.side-compact .moonya-logo-horizontal {
  display: none !important;
}

body.theme-mono.moonya-v2.side-compact .moonya-logo-square {
  display: block !important;
  width: 38px !important;
  height: 38px !important;
  object-position: center !important;
}

/* Collapse control lives outside the clipped rail and straddles its edge. */
body.theme-mono.moonya-v2 .side-toggle {
  position: fixed !important;
  z-index: 42 !important;
  top: 31px !important;
  left: calc(14px + var(--moonya-side-width) - 15px) !important;
  width: 30px !important;
  height: 30px !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 2px solid rgba(243, 246, 252, .95) !important;
  border-radius: 10px !important;
  color: #eaf5ff !important;
  background: #0d3375 !important;
  box-shadow: 0 8px 22px rgba(4, 21, 63, .28) !important;
  transition:
    left .62s var(--moonya-ease),
    transform .5s var(--moonya-ease),
    color .3s ease,
    background .3s ease !important;
}

body.theme-mono.moonya-v2 .side-toggle:hover {
  color: #fff !important;
  background: #16499c !important;
  transform: translateY(-1px) !important;
}

body.theme-mono.moonya-v2.side-compact .side-toggle {
  position: fixed !important;
  top: 31px !important;
  right: auto !important;
  left: calc(14px + var(--moonya-side-width) - 15px) !important;
}

body.theme-mono.moonya-v2.side-compact .side-toggle svg {
  transform: rotate(180deg) !important;
}

body.theme-mono.moonya-v2.side-hidden .side-toggle {
  display: none !important;
}

/* Compact counters remain completely inside the rail. */
body.theme-mono.moonya-v2.side-compact .navi {
  position: relative !important;
  overflow: visible !important;
}

body.theme-mono.moonya-v2.side-compact :is(.moonya-nav-count, .inbx-nav-unread) {
  position: absolute !important;
  top: 1px !important;
  right: 1px !important;
  min-width: 15px !important;
  max-width: 22px !important;
  height: 15px !important;
  margin: 0 !important;
  padding: 0 3px !important;
  overflow: hidden !important;
  border: 1.5px solid #0a2d70 !important;
  font-size: 7px !important;
  line-height: 12px !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
}

/* The top-right account menu is canonical. Sidebar footer only owns language. */
body.theme-mono.moonya-v2 .moonya-side-foot {
  padding-top: 8px !important;
}

body.theme-mono.moonya-v2 #langPicker {
  margin-bottom: 0 !important;
}

/* Content Studio composer must remain readable against its dark surface,
   even when global form styles are loaded before/after feature CSS. */
body.theme-mono.moonya-v2 #v-studio .stc2-box textarea {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  caret-color: #8ee8ff !important;
  opacity: 1 !important;
}

body.theme-mono.moonya-v2 #v-studio .stc2-box textarea::placeholder {
  color: #b7c7e7 !important;
  -webkit-text-fill-color: #b7c7e7 !important;
  opacity: 1 !important;
}

body.theme-mono.moonya-v2 #v-studio .stc2-tool {
  color: #ffffff !important;
}

body.theme-mono.moonya-v2 #v-studio .stc2-tool svg {
  color: inherit !important;
  stroke: currentColor !important;
}

@media (max-width: 920px) {
  body.theme-mono.moonya-v2 {
    --moonya-page-head-top: 8px;
    --moonya-page-head-bottom: 18px;
  }

  body.theme-mono.moonya-v2 .side-toggle {
    display: none !important;
  }
}

@media (max-width: 620px) {
  body.theme-mono.moonya-v2 .top,
  body.theme-mono.moonya-v2 .main:has(#v-studio.view.on) .top {
    min-height: 52px !important;
    margin-bottom: 6px !important;
  }
}
