/**
 * zavkom-theme.css — Единая дизайн-система и цветовая палитра экосистемы Zavkom
 * Содержит дизайн-токены (Design Tokens), переменные тем (Dark Frappe / Light Corporate),
 * типографику и общие утилитарные стили.
 */

:root {
    /* Frappe (Dark) Theme — Default */
    --mud-palette-appbar-background: #232634;
    --mud-palette-appbar-text: #C6CEEF;
    --mud-palette-primary: #E5E9F0;
    --mud-palette-primary-hover: #D1D7E4;
    --mud-palette-error: #E78284;
    --mud-palette-background: #303446;
    --mud-palette-surface: #414559;
    --mud-palette-drawer-background: #292C3C;
    --mud-palette-text-primary: #C6CEEF;
    --mud-palette-text-secondary: #A5ACC9;
    --mud-palette-divider: #51566C;
    --mud-palette-action-default: #A5ACC9;
    --mud-palette-action-hover: rgba(229, 233, 240, 0.15);
    --mud-palette-table-hover: #51566C;
    --btn-primary-text: #232634;
    
    /* Semantic Status Colors */
    --mud-palette-success: #A6D189;
    --mud-palette-success-bg: rgba(166, 209, 137, 0.2);
    --mud-palette-warning: #E5C890;
    --mud-palette-warning-bg: rgba(229, 200, 144, 0.2);
    --mud-palette-error-bg: rgba(231, 130, 132, 0.2);

    /* Layout Dimensions */
    --appbar-height: 64px;
    --drawer-width: 260px;
    --mud-typography-default-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
}

/* Light Theme (Corporate Zavkom) */
[data-theme="light"] {
    --mud-palette-appbar-background: #231F20;
    --mud-palette-appbar-text: #FFFFFF;
    --mud-palette-primary: #30806C;
    --mud-palette-primary-hover: #266b59;
    --mud-palette-error: #A22034;
    --mud-palette-background: #F5F5F5;
    --mud-palette-surface: #FFFFFF;
    --mud-palette-drawer-background: #FFFFFF;
    --mud-palette-text-primary: #333333;
    --mud-palette-text-secondary: #666666;
    --mud-palette-divider: #E0E0E0;
    --mud-palette-action-default: #757575;
    --mud-palette-action-hover: rgba(48, 128, 108, 0.08);
    --mud-palette-table-hover: #F0F0F0;
    --btn-primary-text: #FFFFFF;

    /* Semantic Status Colors */
    --mud-palette-success: #30806C;
    --mud-palette-success-bg: rgba(48, 128, 108, 0.15);
    --mud-palette-warning: #D97706;
    --mud-palette-warning-bg: rgba(217, 119, 6, 0.15);
    --mud-palette-error-bg: rgba(162, 32, 52, 0.1);
}

/* Base Styles */
*, *::before, *::after {
    box-sizing: border-box;
}

body {
    font-family: var(--mud-typography-default-family);
    background-color: var(--mud-palette-background);
    color: var(--mud-palette-text-primary);
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Global Custom Scrollbars */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
::-webkit-scrollbar-track {
    background: var(--mud-palette-appbar-background);
}
::-webkit-scrollbar-thumb {
    background: var(--mud-palette-divider);
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--mud-palette-action-default);
}

/* Shared Utility Classes */
.zavkom-surface {
    background-color: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-divider);
    border-radius: 8px;
}

.zavkom-card {
    background-color: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-divider);
    border-radius: 8px;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.zavkom-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    border-color: var(--mud-palette-primary);
}

.zavkom-btn-primary {
    background-color: var(--mud-palette-primary);
    color: var(--btn-primary-text);
    border: none;
    padding: 8px 16px;
    border-radius: 4px;
    font-weight: 500;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-decoration: none;
    transition: background-color 0.2s ease, filter 0.2s ease;
}

.zavkom-btn-primary:hover {
    background-color: var(--mud-palette-primary-hover);
}

.zavkom-btn-secondary {
    background: transparent;
    color: var(--mud-palette-text-primary);
    border: 1px solid var(--mud-palette-divider);
    padding: 8px 16px;
    border-radius: 4px;
    font-weight: 500;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-decoration: none;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.zavkom-btn-secondary:hover {
    background-color: var(--mud-palette-action-hover);
    border-color: var(--mud-palette-action-default);
}
