@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap');

/* main.css — адаптивный базовый стиль для приложения (совместим с Bootstrap 5) */

/* ========== Переменные ========== */
:root {
    --bg-color: #f4f5f7;
    --text-color: #16191d;
    --muted: #ffffff;
    --primary: #4f46e5;
    --ink: #16191d;
    --muted-text: #6b7280;
    --line: #eceef1;
    --line-2: #e3e5ea;
    --head-bg: #fafbfc;
    --shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 6px 16px rgba(16, 24, 40, .05);
    --pos: #1a7f4b;
    --pos-bg: #e8f6ee;
    --neg: #d6453d;
    --neg-bg: #fdecea;
    --card-bg: rgba(20, 20, 20, 0.8);
    --radius: 0.9rem;
    --container-max: 1200px;

    /* Типографика */
    --fs-base: clamp(0.95rem, 1rem + 0.2vw, 1.05rem);
    --fs-h1: clamp(1.25rem, 1.2rem + 1.6vw, 2.2rem);
    --fs-h2: clamp(1.05rem, 1rem + 1.0vw, 1.6rem);
    --gap: 1rem;
}

/* ========== Базовые правила ========== */
*,
*::before,
*::after {
    box-sizing: border-box;
}

html, body {
    margin: 0;
    font-family: "Manrope", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
    color: var(--text-color);
    background-color: var(--bg-color);
    font-size: var(--fs-base);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body {
    padding-top: 80px;
}

/* Ссылки */
a {
    color: var(--primary);
    text-decoration: none;
}

a:hover, a:focus {
    text-decoration: underline;
    outline: none;
}

/* Уважение предпочтений пользователя по анимации */
@media (prefers-reduced-motion: reduce) {
    * {
        transition: none !important;
        animation: none !important;
    }
}

/* ========== Формы и кнопки ========== */
input[type="text"], input[type="date"], input[type="number"], textarea, select {
    max-width: 100%;
    padding: 0.45rem 0.65rem;
    border-radius: 8px;
    border: 1px solid #e3e5ea;
    background: #fff;
    color: var(--text-color);
}

label {
    font-weight: 600;
    display: block;
    margin-bottom: .4rem;
    color: #000103;
}

footer {
    flex-shrink: 0;
    padding: 1rem;
    text-align: center;
    font-size: .95rem;
    background: #0b0b0b;
    color: #9b9b9b;
    border-top: 1px solid rgba(255, 255, 255, 0.03);
}

.report-filter {
    display: flex;
    align-items: flex-end;
    gap: 20px;
    margin-bottom: 25px;
}

.report-filter label {
    display: flex;
    flex-direction: column;
    font-weight: 600;
    font-size: 14px;
}

.report-filter input[type="date"] {
    padding: 6px 10px;
    font-size: 14px;
    border: 1px solid #ccc;
    border-radius: 6px;
}

.report-filter button {
    padding: 8px 18px;
    font-size: 14px;
    border: none;
    background: #369705;
    color: #fff;
    border-radius: 6px;
    cursor: pointer;
}

.report-filter button:hover {
    background: #68fc05;
}

.report-date {
    text-align: center;
    font-size: 30px;
    font-weight: 900;
    margin: 20px 0;
}

/* sticky заголовок всегда к верху окна */
.daily-table thead th {
    position: sticky;
    top: 0; /* всегда 0 относительно окна */
    background: #f6f6f6;
    z-index: 10;
}

.ad-id-cell {
    position: relative;
    cursor: pointer;
    white-space: nowrap;
}

/* Блок tooltip */
.ad-tooltip {
    display: none;
    position: absolute;

    top: 50%;          /* по центру по вертикали */
    left: 100%;        /* сразу справа от ячейки */
    transform: translateY(-50%);

    background: rgba(0, 0, 0, 0.85);
    color: #fff;
    padding: 10px 14px;
    border-radius: 6px;
    font-size: 0.9rem;
    line-height: 1.3;

    z-index: 200;
    box-shadow: 0 4px 10px rgba(0,0,0,0.3);

    pointer-events: none;
    white-space: nowrap;
}

/* Треугольник-указатель */
.ad-tooltip::before {
    content: "";
    position: absolute;
    left: -6px;
    top: 50%;
    transform: translateY(-50%);
    border-width: 6px;
    border-style: solid;
    border-color: transparent rgba(0,0,0,0.85) transparent transparent;
}

/* Показ при наведении */
.ad-id-cell:hover .ad-tooltip {
    display: block;
}

.account-name {
    margin-top: 50px;
    color: crimson;
    text-align: center;
}

/* ============================================================
   Глобальный SaaS-слой для Bootstrap-компонентов (внутренние страницы:
   Управление, Организации, формы, Справка, Сделки).
   Отчёты используют свои классы (.daily-table и т.д.) и не затрагиваются.
   ============================================================ */

main > .container,
main > div > .container { padding-top: 6px; }

main h1, main h2, main h3, main h4 {
    font-weight: 800;
    letter-spacing: -.02em;
    color: var(--ink);
}
main h2 { font-size: 1.5rem; margin-bottom: 1.1rem; }

/* ----- таблицы ----- */
.table {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
    background: #fff;
    border: 1px solid var(--line-2);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: var(--shadow);
    font-size: .92rem;
    color: var(--ink);
}
.table > thead > tr > th {
    background: var(--head-bg);
    color: var(--muted-text);
    text-transform: uppercase;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .04em;
    border-bottom: 1px solid var(--line-2);
    padding: 12px 14px;
    vertical-align: middle;
}
.table > tbody > tr > td {
    padding: 12px 14px;
    border-top: 1px solid var(--line);
    vertical-align: middle;
    background: transparent;
}
.table > tbody > tr:first-child > td { border-top: none; }
.table-hover > tbody > tr:hover > td { background: #fafbfc; }
.table-striped > tbody > tr:nth-of-type(odd) > td { background: transparent; }
td code, .table code, .font-monospace {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    background: #f1f2f5;
    border: 1px solid var(--line-2);
    border-radius: 6px;
    padding: 1px 7px;
    font-size: .82em;
    color: #3a3f47;
}

/* ----- кнопки ----- */
.btn { border-radius: 9px; font-weight: 600; }
.btn-primary { background: var(--primary); border-color: var(--primary); }
.btn-primary:hover, .btn-primary:focus { background: color-mix(in srgb, var(--primary) 82%, #000); border-color: color-mix(in srgb, var(--primary) 82%, #000); }
.btn-outline-primary { color: var(--primary); border-color: color-mix(in srgb, var(--primary) 28%, #fff); }
.btn-outline-primary:hover { background: var(--primary); border-color: var(--primary); color: #fff; }
.btn-secondary { background: #eef0f3; border-color: #e3e5ea; color: #2b2f36; }
.btn-secondary:hover { background: #e3e6ea; border-color: #d7dae0; color: #16191d; }
.btn-sm { border-radius: 7px; }

/* ----- формы ----- */
.form-control, .form-select {
    border-radius: 9px;
    border: 1px solid var(--line-2);
    padding: .5rem .7rem;
    font-size: .94rem;
    color: var(--ink);
    background: #fff;
}
.form-control:focus, .form-select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(79, 70, 229, .15);
}
.form-label {
    font-weight: 700;
    color: var(--muted-text);
    font-size: .74rem;
    letter-spacing: .03em;
    text-transform: uppercase;
    margin-bottom: .35rem;
}
.form-text { color: var(--muted-text); }
.form-narrow { max-width: 720px; }

/* ----- карточки ----- */
.card {
    border: 1px solid var(--line-2);
    border-radius: 14px;
    box-shadow: var(--shadow);
    background: #fff;
}
.card-header {
    background: var(--head-bg);
    border-bottom: 1px solid var(--line);
    font-weight: 700;
    border-radius: 14px 14px 0 0 !important;
}

/* ----- бейджи (мягкие) ----- */
.badge { font-weight: 700; border-radius: 7px; padding: .4em .65em; font-size: .72rem; letter-spacing: .02em; }
.badge.bg-success { background: var(--pos-bg) !important; color: var(--pos) !important; }
.badge.bg-danger  { background: var(--neg-bg) !important; color: var(--neg) !important; }
.badge.bg-warning { background: #fef3cd !important; color: #9a6700 !important; }
.badge.bg-secondary { background: #eef0f3 !important; color: #5b6573 !important; }

/* ----- алерты ----- */
.alert { border-radius: 11px; border: 1px solid; font-size: .9rem; }
.alert-success { background: var(--pos-bg); border-color: #b7e4c7; color: var(--pos); }
.alert-danger  { background: var(--neg-bg); border-color: #f3c0bc; color: var(--neg); }
.alert-warning { background: #fef3cd; border-color: #f3e2a9; color: #9a6700; }

/* ----- Переключение валюты расхода (клик по сумме; отчёты + главная) ----- */
/* Ячейки с нативной валютой (не-USD аккаунты) кликабельны: USD ↔ валюта аккаунта.
   --rp-accent — палитра отчётов; на главной её нет, поэтому fallback-цвет. */
.money-cell.has-native {
    cursor: pointer;
    text-decoration: underline dotted rgba(0, 0, 0, .35);
    text-underline-offset: 3px;
}
.money-cell.has-native:hover { color: var(--rp-accent, #2563eb); }
.money-cell.native-active { color: var(--rp-accent, #2563eb); font-style: italic; }





