/*
  Тема АТЛАС поверх Radzen «standard».
  Светлый офисный экран на весь день: белые рабочие поверхности, слегка тёплый
  серый фон, один спокойный оливковый цвет для действий и терракота для сроков.
*/

:root {
    /* Логотип (docs/design/brand): тёмная плашка знака, салатовая «А», охристая перекладина */
    --atlas-brand-ink: oklch(0.21 0.01 120);
    --atlas-brand-leaf: oklch(0.8 0.12 122);
    --atlas-brand-accent: oklch(0.62 0.15 55);

    /* Нейтральная шкала с лёгким оттенком основного цвета */
    --rz-base-50: oklch(1 0 0);
    --rz-base-100: oklch(0.975 0.004 120);
    --rz-base-200: oklch(0.945 0.006 120);
    --rz-base-300: oklch(0.905 0.008 120);
    --rz-base-400: oklch(0.83 0.01 120);
    --rz-base-500: oklch(0.70 0.012 120);
    --rz-base-600: oklch(0.56 0.012 120);
    --rz-base-700: oklch(0.45 0.012 120);
    --rz-base-800: oklch(0.32 0.012 120);
    --rz-base-900: oklch(0.22 0.01 120);
    --rz-base: var(--rz-base-300);
    --rz-base-light: var(--rz-base-200);
    --rz-base-lighter: var(--rz-base-100);
    --rz-base-dark: var(--rz-base-700);
    --rz-base-darker: var(--rz-base-900);

    /* Основной: олива, только для действий и выбранного */
    --rz-primary: oklch(0.47 0.105 122);
    --rz-primary-light: oklch(0.56 0.11 122);
    --rz-primary-lighter: oklch(0.955 0.03 120);
    --rz-primary-dark: oklch(0.41 0.10 122);
    --rz-primary-darker: oklch(0.35 0.085 122);
    --rz-on-primary: oklch(1 0 0);
    --rz-on-primary-light: oklch(1 0 0);
    --rz-on-primary-dark: oklch(1 0 0);
    --rz-on-primary-darker: oklch(1 0 0);
    --rz-on-primary-lighter: oklch(0.35 0.085 122);

    --rz-secondary: oklch(0.45 0.012 120);
    --rz-secondary-light: oklch(0.56 0.012 120);
    --rz-secondary-lighter: oklch(0.945 0.006 120);
    --rz-secondary-dark: oklch(0.38 0.012 120);
    --rz-secondary-darker: oklch(0.32 0.012 120);
    --rz-on-secondary-lighter: oklch(0.32 0.012 120);

    /* Состояния. Текст на светлых плашках всегда тёмный вариант того же цвета */
    --rz-success: oklch(0.52 0.11 155);
    --rz-success-light: oklch(0.60 0.11 155);
    --rz-success-lighter: oklch(0.95 0.035 155);
    --rz-success-dark: oklch(0.45 0.10 155);
    --rz-success-darker: oklch(0.40 0.09 155);
    --rz-on-success-lighter: oklch(0.38 0.09 155);

    --rz-warning: oklch(0.64 0.15 55);
    --rz-warning-light: oklch(0.72 0.13 60);
    --rz-warning-lighter: oklch(0.955 0.04 65);
    --rz-warning-dark: oklch(0.56 0.15 50);
    --rz-warning-darker: oklch(0.50 0.14 48);
    --rz-on-warning: oklch(1 0 0);
    --rz-on-warning-lighter: oklch(0.45 0.13 48);

    --rz-danger: oklch(0.55 0.19 27);
    --rz-danger-light: oklch(0.63 0.17 27);
    --rz-danger-lighter: oklch(0.955 0.03 25);
    --rz-danger-dark: oklch(0.49 0.18 27);
    --rz-danger-darker: oklch(0.44 0.16 27);
    --rz-on-danger-lighter: oklch(0.44 0.16 27);

    --rz-info: oklch(0.54 0.10 245);
    --rz-info-light: oklch(0.62 0.09 245);
    --rz-info-lighter: oklch(0.955 0.02 245);
    --rz-info-dark: oklch(0.47 0.10 245);
    --rz-info-darker: oklch(0.42 0.09 245);
    --rz-on-info-lighter: oklch(0.42 0.09 245);

    /* Цвета графиков: спокойные, различимые между собой */
    --rz-series-1: oklch(0.52 0.10 122);
    --rz-series-2: oklch(0.64 0.13 55);
    --rz-series-3: oklch(0.56 0.08 235);
    --rz-series-4: oklch(0.74 0.09 90);
    --rz-series-5: oklch(0.55 0.07 180);
    --rz-series-6: oklch(0.58 0.10 20);

    /* Текст */
    --rz-text-color: oklch(0.27 0.012 120);
    --rz-text-title-color: oklch(0.22 0.01 120);
    --rz-text-secondary-color: oklch(0.42 0.012 120);
    --rz-text-tertiary-color: oklch(0.50 0.012 120);
    --rz-text-font-family: "Golos Text", system-ui, -apple-system, "Segoe UI", sans-serif;
    --rz-body-font-size: 0.9375rem;
    --rz-body-line-height: 1.5;

    /* Поверхности */
    --rz-body-background-color: oklch(0.972 0.005 120);
    --rz-base-background-color: oklch(1 0 0);
    --rz-border-radius: 8px;
    --rz-border-normal: 1px solid var(--rz-base-300);

    --rz-header-background-color: oklch(1 0 0);
    --rz-header-color: var(--rz-text-color);
    --rz-header-border: 1px solid var(--rz-base-300);
    --rz-header-shadow: none;

    --rz-sidebar-background-color: oklch(1 0 0);
    --rz-sidebar-color: var(--rz-text-color);
    --rz-sidebar-border-inline-end: 1px solid var(--rz-base-300);

    --rz-panel-menu-item-background-color: transparent;
    --rz-panel-menu-item-color: var(--rz-text-secondary-color);
    --rz-panel-menu-item-hover-background-color: var(--rz-base-100);
    --rz-panel-menu-item-hover-color: var(--rz-text-title-color);
    --rz-panel-menu-item-active-background-color: var(--rz-primary-lighter);
    --rz-panel-menu-item-active-color: var(--rz-primary-darker);
    --rz-panel-menu-item-active-indicator: transparent;
    --rz-panel-menu-item-border: none;
    --rz-panel-menu-item-border-radius: 8px;
    --rz-panel-menu-item-margin-inline: 0.75rem;
    --rz-panel-menu-item-margin-block: 2px;
    --rz-panel-menu-item-padding-block: 0.6rem;
    --rz-panel-menu-item-padding-inline: 0.75rem;

    --rz-panel-menu-font-weight: 500;
    --rz-panel-menu-icon-color: var(--rz-text-tertiary-color);

    /* Пункты внутри раздела отдела: светлые, с отступом под иконку раздела */
    --rz-panel-menu-item-2nd-level-background-color: transparent;
    --rz-panel-menu-item-2nd-level-hover-background-color: var(--rz-base-100);
    --rz-panel-menu-item-2nd-level-active-background-color: var(--rz-primary-lighter);
    --rz-panel-menu-item-2nd-level-active-color: var(--rz-primary-darker);
    --rz-panel-menu-item-2nd-level-active-font-weight: 500;
    --rz-panel-menu-item-2nd-level-color: var(--rz-text-secondary-color);
    --rz-panel-menu-item-2nd-level-border-radius: 8px;
    --rz-panel-menu-item-2nd-level-margin-inline: 0.75rem;
    --rz-panel-menu-item-2nd-level-margin-block: 1px;
    --rz-panel-menu-item-2nd-level-padding-block: 0.45rem;
    --rz-panel-menu-item-2nd-level-offset: 1.25rem;
    --rz-panel-menu-icon-2nd-level-icon-size: 1.15rem;
    --rz-panel-menu-icon-2nd-level-margin-inline: 0 0.6rem;

    --rz-link-color: var(--rz-primary);
    --rz-link-hover-color: var(--rz-primary-darker);

    /* Таблицы: только горизонтальные линии */
    --rz-grid-cell-border: none;
    --rz-grid-header-cell-border: none;
    --rz-grid-header-cell-border-bottom: 1px solid var(--rz-base-300);
    --rz-grid-header-font-weight: 500;

    /* Вкладки: подчёркивание вместо серых коробок */
    --rz-tabs-tab-background-color: transparent;
    --rz-tabs-tab-hover-background-color: transparent;
    --rz-tabs-tab-color: var(--rz-text-secondary-color);
    --rz-tabs-tab-font-weight: 500;

    --rz-card-shadow: none;
    --rz-card-border: 1px solid var(--rz-base-300);
    --rz-card-border-radius: 12px;
    --rz-card-padding: 1.25rem 1.5rem;

    --rz-badge-text-transform: none;
    --rz-badge-letter-spacing: 0;
    --rz-badge-font-weight: 500;
    --rz-badge-font-size: 0.8125rem;
    --rz-badge-border-radius: 999px;
    --rz-badge-padding: 0.125rem 0.625rem;

    --rz-button-border-radius: 8px;
    --rz-button-font-weight: 500;

    --rz-grid-header-background-color: var(--rz-base-100);
    --rz-grid-header-color: var(--rz-text-secondary-color);
    --rz-grid-stripe-background-color: transparent;
    --rz-grid-hover-background-color: var(--rz-primary-lighter);

    --rz-tabs-tab-color: var(--rz-text-secondary-color);

    --atlas-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

body {
    margin: 0;
    font-family: var(--rz-text-font-family);
    font-size: var(--rz-body-font-size);
    color: var(--rz-text-color);
    background: var(--rz-body-background-color);
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3 {
    text-wrap: balance;
}

h1:focus {
    outline: none;
}

/* Видимый фокус для клавиатуры */
:focus-visible {
    outline: 2px solid var(--rz-primary);
    outline-offset: 2px;
}

/* Таблицы: спокойная шапка без капса, комфортная высота строки */
.rz-data-grid:not(.rz-gantt *) .rz-grid-table thead th {
    background: var(--rz-base-100);
    font-weight: 500;
    color: var(--rz-text-secondary-color);
}

/* Гант считает высоту строк сам, его таблицу не трогаем */
.rz-data-grid:not(.rz-gantt *) .rz-grid-table td,
.rz-data-grid:not(.rz-gantt *) .rz-grid-table th {
    padding-block: 0.7rem;
}

.rz-data-grid .rz-grid-table tbody td,
.rz-data-grid .rz-grid-table thead th {
    border-left: none;
    border-right: none;
    border-bottom-color: var(--rz-base-200);
}

/* Активный пункт меню: иконка в цвет текста */
.rz-navigation-item-wrapper-active .rz-navigation-item-icon,
.rz-navigation-item-link.rz-state-highlight .rz-navigation-item-icon {
    color: var(--rz-primary);
}

/* Вкладки карточки: активная подчёркнута основным цветом */
.rz-tabview-nav {
    border-bottom: 1px solid var(--rz-base-300);
    background: transparent;
}

.rz-tabview-nav li,
.rz-tabview-nav li > button {
    background: transparent;
    border: none;
}

.rz-tabview-nav li.rz-tabview-selected {
    box-shadow: inset 0 -2px 0 var(--rz-primary);
}

.rz-tabview-nav li.rz-tabview-selected .rz-tabview-title {
    color: var(--rz-text-title-color);
}

.rz-tabview-panels {
    border: 1px solid var(--rz-base-300);
    border-top: none;
    border-radius: 0 0 12px 12px;
}

.rz-data-grid:not(.rz-gantt *) {
    border: 1px solid var(--rz-base-300);
    border-radius: 12px;
    overflow: hidden;
    background: var(--rz-base-background-color);
}

/* Вкладки без капса */
.rz-tabview-nav li a,
.rz-tabview-nav .rz-tabview-title {
    text-transform: none;
    letter-spacing: 0;
    font-weight: 500;
}

/* Кнопки без капса и теней */
.rz-button {
    text-transform: none;
    letter-spacing: 0;
    box-shadow: none;
}

.rz-dialog {
    border-radius: 14px;
}

.rz-dialog-titlebar {
    padding-block: 1.1rem 0.5rem;
}

.rz-dialog-title {
    font-weight: 600;
    font-size: 1.125rem;
}

/* Заголовок страницы */
.page-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.page-header h1 {
    margin: 0;
    font-size: 1.625rem;
    line-height: 1.25;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--rz-text-title-color);
}

.page-header p {
    margin: 0.35rem 0 0;
    color: var(--rz-text-secondary-color);
    max-width: 70ch;
}

.page-header .actions {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

/* Блок-панель вместо тяжёлых карточек */
.panel {
    background: var(--rz-base-background-color);
    border: 1px solid var(--rz-base-300);
    border-radius: 12px;
    padding: 1.25rem 1.5rem;
}

.panel-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.75rem;
}

.panel-head h2 {
    margin: 0;
    font-size: 1.0625rem;
    font-weight: 600;
    color: var(--rz-text-title-color);
}

.panel-head .hint {
    color: var(--rz-text-tertiary-color);
    font-size: 0.875rem;
}

.muted {
    color: var(--rz-text-secondary-color);
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
    }
}

/* Гант: светлые полоски с тёмной подписью, заполненная часть показывает прогресс */
.rz-gantt {
    --rz-gantt-border: 1px solid var(--rz-base-300);
    border-radius: 12px;
}

.rz-gantt .rz-event.rz-gantt-bar {
    background-color: oklch(0.91 0.045 120);
    border: 1px solid oklch(0.80 0.07 120);
}

.rz-gantt .rz-gantt-bar-progress {
    background-color: oklch(0.80 0.09 120);
}

.rz-gantt .rz-gantt-bar-label {
    color: var(--rz-primary-darker);
    font-weight: 500;
}

.rz-gantt .rz-button,
.rz-gantt .rz-button.rz-today,
.rz-scheduler .rz-button,
.rz-scheduler .rz-button.rz-today {
    text-transform: none;
    letter-spacing: 0;
}

/* Блок «Сроки» и виджеты рабочего стола отдела */
.deadlines .deadline-group,
.widget .deadline-group {
    margin: 1rem 0 0;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--rz-text-secondary-color);
}

.deadlines .deadline-group.is-overdue {
    color: var(--rz-danger-dark);
}

.deadline-row {
    min-height: 44px;
}

/* Переход в раздел под списком виджета, касание от 44 px */
.widget > .summary-link {
    min-height: 44px;
    margin-top: 0.25rem;
}

.deadline-link {
    display: flex;
    flex-direction: column;

    /* Без базиса: на телефоне строка становится колонкой, и базис растянул бы ссылку в высоту */
    flex: 1 1 auto;
    min-width: 0;
    color: inherit;
    text-decoration: none;
}

.deadline-link:hover .list-title,
.deadline-link:focus-visible .list-title {
    text-decoration: underline;
}

