/* ZORDO: единый стиль админки, кабинета мерчанта, входа и главной.
   Две темы: светлая (белый + тёмно-синий) и тёмная (чёрный + синий). Выбор: авто (как в системе) / светлая / тёмная,
   хранится в localStorage 'zordo-theme', атрибут data-theme на <html> ставит templates/_theme_head.html до отрисовки.
   Шаблоны используют переменные --z-*; старые белые полупрозрачные цвета переписаны на rgba(var(--z-ink), a),
   поэтому в светлой теме они становятся тёмными полупрозрачными. Иконок и эмодзи в интерфейсе нет. */

:root, [data-theme="light"] {
  --z-bg: #ffffff;
  --z-surface: #f5f6f8;
  --z-surface-2: #eceef2;
  --z-elev: #ffffff;
  --z-sidebar: #f5f6f8;
  --z-glass: rgba(255, 255, 255, .78);
  --z-ink: 11, 22, 44;                 /* «чернила» для полупрозрачных линий и заливок */
  --z-text: #0b162c;
  --z-text-2: #2b3445;
  --z-muted: #6b7385;
  --z-line: rgba(11, 22, 44, .10);
  --z-accent: #0b2a5b;                 /* BOSS navy */
  --z-accent-hover: #12387a;
  --z-accent-text: #1a4fb4;            /* ссылки и активные элементы на белом */
  --z-accent-soft: rgba(26, 79, 180, .10);
  --z-on-accent: #ffffff;
  --z-success: #1f8a4c;
  --z-warning: #b26a00;
  --z-danger: #d70015;
  --z-shadow: 0 1px 2px rgba(11, 22, 44, .06), 0 8px 24px rgba(11, 22, 44, .06);
  --z-code: #b4540a;
  color-scheme: light;
}

[data-theme="dark"] {
  --z-bg: #000000;
  --z-surface: #0f1218;
  --z-surface-2: #171b23;
  --z-elev: #1b2029;
  --z-sidebar: #0a0c10;
  --z-glass: rgba(10, 12, 16, .78);
  --z-ink: 255, 255, 255;
  --z-text: #f5f5f7;
  --z-text-2: #d4d6dc;
  --z-muted: #8b93a1;
  --z-line: rgba(255, 255, 255, .10);
  --z-accent: #2f5bd3;                 /* синий BOSS, осветлённый для чёрного фона */
  --z-accent-hover: #4372ea;
  --z-accent-text: #6e9bff;
  --z-accent-soft: rgba(110, 155, 255, .16);
  --z-on-accent: #ffffff;
  --z-success: #30d158;
  --z-warning: #ff9f0a;
  --z-danger: #ff453a;
  --z-shadow: 0 1px 2px rgba(0, 0, 0, .5), 0 10px 30px rgba(0, 0, 0, .35);
  --z-code: #fbbf24;
  color-scheme: dark;
}

/* старые имена переменных из шаблонов */
:root, [data-theme] {
  --bg-color: var(--z-bg);
  --text-main: var(--z-text);
  --text-muted: var(--z-muted);
  --apple-blue: var(--z-accent-text);
  --apple-blue-hover: var(--z-accent-hover);
  --glass-bg: var(--z-glass);
  --pastel-hover: rgba(var(--z-ink), .07);
}

/* Bootstrap 5.3 */
[data-theme] {
  --bs-body-bg: var(--z-bg);
  --bs-body-color: var(--z-text);
  --bs-emphasis-color: var(--z-text);
  --bs-secondary-color: var(--z-muted);
  --bs-tertiary-color: var(--z-muted);
  --bs-border-color: var(--z-line);
  --bs-border-color-translucent: var(--z-line);
  --bs-link-color: var(--z-accent-text);
  --bs-link-hover-color: var(--z-accent-hover);
  --bs-link-color-rgb: 26, 79, 180;
  --bs-primary: var(--z-accent);
  --bs-primary-rgb: 11, 42, 91;
  --bs-secondary-bg: var(--z-surface-2);
  --bs-tertiary-bg: var(--z-surface);
  --bs-code-color: var(--z-code);
  --bs-heading-color: var(--z-text);
}
[data-theme="dark"] { --bs-link-color-rgb: 110, 155, 255; --bs-primary-rgb: 47, 91, 211; }

body {
  background: var(--z-bg) !important;
  color: var(--z-text);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Inter", "Segoe UI", Roboto, sans-serif;
  -webkit-font-smoothing: antialiased;
  letter-spacing: -0.01em;
}
h1, h2, h3, .h1, .h2, .h3 { letter-spacing: -0.025em; font-weight: 700; color: var(--z-text); }

/* классы Bootstrap, жёстко заданные под тёмный фон: в обеих темах берут цвета темы */
.text-light, .text-white { color: var(--z-text) !important; }
.text-secondary, .text-muted { color: var(--z-muted) !important; }
.text-primary, .text-info { color: var(--z-accent-text) !important; }
.text-success { color: var(--z-success) !important; }
.text-warning { color: var(--z-warning) !important; }
.text-danger { color: var(--z-danger) !important; }
.bg-dark, .bg-black { background-color: var(--z-surface) !important; }
.bg-transparent { background-color: transparent !important; }
.border-secondary { border-color: var(--z-line) !important; }
.border-light { border-color: var(--z-line) !important; }

.card, .modal-content, .list-group-item, .accordion-item {
  background: var(--z-elev) !important;
  border: 1px solid var(--z-line) !important;
  color: var(--z-text);
  border-radius: 18px;
  box-shadow: var(--z-shadow);
}
.modal-content { border-radius: 20px; }
.card-header, .card-footer { background: transparent !important; border-color: var(--z-line) !important; }

.dropdown-menu {
  background: var(--z-elev) !important;
  border: 1px solid var(--z-line) !important;
  box-shadow: var(--z-shadow) !important;
  border-radius: 12px;
}
.dropdown-item { color: var(--z-text) !important; border-radius: 8px; }
.dropdown-item:hover, .dropdown-item:focus { background: var(--z-accent-soft) !important; color: var(--z-accent-text) !important; }

/* таблицы */
.table, .table-dark {
  --bs-table-color: var(--z-text);
  --bs-table-bg: transparent;
  --bs-table-border-color: var(--z-line);
  --bs-table-striped-bg: rgba(var(--z-ink), .025);
  --bs-table-striped-color: var(--z-text);
  --bs-table-hover-bg: rgba(var(--z-ink), .045);
  --bs-table-hover-color: var(--z-text);
  --bs-table-active-bg: rgba(var(--z-ink), .06);
  color: var(--z-text);
  border-color: var(--z-line);
}
.table > thead th, .table thead th {
  color: var(--z-muted) !important;
  font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em;
  background: transparent !important;
}

/* поля ввода */
.form-control, .form-select, .input-group-text {
  background-color: var(--z-elev) !important;
  color: var(--z-text) !important;
  border: 1px solid rgba(var(--z-ink), .16) !important;
  border-radius: 10px;
}
.form-control::placeholder { color: var(--z-muted); opacity: .8; }
.form-control:focus, .form-select:focus {
  border-color: var(--z-accent-text) !important;
  box-shadow: 0 0 0 3px var(--z-accent-soft) !important;
}
.form-check-input { background-color: var(--z-elev); border: 1px solid rgba(var(--z-ink), .35); }
.form-check-input:checked { background-color: var(--z-accent); border-color: var(--z-accent); }
[data-theme="dark"] .form-select { --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23d4d6dc' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); }
input[type="date"], input[type="datetime-local"], input[type="month"] { color-scheme: inherit; }

/* кнопки */
.btn { border-radius: 980px; font-weight: 600; letter-spacing: -0.01em; }
.btn-primary, .btn-info {
  --bs-btn-bg: var(--z-accent); --bs-btn-border-color: var(--z-accent); --bs-btn-color: var(--z-on-accent);
  --bs-btn-hover-bg: var(--z-accent-hover); --bs-btn-hover-border-color: var(--z-accent-hover); --bs-btn-hover-color: var(--z-on-accent);
  --bs-btn-active-bg: var(--z-accent-hover); --bs-btn-active-border-color: var(--z-accent-hover); --bs-btn-active-color: var(--z-on-accent);
  --bs-btn-disabled-bg: var(--z-accent); --bs-btn-disabled-border-color: var(--z-accent);
}
.btn-outline-primary, .btn-outline-info {
  --bs-btn-color: var(--z-accent-text); --bs-btn-border-color: var(--z-accent-text);
  --bs-btn-hover-bg: var(--z-accent); --bs-btn-hover-border-color: var(--z-accent); --bs-btn-hover-color: var(--z-on-accent);
  --bs-btn-active-bg: var(--z-accent); --bs-btn-active-color: var(--z-on-accent);
}
.btn-outline-light, .btn-outline-secondary, .btn-secondary, .btn-dark, .btn-light {
  --bs-btn-color: var(--z-text); --bs-btn-bg: rgba(var(--z-ink), .05); --bs-btn-border-color: rgba(var(--z-ink), .14);
  --bs-btn-hover-color: var(--z-text); --bs-btn-hover-bg: rgba(var(--z-ink), .10); --bs-btn-hover-border-color: rgba(var(--z-ink), .2);
  --bs-btn-active-color: var(--z-text); --bs-btn-active-bg: rgba(var(--z-ink), .14); --bs-btn-active-border-color: rgba(var(--z-ink), .2);
  --bs-btn-disabled-color: var(--z-muted); --bs-btn-disabled-bg: transparent; --bs-btn-disabled-border-color: var(--z-line);
}
.btn-close { filter: none; }
[data-theme="dark"] .btn-close { filter: invert(1) grayscale(100%) brightness(200%); }

.badge.bg-secondary { background: rgba(var(--z-ink), .1) !important; color: var(--z-text) !important; }
.alert { border-radius: 14px; }
code { color: var(--z-code); }
a { color: var(--z-accent-text); }
.nav-tabs { --bs-nav-tabs-border-color: var(--z-line); --bs-nav-tabs-link-active-bg: var(--z-elev); --bs-nav-tabs-link-active-color: var(--z-text); --bs-nav-tabs-link-active-border-color: var(--z-line) var(--z-line) var(--z-elev); }
.nav-pills { --bs-nav-pills-link-active-bg: var(--z-accent); --bs-nav-pills-link-active-color: var(--z-on-accent); }
.nav-link { color: var(--z-accent-text); }
.page-link { background: var(--z-elev); border-color: var(--z-line); color: var(--z-accent-text); }
.page-item.active .page-link { background: var(--z-accent); border-color: var(--z-accent); color: var(--z-on-accent); }
.progress { background: rgba(var(--z-ink), .08); }
hr { border-color: var(--z-line); opacity: 1; }

/* фирменная надпись вместо старого логотипа */
.z-wordmark { font-weight: 800; letter-spacing: .18em; text-transform: uppercase; font-size: 15px; color: var(--z-text) !important; text-decoration: none; }
/* ZORDO: чёрный на белом, белый на чёрном; .TECH синий в обеих темах */
.z-wordmark { color: #000000 !important; }
[data-theme="dark"] .z-wordmark { color: #ffffff !important; }
.z-wordmark small { font: inherit; letter-spacing: inherit; color: var(--z-accent-text); }
/* ZORDO.TECH: синяя точка как точка в адресе сайта, на базовой линии, без пробелов */
.z-dot { display: inline-block; width: .24em; height: .24em; min-width: 3px; min-height: 3px; border-radius: 50%; background: var(--z-accent-text); margin: 0 .2em 0 -.06em; vertical-align: baseline; }

/* переключатели в подвале меню: язык и тема (сегменты, без выпадающих списков) */
.z-seg { display: flex; padding: 2px; border-radius: 9px; background: rgba(var(--z-ink), .07); gap: 2px; }
.z-seg a, .z-seg button { flex: 1; border: 0; background: transparent; color: var(--z-muted); font-size: 12px; font-weight: 600;
  padding: 5px 0; border-radius: 7px; text-align: center; text-decoration: none; cursor: pointer; line-height: 1.2; }
.z-seg a:hover, .z-seg button:hover { color: var(--z-text); }
.z-seg .on { background: var(--z-elev); color: var(--z-text); box-shadow: 0 1px 3px rgba(0, 0, 0, .12); }

/* значки статусов и методов: мягкая заливка + цвет текста, как в iOS */
.badge { font-weight: 600; letter-spacing: .01em; border-radius: 6px; }
.badge.bg-info, .badge.bg-primary { background: var(--z-accent-soft) !important; color: var(--z-accent-text) !important; border: 0 !important; }
.badge.bg-light, .badge.bg-dark { background: rgba(var(--z-ink), .08) !important; color: var(--z-text) !important; border: 0 !important; }
.badge.bg-success { background: rgba(48, 209, 88, .16) !important; color: var(--z-success) !important; border: 0 !important; }
.badge.bg-danger { background: rgba(255, 69, 58, .14) !important; color: var(--z-danger) !important; border: 0 !important; }
.badge.bg-warning { background: rgba(255, 159, 10, .16) !important; color: var(--z-warning) !important; border: 0 !important; }
.text-dark { color: var(--z-text) !important; }
.btn.text-uppercase, .btn { text-transform: none !important; letter-spacing: -0.01em !important; }
