@charset "UTF-8";
/* ==========================================================================
   MaYaK.IT — единая таблица стилей
   --------------------------------------------------------------------------
   Один файл вместо семи: styles / design-system / theme-tech / app /
   public / shop / signal. Подключается в base.html одной строкой.

   Содержание:
     1. База: сброс, типографика, сетка, утилиты
     2. Дизайн-система: токены, компоненты (кнопки, поля, карточки, таблицы)
     3. Тема «Инфраструктура»: холст, панели, свечения
     4. CRM: списки, фильтры, KPI, формы заказов
     5. Публичные страницы: лендинг, услуги, вход, отслеживание
     6. Витрина каталога и оплата
     7. SIGNAL: актуальный визуальный слой
     8. Форма заявки (переписана)
     9. Подвал (переписан)
    10. Печать и prefers-reduced-motion

   Правила файла:
     · !important только в prefers-reduced-motion — иначе правило не
       применяется по правилам каскада (это единственное исключение).
     · @media print вынесен в конец: порядок заменяет !important.
     · Новые компоненты живут в собственных пространствах имён
       (.req-* для заявки, .site-footer для подвала).
   ========================================================================== */

/* ==========================================================================
   ЧАСТЬ 1 · БАЗА И СТАРЫЕ КОМПОНЕНТЫ
   ========================================================================== */

    :root,
    [data-theme="light"] {
        --bg-primary: #f2f6fa;
        --bg-card: #ffffff;
        --bg-card-hover: #f8fafc;
        --bg-elevated: #ffffff;
        --bg-overlay: rgba(0, 0, 0, 0.35);
        --bg-input: #f2f6fa;
        --bg-input-hover: #e8edf2;
        --bg-input-focus: #ffffff;
        --bg-muted: #eef2f7;
        --bg-nav: rgba(255, 255, 255, 0.94);
        --bg-nav-scrolled: rgba(255, 255, 255, 0.99);
        --bg-footer: #ffffff;
        --bg-code: #eef2f7;
        --bg-category: linear-gradient(135deg, #eef4ff 0%, #f6f9ff 100%);
        --text-primary: #0a0a1a;
        --text-secondary: #3d4a5c;
        --text-muted: #6b7a90;
        --text-inverse: #ffffff;
        --text-placeholder: #9aa8bd;
        --text-on-accent: #ffffff;
        --border-subtle: #e8edf2;
        --border-default: #d0d8e0;
        --border-strong: #b0bcc8;
        --border-focus: #2563eb;
        --accent: #2563eb;
        --accent-hover: #1d4ed8;
        --accent-active: #1e40af;
        --accent-soft: #dbe7ff;
        --accent-glow: rgba(37, 99, 235, 0.10);
        --accent-glow-strong: rgba(37, 99, 235, 0.20);
        --danger: #dc2626;
        --danger-hover: #b91c1c;
        --danger-soft: #fee2e2;
        --danger-bg: rgba(220, 38, 38, 0.10);
        --danger-border: rgba(220, 38, 38, 0.30);
        --success: #16a34a;
        --success-hover: #15803d;
        --success-soft: #dcfce7;
        --success-bg: rgba(22, 163, 74, 0.10);
        --warning: #d97706;
        --warning-soft: #fef3c7;
        --warning-bg: rgba(217, 119, 6, 0.10);
        --info: #0284c7;
        --info-soft: #e0f2fe;
        --info-bg: rgba(2, 132, 199, 0.10);
        --status-new: #f59e0b;
        --status-progress: #3b82f6;
        --status-done: #16a34a;
        --status-rejected: #ef4444;
        --status-archived: #64748b;
        --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04);
        --shadow-md: 0 4px 14px rgba(0, 0, 0, 0.06);
        --shadow-lg: 0 10px 40px rgba(0, 0, 0, 0.08);
        --shadow-glow: 0 0 16px rgba(37, 99, 235, 0.18);
        --scrollbar-track: #f2f6fa;
        --scrollbar-thumb: #cbd5e1;
        --scrollbar-thumb-hover: #2563eb;
        --ripple-color: rgba(255, 255, 255, 0.5);
        --ripple-color-secondary: rgba(37, 99, 235, 0.25);
        --ripple-color-delete: rgba(220, 38, 38, 0.25);
        --radius: 14px;
        --radius-sm: 8px;
        --radius-xs: 6px;
        --transition: all 0.28s cubic-bezier(0.2, 0.9, 0.4, 1);
        --transition-fast: all 0.14s cubic-bezier(0.2, 0.9, 0.4, 1);
        --font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
        --nav-height: 54px;
    }

    [data-theme="dark"] {
        --bg-primary: #0a0e1a;
        --bg-card: #131829;
        --bg-card-hover: #1a2135;
        --bg-elevated: #1a2135;
        --bg-overlay: rgba(0, 0, 0, 0.7);
        --bg-input: #1a2135;
        --bg-input-hover: #232c45;
        --bg-input-focus: #1e2638;
        --bg-muted: #161c2e;
        --bg-nav: rgba(19, 24, 41, 0.94);
        --bg-nav-scrolled: rgba(19, 24, 41, 0.99);
        --bg-footer: #131829;
        --bg-code: #1e2638;
        --bg-category: linear-gradient(135deg, #1e2638 0%, #1a2135 100%);
        --text-primary: #f5f7ff;
        --text-secondary: #c8d0e2;
        --text-muted: #94a1ba;
        --text-inverse: #0a0e1a;
        --text-placeholder: #7a869e;
        --text-on-accent: #ffffff;
        --border-subtle: #262e45;
        --border-default: #333d5a;
        --border-strong: #455175;
        --border-focus: #60a5fa;
        --accent: #4d8eff;
        --accent-hover: #6ba4ff;
        --accent-active: #3b82f6;
        --accent-soft: #1e2a45;
        --accent-glow: rgba(77, 142, 255, 0.18);
        --accent-glow-strong: rgba(77, 142, 255, 0.30);
        --danger: #ff6b6b;
        --danger-hover: #ff8585;
        --danger-soft: #3a1f28;
        --danger-bg: rgba(255, 107, 107, 0.16);
        --danger-border: rgba(255, 107, 107, 0.40);
        --success: #4ade80;
        --success-hover: #6ee7a0;
        --success-soft: #1a3328;
        --success-bg: rgba(74, 222, 128, 0.16);
        --warning: #fbbf24;
        --warning-soft: #3a2f15;
        --warning-bg: rgba(251, 191, 36, 0.16);
        --info: #60a5fa;
        --info-soft: #1a2a44;
        --info-bg: rgba(96, 165, 250, 0.16);
        --status-new: #fbbf24;
        --status-progress: #60a5fa;
        --status-done: #4ade80;
        --status-rejected: #ff6b6b;
        --status-archived: #94a1ba;
        --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
        --shadow-md: 0 4px 14px rgba(0, 0, 0, 0.5);
        --shadow-lg: 0 10px 40px rgba(0, 0, 0, 0.6);
        --shadow-glow: 0 0 24px rgba(77, 142, 255, 0.35);
        --scrollbar-track: #0a0e1a;
        --scrollbar-thumb: #333d5a;
        --scrollbar-thumb-hover: #4d8eff;
        --ripple-color: rgba(255, 255, 255, 0.12);
        --ripple-color-secondary: rgba(77, 142, 255, 0.30);
        --ripple-color-delete: rgba(255, 107, 107, 0.30);
    }

    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }

    html {
        height: 100%;
        scroll-behavior: smooth;
    }

    body {
        font-family: var(--font);
        background: var(--bg-primary);
        color: var(--text-primary);
        line-height: 1.55;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        min-height: 100vh;
        padding-top: var(--nav-height);
        display: flex;
        flex-direction: column;
        transition: background-color 0.25s ease, color 0.25s ease;
        font-size: 14px;
    }

    code {
        background: var(--bg-code);
        color: var(--text-primary);
        padding: 0.15rem 0.45rem;
        border-radius: var(--radius-xs);
        font-family: 'Inter', monospace;
        font-size: 0.85em;
        border: 1px solid var(--border-subtle);
    }

    a {
        color: var(--accent);
    }

    .alert {
        background: var(--bg-card);
        color: var(--text-primary);
        border: 1px solid var(--border-subtle);
        border-radius: var(--radius-sm);
        padding: 0.6rem 0.8rem;
        margin-bottom: 0.8rem;
        font-size: 0.85rem;
    }

    .alert-success {
        background: var(--success-bg);
        color: var(--success);
        border-color: var(--success);
    }

    .alert-danger {
        background: var(--danger-bg);
        color: var(--danger);
        border-color: var(--danger);
    }

    .alert-warning {
        background: var(--warning-bg);
        color: var(--warning);
        border-color: var(--warning);
    }

    .alert-info {
        background: var(--info-bg);
        color: var(--info);
        border-color: var(--info);
    }

    .navbar-glass {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 9999;
        background: var(--bg-nav);
        backdrop-filter: blur(14px) saturate(180%);
        -webkit-backdrop-filter: blur(14px) saturate(180%);
        border-bottom: 1px solid var(--border-subtle);
        height: var(--nav-height);
        padding: 0 1rem;
        display: flex;
        align-items: center;
        transition: var(--transition);
    }

    .navbar-glass .container {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        max-width: 1400px;
        margin: 0 auto;
        padding: 0;
    }

    .navbar-glass.scrolled {
        background: var(--bg-nav-scrolled);
        box-shadow: var(--shadow-md);
    }

    .brand-left {
        display: flex;
        align-items: center;
        gap: 0.6rem;
        flex-shrink: 0;
    }

    .brand-logo {
        flex-shrink: 0;
        display: flex;
        align-items: center;
    }

    .logo-img {
        height: 32px;
        width: auto;
        transition: var(--transition);
    }

    .navbar-glass.scrolled .logo-img {
        height: 28px;
    }

    .nav-right {
        display: flex;
        align-items: center;
        gap: 0.4rem;
        margin-left: auto;
    }

    .nav-right .nav-call-btn {
        order: 1;
    }

    .nav-right .theme-toggle {
        order: 2;
    }

    .nav-right .nav-links {
        order: 3;
    }

    .nav-right .hamburger {
        order: 4;
    }

    .nav-call-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        border-radius: 50%;
        background: linear-gradient(135deg, var(--accent), var(--accent-hover));
        color: var(--text-on-accent);
        text-decoration: none;
        box-shadow: 0 3px 10px rgba(37, 99, 235, 0.25);
        transition: var(--transition);
        flex-shrink: 0;
        position: relative;
    }

    .nav-call-btn::after {
        content: '';
        position: absolute;
        inset: -3px;
        border-radius: 50%;
        border: 2px solid var(--accent);
        opacity: 0;
        animation: callPulse 2.5s ease-out infinite;
    }

    @keyframes callPulse {
        0% { opacity: 0; transform: scale(0.9); }
        30% { opacity: 0.6; transform: scale(1); }
        100% { opacity: 0; transform: scale(1.35); }
    }

    .nav-call-btn i {
        font-size: 0.9rem;
        transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    }

    .nav-call-btn:hover {
        transform: translateY(-2px) scale(1.05);
        box-shadow: 0 5px 16px rgba(37, 99, 235, 0.45);
    }

    .nav-call-btn:hover i {
        transform: rotate(-15deg) scale(1.15);
    }

    .nav-call-btn:active {
        transform: translateY(0) scale(0.95);
    }

    .theme-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        border-radius: 50%;
        background: var(--bg-muted);
        border: 1px solid var(--border-subtle);
        color: var(--text-secondary);
        cursor: pointer;
        transition: var(--transition);
        flex-shrink: 0;
        padding: 0;
        font-family: inherit;
    }

    .theme-toggle:hover {
        background: var(--accent-glow);
        border-color: var(--accent);
        color: var(--accent);
        transform: rotate(15deg) scale(1.05);
        box-shadow: var(--shadow-glow);
    }

    .theme-toggle:active {
        transform: rotate(15deg) scale(0.92);
    }

    .theme-toggle i {
        font-size: 0.9rem;
        transition: transform 0.3s ease;
    }

    .theme-toggle:hover i {
        transform: rotate(-15deg);
    }

    .nav-links {
        display: flex;
        align-items: center;
        gap: 0.15rem;
    }

    .nav-link-btn {
        position: relative;
        padding: 0.35rem 0.75rem;
        border-radius: var(--radius-sm);
        font-size: 0.75rem;
        font-weight: 500;
        color: var(--text-secondary);
        text-decoration: none;
        transition: var(--transition);
        display: flex;
        align-items: center;
        gap: 0.35rem;
        background: transparent;
        border: none;
        white-space: nowrap;
        overflow: hidden;
        font-family: inherit;
    }

    .nav-link-btn::before {
        content: '';
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 3px;
        height: 0%;
        background: var(--accent);
        border-radius: 0 2px 2px 0;
        transition: height 0.3s cubic-bezier(0.2, 0.9, 0.4, 1);
    }

    .nav-link-btn:hover {
        color: var(--text-primary);
        background: var(--accent-glow);
    }

    .nav-link-btn:hover::before {
        height: 60%;
    }

    .nav-link-btn:active {
        transform: scale(0.97);
    }

    .nav-link-btn i {
        color: var(--accent);
        font-size: 0.75rem;
    }

    .nav-link-btn-primary {
        background: var(--accent);
        color: var(--text-on-accent);
        padding: 0.35rem 0.95rem;
        font-weight: 600;
        box-shadow: 0 2px 10px rgba(37, 99, 235, 0.2);
    }

    .nav-link-btn-primary::before {
        display: none;
    }

    .nav-link-btn-primary:hover {
        background: var(--accent-hover);
        transform: translateY(-1px);
        box-shadow: 0 4px 16px rgba(37, 99, 235, 0.35);
        color: var(--text-on-accent);
    }

    .nav-link-btn-primary:active {
        transform: translateY(0) scale(0.97);
    }

    .nav-link-btn-primary i {
        color: var(--text-on-accent);
    }

    .nav-link-btn.active {
        color: var(--accent);
        background: var(--accent-glow);
        font-weight: 600;
    }

    .nav-link-btn.active::before {
        height: 60%;
    }

    .nav-link-btn-primary.active {
        background: var(--accent-hover);
        color: var(--text-on-accent);
        box-shadow: 0 4px 16px rgba(37, 99, 235, 0.4);
    }

    .nav-link-btn-primary.active i {
        color: var(--text-on-accent);
    }

    @keyframes badgePulse {
        0% { transform: scale(1); }
        50% { transform: scale(1.35); box-shadow: 0 0 0 6px var(--danger-bg); }
        100% { transform: scale(1); }
    }

    .hamburger {
        display: none;
        flex-direction: column;
        gap: 4px;
        background: none;
        border: none;
        cursor: pointer;
        padding: 6px;
        z-index: 10001;
        transition: var(--transition-fast);
    }

    .hamburger:active {
        transform: scale(0.9);
    }

    .hamburger span {
        display: block;
        width: 22px;
        height: 2px;
        background: var(--text-secondary);
        border-radius: 2px;
        transition: var(--transition);
    }

    .hamburger.active span:nth-child(1) {
        transform: rotate(45deg) translate(4px, 4px);
    }

    .hamburger.active span:nth-child(2) {
        opacity: 0;
    }

    .hamburger.active span:nth-child(3) {
        transform: rotate(-45deg) translate(4px, -4px);
    }

    .mobile-overlay {
        display: none;
        position: fixed;
        inset: 0;
        background: var(--bg-overlay);
        z-index: 9998;
        opacity: 0;
        transition: opacity 0.3s ease;
    }

    .mobile-overlay.active {
        display: block;
        opacity: 1;
    }

    .mobile-menu {
        position: fixed;
        top: 0;
        left: -300px;
        width: 280px;
        height: 100%;
        background: var(--bg-card);
        border-right: 1px solid var(--border-subtle);
        box-shadow: var(--shadow-lg);
        z-index: 9999;
        padding: 1.2rem 1rem 0.8rem;
        transition: left 0.3s cubic-bezier(0.2, 0.9, 0.4, 1);
        display: flex;
        flex-direction: column;
        overflow-y: auto;
    }

    .mobile-menu.open {
        left: 0;
    }

    .menu-content {
        flex: 1;
    }

    .menu-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 0.8rem;
        padding-bottom: 0.5rem;
        border-bottom: 1px solid var(--border-subtle);
    }

    .menu-logo {
        height: 28px;
        width: auto;
    }

    .menu-close {
        background: none;
        border: none;
        font-size: 1.2rem;
        color: var(--text-muted);
        cursor: pointer;
        transition: var(--transition-fast);
    }

    .menu-close:hover {
        color: var(--text-primary);
        transform: rotate(90deg);
    }

    .menu-item {
        position: relative;
        display: flex;
        align-items: center;
        gap: 0.6rem;
        padding: 0.55rem 0.6rem;
        border-radius: var(--radius-sm);
        color: var(--text-secondary);
        text-decoration: none;
        font-weight: 500;
        font-size: 0.85rem;
        transition: var(--transition);
        overflow: hidden;
    }

    .menu-item::before {
        content: '';
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 3px;
        height: 0%;
        background: var(--accent);
        border-radius: 0 2px 2px 0;
        transition: height 0.3s cubic-bezier(0.2, 0.9, 0.4, 1);
    }

    .menu-item:hover {
        background: var(--bg-primary);
        color: var(--text-primary);
        padding-left: 0.9rem;
    }

    .menu-item:hover::before {
        height: 60%;
    }

    .menu-item:active {
        transform: scale(0.98);
    }

    .menu-item i {
        width: 20px;
        color: var(--accent);
        font-size: 0.85rem;
    }

    .menu-item-primary {
        background: var(--accent);
        color: var(--text-on-accent);
    }

    .menu-item-primary::before {
        display: none;
    }

    .menu-item-primary:hover {
        background: var(--accent-hover);
        color: var(--text-on-accent);
        padding-left: 0.6rem;
    }

    .menu-item-primary i {
        color: var(--text-on-accent);
    }

    .menu-item.active {
        background: var(--accent-glow);
        color: var(--accent);
        font-weight: 600;
    }

    .menu-item.active::before {
        height: 60%;
    }

    .menu-item-primary.active {
        background: var(--accent-hover);
        color: var(--text-on-accent);
    }

    .menu-divider {
        border-top: 1px solid var(--border-subtle);
        margin: 0.3rem 0;
    }

    .main-container {
        max-width: 1400px;
        margin: 0 auto;
        padding: 1.1rem 1.1rem 0.8rem;
        position: relative;
        z-index: 1;
        animation: fadeIn 0.4s ease;
        flex: 1 0 auto;
        width: 100%;
    }

    @keyframes fadeIn {
        from { opacity: 0; transform: translateY(10px); }
        to { opacity: 1; transform: translateY(0); }
    }

    @keyframes rippleEffect {
        to { transform: scale(2.5); opacity: 0; }
    }

    .logo-container {
        text-align: center;
        margin-bottom: 1.2rem;
        padding: 0.3rem 0;
        width: 100%;
        position: relative;
    }

    .logo-with-waves {
        position: relative;
        display: inline-block;
        line-height: 0;
    }

    .logo-center {
        height: 130px;
        width: auto;
        transition: var(--transition);
        filter: drop-shadow(0 4px 16px var(--accent-glow));
        animation: logoAppear 0.7s ease-out;
        display: inline-block;
        position: relative;
        z-index: 2;
    }

    .logo-center:hover {
        transform: scale(1.03);
        filter: drop-shadow(0 8px 32px var(--accent-glow-strong));
    }

    @keyframes logoAppear {
        from { opacity: 0; transform: scale(0.9) translateY(15px); }
        to { opacity: 1; transform: scale(1) translateY(0); }
    }

    .tagline {
        color: var(--text-muted);
        font-size: 0.9rem;
        font-weight: 400;
        margin-top: 0.25rem;
        text-align: center;
        display: block;
        position: relative;
        z-index: 2;
    }

    @keyframes logoWave {
        0% { transform: scale(0.7); opacity: 0.7; border-color: var(--accent-glow-strong); }
        100% { transform: scale(2); opacity: 0; border-color: transparent; }
    }

    .glass-card {
        background: var(--bg-card);
        border: 1px solid var(--border-subtle);
        border-radius: var(--radius);
        padding: 1.2rem;
        margin-bottom: 1.2rem;
        transition: var(--transition);
        box-shadow: var(--shadow-sm);
        width: 100%;
        position: relative;
    }

    .glass-card:hover {
        border-color: var(--border-default);
        box-shadow: var(--shadow-md);
    }

    .section-title {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        font-size: 1rem;
        font-weight: 600;
        color: var(--text-primary);
        margin-bottom: 1rem;
        padding-bottom: 0.5rem;
        border-bottom: 1px solid var(--border-subtle);
        flex-wrap: wrap;
    }

    .section-title i {
        color: var(--accent);
    }

    .info-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 1rem;
        flex-wrap: wrap;
        gap: 0.6rem;
    }

    .info-header h3 {
        font-size: 0.95rem;
        font-weight: 600;
        color: var(--text-primary);
        display: flex;
        align-items: center;
        gap: 0.5rem;
        margin: 0;
    }

    .services-intro {
        text-align: center;
        padding: 1rem 0 1.5rem;
    }

    .services-intro-title {
        font-size: 1.4rem;
        font-weight: 700;
        color: var(--text-primary);
        margin-bottom: 0.3rem;
        letter-spacing: -0.5px;
    }

    .services-intro-subtitle {
        font-size: 0.88rem;
        color: var(--text-muted);
        font-weight: 400;
    }

    .services-showcase {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
        gap: 0.8rem;
        margin-bottom: 1.2rem;
    }

    .service-showcase-card {
        background: var(--bg-card);
        border: 1px solid var(--border-subtle);
        border-radius: var(--radius);
        padding: 1.1rem 1rem;
        text-align: center;
        transition: all 0.35s cubic-bezier(0.2, 0.9, 0.4, 1);
        cursor: pointer;
        opacity: 0;
        transform: translateY(16px);
        animation: showcaseAppear 0.5s ease-out forwards;
        position: relative;
        overflow: hidden;
    }

    .service-showcase-card[data-delay="0"] {
        animation-delay: 0.08s;
    }

    .service-showcase-card[data-delay="1"] {
        animation-delay: 0.2s;
    }

    .service-showcase-card[data-delay="2"] {
        animation-delay: 0.32s;
    }

    .service-showcase-card[data-delay="3"] {
        animation-delay: 0.44s;
    }

    @keyframes showcaseAppear {
        to { opacity: 1; transform: translateY(0); }
    }

    .service-showcase-card:hover {
        border-color: var(--accent);
        box-shadow: 0 6px 24px var(--accent-glow-strong);
        transform: translateY(-4px);
    }

    .service-showcase-card:active {
        transform: translateY(-2px) scale(0.98);
    }

    .service-showcase-icon {
        width: 48px;
        height: 48px;
        margin: 0 auto 0.8rem;
        border-radius: 50%;
        background: linear-gradient(135deg, var(--accent-glow-strong), var(--accent-glow));
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all 0.35s cubic-bezier(0.2, 0.9, 0.4, 1);
    }

    .service-showcase-icon i {
        font-size: 1.2rem;
        color: var(--accent);
        transition: all 0.35s cubic-bezier(0.2, 0.9, 0.4, 1);
    }

    .service-showcase-card:hover .service-showcase-icon {
        background: var(--accent);
        transform: scale(1.08) rotate(-5deg);
    }

    .service-showcase-card:hover .service-showcase-icon i {
        color: var(--text-on-accent);
        transform: scale(1.1);
    }

    .service-showcase-card h3 {
        font-size: 0.9rem;
        font-weight: 600;
        color: var(--text-primary);
        margin-bottom: 0.35rem;
    }

    .service-showcase-card p {
        font-size: 0.75rem;
        color: var(--text-muted);
        line-height: 1.45;
        margin: 0;
    }

    .service-groups {
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }

    .service-group {
        background: var(--bg-card);
        border: 1px solid var(--border-subtle);
        border-radius: var(--radius);
        overflow: hidden;
        transition: var(--transition);
    }

    .service-group:hover {
        border-color: var(--border-default);
        box-shadow: var(--shadow-sm);
    }

    .service-group-header {
        display: flex;
        align-items: center;
        gap: 0.6rem;
        padding: 0.7rem 1rem;
        background: var(--bg-category);
        border-bottom: 1px solid var(--border-subtle);
        font-size: 0.9rem;
        font-weight: 600;
        color: var(--text-primary);
        cursor: pointer;
        user-select: none;
        transition: var(--transition);
    }

    .service-group-header:hover {
        background: var(--accent-glow);
    }

    .service-group-header i.group-icon {
        color: var(--accent);
        font-size: 0.95rem;
    }

    .service-group-header .group-count {
        margin-left: auto;
        background: var(--accent-glow);
        color: var(--accent);
        font-size: 0.7rem;
        font-weight: 700;
        padding: 0.15rem 0.55rem;
        border-radius: 20px;
        border: 1px solid var(--accent-glow-strong);
    }

    .service-group-header .group-toggle {
        color: var(--text-muted);
        font-size: 0.7rem;
        transition: transform 0.3s ease;
    }

    .service-group.collapsed .group-toggle {
        transform: rotate(-90deg);
    }

    .service-group.collapsed .service-group-body {
        display: none;
    }

    .service-group-body {
        display: flex;
        flex-direction: column;
    }

    .service-row {
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 1rem;
        padding: 0.7rem 1rem;
        border-bottom: 1px solid var(--border-subtle);
        transition: var(--transition-fast);
        align-items: center;
    }

    .service-row:last-child {
        border-bottom: none;
    }

    .service-row:hover {
        background: var(--bg-card-hover);
    }

    .service-row-info {
        min-width: 0;
    }

    .service-row-name {
        font-size: 0.88rem;
        font-weight: 500;
        color: var(--text-primary);
        line-height: 1.35;
        margin-bottom: 0.15rem;
    }

    .service-row-desc {
        font-size: 0.72rem;
        color: var(--text-muted);
        line-height: 1.4;
        font-style: italic;
    }

    .service-row-price {
        font-size: 0.9rem;
        font-weight: 700;
        color: var(--accent);
        white-space: nowrap;
        text-align: right;
    }

    .service-row-price small {
        display: block;
        font-size: 0.65rem;
        font-weight: 500;
        color: var(--text-muted);
        margin-top: 2px;
    }

    .service-group-mobile {
        background: var(--bg-card);
        border: 1px solid var(--border-subtle);
        border-radius: var(--radius-sm);
        margin-bottom: 0.6rem;
        overflow: hidden;
    }

    .service-group-mobile-header {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        padding: 0.6rem 0.8rem;
        background: var(--bg-category);
        font-size: 0.82rem;
        font-weight: 600;
        color: var(--text-primary);
        cursor: pointer;
        user-select: none;
    }

    .service-group-mobile-header i.group-icon {
        color: var(--accent);
        font-size: 0.85rem;
    }

    .service-group-mobile-header .group-count {
        margin-left: auto;
        background: var(--accent-glow);
        color: var(--accent);
        font-size: 0.65rem;
        font-weight: 700;
        padding: 0.1rem 0.45rem;
        border-radius: 20px;
    }

    .service-group-mobile.collapsed .service-group-mobile-body {
        display: none;
    }

    .service-group-mobile-body {
        padding: 0.3rem 0;
    }

    .table-wrapper {
        overflow-x: auto;
        border-radius: var(--radius-sm);
    }

    .table {
        width: 100%;
        border-collapse: collapse;
        font-size: 0.82rem;
        color: var(--text-primary);
    }

    .table thead th {
        border-bottom: 2px solid var(--border-subtle);
        color: var(--text-muted);
        font-weight: 600;
        font-size: 0.65rem;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        padding: 0.55rem 0.6rem;
        text-align: left;
        background: var(--bg-muted);
    }

    .table td {
        border-bottom: 1px solid var(--border-subtle);
        padding: 0.55rem 0.6rem;
        vertical-align: middle;
        color: var(--text-primary);
        background: transparent;
    }

    .table tbody tr {
        transition: var(--transition-fast);
    }

    .table tbody tr:hover td {
        background: var(--bg-card-hover);
    }

    .price-highlight {
        color: var(--accent);
        font-weight: 600;
    }

    .badge-soft {
        background: var(--accent-glow);
        color: var(--accent);
        padding: 0.15rem 0.55rem;
        border-radius: 20px;
        font-size: 0.68rem;
        font-weight: 600;
        display: inline-block;
        border: 1px solid var(--accent-glow-strong);
        white-space: nowrap;
    }

    .order-cards-mobile {
        display: none;
        flex-direction: column;
        gap: 0.6rem;
    }

    .order-card-mobile {
        background: var(--bg-card);
        border: 1px solid var(--border-subtle);
        border-radius: var(--radius-sm);
        padding: 0.7rem 0.85rem;
        box-shadow: var(--shadow-sm);
        display: flex;
        flex-direction: column;
        gap: 0.4rem;
        transition: var(--transition);
    }

    .order-card-mobile:hover {
        box-shadow: var(--shadow-md);
        border-color: var(--border-default);
    }

    .card-header-mobile {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 0.4rem;
        flex-wrap: wrap;
    }

    .client-name {
        font-weight: 600;
        font-size: 0.9rem;
        color: var(--text-primary);
    }

    .status-badge {
        font-size: 0.68rem;
        padding: 0.15rem 0.55rem;
    }

    .card-services {
        display: flex;
        flex-wrap: wrap;
        gap: 0.25rem;
    }

    .service-tag {
        font-size: 0.68rem;
        padding: 0.12rem 0.5rem;
        white-space: nowrap;
    }

    .card-date {
        font-size: 0.7rem;
        color: var(--text-muted);
    }

    .service-name-block {
        display: flex;
        flex-direction: column;
        gap: 0.15rem;
    }

    .service-name-title {
        font-weight: 500;
        color: var(--text-primary);
    }

    .service-description {
        font-size: 0.72rem;
        color: var(--text-muted);
        font-style: italic;
        line-height: 1.4;
        margin-top: 0.1rem;
    }

    .service-description-mobile {
        font-size: 0.7rem;
        color: var(--text-muted);
        font-style: italic;
        line-height: 1.4;
        padding: 0.15rem 0;
    }

    .btn-primary {
        position: relative;
        overflow: hidden;
        background: var(--accent);
        color: var(--text-on-accent);
        border: none;
        padding: 0.45rem 1rem;
        border-radius: var(--radius-sm);
        font-weight: 600;
        font-size: 0.78rem;
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
        cursor: pointer;
        transition: var(--transition);
        text-decoration: none;
        box-shadow: 0 2px 10px rgba(37, 99, 235, 0.18);
        min-height: 38px;
        font-family: inherit;
        line-height: 1;
    }

    .btn-primary:hover {
        background: var(--accent-hover);
        transform: translateY(-1px);
        box-shadow: 0 4px 16px rgba(37, 99, 235, 0.3);
        color: var(--text-on-accent);
    }

    .btn-primary:active {
        transform: translateY(0) scale(0.97);
    }

    .btn-secondary {
        position: relative;
        overflow: hidden;
        background: var(--bg-muted);
        border: 1px solid var(--border-subtle);
        color: var(--text-secondary);
        padding: 0.45rem 1rem;
        border-radius: var(--radius-sm);
        font-weight: 500;
        font-size: 0.78rem;
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
        cursor: pointer;
        transition: var(--transition);
        text-decoration: none;
        min-height: 38px;
        font-family: inherit;
        line-height: 1;
    }

    .btn-secondary:hover {
        background: var(--bg-card-hover);
        border-color: var(--accent);
        color: var(--accent);
        transform: translateY(-1px);
        box-shadow: 0 4px 12px var(--accent-glow);
    }

    .btn-secondary:active {
        transform: translateY(0) scale(0.97);
    }

    .btn-sm,
    .btn-secondary.btn-sm {
        padding: 0.2rem 0.5rem;
        font-size: 0.7rem;
        min-height: 28px;
        border-radius: var(--radius-sm);
    }

    .form-select-sm {
        padding: 0.15rem 0.4rem;
        font-size: 0.68rem;
        min-height: 28px;
        border-radius: var(--radius-sm);
        background: var(--bg-input);
        border: 1px solid var(--border-subtle);
        color: var(--text-primary);
        transition: var(--transition-fast);
        font-family: inherit;
    }

    .form-select-sm:focus {
        outline: none;
        border-color: var(--accent);
        box-shadow: 0 0 0 3px var(--accent-glow);
    }

    .btn-archive {
        position: relative;
        overflow: hidden;
        background: var(--accent-glow);
        color: var(--accent);
        border: 1px solid var(--accent-glow-strong);
        padding: 0.2rem 0.5rem;
        border-radius: var(--radius-sm);
        font-size: 0.7rem;
        transition: var(--transition);
        cursor: pointer;
        font-family: inherit;
    }

    .btn-archive:hover {
        background: var(--accent);
        color: var(--text-on-accent);
        border-color: var(--accent);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(37, 99, 235, 0.3);
    }

    .btn-archive:active {
        transform: translateY(0) scale(0.95);
    }

    .btn-delete {
        position: relative;
        overflow: hidden;
        background: var(--danger-bg);
        color: var(--danger);
        border: 1px solid var(--danger-border);
        padding: 0.2rem 0.5rem;
        border-radius: var(--radius-sm);
        font-size: 0.7rem;
        transition: var(--transition);
        cursor: pointer;
        font-family: inherit;
    }

    .btn-delete:hover {
        background: var(--danger);
        color: #ffffff;
        border-color: var(--danger);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(220, 38, 38, 0.35);
        animation: shakeDelete 0.4s ease-in-out;
    }

    .btn-delete:active {
        transform: translateY(0) scale(0.95);
    }

    @keyframes shakeDelete {
        0%, 100% { transform: translateY(-2px) translateX(0); }
        25% { transform: translateY(-2px) translateX(-2px); }
        75% { transform: translateY(-2px) translateX(2px); }
    }

    .form-group {
        margin-bottom: 1rem;
    }

    .form-label {
        color: var(--text-secondary);
        font-weight: 500;
        font-size: 0.75rem;
        margin-bottom: 0.25rem;
        display: block;
    }

    .form-control,
    .form-select {
        background: var(--bg-input);
        border: 1px solid var(--border-subtle);
        border-radius: var(--radius-sm);
        color: var(--text-primary);
        padding: 0.5rem 0.75rem;
        font-size: 0.85rem;
        width: 100%;
        transition: var(--transition);
        font-family: var(--font);
        min-height: 38px;
    }

    .form-control:hover,
    .form-select:hover {
        border-color: var(--border-default);
    }

    .form-control:focus,
    .form-select:focus {
        outline: none;
        border-color: var(--accent);
        box-shadow: 0 0 0 3px var(--accent-glow);
        background: var(--bg-input-focus);
    }

    .form-control::placeholder {
        color: var(--text-placeholder);
    }

    textarea.form-control {
        min-height: 70px;
        resize: vertical;
    }

    @keyframes statusPulse {
        0%, 100% { opacity: 1; transform: scale(1); }
        50% { opacity: 0.5; transform: scale(0.8); }
    }

    ::-webkit-scrollbar {
        width: 6px;
        height: 6px;
    }

    ::-webkit-scrollbar-track {
        background: var(--scrollbar-track);
    }

    ::-webkit-scrollbar-thumb {
        background: var(--scrollbar-thumb);
        border-radius: 4px;
    }

    ::-webkit-scrollbar-thumb:hover {
        background: var(--scrollbar-thumb-hover);
    }

    @keyframes softGlow {
        0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.6; }
        50% { transform: translate(-50%, -50%) scale(1.15); opacity: 1; }
    }

    @keyframes logoBreath {
        0%, 100% { transform: scale(1); }
        50% { transform: scale(1.05); }
    }

    @keyframes ringPulse {
        0% { transform: scale(0.85); opacity: 0.9; border-color: var(--accent-glow-strong); }
        100% { transform: scale(1.5); opacity: 0; border-color: transparent; }
    }

    .connection-panel {
        width: 100%;
        max-width: 440px;
        background: var(--bg-card);
        border: 1px solid var(--border-subtle);
        border-radius: var(--radius);
        box-shadow: var(--shadow-lg);
        text-align: left;
        overflow: hidden;
        animation: connectionPanelIn 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
    }

    @keyframes connectionPanelIn {
        from { opacity: 0; transform: translateY(20px) scale(0.95); }
        to { opacity: 1; transform: translateY(0) scale(1); }
    }

    .connection-header {
        display: flex;
        align-items: center;
        gap: 0.6rem;
        padding: 0.8rem 1.1rem;
        background: var(--bg-muted);
        border-bottom: 1px solid var(--border-subtle);
    }

    .connection-header-dot {
        width: 8px;
        height: 8px;
        background: var(--accent);
        border-radius: 50%;
        box-shadow: 0 0 10px var(--accent);
        animation: headerDotPulse 1.5s ease-in-out infinite;
    }

    @keyframes headerDotPulse {
        0%, 100% { opacity: 1; transform: scale(1); }
        50% { opacity: 0.5; transform: scale(0.8); }
    }

    .connection-header-title {
        font-family: 'Inter', monospace;
        font-size: 0.68rem;
        font-weight: 700;
        color: var(--accent);
        letter-spacing: 2px;
    }

    .connection-status {
        padding: 1.3rem 1.1rem 0.9rem;
        font-family: 'Inter', monospace;
        font-size: 0.76rem;
        color: var(--text-secondary);
        min-height: 140px;
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
    }

    .connection-line {
        opacity: 0;
        transform: translateX(-10px);
        transition: opacity 0.3s ease, transform 0.3s ease;
        color: var(--text-secondary);
        position: relative;
        padding-left: 1rem;
    }

    .connection-line::before {
        content: '›';
        position: absolute;
        left: 0;
        color: var(--accent);
        font-weight: 700;
    }

    .connection-line.visible {
        opacity: 1;
        transform: translateX(0);
    }

    .connection-line.connection-success {
        color: var(--success);
        font-weight: 700;
        margin-top: 0.4rem;
    }

    .connection-line.connection-success::before {
        content: '✓';
        color: var(--success);
    }

    .connection-progress {
        width: 100%;
        height: 4px;
        background: var(--accent-glow);
        overflow: hidden;
    }

    .connection-progress-bar {
        height: 100%;
        width: 0%;
        background: linear-gradient(90deg, var(--accent-hover), var(--accent));
        transition: width 1.4s ease;
        box-shadow: 0 0 12px var(--accent-glow-strong);
    }

    @keyframes terminalIn {
        from { opacity: 0; transform: translateY(20px); }
        to { opacity: 1; transform: translateY(0); }
    }

    @keyframes terminalLineIn {
        to { opacity: 1; }
    }

    .terms-intro {
        font-size: 0.85rem;
        color: var(--text-secondary);
        line-height: 1.65;
        margin-bottom: 1.2rem;
        padding: 0.7rem 0.9rem;
        background: var(--accent-glow);
        border-left: 3px solid var(--accent);
        border-radius: var(--radius-sm);
    }

    .terms-list {
        list-style: none;
        padding: 0;
        margin: 0 0 1.2rem;
        display: flex;
        flex-direction: column;
        gap: 0.6rem;
    }

    .terms-item {
        display: flex;
        align-items: flex-start;
        gap: 0.7rem;
        padding: 0.7rem 0.9rem;
        background: var(--bg-muted);
        border: 1px solid var(--border-subtle);
        border-radius: var(--radius-sm);
        transition: var(--transition);
    }

    .terms-item:hover {
        border-color: var(--accent);
        box-shadow: 0 4px 16px var(--accent-glow);
        transform: translateX(4px);
    }

    .terms-icon {
        flex-shrink: 0;
        width: 22px;
        height: 22px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: var(--accent-glow);
        border-radius: 50%;
    }

    .terms-icon i {
        color: var(--accent);
        font-size: 0.8rem;
    }

    .terms-text {
        flex: 1;
        font-size: 0.85rem;
        color: var(--text-primary);
        line-height: 1.55;
    }

    .terms-footer {
        margin-top: 1.5rem;
        padding-top: 1.2rem;
        border-top: 1px solid var(--border-subtle);
    }

    .terms-note {
        display: flex;
        align-items: center;
        gap: 0.55rem;
        padding: 0.7rem 0.9rem;
        background: var(--bg-muted);
        border-radius: var(--radius-sm);
        font-size: 0.8rem;
        color: var(--text-secondary);
        margin-bottom: 1rem;
        border: 1px solid var(--border-subtle);
    }

    .terms-note i {
        color: var(--accent);
        font-size: 1rem;
    }

    .terms-actions {
        display: flex;
        gap: 0.5rem;
        flex-wrap: wrap;
    }

    .terms-actions .btn-primary,
    .terms-actions .btn-secondary {
        flex: 1;
        min-width: 150px;
        justify-content: center;
    }

    .terms-link-block {
        margin-top: 1.2rem;
        padding-top: 1.2rem;
        border-top: 1px solid var(--border-subtle);
        display: flex;
        justify-content: center;
    }

    #map {
        width: 100%;
        height: 350px;
        border-radius: var(--radius-sm);
        border: 1px solid var(--border-subtle);
    }

    @media (max-width: 768px) {
        #map {
            height: 260px;
        }

    }

    @media (max-width: 480px) {
        #map {
            height: 220px;
        }

    }

    #coordsDisplay {
        font-family: 'Inter', monospace;
        font-size: 0.7rem;
        color: var(--text-muted);
        background: var(--bg-muted);
        padding: 0.1rem 0.5rem;
        border-radius: var(--radius-sm);
    }

    .action-buttons {
        display: flex;
        flex-wrap: wrap;
        gap: 0.25rem;
        align-items: center;
    }

    .action-buttons form {
        display: inline-flex;
        align-items: center;
        gap: 0.2rem;
        margin: 0;
    }

    .action-buttons .btn-sm,
    .action-buttons .btn-secondary {
        padding: 0.2rem 0.5rem;
        font-size: 0.7rem;
        min-height: 28px;
        border-radius: var(--radius-sm);
        white-space: nowrap;
    }

    .action-buttons .form-select-sm {
        padding: 0.15rem 0.3rem;
        font-size: 0.62rem;
        min-height: 28px;
        border-radius: var(--radius-sm);
        background: var(--bg-input);
        border: 1px solid var(--border-subtle);
        color: var(--text-primary);
        width: auto;
        max-width: 90px;
        min-width: 60px;
    }

    .card-actions-mobile {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.35rem;
        border-top: 1px solid var(--border-subtle);
        padding-top: 0.5rem;
        margin-top: 0.3rem;
    }

    .card-actions-mobile .btn-sm,
    .card-actions-mobile .btn-secondary {
        padding: 0.2rem 0.5rem;
        font-size: 0.7rem;
        min-height: 28px;
        white-space: nowrap;
        flex-shrink: 0;
    }

    .card-actions-mobile .action-form {
        display: flex;
        align-items: center;
        margin: 0;
        flex-shrink: 0;
    }

    .card-actions-mobile .status-wrapper {
        display: flex;
        align-items: center;
        gap: 0.3rem;
        flex-wrap: nowrap;
    }

    .card-actions-mobile .form-select-sm {
        padding: 0.15rem 0.3rem;
        font-size: 0.62rem;
        min-height: 28px;
        background: var(--bg-input);
        border: 1px solid var(--border-subtle);
        color: var(--text-primary);
        width: auto;
        max-width: 80px;
        min-width: 60px;
        flex-shrink: 0;
    }

    .refresh-services-wrapper {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.8rem;
    }

    .refresh-form {
        display: inline-block;
        margin: 0;
    }

    .refresh-btn {
        position: relative;
        overflow: hidden;
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        padding: 0.45rem 1rem;
        min-height: 38px;
        white-space: nowrap;
    }

    .refresh-hint {
        font-size: 0.72rem;
        color: var(--text-muted);
        display: flex;
        align-items: center;
        gap: 0.3rem;
    }

    .services-cards-mobile {
        display: none;
        flex-direction: column;
        gap: 0.5rem;
    }

    .service-card-mobile {
        background: var(--bg-card);
        border: 1px solid var(--border-subtle);
        border-radius: var(--radius-sm);
        padding: 0.55rem 0.75rem;
        box-shadow: var(--shadow-sm);
        display: flex;
        flex-direction: column;
        gap: 0.25rem;
        transition: var(--transition);
    }

    .service-card-mobile:hover {
        box-shadow: var(--shadow-md);
    }

    .service-header-mobile {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 0.4rem;
    }

    .service-name {
        font-weight: 500;
        font-size: 0.82rem;
        color: var(--text-primary);
        flex: 1;
    }

    .service-category {
        font-size: 0.6rem;
        padding: 0.1rem 0.45rem;
        white-space: nowrap;
    }

    .service-price-mobile {
        text-align: right;
        font-size: 0.85rem;
        font-weight: 700;
    }

    @media (max-width: 768px) {
        :root {
            --nav-height: 50px;
        }

        body {
            font-size: 13px;
            padding-top: var(--nav-height);
        }

        .navbar-glass {
            padding: 0 0.7rem;
            height: var(--nav-height);
        }

        .logo-img {
            height: 26px;
        }

        .navbar-glass.scrolled .logo-img {
            height: 22px;
        }

        .hamburger {
            display: flex;
        }

        .nav-links {
            display: none;
        }

        .table-wrapper {
            display: none;
        }

        .order-cards-mobile {
            display: flex;
        }

        .services-cards-mobile {
            display: flex;
        }

        .brand-left {
            gap: 0.4rem;
        }

        .logo-center {
            height: 100px;
        }

        .glass-card {
            padding: 0.9rem;
        }

        .info-header {
            flex-direction: column;
            align-items: flex-start;
        }

        .form-control,
        .form-select {
            min-height: 38px;
            font-size: 0.85rem;
        }

        .btn-primary,
        .btn-secondary {
            min-height: 38px;
            font-size: 0.75rem;
        }

        .services-intro-title {
            font-size: 1.2rem;
        }

        .services-intro-subtitle {
            font-size: 0.8rem;
        }

        .services-showcase {
            grid-template-columns: repeat(2, 1fr);
            gap: 0.6rem;
        }

        .service-showcase-card {
            padding: 0.85rem 0.7rem;
        }

        .service-showcase-icon {
            width: 42px;
            height: 42px;
        }

        .service-showcase-icon i {
            font-size: 1.05rem;
        }

        .service-showcase-card h3 {
            font-size: 0.8rem;
        }

        .service-showcase-card p {
            font-size: 0.68rem;
        }

        .nav-call-btn {
            width: 34px;
            height: 34px;
        }

        .nav-call-btn i {
            font-size: 0.85rem;
        }

        .theme-toggle {
            width: 34px;
            height: 34px;
        }

        .theme-toggle i {
            font-size: 0.85rem;
        }

        .terms-intro {
            font-size: 0.82rem;
        }

        .terms-item {
            padding: 0.6rem 0.75rem;
        }

        .terms-text {
            font-size: 0.8rem;
        }

        .terms-actions {
            flex-direction: column;
        }

        .terms-actions .btn-primary,
        .terms-actions .btn-secondary {
            width: 100%;
        }

        .service-row {
            grid-template-columns: 1fr;
            gap: 0.3rem;
            padding: 0.6rem 0.75rem;
        }

        .service-row-price {
            text-align: left;
            font-size: 0.85rem;
        }

        .service-row-price small {
            display: inline;
            margin-left: 4px;
        }

    }

    @media (max-width: 480px) {
        .logo-center {
            height: 85px;
        }

        .tagline {
            font-size: 0.8rem;
        }

        .glass-card {
            padding: 0.75rem;
        }

        .section-title {
            font-size: 0.9rem;
        }

        .order-card-mobile {
            padding: 0.55rem 0.7rem;
        }

        .client-name {
            font-size: 0.85rem;
        }

        .services-showcase {
            grid-template-columns: 1fr;
        }

        .connection-panel {
            border-radius: var(--radius-sm);
        }

        .connection-status {
            font-size: 0.68rem;
            padding: 1.1rem 0.9rem 0.7rem;
            min-height: 120px;
        }

        .connection-header {
            padding: 0.65rem 0.9rem;
        }

        .connection-header-title {
            font-size: 0.58rem;
            letter-spacing: 1.5px;
        }

        .nav-call-btn {
            width: 32px;
            height: 32px;
        }

        .nav-call-btn i {
            font-size: 0.8rem;
        }

        .theme-toggle {
            width: 32px;
            height: 32px;
        }

        .theme-toggle i {
            font-size: 0.8rem;
        }

        .service-description {
            font-size: 0.68rem;
        }

        .terms-icon {
            width: 20px;
            height: 20px;
        }

        .terms-icon i {
            font-size: 0.72rem;
        }

        .terms-text {
            font-size: 0.75rem;
        }

        .service-group-header {
            padding: 0.6rem 0.75rem;
            font-size: 0.82rem;
        }

    }

    @media (min-width: 769px) {
        .hamburger {
            display: none;
        }

        .nav-links {
            display: flex;
        }

        .mobile-overlay {
            display: none;
        }

        .mobile-menu {
            display: none;
        }

        .order-cards-mobile {
            display: none;
        }

        .table-wrapper {
            display: block;
        }

        .services-cards-mobile {
            display: none;
        }

    }

    input,
    select,
    textarea,
    .form-control,
    .form-select,
    .form-select-sm,
    input[type="text"],
    input[type="email"],
    input[type="password"],
    input[type="tel"],
    input[type="number"],
    input[type="url"],
    input[type="search"],
    input[type="date"] {
        color: var(--text-primary);
        background-color: var(--bg-input);
        caret-color: var(--accent);
    }

    input::placeholder,
    textarea::placeholder,
    .form-control::placeholder {
        color: var(--text-placeholder);
        opacity: 1;
    }

    input:-webkit-autofill,
    input:-webkit-autofill:hover,
    input:-webkit-autofill:focus,
    input:-webkit-autofill:active,
    textarea:-webkit-autofill,
    select:-webkit-autofill {
        -webkit-text-fill-color: var(--text-primary);
        -webkit-box-shadow: 0 0 0 1000px var(--bg-input) inset;
        box-shadow: 0 0 0 1000px var(--bg-input) inset;
        transition: background-color 5000s ease-in-out 0s;
        caret-color: var(--accent);
    }

    select option {
        background: var(--bg-card);
        color: var(--text-primary);
    }

    [data-theme="dark"] input,
    [data-theme="dark"] select,
    [data-theme="dark"] textarea {
        color-scheme: dark;
    }

    .stats-row {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: stretch;
        gap: 0.8rem;
        margin-bottom: 1.5rem;
        padding: 0 0.5rem;
    }

    .stat-card {
        flex: 1 1 160px;
        max-width: 220px;
        min-width: 150px;
        background: var(--bg-card);
        border: 1px solid var(--border-subtle);
        border-radius: var(--radius);
        padding: 0.9rem 1rem;
        text-align: center;
        box-shadow: var(--shadow-sm);
        transition: var(--transition);
        position: relative;
        overflow: hidden;
    }

    .stat-card:hover {
        border-color: var(--accent);
        transform: translateY(-3px);
        box-shadow: 0 6px 20px var(--accent-glow-strong);
    }

    .stat-card .stat-label {
        font-size: 0.68rem;
        color: var(--text-muted);
        text-transform: uppercase;
        letter-spacing: 0.5px;
        margin-bottom: 0.3rem;
        font-weight: 600;
    }

    .stat-card .stat-value {
        font-size: 1.6rem;
        font-weight: 700;
        line-height: 1.1;
        color: var(--accent);
    }

    .stat-card .stat-value.green {
        color: var(--success);
    }

    .stat-card .stat-value.blue {
        color: var(--status-progress);
    }

    .stat-card .stat-value.orange {
        color: var(--status-new);
    }

    .chart-wrapper {
        position: relative;
        width: 100%;
        height: 280px;
    }

    .chart-wrapper canvas {
        display: block;
        width: 100%;
        height: 100%;
        max-height: 280px;
    }

    @media (max-width: 768px) {
        .chart-wrapper {
            height: 240px;
        }

        .chart-wrapper canvas {
            max-height: 240px;
        }

    }

    @media (max-width: 480px) {
        .chart-wrapper {
            height: 220px;
        }

        .chart-wrapper canvas {
            max-height: 220px;
        }

        .stat-card {
            flex: 1 1 130px;
            min-width: 120px;
            padding: 0.7rem 0.6rem;
        }

        .stat-card .stat-value {
            font-size: 1.3rem;
        }

        .stat-card .stat-label {
            font-size: 0.6rem;
        }

    }

    .charts-row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1rem;
        max-width: 1200px;
        margin: 0 auto;
    }

    @media (max-width: 900px) {
        .charts-row {
            grid-template-columns: 1fr;
        }

    }

    .dashboard-header {
        text-align: center;
        margin-bottom: 1rem;
    }

    .glass-card {
        padding: 1.1rem;
    }

    .profile-actions {
        display: flex;
        flex-direction: column;
        gap: 1.2rem;
    }

    .profile-block {
        background: var(--bg-muted);
        border: 1px solid var(--border-subtle);
        border-radius: var(--radius-sm);
        padding: 1rem;
    }

    .profile-block-title {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        font-size: 0.9rem;
        font-weight: 600;
        color: var(--text-primary);
        margin-bottom: 0.8rem;
        padding-bottom: 0.4rem;
        border-bottom: 1px solid var(--border-subtle);
    }

    .profile-block-title i {
        color: var(--accent);
    }

    .profile-info-row {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0.45rem 0;
        border-bottom: 1px solid var(--border-subtle);
        font-size: 0.85rem;
    }

    .profile-info-row:last-child {
        border-bottom: none;
    }

    .profile-info-row .label {
        color: var(--text-muted);
        font-size: 0.78rem;
    }

    .profile-info-row .value {
        color: var(--text-primary);
        font-weight: 500;
        word-break: break-word;
        text-align: right;
        max-width: 60%;
    }

    .mobile-menu {
        left: auto;
        right: -300px;
        border-right: none;
        border-left: 1px solid var(--border-subtle);
        transition: right 0.3s cubic-bezier(0.2, 0.9, 0.4, 1);
    }

    .mobile-menu.open {
        left: auto;
        right: 0;
    }

    @media (min-width: 769px) {
        .mobile-menu {
            right: -300px;
            left: auto;
        }

    }

    .mobile-menu,
    .mobile-overlay {
        touch-action: pan-y;
        -webkit-user-select: none;
        user-select: none;
        -webkit-touch-callout: none;
        -webkit-tap-highlight-color: transparent;
    }

    .mobile-menu a,
    .mobile-menu button,
    .mobile-menu span,
    .mobile-menu i {
        -webkit-user-select: auto;
        user-select: auto;
    }

    html,
    body {
        overscroll-behavior-x: none;
    }

    [data-theme="dark"] .logo-img,
    [data-theme="dark"] .menu-logo {
        background: #ffffff;
        padding: 4px 10px;
        border-radius: 8px;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
        box-sizing: content-box;
    }

    [data-theme="light"] .logo-img,
    [data-theme="light"] .menu-logo {
        background: transparent;
        padding: 0;
        border-radius: 0;
        box-shadow: none;
    }

    [data-theme="dark"] .logo-center {
        filter: drop-shadow(0 4px 20px rgba(77, 142, 255, 0.35));
    }

    .mobile-menu {
        padding-top: 1rem;
    }

    .mobile-menu {
        z-index: 10050;
        padding: 0;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    .mobile-overlay {
        z-index: 10040;
        background: rgba(0, 0, 0, 0.55);
        backdrop-filter: blur(4px);
        -webkit-backdrop-filter: blur(4px);
    }

    @media (min-width: 769px) {
        .mobile-menu,
        .mobile-overlay {
            display: none;
        }

    }

    .mobile-menu .menu-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.6rem;
        padding: 0.9rem 1rem;
        margin: 0;
        border-bottom: 1px solid var(--border-subtle);
        background: var(--bg-card);
        flex-shrink: 0;
        position: relative;
        z-index: 2;
    }

    .mobile-menu .menu-logo {
        height: 26px;
        width: auto;
        flex-shrink: 0;
    }

    .mobile-menu .menu-close {
        width: 38px;
        height: 38px;
        border-radius: 50%;
        background: var(--bg-muted);
        border: 1px solid var(--border-subtle);
        color: var(--text-secondary);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        font-size: 1rem;
        line-height: 1;
        padding: 0;
        transition: all 0.25s cubic-bezier(0.2, 0.9, 0.4, 1);
        flex-shrink: 0;
    }

    .mobile-menu .menu-close:hover {
        background: var(--danger-bg);
        border-color: var(--danger-border);
        color: var(--danger);
        transform: rotate(90deg) scale(1.05);
    }

    .mobile-menu .menu-close:active {
        transform: rotate(90deg) scale(0.92);
    }

    .mobile-menu .menu-content {
        flex: 1 1 auto;
        overflow-y: auto;
        padding: 0.9rem 1rem 1rem;
        -webkit-overflow-scrolling: touch;
    }

    .mobile-menu .menu-content::-webkit-scrollbar {
        width: 4px;
    }

    .mobile-menu .menu-content::-webkit-scrollbar-track {
        background: transparent;
    }

    .mobile-menu .menu-content::-webkit-scrollbar-thumb {
        background: var(--scrollbar-thumb);
        border-radius: 4px;
    }

    .hamburger.active {
        opacity: 0;
        pointer-events: none;
    }

    .mobile-menu,
    .mobile-overlay,
    .mobile-menu * {
        touch-action: manipulation;
        -webkit-user-drag: none;
    }

    .mobile-menu .menu-content {
        touch-action: pan-y;
    }

    html,
    body {
        overscroll-behavior-x: none;
        overflow-x: hidden;
    }

    [data-theme="dark"] .mobile-menu .menu-logo,
    [data-theme="dark"] .navbar-glass .logo-img {
        background: #ffffff;
        padding: 3px 8px;
        border-radius: 6px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
        box-sizing: content-box;
    }

    [data-theme="light"] .mobile-menu .menu-logo,
    [data-theme="light"] .navbar-glass .logo-img {
        background: transparent;
        padding: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .mobile-menu {
        transform: translateX(0);
        transition: transform 0.32s cubic-bezier(0.2, 0.9, 0.4, 1), right 0.32s cubic-bezier(0.2, 0.9, 0.4, 1);
    }

    .mobile-menu {
        box-shadow: -12px 0 40px rgba(0, 0, 0, 0.35);
        border-left: 1px solid var(--border-subtle);
    }

    @media (max-width: 768px) {
        body.menu-open .navbar-glass {
            z-index: 9998;
        }

    }

/* ==========================================================================
   ЧАСТЬ 2 · ДИЗАЙН-СИСТЕМА (токены, типографика)
   ========================================================================== */

    :root {
        --space-1: 4px;
        --space-2: 8px;
        --space-3: 12px;
        --space-4: 16px;
        --space-5: 24px;
        --space-6: 32px;
        --space-7: 48px;
        --space-8: 64px;
        --fs-xs: 12px;
        --fs-sm: 13px;
        --fs-md: 15px;
        --fs-lg: 17px;
        --fs-xl: 20px;
        --fs-2xl: 25px;
        --fs-display: clamp(25px, 1.2rem + 1.5vw, 31px);
        --fs-hero: clamp(31px, 1.5rem + 2.2vw, 44px);
        --lh-tight: 1.2;
        --lh-snug: 1.35;
        --lh-normal: 1.55;
        --lh-relaxed: 1.7;
        --fw-regular: 400;
        --fw-medium: 500;
        --fw-semibold: 600;
        --fw-bold: 700;
        --tracking-wide: 0.5px;
        --tracking-caps: 1px;
        --r-sm: 8px;
        --r-md: 12px;
        --r-lg: 16px;
        --r-xl: 24px;
        --r-full: 999px;
        --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
        --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
        --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
        --dur-1: 120ms;
        --dur-2: 220ms;
        --dur-3: 380ms;
        --control-h-sm: 32px;
        --control-h: 40px;
        --control-h-lg: 48px;
        --container-max: 1400px;
        --z-nav: 9999;
        --z-skip: 100000;
    }

    :root:not([data-theme="dark"]) {
        --sh-1: 0 1px 2px rgba(15, 23, 42, 0.05), 0 1px 3px rgba(15, 23, 42, 0.04);
        --sh-2: 0 4px 12px rgba(15, 23, 42, 0.07), 0 2px 4px rgba(15, 23, 42, 0.04);
        --sh-3: 0 12px 32px rgba(15, 23, 42, 0.12), 0 4px 10px rgba(15, 23, 42, 0.06);
        --ring: 0 0 0 3px color-mix(in srgb, var(--accent) 28%, transparent);
        --ring-danger: 0 0 0 3px color-mix(in srgb, var(--danger) 28%, transparent);
        --surface-1: var(--bg-card);
        --surface-2: var(--bg-muted);
        --surface-3: var(--bg-primary);
        --surface-tint: color-mix(in srgb, var(--accent) 5%, var(--bg-card));
        --surface-sheen: linear-gradient(180deg, color-mix(in srgb, #ffffff 70%, transparent) 0%, transparent 42%);
        --hairline: color-mix(in srgb, var(--border-subtle) 100%, transparent);
        --accent-soft-bg: color-mix(in srgb, var(--accent) 12%, transparent);
        --accent-soft-border: color-mix(in srgb, var(--accent) 34%, transparent);
        --accent-soft-strong: color-mix(in srgb, var(--accent) 22%, transparent);
        --success-soft-bg: color-mix(in srgb, var(--success) 12%, transparent);
        --success-soft-border: color-mix(in srgb, var(--success) 32%, transparent);
        --warning-soft-bg: color-mix(in srgb, var(--warning) 14%, transparent);
        --warning-soft-border: color-mix(in srgb, var(--warning) 34%, transparent);
        --danger-soft-bg: color-mix(in srgb, var(--danger) 12%, transparent);
        --danger-soft-border: color-mix(in srgb, var(--danger) 32%, transparent);
        --info-soft-bg: color-mix(in srgb, var(--info) 12%, transparent);
        --info-soft-border: color-mix(in srgb, var(--info) 32%, transparent);
        --skeleton-base: color-mix(in srgb, var(--text-muted) 14%, transparent);
        --skeleton-shine: color-mix(in srgb, #ffffff 65%, transparent);
        --empty-icon: color-mix(in srgb, var(--text-muted) 55%, transparent);
        --scroll-hint: linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--text-primary) 8%, transparent) 100%);
    }

    [data-theme="dark"] {
        --sh-1: 0 1px 2px rgba(0, 0, 0, 0.4);
        --sh-2: 0 4px 14px rgba(0, 0, 0, 0.44);
        --sh-3: 0 14px 40px rgba(0, 0, 0, 0.58);
        --ring: 0 0 0 3px color-mix(in srgb, var(--accent) 45%, transparent);
        --ring-danger: 0 0 0 3px color-mix(in srgb, var(--danger) 45%, transparent);
        --surface-1: var(--bg-card);
        --surface-2: var(--bg-muted);
        --surface-3: var(--bg-primary);
        --surface-tint: color-mix(in srgb, var(--accent) 10%, var(--bg-card));
        --surface-sheen: linear-gradient(180deg, color-mix(in srgb, #ffffff 5%, transparent) 0%, transparent 45%);
        --hairline: color-mix(in srgb, var(--border-subtle) 100%, transparent);
        --accent-soft-bg: color-mix(in srgb, var(--accent) 18%, transparent);
        --accent-soft-border: color-mix(in srgb, var(--accent) 42%, transparent);
        --accent-soft-strong: color-mix(in srgb, var(--accent) 30%, transparent);
        --success-soft-bg: color-mix(in srgb, var(--success) 18%, transparent);
        --success-soft-border: color-mix(in srgb, var(--success) 42%, transparent);
        --warning-soft-bg: color-mix(in srgb, var(--warning) 18%, transparent);
        --warning-soft-border: color-mix(in srgb, var(--warning) 42%, transparent);
        --danger-soft-bg: color-mix(in srgb, var(--danger) 18%, transparent);
        --danger-soft-border: color-mix(in srgb, var(--danger) 42%, transparent);
        --info-soft-bg: color-mix(in srgb, var(--info) 18%, transparent);
        --info-soft-border: color-mix(in srgb, var(--info) 42%, transparent);
        --skeleton-base: color-mix(in srgb, var(--text-muted) 22%, transparent);
        --skeleton-shine: color-mix(in srgb, #ffffff 10%, transparent);
        --empty-icon: color-mix(in srgb, var(--text-muted) 60%, transparent);
        --scroll-hint: linear-gradient(90deg, transparent 0%, color-mix(in srgb, #ffffff 10%, transparent) 100%);
    }

    :root:not([data-theme="dark"]) {
        --chip-new: #92400e;
        --chip-progress: #1d4ed8;
        --chip-done: #166534;
        --chip-refused: #b91c1c;
        --chip-archive: #475569;
    }

    [data-theme="dark"] {
        --chip-new: #fbbf24;
        --chip-progress: #7cb0ff;
        --chip-done: #5ee29a;
        --chip-refused: #ff8f8f;
        --chip-archive: #a9b6cc;
    }

    :root:not([data-theme="dark"]) {
        --text-muted: #5b6a80;
        --text-placeholder: #76859b;
        --success: #15803d;
    }

    :root:not([data-theme="dark"]) {
        --success-bright: #16a34a;
    }

    [data-theme="dark"] {
        --success-bright: #4ade80;
    }

    :root:not([data-theme="dark"]) {
        --dot-new: var(--chip-new);
        --dot-progress: var(--chip-progress);
        --dot-done: var(--chip-done);
        --dot-refused: var(--chip-refused);
        --dot-archive: var(--chip-archive);
    }

    [data-theme="dark"] {
        --dot-new: var(--chip-new);
        --dot-progress: var(--chip-progress);
        --dot-done: var(--chip-done);
        --dot-refused: var(--chip-refused);
        --dot-archive: var(--chip-archive);
    }

    :root {
        --density-card-pad: var(--space-5);
        --density-row-pad-y: var(--space-3);
        --density-row-pad-x: var(--space-3);
    }

    html {
        -webkit-text-size-adjust: 100%;
        text-size-adjust: 100%;
    }

    body {
        font-size: var(--fs-md);
        line-height: var(--lh-normal);
        font-optical-sizing: auto;
    }

    h1,
    .h1 {
        font-size: var(--fs-display);
        line-height: var(--lh-tight);
        letter-spacing: -0.02em;
        font-weight: var(--fw-bold);
    }

    h2,
    .h2 {
        font-size: var(--fs-2xl);
        line-height: var(--lh-tight);
        letter-spacing: -0.015em;
        font-weight: var(--fw-bold);
    }

    h3,
    .h3 {
        font-size: var(--fs-xl);
        line-height: var(--lh-snug);
        letter-spacing: -0.01em;
        font-weight: var(--fw-semibold);
    }

    h4,
    .h4 {
        font-size: var(--fs-lg);
        line-height: var(--lh-snug);
        font-weight: var(--fw-semibold);
    }

    h5,
    .h5 {
        font-size: var(--fs-md);
        line-height: var(--lh-snug);
        font-weight: var(--fw-semibold);
    }

    h6,
    .h6 {
        font-size: var(--fs-sm);
        line-height: var(--lh-snug);
        font-weight: var(--fw-semibold);
    }

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        text-wrap: balance;
    }

    p,
    li,
    dd,
    dt,
    figcaption {
        text-wrap: pretty;
    }

    .stat-valuebox,
    .stat-value,
    .kpi-card__value,
    .service-row-price,
    .table td,
    .price-highlight,
    #coordsDisplay,
    .connection-status {
        font-variant-numeric: tabular-nums;
        font-feature-settings: "tnum" 1;
    }

    .card-date,
    .service-category,
    .card-actions-mobile .form-select-sm,
    .action-buttons .form-select-sm {
        font-size: max(var(--fs-xs), 0.68rem);
    }

    .section-title {
        gap: var(--space-2);
        font-size: var(--fs-lg);
        font-weight: var(--fw-semibold);
        margin-bottom: var(--space-4);
        padding-bottom: var(--space-3);
        line-height: var(--lh-snug);
    }

    .info-header {
        gap: var(--space-3);
        margin-bottom: var(--space-4);
    }

    .info-header h3 {
        font-size: var(--fs-lg);
        gap: var(--space-2);
        margin: 0;
    }

    .main-container {
        max-width: var(--container-max);
        padding: var(--space-4) var(--space-4) var(--space-3);
    }

    :where(a, button, input, select, textarea, summary, [tabindex], [role="button"]):focus-visible {
        outline: 2px solid var(--accent);
        outline-offset: 2px;
        box-shadow: var(--ring);
        border-radius: inherit;
    }

    .form-control:focus-visible,
    .form-select:focus-visible,
    .form-select-sm:focus-visible,
    input:focus-visible,
    select:focus-visible,
    textarea:focus-visible {
        outline: 2px solid var(--accent);
        outline-offset: 2px;
        box-shadow: var(--ring);
    }

    .btn:focus-visible,
    .btn-primary:focus-visible,
    .btn-secondary:focus-visible,
    .btn-ghost:focus-visible,
    .btn-danger:focus-visible,
    .nav-link-btn:focus-visible,
    .menu-item:focus-visible,
    .theme-toggle:focus-visible,
    .nav-call-btn:focus-visible,
    .hamburger:focus-visible,
    .menu-close:focus-visible {
        outline: 2px solid var(--accent);
        outline-offset: 2px;
        box-shadow: var(--ring);
    }

    a:focus:not(:focus-visible),
    button:focus:not(:focus-visible) {
        outline: none;
    }

    [data-theme="dark"] :where(a, button, input, select, textarea, [tabindex]):focus-visible {
        outline-color: var(--accent);
        box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 50%, transparent);
    }

    :target,
    [id] {
        scroll-margin-top: calc(var(--nav-height, 54px) + var(--space-3));
    }

    .visually-hidden,
    .sr-only {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        clip-path: inset(50%);
        white-space: nowrap;
        border: 0;
    }

    .skip-link {
        position: fixed;
        top: var(--space-2);
        left: var(--space-2);
        z-index: var(--z-skip);
        display: inline-flex;
        align-items: center;
        gap: var(--space-2);
        padding: var(--space-3) var(--space-4);
        background: var(--surface-1);
        color: var(--text-primary);
        border: 1px solid var(--accent);
        border-radius: var(--r-md);
        box-shadow: var(--sh-3);
        font-size: var(--fs-sm);
        font-weight: var(--fw-semibold);
        text-decoration: none;
        transform: translateY(calc(-100% - var(--space-4)));
        transition: transform var(--dur-2) var(--ease-out);
    }

    .skip-link:focus,
    .skip-link:focus-visible {
        transform: translateY(0);
        outline: 2px solid var(--accent);
        outline-offset: 2px;
    }

    .stack {
        display: flex;
        flex-direction: column;
        gap: var(--space-4);
    }

    .stack--tight {
        gap: var(--space-2);
    }

    .stack--loose {
        gap: var(--space-5);
    }

    .cluster {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: var(--space-2);
    }

    .cluster--between {
        justify-content: space-between;
    }

    .grid-auto {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
        gap: var(--space-4);
    }

    .mt-0 {
        margin-top: 0;
    }

    .mb-2 {
        margin-bottom: var(--space-2);
    }

    .mb-4 {
        margin-bottom: var(--space-4);
    }

    .mb-5 {
        margin-bottom: var(--space-5);
    }

    .mt-4 {
        margin-top: var(--space-4);
    }

    .text-muted {
        color: var(--text-muted);
    }

    .text-xs {
        font-size: var(--fs-xs);
    }

    .text-sm {
        font-size: var(--fs-sm);
    }

    .u-nowrap {
        white-space: nowrap;
    }

    .u-right {
        text-align: right;
    }

    .u-dim {
        opacity: 0.72;
    }

    .u-flex-1 {
        flex: 1 1 auto;
        min-width: 0;
    }

    .w-full {
        width: 100%;
    }

    .u-fs-micro {
        font-size: 0.625rem;
        line-height: 1;
        opacity: 0.9;
    }

    .u-fs-micro::before {
        display: block;
    }

    .btn-block {
        width: 100%;
        justify-content: center;
    }

    .glass-card,
    .card {
        background: var(--surface-1);
        background-image: var(--surface-sheen);
        border: 1px solid var(--border-subtle);
        border-radius: var(--r-lg);
        padding: var(--density-card-pad);
        margin-bottom: var(--space-5);
        box-shadow: var(--sh-1);
        transition: box-shadow var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out);
    }

    .glass-card:hover,
    .card:hover {
        border-color: color-mix(in srgb, var(--accent) 30%, var(--border-default));
        box-shadow: var(--sh-2);
    }

    .card--static:hover {
        transform: none;
        box-shadow: var(--sh-1);
        border-color: var(--border-subtle);
    }

    .card--flush {
        padding: 0;
        overflow: hidden;
    }

    .card--accent {
        border-color: var(--accent-soft-border);
        background-image: linear-gradient(180deg, var(--accent-soft-bg) 0%, transparent 60%), var(--surface-sheen);
    }

    .card--roomy {
        padding: var(--space-6);
    }

    .btn,
    .btn-primary,
    .btn-secondary,
    .btn-ghost,
    .btn-danger {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: var(--space-2);
        min-height: var(--control-h);
        padding: var(--space-2) var(--space-4);
        border: 1px solid transparent;
        border-radius: var(--r-sm);
        font-family: var(--font);
        font-size: var(--fs-sm);
        font-weight: var(--fw-semibold);
        line-height: 1;
        text-decoration: none;
        white-space: nowrap;
        cursor: pointer;
        user-select: none;
        -webkit-tap-highlight-color: transparent;
        position: relative;
        overflow: hidden;
        transition: background-color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out);
    }

    .btn-primary {
        background: var(--accent);
        color: var(--text-on-accent);
        border-color: var(--accent);
        box-shadow: var(--sh-1);
    }

    .btn-primary:hover {
        background: var(--accent-hover);
        border-color: var(--accent-hover);
        color: var(--text-on-accent);
        box-shadow: 0 6px 18px var(--accent-soft-strong);
        transform: translateY(-1px);
    }

    .btn-ghost,
    .btn-secondary {
        background: var(--surface-2);
        color: var(--text-secondary);
        border-color: var(--border-subtle);
        box-shadow: none;
    }

    .btn-ghost:hover,
    .btn-secondary:hover {
        background: var(--surface-tint);
        border-color: var(--accent-soft-border);
        color: var(--accent);
        box-shadow: 0 4px 14px var(--accent-soft-bg);
    }

    .btn-danger {
        background: var(--danger-soft-bg);
        color: var(--danger);
        border-color: var(--danger-soft-border);
    }

    .btn-danger:hover {
        background: var(--danger);
        border-color: var(--danger);
        color: #fff;
        box-shadow: 0 6px 18px var(--danger-soft-border);
    }

    .btn:active,
    .btn-primary:active,
    .btn-secondary:active,
    .btn-ghost:active,
    .btn-danger:active {
        transform: translateY(0) scale(0.975);
        box-shadow: none;
    }

    .btn--sm {
        min-height: var(--control-h-sm);
        padding: var(--space-1) var(--space-3);
        font-size: var(--fs-xs);
        border-radius: var(--r-sm);
    }

    .btn--lg {
        min-height: var(--control-h-lg);
        padding: var(--space-3) var(--space-5);
        font-size: var(--fs-md);
    }

    .btn--icon {
        min-width: var(--control-h);
        padding: var(--space-2);
    }

    .btn--icon.btn--sm {
        min-width: var(--control-h-sm);
    }

    .btn:disabled,
    .btn[disabled],
    .btn-primary:disabled,
    .btn-primary[disabled],
    .btn-secondary:disabled,
    .btn-secondary[disabled],
    .btn-ghost:disabled,
    .btn-ghost[disabled],
    .btn-danger:disabled,
    .btn-danger[disabled],
    .btn-archive:disabled,
    .btn-delete:disabled,
    button:disabled {
        opacity: 0.5;
        cursor: not-allowed;
        box-shadow: none;
        transform: none;
        filter: saturate(0.6);
    }

    .btn:disabled:hover,
    .btn-primary:disabled:hover,
    .btn-secondary:disabled:hover,
    .btn-danger:disabled:hover,
    button:disabled:hover {
        transform: none;
        box-shadow: none;
        background: inherit;
    }

    .btn.is-loading,
    .btn-primary.is-loading,
    .btn-secondary.is-loading,
    .btn-danger.is-loading,
    .btn[aria-busy="true"],
    .btn-primary[aria-busy="true"],
    .btn-secondary[aria-busy="true"] {
        pointer-events: none;
        cursor: progress;
        color: transparent;
    }

    .btn.is-loading > *,
    .btn-primary.is-loading > *,
    .btn-secondary.is-loading > *,
    .btn[aria-busy="true"] > *,
    .btn-primary[aria-busy="true"] > *,
    .btn-secondary[aria-busy="true"] > * {
        visibility: hidden;
    }

    .btn.is-loading::after,
    .btn-primary.is-loading::after,
    .btn-secondary.is-loading::after,
    .btn-danger.is-loading::after,
    .btn[aria-busy="true"]::after,
    .btn-primary[aria-busy="true"]::after,
    .btn-secondary[aria-busy="true"]::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        width: 1.05em;
        height: 1.05em;
        margin: -0.525em 0 0 -0.525em;
        border-radius: var(--r-full);
        border: 2px solid color-mix(in srgb, currentColor 30%, transparent);
        border-top-color: var(--text-on-accent);
        animation: ds-spin 720ms linear infinite;
    }

    .btn-secondary.is-loading::after,
    .btn-ghost.is-loading::after,
    .btn-secondary[aria-busy="true"]::after {
        border-color: color-mix(in srgb, var(--text-secondary) 30%, transparent);
        border-top-color: var(--accent);
    }

    .spinner {
        display: inline-block;
        width: 1.1em;
        height: 1.1em;
        border-radius: var(--r-full);
        border: 2px solid color-mix(in srgb, var(--accent) 25%, transparent);
        border-top-color: var(--accent);
        animation: ds-spin 720ms linear infinite;
        vertical-align: -0.15em;
    }

    .spinner--lg {
        width: 28px;
        height: 28px;
        border-width: 3px;
    }

    @keyframes ds-spin {
        to { transform: rotate(360deg); }
    }

    .input,
    .form-control,
    .form-select,
    .form-select-sm {
        background: var(--bg-input);
        color: var(--text-primary);
        border: 1px solid var(--border-subtle);
        border-radius: var(--r-sm);
        min-height: var(--control-h);
        padding: var(--space-2) var(--space-3);
        font-family: var(--font);
        font-size: var(--fs-md);
        line-height: var(--lh-snug);
        width: 100%;
        transition: border-color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out);
    }

    .input:hover,
    .form-control:hover,
    .form-select:hover {
        border-color: var(--border-default);
    }

    .input:focus,
    .form-control:focus,
    .form-select:focus {
        background: var(--bg-input-focus);
        border-color: var(--accent);
        box-shadow: var(--ring);
    }

    .form-label {
        display: block;
        font-size: var(--fs-sm);
        font-weight: var(--fw-medium);
        color: var(--text-secondary);
        margin-bottom: var(--space-1);
    }

    .form-group {
        margin-bottom: var(--space-4);
    }

    .form-hint {
        font-size: var(--fs-xs);
        color: var(--text-muted);
        margin-top: var(--space-1);
    }

    .form-label .req,
    .form-label abbr[title] {
        color: var(--danger);
        text-decoration: none;
        font-weight: var(--fw-semibold);
    }

    .input:user-invalid,
    .form-control:user-invalid,
    .form-select:user-invalid,
    .input.is-invalid,
    .form-control.is-invalid,
    .form-select.is-invalid {
        border-color: var(--danger);
        background: var(--danger-soft-bg);
        box-shadow: var(--ring-danger);
    }

    .input.is-invalid:focus,
    .form-control.is-invalid:focus,
    .form-select.is-invalid:focus,
    .input:user-invalid:focus,
    .form-control:user-invalid:focus {
        border-color: var(--danger);
        box-shadow: var(--ring-danger);
    }

    .input.is-valid,
    .form-control.is-valid {
        border-color: var(--success);
        background: var(--success-soft-bg);
    }

    .form-error {
        display: flex;
        align-items: center;
        gap: var(--space-1);
        font-size: var(--fs-xs);
        font-weight: var(--fw-medium);
        color: var(--danger);
        margin-top: var(--space-1);
    }

    .form-error::before {
        content: "\26A0";
        font-size: 0.9em;
    }

    .alert {
        display: flex;
        align-items: flex-start;
        gap: var(--space-2);
        padding: var(--space-3) var(--space-4);
        border-radius: var(--r-md);
        border: 1px solid var(--border-subtle);
        border-left-width: 3px;
        font-size: var(--fs-sm);
        line-height: var(--lh-snug);
        margin-bottom: var(--space-3);
        background: var(--surface-2);
        color: var(--text-primary);
    }

    .alert > i {
        margin-top: 0.15em;
        flex-shrink: 0;
    }

    .alert-success {
        background: var(--success-soft-bg);
        border-color: var(--success-soft-border);
        border-left-color: var(--success);
        color: var(--success);
    }

    .alert-danger,
    .alert-error {
        background: var(--danger-soft-bg);
        border-color: var(--danger-soft-border);
        border-left-color: var(--danger);
        color: var(--danger);
    }

    .alert-warning {
        background: var(--warning-soft-bg);
        border-color: var(--warning-soft-border);
        border-left-color: var(--warning);
        color: var(--warning);
    }

    .alert-info,
    .alert-message {
        background: var(--info-soft-bg);
        border-color: var(--info-soft-border);
        border-left-color: var(--info);
        color: var(--info);
    }

    .badge {
        display: inline-flex;
        align-items: center;
        gap: var(--space-1);
        padding: 2px var(--space-2);
        border-radius: var(--r-sm);
        font-size: var(--fs-xs);
        font-weight: var(--fw-semibold);
        line-height: 1.5;
        background: var(--surface-2);
        color: var(--text-secondary);
        border: 1px solid var(--border-subtle);
        white-space: nowrap;
    }

    .badge--accent {
        background: var(--accent-soft-bg);
        color: var(--accent);
        border-color: var(--accent-soft-border);
    }

    .badge--count {
        min-width: 20px;
        justify-content: center;
        border-radius: var(--r-full);
    }

    .badge-soft {
        background: var(--accent-soft-bg);
        color: var(--accent);
        border: 1px solid var(--accent-soft-border);
        border-radius: var(--r-full);
        padding: 2px var(--space-2);
        font-size: var(--fs-xs);
        font-weight: var(--fw-semibold);
        line-height: 1.5;
        white-space: nowrap;
    }

    .chip {
        --c: var(--status-new);
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 4px 10px;
        border-radius: var(--r-full);
        font-size: var(--fs-xs);
        font-weight: 600;
        line-height: 1.45;
        white-space: nowrap;
        color: var(--c);
        background: color-mix(in srgb, var(--c) 14%, transparent);
        border: 1px solid color-mix(in srgb, var(--c) 34%, transparent);
        transition: background-color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out);
    }

    .chip--new {
        --c: var(--chip-new);
    }

    .chip--progress {
        --c: var(--chip-progress);
    }

    .chip--done {
        --c: var(--chip-done);
    }

    .chip--refused {
        --c: var(--chip-refused);
    }

    .chip--archive {
        --c: var(--chip-archive);
    }

    .chip--sm {
        padding: 2px var(--space-2);
        font-size: var(--fs-xs);
        gap: 4px;
    }

    .chip--lg {
        padding: 6px var(--space-4);
        font-size: var(--fs-sm);
        gap: var(--space-2);
    }

    .chip:not(:has(.chip__dot))::before {
        content: "";
        width: 6px;
        height: 6px;
        flex-shrink: 0;
        border-radius: var(--r-full);
        background: currentColor;
        opacity: 0.9;
    }

    .chip .chip__dot {
        width: 7px;
        height: 7px;
        flex-shrink: 0;
        border-radius: var(--r-full);
        background: currentColor;
        box-shadow: 0 0 0 3px color-mix(in srgb, currentColor 22%, transparent);
    }

    .chip > span,
    .chip > i {
        font-size: inherit;
        font-weight: inherit;
        line-height: inherit;
    }

    @supports not (background: color-mix(in srgb, red 10%, transparent)) {
        .chip {
            background: var(--bg-muted);
            border-color: var(--border-subtle);
            color: var(--text-secondary);
        }

        .chip--done {
            background: var(--success-bg);
            border-color: var(--success);
            color: var(--success);
        }

        .chip--refused {
            background: var(--danger-bg);
            border-color: var(--danger-border);
            color: var(--danger);
        }

        .chip--new {
            background: var(--warning-bg);
            border-color: var(--warning);
            color: var(--warning);
        }

        .chip--progress {
            background: var(--info-bg);
            border-color: var(--info);
            color: var(--info);
        }

        .chip--archive {
            background: var(--bg-muted);
            border-color: var(--border-default);
            color: var(--text-muted);
        }

    }

    .skeleton {
        position: relative;
        overflow: hidden;
        border-radius: var(--r-sm);
        background: var(--skeleton-base);
        color: transparent;
        pointer-events: none;
        user-select: none;
        min-height: 1em;
    }

    .skeleton::after {
        content: "";
        position: absolute;
        inset: 0;
        transform: translateX(-100%);
        background: linear-gradient(90deg, transparent 0%, var(--skeleton-shine) 50%, transparent 100%);
        animation: ds-shimmer 1.4s var(--ease-in-out) infinite;
    }

    @keyframes ds-shimmer {
        to { transform: translateX(100%); }
    }

    .skeleton--text {
        height: 0.75em;
        margin: 0.35em 0;
        border-radius: var(--r-sm);
    }

    .skeleton--title {
        height: 1.1em;
        width: 45%;
        margin-bottom: var(--space-3);
        border-radius: var(--r-sm);
    }

    .skeleton--avatar {
        width: 40px;
        height: 40px;
        border-radius: var(--r-full);
    }

    .skeleton--chip {
        width: 76px;
        height: 22px;
        border-radius: var(--r-full);
    }

    .skeleton--button {
        width: 120px;
        height: var(--control-h);
        border-radius: var(--r-sm);
    }

    .skeleton--card {
        height: 96px;
        border-radius: var(--r-lg);
    }

    .skeleton-row {
        display: flex;
        align-items: center;
        gap: var(--space-3);
        padding: var(--space-3) 0;
        border-bottom: 1px solid var(--border-subtle);
    }

    .skeleton-row:last-child {
        border-bottom: none;
    }

    .empty-state {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: var(--space-2);
        padding: var(--space-7) var(--space-4);
        text-align: center;
        color: var(--text-muted);
    }

    .empty-state__icon {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 56px;
        height: 56px;
        margin-bottom: var(--space-2);
        border-radius: var(--r-full);
        background: var(--surface-2);
        border: 1px solid var(--border-subtle);
        color: var(--empty-icon);
        font-size: var(--fs-xl);
    }

    .empty-state__title {
        font-size: var(--fs-lg);
        font-weight: var(--fw-semibold);
        color: var(--text-primary);
        line-height: var(--lh-snug);
    }

    .empty-state__text {
        font-size: var(--fs-sm);
        max-width: 42ch;
        line-height: var(--lh-normal);
    }

    .empty-state__actions {
        margin-top: var(--space-3);
        display: flex;
        gap: var(--space-2);
        flex-wrap: wrap;
        justify-content: center;
    }

    .empty-state--compact {
        padding: var(--space-5) var(--space-3);
    }

    .empty-state--compact .empty-state__icon {
        width: 44px;
        height: 44px;
        font-size: var(--fs-lg);
    }

    .table {
        font-size: var(--fs-sm);
        border-collapse: separate;
        border-spacing: 0;
        width: 100%;
        color: var(--text-primary);
    }

    .table thead th {
        position: sticky;
        top: 0;
        z-index: 2;
        background: var(--surface-2);
        color: var(--text-muted);
        font-size: var(--fs-xs);
        font-weight: var(--fw-semibold);
        text-transform: uppercase;
        letter-spacing: var(--tracking-wide);
        padding: var(--space-2) var(--space-3);
        text-align: left;
        border-bottom: 1px solid var(--border-default);
        white-space: nowrap;
    }

    .table td {
        padding: var(--density-row-pad-y) var(--density-row-pad-x);
        border-bottom: 1px solid var(--border-subtle);
        vertical-align: middle;
        line-height: var(--lh-snug);
    }

    .table tbody tr:last-child td {
        border-bottom: none;
    }

    .table--zebra tbody tr:nth-child(even) td {
        background: color-mix(in srgb, var(--bg-muted) 45%, transparent);
    }

    .table .u-num,
    .table td.u-num {
        text-align: right;
        font-variant-numeric: tabular-nums;
    }

    .table-wrapper {
        overflow-x: auto;
        overflow-y: visible;
        max-width: 100%;
        border-radius: var(--r-md);
        border: 1px solid var(--border-subtle);
        background: var(--surface-1);
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
        scrollbar-width: thin;
    }

    .table-wrapper > .table {
        min-width: 560px;
    }

    .table-wrapper > .table > tfoot td {
        background: var(--surface-2);
        font-weight: var(--fw-semibold);
        border-top: 2px solid var(--border-default);
    }

    .kpi-card {
        display: flex;
        flex-direction: column;
        gap: var(--space-1);
        padding: var(--space-4) var(--density-card-pad);
        background: var(--surface-1);
        border: 1px solid var(--border-subtle);
        border-radius: var(--r-lg);
        box-shadow: var(--sh-1);
        transition: box-shadow var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out);
        position: relative;
        overflow: hidden;
        min-width: 0;
    }

    .kpi-card::before {
        content: "";
        position: absolute;
        inset: 0 auto 0 0;
        width: 3px;
        background: var(--accent);
        opacity: 0;
        transition: opacity var(--dur-2) var(--ease-out);
    }

    .kpi-card:hover {
        box-shadow: var(--sh-2);
        transform: translateY(-2px);
        border-color: var(--border-default);
    }

    .kpi-card:hover::before {
        opacity: 1;
    }

    .kpi-card__label {
        font-size: var(--fs-xs);
        font-weight: var(--fw-semibold);
        text-transform: uppercase;
        letter-spacing: var(--tracking-wide);
        color: var(--text-muted);
    }

    .kpi-card__value {
        font-size: var(--fs-2xl);
        font-weight: var(--fw-bold);
        line-height: var(--lh-tight);
        letter-spacing: -0.02em;
        color: var(--text-primary);
    }

    .kpi-card__delta {
        display: inline-flex;
        align-items: center;
        gap: var(--space-1);
        font-size: var(--fs-xs);
        font-weight: var(--fw-semibold);
    }

    .kpi-card__delta--up {
        color: var(--success);
    }

    .kpi-card__delta--down {
        color: var(--danger);
    }

    .kpi-card__delta--flat {
        color: var(--text-muted);
    }

    .kpi-card--accent .kpi-card__value {
        color: var(--accent);
    }

    .kpi-card--success .kpi-card__value {
        color: var(--success);
    }

    .kpi-card--warning .kpi-card__value {
        color: var(--warning);
    }

    .kpi-card--danger  .kpi-card__value {
        color: var(--danger);
    }

    .stat-card {
        background: var(--surface-1);
        border: 1px solid var(--border-subtle);
        border-radius: var(--r-lg);
        padding: var(--space-4) var(--space-5);
        box-shadow: var(--sh-1);
        max-width: none;
    }

    .stat-card:hover {
        border-color: var(--border-default);
        box-shadow: var(--sh-2);
        transform: translateY(-2px);
    }

    .stat-card .stat-label {
        font-size: var(--fs-xs);
        letter-spacing: var(--tracking-wide);
        color: var(--text-muted);
        margin-bottom: var(--space-1);
    }

    .stat-card .stat-value {
        font-size: var(--fs-2xl);
        line-height: var(--lh-tight);
        letter-spacing: -0.02em;
    }

    .stats-row {
        gap: var(--space-4);
        margin-bottom: var(--space-5);
        padding: 0;
    }

    .toolbar {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: var(--space-2);
        padding: var(--space-3) var(--space-4);
        background: var(--surface-2);
        border: 1px solid var(--border-subtle);
        border-radius: var(--r-md);
        margin-bottom: var(--space-4);
    }

    .toolbar__group {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: var(--space-2);
        min-width: 0;
    }

    .toolbar__spacer {
        flex: 1 1 auto;
    }

    .toolbar--plain {
        background: transparent;
        border: none;
        padding: 0;
    }

    .toolbar--sticky {
        position: sticky;
        top: calc(var(--nav-height, 54px) + var(--space-2));
        z-index: 5;
        backdrop-filter: blur(10px);
    }

    .toolbar--toolbar-cards {
        border-radius: var(--r-md);
    }

    .table-summary {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: var(--space-2);
        margin-top: var(--space-3);
        padding-top: var(--space-3);
        border-top: 1px solid var(--border-subtle);
        color: var(--text-muted);
        font-size: var(--fs-xs);
    }

    .table-summary__total {
        font-size: var(--fs-lg);
        font-weight: var(--fw-bold);
        color: var(--text-primary);
    }

    .toolbar .form-control,
    .toolbar .input {
        width: auto;
        flex: 1 1 200px;
        min-width: 0;
    }

    .toolbar .form-select {
        width: auto;
        flex: 0 0 auto;
    }

    .breadcrumbs {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: var(--space-2);
        font-size: var(--fs-sm);
        color: var(--text-muted);
        margin-bottom: var(--space-3);
    }

    .breadcrumbs a {
        color: var(--text-muted);
        text-decoration: none;
    }

    .breadcrumbs a:hover {
        color: var(--accent);
    }

    .breadcrumbs li + li::before {
        content: "/";
        margin-right: var(--space-2);
        color: var(--border-strong);
    }

    .btn-remove {
        padding: var(--space-1) var(--space-2);
        min-height: var(--control-h);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: var(--danger);
        border-color: var(--danger-soft-border);
        background: var(--danger-soft-bg);
    }

    .btn-remove:hover {
        background: var(--danger-soft-bg);
        border-color: var(--danger);
        color: var(--danger);
        box-shadow: 0 4px 12px var(--danger-soft-border);
    }

    .btn-location {
        padding: var(--space-2) var(--space-3);
        min-height: var(--control-h-lg);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
    }

    .address-row {
        display: flex;
        gap: var(--space-2);
        margin-bottom: var(--space-2);
        align-items: stretch;
    }

    .address-row .form-control {
        flex: 1 1 auto;
        min-width: 0;
    }

    .cart-item {
        display: flex;
        gap: var(--space-2);
        margin-bottom: var(--space-2);
        align-items: center;
        flex-wrap: wrap;
    }

    .cart-item > .form-select {
        flex: 1 1 200px;
        min-width: 0;
    }

    .cart-item-right {
        display: flex;
        gap: var(--space-1);
        align-items: center;
        flex-shrink: 0;
    }

    .qty-input {
        width: 72px;
        min-height: var(--control-h-lg);
        text-align: center;
        flex-shrink: 0;
    }

    .btn-add-service {
        width: 100%;
        justify-content: center;
        padding: var(--space-2) var(--space-3);
    }

    .btn-submit {
        width: 100%;
        justify-content: center;
        min-height: var(--control-h-lg);
        font-size: var(--fs-md);
    }

    #coordsStatus {
        display: inline-flex;
        align-items: center;
        gap: var(--space-1);
    }

    .stat-dot {
        position: relative;
        display: inline-block;
        width: 8px;
        height: 8px;
        flex-shrink: 0;
        border-radius: var(--r-full);
        background: var(--success);
        vertical-align: middle;
    }

    .stat-dot::after {
        content: "";
        position: absolute;
        inset: 0;
        border-radius: inherit;
        background: currentColor;
        box-shadow: 0 0 0 0 currentColor;
        animation: ds-ping 2.2s var(--ease-out) infinite;
    }

    .stat-dot--new {
        background: var(--dot-new);
        color: var(--dot-new);
    }

    .stat-dot--progress {
        background: var(--dot-progress);
        color: var(--dot-progress);
    }

    .stat-dot--done {
        background: var(--dot-done);
        color: var(--dot-done);
    }

    .stat-dot--refused {
        background: var(--dot-refused);
        color: var(--dot-refused);
    }

    .stat-dot--archive {
        background: var(--dot-archive);
        color: var(--dot-archive);
    }

    .stat-dot--accent {
        background: var(--accent);
        color: var(--accent);
    }

    .stat-dot--warning {
        background: var(--warning);
        color: var(--warning);
    }

    .stat-dot--off {
        background: var(--text-muted);
        color: var(--text-muted);
    }

    .stat-dot--off::after {
        animation: none;
    }

    .stat-dot--sm {
        width: 6px;
        height: 6px;
    }

    @keyframes ds-ping {
        0%   { transform: scale(1); opacity: 0.6; box-shadow: 0 0 0 0 currentColor; }
        70%  { transform: scale(1); opacity: 0;   box-shadow: 0 0 0 6px currentColor; }
        100% { transform: scale(1); opacity: 0;   box-shadow: 0 0 0 0 currentColor; }
    }

    .system-status {
        display: inline-flex;
        align-items: center;
        gap: var(--space-2);
        padding: var(--space-1) var(--space-3);
        border-radius: var(--r-full);
        font-size: var(--fs-xs);
        font-weight: var(--fw-semibold);
        background: var(--success-soft-bg);
        border: 1px solid var(--success-soft-border);
        color: var(--success);
        white-space: nowrap;
    }

    .tooltip,
    [data-tip] {
        position: relative;
    }

    .tooltip::after,
    [data-tip]::after {
        content: attr(data-tip);
        position: absolute;
        bottom: calc(100% + 8px);
        left: 50%;
        transform: translateX(-50%) translateY(4px);
        z-index: 60;
        max-width: 260px;
        width: max-content;
        padding: var(--space-1) var(--space-2);
        background: var(--text-primary);
        color: var(--bg-card);
        border-radius: var(--r-sm);
        font-size: var(--fs-xs);
        font-weight: var(--fw-medium);
        line-height: var(--lh-snug);
        text-transform: none;
        letter-spacing: 0;
        white-space: normal;
        text-align: left;
        box-shadow: var(--sh-3);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out), visibility var(--dur-2);
    }

    .tooltip:hover::after,
    .tooltip:focus-visible::after,
    [data-tip]:hover::after,
    [data-tip]:focus-visible::after {
        opacity: 1;
        visibility: visible;
        transform: translateX(-50%) translateY(0);
    }

    .tooltip--bottom::after,
    [data-tip-pos="bottom"]::after {
        bottom: auto;
        top: calc(100% + 8px);
    }

    .tooltip--start::after,
    [data-tip-pos="start"]::after {
        left: 0;
        transform: translateX(0) translateY(4px);
    }

    .tooltip--start:hover::after,
    [data-tip-pos="start"]:hover::after {
        transform: translateX(0) translateY(0);
    }

    .tooltip--end::after,
    [data-tip-pos="end"]::after {
        left: auto;
        right: 0;
        transform: translateX(0) translateY(4px);
    }

    .tooltip--end:hover::after,
    [data-tip-pos="end"]:hover::after {
        transform: translateX(0) translateY(0);
    }

    .action-buttons [data-tip]::after,
    .card-actions-mobile [data-tip]::after {
        content: none;
    }

    .service-showcase-card,
    .service-group,
    .service-group-mobile,
    .order-card-mobile,
    .service-card-mobile,
    .profile-block,
    .terms-item,
    .terms-note {
        border-radius: var(--r-md);
    }

    .service-showcase-card:hover {
        box-shadow: 0 10px 28px var(--accent-soft-bg);
    }

    .service-showcase-icon {
        background: linear-gradient(135deg, var(--accent-soft-strong), var(--accent-soft-bg));
    }

    .service-group-header .group-count,
    .service-group-mobile-header .group-count {
        background: var(--accent-soft-bg);
        border: 1px solid var(--accent-soft-border);
        border-radius: var(--r-full);
    }

    .nav-link-btn-primary {
        box-shadow: 0 2px 10px var(--accent-soft-bg);
    }

    .nav-link-btn-primary:hover {
        box-shadow: 0 6px 18px var(--accent-soft-strong);
    }

    .nav-call-btn {
        box-shadow: 0 3px 10px var(--accent-soft-bg);
    }

    .nav-call-btn:hover {
        box-shadow: 0 6px 18px var(--accent-soft-strong);
    }

    .mobile-menu {
        box-shadow: -12px 0 40px rgba(0, 0, 0, 0.35);
    }

    .terms-intro {
        border-radius: var(--r-md);
    }

    @media (max-width: 768px) {
        :root {
            --density-card-pad: var(--space-4);
            --density-row-pad-y: var(--space-2);
            --density-row-pad-x: var(--space-3);
        }

        .table-wrapper {
            display: block;
        }

        .table-wrapper > .table {
            min-width: 520px;
        }

        .table thead th {
            padding: var(--space-2);
        }

        .table td {
            padding: var(--space-2) var(--space-3);
        }

        .table-wrapper--hint {
            position: relative;
            background-image: var(--scroll-hint);
            background-repeat: no-repeat;
            background-position: right center;
            background-size: 24px 100%;
        }

        .table thead th {
            position: static;
        }

        .table-cards,
        .table-cards > .table {
            min-width: 0;
        }

        .table-wrapper:has(.table-cards) {
            border: none;
            background: transparent;
            overflow: visible;
        }

        .table-cards thead {
            position: absolute;
            width: 1px;
            height: 1px;
            margin: -1px;
            padding: 0;
            overflow: hidden;
            clip: rect(0, 0, 0, 0);
            clip-path: inset(50%);
            white-space: nowrap;
            border: 0;
        }

        .table-cards tbody,
        .table-cards tfoot {
            display: block;
        }

        .table-cards tbody tr {
            display: block;
            background: var(--surface-1);
            border: 1px solid var(--border-subtle);
            border-radius: var(--r-md);
            box-shadow: var(--sh-1);
            padding: var(--space-2) var(--space-3);
            margin-bottom: var(--space-3);
        }

        .table-cards tbody tr:hover td {
            background: transparent;
        }

        .table-cards tbody td {
            display: grid;
            grid-template-columns: minmax(88px, 40%) 1fr;
            align-items: start;
            gap: var(--space-3);
            padding: var(--space-2) 0;
            border-bottom: 1px solid var(--border-subtle);
            text-align: right;
            word-break: break-word;
        }

        .table-cards tbody td:last-child {
            border-bottom: none;
        }

        .table-cards tbody td[data-label]::before {
            content: attr(data-label);
            text-align: left;
            font-size: var(--fs-xs);
            font-weight: var(--fw-semibold);
            text-transform: uppercase;
            letter-spacing: var(--tracking-wide);
            color: var(--text-muted);
            line-height: var(--lh-snug);
        }

        .table-cards tbody td:not([data-label]) {
            grid-template-columns: 1fr;
            text-align: left;
        }

        .table-cards tbody td[data-span="full"] {
            grid-template-columns: 1fr;
            text-align: left;
        }

        .table-cards tbody td[data-span="full"]::before {
            margin-bottom: var(--space-1);
        }

        .table-cards tbody td[data-span="full"] > * {
            text-align: left;
        }

        .table-cards tfoot tr {
            display: block;
            padding: var(--space-3);
            background: var(--accent-soft-bg);
            border: 1px solid var(--accent-soft-border);
            border-radius: var(--r-md);
        }

        .table-cards tfoot td {
            display: grid;
            grid-template-columns: minmax(88px, 40%) 1fr;
            gap: var(--space-3);
            padding: var(--space-1) 0;
            border: none;
            text-align: right;
            font-size: var(--fs-md);
        }

        .table-cards tfoot td[colspan]::before {
            content: none;
        }

        .table-cards tfoot td:first-child {
            text-align: left;
        }

        .table-cards tfoot td[data-span="full"] {
            grid-template-columns: 1fr;
            text-align: left;
            font-size: var(--fs-sm);
        }

        .table-cards tfoot td[data-span="full"]::before {
            margin-bottom: var(--space-1);
        }

        .table-cards [data-role="value"] {
            grid-template-columns: 1fr;
            text-align: right;
        }

        .table-cards [data-role="value"]::before {
            content: none;
        }

        .table-cards td .action-buttons,
        .table-cards td .card-actions-mobile {
            justify-content: flex-end;
        }

        .table-cards td .price-highlight {
            font-size: var(--fs-md);
        }

        body {
            font-size: var(--fs-md);
        }

        .main-container {
            padding: var(--space-3) var(--space-3) var(--space-4);
        }

        .glass-card,
        .card {
            padding: var(--density-card-pad);
            border-radius: var(--r-md);
            margin-bottom: var(--space-4);
        }

        .card--roomy {
            padding: var(--space-5);
        }

        .section-title {
            font-size: var(--fs-lg);
            margin-bottom: var(--space-3);
            padding-bottom: var(--space-2);
        }

        .info-header h3 {
            font-size: var(--fs-lg);
        }

        .stats-row {
            gap: var(--space-3);
        }

    }

    @media (max-width: 480px) {
        :root {
            --density-card-pad: var(--space-3);
        }

        .glass-card,
        .card {
            padding: var(--density-card-pad);
        }

        .table {
            font-size: var(--fs-sm);
        }

        .card--roomy {
            padding: var(--space-4);
        }

        .section-title {
            font-size: var(--fs-md);
        }

        .kpi-card__value,
        .stat-card .stat-value {
            font-size: var(--fs-xl);
        }

        .table-cards tbody td {
            grid-template-columns: minmax(72px, 38%) 1fr;
            gap: var(--space-2);
        }

        .toolbar {
            padding: var(--space-2);
        }

        .btn,
        .btn-primary,
        .btn-secondary {
            min-height: var(--control-h);
        }

        .skip-link {
            left: var(--space-2);
            right: var(--space-2);
            justify-content: center;
        }

    }

    @media (min-width: 769px) and (max-width: 1024px) {
        .main-container {
            padding: var(--space-4) var(--space-5);
        }

    }

    @media (min-width: 1280px) {
        :root {
            --fs-display: 31px;
        }

    }

    @media (hover: none) {
        .glass-card:hover,
        .card:hover,
        .kpi-card:hover,
        .stat-card:hover {
            transform: none;
            box-shadow: var(--sh-1);
        }

        .tooltip::after,
        [data-tip]::after {
            content: none;
        }

    }

    @media (prefers-contrast: more) {
        :root:not([data-theme="dark"]) {
            --border-subtle: #b8c2cf;
            --border-default: #94a1b2;
            --text-muted: #4a5768;
        }

        [data-theme="dark"] {
            --border-subtle: #4a5878;
            --border-default: #64759c;
            --text-muted: #b6c2d8;
        }

        .chip {
            border-width: 2px;
        }

        .table td,
        .table thead th {
            border-bottom-width: 2px;
        }

    }

    .logo-picture,
    picture.logo-picture {
        display: inline-flex;
        align-items: center;
        line-height: 0;
    }

    .logo-img--dark {
        display: none;
    }

    [data-theme="dark"] .logo-img--dark {
        display: inline-block;
    }

    [data-theme="dark"] .logo-img--light {
        display: none;
    }

    [data-theme="dark"] .logo-img--dark,
    [data-theme="dark"] .menu-logo.logo-img--dark {
        background: transparent;
        padding: 0;
        border-radius: 0;
        box-shadow: none;
        box-sizing: border-box;
        filter: drop-shadow(0 2px 10px color-mix(in srgb, var(--accent) 35%, transparent));
    }

    [data-theme="dark"] .navbar-glass .logo-img,
    [data-theme="dark"] .navbar-glass .logo-img.logo-img,
    [data-theme="dark"] .mobile-menu .menu-header .menu-logo,
    [data-theme="dark"] .mobile-menu .menu-logo,
    [data-theme="dark"] .brand-logo .logo-img {
        box-sizing: content-box;
        background: color-mix(in srgb, #ffffff 92%, var(--accent) 8%);
        padding: 3px var(--space-2);
        border-radius: var(--r-sm);
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
        height: 26px;
    }

    [data-theme="dark"] .navbar-glass.scrolled .logo-img {
        height: 22px;
    }

    [data-theme="dark"] .mobile-menu .menu-logo {
        height: 20px;
        padding: 2px 6px;
    }

    [data-theme="dark"] .logo-center {
        filter: drop-shadow(0 6px 22px color-mix(in srgb, var(--accent) 38%, transparent));
    }

    @keyframes ds-rise {
        from { opacity: 0; transform: translateY(10px); }
        to   { opacity: 1; transform: none; }
    }

    .reveal {
        animation: ds-rise var(--dur-3) var(--ease-out) both;
    }

    .reveal-group > * {
        animation: ds-rise var(--dur-3) var(--ease-out) both;
    }

    .reveal-group > *:nth-child(1) {
        animation-delay: 0ms;
    }

    .reveal-group > *:nth-child(2) {
        animation-delay: 40ms;
    }

    .reveal-group > *:nth-child(3) {
        animation-delay: 80ms;
    }

    .reveal-group > *:nth-child(4) {
        animation-delay: 120ms;
    }

    .reveal-group > *:nth-child(5) {
        animation-delay: 160ms;
    }

    .reveal-group > *:nth-child(6) {
        animation-delay: 200ms;
    }

    .reveal-group > *:nth-child(7) {
        animation-delay: 240ms;
    }

    .reveal-group > *:nth-child(8) {
        animation-delay: 280ms;
    }

    .reveal-group > *:nth-child(9) {
        animation-delay: 320ms;
    }

    .reveal-group > *:nth-child(10) {
        animation-delay: 360ms;
    }

    .reveal-group > *:nth-child(11) {
        animation-delay: 400ms;
    }

    .reveal-group > *:nth-child(n+12) {
        animation-delay: 440ms;
    }

    .service-showcase-card[data-delay="0"] {
        animation-delay: 0ms;
    }

    .service-showcase-card[data-delay="1"] {
        animation-delay: 80ms;
    }

    .service-showcase-card[data-delay="2"] {
        animation-delay: 160ms;
    }

    .service-showcase-card[data-delay="3"] {
        animation-delay: 240ms;
    }

    .services-showcase,
    .order-cards-mobile,
    .services-cards-mobile,
    .stats-row {
        animation-delay: 0ms;
    }

    @keyframes ds-halo {
        0%   { transform: scale(0.8); opacity: 0.7; }
        80%  { transform: scale(2.1); opacity: 0; }
        100% { transform: scale(2.1); opacity: 0; }
    }

    .is-offline .system-status {
        background: var(--surface-2);
        border-color: var(--border-default);
        color: var(--text-muted);
    }

    .is-offline .stat-dot--live {
        background: var(--text-muted);
        box-shadow: none;
        animation: none;
    }

    .skeleton-list {
        display: flex;
        flex-direction: column;
        gap: var(--space-2);
    }

    .skeleton-list[aria-busy="true"] ~ * {
        pointer-events: none;
    }

    .is-loading [data-loading-hide] {
        visibility: hidden;
    }

    [data-loading-skeleton] {
        display: none;
    }

    .is-loading [data-loading-skeleton] {
        display: block;
    }

    .nav-link-btn::before,
    .menu-item::before {
        transition: height var(--dur-2) var(--ease-out), opacity var(--dur-2) var(--ease-out);
    }

    .service-showcase-card:hover .service-showcase-icon {
        box-shadow: 0 0 0 6px var(--accent-soft-bg);
    }

    .table tbody tr {
        position: relative;
    }

    .table tbody tr td:first-child {
        transition: box-shadow var(--dur-2) var(--ease-out);
    }

    .table tbody tr:hover td:first-child {
        box-shadow: inset 3px 0 0 var(--accent);
    }

    .connection-progress {
        background: var(--accent-soft-bg);
    }

    .connection-progress-bar {
        background: linear-gradient(90deg, var(--accent-hover), var(--accent));
    }

    .connection-header-dot {
        background: var(--accent);
        box-shadow: 0 0 10px var(--accent-soft-border);
    }

/* ==========================================================================
   ЧАСТЬ 3 · ТЕМА «ИНФРАСТРУКТУРА»
   ========================================================================== */

    :root {
        --ink-0: #f4f7fd;
        --ink-1: #ffffff;
        --ink-2: #eaeff9;
        --ink-3: #dfe6f4;
        --ink-text: #0d1526;
        --ink-text-soft: #414f68;
        --ink-text-muted: #68768f;
        --ink-line: rgba(13, 21, 38, .10);
        --ink-line-strong: rgba(13, 21, 38, .18);
        --ink-glow-1: rgba(37, 99, 235, .10);
        --ink-glow-2: rgba(6, 182, 212, .10);
        --tech-blue: #2563eb;
        --tech-cyan: #0891b2;
        --tech-live: #10b981;
        --tech-warn: #ea580c;
        --tech-gradient: linear-gradient(135deg, #2563eb 0%, #0891b2 100%);
        --tech-gradient-soft: linear-gradient(135deg, rgba(37, 99, 235, .12), rgba(8, 145, 178, .12));
        --panel-bg: rgba(255, 255, 255, .82);
        --panel-border: rgba(13, 21, 38, .09);
        --panel-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 12px 32px -12px rgba(16, 24, 40, .14);
        --panel-shadow-hover: 0 2px 4px rgba(16, 24, 40, .05), 0 24px 48px -16px rgba(16, 24, 40, .20);
        --grid-line: rgba(13, 21, 38, .055);
        --grid-size: 32px;
        --tech-r: 14px;
        --tech-r-sm: 10px;
        --tech-r-lg: 20px;
        --tech-ease: cubic-bezier(.22, 1, .36, 1);
        --tech-dur: 260ms;
    }

    [data-theme="dark"] {
        --ink-0: #060a14;
        --ink-1: #0b111f;
        --ink-2: #121a2c;
        --ink-3: #1a2439;
        --ink-text: #eef3fd;
        --ink-text-soft: #a7b4cd;
        --ink-text-muted: #8494b3;
        --ink-line: rgba(255, 255, 255, .10);
        --ink-line-strong: rgba(255, 255, 255, .18);
        --ink-glow-1: rgba(77, 142, 255, .16);
        --ink-glow-2: rgba(34, 211, 238, .14);
        --tech-blue: #4d8eff;
        --tech-cyan: #22d3ee;
        --tech-live: #34d399;
        --tech-warn: #fb923c;
        --tech-gradient: linear-gradient(135deg, #4d8eff 0%, #22d3ee 100%);
        --tech-gradient-soft: linear-gradient(135deg, rgba(77, 142, 255, .16), rgba(34, 211, 238, .12));
        --panel-bg: rgba(18, 26, 44, .72);
        --panel-border: rgba(255, 255, 255, .10);
        --panel-shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 18px 40px -16px rgba(0, 0, 0, .7);
        --panel-shadow-hover: 0 2px 6px rgba(0, 0, 0, .5), 0 28px 60px -20px rgba(0, 0, 0, .8);
        --grid-line: rgba(255, 255, 255, .045);
    }

    html,
    body {
        overflow-x: clip;
        max-width: 100%;
    }

    img,
    svg,
    video,
    iframe,
    canvas {
        max-width: 100%;
    }

    .u-break,
    .contact-card__value,
    .order-ref,
    .ma-mono,
    .note-band,
    td,
    th {
        overflow-wrap: anywhere;
    }

    .table-wrapper,
    .table-wrapper--scroll {
        overflow-x: auto;
        max-width: 100%;
        -webkit-overflow-scrolling: touch;
    }

    body {
        background-color: var(--ink-0);
        color: var(--ink-text);
        font-feature-settings: 'cv02', 'cv03', 'cv04', 'ss01';
        -webkit-font-smoothing: antialiased;
        text-rendering: optimizeLegibility;
    }

    body::before {
        content: '';
        position: fixed;
        inset: 0;
        z-index: -1;
        pointer-events: none;
        background-image: radial-gradient(700px 420px at 12% -8%, var(--ink-glow-1), transparent 70%), radial-gradient(620px 380px at 92% 4%, var(--ink-glow-2), transparent 72%), linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
        background-size: auto, auto, var(--grid-size) var(--grid-size), var(--grid-size) var(--grid-size);
        background-position: 0 0, 0 0, -1px -1px, -1px -1px;
        mask-image: linear-gradient(180deg, #000 0%, #000 55%, transparent 100%);
        -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 55%, transparent 100%);
    }

    .u-mono,
    .mono,
    .order-ref,
    .order-ref *,
    .grand-total__value,
    .ma-num,
    .ma-mono,
    .kpi-card__value,
    [data-role="value"] {
        font-family: ui-monospace, 'SF Mono', 'JetBrains Mono', 'Cascadia Mono', Consolas, monospace;
        font-variant-numeric: tabular-nums;
        letter-spacing: -.01em;
    }

    .glass-card,
    .card,
    .ma-section,
    .order-hero,
    .cart-layout,
    .auth-card {
        background: var(--panel-bg);
        border: 1px solid var(--panel-border);
        border-radius: var(--tech-r-lg);
        box-shadow: var(--panel-shadow);
        backdrop-filter: blur(14px) saturate(140%);
        -webkit-backdrop-filter: blur(14px) saturate(140%);
        transition: box-shadow var(--tech-dur) var(--tech-ease), transform var(--tech-dur) var(--tech-ease), border-color var(--tech-dur) var(--tech-ease);
    }

    .glass-card::after,
    .ma-section::after,
    .auth-card::after {
        content: '';
        position: absolute;
        inset: 0 0 auto 0;
        height: 1px;
        background: linear-gradient(90deg, transparent, var(--ink-line-strong) 22%, var(--ink-line-strong) 78%, transparent);
        pointer-events: none;
    }

    .glass-card,
    .ma-section,
    .auth-card {
        position: relative;
    }

    a.glass-card:hover,
    .card-link:hover,
    .cat-card:hover,
    .service-showcase-card:hover,
    .ma-kpi-link:hover {
        transform: translateY(-3px);
        box-shadow: var(--panel-shadow-hover);
        border-color: color-mix(in srgb, var(--tech-blue) 34%, var(--panel-border));
    }

    .navbar-glass {
        background: color-mix(in srgb, var(--ink-1) 78%, transparent);
        border-bottom: 1px solid var(--ink-line);
        backdrop-filter: blur(18px) saturate(160%);
        -webkit-backdrop-filter: blur(18px) saturate(160%);
        transition: padding var(--tech-dur) var(--tech-ease), background var(--tech-dur) var(--tech-ease), box-shadow var(--tech-dur) var(--tech-ease);
    }

    .navbar-glass.scrolled {
        background: color-mix(in srgb, var(--ink-1) 92%, transparent);
        box-shadow: 0 1px 0 var(--ink-line), 0 12px 32px -22px rgba(4, 10, 24, .55);
    }

    .nav-link-btn {
        position: relative;
        border-radius: var(--tech-r-sm);
        transition: color var(--tech-dur) var(--tech-ease), background var(--tech-dur) var(--tech-ease);
    }

    .nav-link-btn::after {
        content: '';
        position: absolute;
        left: 12px;
        right: 12px;
        bottom: 4px;
        height: 2px;
        border-radius: 2px;
        background: var(--tech-gradient);
        opacity: 0;
        transform: scaleX(.4);
        transition: opacity var(--tech-dur) var(--tech-ease), transform var(--tech-dur) var(--tech-ease);
    }

    .nav-link-btn.active::after,
    .nav-link-btn:hover::after {
        opacity: 1;
        transform: scaleX(1);
    }

    .nav-link-btn.active {
        color: var(--tech-blue);
    }

    .logout-form {
        display: inline-flex;
        margin: 0;
        padding: 0;
    }

    .logout-btn {
        appearance: none;
        background: none;
        border: 0;
        font: inherit;
        color: inherit;
        cursor: pointer;
        width: 100%;
        text-align: left;
    }

    .menu-item.logout-btn {
        display: flex;
        align-items: center;
        gap: 10px;
    }

    button.nav-link-btn,
    button.menu-item {
        appearance: none;
        -webkit-appearance: none;
        background: none;
        border: 0;
        font: inherit;
        color: inherit;
        cursor: pointer;
        white-space: nowrap;
    }

    button.nav-link-btn {
        padding: var(--space-2, 8px) var(--space-3, 12px);
        border-radius: var(--tech-r-sm);
    }

    button.nav-link-btn:hover {
        background: color-mix(in srgb, var(--tech-warn) 10%, transparent);
    }

    .menu-close {
        position: relative;
        width: 40px;
        height: 40px;
        flex: 0 0 auto;
        border: 1px solid var(--ink-line);
        border-radius: var(--tech-r-sm);
        background: color-mix(in srgb, var(--ink-1) 60%, transparent);
        cursor: pointer;
        transition: border-color 160ms var(--tech-ease), background 160ms var(--tech-ease);
    }

    .menu-close::before,
    .menu-close::after {
        content: '';
        position: absolute;
        left: 50%;
        top: 50%;
        width: 16px;
        height: 1.6px;
        border-radius: 2px;
        background: currentColor;
    }

    .menu-close::before {
        transform: translate(-50%, -50%) rotate(45deg);
    }

    .menu-close::after {
        transform: translate(-50%, -50%) rotate(-45deg);
    }

    .menu-close:hover {
        border-color: color-mix(in srgb, var(--tech-warn) 50%, var(--ink-line));
        background: color-mix(in srgb, var(--tech-warn) 10%, transparent);
    }

    [data-theme="dark"] .logo-img,
    [data-theme="dark"] .logo-img.logo-img,
    [data-theme="dark"] .navbar-glass .logo-img,
    [data-theme="dark"] .brand-logo .logo-img,
    [data-theme="dark"] .navbar-glass .logo-img.logo-img {
        background: none;
        background-image: none;
        padding: 0;
        box-shadow: none;
        box-sizing: border-box;
        filter: drop-shadow(0 1px 6px rgba(0, 0, 0, .45));
    }

    [data-theme="dark"] .menu-logo,
    [data-theme="dark"] .mobile-menu .menu-logo,
    [data-theme="dark"] .mobile-menu .menu-header .menu-logo,
    [data-theme="dark"] .logo-center {
        background: none;
        background-image: none;
        padding: 0;
        box-shadow: none;
        box-sizing: border-box;
    }

    .logo-img--dark,
    .menu-logo.logo-img--dark {
        display: none;
    }

    [data-theme="dark"] .logo-img--dark,
    [data-theme="dark"] .menu-logo.logo-img--dark {
        display: block;
    }

    [data-theme="dark"] .logo-img--light,
    [data-theme="dark"] .menu-logo.logo-img--light {
        display: none;
    }

    .brand-logo .logo-img,
    .menu-logo {
        width: auto;
        height: auto;
        max-width: 100%;
        object-fit: contain;
    }

    .brand-logo .logo-img {
        height: 40px;
        width: auto;
    }

    .navbar-glass.scrolled .brand-logo .logo-img {
        height: 32px;
    }

    .menu-logo {
        height: 32px;
        width: auto;
    }

    .logo-swap {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        line-height: 0;
    }

    .logo-swap .logo-center,
    .logo-swap .auth-head__logo {
        height: auto;
        width: auto;
        max-width: 100%;
        object-fit: contain;
    }

    .logo-swap .logo-center {
        height: 52px;
    }

    .logo-swap .auth-head__logo {
        height: 34px;
    }

    [data-theme="dark"] .logo-swap .logo-center,
    [data-theme="dark"] .logo-swap .auth-head__logo,
    [data-theme="dark"] .logo-container .logo-center,
    [data-theme="light"] .logo-swap .logo-center,
    [data-theme="light"] .logo-swap .auth-head__logo {
        background: none;
        background-image: none;
        padding: 0;
        box-shadow: none;
        border-radius: 0;
        box-sizing: border-box;
    }

    [data-theme="dark"] .logo-swap .logo-img--dark,
    [data-theme="dark"] .logo-container .logo-img--dark {
        filter: drop-shadow(0 2px 14px color-mix(in srgb, var(--tech-blue) 45%, transparent));
    }

    [data-theme="light"] .logo-swap .logo-img--light,
    [data-theme="light"] .logo-container .logo-img--light {
        filter: drop-shadow(0 1px 3px rgba(13, 21, 38, .16));
    }

    .navbar-glass::after {
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        bottom: -1px;
        height: 2px;
        background: linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--tech-blue) 70%, transparent) 18%, color-mix(in srgb, var(--tech-cyan) 85%, transparent) 50%, color-mix(in srgb, var(--tech-blue) 70%, transparent) 82%, transparent 100%);
        opacity: .55;
        pointer-events: none;
    }

    .navbar-glass {
        position: sticky;
        top: 0;
        z-index: var(--z-nav, 100);
    }

    .live-dot,
    .status-dot {
        position: relative;
        display: inline-block;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: var(--tech-live);
        box-shadow: 0 0 0 0 color-mix(in srgb, var(--tech-live) 60%, transparent);
        animation: tech-pulse 2.4s var(--tech-ease) infinite;
    }

    @keyframes tech-pulse {
        0%   { box-shadow: 0 0 0 0 color-mix(in srgb, var(--tech-live) 55%, transparent); }
        70%  { box-shadow: 0 0 0 9px transparent; }
        100% { box-shadow: 0 0 0 0 transparent; }
    }

    .chip {
        position: relative;
        font-variant-numeric: tabular-nums;
    }

    .chip::before {
        content: '';
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: currentColor;
        box-shadow: 0 0 8px color-mix(in srgb, currentColor 55%, transparent);
        flex: 0 0 auto;
    }

    .btn-primary,
    .btn-blue,
    button.btn-primary {
        background-image: var(--tech-gradient);
        background-size: 160% 160%;
        background-position: 0% 50%;
        box-shadow: 0 1px 0 rgba(255, 255, 255, .18) inset, 0 10px 24px -12px color-mix(in srgb, var(--tech-blue) 70%, transparent);
        transition: background-position var(--tech-dur) var(--tech-ease), transform 140ms var(--tech-ease), box-shadow var(--tech-dur) var(--tech-ease);
    }

    .btn-primary:hover,
    .btn-blue:hover,
    button.btn-primary:hover {
        background-position: 100% 50%;
        transform: translateY(-1px);
        box-shadow: 0 1px 0 rgba(255, 255, 255, .22) inset, 0 16px 32px -14px color-mix(in srgb, var(--tech-blue) 78%, transparent);
    }

    .btn-primary:active,
    .btn-blue:active {
        transform: translateY(0);
    }

    .btn-ghost,
    .btn-secondary {
        background: color-mix(in srgb, var(--ink-1) 60%, transparent);
        border: 1px solid var(--ink-line-strong);
        backdrop-filter: blur(8px);
        transition: border-color var(--tech-dur) var(--tech-ease), background var(--tech-dur) var(--tech-ease), transform 140ms var(--tech-ease);
    }

    .btn-ghost:hover,
    .btn-secondary:hover {
        border-color: color-mix(in srgb, var(--tech-blue) 48%, var(--ink-line-strong));
        background: color-mix(in srgb, var(--tech-blue) 8%, transparent);
        transform: translateY(-1px);
    }

    .form-control,
    .form-select,
    input[type="text"],
    input[type="password"],
    input[type="email"],
    input[type="tel"],
    input[type="number"],
    input[type="datetime-local"],
    select,
    textarea {
        background: color-mix(in srgb, var(--ink-1) 72%, transparent);
        border: 1px solid var(--ink-line-strong);
        border-radius: var(--tech-r-sm);
        color: var(--ink-text);
        transition: border-color 160ms var(--tech-ease), box-shadow 160ms var(--tech-ease), background 160ms var(--tech-ease);
    }

    .form-control:focus,
    .form-select:focus,
    input:focus,
    select:focus,
    textarea:focus {
        border-color: color-mix(in srgb, var(--tech-blue) 62%, transparent);
        box-shadow: 0 0 0 3px color-mix(in srgb, var(--tech-blue) 22%, transparent);
        background: var(--ink-1);
        outline: none;
    }

    ::placeholder {
        color: var(--ink-text-muted);
        opacity: .75;
    }

    .table thead th,
    .table th {
        background: color-mix(in srgb, var(--ink-2) 70%, transparent);
        border-bottom: 1px solid var(--ink-line-strong);
        font-size: 12px;
        letter-spacing: .04em;
        text-transform: uppercase;
        color: var(--ink-text-muted);
        font-weight: 600;
    }

    .table tbody tr {
        border-bottom: 1px solid var(--ink-line);
        transition: background 140ms var(--tech-ease);
    }

    .table tbody tr:hover {
        background: color-mix(in srgb, var(--tech-blue) 5%, transparent);
    }

    .table-cards tbody td::before {
        color: var(--ink-text-muted);
        font-size: 11px;
        letter-spacing: .03em;
        text-transform: uppercase;
    }

    .kpi-card,
    .ma-kpi,
    .trust-card,
    .fact,
    .money-cell {
        background: var(--panel-bg);
        border: 1px solid var(--panel-border);
        border-radius: var(--tech-r);
        position: relative;
        overflow: hidden;
        transition: transform var(--tech-dur) var(--tech-ease), border-color var(--tech-dur) var(--tech-ease), box-shadow var(--tech-dur) var(--tech-ease);
    }

    .kpi-card::before,
    .ma-kpi::before {
        content: '';
        position: absolute;
        inset: 0 auto 0 0;
        width: 3px;
        background: var(--tech-gradient);
        opacity: .85;
    }

    .kpi-card:hover,
    .ma-kpi:hover {
        transform: translateY(-2px);
        border-color: color-mix(in srgb, var(--tech-blue) 30%, var(--panel-border));
        box-shadow: var(--panel-shadow-hover);
    }

    .kpi-card__value,
    .ma-kpi__value {
        font-size: clamp(20px, 2.2vw, 28px);
        font-weight: 600;
    }

    .bar-list__fill,
    .ma-funnel__fill,
    .ma-bars__bar,
    .ma-hbar__fill {
        background-image: var(--tech-gradient);
        border-radius: 999px;
        transition: width 600ms var(--tech-ease);
    }

    .skeleton,
    .is-loading-skeleton {
        background: linear-gradient( 90deg, color-mix(in srgb, var(--ink-2) 80%, transparent) 25%, color-mix(in srgb, var(--ink-3) 90%, transparent) 37%, color-mix(in srgb, var(--ink-2) 80%, transparent) 63% );
        background-size: 400% 100%;
        animation: tech-shimmer 1.4s ease-in-out infinite;
        border-radius: var(--tech-r-sm);
    }

    @keyframes tech-shimmer {
        0%   { background-position: 100% 0; }
        100% { background-position: 0 0; }
    }

    .reveal,
    .reveal-stagger > * {
        animation: tech-rise 520ms var(--tech-ease) both;
        animation-delay: calc(var(--i, 0) * 55ms);
    }

    @keyframes tech-rise {
        from { opacity: 0; transform: translateY(14px); }
        to   { opacity: 1; transform: translateY(0); }
    }

    .mobile-menu {
        background: color-mix(in srgb, var(--ink-1) 96%, transparent);
        border-right: 1px solid var(--ink-line);
        backdrop-filter: blur(20px) saturate(160%);
    }

    .mobile-menu .menu-item {
        border-radius: var(--tech-r-sm);
        transition: background 160ms var(--tech-ease), color 160ms var(--tech-ease);
    }

    .mobile-menu .menu-item.active {
        background: var(--tech-gradient-soft);
        color: var(--tech-blue);
    }

    .version-tag {
        font-family: ui-monospace, Consolas, monospace;
        font-size: 11px;
        color: var(--ink-text-muted);
        border: 1px solid var(--ink-line);
        border-radius: 999px;
        padding: 2px 8px;
        letter-spacing: .02em;
    }

    .section-title {
        display: flex;
        align-items: center;
        gap: 10px;
        font-weight: 600;
        letter-spacing: -.01em;
    }

    .text-gradient {
        background: var(--tech-gradient);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
    }

    .scanline {
        position: relative;
        overflow: hidden;
    }

    .scanline::after {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, transparent, color-mix(in srgb, var(--tech-cyan) 12%, transparent), transparent);
        transform: translateY(-100%);
        animation: tech-scan 6s linear infinite;
        pointer-events: none;
    }

    @keyframes tech-scan {
        0%   { transform: translateY(-100%); }
        100% { transform: translateY(100%); }
    }

    @media (hover: none) {
        a.glass-card:hover,
        .cat-card:hover,
        .kpi-card:hover,
        .ma-kpi:hover,
        .btn-primary:hover,
        .btn-ghost:hover {
            transform: none;
        }

    }

/* ==========================================================================
   ЧАСТЬ 4 · CRM: ЗАКАЗЫ, КЛИЕНТЫ, ТАБЛИЦЫ
   ========================================================================== */

    .crm-head {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: space-between;
        gap: var(--space-3, 12px);
        margin-bottom: var(--space-3, 12px);
    }

    .crm-head__main {
        min-width: 0;
        flex: 1 1 240px;
    }

    .crm-head__title {
        display: flex;
        align-items: center;
        gap: var(--space-2, 8px);
        margin: 0 0 2px;
        font-size: var(--fs-xl, 20px);
        font-weight: var(--fw-semibold, 600);
        line-height: var(--lh-snug, 1.35);
        letter-spacing: -0.01em;
        color: var(--text-primary);
    }

    .crm-head__title i {
        color: var(--accent);
    }

    .crm-head__sub {
        margin: 0;
        font-size: var(--fs-sm, 14px);
        color: var(--text-muted);
    }

    .crm-head__actions {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: var(--space-2, 8px);
    }

    .kpi-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr));
        gap: var(--space-3, 12px);
        margin-bottom: var(--space-4, 16px);
    }

    .kpi-grid .kpi-card {
        padding: var(--space-3, 12px) var(--space-4, 16px);
    }

    .kpi-card__sub {
        font-size: var(--fs-xs, 12px);
        color: var(--text-muted);
        display: flex;
        align-items: center;
        gap: var(--space-1, 4px);
    }

    a.kpi-card {
        text-decoration: none;
        color: inherit;
        cursor: pointer;
    }

    .filter-panel {
        margin-bottom: var(--space-4, 16px);
    }

    .filter-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(min(160px, 100%), 1fr));
        gap: var(--space-3, 12px);
        align-items: end;
    }

    .filter-grid .form-group {
        margin-bottom: 0;
    }

    .filter-grid--search {
        grid-template-columns: 2fr repeat(3, minmax(140px, 1fr));
    }

    .filter-checks {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: var(--space-2, 8px) var(--space-4, 16px);
        margin-top: var(--space-3, 12px);
        padding-top: var(--space-3, 12px);
        border-top: 1px solid var(--border-subtle);
    }

    .check {
        display: inline-flex;
        align-items: center;
        gap: var(--space-2, 8px);
        min-height: 44px;
        padding: 0 var(--space-1, 4px);
        font-size: var(--fs-sm, 14px);
        color: var(--text-secondary);
        cursor: pointer;
        user-select: none;
    }

    .check input[type="checkbox"] {
        width: 18px;
        height: 18px;
        flex-shrink: 0;
        accent-color: var(--accent);
        cursor: pointer;
    }

    .check:hover {
        color: var(--text-primary);
    }

    .quick-tabs {
        display: flex;
        flex-wrap: wrap;
        gap: var(--space-2, 8px);
        margin-bottom: var(--space-3, 12px);
    }

    .quick-tab {
        display: inline-flex;
        align-items: center;
        gap: var(--space-1, 4px);
        min-height: 36px;
        padding: 0 var(--space-3, 12px);
        border: 1px solid var(--border-subtle);
        border-radius: var(--r-full, 999px);
        background: var(--surface-1, var(--bg-card));
        color: var(--text-secondary);
        font-size: var(--fs-sm, 14px);
        font-weight: var(--fw-medium, 500);
        text-decoration: none;
        transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;
    }

    .quick-tab:hover {
        border-color: var(--accent);
        color: var(--accent);
    }

    .quick-tab.is-active {
        background: var(--accent-soft-bg);
        border-color: var(--accent-soft-border);
        color: var(--accent);
        font-weight: var(--fw-semibold, 600);
    }

    .quick-tab__count {
        font-variant-numeric: tabular-nums;
        font-size: var(--fs-xs, 12px);
        opacity: 0.85;
    }

    .list-summary {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: var(--space-2, 8px);
        margin-top: var(--space-3, 12px);
        font-size: var(--fs-sm, 14px);
        color: var(--text-muted);
    }

    .note-band {
        display: flex;
        align-items: flex-start;
        gap: var(--space-2, 8px);
        padding: var(--space-3, 12px);
        margin-bottom: var(--space-4, 16px);
        background: var(--warning-soft-bg, var(--warning-bg));
        border: 1px solid var(--warning-soft-border, var(--warning));
        border-radius: var(--r-md, 12px);
        font-size: var(--fs-sm, 14px);
        line-height: var(--lh-normal, 1.55);
        color: var(--text-secondary);
    }

    .note-band i {
        color: var(--warning);
        margin-top: 0.15em;
        flex-shrink: 0;
    }

    .note-band--info {
        background: var(--info-soft-bg, var(--info-bg));
        border-color: var(--info-soft-border, var(--info));
    }

    .note-band--info i {
        color: var(--info);
    }

    .pager {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: var(--space-1, 4px);
        margin-top: var(--space-4, 16px);
    }

    .pager__link {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 44px;
        min-height: 44px;
        padding: 0 var(--space-2, 8px);
        border: 1px solid var(--border-subtle);
        border-radius: var(--r-sm, 8px);
        background: var(--surface-1, var(--bg-card));
        color: var(--text-secondary);
        font-size: var(--fs-sm, 14px);
        font-weight: var(--fw-medium, 500);
        text-decoration: none;
        font-variant-numeric: tabular-nums;
        transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;
    }

    .pager__link:hover {
        border-color: var(--accent);
        color: var(--accent);
    }

    .pager__link.is-current {
        background: var(--accent);
        border-color: var(--accent);
        color: var(--text-on-accent, #fff);
        font-weight: var(--fw-semibold, 600);
    }

    .pager__link.is-disabled {
        opacity: 0.4;
        pointer-events: none;
    }

    .pager__gap {
        padding: 0 var(--space-1, 4px);
        color: var(--text-muted);
    }

    .order-ref {
        display: flex;
        flex-direction: column;
        gap: 2px;
        min-width: 0;
    }

    .order-ref__number {
        display: inline-flex;
        align-items: center;
        gap: var(--space-1, 4px);
        font-weight: var(--fw-semibold, 600);
        font-variant-numeric: tabular-nums;
        color: var(--accent);
        text-decoration: none;
        white-space: nowrap;
    }

    .order-ref__number:hover {
        text-decoration: underline;
    }

    .order-ref__client {
        font-size: var(--fs-xs, 12px);
        color: var(--text-muted);
        overflow-wrap: anywhere;
    }

    .tag-row {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: var(--space-1, 4px);
    }

    .tag {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        padding: 2px var(--space-2, 8px);
        border-radius: var(--r-sm, 8px);
        border: 1px solid var(--border-subtle);
        background: var(--surface-2, var(--bg-muted));
        color: var(--text-secondary);
        font-size: var(--fs-xs, 12px);
        font-weight: var(--fw-semibold, 600);
        white-space: nowrap;
    }

    .tag--danger {
        background: var(--danger-soft-bg, var(--danger-bg));
        border-color: var(--danger-soft-border, var(--danger-border));
        color: var(--danger);
    }

    .tag--warning {
        background: var(--warning-soft-bg, var(--warning-bg));
        border-color: var(--warning-soft-border, var(--warning));
        color: var(--warning);
    }

    .tag--success {
        background: var(--success-soft-bg, var(--success-bg));
        border-color: var(--success-soft-border, var(--success));
        color: var(--success);
    }

    .tag--accent {
        background: var(--accent-soft-bg, var(--accent-glow));
        border-color: var(--accent-soft-border, var(--accent-glow-strong));
        color: var(--accent);
    }

    .who {
        display: inline-flex;
        align-items: center;
        gap: var(--space-2, 8px);
        min-width: 0;
    }

    .who__ava {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 28px;
        height: 28px;
        flex-shrink: 0;
        border-radius: var(--r-full, 999px);
        background: var(--accent-soft-bg, var(--accent-glow));
        border: 1px solid var(--accent-soft-border, var(--accent-glow-strong));
        color: var(--accent);
        font-size: var(--fs-xs, 12px);
        font-weight: var(--fw-bold, 700);
        line-height: 1;
    }

    .who__name {
        font-size: var(--fs-sm, 14px);
        color: var(--text-secondary);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .who--empty .who__ava {
        background: var(--surface-2, var(--bg-muted));
        border-color: var(--border-subtle);
        color: var(--text-muted);
    }

    .money-nowrap {
        white-space: nowrap;
        font-variant-numeric: tabular-nums;
    }

    .money-debt {
        color: var(--danger);
        font-weight: var(--fw-semibold, 600);
    }

    .money-ok {
        color: var(--success);
        font-weight: var(--fw-semibold, 600);
    }

    .row-actions {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-end;
        gap: var(--space-1, 4px);
    }

    .row-actions form {
        margin: 0;
        display: inline-flex;
    }

    .bar-list {
        display: flex;
        flex-direction: column;
        gap: var(--space-2, 8px);
    }

    .bar-list__row {
        display: grid;
        grid-template-columns: minmax(84px, 120px) 1fr auto;
        align-items: center;
        gap: var(--space-2, 8px);
        font-size: var(--fs-sm, 14px);
    }

    .bar-list__name {
        color: var(--text-secondary);
        white-space: nowrap;
    }

    .bar-list__track {
        height: 8px;
        border-radius: var(--r-full, 999px);
        background: var(--surface-2, var(--bg-muted));
        overflow: hidden;
    }

    .bar-list__fill {
        display: block;
        height: 100%;
        border-radius: inherit;
        background: var(--accent);
        transition: width 0.4s var(--ease-out, ease);
    }

    .bar-list__fill--new {
        background: var(--chip-new, var(--status-new));
    }

    .bar-list__fill--progress {
        background: var(--chip-progress, var(--status-progress));
    }

    .bar-list__fill--done {
        background: var(--chip-done, var(--status-done));
    }

    .bar-list__fill--refused {
        background: var(--chip-refused, var(--status-rejected));
    }

    .bar-list__value {
        font-variant-numeric: tabular-nums;
        font-weight: var(--fw-semibold, 600);
        color: var(--text-primary);
    }

    .order-hero {
        margin-bottom: var(--space-4, 16px);
    }

    .order-hero__top {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: var(--space-2, 8px);
    }

    .order-hero__number {
        display: inline-flex;
        align-items: center;
        gap: var(--space-2, 8px);
        margin: 0;
        font-size: var(--fs-xl, 20px);
        font-weight: var(--fw-bold, 700);
        font-variant-numeric: tabular-nums;
        letter-spacing: -0.01em;
        color: var(--text-primary);
    }

    .order-hero__number i {
        color: var(--accent);
    }

    .order-hero__meta {
        display: flex;
        flex-wrap: wrap;
        gap: var(--space-2, 8px) var(--space-5, 24px);
        margin-top: var(--space-3, 12px);
        font-size: var(--fs-sm, 14px);
        color: var(--text-secondary);
    }

    .order-hero__meta dt {
        display: inline-flex;
        align-items: center;
        gap: var(--space-1, 4px);
        font-size: var(--fs-xs, 12px);
        text-transform: uppercase;
        letter-spacing: var(--tracking-wide, 0.5px);
        color: var(--text-muted);
    }

    .order-hero__meta dd {
        margin: 0;
        font-weight: var(--fw-medium, 500);
    }

    .order-hero__meta > div {
        min-width: 0;
    }

    .fact {
        display: flex;
        flex-direction: column;
        gap: 2px;
        min-width: 0;
    }

    .fact__label {
        font-size: var(--fs-xs, 12px);
        text-transform: uppercase;
        letter-spacing: var(--tracking-wide, 0.5px);
        color: var(--text-muted);
    }

    .fact__value {
        font-size: var(--fs-md, 15px);
        font-weight: var(--fw-medium, 500);
        color: var(--text-primary);
        overflow-wrap: anywhere;
    }

    .fact-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr));
        gap: var(--space-3, 12px) var(--space-4, 16px);
    }

    .fact-grid--wide {
        grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
    }

    .money-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(min(140px, 100%), 1fr));
        gap: var(--space-3, 12px);
        margin-bottom: var(--space-4, 16px);
    }

    .money-cell {
        padding: var(--space-3, 12px);
        background: var(--surface-2, var(--bg-muted));
        border: 1px solid var(--border-subtle);
        border-radius: var(--r-md, 12px);
    }

    .money-cell--debt {
        background: var(--danger-soft-bg, var(--danger-bg));
        border-color: var(--danger-soft-border, var(--danger-border));
    }

    .money-cell--paid {
        background: var(--success-soft-bg, var(--success-bg));
        border-color: var(--success-soft-border, var(--success));
    }

    .money-cell__label {
        font-size: var(--fs-xs, 12px);
        text-transform: uppercase;
        letter-spacing: var(--tracking-wide, 0.5px);
        color: var(--text-muted);
    }

    .money-cell__value {
        margin-top: 2px;
        font-size: var(--fs-xl, 20px);
        font-weight: var(--fw-bold, 700);
        font-variant-numeric: tabular-nums;
        color: var(--text-primary);
    }

    .money-cell--debt .money-cell__value {
        color: var(--danger);
    }

    .money-cell--paid .money-cell__value {
        color: var(--success);
    }

    .split-2 {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
        gap: var(--space-4, 16px);
        align-items: start;
    }

    .inline-form {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr));
        gap: var(--space-3, 12px);
        align-items: end;
        margin: 0;
    }

    .inline-form .form-group {
        margin-bottom: 0;
    }

    .inline-form__submit {
        display: flex;
        align-items: flex-end;
    }

    .inline-form--wide {
        grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr));
    }

    .timeline {
        list-style: none;
        margin: 0;
        padding: 0 0 0 var(--space-4, 16px);
        border-left: 2px solid var(--border-subtle);
        display: flex;
        flex-direction: column;
        gap: var(--space-3, 12px);
    }

    .timeline__item {
        position: relative;
        min-width: 0;
    }

    .timeline__item::before {
        content: "";
        position: absolute;
        left: calc(-1 * var(--space-4, 16px) - 5px);
        top: 6px;
        width: 8px;
        height: 8px;
        border-radius: var(--r-full, 999px);
        background: var(--accent);
        box-shadow: 0 0 0 3px var(--accent-soft-bg, var(--accent-glow));
    }

    .timeline__item--muted::before {
        background: var(--text-muted);
        box-shadow: none;
    }

    .timeline__head {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        gap: var(--space-2, 8px);
    }

    .timeline__label {
        font-size: var(--fs-sm, 14px);
        font-weight: var(--fw-semibold, 600);
        color: var(--text-primary);
    }

    .timeline__when {
        font-size: var(--fs-xs, 12px);
        color: var(--text-muted);
        font-variant-numeric: tabular-nums;
    }

    .timeline__author {
        font-size: var(--fs-xs, 12px);
        color: var(--text-secondary);
    }

    .timeline__diff {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: var(--space-1, 4px);
        margin-top: 2px;
        font-size: var(--fs-xs, 12px);
    }

    .timeline__old {
        color: var(--text-muted);
        text-decoration: line-through;
    }

    .timeline__arrow {
        color: var(--text-muted);
    }

    .timeline__new {
        color: var(--accent);
        font-weight: var(--fw-semibold, 600);
    }

    .timeline__comment {
        margin-top: 2px;
        font-size: var(--fs-sm, 14px);
        color: var(--text-secondary);
        overflow-wrap: anywhere;
    }

    .pay-list {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .pay-list__item {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        justify-content: space-between;
        gap: var(--space-2, 8px);
        padding: var(--space-2, 8px) 0;
        border-bottom: 1px solid var(--border-subtle);
        font-size: var(--fs-sm, 14px);
    }

    .pay-list__item:last-child {
        border-bottom: none;
    }

    .pay-list__amount {
        font-weight: var(--fw-semibold, 600);
        font-variant-numeric: tabular-nums;
    }

    .pay-list__amount--refund {
        color: var(--danger);
    }

    .pay-list__meta {
        font-size: var(--fs-xs, 12px);
        color: var(--text-muted);
    }

    .warranty {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: var(--space-3, 12px);
        padding: var(--space-3, 12px);
        background: var(--success-soft-bg, var(--success-bg));
        border: 1px solid var(--success-soft-border, var(--success));
        border-radius: var(--r-md, 12px);
    }

    .warranty__icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        flex-shrink: 0;
        border-radius: var(--r-full, 999px);
        background: var(--surface-1, var(--bg-card));
        color: var(--success);
    }

    .warranty--expired {
        background: var(--surface-2, var(--bg-muted));
        border-color: var(--border-subtle);
    }

    .warranty--expired .warranty__icon {
        color: var(--text-muted);
    }

    .sticky-actions {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: var(--space-2, 8px);
    }

    .sticky-actions form {
        margin: 0;
    }

    .danger-zone {
        margin-top: var(--space-4, 16px);
        padding-top: var(--space-3, 12px);
        border-top: 1px dashed var(--danger-soft-border, var(--danger-border));
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: var(--space-2, 8px);
    }

    .danger-zone__text {
        font-size: var(--fs-xs, 12px);
        color: var(--text-muted);
        max-width: 46ch;
    }

    .client-name-cell {
        display: flex;
        flex-direction: column;
        gap: 2px;
        min-width: 0;
    }

    .client-name-cell__title {
        font-weight: var(--fw-semibold, 600);
        color: var(--text-primary);
        text-decoration: none;
        overflow-wrap: anywhere;
    }

    .client-name-cell__title:hover {
        color: var(--accent);
        text-decoration: underline;
    }

    .client-name-cell__sub {
        display: flex;
        flex-wrap: wrap;
        gap: var(--space-1, 4px);
        font-size: var(--fs-xs, 12px);
        color: var(--text-muted);
    }

    .reveal {
        margin-bottom: var(--space-4, 16px);
    }

    .reveal > summary {
        display: inline-flex;
        align-items: center;
        gap: var(--space-2, 8px);
        min-height: 44px;
        padding: 0 var(--space-4, 16px);
        border: 1px solid var(--accent-soft-border, var(--accent-glow-strong));
        border-radius: var(--r-sm, 8px);
        background: var(--accent-soft-bg, var(--accent-glow));
        color: var(--accent);
        font-size: var(--fs-sm, 14px);
        font-weight: var(--fw-semibold, 600);
        cursor: pointer;
        list-style: none;
        transition: background-color 0.2s ease, color 0.2s ease;
    }

    .reveal > summary::-webkit-details-marker {
        display: none;
    }

    .reveal > summary:hover {
        background: var(--accent);
        color: var(--text-on-accent, #fff);
    }

    .reveal[open] > summary {
        margin-bottom: var(--space-3, 12px);
    }

    .contact-links {
        display: flex;
        flex-wrap: wrap;
        gap: var(--space-2, 8px);
    }

    .contact-link {
        display: inline-flex;
        align-items: center;
        gap: var(--space-2, 8px);
        min-height: 44px;
        padding: 0 var(--space-3, 12px);
        border: 1px solid var(--border-subtle);
        border-radius: var(--r-sm, 8px);
        background: var(--surface-1, var(--bg-card));
        color: var(--text-primary);
        font-size: var(--fs-sm, 14px);
        font-weight: var(--fw-medium, 500);
        text-decoration: none;
        overflow-wrap: anywhere;
    }

    .contact-link i {
        color: var(--accent);
    }

    .contact-link:hover {
        border-color: var(--accent);
        color: var(--accent);
    }

    .contact-link--muted {
        color: var(--text-muted);
    }

    .tag-cloud {
        display: flex;
        flex-wrap: wrap;
        gap: var(--space-1, 4px);
    }

    .contract-list {
        display: flex;
        flex-direction: column;
        gap: var(--space-2, 8px);
    }

    .contract-item {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: var(--space-2, 8px);
        padding: var(--space-3, 12px);
        background: var(--surface-2, var(--bg-muted));
        border: 1px solid var(--border-subtle);
        border-radius: var(--r-md, 12px);
    }

    .contract-item__number {
        font-weight: var(--fw-semibold, 600);
        font-variant-numeric: tabular-nums;
        color: var(--text-primary);
    }

    .contract-item__meta {
        font-size: var(--fs-xs, 12px);
        color: var(--text-muted);
    }

    .pay-amount {
        font-weight: var(--fw-bold, 700);
        font-variant-numeric: tabular-nums;
        white-space: nowrap;
    }

    .pay-amount--in {
        color: var(--success);
    }

    .pay-amount--out {
        color: var(--danger);
    }

    .pay-method {
        display: inline-flex;
        align-items: center;
        gap: var(--space-1, 4px);
        font-size: var(--fs-sm, 14px);
        color: var(--text-secondary);
    }

    .day-group {
        margin-bottom: var(--space-4, 16px);
    }

    .day-group__head {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        justify-content: space-between;
        gap: var(--space-2, 8px);
        margin-bottom: var(--space-2, 8px);
        padding-bottom: var(--space-1, 4px);
        border-bottom: 1px solid var(--border-subtle);
    }

    .day-group__title {
        display: flex;
        align-items: center;
        gap: var(--space-2, 8px);
        margin: 0;
        font-size: var(--fs-lg, 17px);
        font-weight: var(--fw-semibold, 600);
        color: var(--text-primary);
    }

    .day-group__title i {
        color: var(--accent);
    }

    .day-group__count {
        font-size: var(--fs-xs, 12px);
        color: var(--text-muted);
    }

    .task-list {
        display: flex;
        flex-direction: column;
        gap: var(--space-2, 8px);
    }

    .task-item {
        display: grid;
        grid-template-columns: 108px 1fr auto;
        gap: var(--space-3, 12px);
        align-items: start;
        padding: var(--space-3, 12px);
        background: var(--surface-1, var(--bg-card));
        border: 1px solid var(--border-subtle);
        border-radius: var(--r-md, 12px);
    }

    .task-item:hover {
        border-color: var(--border-default);
    }

    .task-item--done {
        opacity: 0.75;
    }

    .task-item--in_progress {
        border-left: 3px solid var(--accent);
    }

    .task-item--done .task-item__time {
        color: var(--success);
    }

    .task-item--cancelled .task-item__title {
        text-decoration: line-through;
    }

    .task-item__time {
        display: flex;
        flex-direction: column;
        gap: 2px;
        font-variant-numeric: tabular-nums;
        font-size: var(--fs-sm, 14px);
        font-weight: var(--fw-semibold, 600);
        color: var(--text-primary);
    }

    .task-item__duration {
        font-size: var(--fs-xs, 12px);
        font-weight: 400;
        color: var(--text-muted);
    }

    .task-item__body {
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: var(--space-1, 4px);
    }

    .task-item__title {
        margin: 0;
        font-size: var(--fs-md, 15px);
        font-weight: var(--fw-semibold, 600);
        color: var(--text-primary);
        overflow-wrap: anywhere;
    }

    .task-item__meta {
        display: flex;
        flex-wrap: wrap;
        gap: var(--space-1, 4px) var(--space-3, 12px);
        font-size: var(--fs-xs, 12px);
        color: var(--text-muted);
    }

    .task-item__meta a {
        color: var(--accent);
    }

    .task-item__result {
        font-size: var(--fs-sm, 14px);
        color: var(--text-secondary);
        overflow-wrap: anywhere;
    }

    .task-item__side {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        gap: var(--space-2, 8px);
        min-width: 0;
    }

    .task-form {
        margin: 0;
        display: flex;
        flex-direction: column;
        gap: var(--space-1, 4px);
        align-items: flex-end;
    }

    .task-form .form-select-sm {
        min-width: 148px;
    }

    .profile-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
        gap: var(--space-4, 16px);
        align-items: start;
    }

    .info-list {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .info-list__row {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        justify-content: space-between;
        gap: var(--space-2, 8px);
        padding: var(--space-2, 8px) 0;
        border-bottom: 1px solid var(--border-subtle);
        font-size: var(--fs-sm, 14px);
    }

    .info-list__row:last-child {
        border-bottom: none;
    }

    .info-list__label {
        color: var(--text-muted);
    }

    .info-list__value {
        font-weight: var(--fw-medium, 500);
        color: var(--text-primary);
        overflow-wrap: anywhere;
        text-align: right;
    }

    .info-list__value--mono {
        font-variant-numeric: tabular-nums;
    }

    .status-block {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: var(--space-3, 12px);
        padding: var(--space-3, 12px);
        border-radius: var(--r-md, 12px);
        border: 1px solid var(--border-subtle);
        background: var(--surface-2, var(--bg-muted));
    }

    .status-block__icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        flex-shrink: 0;
        border-radius: var(--r-full, 999px);
        background: var(--surface-1, var(--bg-card));
        color: var(--text-muted);
    }

    .status-block__body {
        flex: 1 1 200px;
        min-width: 0;
    }

    .status-block__title {
        font-size: var(--fs-md, 15px);
        font-weight: var(--fw-semibold, 600);
        color: var(--text-primary);
    }

    .status-block__text {
        font-size: var(--fs-sm, 14px);
        color: var(--text-secondary);
    }

    .status-block--on {
        background: var(--success-soft-bg, var(--success-bg));
        border-color: var(--success-soft-border, var(--success));
    }

    .status-block--on .status-block__icon {
        color: var(--success);
    }

    .status-block--warn {
        background: var(--warning-soft-bg, var(--warning-bg));
        border-color: var(--warning-soft-border, var(--warning));
    }

    .status-block--warn .status-block__icon {
        color: var(--warning);
    }

    .hint-list {
        margin: var(--space-1, 4px) 0 0;
        padding-left: 1.1rem;
        font-size: var(--fs-xs, 12px);
        color: var(--text-muted);
        line-height: var(--lh-normal, 1.55);
    }

    .hint-list li {
        margin-bottom: 2px;
    }

    .field-row {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(min(140px, 100%), 1fr));
        gap: var(--space-3, 12px);
    }

    .form-group--check {
        min-height: 44px;
        display: flex;
        align-items: center;
    }

    .form-hint {
        display: block;
        margin-top: var(--space-1, 4px);
        font-size: var(--fs-xs, 12px);
        color: var(--text-muted);
    }

    .form-label .req {
        color: var(--danger);
        margin-left: 2px;
    }

    .btn-count {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 20px;
        padding: 0 5px;
        border-radius: var(--r-full, 999px);
        background: var(--surface-1, var(--bg-card));
        color: var(--accent);
        font-size: var(--fs-xs, 12px);
        font-weight: var(--fw-bold, 700);
        font-variant-numeric: tabular-nums;
    }

    .live-region {
        min-height: 1px;
    }

    .grand-total {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        justify-content: space-between;
        gap: var(--space-2, 8px);
        padding: var(--space-3, 12px) var(--space-4, 16px);
        background: var(--accent-soft-bg, var(--accent-glow));
        border: 1px solid var(--accent-soft-border, var(--accent-glow-strong));
        border-radius: var(--r-md, 12px);
    }

    .grand-total__label {
        font-size: var(--fs-sm, 14px);
        color: var(--text-secondary);
    }

    .grand-total__value {
        font-size: var(--fs-2xl, 24px);
        font-weight: var(--fw-bold, 700);
        font-variant-numeric: tabular-nums;
        letter-spacing: -0.02em;
        color: var(--accent);
    }

    .choice-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
        gap: var(--space-3, 12px);
    }

    .choice-box {
        padding: var(--space-3, 12px);
        border: 1px solid var(--border-subtle);
        border-radius: var(--r-md, 12px);
        background: var(--surface-1, var(--bg-card));
    }

    .choice-box__title {
        display: flex;
        align-items: center;
        gap: var(--space-2, 8px);
        margin-bottom: var(--space-2, 8px);
        font-size: var(--fs-sm, 14px);
        font-weight: var(--fw-semibold, 600);
        color: var(--text-primary);
    }

    .choice-box__title i {
        color: var(--accent);
    }

    .cart-layout {
        display: grid;
        grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
        gap: var(--space-4, 16px);
        align-items: start;
    }

    .catalog-panel,
    .cart-panel {
        border: 1px solid var(--border-subtle);
        border-radius: var(--r-md, 12px);
        background: var(--surface-1, var(--bg-card));
        min-width: 0;
    }

    .catalog-panel__head,
    .cart-panel__head {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: var(--space-2, 8px);
        padding: var(--space-3, 12px);
        border-bottom: 1px solid var(--border-subtle);
        background: var(--surface-2, var(--bg-muted));
        border-radius: var(--r-md, 12px) var(--r-md, 12px) 0 0;
    }

    .catalog-panel__head .form-control,
    .catalog-panel__head .form-select {
        min-width: 0;
        flex: 1 1 140px;
    }

    .catalog-panel__head .form-select {
        flex: 0 1 170px;
    }

    .catalog-list {
        max-height: 460px;
        overflow-y: auto;
        padding: var(--space-2, 8px);
        display: flex;
        flex-direction: column;
        gap: var(--space-1, 4px);
        overscroll-behavior: contain;
    }

    .catalog-group {
        margin-bottom: var(--space-2, 8px);
    }

    .catalog-group__title {
        display: flex;
        align-items: center;
        gap: var(--space-1, 4px);
        margin: 0 0 var(--space-1, 4px);
        padding: 0 var(--space-1, 4px);
        font-size: var(--fs-xs, 12px);
        font-weight: var(--fw-bold, 700);
        text-transform: uppercase;
        letter-spacing: var(--tracking-caps, 1px);
        color: var(--text-muted);
    }

    .catalog-item {
        display: flex;
        align-items: center;
        gap: var(--space-2, 8px);
        width: 100%;
        min-height: 44px;
        padding: var(--space-2, 8px) var(--space-3, 12px);
        border: 1px solid transparent;
        border-radius: var(--r-sm, 8px);
        background: transparent;
        color: var(--text-primary);
        font-family: inherit;
        font-size: var(--fs-sm, 14px);
        text-align: left;
        cursor: pointer;
        transition: background-color 0.16s ease, border-color 0.16s ease;
    }

    .catalog-item:hover {
        background: var(--bg-card-hover, var(--surface-2));
        border-color: var(--border-subtle);
    }

    .catalog-item:active {
        transform: scale(0.995);
    }

    .catalog-item[disabled] {
        opacity: 0.45;
        cursor: not-allowed;
    }

    .catalog-item__body {
        flex: 1 1 auto;
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: 1px;
    }

    .catalog-item__name {
        font-weight: var(--fw-medium, 500);
        overflow-wrap: anywhere;
    }

    .catalog-item__desc {
        font-size: var(--fs-xs, 12px);
        color: var(--text-muted);
        font-style: italic;
        overflow-wrap: anywhere;
    }

    .catalog-item__price {
        flex-shrink: 0;
        font-weight: var(--fw-bold, 700);
        font-variant-numeric: tabular-nums;
        color: var(--accent);
        white-space: nowrap;
    }

    .catalog-item__price small {
        display: block;
        font-size: var(--fs-xs, 12px);
        font-weight: 400;
        color: var(--text-muted);
    }

    .cart-panel__body {
        padding: var(--space-3, 12px);
    }

    .cart-empty {
        padding: var(--space-5, 24px) var(--space-3, 12px);
        text-align: center;
        color: var(--text-muted);
        font-size: var(--fs-sm, 14px);
    }

    .cart-empty i {
        display: block;
        margin-bottom: var(--space-2, 8px);
        font-size: var(--fs-xl, 20px);
        opacity: 0.6;
    }

    .cart-lines {
        display: flex;
        flex-direction: column;
        gap: var(--space-2, 8px);
    }

    .cart-line {
        display: grid;
        grid-template-columns: 1fr auto;
        gap: var(--space-2, 8px);
        padding: var(--space-2, 8px);
        border: 1px solid var(--border-subtle);
        border-radius: var(--r-sm, 8px);
        background: var(--surface-2, var(--bg-muted));
    }

    .cart-line__title {
        font-size: var(--fs-sm, 14px);
        font-weight: var(--fw-medium, 500);
        color: var(--text-primary);
        overflow-wrap: anywhere;
    }

    .cart-line__price {
        font-size: var(--fs-xs, 12px);
        color: var(--text-muted);
        font-variant-numeric: tabular-nums;
    }

    .cart-line__controls {
        display: flex;
        align-items: center;
        gap: var(--space-1, 4px);
        grid-column: 1 / -1;
        flex-wrap: wrap;
    }

    .qty-input {
        width: 84px;
        min-height: 44px;
        text-align: center;
        font-variant-numeric: tabular-nums;
    }

    .qty-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        flex-shrink: 0;
        border: 1px solid var(--border-subtle);
        border-radius: var(--r-sm, 8px);
        background: var(--surface-1, var(--bg-card));
        color: var(--text-secondary);
        font-size: var(--fs-md, 15px);
        cursor: pointer;
        transition: border-color 0.16s ease, color 0.16s ease;
    }

    .qty-btn:hover {
        border-color: var(--accent);
        color: var(--accent);
    }

    .cart-line__remove {
        margin-left: auto;
    }

    .cart-line__sum {
        font-size: var(--fs-sm, 14px);
        font-weight: var(--fw-semibold, 600);
        font-variant-numeric: tabular-nums;
        color: var(--text-primary);
        white-space: nowrap;
    }

    @media (max-width: 1024px) {
        .cart-layout {
            grid-template-columns: 1fr;
        }

        .catalog-list {
            max-height: 340px;
        }

    }

    @media (max-width: 768px) {
        .crm-head {
            align-items: stretch;
        }

        .crm-head__actions {
            width: 100%;
        }

        .crm-head__actions .btn-primary,
        .crm-head__actions .btn-secondary {
            flex: 1 1 auto;
            justify-content: center;
        }

        .kpi-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: var(--space-2, 8px);
        }

        .kpi-grid .kpi-card {
            padding: var(--space-3, 12px);
        }

        .kpi-grid .kpi-card__value {
            font-size: var(--fs-xl, 20px);
        }

        .filter-grid,
        .filter-grid--search {
            grid-template-columns: 1fr;
        }

        .filter-checks {
            gap: var(--space-1, 4px);
        }

        .check {
            min-height: 44px;
        }

        .bar-list__row {
            grid-template-columns: minmax(72px, 96px) 1fr auto;
            font-size: var(--fs-xs, 12px);
        }

        .row-actions {
            justify-content: flex-end;
        }

        .row-actions .btn,
        .row-actions .btn-primary,
        .row-actions .btn-secondary {
            min-height: 44px;
        }

        .order-hero__meta {
            gap: var(--space-2, 8px) var(--space-4, 16px);
        }

        .order-hero__meta > div {
            flex: 1 1 44%;
        }

        .money-grid {
            grid-template-columns: repeat(auto-fit, minmax(min(120px, 100%), 1fr));
        }

        .split-2 {
            grid-template-columns: 1fr;
        }

        .inline-form {
            grid-template-columns: 1fr;
        }

        .sticky-actions {
            position: sticky;
            bottom: 0;
            z-index: 6;
            margin: var(--space-3, 12px) 0 0;
            padding: var(--space-2, 8px);
            padding-bottom: calc(var(--space-2, 8px) + env(safe-area-inset-bottom, 0px));
            background: var(--surface-1, var(--bg-card));
            background-image: var(--surface-sheen, none);
            border: 1px solid var(--border-subtle);
            border-radius: var(--r-md, 12px);
            box-shadow: var(--sh-3, 0 -6px 24px rgba(0, 0, 0, 0.12));
        }

        .sticky-actions .btn-primary,
        .sticky-actions .btn-secondary {
            flex: 1 1 46%;
            justify-content: center;
        }

        .task-item {
            grid-template-columns: 1fr;
            gap: var(--space-2, 8px);
        }

        .task-item__time {
            flex-direction: row;
            align-items: baseline;
            gap: var(--space-2, 8px);
        }

        .task-item__side {
            align-items: stretch;
        }

        .task-form {
            align-items: stretch;
        }

        .task-form .form-select-sm {
            min-width: 0;
            width: 100%;
            min-height: 44px;
            font-size: var(--fs-md, 15px);
        }

        .info-list__value {
            text-align: left;
        }

        .info-list__row {
            flex-direction: column;
            align-items: flex-start;
            gap: 2px;
        }

        .catalog-item {
            min-height: 52px;
        }

        .catalog-item__price {
            font-size: var(--fs-md, 15px);
        }

        .cart-line {
            grid-template-columns: 1fr;
        }

        .cart-line__sum {
            text-align: right;
        }

        .qty-input {
            flex: 1 1 auto;
        }

        .form-control,
        .form-select,
        .qty-input,
        input[type="datetime-local"],
        input[type="text"],
        input[type="tel"],
        input[type="email"],
        input[type="number"],
        input[type="password"],
        input[type="search"],
        select,
        textarea {
            font-size: 16px;
        }

        .form-control,
        .form-select {
            min-height: 44px;
        }

        .danger-zone {
            flex-direction: column;
            align-items: stretch;
        }

        .danger-zone .btn-delete,
        .danger-zone .btn-secondary {
            min-height: 44px;
            justify-content: center;
        }

    }

    @media (max-width: 480px) {
        .kpi-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .pager__link {
            min-width: 40px;
            min-height: 40px;
        }

        .grand-total__value {
            font-size: var(--fs-xl, 20px);
        }

        .order-hero__meta > div {
            flex: 1 1 100%;
        }

    }

    .ma-page {
        display: flex;
        flex-direction: column;
        gap: var(--space-4);
    }

    .ma-page-head {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-end;
        justify-content: space-between;
        gap: var(--space-3);
        padding: var(--space-1) var(--space-1) 0;
    }

    .ma-page-title {
        display: flex;
        align-items: center;
        gap: var(--space-3);
        margin: 0;
        font-size: var(--fs-2xl);
        font-weight: var(--fw-bold);
        letter-spacing: -0.02em;
        line-height: var(--lh-tight);
    }

    .ma-page-title i {
        color: var(--accent);
        font-size: 0.85em;
    }

    .ma-page-sub {
        margin: var(--space-1) 0 0;
        font-size: var(--fs-sm);
        color: var(--text-muted);
        max-width: 68ch;
    }

    .ma-page-sub strong {
        color: var(--text-secondary);
        font-weight: var(--fw-semibold);
    }

    .ma-head-actions {
        display: flex;
        flex-wrap: wrap;
        gap: var(--space-2);
        align-items: center;
    }

    .ma-section {
        display: flex;
        flex-direction: column;
        gap: var(--space-4);
    }

    .ma-section > .section-title {
        margin-bottom: 0;
    }

    .ma-stamp {
        font-size: var(--fs-xs);
        color: var(--text-muted);
        white-space: nowrap;
    }

    .ma-stamp i {
        color: var(--accent);
    }

    .ma-subhead {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        justify-content: space-between;
        gap: var(--space-2);
        font-size: var(--fs-sm);
        font-weight: var(--fw-semibold);
        color: var(--text-secondary);
        margin-bottom: var(--space-2);
    }

    .ma-subhead .ma-subhead__hint {
        font-size: var(--fs-xs);
        font-weight: var(--fw-regular);
        color: var(--text-muted);
    }

    .ma-note {
        display: flex;
        align-items: flex-start;
        gap: var(--space-2);
        font-size: var(--fs-sm);
        color: var(--text-muted);
        line-height: var(--lh-normal);
    }

    .ma-note i {
        color: var(--accent);
        margin-top: 0.2em;
        flex-shrink: 0;
    }

    .ma-note--tight {
        font-size: var(--fs-xs);
    }

    .ma-note strong {
        color: var(--text-secondary);
    }

    .ma-empty {
        border: 1px dashed var(--border-default);
        border-radius: var(--r-md);
        background: var(--surface-2);
    }

    .ma-empty--inline {
        padding: 0;
    }

    .ma-actions {
        display: flex;
        flex-wrap: wrap;
        gap: var(--space-2);
        align-items: center;
    }

    .ma-actions--end {
        justify-content: flex-end;
    }

    .ma-actions--between {
        justify-content: space-between;
    }

    .ma-warning {
        display: flex;
        align-items: flex-start;
        gap: var(--space-3);
        padding: var(--space-3) var(--space-4);
        border: 1px solid var(--warning-soft-border);
        border-left: 3px solid var(--warning);
        border-radius: var(--r-md);
        background: var(--warning-soft-bg);
        color: var(--text-primary);
        font-size: var(--fs-sm);
    }

    .ma-warning > i {
        color: var(--warning);
        font-size: var(--fs-lg);
        margin-top: 0.1em;
        flex-shrink: 0;
    }

    .ma-warning__title {
        font-weight: var(--fw-semibold);
        display: block;
        margin-bottom: var(--space-1);
    }

    .ma-warning a {
        color: var(--accent);
    }

    .ma-callout {
        display: flex;
        align-items: flex-start;
        gap: var(--space-3);
        padding: var(--space-3) var(--space-4);
        border: 1px solid var(--info-soft-border);
        border-left: 3px solid var(--info);
        border-radius: var(--r-md);
        background: var(--info-soft-bg);
        font-size: var(--fs-sm);
        color: var(--text-primary);
    }

    .ma-callout > i {
        color: var(--info);
        font-size: var(--fs-lg);
        margin-top: 0.1em;
        flex-shrink: 0;
    }

    .ma-callout strong {
        font-weight: var(--fw-semibold);
    }

    .ma-callout ul {
        margin: var(--space-2) 0 0;
        padding-left: 1.1rem;
    }

    .ma-callout li {
        margin-bottom: 2px;
    }

    .ma-rules {
        margin: var(--space-2) 0 0;
        padding-left: 1.1rem;
        font-size: var(--fs-xs);
        color: var(--text-muted);
        line-height: var(--lh-normal);
    }

    .ma-rules li {
        margin-bottom: 2px;
    }

    .ma-rules code {
        font-size: 0.95em;
    }

    .ma-kpis {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(min(210px, 100%), 1fr));
        gap: var(--space-3);
    }

    .ma-kpis--wide {
        grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr));
    }

    .ma-kpis--compact .kpi-card {
        padding: var(--space-3) var(--space-4);
    }

    .ma-kpi__icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 26px;
        height: 26px;
        margin-bottom: var(--space-2);
        border-radius: var(--r-sm);
        background: var(--accent-soft-bg);
        color: var(--accent);
        font-size: var(--fs-xs);
    }

    .ma-kpi--danger .ma-kpi__icon {
        background: var(--danger-soft-bg);
        color: var(--danger);
    }

    .ma-kpi--warning .ma-kpi__icon {
        background: var(--warning-soft-bg);
        color: var(--warning);
    }

    .ma-kpi--success .ma-kpi__icon {
        background: var(--success-soft-bg);
        color: var(--success);
    }

    .ma-kpi__meta {
        margin-top: var(--space-2);
        font-size: var(--fs-xs);
        color: var(--text-muted);
        line-height: var(--lh-snug);
    }

    .ma-kpi__meta strong {
        color: var(--text-secondary);
        font-weight: var(--fw-semibold);
    }

    .ma-kpi__meta i {
        margin-right: 3px;
    }

    a.ma-kpi-link {
        text-decoration: none;
        color: inherit;
        display: block;
    }

    a.ma-kpi-link:focus-visible {
        outline: none;
    }

    a.ma-kpi-link:focus-visible .kpi-card {
        box-shadow: var(--ring);
        border-color: var(--accent);
    }

    .ma-charts {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(min(340px, 100%), 1fr));
        gap: var(--space-4);
    }

    .ma-charts--1 {
        grid-template-columns: 1fr;
    }

    .ma-charts--2-1 {
        grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    }

    .ma-chart {
        position: relative;
        width: 100%;
        height: 260px;
        min-height: 180px;
    }

    .ma-chart--tall {
        height: 320px;
    }

    .ma-chart canvas {
        display: block;
        width: 100%;
        height: 100%;
    }

    .ma-legend {
        display: flex;
        flex-wrap: wrap;
        gap: var(--space-2) var(--space-4);
        margin-top: var(--space-3);
        font-size: var(--fs-xs);
        color: var(--text-secondary);
    }

    .ma-legend__item {
        display: inline-flex;
        align-items: center;
        gap: var(--space-2);
    }

    .ma-legend__swatch {
        width: 10px;
        height: 10px;
        border-radius: 3px;
        background: var(--c, var(--accent));
        flex-shrink: 0;
    }

    .ma-legend__value {
        color: var(--text-muted);
        font-variant-numeric: tabular-nums;
    }

    .ma-funnel {
        display: flex;
        flex-direction: column;
        gap: var(--space-3);
    }

    .ma-funnel__row {
        display: flex;
        align-items: center;
        gap: var(--space-2);
        flex-wrap: wrap;
    }

    .ma-funnel__label {
        flex: 0 0 auto;
        min-width: 92px;
        font-size: var(--fs-xs);
        font-weight: var(--fw-semibold);
        color: var(--text-secondary);
    }

    .ma-funnel__bar {
        position: relative;
        flex: 1 1 120px;
        height: 10px;
        min-width: 80px;
        border-radius: var(--r-full);
        background: var(--surface-2);
        overflow: hidden;
    }

    .ma-funnel__fill {
        display: block;
        width: var(--p, 0%);
        height: 100%;
        border-radius: inherit;
        background: var(--bar, var(--accent));
        transition: width var(--dur-3) var(--ease-out);
    }

    .ma-funnel__value {
        flex: 0 0 auto;
        min-width: 78px;
        text-align: right;
        font-size: var(--fs-sm);
        font-weight: var(--fw-semibold);
        color: var(--text-primary);
        font-variant-numeric: tabular-nums;
    }

    .ma-funnel__value small {
        display: block;
        font-size: var(--fs-xs);
        font-weight: var(--fw-regular);
        color: var(--text-muted);
    }

    .ma-funnel__total {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        justify-content: space-between;
        gap: var(--space-2);
        margin-top: var(--space-1);
        padding-top: var(--space-3);
        border-top: 1px solid var(--border-subtle);
        font-size: var(--fs-xs);
        color: var(--text-muted);
    }

    .ma-funnel__total b {
        font-size: var(--fs-lg);
        color: var(--text-primary);
        font-variant-numeric: tabular-nums;
    }

    .ma-bars {
        display: flex;
        align-items: flex-end;
        gap: var(--space-2);
        height: 200px;
        padding: var(--space-2) var(--space-1) 0;
        overflow-x: auto;
        overflow-y: hidden;
    }

    .ma-bars__col {
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        align-items: center;
        gap: var(--space-1);
        flex: 1 1 0;
        min-width: 30px;
        height: 100%;
        text-align: center;
    }

    .ma-bars__col--empty .ma-bars__bar {
        background: var(--surface-2);
    }

    .ma-bars__bar {
        width: 100%;
        max-width: 34px;
        height: var(--p, 0%);
        min-height: 3px;
        border-radius: var(--r-sm) var(--r-sm) 2px 2px;
        background: linear-gradient(180deg, var(--accent), var(--accent-hover));
        transition: height var(--dur-3) var(--ease-out);
    }

    .ma-bars__col--current .ma-bars__bar {
        box-shadow: 0 0 0 2px var(--accent-soft-border);
    }

    .ma-bars__value {
        font-size: var(--fs-xs);
        font-weight: var(--fw-semibold);
        color: var(--text-secondary);
        font-variant-numeric: tabular-nums;
        white-space: nowrap;
    }

    .ma-bars__label {
        font-size: var(--fs-xs);
        color: var(--text-muted);
        font-variant-numeric: tabular-nums;
        white-space: nowrap;
    }

    .ma-hbars {
        display: flex;
        flex-direction: column;
        gap: var(--space-3);
    }

    .ma-hbar {
        display: flex;
        flex-direction: column;
        gap: var(--space-1);
    }

    .ma-hbar__top {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: var(--space-2);
        font-size: var(--fs-sm);
    }

    .ma-hbar__name {
        color: var(--text-secondary);
        font-weight: var(--fw-medium);
    }

    .ma-hbar__value {
        color: var(--text-primary);
        font-weight: var(--fw-semibold);
        font-variant-numeric: tabular-nums;
        white-space: nowrap;
    }

    .ma-hbar__value small {
        color: var(--text-muted);
        font-weight: var(--fw-regular);
    }

    .ma-hbar__track {
        height: 8px;
        border-radius: var(--r-full);
        background: var(--surface-2);
        overflow: hidden;
    }

    .ma-hbar__fill {
        display: block;
        width: var(--p, 0%);
        height: 100%;
        border-radius: inherit;
        background: var(--accent);
    }

    .ma-hbar:nth-child(2) .ma-hbar__fill {
        background: color-mix(in srgb, var(--accent) 72%, var(--info));
    }

    .ma-hbar:nth-child(3) .ma-hbar__fill {
        background: color-mix(in srgb, var(--accent) 48%, var(--success));
    }

    .ma-hbar:nth-child(4) .ma-hbar__fill {
        background: color-mix(in srgb, var(--accent) 30%, var(--warning));
    }

    .ma-hbar:nth-child(5) .ma-hbar__fill {
        background: color-mix(in srgb, var(--accent) 22%, var(--text-muted));
    }

    .table-wrapper--scroll {
        max-height: 460px;
        overflow-y: auto;
    }

    .table-wrapper--scroll-sm {
        max-height: 320px;
        overflow-y: auto;
    }

    .table--sticky thead th {
        position: sticky;
        top: 0;
        z-index: 2;
        background: var(--surface-2);
        box-shadow: inset 0 -1px 0 var(--border-subtle);
    }

    .table--compact td {
        padding-top: var(--space-2);
        padding-bottom: var(--space-2);
    }

    .ma-num {
        text-align: right;
        font-variant-numeric: tabular-nums;
        white-space: nowrap;
    }

    .ma-strong {
        font-weight: var(--fw-semibold);
        color: var(--text-primary);
    }

    .ma-mono {
        font-variant-numeric: tabular-nums;
        font-feature-settings: "tnum" 1;
        white-space: nowrap;
    }

    .table tbody tr.ma-row--danger td {
        background: var(--danger-soft-bg);
    }

    .table tbody tr.ma-row--warning td {
        background: var(--warning-soft-bg);
    }

    .table tbody tr.ma-row--danger:hover td {
        background: color-mix(in srgb, var(--danger) 18%, transparent);
    }

    .table tbody tr.ma-row--warning:hover td {
        background: color-mix(in srgb, var(--warning) 20%, transparent);
    }

    .table tbody tr.ma-row--editing td {
        background: var(--accent-soft-bg);
        box-shadow: inset 0 0 0 1px var(--accent-soft-border);
    }

    .ma-cell {
        display: flex;
        flex-direction: column;
        gap: 2px;
        min-width: 0;
    }

    .ma-cell__sub {
        font-size: var(--fs-xs);
        color: var(--text-muted);
    }

    .ma-cell__sub i {
        margin-right: 3px;
    }

    .ma-name {
        font-weight: var(--fw-medium);
        color: var(--text-primary);
        text-decoration: none;
    }

    a.ma-name:hover {
        color: var(--accent);
        text-decoration: underline;
    }

    .ma-rank {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 22px;
        height: 22px;
        border-radius: var(--r-sm);
        background: var(--surface-2);
        color: var(--text-muted);
        font-size: var(--fs-xs);
        font-weight: var(--fw-bold);
        font-variant-numeric: tabular-nums;
    }

    .ma-rank--top {
        background: var(--accent-soft-bg);
        color: var(--accent);
    }

    .ma-tag {
        display: inline-flex;
        align-items: center;
        gap: var(--space-1);
        padding: 2px var(--space-2);
        border: 1px solid var(--border-subtle);
        border-radius: var(--r-full);
        background: var(--surface-2);
        font-size: var(--fs-xs);
        color: var(--text-secondary);
        white-space: nowrap;
    }

    .ma-actions-cell {
        display: flex;
        flex-wrap: wrap;
        gap: var(--space-1);
        align-items: center;
        justify-content: flex-end;
    }

    .ma-actions-cell form {
        margin: 0;
        display: inline-flex;
    }

    .ma-tfoot td {
        background: var(--surface-2);
        font-weight: var(--fw-semibold);
        border-top: 1px solid var(--border-default);
    }

    .ma-tabs {
        display: flex;
        flex-wrap: wrap;
        gap: var(--space-2);
        align-items: center;
    }

    .ma-tab {
        display: inline-flex;
        align-items: center;
        gap: var(--space-2);
        min-height: var(--control-h-sm);
        padding: var(--space-1) var(--space-3);
        border: 1px solid var(--border-subtle);
        border-radius: var(--r-full);
        background: var(--surface-1);
        color: var(--text-secondary);
        font-size: var(--fs-sm);
        font-weight: var(--fw-medium);
        text-decoration: none;
        transition: border-color var(--dur-2) var(--ease-out), background var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out);
    }

    .ma-tab:hover {
        border-color: var(--accent);
        color: var(--accent);
        background: var(--accent-soft-bg);
    }

    .ma-tab[aria-current="true"] {
        border-color: var(--accent);
        background: var(--accent-soft-bg);
        color: var(--accent);
        font-weight: var(--fw-semibold);
    }

    .ma-tab__count {
        font-size: var(--fs-xs);
        color: var(--text-muted);
        font-variant-numeric: tabular-nums;
    }

    .ma-tab[aria-current="true"] .ma-tab__count {
        color: var(--accent);
    }

    .ma-jump {
        display: flex;
        flex-wrap: wrap;
        gap: var(--space-2);
        padding: var(--space-2) var(--space-3);
        border: 1px solid var(--border-subtle);
        border-radius: var(--r-md);
        background: var(--surface-2);
    }

    .ma-jump__link {
        display: inline-flex;
        align-items: center;
        gap: var(--space-2);
        min-height: var(--control-h-sm);
        padding: var(--space-1) var(--space-3);
        border-radius: var(--r-sm);
        color: var(--text-secondary);
        font-size: var(--fs-sm);
        font-weight: var(--fw-medium);
        text-decoration: none;
        transition: background var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out);
    }

    .ma-jump__link:hover {
        background: var(--accent-soft-bg);
        color: var(--accent);
    }

    .ma-jump__link i {
        color: var(--accent);
    }

    .ma-jump__link[aria-current="true"] {
        background: var(--accent-soft-bg);
        color: var(--accent);
        font-weight: var(--fw-semibold);
    }

    .ma-form {
        display: flex;
        flex-direction: column;
        gap: var(--space-4);
    }

    .ma-grid {
        display: grid;
        gap: var(--space-4);
    }

    .ma-grid--2 {
        grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
    }

    .ma-grid--3 {
        grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr));
    }

    .ma-grid--4 {
        grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr));
    }

    .ma-inline-form {
        display: flex;
        flex-wrap: wrap;
        gap: var(--space-2);
        align-items: flex-end;
    }

    .ma-inline-form .form-group {
        margin-bottom: 0;
    }

    .ma-field--grow {
        flex: 1 1 180px;
        min-width: 0;
    }

    .ma-field-hint {
        margin-top: var(--space-1);
        font-size: var(--fs-xs);
        color: var(--text-muted);
        line-height: var(--lh-snug);
    }

    .ma-field-hint i {
        margin-right: 3px;
        color: var(--accent);
    }

    .ma-check {
        display: flex;
        align-items: flex-start;
        gap: var(--space-2);
        padding: var(--space-3);
        border: 1px solid var(--border-subtle);
        border-radius: var(--r-sm);
        background: var(--surface-2);
        font-size: var(--fs-sm);
        color: var(--text-secondary);
        cursor: pointer;
    }

    .ma-check input[type="checkbox"] {
        width: 18px;
        height: 18px;
        margin: 0;
        accent-color: var(--accent);
        flex-shrink: 0;
    }

    .ma-check__text {
        display: flex;
        flex-direction: column;
        gap: 2px;
    }

    .ma-check__title {
        font-weight: var(--fw-medium);
        color: var(--text-primary);
    }

    .ma-check__hint {
        font-size: var(--fs-xs);
        color: var(--text-muted);
    }

    .ma-editor-row > td {
        background: var(--surface-tint);
        padding: 0;
    }

    .ma-editor {
        padding: var(--space-4);
        border-top: 2px solid var(--accent);
    }

    .ma-editor__head {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: var(--space-2);
        margin-bottom: var(--space-3);
        font-size: var(--fs-sm);
        font-weight: var(--fw-semibold);
        color: var(--text-primary);
    }

    .ma-import {
        display: flex;
        flex-direction: column;
        gap: var(--space-3);
    }

    .ma-import__file {
        padding: var(--space-3);
        border: 1px dashed var(--border-default);
        border-radius: var(--r-sm);
        background: var(--surface-2);
    }

    .ma-import__file input[type="file"] {
        width: 100%;
        font-size: var(--fs-sm);
    }

    .ma-reset-link {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: var(--space-2);
        padding: var(--space-3);
        border: 1px solid var(--warning-soft-border);
        border-radius: var(--r-md);
        background: var(--surface-2);
    }

    .ma-reset-link input {
        flex: 1 1 260px;
        min-width: 0;
        font-size: var(--fs-xs);
        font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
        background: var(--surface-1);
        border: 1px solid var(--border-subtle);
        border-radius: var(--r-sm);
        color: var(--text-secondary);
        padding: var(--space-2) var(--space-3);
        min-height: var(--control-h-sm);
    }

    .ma-copy-state {
        font-size: var(--fs-xs);
        color: var(--success);
        min-height: 1em;
    }

    .ma-log-action {
        color: var(--text-primary);
        word-break: break-word;
    }

    .ma-ua {
        display: inline-block;
        max-width: 210px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        vertical-align: bottom;
        font-size: var(--fs-xs);
        color: var(--text-muted);
    }

    .ma-ip {
        font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
        font-size: var(--fs-xs);
        color: var(--text-secondary);
    }

    .ma-result {
        display: inline-flex;
        align-items: center;
        gap: var(--space-2);
        white-space: nowrap;
    }

    .ma-result--fail {
        color: var(--danger);
    }

    .ma-result--denied {
        color: var(--warning);
    }

    .ma-result--warning {
        color: var(--warning);
    }

    .ma-result--ok {
        color: var(--success);
    }

    .ma-pager {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: var(--space-1);
        margin-top: var(--space-4);
    }

    .ma-pager__link {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: var(--control-h-sm);
        min-height: var(--control-h-sm);
        padding: var(--space-1) var(--space-2);
        border: 1px solid var(--border-subtle);
        border-radius: var(--r-sm);
        background: var(--surface-1);
        color: var(--text-secondary);
        font-size: var(--fs-sm);
        text-decoration: none;
        font-variant-numeric: tabular-nums;
    }

    .ma-pager__link:hover {
        border-color: var(--accent);
        color: var(--accent);
        background: var(--accent-soft-bg);
    }

    .ma-pager__current {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: var(--control-h-sm);
        min-height: var(--control-h-sm);
        padding: var(--space-1) var(--space-2);
        border: 1px solid var(--accent);
        border-radius: var(--r-sm);
        background: var(--accent-soft-bg);
        color: var(--accent);
        font-size: var(--fs-sm);
        font-weight: var(--fw-semibold);
        font-variant-numeric: tabular-nums;
    }

    .ma-pager__gap {
        color: var(--text-muted);
        padding: 0 var(--space-1);
    }

    .ma-pager__info {
        margin-left: auto;
        font-size: var(--fs-xs);
        color: var(--text-muted);
    }

    .ma-video {
        position: relative;
        width: 100%;
        aspect-ratio: 16 / 9;
        border: 1px solid var(--border-subtle);
        border-radius: var(--r-md);
        overflow: hidden;
        background: var(--surface-3);
    }

    .ma-video iframe {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        border: 0;
    }

    @supports not (aspect-ratio: 16 / 9) {
        .ma-video {
            height: 0;
            padding-bottom: 56.25%;
        }

    }

    .ma-links {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr));
        gap: var(--space-2);
    }

    .ma-link-card {
        display: flex;
        align-items: center;
        gap: var(--space-3);
        padding: var(--space-3);
        border: 1px solid var(--border-subtle);
        border-radius: var(--r-sm);
        background: var(--surface-1);
        color: var(--text-secondary);
        text-decoration: none;
        transition: border-color var(--dur-2) var(--ease-out), background var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out);
    }

    .ma-link-card:hover {
        border-color: var(--accent);
        background: var(--accent-soft-bg);
        color: var(--accent);
        transform: translateY(-1px);
    }

    .ma-link-card i {
        color: var(--accent);
        font-size: var(--fs-lg);
        width: 20px;
        text-align: center;
    }

    .ma-link-card__text {
        display: flex;
        flex-direction: column;
        min-width: 0;
    }

    .ma-link-card__title {
        font-weight: var(--fw-semibold);
        color: var(--text-primary);
        font-size: var(--fs-sm);
    }

    .ma-link-card__hint {
        font-size: var(--fs-xs);
        color: var(--text-muted);
    }

    .ma-modifier {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: var(--space-2);
        padding: var(--space-2) var(--space-3);
        border: 1px solid var(--warning-soft-border);
        border-radius: var(--r-sm);
        background: var(--warning-soft-bg);
        font-size: var(--fs-sm);
    }

    .ma-modifier__name {
        font-weight: var(--fw-medium);
        color: var(--text-primary);
    }

    .ma-modifier__value {
        color: var(--warning);
        font-weight: var(--fw-semibold);
    }

    .ma-category {
        display: flex;
        align-items: center;
        gap: var(--space-2);
        margin: var(--space-5) 0 var(--space-2);
        font-size: var(--fs-md);
        font-weight: var(--fw-semibold);
        color: var(--text-primary);
    }

    .ma-category:first-of-type {
        margin-top: 0;
    }

    .ma-category i {
        color: var(--accent);
    }

    .ma-category__count {
        margin-left: auto;
        font-size: var(--fs-xs);
        font-weight: var(--fw-medium);
        color: var(--text-muted);
        font-variant-numeric: tabular-nums;
    }

    .ma-kv {
        display: flex;
        flex-wrap: wrap;
        gap: var(--space-1);
        font-size: var(--fs-sm);
    }

    .ma-kv__k {
        color: var(--text-muted);
    }

    .ma-kv__v {
        color: var(--text-primary);
        font-weight: var(--fw-medium);
    }

    .ma-you {
        font-size: var(--fs-xs);
        font-weight: var(--fw-semibold);
        color: var(--accent);
        background: var(--accent-soft-bg);
        border: 1px solid var(--accent-soft-border);
        border-radius: var(--r-full);
        padding: 1px var(--space-2);
        white-space: nowrap;
    }

    .ma-visually-compact {
        font-size: var(--fs-xs);
        color: var(--text-muted);
    }

    @media (max-width: 768px) {
        .ma-page-head {
            align-items: flex-start;
        }

        .ma-page-title {
            font-size: var(--fs-xl);
        }

        .ma-head-actions {
            width: 100%;
        }

        .ma-head-actions .btn-primary,
        .ma-head-actions .btn-secondary {
            flex: 1 1 auto;
            justify-content: center;
        }

        .ma-kpis {
            gap: var(--space-2);
        }

        .ma-actions-cell {
            justify-content: flex-start;
        }

        .ma-num {
            text-align: left;
        }

        .table--sticky thead th {
            position: static;
        }

        .ma-bars {
            height: 170px;
        }

        .ma-bars__col {
            flex: 1 0 28px;
            min-width: 28px;
        }

        .ma-chart {
            height: 220px;
        }

        .ma-inline-form {
            align-items: stretch;
        }

        .ma-inline-form .btn-primary,
        .ma-inline-form .btn-secondary {
            flex: 1 1 100%;
            justify-content: center;
        }

        .ma-pager__info {
            margin-left: 0;
            width: 100%;
        }

        .ma-ua {
            max-width: 130px;
        }

        .ma-form .form-control,
        .ma-form .form-select,
        .ma-import .form-control,
        .ma-reset-link input,
        .ma-editor .form-control,
        .ma-editor .form-select {
            font-size: 16px;
        }

        .ma-form .btn-primary,
        .ma-form .btn-secondary {
            min-height: var(--control-h-lg);
        }

    }

    @media (max-width: 480px) {
        .ma-chart {
            height: 200px;
        }

        .ma-funnel__label {
            min-width: 74px;
        }

        .ma-funnel__value {
            min-width: 62px;
        }

        .ma-import__file {
            padding: var(--space-2);
        }

    }

    .ma-quick-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
        gap: var(--space-3, 12px);
        margin: var(--space-3, 12px) 0;
    }

    .glass-card--primary {
        border-color: color-mix(in srgb, var(--tech-blue, #2563eb) 38%, transparent);
        box-shadow: 0 18px 44px -30px color-mix(in srgb, var(--tech-blue, #2563eb) 70%, transparent);
    }

    .ma-quick {
        display: flex;
        align-items: center;
        gap: var(--space-3, 12px);
        padding: var(--space-3, 12px) var(--space-4, 16px);
        min-height: 68px;
        border: 1px solid var(--panel-border, rgba(13, 21, 38, .1));
        border-radius: var(--tech-r, 14px);
        background: color-mix(in srgb, var(--ink-1, #fff) 55%, transparent);
        text-decoration: none;
        color: inherit;
        transition: transform 180ms var(--tech-ease, ease), border-color 180ms var(--tech-ease, ease), box-shadow 180ms var(--tech-ease, ease), background 180ms var(--tech-ease, ease);
    }

    .ma-quick:hover {
        transform: translateY(-2px);
        border-color: color-mix(in srgb, var(--tech-blue, #2563eb) 42%, transparent);
        background: color-mix(in srgb, var(--tech-blue, #2563eb) 7%, transparent);
        box-shadow: 0 14px 30px -18px color-mix(in srgb, var(--tech-blue, #2563eb) 60%, transparent);
    }

    .ma-quick__icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 42px;
        height: 42px;
        flex: 0 0 auto;
        border-radius: var(--tech-r-sm, 10px);
        background: var(--tech-gradient, linear-gradient(135deg, #2563eb, #0891b2));
        color: #fff;
        font-size: 17px;
    }

    .ma-quick__text {
        display: flex;
        flex-direction: column;
        gap: 2px;
        min-width: 0;
    }

    .ma-quick__text strong {
        font-size: var(--fs-base, 15px);
        line-height: 1.25;
    }

    .ma-quick__text span {
        font-size: var(--fs-xs, 12px);
        color: var(--ink-text-muted, #68768f);
        line-height: 1.35;
    }

    @media (max-width: 720px) {
        .ma-quick-grid {
            grid-template-columns: 1fr;
        }

        .ma-quick {
            min-height: 62px;
        }

    }

    @media (hover: none) {
        .ma-quick:hover {
            transform: none;
        }

    }

    .contact-strip {
        display: flex;
        flex-wrap: wrap;
        gap: var(--space-3, 12px) var(--space-5, 20px);
        padding: var(--space-3, 12px) var(--space-4, 16px);
        margin-bottom: var(--space-3, 12px);
        border: 1px solid var(--panel-border, rgba(13, 21, 38, .1));
        border-radius: var(--tech-r, 14px);
        background: color-mix(in srgb, var(--ink-1, #fff) 45%, transparent);
    }

    .contact-strip__group {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: var(--space-2, 8px);
        min-width: 0;
    }

    .contact-strip__group--muted {
        flex-basis: 100%;
        padding-top: var(--space-2, 8px);
        border-top: 1px dashed var(--ink-line, rgba(13, 21, 38, .12));
        color: var(--ink-text-muted, #68768f);
        font-size: var(--fs-xs, 12px);
    }

    .contact-strip__label {
        font-size: var(--fs-xs, 12px);
        text-transform: uppercase;
        letter-spacing: .04em;
        color: var(--ink-text-muted, #68768f);
        font-weight: var(--fw-semibold, 600);
    }

    .contact-strip__text {
        min-width: 0;
    }

    .contact-chip {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 6px 12px;
        min-height: 34px;
        border: 1px solid var(--ink-line, rgba(13, 21, 38, .14));
        border-radius: 999px;
        background: transparent;
        color: inherit;
        text-decoration: none;
        font-size: var(--fs-sm, 13px);
        white-space: nowrap;
        transition: border-color 160ms var(--tech-ease, ease), background 160ms var(--tech-ease, ease);
    }

    .contact-chip:hover {
        border-color: color-mix(in srgb, var(--tech-blue, #2563eb) 55%, transparent);
        background: color-mix(in srgb, var(--tech-blue, #2563eb) 10%, transparent);
    }

    .contact-chip--accent {
        border-color: color-mix(in srgb, #25d366 55%, transparent);
        background: color-mix(in srgb, #25d366 12%, transparent);
    }

    .contact-chip--accent:hover {
        border-color: #25d366;
        background: color-mix(in srgb, #25d366 20%, transparent);
    }

    @media (max-width: 720px) {
        .contact-strip {
            padding: var(--space-3, 12px);
        }

        .contact-chip {
            flex: 1 1 auto;
            justify-content: center;
        }

    }

/* ==========================================================================
   ЧАСТЬ 5 · ПУБЛИЧНЫЕ СТРАНИЦЫ
   ========================================================================== */

    .page--narrow {
        display: block;
        max-width: 760px;
        margin-inline: auto;
    }

    .page--auth {
        display: block;
        max-width: 460px;
        margin-inline: auto;
    }

    .section {
        margin-bottom: var(--space-7);
    }

    .section__title {
        display: flex;
        align-items: center;
        gap: var(--space-3);
        flex-wrap: wrap;
        margin: 0 0 var(--space-2);
        font-size: var(--fs-2xl);
        font-weight: var(--fw-bold);
        line-height: var(--lh-tight);
        color: var(--text-primary);
    }

    .section__title i {
        color: var(--accent);
        font-size: 0.9em;
    }

    .section__lead {
        margin: 0 0 var(--space-5);
        max-width: 68ch;
        font-size: var(--fs-md);
        line-height: var(--lh-normal);
        color: var(--text-secondary);
    }

    .text-center {
        text-align: center;
    }

    .logo-container {
        display: block;
        text-align: center;
        margin-bottom: var(--space-5);
    }

    .logo-center {
        display: inline-block;
        height: 64px;
        width: auto;
    }

    .tagline {
        margin-top: var(--space-2);
        font-size: var(--fs-md);
        font-weight: var(--fw-medium);
        color: var(--text-muted);
        letter-spacing: var(--tracking-wide);
    }

    .hero {
        position: relative;
        overflow: hidden;
        border-radius: var(--r-lg);
        padding: var(--space-8) var(--space-6);
        margin-bottom: var(--space-7);
        background: var(--bg-category);
        border: 1px solid var(--accent-soft-border);
    }

    .hero__inner {
        max-width: 68ch;
    }

    .hero__title {
        margin: 0 0 var(--space-4);
        font-size: var(--fs-hero);
        font-weight: var(--fw-bold);
        line-height: var(--lh-tight);
        letter-spacing: -0.5px;
        color: var(--text-primary);
    }

    .hero__subtitle {
        margin: 0 0 var(--space-5);
        font-size: var(--fs-lg);
        line-height: var(--lh-relaxed);
        color: var(--text-secondary);
    }

    .hero__actions {
        display: flex;
        flex-wrap: wrap;
        gap: var(--space-3);
        align-items: center;
    }

    .hero__actions .btn-primary,
    .hero__actions .btn-secondary {
        text-decoration: none;
    }

    .hero__note {
        display: flex;
        align-items: center;
        gap: var(--space-2);
        margin: var(--space-4) 0 0;
        font-size: var(--fs-sm);
        color: var(--text-muted);
    }

    .trust-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
        gap: var(--space-4);
    }

    .trust-card {
        display: flex;
        align-items: flex-start;
        gap: var(--space-3);
        padding: var(--space-4);
        background: var(--surface-1);
        border: 1px solid var(--border-subtle);
        border-radius: var(--r-md);
        box-shadow: var(--sh-1);
    }

    .trust-card__icon {
        display: grid;
        place-items: center;
        flex: 0 0 auto;
        width: 44px;
        height: 44px;
        border-radius: var(--r-full);
        background: var(--accent-soft-bg);
        color: var(--accent);
        font-size: var(--fs-lg);
    }

    .trust-card__title {
        margin: 0 0 2px;
        font-size: var(--fs-md);
        font-weight: var(--fw-semibold);
        color: var(--text-primary);
    }

    .trust-card__note {
        margin: 0;
        font-size: var(--fs-sm);
        line-height: var(--lh-snug);
        color: var(--text-muted);
    }

    .cat-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
        gap: var(--space-4);
    }

    .cat-card {
        display: flex;
        flex-direction: column;
        gap: var(--space-2);
        padding: var(--space-5);
        background: var(--surface-1);
        border: 1px solid var(--border-subtle);
        border-radius: var(--r-md);
        box-shadow: var(--sh-1);
        text-decoration: none;
        color: inherit;
        transition: transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out);
    }

    .cat-card:hover {
        transform: translateY(-2px);
        border-color: var(--accent-soft-border);
        box-shadow: var(--sh-2);
    }

    .cat-card__icon {
        display: grid;
        place-items: center;
        width: 44px;
        height: 44px;
        border-radius: var(--r-md);
        background: var(--accent-soft-bg);
        color: var(--accent);
        font-size: var(--fs-xl);
    }

    .cat-card__name {
        margin: 0;
        font-size: var(--fs-lg);
        font-weight: var(--fw-semibold);
        color: var(--text-primary);
    }

    .cat-card__desc {
        margin: 0;
        font-size: var(--fs-sm);
        line-height: var(--lh-snug);
        color: var(--text-secondary);
    }

    .cat-card__meta {
        margin-top: auto;
        padding-top: var(--space-2);
        font-size: var(--fs-xs);
        font-weight: var(--fw-semibold);
        letter-spacing: var(--tracking-wide);
        text-transform: uppercase;
        color: var(--accent);
    }

    .video-frame {
        position: relative;
        width: 100%;
        aspect-ratio: 16 / 9;
        overflow: hidden;
        border-radius: var(--r-md);
        border: 1px solid var(--border-subtle);
        background: var(--bg-muted);
        box-shadow: var(--sh-2);
    }

    .video-frame > iframe {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        border: 0;
    }

    @supports not (aspect-ratio: 16 / 9) {
        .video-frame {
            height: 0;
            padding-bottom: 56.25%;
        }

    }

    .video-caption {
        margin: var(--space-3) 0 0;
        font-size: var(--fs-sm);
        color: var(--text-muted);
        text-align: center;
    }

    .media-placeholder {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: var(--space-2);
        min-height: 180px;
        padding: var(--space-6);
        text-align: center;
        background: var(--bg-muted);
        border: 1px dashed var(--border-default);
        border-radius: var(--r-md);
    }

    .media-placeholder i {
        font-size: var(--fs-2xl);
        color: var(--empty-icon);
    }

    .media-placeholder p {
        margin: 0;
        color: var(--text-secondary);
    }

    .services-toolbar {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: var(--space-3);
        padding: var(--space-4);
        margin-bottom: var(--space-5);
        background: var(--surface-1);
        border: 1px solid var(--border-subtle);
        border-radius: var(--r-md);
    }

    .services-toolbar .btn-primary,
    .services-toolbar .btn-secondary {
        text-decoration: none;
    }

    .price-toggle {
        position: absolute;
        opacity: 0;
        pointer-events: none;
    }

    .price-toggle:checked + .price-toggle__btn {
        color: var(--accent);
        border-color: var(--accent);
    }

    .price-toggle:focus-visible + .price-toggle__btn {
        outline: 2px solid var(--accent);
        outline-offset: 2px;
    }

    html:not(.prices-revealed) .price--gated {
        display: none;
    }

    html:not(.prices-revealed):has(#priceToggle:checked) .price--gated {
        display: block;
    }

    html:not(.prices-revealed):has(#priceToggle:checked) .prices-hint {
        display: none;
    }

    html:not(.prices-revealed):has(#priceToggle:checked) .price-toggle__btn {
        color: var(--accent);
        border-color: var(--accent);
    }

    .prices-hint {
        display: flex;
        align-items: center;
        gap: var(--space-2);
        margin-top: var(--space-3);
        font-size: var(--fs-sm);
        color: var(--text-muted);
    }

    .service-group {
        margin-bottom: var(--space-5);
    }

    .service-group__head {
        display: flex;
        align-items: center;
        gap: var(--space-3);
        padding: var(--space-3) 0;
        border-bottom: 2px solid var(--accent-soft-border);
        margin-bottom: var(--space-2);
    }

    .service-group__icon {
        color: var(--accent);
    }

    .service-group__name {
        margin: 0;
        font-size: var(--fs-lg);
        font-weight: var(--fw-semibold);
        color: var(--text-primary);
    }

    .service-group__count {
        margin-left: auto;
        padding: 2px var(--space-2);
        border-radius: var(--r-full);
        background: var(--bg-muted);
        color: var(--text-muted);
        font-size: var(--fs-xs);
        font-weight: var(--fw-semibold);
    }

    .service-row {
        display: flex;
        align-items: flex-start;
        gap: var(--space-4);
        padding: var(--space-3) 0;
        border-bottom: 1px solid var(--border-subtle);
    }

    .service-row:last-child {
        border-bottom: 0;
    }

    .service-row__info {
        flex: 1 1 auto;
        min-width: 0;
    }

    .service-row__name {
        font-size: var(--fs-md);
        font-weight: var(--fw-medium);
        color: var(--text-primary);
    }

    .service-row__desc {
        margin-top: 2px;
        font-size: var(--fs-sm);
        line-height: var(--lh-snug);
        color: var(--text-muted);
    }

    .service-row__price {
        flex: 0 0 auto;
        text-align: right;
        font-size: var(--fs-md);
        font-weight: var(--fw-semibold);
        color: var(--text-primary);
        white-space: nowrap;
    }

    .service-row__price small {
        display: block;
        font-size: var(--fs-xs);
        font-weight: var(--fw-regular);
        color: var(--text-muted);
    }

    .service-row__price--onrequest {
        color: var(--text-muted);
        font-weight: var(--fw-medium);
    }

    .cart-picker {
        max-height: 420px;
        overflow-y: auto;
        overscroll-behavior: contain;
        padding-right: var(--space-1);
        margin-bottom: var(--space-4);
    }

    .cart-picker__group-title {
        display: flex;
        align-items: center;
        gap: var(--space-2);
        margin: var(--space-4) 0 var(--space-2);
        font-size: var(--fs-sm);
        font-weight: var(--fw-semibold);
        letter-spacing: var(--tracking-caps);
        text-transform: uppercase;
        color: var(--text-muted);
    }

    .cart-picker__group-title:first-child {
        margin-top: 0;
    }

    .pick-row {
        display: flex;
        align-items: center;
        gap: var(--space-3);
        min-height: 44px;
        padding: var(--space-2) var(--space-3);
        border: 1px solid var(--border-subtle);
        border-radius: var(--r-sm);
        background: var(--surface-1);
        cursor: pointer;
        transition: border-color var(--dur-1) var(--ease-out), background var(--dur-1) var(--ease-out);
    }

    .pick-row + .pick-row {
        margin-top: var(--space-2);
    }

    .pick-row:hover {
        border-color: var(--border-default);
    }

    .pick-row[data-selected="true"] {
        border-color: var(--accent-soft-border);
        background: var(--accent-soft-bg);
    }

    .pick-row input[type="checkbox"],
    .pick-row__check {
        flex: 0 0 auto;
        width: 20px;
        height: 20px;
        accent-color: var(--accent);
    }

    .pick-row__body {
        flex: 1 1 auto;
        min-width: 0;
    }

    .pick-row__name {
        font-size: var(--fs-md);
        font-weight: var(--fw-medium);
        color: var(--text-primary);
    }

    .pick-row__meta {
        margin-top: 2px;
        font-size: var(--fs-xs);
        color: var(--text-muted);
    }

    .pick-row__price {
        flex: 0 0 auto;
        font-size: var(--fs-sm);
        font-weight: var(--fw-semibold);
        color: var(--text-primary);
        white-space: nowrap;
    }

    .cart-line {
        display: flex;
        align-items: center;
        gap: var(--space-3);
        padding: var(--space-3);
        border: 1px solid var(--accent-soft-border);
        border-radius: var(--r-sm);
        background: var(--surface-1);
    }

    .cart-line + .cart-line {
        margin-top: var(--space-2);
    }

    .cart-line[hidden] {
        display: none;
    }

    .cart-line__body {
        flex: 1 1 auto;
        min-width: 0;
    }

    .cart-line__name {
        font-size: var(--fs-md);
        font-weight: var(--fw-medium);
        color: var(--text-primary);
    }

    .cart-line__meta {
        margin-top: 2px;
        font-size: var(--fs-xs);
        color: var(--text-muted);
    }

    .cart-line__qty {
        flex: 0 0 auto;
        width: 96px;
    }

    .cart-line__sum {
        flex: 0 0 auto;
        min-width: 96px;
        text-align: right;
        font-size: var(--fs-md);
        font-weight: var(--fw-semibold);
        color: var(--text-primary);
        font-variant-numeric: tabular-nums;
    }

    .cart-total {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: var(--space-3);
        padding: var(--space-4);
        margin-top: var(--space-4);
        border-radius: var(--r-md);
        background: var(--accent-soft-bg);
        border: 1px solid var(--accent-soft-border);
    }

    .cart-total__label {
        font-size: var(--fs-md);
        color: var(--text-secondary);
    }

    .cart-total__value {
        font-size: var(--fs-2xl);
        font-weight: var(--fw-bold);
        color: var(--accent);
        font-variant-numeric: tabular-nums;
    }

    .cart-note {
        margin: var(--space-2) 0 0;
        font-size: var(--fs-xs);
        color: var(--text-muted);
    }

    .hp-field {
        position: absolute;
        left: -9999px;
        top: auto;
        width: 1px;
        height: 1px;
        overflow: hidden;
    }

    .field__hint {
        display: block;
        margin-top: var(--space-1);
        font-size: var(--fs-xs);
        color: var(--text-muted);
    }

    .check-row {
        display: flex;
        align-items: flex-start;
        gap: var(--space-3);
        min-height: 44px;
        padding: var(--space-3);
        border: 1px solid var(--border-subtle);
        border-radius: var(--r-sm);
        background: var(--surface-2);
        cursor: pointer;
    }

    .check-row input[type="checkbox"] {
        flex: 0 0 auto;
        width: 20px;
        height: 20px;
        margin-top: 2px;
        accent-color: var(--accent);
    }

    .check-row__text {
        font-size: var(--fs-sm);
        line-height: var(--lh-snug);
        color: var(--text-secondary);
    }

    .check-row__title {
        display: block;
        font-weight: var(--fw-semibold);
        color: var(--text-primary);
    }

    .form-actions {
        margin-top: var(--space-5);
    }

    .form-footnote {
        margin: var(--space-3) 0 0;
        font-size: var(--fs-xs);
        line-height: var(--lh-snug);
        color: var(--text-muted);
    }

    .btn-primary.is-loading,
    .btn-secondary.is-loading {
        pointer-events: none;
        opacity: 0.85;
    }

    :where(.btn-primary, .btn-secondary).is-loading i {
        display: none;
    }

    :where(.btn-primary, .btn-secondary).is-loading::before {
        content: "";
        display: inline-block;
        width: 16px;
        height: 16px;
        margin-right: var(--space-2);
        border: 2px solid currentColor;
        border-right-color: transparent;
        border-radius: var(--r-full);
        animation: mayak-spin 700ms linear infinite;
    }

    @keyframes mayak-spin {
        to { transform: rotate(360deg); }
    }

    .success-hero {
        display: block;
        text-align: center;
    }

    .success-hero__icon {
        display: grid;
        place-items: center;
        width: 72px;
        height: 72px;
        margin: 0 auto var(--space-4);
        border-radius: var(--r-full);
        background: var(--success-soft-bg);
        color: var(--success);
        font-size: var(--fs-2xl);
    }

    .number-plate {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: var(--space-3);
        padding: var(--space-5);
        margin: var(--space-5) 0;
        border-radius: var(--r-md);
        background: var(--accent-soft-bg);
        border: 1px dashed var(--accent-soft-border);
    }

    .number-plate__value {
        font-size: var(--fs-display);
        font-weight: var(--fw-bold);
        letter-spacing: 1px;
        color: var(--accent);
        font-variant-numeric: tabular-nums;
        word-break: break-all;
    }

    .number-plate__copy {
        min-height: 44px;
    }

    .next-list {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .next-list li {
        display: flex;
        gap: var(--space-3);
        padding: var(--space-3) 0;
        border-bottom: 1px solid var(--border-subtle);
        font-size: var(--fs-md);
        line-height: var(--lh-snug);
        color: var(--text-secondary);
    }

    .next-list li:last-child {
        border-bottom: 0;
    }

    .next-list i {
        color: var(--accent);
        margin-top: 3px;
    }

    .track-search {
        display: flex;
        flex-wrap: wrap;
        gap: var(--space-3);
        align-items: flex-end;
    }

    .track-search__field {
        flex: 1 1 240px;
        min-width: 0;
    }

    .track-search .btn-primary {
        min-height: var(--control-h-lg);
    }

    .track-req {
        color: var(--danger);
        text-decoration: none;
    }

    .track-result {
        margin-top: var(--space-5);
    }

    .track-head {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: var(--space-3);
        padding-bottom: var(--space-4);
        margin-bottom: var(--space-4);
        border-bottom: 1px solid var(--border-subtle);
    }

    .track-head__number {
        font-size: var(--fs-xl);
        font-weight: var(--fw-bold);
        letter-spacing: 0.5px;
        color: var(--text-primary);
        font-variant-numeric: tabular-nums;
    }

    .track-head__date {
        margin-left: auto;
        font-size: var(--fs-sm);
        color: var(--text-muted);
    }

    .track-list {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .track-list li {
        display: flex;
        align-items: baseline;
        gap: var(--space-3);
        padding: var(--space-3) 0;
        border-bottom: 1px solid var(--border-subtle);
    }

    .track-list li:last-child {
        border-bottom: 0;
    }

    .track-list__name {
        flex: 1 1 auto;
        min-width: 0;
        color: var(--text-primary);
    }

    .track-list__qty {
        flex: 0 0 auto;
        font-size: var(--fs-sm);
        color: var(--text-muted);
    }

    .track-list__sum {
        flex: 0 0 auto;
        min-width: 88px;
        text-align: right;
        font-weight: var(--fw-semibold);
        color: var(--text-primary);
        font-variant-numeric: tabular-nums;
    }

    .track-total {
        display: flex;
        justify-content: space-between;
        gap: var(--space-3);
        padding-top: var(--space-4);
        margin-top: var(--space-2);
        border-top: 2px solid var(--border-subtle);
        font-size: var(--fs-lg);
        font-weight: var(--fw-semibold);
        color: var(--text-primary);
    }

    .track-total__value {
        color: var(--accent);
        font-variant-numeric: tabular-nums;
    }

    .track-terms {
        display: flex;
        flex-wrap: wrap;
        gap: var(--space-4);
        padding: var(--space-4);
        margin-top: var(--space-4);
        border-radius: var(--r-sm);
        background: var(--surface-2);
        font-size: var(--fs-sm);
        color: var(--text-secondary);
    }

    .track-terms span {
        display: flex;
        align-items: center;
        gap: var(--space-2);
    }

    .track-terms i {
        color: var(--text-muted);
    }

    .track-privacy {
        display: flex;
        gap: var(--space-2);
        margin: var(--space-4) 0 0;
        font-size: var(--fs-xs);
        line-height: var(--lh-snug);
        color: var(--text-muted);
    }

    .track-privacy i {
        margin-top: 3px;
    }

    .auth-card {
        display: block;
    }

    .auth-card__title {
        display: flex;
        align-items: center;
        gap: var(--space-3);
        margin: 0 0 var(--space-2);
        font-size: var(--fs-xl);
        font-weight: var(--fw-bold);
        color: var(--text-primary);
    }

    .auth-card__title i {
        color: var(--accent);
    }

    .auth-card__lead {
        margin: 0 0 var(--space-5);
        font-size: var(--fs-sm);
        line-height: var(--lh-normal);
        color: var(--text-muted);
    }

    .auth-alt {
        margin: var(--space-5) 0 0;
        padding-top: var(--space-4);
        border-top: 1px solid var(--border-subtle);
        text-align: center;
        font-size: var(--fs-sm);
    }

    .auth-alt a {
        color: var(--accent);
        text-decoration: none;
        font-weight: var(--fw-medium);
    }

    .auth-alt a:hover {
        text-decoration: underline;
    }

    .auth-alt--split {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: var(--space-3);
        text-align: left;
    }

    .auth-alt--split form {
        margin: 0;
    }

    .token-input {
        font-size: var(--fs-2xl);
        font-weight: var(--fw-semibold);
        letter-spacing: 8px;
        text-align: center;
        font-variant-numeric: tabular-nums;
    }

    .qr-block {
        display: block;
        text-align: center;
    }

    .qr-block img,
    .qr-block .qr-image {
        display: inline-block;
        width: 100%;
        max-width: 220px;
        height: auto;
        padding: var(--space-3);
        background: #ffffff;
        border: 1px solid var(--border-subtle);
        border-radius: var(--r-md);
        box-shadow: var(--sh-1);
        image-rendering: pixelated;
    }

    .secret-row {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: var(--space-2);
        margin-top: var(--space-3);
    }

    .secret-row code {
        flex: 1 1 200px;
        min-width: 0;
        padding: var(--space-3);
        border: 1px solid var(--border-subtle);
        border-radius: var(--r-sm);
        background: var(--bg-code);
        color: var(--text-primary);
        font-size: var(--fs-sm);
        letter-spacing: 1px;
        word-break: break-all;
    }

    .secret-row .btn-secondary {
        min-height: 44px;
    }

    .steps {
        margin: 0;
        padding-left: 1.25rem;
    }

    .steps li {
        margin-bottom: var(--space-2);
        font-size: var(--fs-sm);
        line-height: var(--lh-normal);
        color: var(--text-secondary);
    }

    .status-banner {
        display: flex;
        align-items: flex-start;
        gap: var(--space-3);
        padding: var(--space-4);
        margin-bottom: var(--space-5);
        border-radius: var(--r-md);
        border: 1px solid var(--border-subtle);
        background: var(--surface-2);
    }

    .status-banner i {
        margin-top: 2px;
        font-size: var(--fs-lg);
    }

    .status-banner__body {
        min-width: 0;
    }

    .status-banner__title {
        display: block;
        font-size: var(--fs-md);
        font-weight: var(--fw-semibold);
        color: var(--text-primary);
    }

    .status-banner__text {
        margin: 2px 0 0;
        font-size: var(--fs-sm);
        line-height: var(--lh-snug);
        color: var(--text-secondary);
    }

    .status-banner--on {
        background: var(--success-soft-bg);
        border-color: var(--success-soft-border);
    }

    .status-banner--on i {
        color: var(--success);
    }

    .status-banner--off {
        background: var(--warning-soft-bg);
        border-color: var(--warning-soft-border);
    }

    .status-banner--off i {
        color: var(--warning);
    }

    .pw-meter {
        --pw: 0%;
        margin-top: var(--space-3);
    }

    .pw-meter__track {
        height: 6px;
        border-radius: var(--r-full);
        background: var(--bg-muted);
        overflow: hidden;
    }

    .pw-meter__fill {
        display: block;
        width: var(--pw, 0%);
        height: 100%;
        border-radius: var(--r-full);
        background: var(--danger);
        transition: width var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out);
    }

    .pw-meter__fill--weak {
        background: var(--danger);
    }

    .pw-meter__fill--medium {
        background: var(--warning);
    }

    .pw-meter__fill--strong {
        background: var(--success);
    }

    .pw-meter__label {
        margin: var(--space-2) 0 0;
        font-size: var(--fs-sm);
        font-weight: var(--fw-medium);
        color: var(--text-secondary);
    }

    .pw-rules {
        list-style: none;
        margin: var(--space-2) 0 0;
        padding: 0;
    }

    .pw-rules li {
        display: flex;
        align-items: center;
        gap: var(--space-2);
        font-size: var(--fs-xs);
        color: var(--text-muted);
    }

    .pw-rules li::before {
        content: "\2022";
        color: var(--text-placeholder);
    }

    .pw-rules li[data-ok="true"] {
        color: var(--success);
    }

    .pw-rules li[data-ok="true"]::before {
        content: "\2713";
        color: var(--success);
        font-weight: var(--fw-bold);
    }

    .terms-intro {
        margin: 0 0 var(--space-5);
        font-size: var(--fs-md);
        line-height: var(--lh-relaxed);
        color: var(--text-secondary);
    }

    .terms-list {
        list-style: none;
        margin: 0;
        padding: 0;
        counter-reset: term;
    }

    .terms-item {
        display: flex;
        gap: var(--space-3);
        padding: var(--space-3) 0;
        border-bottom: 1px solid var(--border-subtle);
        counter-increment: term;
    }

    .terms-item:last-child {
        border-bottom: 0;
    }

    .terms-icon {
        display: grid;
        place-items: center;
        flex: 0 0 auto;
        width: 28px;
        height: 28px;
        border-radius: var(--r-full);
        background: var(--accent-soft-bg);
        color: var(--accent);
        font-size: var(--fs-xs);
    }

    .terms-text {
        flex: 1 1 auto;
        min-width: 0;
        font-size: var(--fs-md);
        line-height: var(--lh-normal);
        color: var(--text-secondary);
    }

    .terms-updated {
        display: flex;
        align-items: center;
        gap: var(--space-2);
        margin: 0 0 var(--space-5);
        font-size: var(--fs-sm);
        color: var(--text-muted);
    }

    .terms-note {
        display: flex;
        gap: var(--space-2);
        margin-top: var(--space-5);
        padding: var(--space-4);
        border-radius: var(--r-sm);
        background: var(--info-soft-bg);
        border: 1px solid var(--info-soft-border);
        font-size: var(--fs-sm);
        line-height: var(--lh-snug);
        color: var(--text-secondary);
    }

    .terms-actions {
        display: flex;
        flex-wrap: wrap;
        gap: var(--space-3);
        margin-top: var(--space-5);
    }

    .terms-actions .btn-primary,
    .terms-actions .btn-secondary {
        text-decoration: none;
    }

    .error-page {
        display: block;
        text-align: center;
        padding: var(--space-6) 0;
    }

    .error-code {
        margin: 0;
        font-size: clamp(64px, 18vw, 132px);
        font-weight: var(--fw-bold);
        line-height: 1;
        letter-spacing: -2px;
        color: var(--accent);
        font-variant-numeric: tabular-nums;
    }

    .error-title {
        margin: var(--space-4) 0 var(--space-3);
        font-size: var(--fs-2xl);
        font-weight: var(--fw-bold);
        color: var(--text-primary);
    }

    .error-message {
        max-width: 52ch;
        margin: 0 auto var(--space-6);
        font-size: var(--fs-md);
        line-height: var(--lh-relaxed);
        color: var(--text-secondary);
    }

    .error-actions {
        display: flex;
        flex-wrap: wrap;
        gap: var(--space-3);
        justify-content: center;
    }

    .error-actions .btn-primary,
    .error-actions .btn-secondary {
        text-decoration: none;
        min-height: 44px;
    }

    .error-help {
        margin: var(--space-6) 0 0;
        font-size: var(--fs-sm);
        color: var(--text-muted);
    }

    .error-help a {
        color: var(--accent);
        text-decoration: none;
    }

    .error-help a:hover {
        text-decoration: underline;
    }

    .contact-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
        gap: var(--space-4);
    }

    .contact-card {
        display: flex;
        align-items: flex-start;
        gap: var(--space-3);
        padding: var(--space-4);
        background: var(--surface-1);
        border: 1px solid var(--border-subtle);
        border-radius: var(--r-md);
        text-decoration: none;
        color: inherit;
        transition: border-color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out);
    }

    .contact-card:hover {
        border-color: var(--accent-soft-border);
        box-shadow: var(--sh-2);
    }

    .contact-card__icon {
        display: grid;
        place-items: center;
        flex: 0 0 auto;
        width: 44px;
        height: 44px;
        border-radius: var(--r-full);
        background: var(--accent-soft-bg);
        color: var(--accent);
        font-size: var(--fs-lg);
    }

    .contact-card__label {
        display: block;
        font-size: var(--fs-xs);
        letter-spacing: var(--tracking-wide);
        text-transform: uppercase;
        color: var(--text-muted);
    }

    .contact-card__value {
        display: block;
        margin-top: 2px;
        font-size: var(--fs-md);
        font-weight: var(--fw-semibold);
        color: var(--text-primary);
    }

    .contact-card__note {
        display: block;
        margin-top: 2px;
        font-size: var(--fs-xs);
        color: var(--text-muted);
    }

    .contact-card--static {
        cursor: default;
    }

    .u-hide {
        display: none;
    }

    .u-gap-3 {
        gap: var(--space-3);
    }

    .u-mt-4 {
        margin-top: var(--space-4);
    }

    .u-mt-5 {
        margin-top: var(--space-5);
    }

    .u-mb-4 {
        margin-bottom: var(--space-4);
    }

    .sr-live {
        position: absolute;
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        clip-path: inset(50%);
        white-space: nowrap;
        border: 0;
    }

    @media (max-width: 768px) {
        .hero {
            padding: var(--space-6) var(--space-4);
        }

        .hero__actions {
            flex-direction: column;
            align-items: stretch;
        }

        .hero__actions .btn-primary,
        .hero__actions .btn-secondary {
            width: 100%;
            min-height: var(--control-h-lg);
            justify-content: center;
        }

        .cat-grid,
        .trust-grid,
        .contact-grid {
            grid-template-columns: 1fr;
        }

        .service-row {
            flex-direction: column;
            gap: var(--space-1);
        }

        .service-row__price {
            text-align: left;
        }

        .track-search {
            flex-direction: column;
            align-items: stretch;
        }

        .track-search .btn-primary {
            width: 100%;
            justify-content: center;
        }

        .track-head {
            align-items: flex-start;
        }

        .track-head__date {
            margin-left: 0;
            width: 100%;
        }

        .cart-line {
            flex-wrap: wrap;
        }

        .cart-line__qty {
            width: 84px;
        }

        .cart-line__sum {
            min-width: 0;
            margin-left: auto;
        }

        .number-plate {
            padding: var(--space-4);
        }

        .auth-alt--split {
            justify-content: center;
        }

        .error-actions {
            flex-direction: column;
        }

        .error-actions .btn-primary,
        .error-actions .btn-secondary {
            width: 100%;
            justify-content: center;
        }

    }

    .u-mono {
        font-family: ui-monospace, 'SF Mono', 'JetBrains Mono', 'Cascadia Mono', Consolas, monospace;
        font-variant-numeric: tabular-nums;
        letter-spacing: -.01em;
    }

    .text-gradient {
        background: var(--tech-gradient, var(--accent));
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
    }

    .live-dot {
        position: relative;
        display: inline-block;
        flex: 0 0 auto;
        width: 8px;
        height: 8px;
        border-radius: var(--r-full);
        background: var(--tech-live, var(--success));
        animation: tech-pulse 2.4s var(--tech-ease, var(--ease-out)) infinite;
    }

    .version-tag {
        font-family: ui-monospace, 'SF Mono', Consolas, monospace;
        font-size: var(--fs-xs);
        letter-spacing: .02em;
        color: var(--ink-text-muted, var(--text-muted));
        border: 1px solid var(--ink-line, var(--border-subtle));
        border-radius: var(--r-full);
        padding: 2px var(--space-2);
    }

    .reveal-stagger > *:nth-child(1) {
        --i: 0;
    }

    .reveal-stagger > *:nth-child(2) {
        --i: 1;
    }

    .reveal-stagger > *:nth-child(3) {
        --i: 2;
    }

    .reveal-stagger > *:nth-child(4) {
        --i: 3;
    }

    .reveal-stagger > *:nth-child(5) {
        --i: 4;
    }

    .reveal-stagger > *:nth-child(6) {
        --i: 5;
    }

    .reveal-stagger > *:nth-child(7) {
        --i: 6;
    }

    .reveal-stagger > *:nth-child(8) {
        --i: 7;
    }

    .hero-tech {
        position: relative;
        margin-bottom: var(--space-7);
    }

    .hero-tech__grid {
        display: grid;
        grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
        gap: var(--space-7);
        align-items: center;
    }

    .hero-tech__badges {
        display: flex;
        flex-wrap: wrap;
        gap: var(--space-2);
        margin: 0 0 var(--space-4);
    }

    .hero-tech__body,
    .hero-tech__visual {
        min-width: 0;
    }

    .pill {
        display: inline-flex;
        align-items: center;
        gap: var(--space-2);
        min-height: 30px;
        padding: var(--space-1) var(--space-3);
        border: 1px solid var(--panel-border, var(--border-subtle));
        border-radius: var(--r-full);
        background: var(--panel-bg, var(--surface-1));
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        font-size: var(--fs-xs);
        font-weight: var(--fw-medium);
        color: var(--ink-text-soft, var(--text-secondary));
    }

    .pill i {
        color: var(--tech-blue, var(--accent));
        font-size: var(--fs-sm);
    }

    .pill--live {
        border-color: color-mix(in srgb, var(--tech-live, var(--success)) 34%, var(--panel-border, var(--border-subtle)));
    }

    .hero-tech__title {
        margin: 0 0 var(--space-4);
        font-size: clamp(30px, 4.6vw, 54px);
        font-weight: var(--fw-bold);
        line-height: 1.06;
        letter-spacing: -.03em;
        text-wrap: balance;
        color: var(--ink-text, var(--text-primary));
    }

    .hero-tech__lead {
        max-width: 58ch;
        margin: 0 0 var(--space-5);
        font-size: var(--fs-lg);
        line-height: var(--lh-normal);
        color: var(--ink-text-soft, var(--text-secondary));
    }

    .hero-tech__actions {
        display: flex;
        flex-wrap: wrap;
        gap: var(--space-3);
        margin-bottom: var(--space-5);
    }

    .hero-tech__actions .btn-primary,
    .hero-tech__actions .btn-secondary {
        text-decoration: none;
    }

    .micro-list {
        display: flex;
        flex-wrap: wrap;
        gap: var(--space-2) var(--space-4);
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .micro-list__item {
        display: inline-flex;
        align-items: center;
        gap: var(--space-2);
        font-size: var(--fs-sm);
        color: var(--ink-text-soft, var(--text-secondary));
    }

    .micro-list__item i {
        color: var(--tech-cyan, var(--info));
    }

    .netmap {
        position: relative;
        padding: var(--space-4);
        border: 1px solid var(--panel-border, var(--border-subtle));
        border-radius: var(--tech-r-lg, var(--r-lg));
        background: var(--panel-bg, var(--surface-1));
        box-shadow: var(--panel-shadow, var(--sh-2));
        backdrop-filter: blur(14px) saturate(140%);
        -webkit-backdrop-filter: blur(14px) saturate(140%);
        overflow: hidden;
    }

    .netmap__bar {
        display: flex;
        align-items: center;
        gap: var(--space-3);
        padding-bottom: var(--space-3);
        margin-bottom: var(--space-3);
        border-bottom: 1px solid var(--ink-line, var(--border-subtle));
        font-size: var(--fs-xs);
        color: var(--ink-text-muted, var(--text-muted));
    }

    .netmap__bar-dots {
        display: inline-flex;
        gap: 6px;
    }

    .netmap__bar-dot {
        width: 8px;
        height: 8px;
        border-radius: var(--r-full);
        background: var(--ink-line-strong, var(--border-default));
    }

    .netmap__bar-dot--live {
        background: var(--tech-live, var(--success));
    }

    .netmap__bar-title {
        font-weight: var(--fw-medium);
        color: var(--ink-text-soft, var(--text-secondary));
    }

    .netmap__bar-meta {
        margin-left: auto;
        color: var(--tech-live, var(--success));
        letter-spacing: .08em;
    }

    .netmap__svg {
        display: block;
        width: 100%;
        height: auto;
    }

    .netmap__glow,
    .netmap__links,
    .netmap__nodes,
    .netmap__packets {
        pointer-events: none;
    }

    .netmap__node {
        transform-box: fill-box;
        transform-origin: center;
        transition: transform var(--dur-3) var(--ease-out);
    }

    .netmap:hover .netmap__node--core {
        transform: scale(1.035);
    }

    .netmap__core-glow {
        fill: var(--tech-blue, var(--accent));
    }

    .netmap__link {
        fill: none;
        stroke: var(--ink-line-strong, var(--border-default));
        stroke-width: 1.5;
    }

    .netmap__flow {
        fill: none;
        stroke: var(--tech-cyan, var(--info));
        stroke-width: 1.5;
        stroke-linecap: round;
        stroke-dasharray: 4 12;
        animation: netmap-flow 2.8s linear infinite;
    }

    @keyframes netmap-flow {
        from { stroke-dashoffset: 0; }
        to   { stroke-dashoffset: -64; }
    }

    .netmap__packet {
        fill: var(--tech-blue, var(--accent));
    }

    .netmap__packet--cyan {
        fill: var(--tech-cyan, var(--info));
    }

    .netmap__node-body {
        fill: color-mix(in srgb, var(--ink-1, var(--bg-card)) 88%, transparent);
        stroke: var(--panel-border, var(--border-subtle));
        stroke-width: 1;
    }

    .netmap__node-icon {
        fill: none;
        stroke: var(--tech-blue, var(--accent));
        stroke-width: 1.6;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    .netmap__node-icon--cyan {
        stroke: var(--tech-cyan, var(--info));
    }

    .netmap__node-icon--warn {
        stroke: var(--tech-warn, var(--warning));
    }

    .netmap__node-icon--live {
        stroke: var(--tech-live, var(--success));
    }

    .netmap__node-dot {
        fill: var(--tech-live, var(--success));
    }

    .netmap__node--core .netmap__node-body {
        stroke: color-mix(in srgb, var(--tech-blue, var(--accent)) 42%, var(--panel-border, var(--border-subtle)));
    }

    .netmap__node-caption {
        fill: var(--ink-text-soft, var(--text-secondary));
        font-size: 12px;
        font-weight: var(--fw-medium);
        text-anchor: middle;
    }

    .netmap__node-caption--core {
        fill: var(--ink-text, var(--text-primary));
        font-size: 13px;
        font-weight: var(--fw-semibold);
    }

    .netmap__node-caption--muted {
        fill: var(--ink-text-muted, var(--text-muted));
        font-size: 11px;
        font-weight: var(--fw-regular);
    }

    .netmap__legend {
        display: flex;
        flex-wrap: wrap;
        gap: var(--space-2) var(--space-4);
        margin: var(--space-3) 0 0;
        padding: 0;
        list-style: none;
        font-size: var(--fs-xs);
        color: var(--ink-text-muted, var(--text-muted));
    }

    .netmap__legend-item {
        display: inline-flex;
        align-items: center;
        gap: 6px;
    }

    .netmap__key {
        width: 10px;
        height: 10px;
        border-radius: 3px;
        flex: 0 0 auto;
    }

    .netmap__key--server {
        background: var(--tech-blue, var(--accent));
    }

    .netmap__key--camera {
        background: var(--tech-cyan, var(--info));
    }

    .netmap__key--pc {
        background: var(--tech-blue, var(--accent));
    }

    .netmap__key--net {
        background: var(--tech-live, var(--success));
    }

    .netmap__key--cloud {
        background: var(--tech-warn, var(--warning));
    }

    .metrics-strip {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: var(--space-4);
    }

    .metric-tile {
        padding: var(--space-4) var(--space-5);
    }

    .metric-tile__value {
        display: block;
        font-size: clamp(22px, 2.4vw, 30px);
        font-weight: var(--fw-semibold);
        line-height: 1.1;
        color: var(--ink-text, var(--text-primary));
    }

    .metric-tile__label {
        display: block;
        margin-top: var(--space-1);
        font-size: var(--fs-sm);
        font-weight: var(--fw-medium);
        color: var(--ink-text-soft, var(--text-secondary));
    }

    .metric-tile__note {
        display: block;
        margin-top: var(--space-1);
        font-size: var(--fs-xs);
        line-height: var(--lh-snug);
        color: var(--ink-text-soft, var(--text-secondary));
    }

    .section__eyebrow {
        display: flex;
        align-items: center;
        gap: var(--space-2);
        margin: 0 0 var(--space-2);
        font-size: var(--fs-xs);
        font-weight: var(--fw-semibold);
        letter-spacing: var(--tracking-caps);
        text-transform: uppercase;
        color: var(--tech-blue, var(--accent));
    }

    .section__eyebrow .u-mono {
        color: var(--ink-text-muted, var(--text-muted));
    }

    .dir-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: var(--space-4);
    }

    .dir-card {
        gap: var(--space-3);
    }

    .dir-card__top {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: var(--space-3);
    }

    .dir-card__count {
        display: inline-flex;
        align-items: baseline;
        gap: 4px;
        padding: 2px var(--space-2);
        border: 1px solid var(--ink-line, var(--border-subtle));
        border-radius: var(--r-full);
        font-size: var(--fs-xs);
        color: var(--ink-text-muted, var(--text-muted));
        white-space: nowrap;
    }

    .dir-card__count .u-mono {
        font-size: var(--fs-sm);
        color: var(--ink-text-soft, var(--text-secondary));
    }

    .dir-card .cat-card__desc {
        flex: 1 1 auto;
    }

    .dir-card__cta {
        display: inline-flex;
        align-items: center;
        gap: var(--space-2);
        margin-top: auto;
        padding-top: var(--space-3);
        border-top: 1px solid var(--ink-line, var(--border-subtle));
        font-size: var(--fs-xs);
        font-weight: var(--fw-semibold);
        letter-spacing: var(--tracking-wide);
        text-transform: uppercase;
        color: var(--tech-blue, var(--accent));
    }

    .dir-card__cta i {
        transition: transform var(--dur-2) var(--ease-out);
    }

    .dir-card:hover .dir-card__cta i {
        transform: translateX(4px);
    }

    .flow-steps {
        position: relative;
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: var(--space-4);
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .flow-step {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding: var(--space-5) var(--space-4);
        border: 1px solid var(--panel-border, var(--border-subtle));
        border-radius: var(--tech-r, var(--r-md));
        background: var(--panel-bg, var(--surface-1));
        box-shadow: var(--panel-shadow, var(--sh-1));
        transition: border-color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out);
    }

    .flow-step:hover {
        border-color: color-mix(in srgb, var(--tech-blue, var(--accent)) 34%, var(--panel-border, var(--border-subtle)));
        box-shadow: var(--panel-shadow-hover, var(--sh-2));
    }

    .flow-step__num {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        margin-bottom: var(--space-3);
        border: 1px solid color-mix(in srgb, var(--tech-blue, var(--accent)) 34%, transparent);
        border-radius: var(--r-full);
        background: var(--ink-1, var(--bg-card));
        color: var(--tech-blue, var(--accent));
        font-size: var(--fs-sm);
        font-weight: var(--fw-semibold);
    }

    .flow-step__title {
        margin: 0 0 var(--space-1);
        font-size: var(--fs-lg);
        font-weight: var(--fw-semibold);
        line-height: var(--lh-snug);
        color: var(--ink-text, var(--text-primary));
    }

    .flow-step__text {
        margin: 0;
        font-size: var(--fs-sm);
        line-height: var(--lh-normal);
        color: var(--ink-text-soft, var(--text-secondary));
    }

    @media (min-width: 1081px) {
        .flow-step:not(:last-child)::after {
            content: '';
            position: absolute;
            top: 42px;
            left: 100%;
            width: var(--space-4);
            height: 1px;
            background: var(--ink-line-strong, var(--border-default));
        }

    }

    .benefit-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: var(--space-4);
    }

    .benefit-card {
        display: flex;
        flex-direction: column;
        gap: var(--space-3);
        padding: var(--space-5);
        border: 1px solid var(--panel-border, var(--border-subtle));
        border-radius: var(--tech-r, var(--r-md));
        background: var(--panel-bg, var(--surface-1));
        box-shadow: var(--panel-shadow, var(--sh-1));
        transition: transform var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out);
    }

    .benefit-card:hover {
        transform: translateY(-3px);
        border-color: color-mix(in srgb, var(--tech-blue, var(--accent)) 34%, var(--panel-border, var(--border-subtle)));
        box-shadow: var(--panel-shadow-hover, var(--sh-2));
    }

    .benefit-card__icon {
        display: grid;
        place-items: center;
        width: 44px;
        height: 44px;
        border-radius: var(--tech-r-sm, var(--r-sm));
        background: var(--tech-gradient-soft, var(--accent-soft-bg));
        color: var(--tech-blue, var(--accent));
        font-size: var(--fs-lg);
    }

    .benefit-card__title {
        margin: 0;
        font-size: var(--fs-md);
        font-weight: var(--fw-semibold);
        line-height: var(--lh-snug);
        color: var(--ink-text, var(--text-primary));
    }

    .benefit-card__text {
        margin: 0;
        font-size: var(--fs-sm);
        line-height: var(--lh-normal);
        color: var(--ink-text-soft, var(--text-secondary));
    }

    .cta-panel {
        position: relative;
        overflow: hidden;
        padding: var(--space-6);
        border: 1px solid var(--panel-border, var(--border-subtle));
        border-radius: var(--tech-r-lg, var(--r-lg));
        background: var(--panel-bg, var(--surface-1));
        box-shadow: var(--panel-shadow, var(--sh-2));
    }

    .cta-panel::before {
        content: '';
        position: absolute;
        top: -35%;
        right: -15%;
        width: 520px;
        height: 420px;
        background: radial-gradient(closest-side, color-mix(in srgb, var(--tech-blue, var(--accent)) 18%, transparent), transparent);
        pointer-events: none;
    }

    .cta-panel > * {
        position: relative;
    }

    .cta-panel__head {
        max-width: 62ch;
        margin-bottom: var(--space-5);
    }

    .cta-panel__title {
        margin: 0 0 var(--space-2);
        font-size: var(--fs-2xl);
        font-weight: var(--fw-bold);
        line-height: var(--lh-tight);
        letter-spacing: -.02em;
        color: var(--ink-text, var(--text-primary));
    }

    .cta-panel__lead {
        margin: 0;
        font-size: var(--fs-md);
        line-height: var(--lh-normal);
        color: var(--ink-text-soft, var(--text-secondary));
    }

    .cta-panel__actions {
        display: flex;
        flex-wrap: wrap;
        gap: var(--space-3);
        margin-top: var(--space-5);
    }

    .cta-panel__actions .btn-primary,
    .cta-panel__actions .btn-secondary {
        text-decoration: none;
    }

    .contact-card__value {
        overflow-wrap: anywhere;
    }

    .status-line {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: var(--space-2) var(--space-3);
        margin: var(--space-6) 0 0;
        font-size: var(--fs-xs);
        color: var(--ink-text-muted, var(--text-muted));
    }

    .status-line__item {
        display: inline-flex;
        align-items: center;
        gap: var(--space-2);
    }

    .status-line__sep {
        color: var(--ink-line-strong, var(--border-default));
    }

    .status-line a {
        color: var(--tech-blue, var(--accent));
        text-decoration: none;
    }

    .status-line a:hover {
        text-decoration: underline;
    }

    .auth-shell {
        display: block;
        width: 100%;
        max-width: 470px;
        margin: var(--space-5) auto var(--space-7);
    }

    .auth-shell--wide {
        max-width: 560px;
    }

    .auth-card {
        padding: var(--space-6);
    }

    .auth-head {
        display: flex;
        align-items: center;
        gap: var(--space-3);
        padding-bottom: var(--space-4);
        margin-bottom: var(--space-5);
        border-bottom: 1px solid var(--ink-line, var(--border-subtle));
    }

    .auth-head__logo {
        height: 30px;
        width: auto;
        flex: 0 0 auto;
    }

    .auth-head__meta {
        display: flex;
        flex-direction: column;
        gap: 2px;
        min-width: 0;
    }

    .auth-head__brand {
        font-size: var(--fs-sm);
        font-weight: var(--fw-semibold);
        letter-spacing: -.01em;
        color: var(--ink-text, var(--text-primary));
    }

    .auth-head__note {
        font-size: var(--fs-xs);
        color: var(--ink-text-muted, var(--text-muted));
    }

    .field-icon {
        position: relative;
        display: block;
    }

    .field-icon__glyph {
        position: absolute;
        top: 50%;
        left: var(--space-3);
        transform: translateY(-50%);
        font-size: var(--fs-sm);
        color: var(--ink-text-muted, var(--text-muted));
        pointer-events: none;
    }

    .field-icon .form-control {
        padding-left: calc(var(--space-3) + 22px);
    }

    .otp-input {
        font-family: ui-monospace, 'SF Mono', 'JetBrains Mono', 'Cascadia Mono', Consolas, monospace;
        font-size: clamp(20px, 5vw, 28px);
        font-weight: var(--fw-semibold);
        letter-spacing: .34em;
        text-indent: .17em;
        font-variant-numeric: tabular-nums;
    }

    .otp-timer {
        display: block;
        height: 3px;
        margin-top: var(--space-2);
        border-radius: var(--r-full);
        background: var(--ink-line, var(--border-subtle));
        overflow: hidden;
    }

    .otp-timer__fill {
        display: block;
        width: 100%;
        height: 100%;
        transform-origin: left center;
        background: var(--tech-gradient, var(--accent));
        animation: otp-tick 30s linear infinite;
    }

    @keyframes otp-tick {
        from { transform: scaleX(1); }
        to   { transform: scaleX(0); }
    }

    .auth-note {
        display: flex;
        gap: var(--space-3);
        margin: var(--space-5) 0 0;
        padding: var(--space-3) var(--space-4);
        border: 1px solid var(--ink-line, var(--border-subtle));
        border-radius: var(--tech-r-sm, var(--r-sm));
        background: color-mix(in srgb, var(--ink-2, var(--bg-muted)) 55%, transparent);
        font-size: var(--fs-xs);
        line-height: var(--lh-normal);
        color: var(--ink-text-soft, var(--text-secondary));
    }

    .auth-note i {
        margin-top: 2px;
        color: var(--tech-cyan, var(--info));
    }

    .auth-note a {
        color: var(--tech-blue, var(--accent));
    }

    .auth-alt__text {
        font-size: var(--fs-sm);
        color: var(--ink-text-muted, var(--text-muted));
    }

    .auth-details {
        padding: var(--space-1) var(--space-4) var(--space-3);
        border: 1px solid var(--ink-line, var(--border-subtle));
        border-radius: var(--tech-r-sm, var(--r-sm));
        background: color-mix(in srgb, var(--ink-2, var(--bg-muted)) 40%, transparent);
    }

    .auth-details__summary {
        cursor: pointer;
        font-size: var(--fs-sm);
        font-weight: var(--fw-medium);
        color: var(--ink-text-soft, var(--text-secondary));
    }

    .auth-details__summary:focus-visible {
        outline: 2px solid var(--tech-blue, var(--accent));
        outline-offset: 2px;
        border-radius: var(--r-sm);
    }

    .auth-details[open] .auth-details__summary {
        margin-bottom: var(--space-3);
    }

    .auth-card .form-control {
        min-height: 46px;
    }

    .auth-card .btn--sm {
        min-height: 44px;
        padding-inline: var(--space-4);
    }

    .auth-details__summary {
        min-height: 44px;
        padding: var(--space-3) 0;
    }

    @media (max-width: 1080px) {
        .hero-tech__grid {
            grid-template-columns: minmax(0, 1fr);
            gap: var(--space-6);
        }

        .metrics-strip {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .dir-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .flow-steps {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .benefit-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

    }

    @media (max-width: 720px) {
        .hero-tech__title {
            letter-spacing: -.02em;
        }

        .hero-tech__actions {
            flex-direction: column;
            align-items: stretch;
        }

        .hero-tech__actions .btn-primary,
        .hero-tech__actions .btn-secondary {
            width: 100%;
            justify-content: center;
            min-height: var(--control-h-lg);
        }

        .metrics-strip,
        .dir-grid,
        .flow-steps,
        .benefit-grid {
            grid-template-columns: 1fr;
        }

        .netmap {
            padding: var(--space-3);
        }

        .netmap__node-caption {
            display: none;
        }

        .cta-panel {
            padding: var(--space-5) var(--space-4);
        }

        .cta-panel__actions {
            flex-direction: column;
            align-items: stretch;
        }

        .cta-panel__actions .btn-primary,
        .cta-panel__actions .btn-secondary {
            width: 100%;
            justify-content: center;
            min-height: var(--control-h-lg);
        }

        .auth-card {
            padding: var(--space-5) var(--space-4);
        }

        .auth-head {
            flex-wrap: wrap;
        }

        .status-line {
            justify-content: flex-start;
        }

    }

    @media (hover: none) {
        .benefit-card:hover {
            transform: none;
        }

    }

    @media (max-width: 768px) {
        input.form-control,
        select.form-control,
        textarea.form-control,
        input.form-select,
        select.form-select,
        .form-control,
        .form-select,
        .token-input {
            font-size: 16px;
        }

        .otp-input {
            font-size: 20px;
            letter-spacing: .3em;
        }

    }

/* ==========================================================================
   ЧАСТЬ 6 · ВИТРИНА И ОПЛАТА
   ========================================================================== */

    .product-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
        gap: var(--space-4, 16px);
        margin-top: var(--space-4, 16px);
    }

    .product-card {
        display: flex;
        flex-direction: column;
        background: var(--panel-bg);
        border: 1px solid var(--panel-border);
        border-radius: var(--tech-r, 14px);
        overflow: hidden;
        transition: transform var(--tech-dur, 220ms) var(--tech-ease, ease), box-shadow var(--tech-dur, 220ms) var(--tech-ease, ease), border-color var(--tech-dur, 220ms) var(--tech-ease, ease);
    }

    .product-card:hover {
        transform: translateY(-3px);
        box-shadow: var(--panel-shadow-hover, 0 18px 40px -18px rgba(0, 0, 0, .45));
        border-color: color-mix(in srgb, var(--tech-blue, #2563eb) 34%, var(--panel-border));
    }

    .product-card__media {
        position: relative;
        display: block;
        aspect-ratio: 4 / 3;
        background: color-mix(in srgb, var(--ink-2, #eaeff9) 70%, transparent);
        overflow: hidden;
    }

    .product-card__media img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        transition: transform 420ms var(--tech-ease, ease);
    }

    .product-card:hover .product-card__media img {
        transform: scale(1.04);
    }

    .product-card__placeholder {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
        font-size: 34px;
        color: var(--ink-text-muted, #68768f);
        opacity: .55;
    }

    .product-card__badges {
        position: absolute;
        top: 10px;
        left: 10px;
        right: 10px;
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        pointer-events: none;
    }

    .product-card__body {
        display: flex;
        flex-direction: column;
        gap: var(--space-2, 8px);
        padding: var(--space-3, 12px) var(--space-4, 16px) var(--space-4, 16px);
        flex: 1 1 auto;
    }

    .product-card__meta {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: var(--space-2, 8px);
        font-size: var(--fs-xs, 12px);
        color: var(--ink-text-muted, #68768f);
        text-transform: uppercase;
        letter-spacing: .04em;
    }

    .product-card__title {
        margin: 0;
        font-size: var(--fs-md, 17px);
        line-height: 1.32;
        font-weight: 600;
    }

    .product-card__title a {
        color: var(--ink-text, #0d1526);
        text-decoration: none;
    }

    .product-card__title a:hover {
        color: var(--tech-blue, #2563eb);
    }

    .product-card__text {
        margin: 0;
        font-size: var(--fs-sm, 13px);
        line-height: 1.5;
        color: var(--ink-text-soft, #414f68);
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .product-card__foot {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: var(--space-2, 8px);
        margin-top: auto;
        padding-top: var(--space-2, 8px);
    }

    .product-card__price {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        gap: 6px;
        font-size: var(--fs-md, 17px);
        font-weight: 600;
        color: var(--ink-text, #0d1526);
    }

    .product-card__price small {
        font-size: var(--fs-xs, 12px);
        color: var(--ink-text-muted, #68768f);
        font-weight: 400;
    }

    .product-card__old {
        font-size: var(--fs-xs, 12px);
        color: var(--ink-text-muted, #68768f);
        font-weight: 400;
        text-decoration: line-through;
        white-space: nowrap;
    }

    .tag {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        padding: 3px 8px;
        border-radius: var(--r-full, 999px);
        font-size: var(--fs-xs, 12px);
        font-weight: 600;
        background: color-mix(in srgb, var(--ink-3, #dfe6f4) 80%, transparent);
        color: var(--ink-text-soft, #414f68);
        border: 1px solid var(--ink-line, rgba(13, 21, 38, .1));
    }

    .tag--accent {
        background: color-mix(in srgb, var(--tech-warn, #ea580c) 16%, transparent);
        color: var(--tech-warn, #ea580c);
        border-color: color-mix(in srgb, var(--tech-warn, #ea580c) 34%, transparent);
    }

    .tag--live {
        background: color-mix(in srgb, var(--tech-cyan, #0891b2) 16%, transparent);
        color: var(--tech-cyan, #0891b2);
        border-color: color-mix(in srgb, var(--tech-cyan, #0891b2) 34%, transparent);
    }

    .filter-panel {
        margin-top: var(--space-4, 16px);
        padding: var(--space-4, 16px);
        background: var(--panel-bg);
        border: 1px solid var(--panel-border);
        border-radius: var(--tech-r, 14px);
        backdrop-filter: blur(12px);
    }

    .filter-grid {
        display: grid;
        grid-template-columns: 2fr 1fr 1fr 1.4fr;
        gap: var(--space-3, 12px);
        align-items: end;
    }

    .filter-checks {
        display: flex;
        flex-direction: column;
        gap: var(--space-2, 8px);
    }

    .breadcrumbs {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: var(--space-2, 8px);
        margin: var(--space-4, 16px) 0;
        font-size: var(--fs-sm, 13px);
        color: var(--ink-text-muted, #68768f);
    }

    .breadcrumbs a {
        color: var(--ink-text-soft, #414f68);
        text-decoration: none;
    }

    .breadcrumbs a:hover {
        color: var(--tech-blue, #2563eb);
    }

    .product-view {
        display: grid;
        grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
        gap: var(--space-5, 24px);
        align-items: start;
    }

    .product-gallery__stage {
        position: relative;
        border-radius: var(--tech-r, 14px);
        overflow: hidden;
        background: color-mix(in srgb, var(--ink-2, #eaeff9) 70%, transparent);
        border: 1px solid var(--panel-border);
        aspect-ratio: 4 / 3;
    }

    .product-gallery__stage img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        display: block;
        background: color-mix(in srgb, var(--ink-1, #fff) 40%, transparent);
    }

    .product-gallery__stage--empty {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: var(--space-2, 8px);
        color: var(--ink-text-muted, #68768f);
        font-size: 40px;
    }

    .product-gallery__stage--empty p {
        font-size: var(--fs-sm, 13px);
        margin: 0;
    }

    .product-gallery__views {
        position: absolute;
        right: 10px;
        bottom: 10px;
        padding: 3px 8px;
        border-radius: var(--r-full, 999px);
        font-size: var(--fs-xs, 12px);
        background: color-mix(in srgb, var(--ink-0, #060a14) 70%, transparent);
        color: #fff;
    }

    .product-gallery__thumbs {
        display: flex;
        flex-wrap: wrap;
        gap: var(--space-2, 8px);
        margin: var(--space-3, 12px) 0 0;
        padding: 0;
        list-style: none;
    }

    .gallery-thumb {
        padding: 0;
        width: 84px;
        height: 64px;
        border-radius: var(--tech-r-sm, 10px);
        overflow: hidden;
        border: 2px solid transparent;
        background: none;
        cursor: pointer;
        transition: border-color 160ms var(--tech-ease, ease), transform 160ms var(--tech-ease, ease);
    }

    .gallery-thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    .gallery-thumb:hover {
        transform: translateY(-2px);
    }

    .gallery-thumb.is-active {
        border-color: var(--tech-blue, #2563eb);
        box-shadow: 0 0 0 3px color-mix(in srgb, var(--tech-blue, #2563eb) 22%, transparent);
    }

    .product-info__head {
        display: flex;
        flex-wrap: wrap;
        gap: var(--space-2, 8px);
        align-items: center;
        margin-bottom: var(--space-3, 12px);
    }

    .product-info__title {
        margin: 0 0 var(--space-2, 8px);
        font-size: clamp(22px, 2.4vw, 30px);
        line-height: 1.2;
        font-weight: 650;
    }

    .product-info__sub {
        margin: 0 0 var(--space-3, 12px);
        font-size: var(--fs-sm, 13px);
        color: var(--ink-text-muted, #68768f);
    }

    .product-info__price {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        gap: var(--space-2, 8px);
        margin-bottom: var(--space-3, 12px);
    }

    .product-info__price > .u-mono {
        font-size: clamp(26px, 3vw, 36px);
        font-weight: 650;
        line-height: 1;
    }

    .product-info__currency {
        font-size: var(--fs-sm, 13px);
        color: var(--ink-text-muted, #68768f);
    }

    .product-info__old {
        font-size: var(--fs-md, 17px);
        color: var(--ink-text-muted, #68768f);
    }

    .product-info__lead {
        margin: 0 0 var(--space-4, 16px);
        font-size: var(--fs-base, 15px);
        line-height: 1.6;
        color: var(--ink-text-soft, #414f68);
    }

    .product-info__actions {
        display: flex;
        flex-wrap: wrap;
        gap: var(--space-2, 8px);
        margin-bottom: var(--space-4, 16px);
    }

    .product-info__videos {
        margin-top: var(--space-4, 16px);
    }

    .section__title--sm {
        font-size: var(--fs-md, 17px);
        margin-bottom: var(--space-2, 8px);
    }

    .video-frame {
        margin-bottom: var(--space-3, 12px);
        border-radius: var(--tech-r, 14px);
        overflow: hidden;
        border: 1px solid var(--panel-border);
        background: #000;
    }

    .video-frame iframe {
        display: block;
        width: 100%;
        aspect-ratio: 16 / 9;
        border: 0;
    }

    .video-frame__caption {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: var(--space-2, 8px);
        margin: 0;
        padding: var(--space-2, 8px) var(--space-3, 12px);
        font-size: var(--fs-sm, 13px);
        color: var(--ink-text-soft, #414f68);
        background: var(--panel-bg);
    }

    .video-frame__link {
        font-size: var(--fs-xs, 12px);
        color: var(--tech-blue, #2563eb);
        text-decoration: none;
        border-bottom: 1px dashed color-mix(in srgb, var(--tech-blue, #2563eb) 45%, transparent);
    }

    .product-details {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
        gap: var(--space-4, 16px);
    }

    .product-details__text {
        font-size: var(--fs-base, 15px);
        line-height: 1.65;
        color: var(--ink-text-soft, #414f68);
    }

    .spec-list {
        margin: 0;
    }

    .spec-list__row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
        gap: var(--space-3, 12px);
        padding: var(--space-2, 8px) 0;
        border-bottom: 1px solid var(--ink-line, rgba(13, 21, 38, .1));
    }

    .spec-list__row:last-child {
        border-bottom: 0;
    }

    .spec-list dt {
        color: var(--ink-text-muted, #68768f);
        font-size: var(--fs-sm, 13px);
    }

    .spec-list dd {
        margin: 0;
        font-size: var(--fs-sm, 13px);
        color: var(--ink-text, #0d1526);
    }

    .media-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
        gap: var(--space-3, 12px);
        margin: var(--space-3, 12px) 0 0;
        padding: 0;
        list-style: none;
    }

    .media-tile {
        position: relative;
        border: 1px solid var(--panel-border);
        border-radius: var(--tech-r-sm, 10px);
        overflow: hidden;
        background: var(--panel-bg);
    }

    .media-tile--main {
        border-color: color-mix(in srgb, var(--tech-blue, #2563eb) 50%, transparent);
        box-shadow: 0 0 0 2px color-mix(in srgb, var(--tech-blue, #2563eb) 18%, transparent);
    }

    .media-tile img {
        display: block;
        width: 100%;
        height: 110px;
        object-fit: cover;
    }

    .media-tile__badge {
        position: absolute;
        top: 6px;
        left: 6px;
        padding: 2px 7px;
        border-radius: var(--r-full, 999px);
        font-size: 11px;
        font-weight: 600;
        background: var(--tech-blue, #2563eb);
        color: #fff;
    }

    .media-tile__meta {
        padding: 4px 8px;
        font-size: 11px;
        color: var(--ink-text-muted, #68768f);
    }

    .media-tile__actions {
        display: flex;
        gap: 4px;
        padding: 0 6px 6px;
    }

    .btn-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 34px;
        height: 34px;
        border-radius: var(--tech-r-sm, 10px);
        border: 1px solid var(--ink-line-strong, rgba(13, 21, 38, .18));
        background: color-mix(in srgb, var(--ink-1, #fff) 60%, transparent);
        color: var(--ink-text-soft, #414f68);
        cursor: pointer;
        transition: border-color 160ms var(--tech-ease, ease), color 160ms var(--tech-ease, ease);
    }

    .btn-icon:hover:not(:disabled) {
        border-color: color-mix(in srgb, var(--tech-blue, #2563eb) 50%, transparent);
        color: var(--tech-blue, #2563eb);
    }

    .btn-icon:disabled {
        opacity: .4;
        cursor: not-allowed;
    }

    .btn-icon--danger:hover:not(:disabled) {
        border-color: color-mix(in srgb, var(--tech-warn, #ea580c) 55%, transparent);
        color: var(--tech-warn, #ea580c);
    }

    .video-list {
        margin: var(--space-2, 8px) 0 0;
        padding: 0;
        list-style: none;
    }

    .video-list__item {
        display: flex;
        align-items: center;
        gap: var(--space-2, 8px);
        padding: var(--space-2, 8px) 0;
        border-bottom: 1px solid var(--ink-line, rgba(13, 21, 38, .1));
        font-size: var(--fs-sm, 13px);
    }

    .video-list__item a {
        margin-left: auto;
        color: var(--tech-blue, #2563eb);
    }

    .product-cell {
        display: flex;
        align-items: center;
        gap: var(--space-2, 8px);
    }

    .product-cell__img {
        width: 48px;
        height: 48px;
        border-radius: var(--tech-r-sm, 10px);
        object-fit: cover;
        flex: 0 0 auto;
    }

    .product-cell__img--empty {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: color-mix(in srgb, var(--ink-2, #eaeff9) 80%, transparent);
        color: var(--ink-text-muted, #68768f);
    }

    .crm-stats {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
        gap: var(--space-3, 12px);
        margin: var(--space-4, 16px) 0;
    }

    .ma-row--editing {
        background: color-mix(in srgb, var(--tech-blue, #2563eb) 7%, transparent);
    }

    .payment-actions {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: var(--space-2, 8px);
        margin: var(--space-3, 12px) 0;
    }

    .pay-qr {
        margin: var(--space-3, 12px) 0;
        padding: var(--space-3, 12px);
        border: 1px solid var(--panel-border);
        border-radius: var(--tech-r, 14px);
        background: var(--panel-bg);
    }

    .pay-qr > summary {
        cursor: pointer;
        font-weight: 600;
        display: flex;
        align-items: center;
        gap: var(--space-2, 8px);
        min-height: 44px;
    }

    .pay-qr__body {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        gap: var(--space-4, 16px);
        margin-top: var(--space-3, 12px);
    }

    .pay-qr__body img {
        border-radius: var(--tech-r-sm, 10px);
        background: #fff;
        padding: 8px;
        width: 200px;
        height: 200px;
        object-fit: contain;
    }

    .pay-qr__info p {
        margin: 0 0 4px;
        font-size: var(--fs-sm, 13px);
    }

    @media (max-width: 1080px) {
        .filter-grid {
            grid-template-columns: 1fr 1fr;
        }

        .product-view {
            grid-template-columns: 1fr;
        }

    }

    @media (max-width: 720px) {
        .product-grid {
            grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
            gap: 10px;
        }

        .filter-grid {
            grid-template-columns: 1fr;
        }

        .product-card__body {
            padding: 10px 12px 12px;
        }

        .product-card__title {
            font-size: var(--fs-sm, 13px);
        }

        .product-card__foot {
            flex-direction: column;
            align-items: stretch;
        }

        .gallery-thumb {
            width: 68px;
            height: 52px;
        }

        .spec-list__row {
            grid-template-columns: 1fr;
            gap: 2px;
        }

        .product-info__actions {
            flex-direction: column;
            align-items: stretch;
        }

        .product-info__actions .btn-primary,
        .product-info__actions .btn-secondary {
            justify-content: center;
        }

        .media-grid {
            grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
        }

    }

    @media (hover: none) {
        .product-card:hover {
            transform: none;
        }

        .product-card:hover .product-card__media img {
            transform: none;
        }

    }

/* ==========================================================================
   ЧАСТЬ 7 · ВИЗУАЛЬНЫЙ СЛОЙ SIGNAL
   ========================================================================== */

    body {
        --ui-r-xs: 8px;
        --ui-r-sm: 10px;
        --ui-r-md: 14px;
        --ui-r-lg: 18px;
        --ui-r-xl: 24px;
        --ui-r-2xl: 28px;
        --ui-ease: cubic-bezier(0.22, 1, 0.36, 1);
        --ui-fast: 150ms;
        --ui-base: 240ms;
        --ui-slow: 420ms;
        --ui-nav-h: 68px;
        --ui-gutter: clamp(16px, 3.2vw, 40px);
        --ui-page-max: 1360px;
    }

    [data-theme="dark"] body {
        --ui-canvas: #05070e;
        --ui-panel: rgba(15, 21, 35, 0.72);
        --ui-panel-solid: #0d1322;
        --ui-panel-2: rgba(23, 31, 49, 0.66);
        --ui-panel-3: rgba(31, 41, 64, 0.6);
        --ui-hairline: rgba(255, 255, 255, 0.075);
        --ui-hairline-strong: rgba(255, 255, 255, 0.14);
        --ui-text: #e9eefa;
        --ui-text-2: #a5b3cb;
        --ui-text-3: #74839d;
        --ui-accent: #4d8eff;
        --ui-accent-2: #22d3ee;
        --ui-grad: linear-gradient(135deg, #4d8eff 0%, #22d3ee 100%);
        --ui-grad-soft: linear-gradient(135deg, rgba(77, 142, 255, 0.16) 0%, rgba(34, 211, 238, 0.10) 100%);
        --ui-glow: 0 12px 34px -14px rgba(77, 142, 255, 0.65);
        --ui-shadow-1: 0 1px 2px rgba(0, 0, 0, 0.45);
        --ui-shadow-2: 0 10px 28px -14px rgba(0, 0, 0, 0.7);
        --ui-shadow-3: 0 28px 64px -26px rgba(0, 0, 0, 0.8);
        --ui-inset: inset 0 1px 0 rgba(255, 255, 255, 0.06);
        --ui-field-bg: rgba(255, 255, 255, 0.035);
        --ui-field-bg-hover: rgba(255, 255, 255, 0.06);
        --ui-row-hover: rgba(255, 255, 255, 0.035);
        --ui-aurora-1: rgba(77, 142, 255, 0.16);
        --ui-aurora-2: rgba(34, 211, 238, 0.13);
        --ui-aurora-3: rgba(124, 92, 255, 0.12);
    }

    [data-theme="light"] body {
        --ui-canvas: #f3f6fc;
        --ui-panel: rgba(255, 255, 255, 0.88);
        --ui-panel-solid: #ffffff;
        --ui-panel-2: #f8fafd;
        --ui-panel-3: #eef3fa;
        --ui-hairline: rgba(13, 21, 38, 0.09);
        --ui-hairline-strong: rgba(13, 21, 38, 0.16);
        --ui-text: #0b1220;
        --ui-text-2: #46556e;
        --ui-text-3: #6b7a90;
        --ui-accent: #2563eb;
        --ui-accent-2: #0891b2;
        --ui-grad: linear-gradient(135deg, #2563eb 0%, #0891b2 100%);
        --ui-grad-soft: linear-gradient(135deg, rgba(37, 99, 235, 0.10) 0%, rgba(8, 145, 178, 0.07) 100%);
        --ui-glow: 0 12px 28px -16px rgba(37, 99, 235, 0.55);
        --ui-shadow-1: 0 1px 2px rgba(16, 24, 40, 0.06);
        --ui-shadow-2: 0 12px 28px -16px rgba(16, 24, 40, 0.18);
        --ui-shadow-3: 0 28px 64px -28px rgba(16, 24, 40, 0.26);
        --ui-inset: inset 0 1px 0 rgba(255, 255, 255, 0.9);
        --ui-field-bg: #ffffff;
        --ui-field-bg-hover: #ffffff;
        --ui-row-hover: rgba(37, 99, 235, 0.04);
        --ui-aurora-1: rgba(37, 99, 235, 0.10);
        --ui-aurora-2: rgba(8, 145, 178, 0.08);
        --ui-aurora-3: rgba(124, 92, 255, 0.07);
    }

    body {
        background-color: var(--ui-canvas);
        color: var(--ui-text);
        font-family: var(--font, 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);
        font-size: 15px;
        line-height: 1.6;
        letter-spacing: -0.005em;
    }

    body::before {
        content: '';
        position: fixed;
        inset: 0;
        z-index: -1;
        pointer-events: none;
        background-image: radial-gradient(760px 460px at 8% -10%, var(--ui-aurora-1), transparent 68%), radial-gradient(680px 420px at 94% 2%, var(--ui-aurora-2), transparent 70%), radial-gradient(900px 520px at 50% 108%, var(--ui-aurora-3), transparent 72%), linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
        background-size: auto, auto, auto, var(--grid-size) var(--grid-size), var(--grid-size) var(--grid-size);
        background-position: 0 0, 0 0, 0 0, -1px -1px, -1px -1px;
        mask-image: linear-gradient(180deg, #000 0%, #000 62%, transparent 100%);
        -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 62%, transparent 100%);
    }

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        letter-spacing: -0.022em;
        text-wrap: balance;
    }

    p {
        text-wrap: pretty;
    }

    .kpi-card__value,
    .stat-value,
    .ma-kpi__value,
    .table td.u-num,
    .table th.u-num,
    .money-nowrap,
    .price-highlight,
    .service-row-price,
    .order-hero__number,
    .auth-head .version-tag {
        font-variant-numeric: tabular-nums;
        font-feature-settings: 'tnum' 1, 'cv02', 'cv03', 'cv04';
    }

    .u-mono,
    .netmap__bar-meta,
    .order-hero__number {
        font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
        letter-spacing: 0.02em;
    }

    .main-container a:not([class]) {
        color: var(--ui-accent);
        text-decoration-color: color-mix(in srgb, var(--ui-accent) 40%, transparent);
        text-underline-offset: 3px;
    }

    .main-container a:not([class]):hover {
        text-decoration-color: var(--ui-accent);
    }

    .navbar-glass {
        height: var(--ui-nav-h);
        min-height: var(--ui-nav-h);
        background: color-mix(in srgb, var(--ui-panel-solid) 72%, transparent);
        -webkit-backdrop-filter: blur(22px) saturate(170%);
        backdrop-filter: blur(22px) saturate(170%);
        border-bottom: 1px solid var(--ui-hairline);
        box-shadow: 0 1px 0 rgba(255, 255, 255, 0.03);
    }

    .navbar-glass .container {
        height: 100%;
        max-width: none;
        padding-inline: clamp(12px, 2.2vw, 28px);
        gap: 18px;
    }

    .brand-logo .logo-img,
    .navbar-glass .logo-img {
        height: 34px;
        width: auto;
    }

    .nav-links {
        gap: 4px;
        align-items: center;
    }

    .nav-link-btn {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        height: 36px;
        padding: 0 11px;
        border-radius: var(--ui-r-sm);
        font-size: 13px;
        font-weight: 550;
        color: var(--ui-text-2);
        background: transparent;
        border: 1px solid transparent;
        transition: color var(--ui-fast) var(--ui-ease), background var(--ui-fast) var(--ui-ease), border-color var(--ui-fast) var(--ui-ease), transform var(--ui-fast) var(--ui-ease);
    }

    .nav-link-btn i {
        font-size: 12.5px;
        opacity: 0.85;
    }

    .nav-link-btn:hover {
        color: var(--ui-text);
        background: var(--ui-field-bg-hover);
        border-color: var(--ui-hairline);
    }

    .nav-link-btn.active {
        color: var(--ui-accent);
        background: color-mix(in srgb, var(--ui-accent) 12%, transparent);
        border-color: color-mix(in srgb, var(--ui-accent) 26%, transparent);
    }

    .nav-link-btn-primary {
        color: #fff;
        background-image: var(--ui-grad);
        border-color: transparent;
        box-shadow: var(--ui-glow);
    }

    .nav-link-btn-primary:hover {
        color: #fff;
        background-image: var(--ui-grad);
        filter: brightness(1.07);
        transform: translateY(-1px);
        border-color: transparent;
    }

    .nav-link-btn-primary i {
        opacity: 1;
    }

    .nav-call-btn,
    .theme-toggle {
        width: 36px;
        height: 36px;
        border-radius: 999px;
        display: inline-grid;
        place-items: center;
        border: 1px solid var(--ui-hairline);
        background: var(--ui-field-bg);
        color: var(--ui-text-2);
        transition: color var(--ui-fast) var(--ui-ease), border-color var(--ui-fast) var(--ui-ease), background var(--ui-fast) var(--ui-ease), transform var(--ui-fast) var(--ui-ease);
    }

    .nav-call-btn:hover,
    .theme-toggle:hover {
        color: var(--ui-accent);
        border-color: color-mix(in srgb, var(--ui-accent) 34%, transparent);
        background: color-mix(in srgb, var(--ui-accent) 10%, transparent);
        transform: translateY(-1px);
    }

    .nav-call-btn i,
    .theme-toggle i {
        font-size: 13.5px;
    }

    .hamburger {
        border-radius: var(--ui-r-sm);
    }

    .mobile-menu {
        background: color-mix(in srgb, var(--ui-panel-solid) 96%, transparent);
        -webkit-backdrop-filter: blur(24px);
        backdrop-filter: blur(24px);
    }

    .menu-item {
        border-radius: var(--ui-r-sm);
        transition: background var(--ui-fast) var(--ui-ease), color var(--ui-fast) var(--ui-ease);
    }

    .menu-item:hover {
        background: var(--ui-field-bg-hover);
    }

    .main-container {
        width: 100%;
        max-width: var(--ui-page-max);
        margin-inline: auto;
        padding: clamp(18px, 2.4vw, 30px) var(--ui-gutter) 72px;
    }

    .main-container > .glass-card + .glass-card,
    .main-container > .card + .card,
    .main-container > .glass-card + .kpi-grid,
    .main-container > .kpi-grid + .glass-card,
    .main-container > .ma-actions + .glass-card,
    .main-container > .contact-strip + .glass-card {
        margin-top: 18px;
    }

    .glass-card,
    .card {
        position: relative;
        padding: clamp(18px, 2.1vw, 26px);
        border-radius: var(--ui-r-xl);
        border: 1px solid var(--ui-hairline);
        background: var(--ui-panel);
        -webkit-backdrop-filter: blur(16px) saturate(140%);
        backdrop-filter: blur(16px) saturate(140%);
        box-shadow: var(--ui-shadow-1), var(--ui-inset);
        transition: border-color var(--ui-base) var(--ui-ease), box-shadow var(--ui-base) var(--ui-ease), transform var(--ui-base) var(--ui-ease);
    }

    .glass-card::after,
    .card::after {
        content: '';
        position: absolute;
        inset: 0 0 auto 0;
        height: 1px;
        border-radius: var(--ui-r-xl) var(--ui-r-xl) 0 0;
        background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.16) 22%, rgba(255, 255, 255, 0.16) 78%, transparent 100%);
        pointer-events: none;
        opacity: 0.55;
    }

    [data-theme="light"] .glass-card::after,
    [data-theme="light"] .card::after {
        background: linear-gradient(90deg, transparent, rgba(13, 21, 38, 0.06), transparent);
    }

    .glass-card:hover,
    .card:hover {
        border-color: var(--ui-hairline-strong);
        box-shadow: var(--ui-shadow-2), var(--ui-inset);
    }

    a.glass-card:hover,
    a.card:hover,
    .glass-card--link:hover {
        transform: translateY(-2px);
        border-color: color-mix(in srgb, var(--ui-accent) 32%, var(--ui-hairline));
    }

    .glass-card--primary {
        background: var(--ui-grad-soft), var(--ui-panel);
        border-color: color-mix(in srgb, var(--ui-accent) 26%, var(--ui-hairline));
        box-shadow: var(--ui-shadow-2), var(--ui-inset);
    }

    .glass-card--primary::after {
        background: linear-gradient(90deg, transparent, var(--ui-accent), transparent);
        opacity: 0.35;
    }

    .card--static,
    .card--static:hover {
        transform: none;
        box-shadow: var(--ui-shadow-1), var(--ui-inset);
        border-color: var(--ui-hairline);
    }

    .section-title {
        display: flex;
        align-items: center;
        gap: 10px;
        flex-wrap: wrap;
        margin: 0 0 16px;
        padding-bottom: 13px;
        font-size: 16px;
        font-weight: 650;
        letter-spacing: -0.015em;
        color: var(--ui-text);
        border-bottom: 1px solid var(--ui-hairline);
    }

    .section-title i {
        display: inline-grid;
        place-items: center;
        width: 26px;
        height: 26px;
        border-radius: 8px;
        font-size: 12px;
        color: var(--ui-accent);
        background: color-mix(in srgb, var(--ui-accent) 12%, transparent);
        border: 1px solid color-mix(in srgb, var(--ui-accent) 20%, transparent);
    }

    .ma-page-title {
        font-size: clamp(24px, 2.4vw, 32px);
        font-weight: 700;
        letter-spacing: -0.028em;
        line-height: 1.12;
    }

    .ma-page-sub {
        margin-top: 6px;
        font-size: 14px;
        color: var(--ui-text-2);
        max-width: 78ch;
    }

    .section__eyebrow {
        font-size: 11.5px;
        font-weight: 650;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        color: var(--ui-text-3);
    }

    .section__title {
        font-size: clamp(24px, 2.6vw, 34px);
        font-weight: 700;
        letter-spacing: -0.03em;
        line-height: 1.1;
    }

    .kpi-grid {
        gap: 14px;
    }

    .kpi-card {
        position: relative;
        padding: 18px 20px;
        border-radius: var(--ui-r-lg);
        border: 1px solid var(--ui-hairline);
        background: var(--ui-panel);
        box-shadow: var(--ui-shadow-1), var(--ui-inset);
        transition: border-color var(--ui-base) var(--ui-ease), box-shadow var(--ui-base) var(--ui-ease), transform var(--ui-base) var(--ui-ease);
    }

    .kpi-card:hover {
        transform: translateY(-2px);
        border-color: var(--ui-hairline-strong);
        box-shadow: var(--ui-shadow-2), var(--ui-inset);
    }

    .kpi-card__label {
        font-size: 10.5px;
        font-weight: 650;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        color: var(--ui-text-3);
        margin-bottom: 8px;
    }

    .kpi-card__value {
        font-size: clamp(26px, 2.2vw, 34px);
        font-weight: 700;
        line-height: 1;
        letter-spacing: -0.03em;
        background-image: var(--ui-grad);
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
        color: var(--ui-accent);
    }

    .ma-kpi__meta,
    .kpi-card__meta {
        margin-top: 8px;
        font-size: 11.5px;
        color: var(--ui-text-3);
    }

    .kpi-card--warning {
        border-left: 3px solid var(--warning);
    }

    .kpi-card--success {
        border-left: 3px solid var(--success);
    }

    .kpi-card--danger {
        border-left: 3px solid var(--danger);
    }

    .btn,
    .btn-primary,
    .btn-secondary,
    .btn-ghost,
    .btn-danger {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        min-height: 42px;
        padding: 0 18px;
        border-radius: var(--ui-r-md);
        border: 1px solid transparent;
        font-family: inherit;
        font-size: 13.5px;
        font-weight: 600;
        letter-spacing: -0.005em;
        line-height: 1;
        white-space: nowrap;
        cursor: pointer;
        transition: transform var(--ui-fast) var(--ui-ease), box-shadow var(--ui-fast) var(--ui-ease), background var(--ui-fast) var(--ui-ease), border-color var(--ui-fast) var(--ui-ease), color var(--ui-fast) var(--ui-ease), filter var(--ui-fast) var(--ui-ease);
    }

    .btn-primary {
        color: #fff;
        background-image: var(--ui-grad);
        box-shadow: var(--ui-glow);
    }

    .btn-primary:hover {
        color: #fff;
        filter: brightness(1.08);
        transform: translateY(-1px);
        box-shadow: 0 16px 38px -16px rgba(77, 142, 255, 0.7);
    }

    .btn-primary:active {
        transform: translateY(0) scale(0.992);
        filter: brightness(0.98);
    }

    .btn-secondary,
    .btn {
        color: var(--ui-text);
        background: var(--ui-field-bg);
        border-color: var(--ui-hairline);
        box-shadow: var(--ui-shadow-1);
    }

    .btn-secondary:hover,
    .btn:hover {
        color: var(--ui-text);
        background: var(--ui-field-bg-hover);
        border-color: color-mix(in srgb, var(--ui-accent) 30%, var(--ui-hairline));
        transform: translateY(-1px);
    }

    .btn-ghost {
        color: var(--ui-text-2);
        background: transparent;
        border-color: transparent;
    }

    .btn-ghost:hover {
        color: var(--ui-text);
        background: var(--ui-field-bg-hover);
    }

    .btn-danger {
        color: #fff;
        background-image: linear-gradient(135deg, #ef4444, #dc2626);
        box-shadow: 0 12px 30px -16px rgba(220, 38, 38, 0.7);
    }

    .btn-danger:hover {
        filter: brightness(1.06);
        transform: translateY(-1px);
    }

    .btn--sm {
        min-height: 32px;
        padding: 0 12px;
        font-size: 12px;
        border-radius: var(--ui-r-sm);
    }

    .btn--lg {
        min-height: 48px;
        padding: 0 24px;
        font-size: 14.5px;
        border-radius: var(--ui-r-md);
    }

    .btn--icon {
        min-width: 42px;
        padding: 0;
    }

    .btn:disabled,
    .btn-primary:disabled,
    .btn-secondary:disabled,
    .btn-danger:disabled,
    .btn[disabled],
    .btn-primary[disabled] {
        opacity: 0.55;
        cursor: not-allowed;
        transform: none;
        filter: none;
        box-shadow: none;
    }

    .form-label {
        display: block;
        margin-bottom: 7px;
        font-size: 12.5px;
        font-weight: 600;
        letter-spacing: 0.01em;
        color: var(--ui-text-2);
    }

    .form-control,
    .form-select,
    .form-select-sm {
        width: 100%;
        min-height: 44px;
        padding: 10px 14px;
        border-radius: var(--ui-r-md);
        border: 1px solid var(--ui-hairline);
        background: var(--ui-field-bg);
        color: var(--ui-text);
        font-family: inherit;
        font-size: 14px;
        transition: border-color var(--ui-fast) var(--ui-ease), box-shadow var(--ui-fast) var(--ui-ease), background var(--ui-fast) var(--ui-ease);
    }

    .form-control::placeholder {
        color: var(--ui-text-3);
    }

    .form-control:hover,
    .form-select:hover {
        border-color: var(--ui-hairline-strong);
    }

    .form-control:focus,
    .form-select:focus,
    .form-select-sm:focus {
        outline: none;
        border-color: var(--ui-accent);
        background: var(--ui-field-bg);
        box-shadow: 0 0 0 3px color-mix(in srgb, var(--ui-accent) 22%, transparent);
    }

    .field-icon .form-control {
        padding-left: 42px;
    }

    .field-icon__glyph {
        color: var(--ui-text-3);
    }

    .form-hint,
    .field__hint {
        display: block;
        margin-top: 6px;
        font-size: 11.5px;
        line-height: 1.5;
        color: var(--ui-text-3);
    }

    .form-group {
        margin-bottom: 16px;
    }

    input[type="checkbox"],
    input[type="radio"] {
        accent-color: var(--ui-accent);
        width: 15px;
        height: 15px;
    }

    .table-wrapper {
        border-radius: var(--ui-r-lg);
        border: 1px solid var(--ui-hairline);
        background: color-mix(in srgb, var(--ui-panel-solid) 55%, transparent);
        overflow: auto;
    }

    .table {
        width: 100%;
        border-collapse: separate;
        border-spacing: 0;
        font-size: 13.5px;
    }

    .table thead th {
        position: sticky;
        top: 0;
        z-index: 2;
        padding: 11px 14px;
        font-size: 10.5px;
        font-weight: 650;
        letter-spacing: 0.09em;
        text-transform: uppercase;
        color: var(--ui-text-3);
        text-align: left;
        white-space: nowrap;
        background: color-mix(in srgb, var(--ui-panel-solid) 92%, transparent);
        -webkit-backdrop-filter: blur(10px);
        backdrop-filter: blur(10px);
        border-bottom: 1px solid var(--ui-hairline);
    }

    .table tbody td {
        padding: 13px 14px;
        vertical-align: middle;
        border-bottom: 1px solid color-mix(in srgb, var(--ui-hairline) 65%, transparent);
        color: var(--ui-text);
    }

    .table tbody tr {
        transition: background var(--ui-fast) var(--ui-ease);
    }

    .table tbody tr:hover {
        background: var(--ui-row-hover);
    }

    .table tfoot td,
    .table tfoot th {
        padding: 12px 14px;
        font-weight: 650;
        border-top: 1px solid var(--ui-hairline);
        background: color-mix(in srgb, var(--ui-panel-solid) 60%, transparent);
    }

    .table caption {
        caption-side: top;
        padding: 0 0 10px;
        text-align: left;
        font-size: 12px;
        color: var(--ui-text-3);
    }

    .table a {
        font-weight: 600;
        color: var(--ui-accent);
        text-decoration: none;
    }

    .table a:hover {
        text-decoration: underline;
        text-underline-offset: 3px;
    }

    .chip,
    .tag,
    .badge {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 3px 10px;
        border-radius: 999px;
        border: 1px solid var(--ui-hairline);
        background: var(--ui-field-bg);
        color: var(--ui-text-2);
        font-size: 11.5px;
        font-weight: 600;
        line-height: 1.6;
        white-space: nowrap;
    }

    .chip i,
    .tag i,
    .badge i {
        font-size: 10px;
        opacity: 0.9;
    }

    .chip--lg {
        padding: 5px 13px;
        font-size: 12.5px;
    }

    .badge--count {
        min-width: 22px;
        justify-content: center;
        background: color-mix(in srgb, var(--ui-accent) 14%, transparent);
        border-color: color-mix(in srgb, var(--ui-accent) 26%, transparent);
        color: var(--ui-accent);
    }

    .chip--success,
    .tag--success {
        color: var(--success);
        background: color-mix(in srgb, var(--success) 12%, transparent);
        border-color: color-mix(in srgb, var(--success) 30%, transparent);
    }

    .chip--warning,
    .tag--warning {
        color: var(--warning);
        background: color-mix(in srgb, var(--warning) 12%, transparent);
        border-color: color-mix(in srgb, var(--warning) 30%, transparent);
    }

    .chip--danger,
    .tag--danger {
        color: var(--danger);
        background: color-mix(in srgb, var(--danger) 12%, transparent);
        border-color: color-mix(in srgb, var(--danger) 30%, transparent);
    }

    .chip--accent,
    .tag--accent {
        color: var(--ui-accent);
        background: color-mix(in srgb, var(--ui-accent) 12%, transparent);
        border-color: color-mix(in srgb, var(--ui-accent) 30%, transparent);
    }

    .quick-tab {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        height: 34px;
        padding: 0 13px;
        border-radius: 999px;
        border: 1px solid var(--ui-hairline);
        background: var(--ui-field-bg);
        color: var(--ui-text-2);
        font-size: 12.5px;
        font-weight: 600;
        text-decoration: none;
        transition: border-color var(--ui-fast) var(--ui-ease), background var(--ui-fast) var(--ui-ease), color var(--ui-fast) var(--ui-ease), transform var(--ui-fast) var(--ui-ease);
    }

    .quick-tab i {
        font-size: 11px;
        opacity: 0.85;
    }

    .quick-tab:hover {
        color: var(--ui-text);
        border-color: var(--ui-hairline-strong);
        background: var(--ui-field-bg-hover);
        transform: translateY(-1px);
    }

    .quick-tab.is-active,
    .quick-tab.active {
        color: #fff;
        background-image: var(--ui-grad);
        border-color: transparent;
        box-shadow: var(--ui-glow);
    }

    .quick-tab.is-active i,
    .quick-tab.active i {
        opacity: 1;
    }

    .quick-tab__count {
        display: inline-grid;
        place-items: center;
        min-width: 20px;
        height: 18px;
        padding: 0 6px;
        border-radius: 999px;
        background: color-mix(in srgb, var(--ui-text) 10%, transparent);
        font-size: 10.5px;
        font-weight: 700;
    }

    .quick-tab.is-active .quick-tab__count,
    .quick-tab.active .quick-tab__count {
        background: rgba(255, 255, 255, 0.22);
    }

    .contact-strip {
        border-radius: var(--ui-r-lg);
        border: 1px solid var(--ui-hairline);
        background: var(--ui-panel);
        box-shadow: var(--ui-shadow-1), var(--ui-inset);
    }

    .contact-chip {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        padding: 6px 12px;
        border-radius: 999px;
        border: 1px solid var(--ui-hairline);
        background: var(--ui-field-bg);
        color: var(--ui-text-2);
        font-size: 12.5px;
        font-weight: 550;
        text-decoration: none;
        transition: color var(--ui-fast) var(--ui-ease), border-color var(--ui-fast) var(--ui-ease), background var(--ui-fast) var(--ui-ease), transform var(--ui-fast) var(--ui-ease);
    }

    .contact-chip:hover {
        color: var(--ui-text);
        border-color: color-mix(in srgb, var(--ui-accent) 34%, var(--ui-hairline));
        background: var(--ui-field-bg-hover);
        transform: translateY(-1px);
    }

    .contact-chip--accent {
        color: #fff;
        background-image: var(--ui-grad);
        border-color: transparent;
        box-shadow: var(--ui-glow);
    }

    .contact-chip--accent:hover {
        color: #fff;
        filter: brightness(1.07);
    }

    .alert {
        padding: 13px 16px;
        margin-bottom: 16px;
        border-radius: var(--ui-r-md);
        border: 1px solid var(--ui-hairline);
        border-left-width: 3px;
        background: var(--ui-panel);
        color: var(--ui-text);
        font-size: 13.5px;
        box-shadow: var(--ui-shadow-1);
    }

    .alert-success {
        border-left-color: var(--success);
    }

    .alert-warning {
        border-left-color: var(--warning);
    }

    .alert-danger,
    .alert-error {
        border-left-color: var(--danger);
    }

    .alert-info {
        border-left-color: var(--info, var(--ui-accent));
    }

    .empty-state {
        padding: 40px 24px;
        border-radius: var(--ui-r-lg);
        border: 1px dashed var(--ui-hairline-strong);
        background: color-mix(in srgb, var(--ui-panel-solid) 40%, transparent);
        text-align: center;
    }

    .empty-state__icon {
        display: inline-grid;
        place-items: center;
        width: 46px;
        height: 46px;
        margin-bottom: 12px;
        border-radius: 14px;
        font-size: 17px;
        color: var(--ui-accent);
        background: color-mix(in srgb, var(--ui-accent) 12%, transparent);
        border: 1px solid color-mix(in srgb, var(--ui-accent) 22%, transparent);
    }

    .empty-state__title {
        font-size: 15px;
        font-weight: 650;
        color: var(--ui-text);
    }

    .empty-state__text {
        margin-top: 6px;
        font-size: 13px;
        color: var(--ui-text-2);
        max-width: 60ch;
        margin-inline: auto;
    }

    .ma-note,
    .form-hint-block {
        display: flex;
        align-items: flex-start;
        gap: 9px;
        padding: 11px 14px;
        border-radius: var(--ui-r-md);
        border: 1px solid var(--ui-hairline);
        background: color-mix(in srgb, var(--ui-panel-solid) 45%, transparent);
        color: var(--ui-text-2);
        font-size: 12.5px;
        line-height: 1.55;
    }

    .ma-note i {
        color: var(--ui-accent);
        margin-top: 2px;
    }

    .ma-page {
        display: flex;
        flex-direction: column;
        gap: 18px;
    }

    .ma-page-head {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap: 20px;
        flex-wrap: wrap;
        padding-bottom: 4px;
    }

    .ma-head-actions {
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    .ma-actions {
        display: flex;
        align-items: center;
        gap: 9px;
        flex-wrap: wrap;
    }

    .ma-stamp {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        height: 30px;
        padding: 0 11px;
        border-radius: 999px;
        border: 1px solid var(--ui-hairline);
        background: var(--ui-field-bg);
        color: var(--ui-text-2);
        font-size: 11.5px;
        font-weight: 550;
        white-space: nowrap;
    }

    .ma-stamp i {
        font-size: 10.5px;
        opacity: 0.85;
    }

    .version-tag {
        display: inline-flex;
        align-items: center;
        height: 30px;
        padding: 0 11px;
        border-radius: 999px;
        border: 1px solid color-mix(in srgb, var(--ui-accent) 26%, var(--ui-hairline));
        background: color-mix(in srgb, var(--ui-accent) 10%, transparent);
        color: var(--ui-accent);
        font-size: 11.5px;
        font-weight: 650;
        letter-spacing: 0.02em;
    }

    .ma-quick-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(215px, 1fr));
        gap: 10px;
    }

    .ma-quick {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 13px 14px;
        border-radius: var(--ui-r-md);
        border: 1px solid var(--ui-hairline);
        background: color-mix(in srgb, var(--ui-panel-solid) 55%, transparent);
        text-decoration: none;
        color: var(--ui-text);
        transition: transform var(--ui-base) var(--ui-ease), border-color var(--ui-base) var(--ui-ease), background var(--ui-base) var(--ui-ease), box-shadow var(--ui-base) var(--ui-ease);
    }

    .ma-quick:hover {
        transform: translateY(-2px);
        border-color: color-mix(in srgb, var(--ui-accent) 34%, var(--ui-hairline));
        background: color-mix(in srgb, var(--ui-accent) 7%, var(--ui-panel-solid));
        box-shadow: var(--ui-shadow-2);
    }

    .ma-quick__icon {
        flex: 0 0 auto;
        display: grid;
        place-items: center;
        width: 38px;
        height: 38px;
        border-radius: 11px;
        font-size: 14px;
        color: var(--ui-accent);
        background: color-mix(in srgb, var(--ui-accent) 12%, transparent);
        border: 1px solid color-mix(in srgb, var(--ui-accent) 22%, transparent);
        transition: background var(--ui-base) var(--ui-ease), color var(--ui-base) var(--ui-ease);
    }

    .ma-quick:hover .ma-quick__icon {
        color: #fff;
        background-image: var(--ui-grad);
        border-color: transparent;
    }

    .ma-quick__text strong {
        font-size: 13.5px;
        font-weight: 650;
        letter-spacing: -0.012em;
    }

    .ma-quick__text span {
        font-size: 11.5px;
        line-height: 1.45;
        color: var(--ui-text-3);
    }

    .ma-links {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(265px, 1fr));
        gap: 10px;
    }

    .ma-link-card {
        display: flex;
        align-items: flex-start;
        gap: 12px;
        padding: 14px;
        border-radius: var(--ui-r-md);
        border: 1px solid var(--ui-hairline);
        background: color-mix(in srgb, var(--ui-panel-solid) 55%, transparent);
        color: var(--ui-text);
        text-decoration: none;
        transition: transform var(--ui-base) var(--ui-ease), border-color var(--ui-base) var(--ui-ease), background var(--ui-base) var(--ui-ease), box-shadow var(--ui-base) var(--ui-ease);
    }

    .ma-link-card > i {
        flex: 0 0 auto;
        display: grid;
        place-items: center;
        width: 34px;
        height: 34px;
        border-radius: 10px;
        font-size: 13px;
        color: var(--ui-accent);
        background: color-mix(in srgb, var(--ui-accent) 10%, transparent);
        border: 1px solid color-mix(in srgb, var(--ui-accent) 20%, transparent);
    }

    .ma-link-card:hover {
        transform: translateY(-2px);
        border-color: color-mix(in srgb, var(--ui-accent) 32%, var(--ui-hairline));
        background: color-mix(in srgb, var(--ui-accent) 6%, var(--ui-panel-solid));
        box-shadow: var(--ui-shadow-2);
    }

    .ma-link-card__text {
        display: flex;
        flex-direction: column;
        gap: 3px;
        min-width: 0;
    }

    .ma-link-card__title {
        font-size: 13.5px;
        font-weight: 650;
        letter-spacing: -0.012em;
    }

    .ma-link-card__hint {
        font-size: 11.5px;
        line-height: 1.5;
        color: var(--ui-text-3);
    }

    .ma-link-card .ma-stamp {
        align-self: flex-start;
        height: 22px;
        margin-top: 2px;
        font-size: 10.5px;
        color: var(--ui-text-3);
    }

    .ma-section {
        display: flex;
        flex-direction: column;
        gap: 14px;
    }

    .ma-section + .ma-section {
        margin-top: 18px;
        padding-top: 18px;
        border-top: 1px solid var(--ui-hairline);
    }

    .ma-kpis {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
        gap: 10px;
    }

    .ma-kpis--compact .kpi-card {
        padding: 14px 16px;
    }

    .ma-kpis--compact .kpi-card__value {
        font-size: 24px;
    }

    .ma-check-row {
        border-radius: var(--ui-r-md);
        border: 1px solid var(--ui-hairline);
        background: color-mix(in srgb, var(--ui-panel-solid) 45%, transparent);
    }

    .status-block {
        display: flex;
        align-items: flex-start;
        gap: 12px;
        padding: 13px 16px;
        border-radius: var(--ui-r-md);
        border: 1px solid var(--ui-hairline);
        border-left: 3px solid var(--ui-text-3);
        background: color-mix(in srgb, var(--ui-panel-solid) 55%, transparent);
        transition: border-color var(--ui-base) var(--ui-ease), background var(--ui-base) var(--ui-ease);
    }

    .status-block + .status-block {
        margin-top: 8px;
    }

    .status-block--on {
        border-left-color: var(--success);
        background: color-mix(in srgb, var(--success) 7%, var(--ui-panel-solid));
    }

    .status-block--warn {
        border-left-color: var(--warning);
        background: color-mix(in srgb, var(--warning) 8%, var(--ui-panel-solid));
    }

    .status-block__icon {
        flex: 0 0 auto;
        display: grid;
        place-items: center;
        width: 26px;
        height: 26px;
        border-radius: 8px;
        font-size: 12px;
        background: color-mix(in srgb, var(--ui-text) 8%, transparent);
        color: var(--ui-text-2);
    }

    .status-block--on .status-block__icon {
        color: var(--success);
        background: color-mix(in srgb, var(--success) 16%, transparent);
    }

    .status-block--warn .status-block__icon {
        color: var(--warning);
        background: color-mix(in srgb, var(--warning) 16%, transparent);
    }

    .status-block__body {
        flex: 1 1 auto;
        min-width: 0;
    }

    .status-block__title {
        font-size: 13.5px;
        font-weight: 650;
        letter-spacing: -0.01em;
        color: var(--ui-text);
    }

    .status-block__text {
        margin-top: 3px;
        font-size: 12px;
        line-height: 1.5;
        color: var(--ui-text-2);
    }

    .status-block .btn--sm {
        flex: 0 0 auto;
        margin-left: 4px;
    }

    .hero-tech {
        position: relative;
        padding: 4px 0 10px;
    }

    .hero-tech__grid {
        display: grid;
        grid-template-columns: minmax(0, 1.03fr) minmax(0, 0.97fr);
        gap: clamp(24px, 3.4vw, 56px);
        align-items: center;
    }

    .hero-tech__badges {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-bottom: 18px;
    }

    .pill {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        height: 30px;
        padding: 0 12px;
        border-radius: 999px;
        border: 1px solid var(--ui-hairline);
        background: var(--ui-field-bg);
        color: var(--ui-text-2);
        font-size: 12px;
        font-weight: 550;
    }

    .pill i {
        font-size: 11px;
        color: var(--ui-accent);
    }

    .pill--live {
        color: var(--success);
        border-color: color-mix(in srgb, var(--success) 30%, transparent);
        background: color-mix(in srgb, var(--success) 10%, transparent);
    }

    .hero-tech__title {
        margin: 0 0 16px;
        font-size: clamp(32px, 4.6vw, 62px);
        font-weight: 700;
        line-height: 1.03;
        letter-spacing: -0.035em;
    }

    .text-gradient {
        background-image: var(--ui-grad);
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
        color: var(--ui-accent);
    }

    .hero-tech__lead {
        max-width: 56ch;
        margin: 0 0 26px;
        font-size: clamp(14.5px, 1.1vw, 16.5px);
        line-height: 1.65;
        color: var(--ui-text-2);
    }

    .hero-tech__actions {
        display: flex;
        flex-wrap: wrap;
        gap: 11px;
        margin-bottom: 24px;
    }

    .micro-list {
        display: flex;
        flex-wrap: wrap;
        gap: 8px 18px;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .micro-list__item {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        font-size: 12.5px;
        color: var(--ui-text-3);
    }

    .micro-list__item i {
        font-size: 11px;
        color: var(--ui-success, var(--success));
    }

    .netmap {
        border-radius: var(--ui-r-xl);
        border: 1px solid var(--ui-hairline);
        background: color-mix(in srgb, var(--ui-panel-solid) 78%, transparent);
        box-shadow: var(--ui-shadow-3), var(--ui-inset);
        overflow: hidden;
    }

    .netmap__bar {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 10px 14px;
        border-bottom: 1px solid var(--ui-hairline);
        background: color-mix(in srgb, var(--ui-panel-solid) 62%, transparent);
    }

    .netmap__bar-title {
        font-size: 12px;
        font-weight: 600;
        color: var(--ui-text-2);
    }

    .netmap__bar-meta {
        margin-left: auto;
        font-size: 10.5px;
        letter-spacing: 0.14em;
        color: var(--ui-accent);
    }

    .section {
        padding: 0;
        margin-bottom: clamp(40px, 4.6vw, 64px);
    }

    .section__eyebrow .u-mono {
        color: var(--ui-accent);
        font-weight: 700;
    }

    .video-frame {
        position: relative;
        border-radius: var(--ui-r-xl);
        border: 1px solid var(--ui-hairline);
        background: radial-gradient(120% 120% at 50% 0%, color-mix(in srgb, var(--ui-accent) 12%, transparent), transparent 60%), var(--ui-panel-solid);
        box-shadow: var(--ui-shadow-3), var(--ui-inset);
        overflow: hidden;
    }

    .video-caption {
        margin: 0;
        padding: 12px 16px;
        border-top: 1px solid var(--ui-hairline);
        font-size: 12.5px;
        color: var(--ui-text-3);
    }

    .auth-shell {
        position: relative;
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        justify-items: center;
        align-items: center;
        min-height: calc(100vh - var(--ui-nav-h) - 220px);
        padding: clamp(20px, 4vw, 48px) var(--ui-gutter);
    }

    .auth-shell::before {
        content: '';
        position: absolute;
        inset: auto 50% 30% auto;
        width: min(760px, 88vw);
        height: min(460px, 52vh);
        transform: translateX(50%);
        background: radial-gradient(closest-side, color-mix(in srgb, var(--ui-accent) 16%, transparent), transparent 78%);
        filter: blur(10px);
        pointer-events: none;
        z-index: 0;
    }

    .auth-shell > * {
        position: relative;
        z-index: 1;
    }

    .auth-card {
        position: relative;
        width: 100%;
        max-width: 480px;
        padding: clamp(24px, 3vw, 36px);
        border-radius: var(--ui-r-2xl);
        border: 1px solid var(--ui-hairline);
        background: var(--ui-panel);
        -webkit-backdrop-filter: blur(20px) saturate(150%);
        backdrop-filter: blur(20px) saturate(150%);
        box-shadow: var(--ui-shadow-3), var(--ui-inset);
    }

    .auth-card::before {
        content: '';
        position: absolute;
        inset: -1px -1px auto -1px;
        height: 2px;
        border-radius: var(--ui-r-2xl) var(--ui-r-2xl) 0 0;
        background: var(--ui-grad);
        opacity: 0.7;
    }

    .auth-head {
        display: flex;
        align-items: center;
        gap: 12px;
        padding-bottom: 16px;
        margin-bottom: 18px;
        border-bottom: 1px solid var(--ui-hairline);
    }

    .auth-head__logo {
        height: 38px;
        width: auto;
    }

    .auth-head__brand {
        display: block;
        font-size: 13px;
        font-weight: 650;
        color: var(--ui-text);
    }

    .auth-head__note {
        display: flex;
        align-items: center;
        gap: 8px;
        flex-wrap: wrap;
        margin-top: 3px;
        font-size: 11.5px;
        color: var(--ui-text-3);
    }

    .auth-head .version-tag {
        height: 20px;
        padding: 0 8px;
        font-size: 10px;
        letter-spacing: 0.03em;
    }

    .auth-head__meta {
        display: flex;
        flex-direction: column;
        min-width: 0;
    }

    .auth-card__title {
        display: flex;
        align-items: center;
        gap: 9px;
        margin: 0 0 8px;
        font-size: 22px;
        font-weight: 700;
        letter-spacing: -0.028em;
    }

    .auth-card__title i {
        display: inline-grid;
        place-items: center;
        width: 30px;
        height: 30px;
        border-radius: 9px;
        font-size: 13px;
        color: var(--ui-accent);
        background: color-mix(in srgb, var(--ui-accent) 12%, transparent);
        border: 1px solid color-mix(in srgb, var(--ui-accent) 22%, transparent);
    }

    .auth-card__lead {
        margin: 0 0 20px;
        font-size: 13px;
        line-height: 1.6;
        color: var(--ui-text-2);
    }

    .auth-card .btn-primary {
        min-height: 48px;
        margin-top: 4px;
    }

    .auth-alt {
        margin: 18px 0 0;
        text-align: center;
        font-size: 12.5px;
    }

    .auth-alt a {
        color: var(--ui-accent);
        font-weight: 600;
        text-decoration: none;
    }

    .auth-alt a:hover {
        text-decoration: underline;
        text-underline-offset: 3px;
    }

    .auth-note {
        margin: 16px 0 0;
        padding: 12px 14px;
        border-radius: var(--ui-r-md);
        border: 1px solid var(--ui-hairline);
        background: color-mix(in srgb, var(--ui-panel-solid) 45%, transparent);
        font-size: 11.5px;
        line-height: 1.55;
        color: var(--ui-text-3);
    }

    * {
        scrollbar-width: thin;
        scrollbar-color: color-mix(in srgb, var(--ui-text-3) 55%, transparent) transparent;
    }

    ::-webkit-scrollbar {
        width: 10px;
        height: 10px;
    }

    ::-webkit-scrollbar-track {
        background: transparent;
    }

    ::-webkit-scrollbar-thumb {
        border: 2px solid transparent;
        border-radius: 999px;
        background-clip: content-box;
        background-color: color-mix(in srgb, var(--ui-text-3) 55%, transparent);
    }

    ::-webkit-scrollbar-thumb:hover {
        background-color: var(--ui-accent);
    }

    ::selection {
        background: color-mix(in srgb, var(--ui-accent) 32%, transparent);
        color: var(--ui-text);
    }

    a:focus-visible,
    button:focus-visible,
    [role="button"]:focus-visible,
    input:focus-visible,
    select:focus-visible,
    textarea:focus-visible,
    summary:focus-visible,
    [tabindex]:focus-visible {
        outline: 2px solid var(--ui-accent);
        outline-offset: 2px;
        border-radius: var(--ui-r-xs);
    }

    @media (max-width: 1680px) {
        .nav-link-btn {
            padding: 0 9px;
            gap: 6px;
            font-size: 12.5px;
        }

        .nav-links {
            gap: 2px;
        }

    }

    @media (max-width: 1480px) {
        .nav-link-btn[href^="tel:"] span {
            display: none;
        }

        .nav-link-btn[href^="tel:"] {
            width: 34px;
            padding: 0;
            justify-content: center;
        }

        .brand-logo .logo-img,
        .navbar-glass .logo-img {
            height: 30px;
        }

    }

    @media (max-width: 1320px) {
        .nav-link-btn[href="/catalog"] span,
        .nav-link-btn[href="/admin/video"] span,
        .nav-link-btn[href="/dashboard"] span,
        .nav-link-btn[href="/admin/settings?section=company"] span {
            display: none;
        }

        .nav-link-btn[href="/catalog"],
        .nav-link-btn[href="/admin/video"],
        .nav-link-btn[href="/dashboard"],
        .nav-link-btn[href="/admin/settings?section=company"] {
            width: 34px;
            padding: 0;
            justify-content: center;
        }

        .nav-right {
            min-width: 0;
        }

    }

    @media (max-width: 1180px) {
        .hero-tech__grid {
            grid-template-columns: minmax(0, 1fr);
        }

        .hero-tech__visual {
            order: -1;
        }

    }

    @media (max-width: 900px) {
        :root {
            --ui-gutter: 16px;
        }

        .navbar-glass {
            height: 60px;
            min-height: 60px;
        }

        .brand-logo .logo-img,
        .navbar-glass .logo-img {
            height: 30px;
        }

        .ma-page-title {
            font-size: 22px;
        }

        .glass-card,
        .card {
            border-radius: var(--ui-r-lg);
            padding: 16px;
        }

    }

    @media (max-width: 640px) {
        .hero-tech__title {
            font-size: clamp(28px, 9vw, 38px);
            letter-spacing: -0.03em;
        }

        .hero-tech__actions .btn-primary,
        .hero-tech__actions .btn-secondary {
            flex: 1 1 100%;
        }

        .ma-quick-grid,
        .ma-links {
            grid-template-columns: minmax(0, 1fr);
        }

        .kpi-card {
            padding: 14px 16px;
        }

        .auth-card {
            padding: 20px 16px;
            border-radius: var(--ui-r-xl);
        }

        .table thead th,
        .table tbody td {
            padding: 10px 12px;
        }

    }

/* ==========================================================================
   ЧАСТЬ 8 · ФОРМА ЗАЯВКИ (переписана с нуля)

   Пространство имён .req-*: ни одного легаси-селектора, поэтому стили не
   воюют со старыми слоями. Раскладка — CSS Grid с именованными областями:
   на десктопе итог справа и «прилипает», на мобильном уходит вниз под
   контакты, чтобы кнопка отправки была последним, а не первым элементом.
   ========================================================================== */

.req {
    max-width: 1160px;
    margin-inline: auto;
    padding: clamp(8px, 1.6vw, 20px) 0 clamp(32px, 5vw, 56px);
}

/* --- Шапка страницы ------------------------------------------------------ */

.req__head {
    max-width: 720px;
    margin: 0 auto clamp(20px, 3vw, 32px);
    text-align: center;
}

.req__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 14px;
    padding: 6px 12px;
    border: 1px solid var(--ui-hairline);
    border-radius: var(--r-full);
    background: var(--ui-field-bg);
    color: var(--ui-text-2);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.req__eyebrow .dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--success);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--success) 18%, transparent);
}

.req__title {
    margin: 0 0 12px;
    font-size: clamp(26px, 1.4rem + 1.6vw, 40px);
    line-height: 1.15;
    letter-spacing: -0.03em;
    color: var(--ui-text);
}

.req__lead {
    margin: 0 auto;
    max-width: 580px;
    color: var(--ui-text-2);
    font-size: 15px;
    line-height: 1.6;
}

.req__trust {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 18px;
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
    color: var(--ui-text-3);
    font-size: 13px;
}

.req__trust li {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.req__trust i {
    color: var(--success);
    font-size: 12px;
}

/* --- Сетка --------------------------------------------------------------- */

.req__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 380px);
    grid-template-areas:
        "services summary"
        "contacts summary";
    gap: 18px;
    align-items: start;
}

.req-card {
    min-width: 0;
    background: var(--ui-panel);
    border: 1px solid var(--ui-hairline);
    border-radius: var(--ui-r-lg);
    box-shadow: var(--ui-shadow-2), var(--ui-inset);
    padding: clamp(16px, 2.2vw, 24px);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
}

.req-card--services { grid-area: services; }
.req-card--contact  { grid-area: contacts; }

.req-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}

.req-step {
    margin: 0 0 4px;
    color: var(--ui-text-3);
    font-size: 11.5px;
    font-weight: 650;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.req-card__title {
    margin: 0;
    color: var(--ui-text);
    font-size: 19px;
    font-weight: 650;
    letter-spacing: -0.02em;
}

.req-count {
    flex: none;
    min-width: 30px;
    height: 30px;
    padding: 0 9px;
    display: inline-grid;
    place-items: center;
    border-radius: var(--r-full);
    background: color-mix(in srgb, var(--ui-accent) 14%, transparent);
    border: 1px solid color-mix(in srgb, var(--ui-accent) 26%, transparent);
    color: var(--ui-accent);
    font-size: 13px;
    font-variant-numeric: tabular-nums;
    font-weight: 650;
}

/* --- Поиск по услугам ---------------------------------------------------- */

.req-search {
    position: relative;
    margin-bottom: 6px;
}

.req-search i {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--ui-text-3);
    font-size: 13px;
    pointer-events: none;
}

.req-search__input {
    width: 100%;
    height: 44px;
    padding: 0 14px 0 38px;
    border: 1px solid var(--ui-hairline);
    border-radius: var(--ui-r-sm);
    background: var(--ui-field-bg);
    color: var(--ui-text);
    font: inherit;
    font-size: 14px;
    transition: border-color var(--ui-fast) var(--ui-ease),
                background var(--ui-fast) var(--ui-ease);
}

.req-search__input::placeholder { color: var(--ui-text-3); }

.req-search__input:focus {
    outline: none;
    border-color: color-mix(in srgb, var(--ui-accent) 60%, transparent);
    background: var(--ui-field-bg-hover);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--ui-accent) 16%, transparent);
}

/* --- Группы услуг -------------------------------------------------------- */

.req-group { margin-top: 18px; }

.req-group__title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 8px;
    color: var(--ui-text-3);
    font-size: 11.5px;
    font-weight: 650;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.req-group__title i { color: var(--ui-accent); font-size: 12px; }

.req-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.req-item {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 58px;
    padding: 10px 14px;
    border: 1px solid transparent;
    border-radius: var(--ui-r-md);
    background: color-mix(in srgb, var(--ui-panel-solid) 46%, transparent);
    cursor: pointer;
    transition: border-color var(--ui-fast) var(--ui-ease),
                background var(--ui-fast) var(--ui-ease),
                transform var(--ui-fast) var(--ui-ease);
}

.req-item:hover {
    border-color: var(--ui-hairline-strong);
    background: var(--ui-field-bg-hover);
}

.req-item.is-selected {
    border-color: color-mix(in srgb, var(--ui-accent) 42%, transparent);
    background: color-mix(in srgb, var(--ui-accent) 9%, transparent);
}

.req-item__input {
    flex: none;
    width: 22px;
    height: 22px;
    margin: 0;
    display: grid;
    place-content: center;
    appearance: none;
    -webkit-appearance: none;
    border: 1.5px solid var(--ui-hairline-strong);
    border-radius: 7px;
    background: var(--ui-field-bg);
    cursor: pointer;
    transition: border-color var(--ui-fast) var(--ui-ease),
                background var(--ui-fast) var(--ui-ease);
}

.req-item__input::before {
    content: "";
    width: 10px;
    height: 6px;
    margin-top: -2px;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(-45deg) scale(0);
    transition: transform 140ms var(--ui-ease);
}

.req-item__input:checked {
    border-color: transparent;
    background-image: var(--ui-grad);
}

.req-item__input:checked::before { transform: rotate(-45deg) scale(1); }

.req-item__input:focus-visible {
    outline: 2px solid var(--ui-accent);
    outline-offset: 3px;
}

.req-item__body {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    flex: 1 1 auto;
}

.req-item__name {
    color: var(--ui-text);
    font-size: 14.5px;
    font-weight: 550;
    line-height: 1.35;
}

.req-item__meta {
    color: var(--ui-text-3);
    font-size: 12.5px;
    line-height: 1.45;
}

.req-item__price {
    flex: none;
    display: flex;
    align-items: baseline;
    gap: 4px;
    color: var(--ui-text);
    font-size: 14px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.req-item__price small {
    color: var(--ui-text-3);
    font-size: 11.5px;
    font-weight: 500;
}

.req-item__price--ask {
    color: var(--ui-text-3);
    font-size: 12.5px;
    font-weight: 500;
}

/* Скрытое поле количества: живёт рядом с чекбоксом, чтобы форма работала
   даже без JavaScript (по умолчанию 1 единица). */
.req-item__qty {
    display: none;
}

.req-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 36px 16px;
    color: var(--ui-text-3);
    text-align: center;
    font-size: 14px;
}

.req-empty i { font-size: 26px; opacity: 0.55; }

.req-noresults {
    padding: 18px 4px;
    color: var(--ui-text-3);
    font-size: 13.5px;
}

/* --- Итог (корзина) ------------------------------------------------------ */

.req-summary {
    grid-area: summary;
    position: sticky;
    top: calc(var(--ui-nav-h) + 16px);
    align-self: start;
    padding: 20px;
}

.req-summary .req-card__title { margin-bottom: 2px; }

.req-cart {
    margin: 14px 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    max-height: min(38vh, 330px);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
}

.req-cart__empty {
    padding: 18px 0 14px;
    color: var(--ui-text-3);
    font-size: 13.5px;
    line-height: 1.5;
    border-bottom: 1px dashed var(--ui-hairline);
}

.req-line {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 12px 0;
    border-bottom: 1px solid var(--ui-hairline);
}

.req-line__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.req-line__name {
    color: var(--ui-text);
    font-size: 13.5px;
    font-weight: 550;
    line-height: 1.4;
    min-width: 0;
}

.req-line__sum {
    flex: none;
    color: var(--ui-text);
    font-size: 13.5px;
    font-weight: 650;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.req-line__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.req-line__unit {
    color: var(--ui-text-3);
    font-size: 11.5px;
    font-variant-numeric: tabular-nums;
}

.req-qty {
    display: inline-flex;
    align-items: center;
    height: 32px;
    border: 1px solid var(--ui-hairline);
    border-radius: var(--ui-r-xs);
    background: var(--ui-field-bg);
    overflow: hidden;
}

.req-qty__btn {
    width: 30px;
    height: 100%;
    display: grid;
    place-items: center;
    border: 0;
    background: transparent;
    color: var(--ui-text-2);
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
    transition: background var(--ui-fast) var(--ui-ease), color var(--ui-fast) var(--ui-ease);
}

.req-qty__btn:hover {
    background: var(--ui-field-bg-hover);
    color: var(--ui-text);
}

.req-qty__btn:disabled { opacity: 0.4; cursor: not-allowed; }

.req-qty__input {
    width: 34px;
    height: 100%;
    padding: 0;
    border: 0;
    border-inline: 1px solid var(--ui-hairline);
    background: transparent;
    color: var(--ui-text);
    font: inherit;
    font-size: 13px;
    font-variant-numeric: tabular-nums;
    text-align: center;
    -moz-appearance: textfield;
    appearance: textfield;
}

.req-qty__input::-webkit-outer-spin-button,
.req-qty__input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.req-qty__input:focus {
    outline: none;
    background: var(--ui-field-bg-hover);
}

.req-line__remove {
    width: 26px;
    height: 26px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: var(--ui-text-3);
    font-size: 13px;
    cursor: pointer;
    transition: color var(--ui-fast) var(--ui-ease), background var(--ui-fast) var(--ui-ease);
}

.req-line__remove:hover {
    color: var(--danger);
    background: color-mix(in srgb, var(--danger) 12%, transparent);
}

/* --- Срочность, итог, кнопка -------------------------------------------- */

.req-urgent {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 14px;
    padding: 12px;
    border: 1px solid var(--ui-hairline);
    border-radius: var(--ui-r-md);
    background: color-mix(in srgb, var(--ui-panel-solid) 40%, transparent);
    cursor: pointer;
}

.req-urgent__input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.req-urgent__switch {
    position: relative;
    flex: none;
    width: 38px;
    height: 22px;
    border-radius: var(--r-full);
    background: var(--ui-field-bg-hover);
    border: 1px solid var(--ui-hairline-strong);
    transition: background var(--ui-base) var(--ui-ease), border-color var(--ui-base) var(--ui-ease);
}

.req-urgent__switch::after {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--ui-text-3);
    transition: transform var(--ui-base) var(--ui-ease), background var(--ui-base) var(--ui-ease);
}

.req-urgent__input:checked + .req-urgent__switch {
    background: color-mix(in srgb, var(--warning) 28%, transparent);
    border-color: color-mix(in srgb, var(--warning) 55%, transparent);
}

.req-urgent__input:checked + .req-urgent__switch::after {
    transform: translateX(16px);
    background: var(--warning);
}

.req-urgent__input:focus-visible + .req-urgent__switch {
    outline: 2px solid var(--ui-accent);
    outline-offset: 2px;
}

.req-urgent__text {
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
}

.req-urgent__text strong {
    color: var(--ui-text);
    font-size: 13.5px;
    font-weight: 600;
}

.req-urgent__text small {
    color: var(--ui-text-3);
    font-size: 12px;
}

.req-total {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--ui-hairline);
}

.req-total__label {
    display: flex;
    flex-direction: column;
    gap: 2px;
    color: var(--ui-text-2);
    font-size: 13px;
    font-weight: 550;
}

.req-total__label small {
    color: var(--ui-text-3);
    font-size: 11.5px;
    font-weight: 400;
}

.req-total__value {
    color: var(--ui-text);
    font-size: clamp(22px, 1.2rem + 0.7vw, 27px);
    font-weight: 700;
    letter-spacing: -0.03em;
    font-variant-numeric: tabular-nums;
    line-height: 1.1;
    text-align: right;
}

.req-total__value small {
    display: block;
    color: var(--ui-text-3);
    font-size: 11.5px;
    font-weight: 500;
    letter-spacing: 0;
}

.req-submit {
    position: relative;
    width: 100%;
    min-height: 48px;
    margin-top: 16px;
    padding: 0 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 0;
    border-radius: var(--ui-r-sm);
    background-image: var(--ui-grad);
    color: #fff;
    font: inherit;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -0.01em;
    box-shadow: 0 8px 24px -12px color-mix(in srgb, var(--ui-accent) 80%, transparent);
    cursor: pointer;
    transition: transform var(--ui-fast) var(--ui-ease),
                box-shadow var(--ui-fast) var(--ui-ease),
                filter var(--ui-fast) var(--ui-ease);
}

.req-submit i {
    font-size: 13px;
    transition: transform var(--ui-fast) var(--ui-ease);
}

.req-submit:hover {
    transform: translateY(-1px);
    filter: brightness(1.06);
    box-shadow: 0 14px 30px -12px color-mix(in srgb, var(--ui-accent) 85%, transparent);
}

.req-submit:hover i { transform: translateX(3px); }

.req-submit:active { transform: translateY(0); filter: brightness(0.97); }

.req-submit:focus-visible {
    outline: 2px solid var(--ui-accent);
    outline-offset: 3px;
}

.req-submit[disabled],
.req-submit.is-loading {
    cursor: progress;
    filter: none;
    opacity: 0.9;
    transform: none;
}

.req-submit.is-loading i {
    width: 14px;
    height: 14px;
    border: 2px solid rgba(255, 255, 255, 0.35);
    border-top-color: #fff;
    border-radius: 50%;
    font-size: 0;
    animation: req-spin 700ms linear infinite;
}

@keyframes req-spin { to { transform: rotate(360deg); } }

.req-fine {
    margin: 12px 0 0;
    color: var(--ui-text-3);
    font-size: 11.5px;
    line-height: 1.5;
    text-align: center;
}

.req-fine a { color: var(--ui-text-2); text-decoration: underline; text-underline-offset: 2px; }
.req-fine a:hover { color: var(--ui-accent); }

.req-status {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

/* --- Поля формы ---------------------------------------------------------- */

.req-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.req-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.req-field--full { grid-column: 1 / -1; }

.req-label {
    color: var(--ui-text-2);
    font-size: 12.5px;
    font-weight: 600;
}

.req-label .req-req { color: var(--ui-accent); }

.req-input {
    width: 100%;
    min-height: 44px;
    padding: 10px 13px;
    border: 1px solid var(--ui-hairline);
    border-radius: var(--ui-r-sm);
    background: var(--ui-field-bg);
    color: var(--ui-text);
    font: inherit;
    font-size: 14px;
    line-height: 1.45;
    transition: border-color var(--ui-fast) var(--ui-ease),
                background var(--ui-fast) var(--ui-ease),
                box-shadow var(--ui-fast) var(--ui-ease);
}

.req-input::placeholder { color: var(--ui-text-3); }

.req-input:hover { background: var(--ui-field-bg-hover); }

.req-input:focus {
    outline: none;
    border-color: color-mix(in srgb, var(--ui-accent) 60%, transparent);
    background: var(--ui-field-bg-hover);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--ui-accent) 15%, transparent);
}

.req-input:user-invalid {
    border-color: color-mix(in srgb, var(--danger) 65%, transparent);
}

textarea.req-input {
    min-height: 110px;
    resize: vertical;
}

.req-hint {
    color: var(--ui-text-3);
    font-size: 11.5px;
    line-height: 1.45;
}

.req-error {
    display: none;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid color-mix(in srgb, var(--danger) 40%, transparent);
    border-radius: var(--ui-r-sm);
    background: color-mix(in srgb, var(--danger) 10%, transparent);
    color: var(--danger);
    font-size: 12.5px;
    line-height: 1.5;
}

.req-error.is-visible { display: block; }

/* --- Скрытые служебные поля --------------------------------------------- */

.req-hp {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

/* ==========================================================================
   ЧАСТЬ 9 · ПОДВАЛ (переписан)
   ========================================================================== */

.site-footer {
    margin-top: clamp(32px, 5vw, 64px);
    border-top: 1px solid var(--ui-hairline);
    background: color-mix(in srgb, var(--ui-panel-solid) 62%, transparent);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
}

.site-footer__inner {
    max-width: var(--ui-page-max);
    margin-inline: auto;
    padding: clamp(28px, 4vw, 48px) var(--ui-gutter) clamp(20px, 3vw, 32px);
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.15fr) minmax(0, 0.75fr);
    gap: clamp(24px, 4vw, 56px);
    align-items: start;
}

.site-footer__brand {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
}

.site-footer__logo {
    display: block;
    height: 38px;
    width: auto;
}

.site-footer__tagline {
    color: var(--ui-text);
    font-size: 14px;
    font-weight: 600;
}

.site-footer__about {
    max-width: 34ch;
    margin: 0;
    color: var(--ui-text-3);
    font-size: 13px;
    line-height: 1.55;
}

.site-footer__status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 2px;
    padding: 5px 11px;
    border: 1px solid color-mix(in srgb, var(--success) 30%, transparent);
    border-radius: var(--r-full);
    background: color-mix(in srgb, var(--success) 10%, transparent);
    color: var(--success);
    font-size: 11.5px;
    font-weight: 600;
}

.site-footer__status .dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--success);
}

.site-footer__title {
    margin: 0 0 14px;
    color: var(--ui-text-3);
    font-size: 11.5px;
    font-weight: 650;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.site-footer__contacts {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

/* Контакт — крупная кликабельная строка: на мобильном это главный элемент
   подвала, поэтому высота ≥ 52px, а значение — 17px. */
.contact {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 52px;
    padding: 8px 10px;
    margin-inline: -10px;
    border-radius: var(--ui-r-sm);
    color: var(--ui-text);
    text-decoration: none;
    transition: background var(--ui-fast) var(--ui-ease);
}

a.contact:hover { background: var(--ui-field-bg-hover); }

.contact__icon {
    flex: none;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid var(--ui-hairline);
    border-radius: 11px;
    background: var(--ui-field-bg);
    color: var(--ui-accent);
    font-size: 15px;
}

.contact__body {
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
}

.contact__label {
    color: var(--ui-text-3);
    font-size: 11.5px;
    font-weight: 500;
    letter-spacing: 0.02em;
}

.contact__value {
    color: var(--ui-text);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: -0.01em;
    overflow-wrap: anywhere;
}

a.contact:hover .contact__value,
a.contact:focus-visible .contact__value { color: var(--ui-accent); }

.contact--static { cursor: default; }

.site-footer__nav {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.site-footer__nav a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 6px 0;
    color: var(--ui-text-2);
    font-size: 13.5px;
    text-decoration: none;
    transition: color var(--ui-fast) var(--ui-ease);
}

.site-footer__nav a:hover { color: var(--ui-accent); }

.site-footer__nav i { width: 16px; color: var(--ui-text-3); font-size: 12px; }
.site-footer__nav a:hover i { color: var(--ui-accent); }

.site-footer__bottom {
    border-top: 1px solid var(--ui-hairline);
}

.site-footer__bottom-inner {
    max-width: var(--ui-page-max);
    margin-inline: auto;
    padding: 14px var(--ui-gutter) 18px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 16px;
    color: var(--ui-text-3);
    font-size: 12px;
}

.site-footer__bottom a {
    color: var(--ui-text-3);
    text-decoration: none;
}

.site-footer__bottom a:hover { color: var(--ui-accent); }

/* --- Всплывающее уведомление (копирование) ------------------------------- */

.toast {
    position: fixed;
    left: 50%;
    bottom: 24px;
    z-index: 10001;
    transform: translate(-50%, 16px);
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 11px 16px;
    border: 1px solid var(--ui-hairline-strong);
    border-radius: var(--r-full);
    background: var(--ui-panel-solid);
    box-shadow: var(--ui-shadow-3);
    color: var(--ui-text);
    font-size: 13px;
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--ui-base) var(--ui-ease), transform var(--ui-base) var(--ui-ease);
}

.toast.is-visible { opacity: 1; transform: translate(-50%, 0); }
.toast i { color: var(--success); }

/* --- Вспомогательное ----------------------------------------------------- */

/* Атрибут hidden должен побеждать display:flex у строк услуг. */
.req [hidden],
.mobile-menu [hidden],
.site-footer [hidden],
.req-item[hidden],
.req-group[hidden] { display: none; }

.flash-stack {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 18px;
}

.site-footer__title--secondary { margin-top: 22px; }

.menu-logo-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
}

.menu-caption {
    margin: 4px 0 6px;
    padding: 0 4px;
    color: var(--ui-text-3);
    font-size: 11.5px;
    font-weight: 650;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.menu-contact {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 46px;
    padding: 8px 10px;
    border-radius: var(--ui-r-sm);
    color: var(--ui-text);
    font-size: 15px;
    font-weight: 550;
    text-decoration: none;
    transition: background var(--ui-fast) var(--ui-ease);
}

.menu-contact i {
    width: 18px;
    color: var(--ui-accent);
    text-align: center;
}

.menu-contact:hover { background: var(--ui-field-bg-hover); }

/* ==========================================================================
   ЧАСТЬ 10 · ИСПРАВЛЕНИЯ КАСКАДА

   Здесь собраны места, где старые слои спорили друг с другом. Каждое правило
   осознанно перебивает легаси-объявление, а не добавляет новое оформление.
   ========================================================================== */

/* Навбар теперь sticky, а не fixed: верхняя полоса в 54px под ним не нужна,
   иначе страница начинается с пустого отступа. */
body {
    padding-top: 0;
}

html {
    scroll-padding-top: calc(var(--ui-nav-h) + 12px);
}

/* Фильтры: поздний слой темы ставил column и растягивал блок на весь экран.
   Возвращаем компактную строку с переносом — как на остальных экранах. */
@media (min-width: 641px) {
    .filter-checks {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        gap: var(--space-2, 8px) var(--space-5, 24px);
    }

    .filter-checks .check {
        min-height: 36px;
    }
}

/* Таблицы на узких экранах: горизонтальная прокрутка вместо разрыва вёрстки. */
.table-wrapper {
    -webkit-overflow-scrolling: touch;
}

/* Логотипы: в каждой теме показывается ровно один вариант. Правило общее для
   шапки, мобильного меню и подвала — раньше подвал показывал оба сразу. */
[data-theme="light"] .logo-img--dark,
[data-theme="dark"] .logo-img--light {
    display: none;
}

[data-theme="light"] .logo-img--light,
[data-theme="dark"] .logo-img--dark {
    display: block;
}

.site-footer__logo {
    display: block;
}

/* Номер заказа на странице успеха не должен рваться по одной букве. */
.number-plate__value {
    font-size: clamp(19px, 5.4vw, 31px);
    word-break: normal;
    overflow-wrap: anywhere;
}

/* Легаси-анимации из transitions.js больше не используются: если класс
   остался в разметке, элемент не должен оставаться невидимым. */
.scroll-reveal,
.reveal-stagger > * {
    opacity: 1;
    transform: none;
}

/* ==========================================================================
   АДАПТИВ
   ========================================================================== */

@media (max-width: 960px) {
    .req__grid {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "services"
            "contacts"
            "summary";
    }

    .req-summary {
        position: static;
        top: auto;
    }

    .req-cart { max-height: none; }
}

@media (max-width: 720px) {
    .site-footer__inner {
        grid-template-columns: minmax(0, 1fr);
        gap: 26px;
        text-align: left;
    }

    .site-footer__brand { align-items: flex-start; }

    .site-footer__contacts {
        padding-top: 20px;
        border-top: 1px solid var(--ui-hairline);
    }

    .site-footer__nav {
        padding-top: 18px;
        border-top: 1px solid var(--ui-hairline);
    }

    .site-footer__title { margin-bottom: 10px; }

    .contact {
        min-height: 56px;
        padding: 8px 0;
        margin-inline: 0;
        gap: 14px;
    }

    .contact__icon {
        width: 42px;
        height: 42px;
        font-size: 16px;
    }

    .contact__label { font-size: 12px; }
    .contact__value { font-size: 18px; }

    .site-footer__bottom-inner {
        justify-content: flex-start;
        line-height: 1.6;
    }
}

@media (max-width: 640px) {
    .req { padding-top: 4px; }

    .req__head {
        margin-bottom: 18px;
        text-align: left;
    }

    .req__title { font-size: 27px; }
    .req__lead { font-size: 14px; }
    .req__trust { justify-content: flex-start; gap: 6px 14px; font-size: 12px; }

    .req-card,
    .req-summary { padding: 16px; border-radius: var(--ui-r-md); }

    .req-item {
        align-items: flex-start;
        gap: 12px;
        padding: 12px;
        min-height: 0;
    }

    .req-item__price {
        font-size: 13px;
        padding-top: 2px;
    }

    .req-fields { grid-template-columns: minmax(0, 1fr); gap: 12px; }

    .req-input { font-size: 16px; }   /* iOS: без автозума при фокусе */

    .req-submit { min-height: 52px; font-size: 15.5px; }

    .req-cart { max-height: none; }

    .req-total { align-items: center; }
}

@media (max-width: 380px) {
    .req-item__meta { display: none; }
}

/* ==========================================================================
   ЧАСТЬ 11 · ФОРМЫ: единая геометрия полей

   Задача слоя — чтобы в любой форме проекта поля стояли по одной сетке:
     · одинаковые ширина и высота контролов в пределах ряда;
     · одинаковый вертикальный ритм между рядами (16px);
     · подпись всегда на одной линии со своим полем;
     · подсказка — под полем, а не отдельной колонкой, из-за которой
       поля «прыгали» влево-вправо;
     · чекбоксы выровнены по линии полей, а не по низу панели.

   Ничего не переопределяет глобально за пределами форм.
   ========================================================================== */

/* --- 1. Сетка полей ------------------------------------------------------ */

.form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 16px;
    margin: 0 0 16px;
    align-items: start;
}

.form-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.form-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.form-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.form-grid > .form-group {
    margin-bottom: 0;
    min-width: 0;
}

.form-grid > .form-group > .form-label {
    min-height: 18px;
}

.form-grid .span-2 { grid-column: span 2; }
.form-grid .span-full { grid-column: 1 / -1; }

/* --- 2. Ряды «подпись слева» (настройки, товары) ------------------------- */

.field-row {
    display: grid;
    grid-template-columns: 168px minmax(0, 1fr);
    column-gap: 18px;
    row-gap: 6px;
    align-items: start;
}

.field-row + .field-row { margin-top: 16px; }

.field-row > .form-label {
    margin: 0;
    padding-top: 13px;
    line-height: 1.35;
}

.field-row > .form-control,
.field-row > .form-select,
.field-row > textarea,
.field-row > input[type="file"] {
    grid-column: 2;
    width: 100%;
    margin: 0;
}

.field-row > .form-hint {
    grid-column: 2;
    margin: 0;
    padding-top: 1px;
}

.field-row > .check {
    grid-column: 2;
    min-height: 44px;
}

/* В фильтрах тот же класс означает обычное поле: подпись сверху. */
.filter-grid .field-row,
.inline-form .field-row {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.filter-grid .field-row > .form-label,
.inline-form .field-row > .form-label { padding-top: 0; }

.filter-grid .field-row > .form-control,
.filter-grid .field-row > .form-select,
.inline-form .field-row > .form-control,
.inline-form .field-row > .form-select { grid-column: auto; width: 100%; }

.field-row.filter-checks {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 16px;
}

/* --- 3. Чекбокс-строка на всю ширину ------------------------------------ */

.form-check-line {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    margin: 0 0 16px;
    padding: 0 12px;
    border: 1px solid var(--ui-hairline);
    border-radius: var(--ui-r-sm);
    background: color-mix(in srgb, var(--ui-panel-solid) 40%, transparent);
    color: var(--ui-text-2);
    font-size: var(--fs-sm);
    line-height: 1.45;
    cursor: pointer;
}

.form-check-line input[type="checkbox"] {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--ui-accent);
}

.form-check-line strong {
    color: var(--ui-text);
    font-weight: 600;
}

/* Чекбокс в строке из нескольких полей: по верхней линии контролов. */
.inline-form .form-group--check {
    align-self: start;
    padding-top: 26px;
}

.inline-form .form-group--check .check { min-height: 44px; }

/* --- 4. Ритм внутри обычных форм ---------------------------------------- */

.form-group { margin-bottom: 16px; }
.form-label { margin-bottom: 7px; }
.form-hint { margin-top: 6px; }

/* Файл-инпут: одна высота с остальными полями и без «прыжка» текста. */
.field-row input[type="file"].form-control,
.form-group input[type="file"].form-control {
    padding-top: 9px;
    padding-bottom: 9px;
}

/* --- 5. Адаптив ---------------------------------------------------------- */

@media (min-width: 769px) {
    /* Поиск шире, три селекта — одинаковые. */
    .filter-grid--search {
        grid-template-columns: minmax(0, 2fr) repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1180px) {
    .form-grid--3,
    .form-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
    .field-row {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 6px;
    }

    .field-row > .form-label { padding-top: 0; }

    .field-row > .form-control,
    .field-row > .form-select,
    .field-row > textarea,
    .field-row > input[type="file"],
    .field-row > .form-hint,
    .field-row > .check { grid-column: 1; }
}

@media (max-width: 640px) {
    .form-grid,
    .form-grid--2,
    .form-grid--3,
    .form-grid--4 { grid-template-columns: minmax(0, 1fr); }

    .form-grid .span-2 { grid-column: auto; }

    .inline-form .form-group--check { padding-top: 0; }
}


/* Строка из нескольких полей: верхняя линия у всех контролов одна,
   даже если у одного поля есть подсказка, а у другого нет. */
.inline-form { align-items: start; }
.inline-form > .btn-primary,
.inline-form > .btn-secondary { align-self: start; margin-top: 26px; }


.form-check-line:hover {
    border-color: var(--ui-hairline-strong);
    background: color-mix(in srgb, var(--ui-panel-solid) 58%, transparent);
}

.form-check-line:focus-within {
    outline: 2px solid var(--ui-accent);
    outline-offset: 2px;
}


/* Фильтр клиентов: поиск + переключатель долга + действия — без пустой колонки. */
@media (min-width: 769px) {
    .filter-grid--clients {
        grid-template-columns: minmax(0, 2fr) auto auto;
    }
}


.filter-grid--clients .cluster {
    min-height: 44px;
    align-items: center;
}


.filter-grid--clients .quick-tab {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
}


/* ==========================================================================
   ЧАСТЬ 12 · ВИДЕО И КОРЗИНА ЗАЯВКИ
   ========================================================================== */

/* Локальные видео: одинаковое соотношение сторон и никаких «прыжков» высоты. */
.video-player {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    border-radius: var(--ui-r-md, 14px);
    background: #000;
    object-fit: contain;
}

.video-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(260px, 100%), 1fr));
    gap: 14px;
    margin: 12px 0 0;
    padding: 0;
    list-style: none;
}

.video-tile {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 10px;
    border: 1px solid var(--ui-hairline);
    border-radius: var(--ui-r-md, 14px);
    background: color-mix(in srgb, var(--ui-panel-solid) 50%, transparent);
}

.video-tile video {
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: var(--ui-r-sm, 10px);
    background: #000;
}

.video-tile__meta {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    font-size: 12.5px;
    color: var(--ui-text-2);
    overflow-wrap: anywhere;
}

.video-tile form { margin: 0; }

.ma-file-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 8px;
    padding: 8px 12px;
    border: 1px solid var(--ui-hairline);
    border-radius: var(--ui-r-sm, 10px);
    background: color-mix(in srgb, var(--ui-panel-solid) 45%, transparent);
}

.ma-file-row__name {
    font-family: ui-monospace, 'Cascadia Mono', Consolas, monospace;
    font-size: 12.5px;
    color: var(--ui-text-2);
    overflow-wrap: anywhere;
}

/* Корзина заявки: строки одной сеткой, без «пляшущих» сумм. */
.req-line__top { align-items: flex-start; }

.req-line__name { padding-right: 6px; }

.req-line__tag {
    display: inline-block;
    margin-right: 6px;
    padding: 1px 7px;
    border-radius: var(--r-full);
    background: color-mix(in srgb, var(--ui-accent) 14%, transparent);
    color: var(--ui-accent);
    font-size: 10px;
    font-weight: 650;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    vertical-align: 1px;
}

.req-line__bottom {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
}

.req-line__unit { min-width: 0; }

.req-line__sum {
    justify-self: end;
    text-align: right;
}

.req-line--product {
    margin-bottom: 8px;
    padding: 10px 12px;
    border: 1px solid color-mix(in srgb, var(--ui-accent) 28%, var(--ui-hairline));
    border-radius: var(--ui-r-sm, 10px);
    background: color-mix(in srgb, var(--ui-accent) 6%, transparent);
}

@media (max-width: 640px) {
    .req-line__bottom {
        grid-template-columns: auto minmax(0, 1fr);
        row-gap: 6px;
    }

    .req-line__sum {
        grid-column: 2;
        justify-self: end;
    }
}

/* ==========================================================================
   ПЕЧАТЬ
   ========================================================================== */

@media print {
    .site-footer,
    .req-summary,
    .navbar-glass,
    .mobile-menu,
    .mobile-overlay,
    .skip-link,
    .toast { display: none; }

    .req__grid {
        display: block;
    }

    .req-card {
        box-shadow: none;
        border-color: #cbd5e1;
        background: #fff;
        color: #0f172a;
    }
}

/* ==========================================================================
   ПЕЧАТЬ · хром сайта не печатается
   ========================================================================== */
@media print {
    .navbar-glass, .mobile-menu, .mobile-overlay, .skip-link, .toolbar__spacer { display: none; }
    body { padding-top: 0; background: #fff; color: #000; }
    .glass-card, .card { box-shadow: none; border: 1px solid #ccc; break-inside: avoid; }
    .table thead th { position: static; background: #f2f2f2; color: #000; }
    a[href^="/"]::after { content: " (" attr(href) ")"; font-size: 0.8em; color: #555; }
    body::before, .scanline::after, .navbar-glass { display: none; }
    .glass-card, .ma-section, .kpi-card { background: #fff; box-shadow: none; border: 1px solid #ccc; backdrop-filter: none; }
    .navbar-glass, .mobile-menu, .mobile-overlay, .sticky-actions, .filter-panel, .danger-zone, .no-print, .skip-link { display: none; }
    .main-container { max-width: none; padding: 0; }
    .table-cards thead { display: table-header-group; }
    .table-wrapper { display: block; overflow: visible; }
    a[href^="tel:"], a[href^="mailto:"] { color: #000; text-decoration: none; }
    .ma-head-actions, .ma-tabs, .ma-jump, .ma-pager, .ma-actions-cell, .ma-copy-state { display: none; }
    .ma-chart { height: 200px; break-inside: avoid; }
    .ma-kpis { grid-template-columns: repeat(3, 1fr); }
    .table-wrapper--scroll, .table-wrapper--scroll-sm { max-height: none; overflow: visible; }
    .hero-tech__actions, .netmap, .cta-panel__actions { display: none; }
    .services-toolbar, .hero__actions { display: none; }
    .payment-actions, .navbar-glass, .no-print, .sticky-actions { display: none; }
    body::before, .navbar-glass, .mobile-menu, .mobile-overlay { display: none; }
    .glass-card, .card, .kpi-card, .table-wrapper { box-shadow: none; border: 1px solid #ccc; background: #fff; }
}

/* ==========================================================================
   prefers-reduced-motion · единственное место, где нужен !important:
   пользователь просит убрать анимацию, и это должно перебить любые
   правила с анимациями независимо от их специфичности.
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        animation-delay: 0ms !important;
        transition-duration: 0.001ms !important;
        transition-delay: 0ms !important;
        scroll-behavior: auto !important;
    }

    .glass-card,
    .card,
    .service-showcase-card,
    .order-card-mobile,
    .service-card-mobile,
    .kpi-card,
    .stat-card,
    .reveal,
    .reveal-group > * {
        opacity: 1 !important;
        transform: none !important;
    }

    .stat-dot::after,
    .nav-call-btn::after,
    .connection-header-dot,
    .skeleton {
        animation: none !important;
    }

    .skeleton {
        background: var(--skeleton-base);
    }

    .btn:hover,
    .btn-primary:hover,
    .btn-secondary:hover,
    .glass-card:hover,
    .stat-card:hover,
    .service-showcase-card:hover {
        transform: none;
    }

}

@media (prefers-reduced-motion: reduce) {
    .live-dot,
    .status-dot,
    .skeleton,
    .reveal,
    .reveal-stagger > *,
    .scanline::after {
        animation: none !important;
    }

    .btn-primary:hover,
    a.glass-card:hover,
    .kpi-card:hover {
        transform: none;
    }

}

@media (prefers-reduced-motion: reduce) {
    .ma-funnel__fill,
    .ma-bars__bar,
    .ma-hbar__fill,
    .ma-link-card {
        transition: none;
    }

}

@media (prefers-reduced-motion: reduce) {
    .ma-quick {
        transition: none;
    }

}

@media (prefers-reduced-motion: reduce) {
    .contact-chip {
        transition: none;
    }

}

@media (prefers-reduced-motion: reduce) {
    :where(.btn-primary, .btn-secondary).is-loading::before {
        animation-duration: 1.6s;
    }

}

@media (prefers-reduced-motion: reduce) {
    .reveal-stagger > *,
    .live-dot,
    .netmap__flow,
    .netmap__packet,
    .otp-timer__fill {
        animation: none !important;
    }

    .netmap__packet {
        display: none;
    }

    .netmap:hover .netmap__node--core {
        transform: none;
    }

    .dir-card:hover .dir-card__cta i {
        transform: none;
    }

}

@media (prefers-reduced-motion: reduce) {
    .product-card,
    .product-card__media img,
    .gallery-thumb {
        transition: none !important;
    }

}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
        scroll-behavior: auto !important;
    }

    .ma-quick:hover,
    .ma-link-card:hover,
    .kpi-card:hover,
    a.glass-card:hover,
    a.card:hover,
    .glass-card--link:hover,
    .btn-primary:hover,
    .btn-secondary:hover,
    .btn-danger:hover,
    .contact-chip:hover,
    .quick-tab:hover {
        transform: none;
    }

}

/* ==========================================================================
   MaYaK.IT — targeted layout/hover pass (Owner price tab + panels)
   Only selectors for the affected sections; base colours/sizes unchanged.
   ========================================================================== */

/* Прайс услуг → категория «Абонемент»: ровная сетка только на десктопе. */
@media (min-width: 901px) {
    .ma-category--subscription {
        flex-wrap: wrap;
        row-gap: 4px;
        margin: 22px 0 10px;
        padding: 10px 14px;
        border: 1px solid var(--border-subtle, rgba(120, 170, 255, .16));
        border-radius: 12px;
        background: color-mix(in srgb, var(--accent) 4%, var(--bg-card, #0f172a));
    }

    .ma-category--subscription .ma-category__count {
        margin-left: auto;
        white-space: nowrap;
    }

    .table-wrapper--subscription {
        margin-top: 0;
    }

    .table-wrapper--subscription > .table {
        table-layout: fixed;
        width: 100%;
        min-width: 0;
    }

    .table-wrapper--subscription th,
    .table-wrapper--subscription td {
        padding: 11px 12px;
        vertical-align: top;
        text-align: left;
    }

    .table-wrapper--subscription th:nth-child(1),
    .table-wrapper--subscription td:nth-child(1) { width: 33%; }
    .table-wrapper--subscription th:nth-child(2),
    .table-wrapper--subscription td:nth-child(2) { width: 14%; }
    .table-wrapper--subscription th:nth-child(3),
    .table-wrapper--subscription td:nth-child(3) { width: 10%; }
    .table-wrapper--subscription th:nth-child(4),
    .table-wrapper--subscription td:nth-child(4) { width: 8%; text-align: right; }
    .table-wrapper--subscription th:nth-child(5),
    .table-wrapper--subscription td:nth-child(5) { width: 12%; }
    .table-wrapper--subscription th:nth-child(6),
    .table-wrapper--subscription td:nth-child(6) { width: 23%; }

    .table-wrapper--subscription .ma-cell {
        min-width: 0;
        gap: 4px;
    }

    .table-wrapper--subscription .ma-name {
        display: block;
        white-space: normal;
        overflow-wrap: anywhere;
        line-height: 1.35;
    }

    .table-wrapper--subscription .ma-cell__sub {
        display: block;
        max-width: 100%;
        white-space: normal;
        overflow-wrap: anywhere;
        line-height: 1.4;
    }

    .table-wrapper--subscription .price-highlight {
        white-space: nowrap;
    }

    .table-wrapper--subscription .ma-actions-cell {
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 6px;
    }

    .table-wrapper--subscription .ma-actions-cell .btn-secondary,
    .table-wrapper--subscription .ma-actions-cell .btn-danger {
        white-space: nowrap;
    }
}

@media (max-width: 900px) {
    .ma-category--subscription {
        flex-wrap: wrap;
        padding: 0;
        border: 0;
        background: transparent;
    }

    .table-wrapper--subscription {
        max-width: 100%;
        overflow-x: visible;
    }

    .table-wrapper--subscription > .table,
    .table-wrapper--subscription tbody,
    .table-wrapper--subscription tr,
    .table-wrapper--subscription td {
        min-width: 0;
        max-width: 100%;
    }

    .table-wrapper--subscription > .table {
        table-layout: auto;
    }

    .table-wrapper--subscription .ma-actions-cell {
        flex-wrap: wrap;
        justify-content: flex-start;
    }
}

/* Blue primary buttons: dark hover instead of a light/white-looking fill. */
button.btn-primary:not(:disabled):hover,
a.btn-primary:hover,
.btn-primary:not(:disabled):hover,
.btn-blue:not(:disabled):hover,
button.btn-blue:not(:disabled):hover,
.btn-archive:hover,
.nav-link-btn-primary:hover,
.req-submit:hover {
    background: #1d4ed8;
    background-color: #1d4ed8;
    background-image: none;
    border-color: #1d4ed8;
    color: #fff !important;
    filter: none;
    text-shadow: none;
}

a.btn-primary.ma-stamp:hover,
a.btn-primary.ma-stamp:hover *,
.btn-primary.ma-stamp:hover,
.btn-primary.ma-stamp:hover * {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    transition: none !important;
}

/* Panels: solid hover surface, no translucent "hole", no layout jump. */
.ma-tab:hover,
.quick-tab:hover,
.req-item:hover,
.form-check-line:hover,
.service-group-header:hover,
.contact-chip:hover,
.ma-link-card:hover,
.ma-quick:hover {
    background-color: color-mix(in srgb, var(--ui-accent, var(--accent)) 8%,
                    var(--ui-panel-solid, var(--bg-card, #0f172a)));
    background-image: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.ma-tab:hover,
.quick-tab:hover,
.req-item:hover,
.form-check-line:hover,
.service-group-header:hover,
.contact-chip:hover,
.ma-link-card:hover,
.ma-quick:hover,
.kpi-card:hover,
.stat-card:hover,
.glass-card:hover,
.card:hover,
.service-group:hover,
.product-card:hover,
.benefit-card:hover,
.flow-step:hover {
    transform: none;
}

/* Primary buttons: background switches instantly, so there is no pale
   low-contrast frame during the hover transition. */
button.btn-primary,
a.btn-primary,
.btn-blue,
.btn-archive,
.nav-link-btn-primary,
.req-submit {
    transition: box-shadow 160ms ease, transform 160ms ease,
                border-color 160ms ease, color 160ms ease;
}


/* ==========================================================================
   MOBILE / LAYOUT AUDIT FIXES
   Точечные override-правила: не меняют токены и базовую айдентику.
   ========================================================================== */

:root {
    --panel-radius: 16px;
    --panel-pad: 20px;
    --panel-gap: 14px;
}

@media (max-width: 640px) {
    :root {
        --panel-radius: 14px;
        --panel-pad: 14px;
        --panel-gap: 10px;
    }
}

/* 1. Никакого горизонтального скролла страницы. */
html,
body {
    max-width: 100%;
}

@supports (overflow: clip) {
    html,
    body {
        overflow-x: clip;
    }
}

.main-container,
.ma-page,
.glass-card,
.card,
.kpi-card,
.table-wrapper,
.req-card,
.req-summary,
.filter-panel,
.product-grid,
.split-2,
.cart-layout,
.ma-charts,
.kpi-grid,
.ma-kpis,
.ma-quick-grid,
.ma-links {
    max-width: 100%;
    min-width: 0;
}

img,
svg,
video,
iframe,
canvas {
    max-width: 100%;
    height: auto;
}

.table-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* Специфичность выше, чем у .table-wrapper > .table { min-width: 520px }. */
.table-wrapper > .table.table-cards {
    min-width: 0;
    width: 100%;
}

td,
th,
.ma-mono,
.order-ref,
.money-nowrap,
.ma-cell__sub {
    overflow-wrap: anywhere;
}

/* Метка «обновлено» была 318px при viewport 320px. */
.ma-stamp {
    white-space: normal;
    overflow-wrap: anywhere;
}

/* Off-canvas меню больше не расширяет документ вправо. */
@media (max-width: 768px) {
    .mobile-menu {
        right: 0;
        left: auto;
        transform: translate3d(100%, 0, 0);
        visibility: hidden;
        pointer-events: none;
        transition: transform 0.3s cubic-bezier(0.2, 0.9, 0.4, 1);
    }

    .mobile-menu.open {
        right: 0;
        left: auto;
        transform: translate3d(0, 0, 0);
        visibility: visible;
        pointer-events: auto;
    }

    .hamburger {
        align-items: center;
        justify-content: center;
    }
}

/* 2. Единый ритм панелей в одном ряду. */
.kpi-grid,
.ma-kpis,
.ma-quick-grid,
.ma-links,
.product-grid,
.dir-grid,
.benefit-grid,
.flow-steps,
.split-2,
.ma-charts {
    align-items: stretch;
    gap: var(--panel-gap);
    contain: layout style;
}

.kpi-grid > *,
.ma-kpis > *,
.ma-quick-grid > *,
.ma-links > *,
.product-grid > *,
.dir-grid > *,
.benefit-grid > *,
.flow-steps > *,
.split-2 > *,
.ma-charts > * {
    height: 100%;
    min-height: 0;
}

.kpi-grid > .kpi-card,
.ma-kpis > .kpi-card,
.ma-quick-grid > .ma-quick,
.ma-links > .ma-link-card,
.dir-grid > *,
.benefit-grid > *,
.flow-steps > *,
.split-2 > * {
    border-radius: var(--panel-radius);
    padding: var(--panel-pad);
}

.glass-card,
.card {
    border-radius: var(--panel-radius);
    padding: var(--panel-pad);
}

.product-card {
    border-radius: var(--panel-radius);
}

/* 3. Круглые элементы остаются круглыми во всех состояниях. */
.theme-toggle,
.nav-call-btn,
.who__ava,
.empty-state__icon,
.status-block__icon,
.cat-card__icon,
.contact__icon,
.ma-quick__icon,
.ma-link-card > i,
.ma-kpi__icon,
.warranty__icon,
.benefit-card__icon,
.menu-close {
    border-radius: 50%;
    aspect-ratio: 1 / 1;
}

.theme-toggle::before,
.theme-toggle::after,
.nav-call-btn::before,
.nav-call-btn::after,
.who__ava::before,
.who__ava::after,
.empty-state__icon::before,
.empty-state__icon::after,
.ma-quick__icon::before,
.ma-quick__icon::after,
.ma-link-card > i::before,
.ma-link-card > i::after,
.ma-kpi__icon::before,
.ma-kpi__icon::after {
    border-radius: 50%;
}

.theme-toggle:hover,
.theme-toggle:active,
.theme-toggle:focus-visible,
.nav-call-btn:hover,
.nav-call-btn:active,
.nav-call-btn:focus-visible,
.who__ava:hover,
.who__ava:focus-visible,
.menu-close:hover,
.menu-close:active,
.menu-close:focus-visible {
    border-radius: 50%;
}

.theme-toggle:focus-visible,
.nav-call-btn:focus-visible,
.menu-close:focus-visible {
    outline-offset: 3px;
}

.ma-pager__current {
    border-radius: 50%;
    aspect-ratio: 1 / 1;
    padding: 0;
    inline-size: var(--control-h-sm);
    block-size: var(--control-h-sm);
}

/* 4. На тач-устройствах hover-трансформации не применяются. */
@media (hover: none) {
    button,
    .btn,
    .btn-primary,
    .btn-secondary,
    .nav-link-btn,
    .theme-toggle,
    .nav-call-btn,
    .quick-tab,
    .ma-tab,
    .pager__link,
    .ma-pager__link,
    .menu-close {
        min-height: 44px;
        min-width: 44px;
    }

    .theme-toggle,
    .nav-call-btn,
    .menu-close {
        width: 44px;
        height: 44px;
    }

    .glass-card:hover,
    .card:hover,
    .kpi-card:hover,
    .product-card:hover,
    .ma-quick:hover,
    .ma-link-card:hover,
    .dir-card:hover,
    .benefit-card:hover,
    .flow-step:hover,
    .service-showcase-card:hover,
    .theme-toggle:hover,
    .nav-call-btn:hover,
    .menu-close:hover,
    .contact-chip:hover {
        transform: none;
    }

    .nav-call-btn::after,
    .theme-toggle::after {
        animation: none;
    }

    .kpi-card,
    .product-card,
    .ma-quick,
    .ma-link-card {
        isolation: isolate;
    }
}

/* 5. Дешёвые эффекты и отключение бесконечных анимаций на мобильных. */
@media (max-width: 768px) {
    .glass-card,
    .card,
    .navbar-glass,
    .mobile-menu,
    .auth-card,
    .req-card,
    .req-summary,
    .filter-panel {
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
        background-color: var(--ui-panel-solid, var(--bg-card));
        background-image: none;
    }

    body::before {
        display: block;
    }

    .navbar-glass,
    .mobile-menu {
        -webkit-backdrop-filter: blur(8px) saturate(120%);
        backdrop-filter: blur(8px) saturate(120%);
        background-color: color-mix(in srgb, var(--ui-panel-solid, var(--bg-card)) 88%, transparent);
    }

    .logo-center,
    .logo-img {
        filter: none;
    }

    .nav-call-btn::after,
    .connection-header-dot,
    .live-dot,
    .stat-dot::after,
    .ds-shimmer,
    .ds-ping,
    .tech-pulse,
    .tech-shimmer,
    .tech-scan,
    .scanline::after,
    .netmap__flow,
    .netmap__packet {
        animation: none;
    }

    .netmap__packet {
        display: none;
    }
}

/* Touch targets: ширина 768px покрывает и тач-планшеты, где hover:none
   не всегда сообщается браузером. */
@media (max-width: 768px) {
    button,
    .btn,
    .btn-primary,
    .btn-secondary,
    .nav-link-btn,
    .theme-toggle,
    .nav-call-btn,
    .quick-tab,
    .ma-tab,
    .pager__link,
    .ma-pager__link,
    .ma-pager__current,
    .menu-close {
        min-height: 44px;
        min-width: 44px;
    }

    .theme-toggle,
    .nav-call-btn,
    .hamburger,
    .menu-close {
        width: 44px;
        height: 44px;
    }

    input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
    select,
    textarea,
    .form-control,
    .form-select {
        min-height: 44px;
    }
}

/* Карточки описания товара: minmax(320px, 1fr) был шире контейнера
   на 320px. min(320px, 100%) сохраняет одну колонку без переполнения. */
.product-details {
    grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
}

.product-details__text,
.spec-list {
    overflow-wrap: anywhere;
}

.ma-kpi-link {
    height: 100%;
    min-height: 0;
}

.ma-kpi-link > .kpi-card {
    height: 100%;
}

/* В owner-админке длинные журналы не должны выходить из своей секции
   и перекрывать «Сервис и обслуживание» на мобильном. */
@media (max-width: 768px) {
    .table-wrapper.table-wrapper--scroll:has(.table-cards),
    .table-wrapper.table-wrapper--scroll-sm:has(.table-cards) {
        max-height: min(60vh, 520px);
        overflow-y: auto;
        overflow-x: hidden;
        overscroll-behavior: contain;
    }
}

/* Наведение на эти карточки оставляет тень/границу, но не двигает
   соседние элементы и не создаёт «прыжок» ряда. */
.service-showcase-card:hover,
.cat-card:hover,
.stat-card:hover,
.ma-kpi-link:hover {
    transform: none;
}

.toast {
    max-width: calc(100% - 32px);
    text-align: center;
}

html {
    scroll-padding-top: calc(var(--ui-nav-h, 54px) + 12px);
}

/* Hover-трансформации отключаем только на устройствах без мыши.
   На узком окне с мышью анимации должны остаться. */
@media (hover: none), (pointer: coarse) {
    .glass-card:hover,
    .card:hover,
    .kpi-card:hover,
    .product-card:hover,
    .ma-quick:hover,
    .ma-link-card:hover,
    .dir-card:hover,
    .benefit-card:hover,
    .flow-step:hover,
    .service-showcase-card:hover,
    .theme-toggle:hover,
    .nav-call-btn:hover,
    .menu-close:hover,
    .contact-chip:hover {
        transform: none;
    }
}

/* На устройствах с мышью возвращаем мягкий подъём карточек. */
@media (hover: hover) and (pointer: fine) {
    .service-showcase-card:hover,
    .cat-card:hover,
    .stat-card:hover,
    .ma-kpi-link:hover {
        transform: translateY(-2px);
    }
}









/* ==========================================================================
   PERFORMANCE A вЂ” РїРµСЂРІС‹Р№ РєР°РґСЂ Р±РµР· В«РїСѓСЃС‚РѕРіРѕВ» fade-in.
   РљРѕРЅС‚РµРЅС‚ РІРёРґРµРЅ СЃСЂР°Р·Сѓ, РѕСЃС‚Р°С‘С‚СЃСЏ С‚РѕР»СЊРєРѕ РјСЏРіРєРёР№ СЃРґРІРёРі.
   ========================================================================== */
.main-container {
    animation: fadeInImmediate 0.35s ease;
}

@keyframes fadeInImmediate {
    from { transform: translateY(6px); }
    to { transform: translateY(0); }
}
