/* MINOS Desk branding — тільки Desk UI. НЕ чіпає print/PDF (.print-format). */
:root {
  --minos-navy-950: #0c1748;
  --minos-navy-900: #111f5b;
  --minos-navy-800: #16255c;
  --minos-navy-700: #1c3168;
  --minos-blue-600: #3157a5;
  --minos-blue-100: #e8eef9;
  --minos-surface: #ffffff;
  --minos-background: #f6f8fc;
  --minos-border: #dde4ef;
  --minos-text: #111827;
  --minos-muted: #64748b;
  --minos-success: #15803d;
  --minos-warning: #b45309;
  --minos-danger: #b91c1c;

  /* мапимо у Frappe-змінні, де це безпечно */
  --primary: var(--minos-navy-800);
  --primary-color: var(--minos-navy-800);
  --btn-primary: var(--minos-navy-800);
}

/* фон робочої області */
body[data-route] .layout-main,
.layout-main-section-wrapper,
.page-container { background: var(--minos-background); }

/* верхня панель: бренд-навбар */
.navbar {
  background: var(--minos-surface);
  border-bottom: 1px solid var(--minos-border);
  box-shadow: 0 1px 2px rgba(12, 23, 72, 0.04);
}
.navbar .navbar-brand,
.navbar .app-logo { display: inline-flex; align-items: center; gap: 10px; }
.navbar .navbar-brand img,
.navbar img.app-logo { height: 32px; width: auto; }
.minos-wordmark {
  font-weight: 600; font-size: 16px; color: var(--minos-navy-900);
  letter-spacing: 0.2px; white-space: nowrap;
}
@media (max-width: 767px) { .minos-wordmark { display: none; } }

/* пошук українською вигляд */
.navbar .search-bar input,
#navbar-search { border-radius: 8px; border-color: var(--minos-border); }

/* картки / секції */
.widget, .dashboard-widget-box, .form-section, .card,
.number-widget-box, .shortcut-widget-box, .links-widget-box {
  background: var(--minos-surface);
  border: 1px solid var(--minos-border);
  border-radius: 11px;
  box-shadow: 0 1px 3px rgba(12, 23, 72, 0.05);
}

/* активний пункт бічного меню — світло-блакитний фон + navy текст/іконка */
.desk-sidebar .sidebar-item-container.selected > .desk-sidebar-item,
.standard-sidebar-item.selected,
.sidebar-item-container.selected .sidebar-item-label {
  background: var(--minos-blue-100);
  color: var(--minos-navy-800);
  border-radius: 8px;
}
.desk-sidebar .selected .sidebar-item-icon svg,
.standard-sidebar-item.selected svg { stroke: var(--minos-navy-800); }

/* primary кнопки — navy, hover темніший */
.btn-primary, .btn-modal-primary, .primary-action {
  background: var(--minos-navy-800);
  border-color: var(--minos-navy-800);
}
.btn-primary:hover, .btn-modal-primary:hover, .primary-action:hover {
  background: var(--minos-navy-950);
  border-color: var(--minos-navy-950);
}
.btn-primary:focus, .primary-action:focus {
  box-shadow: 0 0 0 2px var(--minos-blue-100);
}

/* заголовки сторінок */
.page-title .title-text,
.page-head .title-area .title-text { color: var(--minos-navy-900); font-weight: 600; }

/* посилання-акценти */
a, .text-primary { color: var(--minos-blue-600); }

/* status badges — семантичні кольори (не змінюємо, лише узгодження) */
.indicator-pill.green, .indicator.green { --bg: #e7f6ec; }
.indicator-pill.red, .indicator.red { --bg: #fbeaea; }
.indicator-pill.orange, .indicator.orange { --bg: #fdf1e3; }

/* порожні стани — однаковий стиль */
.no-result, .msg-box { color: var(--minos-muted); }

/* login page брендинг */
.for-login .page-card, .login-content .page-card {
  border-radius: 12px; border: 1px solid var(--minos-border);
  box-shadow: 0 6px 24px rgba(12, 23, 72, 0.08);
}
.for-login .page-card-head img { max-height: 56px; }
/* login primary — navy. website.bundle хардкодить .btn-primary#171717 і
   вантажиться разом зі скомпільованим login.bundle, тож для website-контексту
   перекриваємо явним longhand (border теж), щоб бренд-колір гарантовано виграв. */
.page-card .btn-primary,
.login-content .btn-primary,
.btn-login {
  background-color: var(--minos-navy-800) !important;
  border-color: var(--minos-navy-800) !important;
  color: #fff !important;
}
.page-card .btn-primary:hover,
.login-content .btn-primary:hover,
.btn-login:hover {
  background-color: var(--minos-navy-950) !important;
  border-color: var(--minos-navy-950) !important;
}

/* ЗАХИСТ ДРУКУ: жоден бренд-стиль не застосовується до print-form */
.print-format, .print-format * { }
@media print { body { background: #fff !important; } }

/* адмінський перемикач «Переглянути кабінет як [роль]» */
#minos-view-banner{position:fixed;top:0;left:0;right:0;z-index:1050;display:none;align-items:center;justify-content:center;gap:16px;background:#b45309;color:#fff;padding:6px 16px;font-size:13px;font-weight:500}
#minos-view-banner .mvb-exit{background:#fff;color:#b45309;border:none;font-weight:600}
#minos-cab-switch .btn{white-space:nowrap}

/* A11y-контраст (WCAG 1.4.3): Frappe малює футер #7c7c7c на білому = 4.17 (<4.5).
   MINOS_DESIGN забороняє бляклий сірий для змістовного тексту — робимо темнішим. */
/* --- A11y-контраст (WCAG 1.4.3) — токен-рівневий фікс ---------------------
   Frappe за замовчуванням має --text-light/--gray-600 = #7c7c7c (4.17:1 на білому)
   і --gray-500 = #999999 (2.56:1 на сірому), що НЕ проходить AA і прямо суперечить
   MINOS_DESIGN.md («важливий текст не бляклий сірий»). Піднімаємо токени; для
   правил, де website.bundle хардкодить колір (.text-muted тощо), — точковий
   override з !important (той самий свідомий патерн, що й для .btn-login). */
:root {
  --minos-text-secondary: #4b5563;   /* ~7:1 на білому */
  --minos-text-tertiary:  #5b6472;   /* ~5:1 на білому */
  --text-light: var(--minos-text-secondary);
  --gray-600: var(--minos-text-secondary);
  --gray-500: var(--minos-text-tertiary);
  --disabled-text-color: var(--minos-text-tertiary);
}
.text-muted,
.footer-powered,
.web-footer .footer-powered,
footer .footer-powered,
.login-divider,
.toggle-password,
a[href$="#forgot"] { color: var(--minos-text-secondary) !important; }
.placeholder > span,
.list-placeholder span { color: var(--minos-text-tertiary) !important; }


/* ---------------------------------------------------------------------------
   Dropdown сповіщень: прибрати чужі вкладки й стиснути порожній стан.
   Приховування — за роллю через body-клас, без правки ядра Frappe.
   Це НЕ маскування прав: самі сповіщення (погодження, прострочення, винятки,
   доставки, бухгалтерські задачі) працюють як працювали.
   --------------------------------------------------------------------------- */

/* «What's New» — новини Frappe, а не інструмент MINOS. Приховано для ВСІХ,
   включно з адміністратором. */
.notification-item-tabs #changelog_feed { display: none !important; }

/* «Події» — лише адміністративний контур. */
body:not(.minos-admin) .notification-item-tabs #todays_events { display: none !important; }

/* Якщо лишається одна вкладка — не показувати її як «таби». */
body:not(.minos-admin) .notification-item-tabs {
  border-bottom: 1px solid var(--border-color);
  padding-bottom: 0;
}
body:not(.minos-admin) .notification-item-tabs #notifications {
  cursor: default;
}

/* Компактний порожній стан */
.notification-null-state {
  padding: 18px 14px !important;
  min-height: 0 !important;
}
.notification-null-state img.null-state,
.notification-null-state .null-state {
  width: 44px !important;
  height: 44px !important;
  margin: 0 auto 10px !important;
  opacity: .85;
}
.notification-null-state .title {
  font-size: 13px !important;
  font-weight: 600 !important;
  margin-bottom: 2px !important;
}
.notification-null-state .text-muted,
.notification-null-state .description {
  font-size: 12px !important;
  line-height: 1.35 !important;
  margin: 0 !important;
}

/* ---------------------------------------------------------------------------
   Навбар рядового працівника: пошук, сповіщення, профіль.
   «Довідка» (документація/форум/новини Frappe) — не інструмент MINOS; пункти
   вимкнені ще й у Navbar Settings (stage33). Роль — body.minos-admin (minos-desk.js).
   --------------------------------------------------------------------------- */
.navbar .dropdown-help,
.navbar .vertical-bar { display: none !important; }
body:not(.minos-admin) #toolbar-user a.dropdown-item[href="/apps"],
body:not(.minos-admin) #toolbar-user .dropdown-item[onclick*="view_website"],
body:not(.minos-admin) #toolbar-user .dropdown-item[onclick*="setup_session_defaults"] {
  display: none !important;
}

/* Workspace: «+ Нові»/«Редагувати» (приватні workspace Frappe) — не для рядового працівника */
body:not(.minos-admin) .btn-new-workspace,
body:not(.minos-admin) .btn-edit-workspace { display: none !important; }
