/* ---------- config-panel.css (v8.25) ----------
   Sprint config panel: две секции с явной иерархией, лёгкая карточка
   с подчёркивающими input-ами вместо тяжёлых рамок. Всё через токены
   из base.css → автоматически работает в обеих темах (dark/sandy light).
*/

.cfg-panel {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 10px;
    margin-bottom: 12px;
    overflow: hidden;
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.cfg-panel:hover {
    box-shadow: 0 4px 12px var(--shadow-md);
    border-color: var(--border-light);
}

/* ── Section ───────────────────────────────────────────────────── */
.cfg-section {
    padding: 12px 16px;
}

/* Вторая секция «Коэффициенты»: тонкий горизонтальный разделитель
   + чуть приглушённая подложка → визуально отделена от основной
   секции без необходимости рисовать рамку. */
.cfg-section--coef {
    border-top: 1px solid var(--border);
    background: var(--overlay-faint);
    padding-top: 10px;
    padding-bottom: 10px;
}

.cfg-section-title {
    margin: 0 0 10px;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-muted);
}

/* ── Fields layout ─────────────────────────────────────────────── */
.cfg-fields {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 10px 18px;
}

.cfg-field {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 80px;
}

.cfg-field--product {
    flex: 1 1 220px;
    min-width: 180px;
}

.cfg-field--narrow {
    flex: 0 0 96px;
    min-width: 84px;
}

.cfg-field--medium {
    flex: 0 0 150px;
    min-width: 130px;
}

/* ── Date range: «Начало → Окончание» как одна группа ──────────── */
.cfg-daterange {
    display: flex;
    align-items: flex-end;
    gap: 0;
    flex: 1 1 240px;
    min-width: 220px;
}

.cfg-daterange .cfg-field {
    flex: 1 1 0;
    min-width: 0;
}

.cfg-daterange__sep {
    display: inline-flex;
    align-items: center;
    color: var(--text-muted);
    padding: 0 8px 6px;
    flex: 0 0 auto;
    align-self: flex-end;
}

/* ── Labels ────────────────────────────────────────────────────── */
.cfg-label {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.7rem;
    font-weight: 500;
    color: var(--text-muted);
    white-space: nowrap;
}

/* ── Info buttons (заменили статичные ⓘ) ───────────────────────── */
.cfg-info-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    padding: 0;
    background: transparent;
    border: none;
    border-radius: 50%;
    color: var(--text-muted);
    cursor: help;
    transition: color 0.15s ease, background 0.15s ease;
    flex: 0 0 auto;
}

.cfg-info-btn:hover {
    color: var(--accent);
    background: var(--accent-bg-subtle);
}

.cfg-info-btn:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 1px;
    color: var(--accent);
}

.cfg-info-btn svg {
    display: block;
}

/* ── Inputs: подчёркивание вместо рамок ────────────────────────── */
.cfg-input {
    width: 100%;
    box-sizing: border-box;
    padding: 6px 8px;
    background: transparent;
    color: var(--text);
    border: none;
    border-bottom: 1.5px solid var(--border-light);
    border-radius: 4px 4px 0 0;
    font-family: inherit;
    font-size: 0.82rem;
    outline: none;
    transition: border-bottom-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.cfg-input:hover {
    background: var(--overlay-light);
}

.cfg-input:focus,
.cfg-input:focus-visible {
    border-bottom-color: var(--accent);
    background: var(--overlay-light);
    box-shadow: 0 1px 0 0 var(--accent);
}

/* Продукт — крупный/жирный, главный элемент секции */
.cfg-input--product {
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    padding-bottom: 4px;
}

/* Числовые поля: tabular-nums + правое выравнивание */
.cfg-input--number {
    font-variant-numeric: tabular-nums;
    text-align: right;
}

/* Даты: tabular-nums, центрированно (формат дд.мм.гггг) */
.cfg-input--date {
    font-variant-numeric: tabular-nums;
    text-align: center;
}

/* Ремонт глобального forms.css: .number-input навешивает inset
   shadow и центральное выравнивание поверх .cfg-input. Принудительно
   отключаем на наших инпутах внутри cfg-panel, чтобы выиграл наш
   underline-стиль (ниже по каскаду + специфичность через двойной class
   .cfg-input.number-input или явный override). */
.cfg-panel .cfg-input.number-input,
.cfg-panel .cfg-input.date-input {
    background: transparent;
    border: none;
    border-bottom: 1.5px solid var(--border-light);
    border-radius: 4px 4px 0 0;
    box-shadow: none;
}

.cfg-panel .cfg-input.number-input:focus,
.cfg-panel .cfg-input.date-input:focus {
    border-bottom-color: var(--accent);
    box-shadow: 0 1px 0 0 var(--accent);
}

/* ── Touch targets (≥44×44) ───────────────────────────────────── */
@media (pointer: coarse), (max-width: 720px) {
    .cfg-input {
        min-height: 44px;
        padding: 10px 8px;
    }
    .cfg-info-btn {
        width: 32px;
        height: 32px;
        min-width: 32px;
    }
    .cfg-info-btn svg {
        width: 16px;
        height: 16px;
    }
}

/* ── Адаптивность ─────────────────────────────────────────────── */
@media (max-width: 720px) {
    .cfg-field--product,
    .cfg-daterange {
        flex: 1 1 100%;
    }
    .cfg-fields {
        gap: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cfg-panel,
    .cfg-input,
    .cfg-info-btn {
        transition: none;
    }
}

/* ── Print: чистый минимум ────────────────────────────────────── */
@media print {
    .cfg-panel {
        background: white !important;
        border: 1px solid #ccc !important;
        box-shadow: none !important;
        border-radius: 4px !important;
    }
    .cfg-section--coef {
        background: #f7f7f7 !important;
    }
    .cfg-info-btn {
        display: none !important;
    }
    .cfg-input {
        border-bottom-color: #ccc !important;
        background: transparent !important;
        color: #000 !important;
    }
}
