/* =============================================================================
   ENGELS · ТЕНДЕР-ПОРТАЛ · Custom theme for Zammad (variant C — Minimalism)
   ============================================================================= */

/* Brand fonts */
@import url('https://fonts.googleapis.com/css2?family=Tektur:wght@400;500;600;700;800&family=PT+Sans:wght@400;700&display=swap');

:root {
  --eng-red:#FF1921;
  --eng-red-soft:#FFE4E5;
  --eng-blue:#11386A;
  --eng-blue-dark:#0B2A52;
  --eng-blue-light:#E8EEF5;
  --eng-grey-50:#F7F8F9;
  --eng-grey-100:#EAEBEE;
  --eng-grey-200:#D6D8DD;
  --eng-grey-400:#9499A1;
  --eng-grey-700:#3E434C;
  --eng-grey-900:#16181C;
}

/* ---------- Global typography ---------- */
html, body, .main, .container, .content, .modal,
input, select, textarea, button, .form-control,
.dropdown-menu, .table, .label, .badge {
  font-family:'PT Sans','Inter','Segoe UI',system-ui,sans-serif !important;
  -webkit-font-smoothing:antialiased;
}
h1, h2, h3, h4, h5, h6,
.page-header, .navigation .header, .panel-heading,
.ticket-title, .modal-title,
.headline, .menu .name {
  font-family:'Tektur','PT Sans',sans-serif !important;
  font-weight:600 !important;
  letter-spacing:.1px !important;
}

/* ---------- Login page ---------- */
.login.fullscreen, .login.fullscreen .hero-unit,
.login-window, .login-pre {
  background:#FBFBFC !important;
  color:var(--eng-grey-900) !important;
}
.login.fullscreen { position:relative; overflow:hidden; }
#login { background:transparent !important; position:relative; z-index:1; }

.login.fullscreen::before {
  content:""; position:absolute; pointer-events:none; z-index:0;
  width:700px; height:700px; top:-200px; left:-200px;
  background:radial-gradient(circle,var(--eng-blue-light) 0%,transparent 70%);
}
.login.fullscreen::after {
  content:""; position:absolute; pointer-events:none; z-index:0;
  width:600px; height:600px; bottom:-180px; right:-180px;
  background:radial-gradient(circle,#FFE4E5 0%,transparent 70%);
}

/* Login footer copy */
.login.fullscreen .pre-divider, .login.fullscreen p, .login.fullscreen .text-muted {
  color:var(--eng-grey-400) !important;
}
#login .container, #login form, .login-window form {
  background:#fff !important;
  border:1px solid var(--eng-grey-100) !important;
  border-radius:18px !important;
  box-shadow:0 20px 60px rgba(17,56,106,.10) !important;
  padding:42px 44px !important;
  max-width:460px !important;
  position:relative; z-index:1;
}
#login h1, #login h2 { color:var(--eng-grey-900) !important; }
#login .logo, .login-window .logo { margin-bottom:18px !important; }
#login input[type=text], #login input[type=email], #login input[type=password] {
  border:1px solid var(--eng-grey-200) !important;
  border-radius:10px !important;
  padding:13px 15px !important;
  background:#fff !important;
  color:var(--eng-grey-900) !important;
  font-size:14px !important;
  transition:all .15s;
}
#login input::placeholder,
#login input[type=text]::placeholder,
#login input[type=email]::placeholder,
#login input[type=password]::placeholder {
  color:var(--eng-grey-400) !important;
  opacity:1 !important;
}
#login input:focus {
  border-color:var(--eng-blue) !important;
  box-shadow:0 0 0 3px var(--eng-blue-light) !important;
  outline:0 !important;
}
#login .btn, #login button[type=submit], .login-window .btn--primary {
  background:var(--eng-blue) !important;
  color:#fff !important;
  border:0 !important;
  border-radius:10px !important;
  padding:13px 18px !important;
  font-family:'PT Sans',sans-serif !important;
  font-weight:700 !important;
  font-size:14px !important;
  letter-spacing:.2px !important;
  box-shadow:0 2px 6px rgba(17,56,106,.12) !important;
  width:100% !important;
}
#login .btn:hover, #login button[type=submit]:hover {
  background:var(--eng-blue-dark) !important;
  box-shadow:0 4px 12px rgba(17,56,106,.18) !important;
}
/* Reset incorrectly-stylized link buttons inside login */
#login a.btn, #login form a {
  background:transparent !important;
  color:var(--eng-blue) !important;
  border:0 !important;
  padding:6px 0 !important;
  box-shadow:none !important;
  width:auto !important;
  display:inline !important;
  font-weight:700 !important;
  font-size:13px !important;
}
#login a.btn:hover, #login form a:hover { color:var(--eng-blue-dark) !important; text-decoration:underline !important; }

/* Localize login page wording — Zammad core texts replaced via labels in .text-muted span */
#login label { font-weight:700 !important; color:var(--eng-grey-700) !important; font-size:13px !important; }

/* Скрыть служебный блок «You're already registered...» на странице логина — Тендер-Портал использует только корп. вход, без саморегистрации */
.login .js-footer { display: none !important; }

/* ---------- Sidebar / main navigation ---------- */
#navigation, .navigation,
#main .sidebar, .main .sidebar,
.menu, .leftSidebar, .activity-stream,
.tasks, .tasks-navigation,
.user-menu {
  background:#fff !important;
  border-right:1px solid var(--eng-grey-100) !important;
  color:var(--eng-grey-700) !important;
}
.tasks .task,
.tasks-navigation .task,
.user-menu li a {
  color:var(--eng-grey-700) !important;
  background:transparent !important;
  border-bottom:1px solid var(--eng-grey-50) !important;
}
.tasks .task.is-active, .tasks .task.active,
.tasks-navigation .task.is-active {
  background:var(--eng-blue-light) !important;
  color:var(--eng-blue) !important;
  border-left:3px solid var(--eng-blue) !important;
}
.tasks .task:hover:not(.is-active):not(.active) {
  background:var(--eng-grey-50) !important;
}
.tasks .task .task-text,
.tasks .task .icon { color:inherit !important; }

/* User-menu (avatar) bottom */
.user-menu .avatar { border:1px solid var(--eng-grey-100) !important; }
#navigation .menu .item,
.menu .item,
.navigation .menu a {
  color:var(--eng-grey-700) !important;
  font-family:'PT Sans',sans-serif !important;
  font-size:14px !important;
  border-radius:0 !important;
  position:relative;
  border-left:3px solid transparent !important;
  background:transparent !important;
}
#navigation .menu .item.is-active,
.menu .item.is-active, .menu .active,
.navigation .menu a.is-active {
  color:var(--eng-blue) !important;
  background:var(--eng-blue-light) !important;
  font-weight:700 !important;
  border-left-color:var(--eng-blue) !important;
}
#navigation .menu .item:hover:not(.is-active),
.menu .item:hover:not(.is-active) {
  background:var(--eng-grey-50) !important;
  color:var(--eng-grey-900) !important;
}

/* ---------- Top bar ---------- */
.main .header, .ticket-zoom .ticket-zoom-header,
.tabsSidebar-tabs, .page-header {
  background:#fff !important;
  border-bottom:1px solid var(--eng-grey-100) !important;
  box-shadow:0 1px 2px rgba(17,56,106,.04) !important;
}

/* ---------- Buttons ---------- */
.btn,
.btn--primary, .btn--success, .btn--danger,
.btn--default, .btn--secondary, .btn--text {
  border-radius:10px !important;
  font-family:'PT Sans',sans-serif !important;
  font-weight:700 !important;
  letter-spacing:.1px !important;
  padding:10px 18px !important;
  transition:all .15s;
}
.btn--primary, .btn--success {
  background:var(--eng-blue) !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:0 1px 3px rgba(17,56,106,.15) !important;
}
.btn--primary:hover, .btn--success:hover {
  background:var(--eng-blue-dark) !important;
  box-shadow:0 4px 12px rgba(17,56,106,.20) !important;
}
.btn--danger {
  background:var(--eng-red) !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:0 1px 3px rgba(255,25,33,.18) !important;
}
.btn--danger:hover { background:#D9131A !important; }
.btn--default, .btn--secondary {
  background:#fff !important;
  color:var(--eng-grey-700) !important;
  border:1px solid var(--eng-grey-200) !important;
}
.btn--default:hover, .btn--secondary:hover {
  background:var(--eng-grey-50) !important;
  border-color:var(--eng-grey-200) !important;
}
.btn--text { background:transparent !important; color:var(--eng-blue) !important; border:0 !important; }

/* ---------- Form controls ---------- */
input[type=text], input[type=email], input[type=password], input[type=number],
input[type=tel], input[type=search], input[type=url], input[type=date],
input[type=datetime-local], select, textarea, .form-control {
  border:1px solid var(--eng-grey-200) !important;
  border-radius:10px !important;
  background:#fff !important;
  color:var(--eng-grey-900) !important;
  padding:11px 13px !important;
  font-family:'PT Sans',sans-serif !important;
  font-size:14px !important;
  transition:all .15s;
}
input::placeholder, textarea::placeholder {
  color:var(--eng-grey-400) !important;
  opacity:1 !important;
}
input:focus, select:focus, textarea:focus, .form-control:focus {
  border-color:var(--eng-blue) !important;
  box-shadow:0 0 0 3px var(--eng-blue-light) !important;
  outline:0 !important;
}
label, .form-group label, .controls .label-subtle {
  font-family:'PT Sans',sans-serif !important;
  font-weight:700 !important;
  color:var(--eng-grey-700) !important;
  font-size:13px !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}

/* ---------- Tables (overview list) ---------- */
.table {
  background:#fff !important;
  border:1px solid var(--eng-grey-100) !important;
  border-radius:14px !important;
  overflow:hidden !important;
}
.table thead th {
  background:transparent !important;
  border-bottom:1px solid var(--eng-grey-100) !important;
  color:var(--eng-grey-400) !important;
  font-family:'PT Sans',sans-serif !important;
  font-weight:400 !important;
  font-size:12px !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  padding:14px 16px !important;
}
.table tbody td {
  border-top:1px solid var(--eng-grey-100) !important;
  padding:13px 16px !important;
  font-size:14px !important;
  color:var(--eng-grey-900) !important;
  vertical-align:middle !important;
}
.table tbody tr:hover { background:var(--eng-grey-50) !important; }

/* Ticket number column */
.table .number, .ticket-number {
  font-family:'Tektur',sans-serif !important;
  font-weight:600 !important;
  color:var(--eng-grey-900) !important;
}

/* ---------- Status pills ---------- */
.label, .badge,
.text-muted-light, .ticket-popover .state {
  border-radius:14px !important;
  padding:4px 11px !important;
  font-size:11px !important;
  font-family:'PT Sans',sans-serif !important;
  font-weight:700 !important;
  letter-spacing:.2px !important;
  text-transform:none !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
}
.label::before, .badge::before { content:""; width:7px; height:7px; border-radius:50%; background:currentColor; }

/* New = red, Open/In progress = blue, Pending = yellow, Closed = green */
.label-state-1, .label-pill[class*=new] { color:var(--eng-red) !important; background:var(--eng-red-soft) !important; }
.label-state-2, .label-pill[class*=open] { color:var(--eng-blue) !important; background:var(--eng-blue-light) !important; }
.label-state-3, .label-pill[class*=pending] { color:#8A6A00 !important; background:#FFF6DD !important; }
.label-state-4, .label-pill[class*=closed] { color:#1E7E34 !important; background:#E6F6EA !important; }

/* ---------- Ticket card / zoom ---------- */
.ticket-zoom { background:#FBFBFC !important; }
.ticket-zoom .article {
  background:#fff !important;
  border:1px solid var(--eng-grey-100) !important;
  border-radius:14px !important;
  margin-bottom:12px !important;
  box-shadow:none !important;
}
.ticket-zoom .article-content { padding:18px 20px !important; }
.ticket-zoom .ticket-edit-pane,
.ticket-zoom .ticket-zoom-sidebar {
  background:#fff !important;
  border-left:1px solid var(--eng-grey-100) !important;
}

/* ---------- Overview tabs (Мои заявки / На согласовании / etc.) ---------- */
.tabs-list, .tabsSidebar { background:#fff !important; border-right:1px solid var(--eng-grey-100) !important; }
.tab, .js-tab {
  background:#fff !important;
  color:var(--eng-grey-700) !important;
  border-bottom:1px solid var(--eng-grey-50) !important;
  border-left:3px solid transparent !important;
  font-family:'PT Sans',sans-serif !important;
  padding:13px 16px !important;
}
.tab.active, .tab.is-active, .js-tab.active,
.tabs-list .horizontal.center,
a.horizontal.center,
.sidebar .item.active, .sidebar a.active,
.settings-list a.active, .settings-list .active {
  background:var(--eng-blue-light) !important;
  color:var(--eng-blue) !important;
  border-left:3px solid var(--eng-blue) !important;
  font-weight:700 !important;
}
.tab:hover:not(.active):not(.is-active) { background:var(--eng-grey-50) !important; color:var(--eng-grey-900) !important; }
.tab .counter, .tab .badge {
  background:var(--eng-grey-100) !important;
  color:var(--eng-grey-700) !important;
  border-radius:10px !important;
  padding:1px 8px !important;
  font-weight:700 !important;
}
.tab.active .counter, .tab.is-active .counter {
  background:#fff !important;
  color:var(--eng-blue) !important;
}

/* Avatar circles get the brand color */
.avatar { border-radius:50% !important; font-family:'Tektur',sans-serif !important; font-weight:600 !important; }
.avatar:not(.avatar--inline) { background:var(--eng-blue) !important; color:#fff !important; }

/* ---------- Cards / panels ---------- */
.panel, .card, .modal-content, .dropdown-menu {
  border:1px solid var(--eng-grey-100) !important;
  border-radius:14px !important;
  box-shadow:0 4px 12px rgba(17,56,106,.06) !important;
}

/* ---------- Headlines ---------- */
.page-header .page-header-title,
.headline h1, h1.headline,
.ticket-zoom .ticket-title {
  font-family:'Tektur',sans-serif !important;
  font-weight:600 !important;
  color:var(--eng-grey-900) !important;
  letter-spacing:-.2px !important;
}

/* ---------- Search ---------- */
.search input, #global-search {
  background:var(--eng-grey-50) !important;
  border:1px solid transparent !important;
  border-radius:10px !important;
}
.search input:focus, #global-search:focus {
  background:#fff !important;
  border-color:var(--eng-grey-200) !important;
}

/* ---------- Logo area ---------- */
.logo, .product-logo {
  background:transparent !important;
  margin:8px 14px 18px !important;
}

/* ---------- Dashboard widgets ---------- */
.dashboard .stats-block,
.box, .stats {
  background:#fff !important;
  border:1px solid var(--eng-grey-100) !important;
  border-radius:14px !important;
  box-shadow:none !important;
}

/* ---------- Stats numbers (Tektur display) ---------- */
.stat-num, .stats-block .num, .dashboard .number,
.stats h2, .stats .value {
  font-family:'Tektur',sans-serif !important;
  font-weight:600 !important;
  letter-spacing:-.5px !important;
}

/* ---------- Onboarding popovers — soften colors ---------- */
.popover { border-radius:12px !important; box-shadow:0 12px 40px rgba(17,56,106,.18) !important; }

/* ---------- Scrollbar polish ---------- */
::-webkit-scrollbar { width:10px; height:10px; }
::-webkit-scrollbar-track { background:transparent; }
::-webkit-scrollbar-thumb { background:var(--eng-grey-200); border-radius:8px; }
::-webkit-scrollbar-thumb:hover { background:var(--eng-grey-400); }

/* =============================================================================
   FORCE LIGHT THEME — заказ Марии (тест 2026-05-13)
   Цвета бренда настроены только под светлую тему. Тёмный режим даёт
   нечитаемый интерфейс, поэтому фиксируем светлую вне зависимости от
   user_preferences.theme (Zammad 6.5 ставит class='theme-dark' на <html>
   или data-theme="dark" в зависимости от версии — перекрываем оба варианта).
   ============================================================================= */
html.theme-dark, html[data-theme="dark"],
html.theme-dark body, html[data-theme="dark"] body {
  background:#FBFBFC !important;
  color:var(--eng-grey-900) !important;
  color-scheme:light !important;
}
html.theme-dark *, html[data-theme="dark"] * {
  border-color:var(--eng-grey-100) !important;
}
html.theme-dark .main, html[data-theme="dark"] .main,
html.theme-dark #navigation, html[data-theme="dark"] #navigation,
html.theme-dark .navigation, html[data-theme="dark"] .navigation,
html.theme-dark .sidebar, html[data-theme="dark"] .sidebar,
html.theme-dark .menu, html[data-theme="dark"] .menu,
html.theme-dark .tasks, html[data-theme="dark"] .tasks,
html.theme-dark .tasks-navigation, html[data-theme="dark"] .tasks-navigation,
html.theme-dark .user-menu, html[data-theme="dark"] .user-menu,
html.theme-dark .tabs-list, html[data-theme="dark"] .tabs-list,
html.theme-dark .tabsSidebar, html[data-theme="dark"] .tabsSidebar,
html.theme-dark .page-header, html[data-theme="dark"] .page-header,
html.theme-dark .article, html[data-theme="dark"] .article,
html.theme-dark .ticket-zoom-sidebar, html[data-theme="dark"] .ticket-zoom-sidebar,
html.theme-dark .modal-content, html[data-theme="dark"] .modal-content,
html.theme-dark .panel, html[data-theme="dark"] .panel,
html.theme-dark .card, html[data-theme="dark"] .card,
html.theme-dark .dropdown-menu, html[data-theme="dark"] .dropdown-menu,
html.theme-dark .table, html[data-theme="dark"] .table {
  background:#fff !important;
  color:var(--eng-grey-900) !important;
}
html.theme-dark input, html[data-theme="dark"] input,
html.theme-dark select, html[data-theme="dark"] select,
html.theme-dark textarea, html[data-theme="dark"] textarea,
html.theme-dark .form-control, html[data-theme="dark"] .form-control {
  background:#fff !important;
  color:var(--eng-grey-900) !important;
  border-color:var(--eng-grey-200) !important;
}
html.theme-dark .ticket-zoom, html[data-theme="dark"] .ticket-zoom,
html.theme-dark body, html[data-theme="dark"] body {
  background:#FBFBFC !important;
}

/* Скрыть переключатель темы в профиле — чтобы пользователь не мог обратно включить тёмную */
.user-profile-personal .form-group:has(select[name="theme"]),
.user-profile-personal .form-group:has(select[name="user_theme"]),
[data-attribute-name="theme"], [data-attribute-name="user_theme"] {
  display:none !important;
}
