﻿/* =============================================================
   MARKET NOTIFY — MONO GLASS (чёрно-серое стекло, акценты только на
   интерактиве). Порт нотовского notify_mono_glass.css — селекторы
   переведены под mn-/nt- разметку market-notify (структура тостов и
   админ-панели у market-notify другая, переписаны заново под тот же
   визуальный язык).
   =============================================================
   Подключать ПОСЛЕ notify.css (и после любой forum-темы, если есть):
   <link rel="stylesheet" href=".../css/mono-glass.css?v=1">
   Вернуть базовый скин — просто убрать эту строку <link>.
   ============================================================= */

@import url('https://fonts.googleapis.com/css2?family=Roboto+Slab:wght@400;500&display=swap');

:root {
    --mg-bg: 17, 17, 19;             /* почти чёрная база */
    --mg-bg2: 27, 27, 30;            /* чуть светлее графит */
    --mg-lilac: 190, 175, 215;       /* акцент №1 — пепельно-лиловый */
    --mg-lilac-deep: 212, 200, 232;  /* светлее, для текста на тёмном */
    --mg-teal: 122, 196, 196;        /* акцент №2 — пыльная бирюза */
    --mg-teal-deep: 150, 212, 212;
    --mg-text: 224, 224, 228;
    --mg-text-dim: 168, 168, 175;
    --mg-text-faint: 118, 118, 126;
    --mg-white: 255, 255, 255;
    --mg-danger: 224, 122, 142;
    --mg-success: 122, 196, 168;
}

/* ---------- анимации ---------- */
@keyframes mgTwinkle {
    0%, 100% { opacity: 0; transform: scale(0.5); }
    50%      { opacity: 0.9; transform: scale(1); }
}
@keyframes mgSoftPulse {
    0%, 100% { opacity: 0.6; }
    50%      { opacity: 1; }
}
@keyframes mgToastIn {
    from { transform: translateX(26px); opacity: 0; filter: blur(3px); }
    to   { transform: translateX(0); opacity: 1; filter: blur(0); }
}

/* ---------- триггер в улинксах (акцент) ---------- */
/* У market-notify триггер — текстовая ссылка без иконки-колокольчика
   (см. §review 2026-07-08), поэтому градиент вешаем на сам текст. */
#mn-noti-trigger {
    background: linear-gradient(135deg, rgb(var(--mg-lilac-deep)), rgb(var(--mg-teal-deep)));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0 1px 4px rgba(var(--mg-lilac), 0.4));
    transition: filter 0.3s ease, transform 0.3s ease;
}

#mn-noti-trigger:hover {
    filter: drop-shadow(0 0 8px rgba(var(--mg-teal), 0.7));
}

#mn-noti-trigger.has-unread {
    background: linear-gradient(135deg, rgb(var(--mg-danger)), rgb(var(--mg-lilac-deep)));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0 0 6px rgba(var(--mg-danger), 0.5));
    animation: mgSoftPulse 2.2s ease-in-out infinite;
}

#mn-noti-trigger .bubble {
    background: linear-gradient(135deg, rgb(var(--mg-danger)), rgb(var(--mg-lilac))) !important;
    -webkit-text-fill-color: initial;
    box-shadow: 0 2px 8px rgba(var(--mg-danger), 0.45), 0 0 0 1px rgba(var(--mg-white), 0.55) inset;
    border: none;
    filter: none;
}

/* ---------- оверлей — нейтральный, без цвета ---------- */
#mn-modal-overlay {
    background: rgba(0, 0, 0, 0.55) !important;
}

/* ---------- модалка: чёрно-серое стекло, БЕЗ цвета в фоне ---------- */
#mn-modal {
    background: linear-gradient(160deg, rgba(var(--mg-bg2), 0.92), rgba(var(--mg-bg), 0.96)) !important;
    backdrop-filter: blur(26px) saturate(120%);
    -webkit-backdrop-filter: blur(26px) saturate(120%);
    border: 1px solid rgba(var(--mg-white), 0.09) !important;
    border-radius: 22px !important;
    box-shadow:
        0 24px 60px rgba(0, 0, 0, 0.55),
        0 2px 8px rgba(0, 0, 0, 0.35),
        0 1px 0 rgba(var(--mg-white), 0.10) inset !important;
    color: rgb(var(--mg-text)) !important;
    position: relative;
    overflow: hidden;
}

#mn-modal > * { position: relative; z-index: 1; }

.mn-modal-header {
    color: rgba(var(--mg-text-faint), 0.9) !important;
    border-bottom: 1px solid rgba(var(--mg-white), 0.08) !important;
}

.mn-modal-header span,
.mn-modal-header-actions span {
    color: rgba(var(--mg-text-dim), 0.85) !important;
}

.mn-modal-header span:hover,
.mn-modal-header-actions span:hover {
    color: rgb(var(--mg-teal-deep)) !important;
    filter: drop-shadow(0 0 5px rgba(var(--mg-teal), 0.45));
}

/* ---------- вкладки (акцент на активной) ---------- */
#mn-modal-tabs {
    border-bottom: 1px solid rgba(var(--mg-white), 0.08) !important;
}

.mn-tab-btn {
    color: rgba(var(--mg-text-faint), 0.85) !important;
    border: 1px solid transparent !important;
    background: transparent !important;
    border-radius: 10px !important;
    transition: color 0.25s ease, background 0.25s ease, box-shadow 0.3s ease !important;
}

.mn-tab-btn:hover {
    color: rgb(var(--mg-text)) !important;
    background: rgba(var(--mg-white), 0.05) !important;
}

.mn-tab-btn.active {
    color: rgb(var(--mg-lilac-deep)) !important;
    background: rgba(var(--mg-white), 0.06) !important;
    border-color: rgba(var(--mg-lilac), 0.35) !important;
    box-shadow:
        0 0 12px rgba(var(--mg-lilac), 0.25),
        0 1px 0 rgba(var(--mg-white), 0.08) inset !important;
}

.mn-tab-count {
    background: rgba(var(--mg-white), 0.08) !important;
    color: rgba(var(--mg-text-dim), 0.9) !important;
    border-radius: 8px;
}

.mn-tab-btn.active .mn-tab-count {
    background: rgba(var(--mg-teal), 0.22) !important;
    color: rgb(var(--mg-teal-deep)) !important;
}

.mn-tab-count.unread-badge {
    background: linear-gradient(135deg, rgb(var(--mg-danger)), rgb(var(--mg-lilac))) !important;
    color: rgb(var(--mg-white)) !important;
    box-shadow: 0 1px 6px rgba(var(--mg-danger), 0.4);
}

/* ---------- скроллбары (акцентная заливка полоски) ---------- */
#mn-modal-list::-webkit-scrollbar-thumb,
#mn-settings-panel::-webkit-scrollbar-thumb,
#mn-admin-panel::-webkit-scrollbar-thumb,
#mn-mention-suggest::-webkit-scrollbar-thumb {
    background: linear-gradient(rgba(var(--mg-lilac), 0.5), rgba(var(--mg-teal), 0.5)) !important;
    border-radius: 10px;
}

/* ---------- строки уведомлений ---------- */
.nt-list-item {
    border-bottom: 1px solid rgba(var(--mg-white), 0.06) !important;
    color: rgb(var(--mg-text)) !important;
    transition: background 0.2s ease !important;
}

.nt-list-item:hover {
    background: rgba(var(--mg-white), 0.045) !important;
}

.nt-list-item.unread {
    background: rgba(var(--mg-white), 0.03) !important;
    border-left: 3px solid rgb(var(--mg-teal)) !important;
}

.nt-list-item.unread .nt-list-item-sender {
    color: rgb(var(--mg-teal-deep)) !important;
}

.nt-list-item-sender { color: rgb(var(--mg-text)) !important; }

.nt-list-item-text { color: rgba(var(--mg-text-dim), 0.9) !important; }

.nt-list-item-read {
    color: rgba(var(--mg-text-faint), 0.7) !important;
    background: rgba(var(--mg-white), 0.05);
}

.nt-list-item-read:hover {
    color: rgb(var(--mg-bg)) !important;
    background: linear-gradient(135deg, rgb(var(--mg-teal)), rgb(var(--mg-lilac))) !important;
    box-shadow: 0 2px 8px rgba(var(--mg-teal), 0.4);
}

.nt-empty { color: rgba(var(--mg-text-faint), 0.5) !important; }

/* ---------- TG-футер ---------- */
#mn-modal-tg-footer {
    border-top: 1px solid rgba(var(--mg-white), 0.08) !important;
}

.tg-btn-connect {
    background: rgba(var(--mg-white), 0.05) !important;
    border: 1px solid rgba(var(--mg-teal), 0.3) !important;
    color: rgba(var(--mg-text-dim), 0.9) !important;
    border-radius: 10px !important;
    transition: box-shadow 0.3s ease, background 0.25s ease !important;
}

.tg-btn-connect:hover:not(:disabled) {
    background: rgba(var(--mg-teal), 0.14) !important;
    color: rgb(var(--mg-teal-deep)) !important;
    box-shadow: 0 3px 14px rgba(var(--mg-teal), 0.3);
}

.tg-status-linked { color: rgba(var(--mg-success), 0.9) !important; }

#mn-tg-unlink-btn { color: rgb(var(--mg-danger)) !important; }

.tg-status-instruction { color: rgba(var(--mg-text-dim), 0.9) !important; }

.tg-code {
    background: rgba(var(--mg-white), 0.06) !important;
    border: 1px solid rgba(var(--mg-lilac), 0.35) !important;
    color: rgb(var(--mg-lilac-deep)) !important;
}

/* ---------- панель настроек ---------- */
.nt-settings-header { border-bottom: 1px solid rgba(var(--mg-white), 0.08) !important; }

.nt-settings-header-cell { color: rgba(var(--mg-text-faint), 0.7) !important; }

.nt-col-toggle:hover {
    color: rgb(var(--mg-teal-deep)) !important;
    text-shadow: 0 0 6px rgba(var(--mg-teal), 0.4);
}

.nt-settings-row { border-bottom: 1px solid rgba(var(--mg-white), 0.05) !important; }

.nt-settings-label { color: rgb(var(--mg-text-dim)) !important; }

.nt-settings-label i { color: rgba(var(--mg-lilac), 0.85) !important; }

.nt-toggle-track {
    background: rgba(var(--mg-white), 0.12) !important;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.35);
}

.nt-toggle input:checked + .nt-toggle-track {
    background: linear-gradient(135deg, rgb(var(--mg-lilac)), rgb(var(--mg-teal))) !important;
    box-shadow: 0 1px 8px rgba(var(--mg-lilac), 0.4) !important;
}

.nt-toggle-track::after {
    background: rgb(var(--mg-white)) !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}

.nt-volume-cell input[type="range"] {
    accent-color: rgb(var(--mg-teal-deep)) !important;
}

.nt-settings-divider { border-top: 1px solid rgba(var(--mg-white), 0.08) !important; }

/* ---------- кнопки (master-тумблер/админ-панель шарят класс nt-admin-btn) ---------- */
.nt-admin-btn,
#nt-toggle-all-btn {
    background: rgba(var(--mg-white), 0.05) !important;
    border: 1px solid rgba(var(--mg-white), 0.14) !important;
    color: rgb(var(--mg-text-dim)) !important;
    border-radius: 10px !important;
    transition: background 0.2s ease, box-shadow 0.25s ease !important;
}

.nt-admin-btn:hover,
#nt-toggle-all-btn:hover {
    background: rgba(var(--mg-lilac), 0.14) !important;
    box-shadow: 0 2px 10px rgba(var(--mg-lilac), 0.3);
}

#nt-toggle-all-btn.nt-btn-danger {
    border-color: rgba(var(--mg-danger), 0.45) !important;
    color: rgb(var(--mg-danger)) !important;
    background: rgba(var(--mg-white), 0.05) !important;
}

#nt-toggle-all-btn.nt-btn-danger:hover {
    background: rgba(var(--mg-danger), 0.12) !important;
    box-shadow: 0 2px 10px rgba(var(--mg-danger), 0.3);
}

.nt-admin-textarea {
    background: rgba(var(--mg-white), 0.05) !important;
    border: 1px solid rgba(var(--mg-white), 0.14) !important;
    color: rgb(var(--mg-text)) !important;
    border-radius: 10px !important;
}

/* ---------- @-саджест — нейтральное стекло ---------- */
#mn-mention-suggest {
    background: linear-gradient(160deg, rgba(var(--mg-bg2), 0.96), rgba(var(--mg-bg), 0.98)) !important;
    backdrop-filter: blur(18px) saturate(120%);
    -webkit-backdrop-filter: blur(18px) saturate(120%);
    border: 1px solid rgba(var(--mg-white), 0.09) !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.5), 0 1px 0 rgba(var(--mg-white), 0.08) inset !important;
    border-radius: 12px !important;
}

.mention-item:hover { background: rgba(var(--mg-teal), 0.10) !important; }

.mention-item div:first-child { color: rgb(var(--mg-text)) !important; }

/* ---------- стопка тостов — нейтральное стекло, анимация остаётся ---------- */
.mn-notice {
    background: linear-gradient(160deg, rgba(var(--mg-bg2), 0.94), rgba(var(--mg-bg), 0.97)) !important;
    backdrop-filter: blur(20px) saturate(120%);
    -webkit-backdrop-filter: blur(20px) saturate(120%);
    border: 1px solid rgba(var(--mg-white), 0.10) !important;
    border-radius: 16px !important;
    color: rgb(var(--mg-text)) !important;
    box-shadow:
        0 14px 36px rgba(0, 0, 0, 0.5),
        0 1px 0 rgba(var(--mg-white), 0.10) inset !important;
    animation: mgToastIn 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

/* пара нежных звёздочек-искр в тосте (акцент) */
.mn-notice::after {
    content: "✦";
    position: absolute;
    top: 6px;
    right: 30px;
    font-size: 9px;
    color: rgba(var(--mg-lilac), 0.85);
    animation: mgTwinkle 3s ease-in-out infinite;
    pointer-events: none;
}

.mn-notice::before {
    content: "✦";
    position: absolute;
    bottom: 8px;
    left: 8px;
    font-size: 7px;
    color: rgba(var(--mg-teal), 0.8);
    animation: mgTwinkle 3.8s ease-in-out 1.2s infinite;
    pointer-events: none;
}

.mn-notice-text { color: rgba(var(--mg-text), 0.95) !important; }
.mn-notice-text b { color: rgb(var(--mg-lilac-deep)) !important; }

.mn-notice-link {
    background: rgba(var(--mg-white), 0.06) !important;
    border: 1px solid rgba(var(--mg-teal), 0.35) !important;
    color: rgb(var(--mg-teal-deep)) !important;
    border-radius: 8px !important;
    transition: background 0.2s ease, box-shadow 0.25s ease !important;
}

.mn-notice-link:hover {
    background: rgba(var(--mg-teal), 0.14) !important;
    box-shadow: 0 2px 10px rgba(var(--mg-teal), 0.35);
}

.mn-notice-agg { color: rgb(var(--mg-lilac-deep)) !important; }

.mn-notice-close { color: rgba(var(--mg-text-faint), 0.7) !important; }
.mn-notice-close:hover { color: rgb(var(--mg-danger)) !important; }

.mn-notice-closeall {
    background: rgba(var(--mg-white), 0.08) !important;
    color: rgba(var(--mg-text-dim), 0.9) !important;
}
.mn-notice-closeall:hover { color: rgb(var(--mg-lilac-deep)) !important; }

.mn-notice-avatar {
    box-shadow: 0 0 0 2px rgba(var(--mg-bg2), 0.9), 0 0 0 3.5px rgba(var(--mg-lilac), 0.4), 0 2px 8px rgba(0, 0, 0, 0.4);
}

/* ---------- админ-панель ---------- */
#mn-admin-panel { color: rgb(var(--mg-text)); }

.nt-admin-section-title { color: rgb(var(--mg-lilac-deep)) !important; }

#nt-broadcast-text {
    background: rgba(var(--mg-white), 0.05) !important;
    border: 1px solid rgba(var(--mg-white), 0.14) !important;
    color: rgb(var(--mg-text)) !important;
    border-radius: 10px !important;
}

#nt-imp-add,
#nt-broadcast-send {
    background: linear-gradient(135deg, rgb(var(--mg-lilac)), rgb(var(--mg-teal))) !important;
    color: rgb(var(--mg-bg)) !important;
    box-shadow: 0 2px 10px rgba(var(--mg-lilac), 0.35);
    border-radius: 10px !important;
}

#nt-imp-add:hover,
#nt-broadcast-send:hover {
    box-shadow: 0 3px 16px rgba(var(--mg-teal), 0.45);
}

.nt-imp-row { border-bottom: 1px solid rgba(var(--mg-white), 0.08) !important; }

.nt-imp-title { color: rgb(var(--mg-text)) !important; }

.nt-imp-remove { color: rgb(var(--mg-danger)) !important; }

/* ---------- кнопка подписки на форум (акцент) ---------- */
.nt-forumsub-btn {
    background: rgba(var(--mg-lilac), 0.10) !important;
    border: 1px solid rgba(var(--mg-lilac), 0.35) !important;
    color: rgb(var(--mg-lilac-deep)) !important;
    border-radius: 10px !important;
}

.nt-forumsub-btn:hover { background: rgba(var(--mg-lilac), 0.18) !important; }

.nt-forumsub-btn.subscribed {
    background: rgba(var(--mg-success), 0.14) !important;
    border-color: rgba(var(--mg-success), 0.45) !important;
    box-shadow: 0 1px 8px rgba(var(--mg-success), 0.3);
}
