:root {
    --tt-bg: #f1f1f1;
    --tt-surface: #ffffff;
    --tt-text: #202030;
    --tt-muted: #777777;
    --tt-border: #dedee6;
    --tt-primary: #1fb6f2;
    --tt-primary-hover: #149dd4;
    --tt-primary-dark: #0c9cd5;
    --tt-link-dark: #33d3ff;
    --tt-accent: #ff335c;
    --tt-accent-hover: #e6264e;
    --tt-dark: #000000;
    --tt-dark-surface: #171717;
    --tt-dark-surface-2: #242424;
    --tt-dark-surface-3: #333333;
    --tt-dark-border: #3e3e3e;
    --tt-dark-text: #d9d9d9;
    --tt-dark-muted: #777777;
    --ttime-chat-gap: 12px;
    --ttime-chat-width: 404px;
    --ttime-topbar-height: 60px;
    --ttime-visual-viewport-height: 100vh;
}

/* Glass UI layer: soft translucent surfaces without extra dependencies. */
:root {
    --tt-bg: #edf3f8;
    --tt-surface: rgba(255, 255, 255, .76);
    --tt-surface-solid: #ffffff;
    --tt-glass: rgba(255, 255, 255, .84);
    --tt-glass-strong: rgba(255, 255, 255, .94);
    --tt-glass-border: rgba(255, 255, 255, .68);
    --tt-glass-shadow: 0 18px 48px rgba(31, 42, 68, .11);
    --tt-glass-inner: inset 0 1px 0 rgba(255, 255, 255, .72), inset 0 -1px 0 rgba(255, 255, 255, .18);
    --tt-dark: #0f1115;
    --tt-dark-surface: rgba(25, 27, 32, .78);
    --tt-dark-surface-2: rgba(36, 39, 46, .70);
    --tt-dark-surface-3: rgba(48, 52, 60, .76);
    --tt-dark-border: rgba(255, 255, 255, .12);
    --tt-dark-glass: rgba(24, 26, 31, .88);
    --tt-dark-glass-strong: rgba(31, 34, 40, .94);
    --tt-dark-glass-shadow: 0 20px 56px rgba(0, 0, 0, .38);
}

body,
.content-wrapper,
.login-page {
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .92), rgba(237, 243, 248, .78) 42%, rgba(244, 246, 250, .92)),
        var(--tt-bg);
}

.main-header.navbar-white,
.main-header.navbar-dark,
.card,
.login-card-body,
.dropdown-menu,
.modal-content,
.ttime-topic-modal .modal-content,
.ttime-profile-modal .modal-content,
.topic-card,
.topic-detail-heading,
.topic-detail-summary,
.topic-clean-panel,
.topic-score-card,
.ttime-settings-subcard,
.ttime-cron-status-card,
.ttime-telegram-health-card,
.custom-topic-param,
.custom-topic-details,
.custom-topic-press-text,
.custom-topic-ai-draft,
.custom-topic-html-editor,
.custom-topic-tags-editor,
.custom-topic-publication-image,
.custom-topic-unsplash-item,
.custom-topic-asset-file,
.ttime-chat-panel,
.ttime-chat-header,
.ttime-chat-tabs,
.ttime-chat-members,
.ttime-chat-compose,
.ttime-chat-members-popover,
.ttime-chat-mention-box,
.ttime-chat-emoji-box {
    border-color: var(--tt-glass-border);
    background: var(--tt-glass);
    -webkit-backdrop-filter: saturate(145%) blur(22px);
    backdrop-filter: saturate(145%) blur(22px);
    box-shadow: var(--tt-glass-shadow), var(--tt-glass-inner);
}

.main-header.navbar-white,
.main-header.navbar-dark {
    background: rgba(255, 255, 255, .72);
    border-bottom-color: rgba(255, 255, 255, .58);
    box-shadow: 0 10px 30px rgba(31, 42, 68, .08), inset 0 -1px 0 rgba(255, 255, 255, .42);
}

.card-header,
.card-footer,
.modal-header,
.modal-footer {
    border-color: rgba(31, 42, 68, .08);
    background: rgba(255, 255, 255, .30);
}

.dropdown-menu {
    border-radius: 8px;
}

.dropdown-item {
    border-radius: 6px;
}

.dropdown-item:hover,
.dropdown-item:focus {
    background: rgba(31, 182, 242, .10);
}

.btn,
.form-control,
.custom-select,
.input-group-text,
.page-link,
.topic-queue-tab,
.topic-sort-link,
.topic-tool-button,
.ttime-project-toggle,
.theme-toggle,
.ttime-nav-icon-link,
.ttime-settings-tabs .nav-link,
.ttime-inner-settings-tabs .nav-link {
    transition:
        background-color .18s ease,
        border-color .18s ease,
        color .18s ease,
        box-shadow .18s ease,
        transform .18s ease;
}

.btn:active,
.topic-queue-tab:active,
.topic-sort-link:active,
.topic-tool-button:active,
.ttime-project-toggle:active,
.ttime-nav-icon-link:active {
    transform: translateY(1px);
}

.btn-outline-secondary,
.btn-outline-primary,
.btn-outline-info,
.theme-toggle,
.topic-tool-button,
.ttime-project-toggle,
.ttime-nav-icon-link,
.topic-queue-tab,
.topic-sort-link,
.ttime-settings-tabs .nav-link,
.ttime-inner-settings-tabs .nav-link {
    border-color: rgba(31, 42, 68, .12);
    background: rgba(255, 255, 255, .42);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .58);
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus,
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-info:hover,
.btn-outline-info:focus,
.theme-toggle:hover,
.theme-toggle:focus,
.topic-tool-button:hover,
.topic-tool-button:focus,
.ttime-project-toggle:hover,
.ttime-project-toggle:focus,
.ttime-project-toggle[aria-expanded="true"],
.ttime-nav-icon-link:hover,
.ttime-nav-icon-link:focus,
.ttime-nav-icon-link.active,
.topic-queue-tab:hover,
.topic-queue-tab:focus,
.topic-queue-tab.active,
.topic-sort-link:hover,
.topic-sort-link:focus,
.topic-sort-link.active,
.ttime-settings-tabs .nav-link:hover,
.ttime-settings-tabs .nav-link.active,
.ttime-inner-settings-tabs .nav-link:hover,
.ttime-inner-settings-tabs .nav-link.active {
    border-color: color-mix(in srgb, var(--tt-primary) 38%, rgba(255, 255, 255, .64));
    background: color-mix(in srgb, var(--tt-primary) 11%, rgba(255, 255, 255, .68));
    box-shadow: 0 8px 22px rgba(31, 42, 68, .08), inset 0 1px 0 rgba(255, 255, 255, .68);
}

.form-control,
.custom-select,
.input-group-text {
    border-color: rgba(31, 42, 68, .15);
    background: rgba(255, 255, 255, .64);
}

.form-control:focus,
.custom-select:focus {
    border-color: color-mix(in srgb, var(--tt-primary) 48%, rgba(31, 42, 68, .15));
    background: rgba(255, 255, 255, .86);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--tt-primary) 16%, transparent);
}

.table-hover tbody tr:hover,
.mobile-card-table tr:hover,
.topic-card:hover {
    background: color-mix(in srgb, var(--tt-primary) 5%, rgba(255, 255, 255, .56));
}

.topic-card {
    box-shadow: 0 14px 40px rgba(31, 42, 68, .08), inset 0 1px 0 rgba(255, 255, 255, .62);
}

.topic-card-pinned {
    background: color-mix(in srgb, #f0b429 14%, rgba(255, 255, 255, .68));
}

.topic-chip-muted,
.topic-signal-chip,
.topic-score-chip,
.topic-state-pill,
.topic-status-pill,
.topic-entity-chip,
.badge-light {
    border-color: rgba(31, 42, 68, .10);
    background: rgba(255, 255, 255, .46);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .54);
}

.ttime-main-footer {
    background: transparent;
    border-top-color: transparent;
}

body.dark-mode,
.dark-mode {
    color: var(--tt-dark-text);
    background:
        linear-gradient(145deg, rgba(20, 23, 29, .98), rgba(12, 15, 20, .96) 48%, rgba(24, 27, 34, .98)),
        var(--tt-dark) !important;
}

body.dark-mode .wrapper,
.dark-mode .content-wrapper,
.dark-mode.login-page {
    background: transparent !important;
}

.dark-mode .main-header.navbar-dark,
.dark-mode .card,
.dark-mode .login-card-body,
.dark-mode .modal-content,
.dark-mode .dropdown-menu,
.dark-mode .ttime-topic-modal .modal-content,
.dark-mode .ttime-profile-modal .modal-content,
.dark-mode .topic-card,
.dark-mode .topic-detail-heading,
.dark-mode .topic-detail-summary,
.dark-mode .topic-clean-panel,
.dark-mode .topic-score-card,
.dark-mode .ttime-settings-subcard,
.dark-mode .ttime-cron-status-card,
.dark-mode .ttime-telegram-health-card,
.dark-mode .custom-topic-param,
.dark-mode .custom-topic-details,
.dark-mode .custom-topic-press-text,
.dark-mode .custom-topic-ai-draft,
.dark-mode .custom-topic-html-editor,
.dark-mode .custom-topic-tags-editor,
.dark-mode .custom-topic-publication-image,
.dark-mode .custom-topic-unsplash-item,
.dark-mode .custom-topic-asset-file,
.dark-mode .ttime-chat-panel,
.dark-mode .ttime-chat-header,
.dark-mode .ttime-chat-tabs,
.dark-mode .ttime-chat-members,
.dark-mode .ttime-chat-compose,
.dark-mode .ttime-chat-members-popover,
.dark-mode .ttime-chat-mention-box,
.dark-mode .ttime-chat-emoji-box {
    border-color: var(--tt-dark-border);
    background: var(--tt-dark-glass);
    -webkit-backdrop-filter: saturate(150%) blur(24px);
    backdrop-filter: saturate(150%) blur(24px);
    box-shadow: var(--tt-dark-glass-shadow), inset 0 1px 0 rgba(255, 255, 255, .08);
}

.dark-mode .main-header.navbar-dark {
    background: rgba(18, 20, 25, .72);
    border-bottom-color: rgba(255, 255, 255, .10);
    box-shadow: 0 14px 34px rgba(0, 0, 0, .30), inset 0 -1px 0 rgba(255, 255, 255, .06);
}

.dark-mode .card-header,
.dark-mode .card-footer,
.dark-mode .modal-header,
.dark-mode .modal-footer {
    border-color: rgba(255, 255, 255, .08);
    background: rgba(255, 255, 255, .035);
}

.dark-mode .btn-outline-secondary,
.dark-mode .btn-outline-primary,
.dark-mode .btn-outline-info,
.dark-mode .theme-toggle,
.dark-mode .topic-tool-button,
.dark-mode .ttime-project-toggle,
.dark-mode .ttime-nav-icon-link,
.dark-mode .topic-queue-tab,
.dark-mode .topic-sort-link,
.dark-mode .ttime-settings-tabs .nav-link,
.dark-mode .ttime-inner-settings-tabs .nav-link {
    border-color: rgba(255, 255, 255, .12);
    background: rgba(255, 255, 255, .055);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07);
}

.dark-mode .btn-outline-secondary:hover,
.dark-mode .btn-outline-secondary:focus,
.dark-mode .btn-outline-primary:hover,
.dark-mode .btn-outline-primary:focus,
.dark-mode .btn-outline-info:hover,
.dark-mode .btn-outline-info:focus,
.dark-mode .theme-toggle:hover,
.dark-mode .theme-toggle:focus,
.dark-mode .topic-tool-button:hover,
.dark-mode .topic-tool-button:focus,
.dark-mode .ttime-project-toggle:hover,
.dark-mode .ttime-project-toggle:focus,
.dark-mode .ttime-project-toggle[aria-expanded="true"],
.dark-mode .ttime-nav-icon-link:hover,
.dark-mode .ttime-nav-icon-link:focus,
.dark-mode .ttime-nav-icon-link.active,
.dark-mode .topic-queue-tab:hover,
.dark-mode .topic-queue-tab:focus,
.dark-mode .topic-queue-tab.active,
.dark-mode .topic-sort-link:hover,
.dark-mode .topic-sort-link:focus,
.dark-mode .topic-sort-link.active,
.dark-mode .ttime-settings-tabs .nav-link:hover,
.dark-mode .ttime-settings-tabs .nav-link.active,
.dark-mode .ttime-inner-settings-tabs .nav-link:hover,
.dark-mode .ttime-inner-settings-tabs .nav-link.active {
    border-color: color-mix(in srgb, var(--tt-link-dark) 36%, rgba(255, 255, 255, .12));
    background: color-mix(in srgb, var(--tt-link-dark) 11%, rgba(255, 255, 255, .055));
    box-shadow: 0 10px 26px rgba(0, 0, 0, .24), inset 0 1px 0 rgba(255, 255, 255, .09);
}

.dark-mode .form-control,
.dark-mode .custom-select,
.dark-mode .input-group-text {
    border-color: rgba(255, 255, 255, .13);
    background: rgba(255, 255, 255, .07);
    color: var(--tt-dark-text);
}

.dark-mode .form-control:focus,
.dark-mode .custom-select:focus {
    border-color: color-mix(in srgb, var(--tt-link-dark) 44%, rgba(255, 255, 255, .13));
    background: rgba(255, 255, 255, .095);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--tt-link-dark) 17%, transparent);
}

.dark-mode .table-hover tbody tr:hover,
.dark-mode .mobile-card-table tr:hover,
.dark-mode .topic-card:hover {
    background: color-mix(in srgb, var(--tt-link-dark) 7%, rgba(255, 255, 255, .035));
}

.dark-mode .topic-card-pinned {
    border-color: rgba(240, 180, 41, .34);
    background: color-mix(in srgb, #f0b429 13%, var(--tt-dark-glass));
}

.dark-mode .topic-chip-muted,
.dark-mode .topic-signal-chip,
.dark-mode .topic-score-chip,
.dark-mode .topic-state-pill,
.dark-mode .topic-status-pill,
.dark-mode .topic-entity-chip,
.dark-mode .badge-light {
    border-color: rgba(255, 255, 255, .10);
    background: rgba(255, 255, 255, .055);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07);
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    .main-header.navbar-white,
    .card,
    .login-card-body,
    .dropdown-menu,
    .modal-content,
    .topic-card {
        background: var(--tt-surface-solid);
    }

    .dark-mode .main-header.navbar-dark,
    .dark-mode .card,
    .dark-mode .login-card-body,
    .dark-mode .dropdown-menu,
    .dark-mode .modal-content,
    .dark-mode .topic-card {
        background: #191b20;
    }
}

body {
    color: var(--tt-text);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background: var(--tt-bg);
}

a {
    color: var(--tt-primary);
}

a:hover {
    color: var(--tt-primary-hover);
}

.content-wrapper,
.login-page {
    background: var(--tt-bg);
}

[data-cron-monitor] {
    min-width: 0;
}

.ttime-cron-card {
    display: inline-block;
    min-width: 0;
    margin-bottom: .75rem;
    border-color: transparent;
    background: transparent;
    box-shadow: none;
}

.ttime-cron-card .card-body {
    padding-right: 0;
    padding-left: 0;
}

.ttime-cron-details {
    min-width: 0;
}

.ttime-cron-details > summary {
    display: inline-flex;
    min-width: 22px;
    height: 22px;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    list-style: none;
    cursor: pointer;
    border-radius: 999px;
}

.ttime-cron-details > summary::-webkit-details-marker {
    display: none;
}

.ttime-cron-details > summary:focus {
    outline: 2px solid color-mix(in srgb, var(--tt-primary) 40%, transparent);
    outline-offset: 2px;
}

.ttime-cron-dot {
    display: block;
    flex: 0 0 auto;
    width: 11px;
    height: 11px;
    border-radius: 999px;
    background: #adb5bd;
    box-shadow: 0 0 0 3px rgba(173, 181, 189, .18);
}

.ttime-cron-compact-text {
    color: var(--tt-muted);
    font-size: .86rem;
    line-height: 1;
    white-space: nowrap;
}

[data-cron-monitor][data-cron-status="success"] .ttime-cron-dot {
    background: #28a745;
    box-shadow: 0 0 0 3px rgba(40, 167, 69, .18);
}

[data-cron-monitor][data-cron-status="running"] .ttime-cron-dot {
    background: #17a2b8;
    box-shadow: 0 0 0 3px rgba(23, 162, 184, .18);
    animation: ttime-cron-dot-pulse 1.15s ease-in-out infinite;
}

[data-cron-monitor][data-cron-status="error"] .ttime-cron-dot {
    background: #dc3545;
    box-shadow: 0 0 0 3px rgba(220, 53, 69, .18);
}

[data-cron-monitor][data-cron-status="locked"] .ttime-cron-dot {
    background: #ffc107;
    box-shadow: 0 0 0 3px rgba(255, 193, 7, .20);
}

[data-cron-monitor][data-cron-status="disabled"] .ttime-cron-dot {
    background: #6c757d;
    box-shadow: 0 0 0 3px rgba(108, 117, 125, .18);
}

.ttime-cron-expanded {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    min-width: min(100%, 960px);
    margin-top: .35rem;
    padding: .55rem .65rem;
    border: 1px solid var(--tt-border);
    border-radius: 8px;
    background: var(--tt-surface);
    box-shadow: 0 8px 24px rgba(32, 32, 48, .06);
}

.ttime-cron-expanded-text {
    min-width: 0;
}

@keyframes ttime-cron-dot-pulse {
    0%,
    100% {
        transform: scale(1);
        opacity: 1;
    }
    50% {
        transform: scale(.72);
        opacity: .72;
    }
}

.main-header.navbar-white {
    position: sticky;
    top: 0;
    z-index: 1080;
    border-bottom: 1px solid var(--tt-border);
    background: var(--tt-surface);
}

.main-header.navbar-dark {
    position: sticky;
    top: 0;
    z-index: 1080;
}

.main-header .dropdown-menu {
    z-index: 1090;
}

.navbar-light .navbar-brand,
.navbar-light .navbar-nav .nav-link {
    color: var(--tt-text);
}

.navbar-light .ttime-brand-name {
    color: var(--tt-text);
}

.navbar-light .ttime-brand-name:hover,
.navbar-light .ttime-brand-name:focus {
    color: var(--tt-primary);
    text-decoration: none;
}

.navbar-light .navbar-nav .nav-link.active,
.navbar-light .navbar-nav .show > .nav-link,
.navbar-light .navbar-nav .nav-link:hover {
    color: var(--tt-primary);
}

.card {
    border-color: var(--tt-border);
    box-shadow: 0 8px 24px rgba(32, 32, 48, .06);
}

.card-header,
.card-footer {
    border-color: var(--tt-border);
    background: var(--tt-surface);
}

.ttime-main-footer {
    border-top: 1px solid var(--tt-border);
    background: var(--tt-surface);
    color: var(--tt-muted);
    font-size: .82rem;
}

.ttime-main-footer-inner {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    min-width: 0;
}

.ttime-main-footer-dot {
    color: color-mix(in srgb, var(--tt-muted) 70%, transparent);
}

.table thead th {
    border-bottom-color: var(--tt-border);
    color: var(--tt-muted);
}

.table td,
.table th {
    border-top-color: var(--tt-border);
}

.table-hover tbody tr:hover {
    background: rgba(31, 182, 242, .06);
}

.admin-fit-table {
    width: 100%;
    table-layout: fixed;
}

.admin-fit-table th,
.admin-fit-table td {
    white-space: normal;
    overflow-wrap: anywhere;
    vertical-align: top;
}

.admin-fit-table .badge {
    white-space: normal;
    text-align: left;
}

.admin-fit-table .btn {
    white-space: normal;
}

.users-table th:nth-child(1),
.users-table td:nth-child(1) {
    width: 13%;
}

.users-table th:nth-child(2),
.users-table td:nth-child(2) {
    width: 10%;
}

.users-table th:nth-child(3),
.users-table td:nth-child(3) {
    width: 17%;
}

.users-table th:nth-child(4),
.users-table td:nth-child(4),
.users-table th:nth-child(7),
.users-table td:nth-child(7) {
    width: 9%;
}

.users-table th:nth-child(5),
.users-table td:nth-child(5),
.users-table th:nth-child(6),
.users-table td:nth-child(6) {
    width: 14%;
}

.users-table th:nth-child(8),
.users-table td:nth-child(8) {
    width: 9%;
}

.users-table th:nth-child(9),
.users-table td:nth-child(9) {
    width: 5%;
}

.sources-table th:nth-child(1),
.sources-table td:nth-child(1) {
    width: 3%;
}

.sources-table th:nth-child(2),
.sources-table td:nth-child(2) {
    width: 20%;
}

.sources-table th:nth-child(3),
.sources-table td:nth-child(3),
.sources-table th:nth-child(4),
.sources-table td:nth-child(4) {
    width: 10%;
}

.sources-table th:nth-child(5),
.sources-table td:nth-child(5),
.sources-table th:nth-child(6),
.sources-table td:nth-child(6) {
    width: 5%;
}

.sources-table th:nth-child(7),
.sources-table td:nth-child(7) {
    width: 9%;
}

.sources-table th:nth-child(8),
.sources-table td:nth-child(8) {
    width: 13%;
}

.sources-table th:nth-child(9),
.sources-table td:nth-child(9) {
    width: 7%;
}

.sources-table th:nth-child(10),
.sources-table td:nth-child(10) {
    width: 7%;
}

.sources-table th:nth-child(11),
.sources-table td:nth-child(11) {
    width: 9%;
}

.sources-table td:last-child .btn,
.sources-table td:last-child form {
    margin-bottom: 4px;
}

.source-sort-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: inherit;
    text-decoration: none;
    white-space: nowrap;
}

.source-sort-link:hover,
.source-sort-link.active {
    color: var(--tt-primary);
    text-decoration: none;
}

.source-sort-link .fas {
    color: var(--tt-muted);
    font-size: 0.8rem;
}

.source-sort-link.active .fas {
    color: currentColor;
}

.source-sort-sub {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-top: 2px;
    font-size: 0.75rem;
    font-weight: 400;
}

.source-sort-sub a {
    color: var(--tt-muted);
    text-decoration: none;
}

.source-sort-sub a:hover,
.source-sort-sub a.active {
    color: var(--tt-primary);
    text-decoration: none;
}

.btn-primary,
.badge-primary,
.page-item.active .page-link,
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link,
.dropdown-item.active,
.dropdown-item:active {
    border-color: var(--tt-primary);
    background-color: var(--tt-primary);
    color: #ffffff;
}

.btn-primary:hover,
.btn-primary:focus,
.page-item.active .page-link:hover {
    border-color: var(--tt-primary-hover);
    background-color: var(--tt-primary-hover);
    color: #ffffff;
}

.btn-outline-primary {
    border-color: var(--tt-primary);
    color: var(--tt-primary);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    border-color: var(--tt-primary);
    background: var(--tt-primary);
    color: #ffffff;
}

.btn-danger,
.badge-danger,
.alert-danger {
    border-color: var(--tt-accent);
    background-color: var(--tt-accent);
    color: #ffffff;
}

.btn-danger:hover,
.btn-danger:focus {
    border-color: var(--tt-accent-hover);
    background-color: var(--tt-accent-hover);
}

.nav-tabs .nav-link {
    color: var(--tt-muted);
}

.nav-tabs .nav-link:hover {
    border-color: transparent;
    color: var(--tt-primary);
}

.nav-tabs .nav-link.active {
    border-top: 2px solid var(--tt-primary);
    color: var(--tt-text);
}

.topic-queue-shell {
    margin-top: .75rem;
    overflow: visible;
}

.topic-queue-header {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .85rem;
    padding: .75rem .9rem;
    border-bottom-color: var(--tt-border);
}

.topic-queue-header::after {
    display: none;
}

.topic-queue-heading {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: .7rem;
}

.topic-queue-header .card-title {
    margin: 0;
    color: var(--tt-text);
    font-size: .98rem;
    font-weight: 700;
    line-height: 1.2;
}

.ttime-cron-inline {
    display: inline-flex;
    position: relative;
    z-index: 8;
    align-items: center;
}

.ttime-cron-inline .ttime-cron-expanded {
    position: absolute;
    top: calc(100% + .5rem);
    left: 0;
    width: min(760px, calc(100vw - 2rem));
}

.ttime-telegram-watchdog {
    display: inline-flex;
    position: relative;
    z-index: 7;
    align-items: center;
    max-width: 360px;
    color: var(--tt-muted);
    font-size: .84rem;
}

.ttime-telegram-watchdog > summary {
    display: inline-flex;
    min-height: 24px;
    align-items: center;
    gap: .38rem;
    cursor: pointer;
    list-style: none;
    white-space: nowrap;
}

.ttime-telegram-watchdog > summary::-webkit-details-marker {
    display: none;
}

.ttime-telegram-watchdog-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border-radius: 50%;
    background: #9ca3af;
    box-shadow: 0 0 0 2px color-mix(in srgb, #9ca3af 18%, transparent);
}

.ttime-telegram-watchdog-ok .ttime-telegram-watchdog-dot {
    background: #22c55e;
    box-shadow: 0 0 0 2px color-mix(in srgb, #22c55e 18%, transparent);
}

.ttime-telegram-watchdog-warning .ttime-telegram-watchdog-dot {
    background: #f59e0b;
    box-shadow: 0 0 0 2px color-mix(in srgb, #f59e0b 22%, transparent);
}

.ttime-telegram-watchdog-error .ttime-telegram-watchdog-dot {
    background: #ef4444;
    box-shadow: 0 0 0 2px color-mix(in srgb, #ef4444 20%, transparent);
}

.ttime-telegram-watchdog-expanded {
    position: absolute;
    top: calc(100% + .5rem);
    left: 0;
    width: min(520px, calc(100vw - 2rem));
    padding: .65rem .75rem;
    border: 1px solid var(--tt-border);
    border-radius: 8px;
    background: var(--tt-surface);
    box-shadow: 0 14px 32px rgba(15, 23, 42, .14);
    color: var(--tt-muted);
    white-space: normal;
}

.ttime-telegram-health-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: .75rem;
}

.ttime-telegram-health-card {
    padding: .7rem .8rem;
    border: 1px solid var(--tt-border);
    border-radius: 8px;
    background: var(--tt-surface);
}

.ttime-telegram-health-title {
    display: flex;
    align-items: center;
    gap: .45rem;
    margin-bottom: .25rem;
    color: var(--tt-text);
}

.topic-queue-tools {
    display: flex;
    float: none;
    align-items: center;
    gap: .4rem;
    margin: 0;
}

.topic-queue-tool-form {
    margin: 0;
}

.topic-tool-button {
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    gap: .42rem;
    padding: .34rem .62rem;
    border: 1px solid var(--tt-border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--tt-surface) 82%, var(--tt-bg));
    color: var(--tt-muted);
    font-size: .82rem;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition: border-color .14s ease, background-color .14s ease, color .14s ease, transform .14s ease;
}

.topic-tool-button:hover,
.topic-tool-button:focus {
    border-color: color-mix(in srgb, var(--tt-primary) 34%, var(--tt-border));
    background: color-mix(in srgb, var(--tt-primary) 8%, var(--tt-surface));
    color: var(--tt-text);
    outline: none;
    text-decoration: none;
}

.topic-tool-button:active {
    transform: translateY(1px);
}

.topic-tool-button .fas {
    color: var(--tt-primary);
    font-size: .88rem;
}

.custom-topic-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.custom-topic-row-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: .35rem;
}

.custom-topic-row-actions form {
    margin: 0;
}

.custom-topic-source-card,
.custom-topic-ai-card {
    overflow: visible;
}

.custom-topic-params-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .65rem;
    margin-bottom: .85rem;
}

.custom-topic-param {
    min-width: 0;
    padding: .65rem .75rem;
    border: 1px solid var(--tt-border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--tt-surface) 86%, var(--tt-bg));
}

.custom-topic-param-wide {
    grid-column: span 2;
}

.custom-topic-param span {
    display: block;
    margin-bottom: .22rem;
    color: var(--tt-muted);
    font-size: .78rem;
    font-weight: 700;
}

.custom-topic-param strong {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
    color: var(--tt-text);
    font-size: .94rem;
    line-height: 1.35;
}

.custom-topic-details {
    margin-top: .85rem;
    border: 1px solid var(--tt-border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--tt-surface) 90%, var(--tt-bg));
}

.custom-topic-details > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .72rem .85rem;
    color: var(--tt-text);
    font-weight: 700;
    cursor: pointer;
    list-style: none;
}

.custom-topic-details > summary::-webkit-details-marker {
    display: none;
}

.custom-topic-details > summary::after {
    content: "\f078";
    color: var(--tt-muted);
    font-family: "Font Awesome 5 Free";
    font-size: .72rem;
    font-weight: 900;
    transition: transform .14s ease;
}

.custom-topic-details[open] > summary::after {
    transform: rotate(180deg);
}

.custom-topic-details > summary span:last-child {
    color: var(--tt-muted);
    font-size: .78rem;
    font-weight: 700;
    white-space: nowrap;
}

.custom-topic-details .custom-topic-press-text {
    margin: 0 .85rem .85rem;
}

.custom-topic-card .topic-card-main {
    align-items: start;
}

.topic-card.custom-topic-card-published {
    border-color: rgba(16, 185, 129, .24);
    background: color-mix(in srgb, #ecfdf3 72%, var(--tt-surface));
}

.topic-card.custom-topic-card-error {
    border-color: rgba(236, 72, 153, .24);
    background: color-mix(in srgb, #fff1f5 74%, var(--tt-surface));
}

.topic-card.custom-topic-card-unpublished {
    border-color: rgba(245, 158, 11, .24);
    background: color-mix(in srgb, #fff8df 72%, var(--tt-surface));
}

.custom-topic-card-excerpt {
    max-width: 72ch;
    margin-top: 2px;
    color: var(--tt-muted);
    font-size: .88rem;
    line-height: 1.45;
}

.custom-topic-card-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: stretch;
    justify-content: stretch;
}

.custom-topic-card-actions > .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    width: auto;
}

.custom-topic-card .topic-chip-text {
    text-decoration: none;
}

.topic-signal-success {
    border-color: rgba(16, 185, 129, .34);
    color: #087a55;
    background: rgba(16, 185, 129, .08);
}

.topic-signal-warning {
    border-color: rgba(245, 158, 11, .38);
    color: #8a6100;
    background: rgba(245, 158, 11, .1);
}

.topic-signal-danger {
    border-color: rgba(220, 53, 69, .34);
    color: #b42318;
    background: rgba(220, 53, 69, .08);
}

.custom-topic-matches {
    display: grid;
    gap: .5rem;
    margin-top: 1rem;
}

.custom-topic-match-title {
    color: var(--tt-muted);
    font-size: .86rem;
    font-weight: 700;
}

.custom-topic-match {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .65rem;
    width: 100%;
    padding: .7rem .8rem;
    border: 1px solid var(--tt-border);
    border-radius: 8px;
    background: var(--tt-surface);
    color: var(--tt-text);
    text-align: left;
}

.custom-topic-match:hover,
.custom-topic-match:focus,
.custom-topic-match.active {
    border-color: color-mix(in srgb, var(--tt-primary) 45%, var(--tt-border));
    background: color-mix(in srgb, var(--tt-primary) 7%, var(--tt-surface));
    outline: none;
}

.custom-topic-match-ref {
    color: var(--tt-muted);
    font-size: .82rem;
    font-weight: 700;
}

.custom-topic-match-body {
    display: grid;
    min-width: 0;
    gap: .18rem;
}

.custom-topic-match-body strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.custom-topic-match-body small {
    color: var(--tt-muted);
}

.custom-topic-press-text,
.custom-topic-ai-draft {
    max-height: 520px;
    overflow: auto;
    padding: .85rem;
    border: 1px solid var(--tt-border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--tt-surface) 82%, var(--tt-bg));
    white-space: normal;
}

.custom-topic-ai-draft-editor {
    margin-top: 1rem;
}

.custom-topic-ai-draft-editor label {
    color: var(--tt-text);
    font-weight: 700;
}

.custom-topic-html-editor {
    overflow: hidden;
    border: 1px solid var(--tt-border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--tt-surface) 88%, var(--tt-bg));
}

.custom-topic-html-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    padding: .45rem;
    border-bottom: 1px solid var(--tt-border);
}

.custom-topic-html-toolbar .btn {
    display: inline-flex;
    min-width: 32px;
    min-height: 30px;
    align-items: center;
    justify-content: center;
    padding: .24rem .48rem;
    border-radius: 6px;
    font-weight: 700;
    line-height: 1;
}

.custom-topic-ai-draft-textarea {
    min-height: 360px;
    max-height: 900px;
    border: 0;
    border-radius: 0;
    resize: vertical;
    line-height: 1.55;
}

.custom-topic-ai-draft-textarea:focus {
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--tt-primary) 55%, transparent);
}

.custom-topic-image-prompt {
    min-height: 120px;
    resize: vertical;
    color: var(--tt-muted);
    font-size: .9rem;
    line-height: 1.5;
}

.custom-topic-title-editor label {
    color: var(--tt-text);
    font-weight: 700;
}

.custom-topic-title-editor .form-control {
    min-width: 0;
}

.custom-topic-title-editor-wide {
    margin-bottom: 1rem;
}

.custom-topic-ai-status-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    margin-bottom: .85rem;
}

.custom-topic-ai-notes {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: .75rem;
}

.custom-topic-ai-note {
    margin-bottom: .8rem;
    padding: .75rem .85rem;
    border: 1px solid var(--tt-border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--tt-surface) 90%, var(--tt-bg));
}

.custom-topic-ai-note h4 {
    margin: 0 0 .35rem;
    color: var(--tt-text);
    font-size: .9rem;
    font-weight: 700;
}

.custom-topic-ai-note div {
    color: var(--tt-muted);
    font-size: .9rem;
}

.custom-topic-ai-card .custom-topic-ai-draft {
    max-height: none;
}

.custom-topic-tags-editor {
    display: grid;
    gap: .45rem;
    padding: .55rem;
    border: 1px solid var(--tt-border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--tt-surface) 88%, var(--tt-bg));
}

.custom-topic-tags-list {
    display: flex;
    flex-wrap: wrap;
    gap: .38rem;
    min-height: 30px;
}

.custom-topic-tag-chip {
    display: inline-flex;
    max-width: 100%;
    align-items: center;
    gap: .35rem;
    padding: .25rem .28rem .25rem .55rem;
    border: 1px solid color-mix(in srgb, var(--tt-primary) 26%, var(--tt-border));
    border-radius: 999px;
    background: color-mix(in srgb, var(--tt-primary) 8%, var(--tt-surface));
    color: var(--tt-text);
    font-size: .84rem;
    font-weight: 700;
    line-height: 1.1;
}

.custom-topic-tag-label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.custom-topic-tag-remove {
    display: inline-flex;
    width: 20px;
    height: 20px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--tt-muted);
    cursor: pointer;
    font-size: .72rem;
    line-height: 1;
}

.custom-topic-tag-remove:hover,
.custom-topic-tag-remove:focus {
    background: color-mix(in srgb, #dc3545 12%, transparent);
    color: #dc3545;
    outline: none;
}

.custom-topic-tags-add {
    width: 100%;
    min-width: 0;
    border: 0;
    background: transparent;
    color: var(--tt-text);
    font-size: .9rem;
    outline: none;
}

.custom-topic-tags-add::placeholder {
    color: var(--tt-muted);
}

.custom-topic-approve-form {
    display: grid;
    width: min(100%, 460px);
    gap: .55rem;
}

.custom-topic-editor-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: .55rem;
}

.custom-topic-editor-actions form {
    margin: 0;
}

.custom-topic-publication-image {
    padding: .65rem;
    border: 1px solid var(--tt-border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--tt-surface) 88%, var(--tt-bg));
}

.custom-topic-image-source-row {
    display: flex;
    align-items: center;
    gap: .5rem;
}

.custom-topic-image-source-row .form-control-file {
    min-width: 0;
}

.custom-topic-unsplash-picker {
    display: grid;
    gap: .55rem;
    margin-top: .65rem;
    padding-top: .65rem;
    border-top: 1px solid var(--tt-border);
}

.custom-topic-unsplash-results {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .5rem;
}

.custom-topic-unsplash-item {
    display: grid;
    overflow: hidden;
    padding: 0;
    border: 1px solid var(--tt-border);
    border-radius: 8px;
    background: var(--tt-surface);
    color: var(--tt-text);
    cursor: pointer;
    text-align: left;
}

.custom-topic-unsplash-item:hover,
.custom-topic-unsplash-item:focus {
    border-color: color-mix(in srgb, var(--tt-primary) 38%, var(--tt-border));
    outline: none;
}

.custom-topic-unsplash-item:disabled {
    cursor: wait;
    opacity: .58;
}

.custom-topic-unsplash-item img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.custom-topic-unsplash-meta {
    display: block;
    overflow: hidden;
    padding: .38rem .45rem;
    color: var(--tt-muted);
    font-size: .74rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.custom-topic-assets {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: .65rem;
}

.custom-topic-assets img,
.custom-topic-asset-file {
    display: block;
    width: 100%;
    border: 1px solid var(--tt-border);
    border-radius: 8px;
    background: var(--tt-surface);
}

.custom-topic-assets img {
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.custom-topic-asset-file {
    padding: .8rem;
    color: var(--tt-text);
}

.topic-queue-filterbar {
    padding: .7rem .9rem .8rem;
    border-bottom: 1px solid var(--tt-border);
    background: color-mix(in srgb, var(--tt-surface) 82%, var(--tt-bg));
}

.topic-queue-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: .38rem;
    margin: 0;
    border: 0;
}

.topic-queue-tab {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    gap: .4rem;
    padding: .38rem .62rem !important;
    border: 1px solid transparent !important;
    border-radius: 999px !important;
    background: transparent;
    color: var(--tt-muted);
    font-size: .84rem;
    font-weight: 700;
    line-height: 1;
}

.topic-queue-tab:hover,
.topic-queue-tab:focus {
    border-color: color-mix(in srgb, var(--tt-primary) 24%, var(--tt-border)) !important;
    background: color-mix(in srgb, var(--tt-primary) 7%, transparent);
    color: var(--tt-text);
    text-decoration: none;
}

.topic-queue-tab.active {
    border-color: color-mix(in srgb, var(--tt-primary) 32%, var(--tt-border)) !important;
    background: var(--tt-surface);
    color: var(--tt-text);
    box-shadow: 0 6px 16px rgba(32, 32, 48, .08);
}

.topic-queue-tab .fas {
    color: color-mix(in srgb, var(--tt-primary) 78%, var(--tt-muted));
    font-size: .86rem;
}

.topic-queue-count {
    display: inline-flex;
    min-width: 18px;
    height: 18px;
    align-items: center;
    justify-content: center;
    padding: 0 .34rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--tt-bg) 82%, var(--tt-surface));
    color: var(--tt-muted);
    font-size: .68rem;
    font-weight: 800;
    line-height: 1;
}

.topic-queue-tab.active .topic-queue-count {
    background: color-mix(in srgb, var(--tt-primary) 13%, var(--tt-surface));
    color: var(--tt-primary-dark);
}

.topic-tabs-separator {
    width: 1px;
    min-height: 24px;
    margin: .3rem .35rem;
    background: var(--tt-border);
}

.topic-queue-subbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .65rem;
    margin-top: .65rem;
}

.topic-sort-switch {
    display: inline-flex;
    gap: 2px;
    padding: 3px;
    border: 1px solid var(--tt-border);
    border-radius: 999px;
    background: color-mix(in srgb, var(--tt-bg) 72%, var(--tt-surface));
}

.topic-sort-link {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    gap: .34rem;
    padding: .26rem .58rem;
    border-radius: 999px;
    color: var(--tt-muted);
    font-size: .8rem;
    font-weight: 800;
    line-height: 1;
}

.topic-sort-link:hover,
.topic-sort-link:focus {
    color: var(--tt-text);
    text-decoration: none;
}

.topic-sort-link.active {
    background: var(--tt-surface);
    color: var(--tt-text);
    box-shadow: 0 4px 12px rgba(32, 32, 48, .08);
}

.topic-sort-link .fas {
    color: color-mix(in srgb, var(--tt-primary) 75%, var(--tt-muted));
    font-size: .78rem;
}

.topic-queue-entity-filter {
    color: var(--tt-muted);
    font-size: .82rem;
}

.form-control:focus,
.custom-select:focus {
    border-color: var(--tt-primary);
    box-shadow: 0 0 0 .2rem rgba(31, 182, 242, .16);
}

.login-logo a,
.login-logo {
    color: var(--tt-text);
}

.login-card-body {
    color: var(--tt-text);
}

.brand-link {
    text-align: left;
}

.brand-link .brand-image {
    float: none;
    margin-left: .45rem;
    margin-right: .55rem;
    max-height: 34px;
    opacity: .95;
}

.card-tools .btn + .btn {
    margin-left: .25rem;
}

.theme-toggle {
    min-width: 5.4rem;
    text-align: left;
}

.theme-toggle .fas {
    width: 1rem;
    margin-right: .25rem;
    text-align: center;
}

.ttime-mobile-actions {
    display: none;
}

.ttime-mobile-actions .dropdown-menu form {
    margin: 0;
}

.ttime-mobile-actions .dropdown-item {
    display: flex;
    align-items: center;
    gap: .15rem;
}

.ttime-collab-brand {
    align-items: center !important;
    min-width: 0;
    gap: .22rem;
    padding-top: .25rem;
    padding-bottom: .25rem;
    white-space: nowrap;
}

.ttime-brand-name {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
    font-size: 1.12rem;
    font-weight: 700;
    line-height: 1;
}

.ttime-brand-icon-only {
    justify-content: flex-start;
    gap: .42rem;
    width: auto;
    min-width: 0;
    height: 36px;
    border-radius: 10px;
}

.ttime-brand-label {
    line-height: 1;
}

.ttime-app-icon {
    position: relative;
    display: inline-block;
    align-self: center;
    flex: 0 0 auto;
    width: 30px;
    height: 28px;
    overflow: visible;
}

.ttime-app-icon img {
    position: absolute;
    display: block;
    height: auto;
    user-select: none;
    -webkit-user-drag: none;
}

.ttime-app-icon-face {
    top: 0;
    right: 0;
    width: 23px;
    z-index: 2;
    transform-origin: 54% 58%;
}

.ttime-app-icon-hand-one {
    left: 0;
    bottom: 0;
    width: 15px;
    z-index: 3;
    transform-origin: 74% 58%;
}

.ttime-app-icon-hand-two {
    right: 2px;
    bottom: 0;
    width: 15px;
    z-index: 4;
    transform-origin: 38% 50%;
}

.ttime-brand-name.is-icon-animating .ttime-app-icon-face {
    animation: ttime-app-icon-face 2.4s ease-in-out infinite;
}

.ttime-brand-name.is-icon-animating .ttime-app-icon-hand-one {
    animation: ttime-app-icon-cup 2.4s ease-in-out infinite;
}

.ttime-brand-name.is-icon-animating .ttime-app-icon-hand-two {
    animation: ttime-app-icon-plate 2.4s ease-in-out infinite;
}

.ttime-mini-loader {
    position: relative;
    display: inline-block;
    flex: 0 0 auto;
    width: 34px;
    height: 32px;
    overflow: visible;
    vertical-align: middle;
}

.ttime-mini-loader img {
    position: absolute;
    display: block;
    height: auto;
    user-select: none;
    -webkit-user-drag: none;
}

.ttime-mini-loader-face {
    top: 0;
    right: 0;
    width: 27px;
    z-index: 2;
    transform-origin: 54% 58%;
    animation: ttime-app-icon-face 2.4s ease-in-out infinite;
}

.ttime-mini-loader-cup {
    left: 0;
    bottom: 0;
    width: 17px;
    z-index: 3;
    transform-origin: 74% 58%;
    animation: ttime-app-icon-cup 2.4s ease-in-out infinite;
}

.ttime-mini-loader-plate {
    right: 2px;
    bottom: 0;
    width: 17px;
    z-index: 4;
    transform-origin: 38% 50%;
    animation: ttime-app-icon-plate 2.4s ease-in-out infinite;
}

.ttime-mini-loader-xs {
    width: 26px;
    height: 24px;
}

.ttime-mini-loader-xs .ttime-mini-loader-face {
    width: 21px;
}

.ttime-mini-loader-xs .ttime-mini-loader-cup,
.ttime-mini-loader-xs .ttime-mini-loader-plate {
    width: 13px;
}

.ttime-loading-inline {
    display: inline-flex;
    align-items: center;
    gap: .38rem;
    line-height: 1;
    vertical-align: middle;
}

[data-cron-spinner].ttime-loading-inline {
    position: relative;
    top: 2px;
}

.ttime-loading-block {
    display: grid;
    justify-items: center;
    gap: .45rem;
    color: var(--tt-muted);
    text-align: center;
}

@keyframes ttime-app-icon-face {
    0%,
    100% {
        transform: translate3d(0, .4px, 0) rotate(-2.4deg);
    }
    36% {
        transform: translate3d(-.7px, -.4px, 0) rotate(2.6deg);
    }
    52% {
        transform: translate3d(-.9px, 0, 0) rotate(3deg);
    }
    72% {
        transform: translate3d(.2px, .6px, 0) rotate(-1.6deg);
    }
}

@keyframes ttime-app-icon-cup {
    0%,
    100% {
        transform: translate3d(0, 1px, 0) rotate(-10deg);
    }
    24% {
        transform: translate3d(-1px, -1px, 0) rotate(-13deg);
    }
    42% {
        transform: translate3d(-2.5px, -3px, 0) rotate(-17deg);
    }
    56% {
        transform: translate3d(-2.5px, -3px, 0) rotate(-17deg);
    }
    76% {
        transform: translate3d(-.6px, 0, 0) rotate(-12deg);
    }
}

@keyframes ttime-app-icon-plate {
    0%,
    100% {
        transform: translate3d(0, .7px, 0) rotate(-3deg);
    }
    34% {
        transform: translate3d(.6px, -.4px, 0) rotate(2deg);
    }
    58% {
        transform: translate3d(-.4px, 0, 0) rotate(-1deg);
    }
    76% {
        transform: translate3d(.4px, .5px, 0) rotate(2deg);
    }
}

.ttime-collab-x {
    color: var(--tt-muted);
    font-size: .95rem;
    font-weight: 600;
    line-height: 1;
    margin: 0 .03rem;
    opacity: .7;
    transform: translateY(1px);
}

.ttime-project-switcher {
    min-width: 0;
}

.ttime-project-toggle {
    display: inline-flex;
    align-items: center;
    max-width: 260px;
    min-height: 32px;
    padding: .2rem .42rem;
    border: 1px solid transparent;
    border-radius: 999px;
    background: transparent;
    color: inherit;
    font: inherit;
    font-size: .92rem;
    line-height: 1.2;
    transition: border-color .16s ease, background-color .16s ease, color .16s ease;
}

.ttime-project-toggle-icon-only {
    justify-content: flex-start;
}

.ttime-project-toggle-icon-only .ttime-project-caret {
    display: inline-block;
}

.ttime-project-toggle:hover,
.ttime-project-toggle:focus,
.ttime-project-toggle[aria-expanded="true"] {
    border-color: var(--tt-border);
    background: rgba(31, 182, 242, .06);
    color: var(--tt-text);
    outline: none;
}

.ttime-project-favicon,
.ttime-project-option-favicon {
    width: 18px;
    height: 18px;
    align-self: center;
    flex: 0 0 auto;
    object-fit: contain;
}

.ttime-project-name {
    max-width: 180px;
    margin-left: .38rem;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1;
    transform: translateY(2px);
}

.ttime-project-caret {
    margin-left: .4rem;
    font-size: .65rem;
    opacity: 0;
    transition: opacity .16s ease;
}

.ttime-project-toggle:hover .ttime-project-caret,
.ttime-project-toggle:focus .ttime-project-caret,
.ttime-project-toggle[aria-expanded="true"] .ttime-project-caret {
    opacity: .8;
}

.ttime-project-option-form {
    margin: 0;
}

.ttime-project-option {
    display: flex;
    align-items: center;
    width: 100%;
    gap: .55rem;
}

.ttime-nav-icon-link {
    position: relative;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    width: auto;
    min-width: 0;
    height: 36px;
    padding: .38rem .65rem !important;
    border-radius: 10px;
    line-height: 1;
}

.ttime-nav-icon-link .fas {
    margin: 0;
    font-size: 1rem;
}

.ttime-project-option .fa-check {
    font-size: .78rem;
}

.ttime-settings-tabs-wrap {
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
}

.ttime-settings-tabs {
    min-width: max-content;
    border-bottom-color: var(--tt-border);
}

.ttime-settings-tabs .nav-link {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}

.ttime-settings-project-icon {
    width: 16px;
    height: 16px;
    margin-right: .35rem;
    object-fit: contain;
    vertical-align: -2px;
}

.mobile-card-table {
    width: 100%;
}

.ttime-entity-projects {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem 1rem;
}

.ttime-entity-project {
    min-width: 180px;
}

.ttime-entity-project .custom-control-label {
    display: inline-flex;
    align-items: center;
}

.ttime-user-project .custom-control-label,
.ttime-project-badge {
    display: inline-flex;
    align-items: center;
}

.ttime-project-badge {
    gap: .1rem;
}

[data-topics-queue].is-refreshing {
    opacity: .72;
    transition: opacity .16s ease;
}

.topic-card-list {
    display: grid;
    gap: 10px;
}

.topic-empty-state {
    padding: 32px 16px;
    border: 1px dashed var(--tt-border);
    border-radius: 8px;
    color: var(--tt-muted);
    text-align: center;
}

.topic-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 214px;
    gap: 18px;
    padding: 16px;
    border: 1px solid var(--tt-border);
    border-radius: 8px;
    background: var(--tt-surface);
    box-shadow: 0 8px 20px rgba(32, 32, 48, .045);
}

.topic-card-pinned {
    border-color: rgba(240, 180, 41, .62);
    background: #fff8df;
}

.topic-card-main {
    display: grid;
    min-width: 0;
}

.topic-card-main-with-media {
    grid-template-columns: 112px minmax(0, 1fr);
    column-gap: 13px;
    row-gap: 10px;
    align-items: start;
}

.topic-card-main-with-media .topic-card-thumb {
    grid-column: 1;
    grid-row: 1;
}

.topic-card-main-with-media .topic-card-content {
    grid-column: 2;
    grid-row: 1;
}

.topic-card-content {
    min-width: 0;
}

.topic-card-thumb,
.topic-source-media-thumb {
    display: block;
    overflow: hidden;
    border: 1px solid var(--tt-border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--tt-surface) 74%, var(--tt-bg));
}

.topic-card-thumb {
    width: 112px;
    aspect-ratio: 16 / 10;
}

.topic-card-thumb img,
.topic-source-media-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.topic-source-media-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 10px 0 2px;
}

.topic-source-media-thumb {
    width: 104px;
    aspect-ratio: 16 / 10;
}

.ttime-image-preview {
    position: fixed;
    top: var(--ttime-topbar-height, 60px);
    right: 12px;
    bottom: 12px;
    left: 12px;
    z-index: 1145;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 12px;
    background: rgba(15, 23, 42, .58);
    pointer-events: none;
}

.ttime-image-preview.is-open {
    display: flex;
    cursor: zoom-out;
    pointer-events: auto;
}

.ttime-image-preview-window {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    width: min(920px, 100%);
    max-height: calc(100vh - var(--ttime-topbar-height, 60px) - 48px);
    overflow: hidden;
    border: 1px solid var(--tt-border);
    border-radius: 8px;
    background: var(--tt-surface);
    box-shadow: 0 22px 56px rgba(16, 24, 40, .34);
    cursor: default;
    pointer-events: auto;
}

.ttime-image-preview-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border-bottom: 1px solid var(--tt-border);
}

.ttime-image-preview-title {
    overflow: hidden;
    color: var(--tt-muted);
    font-size: .84rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ttime-image-preview-open,
.ttime-image-preview-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 1px solid var(--tt-border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--tt-surface) 80%, var(--tt-bg));
    color: var(--tt-muted);
}

.ttime-image-preview-open:hover,
.ttime-image-preview-open:focus,
.ttime-image-preview-close:hover,
.ttime-image-preview-close:focus {
    border-color: color-mix(in srgb, var(--tt-primary) 36%, var(--tt-border));
    color: var(--tt-primary);
    text-decoration: none;
    outline: none;
}

.ttime-image-preview-close {
    cursor: pointer;
}

.ttime-image-preview-stage {
    display: flex;
    min-height: 0;
    align-items: center;
    justify-content: center;
    padding: 12px;
    cursor: zoom-out;
    background:
        linear-gradient(45deg, rgba(148, 163, 184, .12) 25%, transparent 25%) 0 0 / 24px 24px,
        linear-gradient(45deg, transparent 75%, rgba(148, 163, 184, .12) 75%) 0 0 / 24px 24px,
        var(--tt-bg);
}

.ttime-image-preview-stage img {
    display: block;
    max-width: 100%;
    max-height: calc(100vh - var(--ttime-topbar-height, 60px) - 116px);
    border-radius: 6px;
    cursor: default;
    object-fit: contain;
}

.topic-card-side {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: space-between;
    gap: 12px;
}

.topic-card-ref-row {
    display: flex;
    justify-content: flex-end;
}

.topic-card-kicker,
.topic-card-meta,
.topic-chip-line {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 8px;
}

.topic-card-kicker {
    margin-bottom: 7px;
}

.topic-card-kicker-after-title {
    margin-top: 7px;
    margin-bottom: 0;
}

.topic-card-title {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 650;
    line-height: 1.26;
}

.topic-title-translation-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.1rem;
    margin-right: .28rem;
    color: var(--tt-primary-dark);
    font-size: .9rem;
    vertical-align: .04em;
}

.topic-title-pin-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.1rem;
    margin-right: .28rem;
    color: #b7791f;
    font-size: .86rem;
    vertical-align: .05em;
}

.topic-card-title a {
    color: var(--tt-text);
}

.topic-card-title a:hover,
.topic-card-title a:focus {
    color: var(--tt-primary);
    text-decoration: none;
}

.topic-card-meta {
    margin-top: 8px;
    color: var(--tt-muted);
    font-size: .84rem;
}

.topic-card-meta a {
    color: inherit;
}

.topic-card-under-title {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1.05fr) minmax(240px, .95fr);
    gap: 12px 18px;
    margin-top: 9px;
}

.topic-card-info-left,
.topic-card-info-right {
    display: grid;
    align-content: start;
    gap: 7px;
    min-width: 0;
}

.topic-card-info-left .topic-card-meta {
    margin-top: 0;
}

.topic-card-info-right {
    padding-left: 16px;
    border-left: 1px solid var(--tt-border);
}

.topic-card-groups {
    display: grid;
    gap: 7px;
    margin-top: 10px;
}

.topic-ref-pill,
.topic-status-pill,
.topic-state-pill,
.topic-age-pill,
.topic-chip-muted,
.topic-chip-text,
.topic-entity-chip,
.topic-signal-chip,
.topic-score-chip,
.topic-action-note {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    border-radius: 999px;
    font-size: .78rem;
    line-height: 1;
    white-space: nowrap;
}

.topic-ref-pill {
    padding: 0 8px;
    border: 1px solid var(--tt-border);
    color: #6b7280;
    background: transparent;
    font-weight: 700;
}

.topic-ref-copy-pill {
    cursor: pointer;
}

button.topic-ref-pill {
    appearance: none;
}

.topic-ref-pill:hover,
.topic-ref-pill:focus {
    border-color: color-mix(in srgb, var(--tt-primary) 30%, var(--tt-border));
    color: var(--tt-primary-dark);
    outline: none;
}

.topic-ref-pill.is-copied {
    border-color: rgba(16, 185, 129, .45);
    color: #087a55;
}

.topic-status-pill,
.topic-state-pill,
.topic-chip-muted,
.topic-signal-chip,
.topic-action-note {
    padding: 0 8px;
    border: 1px solid var(--tt-border);
    color: #596579;
    background: color-mix(in srgb, var(--tt-surface) 72%, var(--tt-bg));
}

.topic-state-pinned {
    border-color: rgba(240, 180, 41, .55);
    color: #8a6100;
    background: rgba(240, 180, 41, .13);
}

.topic-age-pill {
    padding: 0 8px;
}

.topic-age-text,
.topic-chip-text {
    gap: 4px;
    color: var(--tt-muted);
}

.topic-age-fresh {
    color: #28a745;
}

.topic-age-recent {
    color: #17a2b8;
}

.topic-age-aging {
    color: #ffc107;
}

.topic-age-old {
    color: #dc3545;
}

.topic-telegram-inline i {
    color: #229ed9;
}

.topic-entity-chip {
    padding: 0 8px;
    border: 1px solid color-mix(in srgb, var(--tt-primary) 18%, var(--tt-border));
    color: #475467;
    background: color-mix(in srgb, var(--tt-primary) 5%, var(--tt-surface));
    text-decoration: none;
}

.topic-entity-link {
    color: #475467;
    text-decoration: none;
}

.topic-entity-link:hover,
.topic-entity-link:focus {
    border-color: var(--tt-primary) !important;
    color: var(--tt-primary);
    text-decoration: none;
}

.topic-chip-line-subtle {
    opacity: .88;
}

.topic-signal-chip {
    gap: 4px;
    min-height: 22px;
    font-size: .75rem;
}

a.topic-signal-chip {
    text-decoration: none;
}

a.topic-signal-chip:hover,
a.topic-signal-chip:focus {
    border-color: color-mix(in srgb, var(--tt-primary) 34%, var(--tt-border));
    color: var(--tt-primary);
    text-decoration: none;
    outline: none;
}

.topic-score-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
}

.topic-score-chip {
    justify-content: center;
    gap: 5px;
    padding: 0 7px;
    border: 1px solid var(--tt-border);
    color: #465260;
    background: color-mix(in srgb, var(--tt-surface) 76%, var(--tt-bg));
}

.topic-score-chip i {
    color: var(--tt-primary-dark);
    font-size: .78rem;
}

.topic-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    white-space: nowrap;
}

.topic-actions form {
    margin: 0;
    min-width: 0;
}

.topic-action-main-form {
    flex: 1 1 auto;
}

.topic-action-icon-form {
    flex: 0 0 auto;
}

.topic-actions .btn {
    width: 100%;
    text-align: center;
}

.topic-actions .topic-action-main-form .btn {
    padding-right: .45rem;
    padding-left: .45rem;
}

.topic-action-icon-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px !important;
    min-width: 32px;
    min-height: 31px;
    padding-right: 0;
    padding-left: 0;
}

.topic-action-ai-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .25rem;
}

.topic-action-note {
    justify-content: center;
    flex: 1 1 auto;
    width: auto;
}

.topic-action-success {
    border-color: rgba(16, 185, 129, .34);
    color: #087a55;
    background: rgba(16, 185, 129, .08);
}

.topic-detail {
    display: grid;
    gap: 14px;
}

.topic-detail-heading,
.topic-detail-summary,
.topic-clean-panel {
    border: 1px solid var(--tt-border);
    border-radius: 8px;
    background: var(--tt-surface);
    box-shadow: 0 8px 20px rgba(32, 32, 48, .045);
}

.topic-detail-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 16px;
}

.topic-detail-title {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 680;
    line-height: 1.22;
}

.topic-detail-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    padding: 16px;
}

.topic-detail-summary-main {
    min-width: 0;
}

.topic-detail-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.topic-detail-summary-grid > div {
    min-width: 0;
    padding: 10px;
    border-radius: 8px;
    background: color-mix(in srgb, var(--tt-surface) 70%, var(--tt-bg));
}

.topic-detail-label {
    display: block;
    margin-bottom: 3px;
    color: var(--tt-muted);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.topic-detail-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(118px, 1fr));
    gap: 7px;
    align-content: start;
}

.topic-detail-actions form,
.topic-detail-actions .btn {
    width: 100%;
}

.topic-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
    gap: 14px;
    align-items: start;
}

.topic-detail-main,
.topic-detail-side {
    display: grid;
    gap: 14px;
    min-width: 0;
}

.topic-clean-panel {
    padding: 16px;
}

.topic-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.topic-section-heading h3 {
    margin: 0;
    font-size: .98rem;
    font-weight: 700;
}

.topic-section-heading span {
    color: var(--tt-muted);
    font-size: .82rem;
}

.topic-source-timeline {
    position: relative;
    display: grid;
    gap: 12px;
}

.topic-source-item {
    position: relative;
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 10px;
}

.topic-source-item:not(:last-child)::before {
    content: "";
    position: absolute;
    top: 22px;
    bottom: -14px;
    left: 8px;
    width: 1px;
    background: var(--tt-border);
}

.topic-source-marker {
    position: relative;
    z-index: 1;
    width: 17px;
    height: 17px;
    margin-top: 5px;
    border: 3px solid color-mix(in srgb, var(--tt-primary) 42%, var(--tt-border));
    border-radius: 50%;
    background: var(--tt-surface);
}

.topic-source-body {
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--tt-border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--tt-surface) 82%, var(--tt-bg));
}

.topic-source-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 8px;
    color: var(--tt-muted);
    font-size: .78rem;
}

.topic-source-badge,
.topic-source-badge-primary {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
    padding: 0 7px;
    border-radius: 999px;
    background: rgba(108, 117, 125, .12);
    color: #606b7a;
    font-size: .72rem;
    font-weight: 700;
}

.topic-source-badge-primary {
    background: color-mix(in srgb, var(--tt-primary) 14%, transparent);
    color: var(--tt-primary-dark);
}

.topic-source-title {
    margin: 7px 0 0;
    font-size: .98rem;
    font-weight: 650;
    line-height: 1.3;
}

.topic-source-title a {
    color: var(--tt-text);
}

.topic-source-title a:hover,
.topic-source-title a:focus {
    color: var(--tt-primary);
    text-decoration: none;
}

.topic-details-fold {
    margin-top: 10px;
}

.topic-details-fold summary {
    color: var(--tt-muted);
    cursor: pointer;
    font-size: .84rem;
    font-weight: 650;
}

.topic-source-text {
    display: grid;
    gap: .55rem;
    margin-top: 8px;
    max-width: 76ch;
    color: #475467;
    font-size: .92rem;
    line-height: 1.55;
}

.topic-source-text p {
    margin: 0;
    color: #475467;
    line-height: 1.55;
}

.topic-source-text ul {
    margin: 0;
    padding-left: 1.15rem;
}

.topic-source-text li + li {
    margin-top: .3rem;
}

.topic-source-text a {
    color: var(--tt-primary);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

.topic-revision-list {
    display: grid;
    gap: 8px;
    margin-top: 8px;
}

.topic-revision-item {
    padding-left: 10px;
    border-left: 2px solid var(--tt-border);
}

.topic-score-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.topic-score-card {
    display: grid;
    gap: 4px;
    min-width: 0;
    padding: 10px;
    border: 1px solid var(--tt-border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--tt-surface) 78%, var(--tt-bg));
}

.topic-score-card i {
    color: var(--tt-primary-dark);
}

.topic-score-card span {
    color: var(--tt-muted);
    font-size: .72rem;
}

.topic-score-card strong {
    font-size: 1.04rem;
}

.topic-breakdown-list {
    display: grid;
    gap: 8px;
    margin-top: 10px;
}

.topic-breakdown-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: start;
    padding: 8px 0;
    border-top: 1px solid var(--tt-border);
}

.topic-breakdown-row:first-child {
    border-top: 0;
}

.topic-breakdown-row span {
    display: block;
    color: var(--tt-muted);
    font-size: .78rem;
}

.topic-json-fold pre {
    max-height: 280px;
    margin: 8px 0 0;
    overflow: auto;
    white-space: pre-wrap;
}

.topic-similar-list {
    display: grid;
    gap: 8px;
}

.topic-similar-item {
    display: grid;
    gap: 3px;
    padding: 9px 10px;
    border: 1px solid var(--tt-border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--tt-surface) 82%, var(--tt-bg));
    color: var(--tt-text);
    text-decoration: none;
}

.topic-similar-item:hover,
.topic-similar-item:focus {
    border-color: color-mix(in srgb, var(--tt-primary) 42%, var(--tt-border));
    color: var(--tt-text);
    text-decoration: none;
}

.topic-similar-item strong {
    color: var(--tt-primary-dark);
    font-size: .78rem;
}

.topic-similar-item span {
    line-height: 1.28;
}

.topic-similar-item em {
    color: var(--tt-muted);
    font-size: .76rem;
    font-style: normal;
}

.topic-meta-list {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 8px 12px;
    margin: 0;
}

.topic-meta-list dt {
    color: var(--tt-muted);
    font-weight: 600;
}

.topic-meta-list dd {
    margin: 0;
    text-align: right;
}

.topic-action-log {
    display: grid;
    gap: 2px;
    margin: 0 0 10px;
    font-size: .84rem;
}

.topic-action-log span,
.topic-action-log em {
    color: var(--tt-muted);
    font-style: normal;
}

@media (max-width: 1199.98px) {
    .topic-card {
        grid-template-columns: minmax(0, 1fr);
    }

    .topic-card-side {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: start;
    }

    .topic-actions {
        min-width: 180px;
    }
}

@media (max-width: 991.98px) {
    .topic-detail-summary,
    .topic-detail-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .topic-detail-actions {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .topic-card-list {
        gap: 8px;
        padding: 10px !important;
    }

    .custom-topic-params-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .custom-topic-param-wide {
        grid-column: span 1;
    }

    .custom-topic-details > summary {
        align-items: flex-start;
    }

    .custom-topic-ai-notes {
        grid-template-columns: minmax(0, 1fr);
    }

    .topic-card,
    .topic-clean-panel,
    .topic-detail-heading,
    .topic-detail-summary {
        padding: 12px;
    }

    .topic-card-side,
    .topic-card-under-title,
    .topic-detail-summary-grid,
    .topic-detail-actions,
    .topic-score-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .topic-card-info-right {
        padding-left: 0;
        border-left: 0;
    }

    .topic-card-title {
        font-size: 1.05rem;
        line-height: 1.28;
    }

    .topic-card-meta,
    .topic-chip-line {
        gap: 5px 7px;
    }

    .topic-card-main-with-media {
        grid-template-columns: minmax(0, 1fr);
    }

    .topic-card-main-with-media .topic-card-thumb,
    .topic-card-main-with-media .topic-card-content {
        grid-column: 1;
        grid-row: auto;
    }

    .topic-card-thumb {
        width: 100%;
        max-width: 260px;
        aspect-ratio: 16 / 9;
    }

    .topic-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto auto;
        min-width: 0;
        width: 100%;
        justify-content: stretch;
    }

    .topic-card-ref-row {
        justify-content: flex-start;
    }

    .topic-ref-pill,
    .topic-status-pill,
    .topic-state-pill,
    .topic-age-pill,
    .topic-chip-muted,
    .topic-chip-text,
    .topic-entity-chip,
    .topic-signal-chip,
    .topic-score-chip,
    .topic-action-note {
        white-space: normal;
    }

    .topic-detail-heading {
        flex-direction: column;
        align-items: stretch;
    }

    .topic-detail-actions {
        gap: 6px;
    }

    .topic-detail-actions .btn,
    .topic-detail-actions form {
        width: 100%;
    }

    .topic-detail-summary-grid > div {
        min-width: 0;
    }

    .topic-source-title {
        font-size: .96rem;
    }

    .topic-source-item {
        grid-template-columns: 18px minmax(0, 1fr);
    }

    .topic-source-media-thumb {
        width: min(46vw, 136px);
    }
}

.ttime-project-work-alert {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .65rem;
    padding: .55rem .7rem;
    border: 1px solid #efd27a;
    border-radius: .35rem;
    background: #fff7d6;
    color: #5d4700;
}

.ttime-project-work-alert-text {
    font-size: .9rem;
    font-weight: 600;
}

.ttime-project-work-list {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}

.ttime-project-work-form {
    margin: 0;
}

.ttime-project-work-button {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
    padding: .18rem .48rem;
    border: 1px solid rgba(93, 71, 0, .22);
    border-radius: 999px;
    background: rgba(255, 255, 255, .55);
    color: #5d4700;
    font-size: .86rem;
    line-height: 1.25;
}

.ttime-project-work-button:hover,
.ttime-project-work-button:focus {
    border-color: rgba(93, 71, 0, .42);
    background: #ffffff;
    outline: none;
}

.ttime-project-work-icon {
    width: 16px;
    height: 16px;
    object-fit: contain;
}

.dark-mode .theme-toggle {
    color: var(--tt-dark-text);
    border-color: var(--tt-dark-border);
}

.login-logo {
    font-size: 2rem;
}

.t-time-login-icon {
    width: 52px;
    height: 52px;
    margin-right: .5rem;
    vertical-align: middle;
}

.ttime-login-card {
    overflow: hidden;
    border: 0;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 12px 32px rgba(32, 32, 48, .08);
}

.ttime-login-card .login-card-body {
    border-radius: inherit;
    background: #ffffff;
    padding: 1.35rem 1.25rem 1.25rem;
}

.ttime-tea-loader {
    width: 184px;
    margin: 0 auto .9rem;
    text-align: center;
    pointer-events: none;
}

.ttime-tea-loader-stage {
    position: relative;
    width: 184px;
    height: 176px;
    overflow: visible;
}

.ttime-tea-loader-stage img {
    position: absolute;
    display: block;
    user-select: none;
    -webkit-user-drag: none;
}

.ttime-tea-loader-face {
    top: 0;
    right: 0;
    width: 145px;
    height: auto;
    z-index: 1;
    transform-origin: 54% 58%;
    animation: ttime-tea-face 2.4s ease-in-out infinite;
}

.ttime-tea-loader-cup {
    top: 88px;
    left: 0;
    width: 91px;
    height: auto;
    z-index: 3;
    transform-origin: 74% 58%;
    animation: ttime-tea-cup 2.4s ease-in-out infinite;
}

.ttime-tea-loader-plate {
    top: 132px;
    left: 66px;
    width: 84px;
    height: auto;
    z-index: 4;
    transform-origin: 38% 50%;
    animation: ttime-tea-plate 2.4s ease-in-out infinite;
}

@keyframes ttime-tea-face {
    0%,
    100% {
        transform: translate3d(0, 2px, 0) rotate(-2.4deg);
    }
    36% {
        transform: translate3d(-3px, -2px, 0) rotate(2.6deg);
    }
    52% {
        transform: translate3d(-4px, 0, 0) rotate(3deg);
    }
    72% {
        transform: translate3d(1px, 3px, 0) rotate(-1.6deg);
    }
}

@keyframes ttime-tea-cup {
    0%,
    100% {
        transform: translate3d(0, 8px, 0) rotate(-10deg);
    }
    24% {
        transform: translate3d(-5px, -4px, 0) rotate(-13deg);
    }
    42% {
        transform: translate3d(-12px, -15px, 0) rotate(-17deg);
    }
    56% {
        transform: translate3d(-12px, -15px, 0) rotate(-17deg);
    }
    76% {
        transform: translate3d(-3px, 0, 0) rotate(-12deg);
    }
}

@keyframes ttime-tea-plate {
    0%,
    100% {
        transform: translate3d(0, 4px, 0) rotate(-3deg);
    }
    34% {
        transform: translate3d(3px, -2px, 0) rotate(2deg);
    }
    58% {
        transform: translate3d(-2px, 0, 0) rotate(-1deg);
    }
    76% {
        transform: translate3d(2px, 3px, 0) rotate(2deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .ttime-app-icon-face,
    .ttime-app-icon-hand-one,
    .ttime-app-icon-hand-two,
    .ttime-mini-loader-face,
    .ttime-mini-loader-cup,
    .ttime-mini-loader-plate,
    .ttime-tea-loader-face,
    .ttime-tea-loader-cup,
    .ttime-tea-loader-plate {
        animation: none !important;
    }
}

pre {
    max-height: 260px;
    overflow: auto;
    border-radius: .25rem;
    background: #f4f6f9;
    padding: .75rem;
    font-size: .8125rem;
}

.entity-graph {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 1rem;
}

.entity-graph-stage {
    position: relative;
    min-height: 420px;
    overflow: hidden;
    border: 1px solid #dee2e6;
    border-radius: .25rem;
    background: #f8f9fb;
    cursor: grab;
}

.entity-graph.is-panning .entity-graph-stage {
    cursor: grabbing;
}

.entity-graph-svg {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 420px;
}

.entity-graph-canvas {
    position: absolute;
    inset: 0;
    min-height: 420px;
}

.entity-graph-stage.has-cytoscape {
    cursor: default;
}

.entity-graph-empty {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.entity-graph-help {
    position: absolute;
    right: .75rem;
    bottom: .75rem;
    padding: .35rem .5rem;
    border-radius: .25rem;
    background: rgba(255, 255, 255, .86);
    color: #6c757d;
    font-size: .75rem;
    pointer-events: none;
}

.entity-graph-link {
    stroke: #adb5bd;
    stroke-width: 1.4;
}

.entity-graph-link.is-related {
    stroke: #007bff;
    stroke-width: 2.4;
}

.entity-graph-link-label {
    fill: #6c757d;
    font-size: 11px;
    paint-order: stroke;
    stroke: #f8f9fb;
    stroke-width: 4px;
    stroke-linejoin: round;
}

.entity-graph-node {
    cursor: pointer;
    outline: none;
}

.entity-graph-node circle {
    fill: #ffffff;
    stroke: #6c757d;
    stroke-width: 2;
    transition: stroke-width .15s ease, filter .15s ease;
}

.entity-graph-node text {
    fill: #212529;
    font-size: 12px;
    font-weight: 600;
    pointer-events: none;
}

.entity-graph-node:hover circle,
.entity-graph-node:focus circle,
.entity-graph-node.is-selected circle {
    stroke-width: 4;
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, .18));
}

.entity-graph-node.is-root circle {
    stroke: #dc3545;
}

.entity-graph-node.has-hidden circle {
    stroke-dasharray: 4 3;
}

.entity-graph-node-badge {
    fill: #007bff;
    font-size: 10px;
    font-weight: 700;
    paint-order: stroke;
    stroke: #ffffff;
    stroke-width: 3px;
    stroke-linejoin: round;
    pointer-events: none;
}

.entity-node-company circle,
.entity-node-brand circle {
    stroke: #007bff;
}

.entity-node-platform circle,
.entity-node-version circle {
    stroke: #28a745;
}

.entity-node-product circle,
.entity-node-app circle {
    stroke: #fd7e14;
}

.entity-node-technology circle {
    stroke: #6f42c1;
}

.entity-node-market circle,
.entity-node-game circle {
    stroke: #20c997;
}

.entity-graph-details {
    min-height: 420px;
    max-height: 560px;
    overflow: auto;
    border: 1px solid #dee2e6;
    border-radius: .25rem;
    padding: 1rem;
    background: #fff;
}

.entity-graph-detail-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    margin-bottom: .25rem;
}

.entity-graph-details h4 {
    margin-bottom: .5rem;
    font-size: .875rem;
    font-weight: 700;
}

.entity-graph-tree {
    margin: 0;
    padding: 0;
    list-style: none;
}

.entity-graph-tree li + li {
    margin-top: .4rem;
}

.entity-graph-tree button {
    width: 100%;
    padding: .5rem .6rem;
    border: 1px solid #dee2e6;
    border-radius: .25rem;
    background: #f8f9fa;
    text-align: left;
}

.entity-graph-tree button span,
.entity-graph-tree button small {
    display: block;
}

.entity-graph-tree button small {
    color: #6c757d;
}

.entity-graph-tree button:hover {
    border-color: #007bff;
}

.dark-mode .entity-graph-stage,
.dark-mode .entity-graph-link-label {
    background: #343a40;
    stroke: #343a40;
}

.dark-mode .entity-graph-help {
    background: rgba(52, 58, 64, .88);
    color: #ced4da;
}

.dark-mode .entity-graph-details,
.dark-mode .entity-graph-node circle {
    background: #343a40;
    fill: #343a40;
}

.dark-mode .entity-graph-node text {
    fill: #f8f9fa;
}

.dark-mode .entity-graph-node-badge {
    stroke: #343a40;
}

.dark-mode .entity-graph-tree button {
    color: #f8f9fa;
    border-color: #56606a;
    background: #3f474e;
}

.entity-tree-name {
    display: flex;
    align-items: center;
    gap: .35rem;
    padding-left: calc(var(--entity-depth, 0) * 1.35rem);
}

.entity-tree-note {
    padding-left: calc((var(--entity-depth, 0) * 1.35rem) + 1.85rem);
}

.entity-tree-toggle,
.entity-tree-spacer {
    width: 1.5rem;
    height: 1.5rem;
    flex: 0 0 1.5rem;
}

.entity-tree-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.entity-tree-toggle i {
    font-size: .7rem;
}

.entity-relation-search select {
    min-height: 2.4rem;
}

.entity-similar-item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .75rem;
    padding: .7rem 0;
    border-bottom: 1px solid rgba(0, 0, 0, .08);
}

.entity-similar-item:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.entity-similar-main {
    min-width: 0;
}

.entity-similar-aliases {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem;
    margin-top: .35rem;
}

.entity-similar-aliases span {
    display: inline-flex;
    max-width: 100%;
    padding: .1rem .35rem;
    border: 1px solid rgba(0, 0, 0, .1);
    border-radius: .35rem;
    color: #495057;
    background: #f8f9fa;
    font-size: .75rem;
}

.dark-mode .entity-similar-item {
    border-bottom-color: rgba(255, 255, 255, .1);
}

.dark-mode .entity-similar-aliases span {
    border-color: rgba(255, 255, 255, .14);
    color: #c9d1d9;
    background: #2f3740;
}

body.dark-mode,
.dark-mode {
    color: var(--tt-dark-text);
    background: var(--tt-dark) !important;
}

body.dark-mode .wrapper {
    background: var(--tt-dark) !important;
}

.dark-mode .content-wrapper,
.dark-mode.login-page {
    background: var(--tt-dark);
    color: var(--tt-dark-text);
}

.dark-mode .main-header.navbar-dark {
    border-bottom-color: var(--tt-dark-border);
    background: var(--tt-dark-surface);
}

.dark-mode .navbar-dark .navbar-brand,
.dark-mode .navbar-dark .navbar-nav .nav-link {
    color: var(--tt-dark-text);
}

.dark-mode .navbar-dark .ttime-brand-name {
    color: rgb(217, 217, 217);
}

.dark-mode .navbar-dark .ttime-brand-name:hover,
.dark-mode .navbar-dark .ttime-brand-name:focus {
    color: rgb(217, 217, 217);
    text-decoration: none;
}

.dark-mode .navbar-dark .navbar-nav .nav-link.active,
.dark-mode .navbar-dark .navbar-nav .show > .nav-link,
.dark-mode .navbar-dark .navbar-nav .nav-link:hover {
    color: var(--tt-link-dark);
}

.dark-mode .ttime-project-toggle:hover,
.dark-mode .ttime-project-toggle:focus,
.dark-mode .ttime-project-toggle[aria-expanded="true"] {
    border-color: var(--tt-dark-border);
    background: rgba(51, 211, 255, .08);
    color: var(--tt-dark-text);
}

.dark-mode .topic-card,
.dark-mode .topic-detail-heading,
.dark-mode .topic-detail-summary,
.dark-mode .topic-clean-panel {
    border-color: var(--tt-dark-border);
    background: var(--tt-dark-surface);
    box-shadow: none;
}

.dark-mode .topic-card-pinned {
    border-color: rgba(240, 180, 41, .44);
    background: rgba(240, 180, 41, .12);
}

.dark-mode .topic-card-title a,
.dark-mode .topic-source-title a,
.dark-mode .topic-similar-item {
    color: var(--tt-dark-text);
}

.dark-mode .topic-title-translation-icon {
    color: var(--tt-link-dark);
}

.dark-mode .topic-title-pin-icon {
    color: #f6d88a;
}

.dark-mode .topic-card-title a:hover,
.dark-mode .topic-card-title a:focus,
.dark-mode .topic-source-title a:hover,
.dark-mode .topic-source-title a:focus,
.dark-mode .topic-similar-item:hover,
.dark-mode .topic-similar-item:focus {
    color: var(--tt-link-dark);
}

.dark-mode .topic-status-pill,
.dark-mode .topic-state-pill,
.dark-mode .topic-chip-muted,
.dark-mode .topic-signal-chip,
.dark-mode .topic-action-note,
.dark-mode .topic-score-chip,
.dark-mode .topic-detail-summary-grid > div,
.dark-mode .topic-source-body,
.dark-mode .topic-score-card,
.dark-mode .topic-similar-item {
    border-color: var(--tt-dark-border);
    background: var(--tt-dark-surface-2);
    color: var(--tt-dark-muted);
}

.dark-mode .custom-topic-param,
.dark-mode .custom-topic-details,
.dark-mode .custom-topic-press-text,
.dark-mode .custom-topic-ai-draft,
.dark-mode .custom-topic-html-editor,
.dark-mode .custom-topic-html-toolbar,
.dark-mode .custom-topic-ai-draft-textarea,
.dark-mode .custom-topic-image-prompt,
.dark-mode .custom-topic-ai-note,
.dark-mode .custom-topic-tags-editor,
.dark-mode .custom-topic-publication-image,
.dark-mode .custom-topic-unsplash-item,
.dark-mode .custom-topic-asset-file {
    border-color: var(--tt-dark-border);
    background: var(--tt-dark-surface-2);
}

.dark-mode .custom-topic-unsplash-picker {
    border-top-color: var(--tt-dark-border);
}

.dark-mode .custom-topic-html-toolbar {
    border-bottom-color: var(--tt-dark-border);
}

.dark-mode .custom-topic-unsplash-item:hover,
.dark-mode .custom-topic-unsplash-item:focus {
    border-color: color-mix(in srgb, var(--tt-link-dark) 34%, var(--tt-dark-border));
}

.dark-mode .custom-topic-param strong,
.dark-mode .custom-topic-details > summary,
.dark-mode .custom-topic-title-editor label,
.dark-mode .custom-topic-ai-draft-editor label,
.dark-mode .custom-topic-ai-note h4,
.dark-mode .custom-topic-asset-file {
    color: var(--tt-dark-text);
}

.dark-mode .custom-topic-param span,
.dark-mode .custom-topic-details > summary span:last-child,
.dark-mode .custom-topic-ai-note div,
.dark-mode .custom-topic-image-prompt {
    color: var(--tt-dark-muted);
}

.dark-mode .topic-card.custom-topic-card-published {
    border-color: rgba(16, 185, 129, .26);
    background: color-mix(in srgb, rgba(16, 185, 129, .13) 58%, var(--tt-dark-surface));
}

.dark-mode .topic-card.custom-topic-card-error {
    border-color: rgba(248, 113, 113, .27);
    background: color-mix(in srgb, rgba(248, 113, 113, .14) 58%, var(--tt-dark-surface));
}

.dark-mode .topic-card.custom-topic-card-unpublished {
    border-color: rgba(245, 158, 11, .28);
    background: color-mix(in srgb, rgba(245, 158, 11, .14) 58%, var(--tt-dark-surface));
}

.dark-mode .topic-signal-success {
    border-color: rgba(16, 185, 129, .32);
    color: #7ee2b8;
    background: rgba(16, 185, 129, .1);
}

.dark-mode .topic-signal-warning {
    border-color: rgba(245, 158, 11, .32);
    color: #f6d88a;
    background: rgba(245, 158, 11, .1);
}

.dark-mode .topic-signal-danger {
    border-color: rgba(248, 113, 113, .34);
    color: #fca5a5;
    background: rgba(248, 113, 113, .1);
}

.dark-mode .topic-ref-pill {
    border-color: var(--tt-dark-border);
    background: transparent;
    color: var(--tt-dark-muted);
}

.dark-mode .topic-ref-pill:hover,
.dark-mode .topic-ref-pill:focus {
    border-color: color-mix(in srgb, var(--tt-link-dark) 24%, var(--tt-dark-border));
    color: var(--tt-link-dark);
}

.dark-mode .topic-ref-pill.is-copied {
    border-color: rgba(16, 185, 129, .4);
    color: #7ee2b8;
}

.dark-mode .topic-card-info-right {
    border-left-color: var(--tt-dark-border);
}

.dark-mode .topic-card-thumb,
.dark-mode .topic-source-media-thumb {
    border-color: var(--tt-dark-border);
    background: color-mix(in srgb, var(--tt-dark-surface) 74%, var(--tt-dark-bg));
}

.dark-mode .ttime-image-preview {
    background: rgba(0, 0, 0, .68);
}

.dark-mode .ttime-image-preview-window {
    border-color: var(--tt-dark-border);
    background: var(--tt-dark-surface);
    box-shadow: 0 22px 56px rgba(0, 0, 0, .52);
}

.dark-mode .ttime-image-preview-toolbar {
    border-bottom-color: var(--tt-dark-border);
}

.dark-mode .ttime-image-preview-title {
    color: var(--tt-dark-muted);
}

.dark-mode .ttime-image-preview-open,
.dark-mode .ttime-image-preview-close {
    border-color: var(--tt-dark-border);
    background: color-mix(in srgb, var(--tt-dark-surface) 76%, var(--tt-dark-bg));
    color: var(--tt-dark-muted);
}

.dark-mode .ttime-image-preview-open:hover,
.dark-mode .ttime-image-preview-open:focus,
.dark-mode .ttime-image-preview-close:hover,
.dark-mode .ttime-image-preview-close:focus {
    border-color: color-mix(in srgb, var(--tt-link-dark) 42%, var(--tt-dark-border));
    color: var(--tt-link-dark);
}

.dark-mode .ttime-image-preview-stage {
    background:
        linear-gradient(45deg, rgba(148, 163, 184, .10) 25%, transparent 25%) 0 0 / 24px 24px,
        linear-gradient(45deg, transparent 75%, rgba(148, 163, 184, .10) 75%) 0 0 / 24px 24px,
        var(--tt-dark-bg);
}

.dark-mode .topic-age-text,
.dark-mode .topic-chip-text {
    color: var(--tt-dark-muted);
}

.dark-mode .topic-age-fresh {
    color: #28a745;
}

.dark-mode .topic-age-recent {
    color: #17a2b8;
}

.dark-mode .topic-age-aging {
    color: #ffc107;
}

.dark-mode .topic-age-old {
    color: #dc3545;
}

.dark-mode .topic-telegram-inline i {
    color: #6fc8ff;
}

.dark-mode .topic-entity-chip {
    border-color: color-mix(in srgb, var(--tt-link-dark) 28%, var(--tt-dark-border));
    background: color-mix(in srgb, var(--tt-link-dark) 8%, var(--tt-dark-surface));
    color: var(--tt-link-dark);
}

.dark-mode .topic-state-pinned {
    border-color: rgba(240, 180, 41, .42);
    background: rgba(240, 180, 41, .13);
    color: #f6d88a;
}

.dark-mode .topic-source-marker {
    border-color: color-mix(in srgb, var(--tt-link-dark) 42%, var(--tt-dark-border));
    background: var(--tt-dark-surface);
}

.dark-mode .topic-source-item:not(:last-child)::before,
.dark-mode .topic-breakdown-row,
.dark-mode .topic-revision-item {
    border-color: var(--tt-dark-border);
}

.dark-mode .topic-source-item:not(:last-child)::before {
    background: var(--tt-dark-border);
}

.dark-mode .topic-source-text,
.dark-mode .topic-source-text p,
.dark-mode .topic-action-success {
    color: var(--tt-dark-text);
}

.dark-mode .topic-empty-state {
    border-color: var(--tt-dark-border);
}

.dark-mode .ttime-project-work-alert {
    border-color: rgba(240, 180, 41, .44);
    background: rgba(240, 180, 41, .14);
    color: #f6d88a;
}

.dark-mode .ttime-project-work-button {
    border-color: rgba(246, 216, 138, .26);
    background: rgba(0, 0, 0, .14);
    color: #f6d88a;
}

.dark-mode .ttime-project-work-button:hover,
.dark-mode .ttime-project-work-button:focus {
    border-color: rgba(246, 216, 138, .48);
    background: rgba(255, 255, 255, .08);
}

.dark-mode .card,
.dark-mode .login-card-body,
.dark-mode .modal-content,
.dark-mode .dropdown-menu {
    border-color: var(--tt-dark-border);
    background: var(--tt-dark-surface);
    color: var(--tt-dark-text);
}

.dark-mode .card-header,
.dark-mode .card-footer,
.dark-mode .modal-header,
.dark-mode .modal-footer {
    border-color: var(--tt-dark-border);
    background: var(--tt-dark-surface);
    color: var(--tt-dark-text);
}

.dark-mode .ttime-main-footer {
    border-top-color: var(--tt-dark-border);
    background: var(--tt-dark-surface);
    color: var(--tt-dark-muted);
}

.dark-mode .card {
    box-shadow: 0 8px 24px rgba(0, 0, 0, .45);
}

.dark-mode .ttime-cron-card {
    border-color: transparent;
    background: transparent;
    box-shadow: none;
}

.dark-mode .ttime-cron-expanded {
    border-color: var(--tt-dark-border);
    background: var(--tt-dark-surface);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .34);
}

.dark-mode .table {
    color: var(--tt-dark-text);
}

.dark-mode .table td,
.dark-mode .table th,
.dark-mode .table thead th {
    border-color: var(--tt-dark-border);
}

.dark-mode .table thead th,
.dark-mode .text-muted,
.dark-mode .small.text-muted {
    color: var(--tt-dark-muted) !important;
}

.dark-mode .table-hover tbody tr:hover {
    color: var(--tt-dark-text);
    background: rgba(255, 255, 255, .07);
}

.dark-mode .mobile-card-table tr {
    border-color: var(--tt-dark-border);
    background: var(--tt-dark-surface);
}

.dark-mode .mobile-card-table tr.table-warning {
    border-color: rgba(240, 180, 41, .44);
    background: rgba(240, 180, 41, .12);
}

.dark-mode .mobile-card-table td,
.dark-mode .mobile-card-table th {
    border-color: var(--tt-dark-border) !important;
}

.dark-mode .mobile-card-table td::before,
.dark-mode .mobile-card-table th::before {
    color: var(--tt-dark-muted);
}

.ttime-topic-modal {
    top: var(--ttime-topbar-height, 60px);
    height: calc(100vh - var(--ttime-topbar-height, 60px));
    z-index: 1120;
    pointer-events: none;
}

.modal-backdrop {
    z-index: 1110;
}

#custom-topic-regenerate-modal {
    z-index: 1120;
}

.ttime-topic-modal .modal-dialog {
    max-width: min(1180px, calc(100vw - 32px));
    margin-top: 12px;
    margin-bottom: 12px;
    pointer-events: auto;
}

#profileModal .modal-dialog,
.ttime-profile-modal .modal-dialog {
    max-width: min(760px, calc(100vw - 32px));
}

.profile-modal-form {
    display: flex;
    flex-direction: column;
    max-height: calc(var(--ttime-visual-viewport-height, 100vh) - var(--ttime-topbar-height, 60px) - 96px);
    min-height: 0;
}

.profile-modal-form .modal-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.profile-modal-form .modal-footer {
    flex: 0 0 auto;
    background: var(--tt-surface, #fff);
}

.profile-compact-grid {
    display: grid;
    gap: 0 14px;
    align-items: start;
}

.profile-compact-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.profile-compact-grid .form-group {
    min-width: 0;
}

.profile-modal-form .form-group {
    margin-bottom: .8rem;
}

.profile-modal-form .form-text {
    font-size: .78rem;
    line-height: 1.3;
}

.profile-modal-form hr {
    margin: .85rem 0;
}

.profile-section-head {
    display: grid;
    gap: .18rem;
    margin-bottom: .6rem;
}

.profile-section-head h4,
.profile-section-head p {
    margin: 0;
}

.profile-project-account-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.profile-project-account {
    min-width: 0;
    margin-bottom: 0 !important;
}

.profile-project-account label {
    display: inline-flex;
    max-width: 100%;
    align-items: center;
    gap: .35rem;
    margin-bottom: .38rem;
}

.profile-project-account .custom-control {
    min-height: 1.3rem;
}

.profile-project-account .custom-control-label {
    display: inline;
    font-size: .86rem;
    line-height: 1.25;
}

.profile-password-grid {
    margin-bottom: 0;
}

.profile-password-confirmation {
    grid-column: 2;
}

.ttime-settings-card > .card-header {
    background: var(--tt-surface);
}

.ttime-inner-settings-tabs {
    gap: .35rem;
    padding: .6rem .75rem 0;
    overflow-x: auto;
    flex-wrap: nowrap;
}

.ttime-inner-settings-tabs .nav-link {
    display: inline-flex;
    align-items: center;
    gap: .38rem;
    white-space: nowrap;
    border: 1px solid transparent;
    color: var(--tt-muted);
}

.ttime-inner-settings-tabs .nav-link.active {
    border-color: rgba(31, 182, 242, .28);
}

.ttime-settings-tab-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.ttime-settings-tab-head h3 {
    margin: 0;
    font-size: 1.08rem;
    font-weight: 700;
}

.ttime-settings-tab-head p {
    margin: .18rem 0 0;
    color: var(--tt-muted);
}

.ttime-settings-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: .5rem;
}

.ttime-settings-actions form {
    margin: 0;
}

.profile-telegram-link {
    padding: .8rem .9rem;
    margin-bottom: 1rem;
    border: 1px solid var(--tt-border);
    border-radius: .5rem;
    background: var(--tt-surface-muted);
}

.ttime-settings-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 18px;
}

.ttime-cron-status-section {
    margin-top: 1.4rem;
    padding-top: 1.2rem;
    border-top: 1px solid var(--tt-border);
}

.ttime-cron-status-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .85rem;
}

.ttime-cron-status-head h4 {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
}

.ttime-cron-status-head p {
    margin: .15rem 0 0;
    color: var(--tt-muted);
}

.ttime-cron-status-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: .8rem;
}

.ttime-cron-status-card {
    min-width: 0;
    padding: .85rem;
    border: 1px solid var(--tt-border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--tt-surface) 90%, var(--tt-bg));
}

.ttime-cron-status-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .5rem;
}

.ttime-cron-status-card-head > div {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    align-items: center;
    gap: .4rem;
}

.ttime-cron-status-card-head strong {
    color: var(--tt-text);
}

.ttime-cron-status-last {
    flex: 0 0 auto;
    color: var(--tt-muted);
    font-size: .82rem;
}

.ttime-cron-status-card p {
    margin: 0 0 .65rem;
    color: var(--tt-muted);
    font-size: .86rem;
    line-height: 1.35;
}

.ttime-cron-status-details {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin-bottom: .65rem;
}

.ttime-cron-status-details span {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: .15rem .45rem;
    border: 1px solid var(--tt-border);
    border-radius: 999px;
    background: var(--tt-surface);
    color: var(--tt-muted);
    font-size: .78rem;
}

.ttime-cron-status-command {
    display: block;
    padding: .42rem .5rem;
    overflow-x: auto;
    border-radius: 6px;
    background: var(--tt-surface-muted);
    color: var(--tt-text);
    font-size: .78rem;
    white-space: nowrap;
}

.ttime-cron-status-error {
    margin-top: .55rem;
    color: #dc3545;
    font-size: .82rem;
    line-height: 1.35;
}

.ttime-setting-field {
    min-width: 0;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid var(--tt-border);
}

.ttime-setting-field textarea {
    resize: vertical;
}

.ttime-settings-subcard {
    height: calc(100% - 1rem);
}

.ttime-notification-sounds {
    display: grid;
    gap: .5rem;
}

.ttime-notification-sound-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: .5rem;
    padding: .55rem;
    border: 1px solid var(--tt-border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--tt-surface) 86%, var(--tt-bg));
}

.ttime-notification-sound-meta {
    min-width: 0;
    display: grid;
    gap: .12rem;
}

.ttime-notification-sound-meta strong,
.ttime-notification-sound-meta small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ttime-notification-sound-meta small {
    color: var(--tt-muted);
}

.ttime-topic-modal .modal-dialog-scrollable {
    max-height: calc(100% - 24px);
}

.ttime-topic-modal .modal-content {
    border-radius: 8px;
    box-shadow: 0 18px 48px rgba(32, 32, 48, .28);
}

.ttime-topic-modal .modal-header {
    align-items: flex-start;
    gap: 12px;
}

.ttime-topic-modal .modal-title {
    line-height: 1.28;
}

.ttime-topic-ref-copy {
    display: inline-flex;
    align-items: center;
    margin-left: 4px;
    padding: 0 5px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--ttime-project-primary, #1598d8);
    font: inherit;
    font-weight: 700;
    line-height: 1.35;
    cursor: pointer;
}

.ttime-topic-ref-copy:hover,
.ttime-topic-ref-copy:focus {
    background: color-mix(in srgb, var(--ttime-project-primary, #1598d8) 12%, transparent);
    color: color-mix(in srgb, var(--ttime-project-primary, #1598d8) 84%, #111827);
    outline: none;
}

.ttime-topic-ref-copy.is-copied {
    background: color-mix(in srgb, var(--ttime-project-primary, #1598d8) 18%, transparent);
}

.ttime-topic-ref-copy-feedback {
    margin-left: 6px;
    color: #16a34a;
    font-size: .78rem;
    font-weight: 700;
}

.ttime-topic-modal .modal-body {
    max-height: calc(100vh - var(--ttime-topbar-height, 60px) - 116px);
    overflow-y: auto;
    padding: 16px;
}

.ttime-topic-modal .modal-body > .row {
    margin-right: -8px;
    margin-left: -8px;
}

.ttime-topic-modal .modal-body > .row > [class*="col-"] {
    padding-right: 8px;
    padding-left: 8px;
}

.ttime-topic-modal .card {
    margin-bottom: 16px;
    box-shadow: none;
}

@media (min-width: 768px) {
    body.ttime-chat-pinned .ttime-topic-modal {
        left: calc(var(--ttime-chat-width, 404px) + var(--ttime-chat-gap, 12px) + 4px);
        right: 0;
        width: auto;
    }

    body.ttime-chat-pinned .ttime-image-preview {
        left: calc(var(--ttime-chat-width, 404px) + var(--ttime-chat-gap, 12px) + 16px);
    }

    body.ttime-chat-pinned .ttime-topic-modal .modal-dialog {
        max-width: min(1180px, calc(100vw - var(--ttime-chat-width, 404px) - (var(--ttime-chat-gap, 12px) * 2) - 36px));
    }

    body.ttime-chat-pinned.modal-open .modal-backdrop {
        left: calc(var(--ttime-chat-width, 404px) + var(--ttime-chat-gap, 12px) + 4px);
        right: 0;
        width: auto;
    }
}

.dark-mode a:not(.btn):not(.badge):not(.dropdown-item):not(.nav-link) {
    color: var(--tt-link-dark);
}

.dark-mode a:not(.btn):not(.badge):not(.dropdown-item):not(.nav-link):hover {
    color: #3cf;
}

.dark-mode .topic-card-title a,
.dark-mode .topic-card-title a:not(.btn):not(.badge):not(.dropdown-item):not(.nav-link) {
    color: #ededed;
}

.dark-mode .topic-card-title a:hover,
.dark-mode .topic-card-title a:focus,
.dark-mode .topic-card-title a:not(.btn):not(.badge):not(.dropdown-item):not(.nav-link):hover,
.dark-mode .topic-card-title a:not(.btn):not(.badge):not(.dropdown-item):not(.nav-link):focus {
    color: #ffffff;
    text-decoration: none;
}

.dark-mode .main-header.navbar-dark a.ttime-brand-name,
.dark-mode .main-header.navbar-dark a.ttime-brand-name:hover,
.dark-mode .main-header.navbar-dark a.ttime-brand-name:focus,
.dark-mode .main-header.navbar-dark a.ttime-brand-name span {
    color: rgb(217, 217, 217) !important;
}

.dark-mode .btn-primary,
.dark-mode .badge-primary,
.dark-mode .page-item.active .page-link,
.dark-mode .nav-pills .nav-link.active,
.dark-mode .nav-pills .show > .nav-link {
    border-color: var(--tt-primary-dark);
    background-color: var(--tt-primary-dark);
    color: #ffffff;
}

.dark-mode .btn-outline-primary {
    border-color: var(--tt-link-dark);
    color: var(--tt-link-dark);
}

.dark-mode .btn-outline-primary:hover,
.dark-mode .btn-outline-primary:focus {
    border-color: var(--tt-link-dark);
    background: var(--tt-link-dark);
    color: #000000;
}

.dark-mode .btn-outline-secondary,
.dark-mode .theme-toggle {
    border-color: var(--tt-dark-border);
    color: var(--tt-dark-text);
}

.dark-mode .btn-outline-secondary:hover,
.dark-mode .theme-toggle:hover {
    border-color: #696969;
    background: var(--tt-dark-surface-3);
    color: #ffffff;
}

.dark-mode .form-control,
.dark-mode .custom-select,
.dark-mode .input-group-text {
    border-color: var(--tt-dark-border);
    background: var(--tt-dark-surface-2);
    color: var(--tt-dark-text);
}

.dark-mode .form-control:focus,
.dark-mode .custom-select:focus {
    border-color: var(--tt-link-dark);
    background: var(--tt-dark-surface-3);
    color: #ffffff;
    box-shadow: 0 0 0 .2rem rgba(51, 211, 255, .14);
}

.dark-mode .dropdown-item {
    color: var(--tt-dark-text);
}

.dark-mode .dropdown-item:hover,
.dark-mode .dropdown-item:focus {
    background: rgba(255, 255, 255, .1);
    color: #ffffff;
}

.dark-mode .dropdown-item.active,
.dark-mode .dropdown-item:active {
    background: var(--tt-primary-dark);
    color: #ffffff;
}

.dark-mode .nav-tabs {
    border-bottom-color: var(--tt-dark-border);
}

.dark-mode .nav-tabs .nav-link {
    color: var(--tt-dark-muted);
}

.dark-mode .nav-tabs .nav-link:hover {
    border-color: transparent;
    color: var(--tt-link-dark);
}

.dark-mode .nav-tabs .nav-link.active {
    border-color: var(--tt-dark-border) var(--tt-dark-border) var(--tt-dark-surface);
    border-top: 2px solid var(--tt-link-dark);
    background: var(--tt-dark-surface);
    color: var(--tt-dark-text);
}

.dark-mode .topic-queue-header {
    border-bottom-color: var(--tt-dark-border);
}

.dark-mode .topic-queue-header .card-title {
    color: var(--tt-dark-text);
}

.dark-mode .ttime-telegram-watchdog {
    color: var(--tt-dark-muted);
}

.dark-mode .ttime-telegram-watchdog-expanded,
.dark-mode .ttime-telegram-health-card {
    border-color: var(--tt-dark-border);
    background: var(--tt-dark-surface);
    color: var(--tt-dark-muted);
    box-shadow: 0 14px 32px rgba(0, 0, 0, .34);
}

.dark-mode .ttime-telegram-health-title {
    color: var(--tt-dark-text);
}

.dark-mode .topic-tool-button {
    border-color: var(--tt-dark-border);
    background: color-mix(in srgb, var(--tt-dark-surface) 82%, var(--tt-dark-bg));
    color: var(--tt-dark-muted);
}

.dark-mode .topic-tool-button:hover,
.dark-mode .topic-tool-button:focus {
    border-color: color-mix(in srgb, var(--tt-link-dark) 30%, var(--tt-dark-border));
    background: color-mix(in srgb, var(--tt-link-dark) 8%, var(--tt-dark-surface));
    color: var(--tt-dark-text);
}

.dark-mode .topic-tool-button .fas {
    color: var(--tt-link-dark);
}

.dark-mode .topic-queue-filterbar {
    border-bottom-color: var(--tt-dark-border);
    background: color-mix(in srgb, var(--tt-dark-surface) 82%, var(--tt-dark));
}

.dark-mode .topic-queue-tab {
    color: var(--tt-dark-muted);
}

.dark-mode .topic-queue-tab:hover,
.dark-mode .topic-queue-tab:focus {
    border-color: color-mix(in srgb, var(--tt-link-dark) 24%, var(--tt-dark-border)) !important;
    background: color-mix(in srgb, var(--tt-link-dark) 7%, transparent);
    color: var(--tt-dark-text);
}

.dark-mode .topic-queue-tab.active {
    border-color: color-mix(in srgb, var(--tt-link-dark) 30%, var(--tt-dark-border)) !important;
    background: var(--tt-dark-surface);
    color: var(--tt-dark-text);
    box-shadow: 0 6px 16px rgba(0, 0, 0, .26);
}

.dark-mode .topic-queue-tab .fas {
    color: color-mix(in srgb, var(--tt-link-dark) 75%, var(--tt-dark-muted));
}

.dark-mode .topic-queue-count {
    background: color-mix(in srgb, var(--tt-dark-surface-2) 74%, var(--tt-dark-surface));
    color: var(--tt-dark-muted);
}

.dark-mode .topic-queue-tab.active .topic-queue-count {
    background: color-mix(in srgb, var(--tt-link-dark) 14%, var(--tt-dark-surface));
    color: var(--tt-link-dark);
}

.dark-mode .topic-tabs-separator {
    background: var(--tt-dark-border);
}

.dark-mode .topic-sort-switch {
    border-color: var(--tt-dark-border);
    background: color-mix(in srgb, var(--tt-dark-surface-2) 70%, var(--tt-dark-surface));
}

.dark-mode .topic-sort-link {
    color: var(--tt-dark-muted);
}

.dark-mode .topic-sort-link:hover,
.dark-mode .topic-sort-link:focus,
.dark-mode .topic-sort-link.active {
    color: var(--tt-dark-text);
}

.dark-mode .topic-sort-link.active {
    background: var(--tt-dark-surface);
    box-shadow: 0 4px 12px rgba(0, 0, 0, .24);
}

.dark-mode .topic-sort-link .fas {
    color: color-mix(in srgb, var(--tt-link-dark) 72%, var(--tt-dark-muted));
}

.dark-mode .topic-queue-entity-filter {
    color: var(--tt-dark-muted);
}

.dark-mode .badge-light {
    border-color: var(--tt-dark-border) !important;
    background: var(--tt-dark-surface-2);
    color: var(--tt-dark-text);
}

.dark-mode .badge-info {
    background: var(--tt-primary-dark);
}

.dark-mode pre,
.dark-mode code {
    background: var(--tt-dark-surface-2);
    color: var(--tt-dark-text);
}

.dark-mode .alert-info {
    border-color: #005696;
    background: #171d2a;
    color: var(--tt-dark-text);
}

.dark-mode .alert-danger {
    border-color: #661515;
    background: #401717;
    color: #ffffff;
}

.dark-mode .login-logo {
    color: var(--tt-dark-text);
}

.dark-mode.login-page .card {
    background: var(--tt-dark-surface);
}

.projects-table {
    table-layout: fixed;
}

.projects-table th:nth-child(1),
.projects-table td:nth-child(1) {
    width: 36%;
    white-space: normal;
}

.projects-table th:nth-child(2),
.projects-table td:nth-child(2) {
    width: 72px;
}

.projects-table th:nth-child(3),
.projects-table td:nth-child(3) {
    width: 92px;
}

.projects-table th:nth-child(4),
.projects-table td:nth-child(4) {
    width: 130px;
}

.projects-table th:nth-child(5),
.projects-table td:nth-child(5) {
    width: 96px;
}

.projects-table th:nth-child(6),
.projects-table td:nth-child(6) {
    width: 170px;
}

.project-description {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.35;
}

.project-actions {
    white-space: normal;
}

.project-actions .btn,
.project-actions form {
    margin-bottom: .25rem;
}

.ttime-project-color-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
}

.ttime-project-color-field {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .35rem .6rem;
    align-items: center;
    min-width: 0;
    padding: .65rem;
    border: 1px solid var(--tt-border);
    border-radius: 8px;
    background: var(--tt-surface);
    font-weight: 400;
}

.ttime-project-color-field span {
    grid-column: 1 / -1;
    color: var(--tt-muted);
    font-size: .78rem;
}

.ttime-project-color-field input {
    width: 44px;
    height: 32px;
    padding: 0;
    border: 0;
    background: transparent;
}

.ttime-project-color-field code {
    overflow: hidden;
    text-overflow: ellipsis;
}

.ttime-project-color-swatches {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.ttime-project-color-swatches span {
    width: 22px;
    height: 22px;
    border: 1px solid rgba(15, 23, 42, .16);
    border-radius: 999px;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .45);
}

.ttime-chat-emoji-settings {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(138px, 1fr));
    gap: .5rem;
}

.ttime-chat-emoji-setting-item {
    display: grid;
    grid-template-columns: auto 28px minmax(0, 1fr);
    gap: .45rem;
    align-items: center;
    padding: .45rem .55rem;
    border: 1px solid var(--tt-border);
    border-radius: 8px;
    background: var(--tt-surface);
    font-weight: 400;
}

.ttime-chat-emoji-setting-item img,
.ttime-chat-emoji-setting-item video {
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.ttime-chat-emoji-setting-item span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ttime-chat-emoji-setting-item em {
    grid-column: 3;
    color: var(--tt-muted);
    font-size: .74rem;
    font-style: normal;
}

.ttime-password-strength {
    margin-top: .45rem;
    font-size: .8125rem;
}

.ttime-password-strength-head {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .25rem;
    color: #667085;
}

.ttime-password-strength-bar {
    height: .35rem;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(108, 117, 125, .18);
}

.ttime-password-strength-bar span {
    display: block;
    height: 100%;
    width: 0;
    border-radius: inherit;
    transition: width .18s ease, background-color .18s ease;
}

.ttime-password-strength-details {
    margin-top: .25rem;
    color: #667085;
}

.ttime-password-strength.is-bad .ttime-password-strength-bar span {
    background: #dc3545;
}

.ttime-password-strength.is-weak .ttime-password-strength-bar span {
    background: #fd7e14;
}

.ttime-password-strength.is-ok .ttime-password-strength-bar span {
    background: #20c997;
}

.ttime-password-strength.is-strong .ttime-password-strength-bar span {
    background: #198754;
}

.ttime-password-strength.is-bad .ttime-password-strength-details,
.ttime-password-strength.is-weak .ttime-password-strength-details {
    color: #b42318;
}

.dark-mode .ttime-password-strength-head,
.dark-mode .ttime-password-strength-details {
    color: var(--tt-dark-muted);
}

.dark-mode .ttime-password-strength.is-bad .ttime-password-strength-details,
.dark-mode .ttime-password-strength.is-weak .ttime-password-strength-details {
    color: #fda29b;
}

.ttime-chat-toggle,
.ttime-chat-nav-link {
    position: relative;
}

.ttime-chat-nav-link {
    border: 0;
    background: transparent;
}

.ttime-chat-nav-link:hover,
.ttime-chat-nav-link:focus {
    text-decoration: none;
}

.ttime-chat-unread {
    position: absolute;
    top: -6px;
    right: -6px;
    min-width: 18px;
    border-radius: 999px;
    font-size: .68rem;
}

.ttime-chat-shell {
    --ttime-topbar-height: 56px;
    position: fixed;
    z-index: 1060;
    right: var(--ttime-chat-gap);
    bottom: var(--ttime-chat-gap);
    width: min(420px, calc(100vw - (var(--ttime-chat-gap) * 2)));
    height: min(680px, calc(100vh - (var(--ttime-chat-gap) * 2)));
    pointer-events: none;
}

html.ttime-chat-pref-closed .ttime-chat-shell .ttime-chat-panel {
    transform: translateY(16px) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: none !important;
}

.ttime-chat-shell.is-pinned {
    left: var(--ttime-chat-gap);
    right: auto;
    top: calc(var(--ttime-topbar-height, 56px) + var(--ttime-chat-gap));
    bottom: var(--ttime-chat-gap);
    height: auto;
}

@media (min-width: 768px) {
    body.layout-top-nav.ttime-chat-pinned .wrapper .content-wrapper {
        margin-left: calc(var(--ttime-chat-width, 404px) + var(--ttime-chat-gap, 12px) + 4px);
        transition: margin-left .16s ease;
    }

    html.ttime-chat-pref-no-layout body.layout-top-nav.ttime-chat-pinned .wrapper .content-wrapper {
        margin-left: 0;
        transition: none;
    }

    body.ttime-chat-pinned .ttime-chat-shell.is-pinned {
        width: var(--ttime-chat-width);
    }
}

.ttime-chat-panel {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    overflow: hidden;
    pointer-events: auto;
    transform: translateY(16px);
    opacity: 0;
    visibility: hidden;
    border: 1px solid rgba(15, 23, 42, .12);
    border-radius: 12px;
    background: #f7fafc;
    background: color-mix(in srgb, var(--ttime-project-chat-bg, #eef4f9) 22%, #ffffff);
    box-shadow: 0 22px 80px rgba(15, 23, 42, .26);
    transition: transform .16s ease, opacity .16s ease, visibility .16s ease;
}

.ttime-chat-shell.is-open .ttime-chat-panel {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
}

.ttime-chat-header {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    background: #ffffff;
    background: linear-gradient(90deg, color-mix(in srgb, var(--ttime-project-primary, #1fb6f2) 12%, #ffffff), #ffffff 44%);
    border-bottom: 1px solid color-mix(in srgb, var(--ttime-project-primary, #1fb6f2) 18%, rgba(15, 23, 42, .08));
}

.ttime-chat-title {
    font-weight: 700;
    line-height: 1.1;
}

.ttime-chat-subtitle {
    margin-top: 2px;
    color: #667085;
    font-size: .8rem;
}

.ttime-chat-actions {
    display: flex;
    gap: 6px;
}

.ttime-chat-icon-btn {
    width: 32px;
    height: 32px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    color: #475467;
}

.ttime-chat-icon-btn:hover {
    border-color: rgba(15, 23, 42, .12);
    background: #f2f4f7;
    color: #111827;
}

.ttime-chat-shell.is-pinned [data-chat-pin] {
    background: #fff7d6;
    color: #946200;
}

.ttime-chat-tabs {
    flex: 0 0 auto;
    display: flex;
    gap: 6px;
    overflow-x: auto;
    padding: 8px 10px;
    background: #ffffff;
    border-bottom: 1px solid rgba(15, 23, 42, .08);
}

.ttime-chat-tab {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    max-width: 172px;
    padding: 6px 9px;
    border: 1px solid transparent;
    border-radius: 999px;
    background: #f2f4f7;
    color: #344054;
    white-space: nowrap;
}

.ttime-chat-tab.active {
    border-color: rgba(44, 123, 229, .25);
    border-color: color-mix(in srgb, var(--ttime-project-primary, #1fb6f2) 35%, transparent);
    background: #e8f1ff;
    background: color-mix(in srgb, var(--ttime-project-primary, #1fb6f2) 14%, #ffffff);
    color: #164c96;
    color: color-mix(in srgb, var(--ttime-project-primary, #1fb6f2) 72%, #111827);
}

.ttime-chat-tab img {
    width: 16px;
    height: 16px;
    border-radius: 4px;
}

.ttime-chat-tab span {
    overflow: hidden;
    text-overflow: ellipsis;
}

.ttime-chat-tab strong {
    min-width: 18px;
    padding: 1px 5px;
    border-radius: 999px;
    background: var(--ttime-project-accent, #ff335c);
    color: #ffffff;
    font-size: .68rem;
}

.ttime-chat-members {
    position: relative;
    flex: 0 0 auto;
    display: flex;
    justify-content: space-between;
    gap: 8px;
    align-items: center;
    padding: 7px 10px;
    background: #ffffff;
    border-bottom: 1px solid rgba(15, 23, 42, .08);
}

.ttime-chat-members:empty {
    display: none;
}

.ttime-chat-members-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 9px;
    border: 1px solid rgba(15, 23, 42, .1);
    border-radius: 999px;
    background: #f8fafc;
    color: #344054;
}

.ttime-chat-members-toggle:hover {
    border-color: color-mix(in srgb, var(--ttime-project-primary, #1fb6f2) 35%, rgba(15, 23, 42, .1));
    color: color-mix(in srgb, var(--ttime-project-primary, #1fb6f2) 72%, #111827);
}

.ttime-chat-members-toggle strong {
    font-size: .82rem;
}

.ttime-chat-members-toggle span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #667085;
    font-size: .74rem;
}

.ttime-chat-members-summary {
    display: inline-flex;
    gap: 8px;
    color: #667085;
    font-size: .74rem;
    white-space: nowrap;
}

.ttime-chat-members-summary span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.ttime-chat-members-summary .fa-circle {
    color: var(--ttime-project-primary, #1fb6f2);
    font-size: .48rem;
}

.ttime-chat-members-popover {
    position: absolute;
    z-index: 3;
    top: calc(100% + 6px);
    left: 10px;
    right: 10px;
    display: none;
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, .14);
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 16px 40px rgba(15, 23, 42, .22);
}

.ttime-chat-shell.is-members-open .ttime-chat-members-popover {
    display: block;
}

.ttime-chat-members-popover-head {
    padding: 8px 10px;
    border-bottom: 1px solid rgba(15, 23, 42, .08);
    color: #667085;
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
}

.ttime-chat-member-list {
    display: grid;
    gap: 4px;
    max-height: 240px;
    overflow-y: auto;
    padding: 8px;
}

.ttime-chat-member {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 7px;
    max-width: none;
    padding: 6px 8px;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 8px;
    background: #f8fafc;
    color: #475467;
    font-size: .78rem;
    white-space: nowrap;
}

.ttime-chat-member > .fa-circle {
    flex: 0 0 auto;
    color: #98a2b3;
    font-size: .46rem;
}

.ttime-chat-member.is-online > .fa-circle {
    color: var(--ttime-project-primary, #1fb6f2);
}

.ttime-chat-member strong {
    overflow: hidden;
    min-width: 0;
    text-overflow: ellipsis;
    font-weight: 600;
}

.ttime-chat-member span {
    color: #667085;
    font-size: .74rem;
}

.ttime-chat-member em {
    flex: 0 0 auto;
    color: var(--ttime-project-accent, #ff335c);
    font-style: normal;
    font-size: .72rem;
}

.ttime-chat-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-anchor: none;
    padding: 14px 12px;
    background: var(--ttime-project-chat-bg, #eef4f9);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--ttime-project-primary, #1fb6f2) 10%, transparent) 25%, transparent 25%) 0 0 / 28px 28px,
        linear-gradient(135deg, transparent 75%, color-mix(in srgb, var(--ttime-project-accent, #ff335c) 8%, transparent) 75%) 0 0 / 28px 28px,
        var(--ttime-project-chat-bg, #eef4f9);
}

.ttime-chat-empty {
    margin: 24px auto;
    color: #667085;
    text-align: center;
}

.ttime-chat-message {
    display: flex;
    margin-bottom: 9px;
}

.ttime-chat-message.is-own {
    justify-content: flex-end;
}

.ttime-chat-bubble {
    max-width: 84%;
    padding: 8px 10px;
    border-radius: 12px 12px 12px 4px;
    background: #ffffff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .08);
}

.ttime-chat-message.is-own .ttime-chat-bubble {
    border-radius: 12px 12px 4px 12px;
    background: #d9fdd3;
    background: color-mix(in srgb, var(--ttime-project-primary, #1fb6f2) 18%, #ffffff);
}

.ttime-chat-meta {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 3px;
    color: #667085;
    font-size: .75rem;
}

.ttime-chat-text {
    overflow-wrap: anywhere;
    white-space: normal;
    color: #101828;
    line-height: 1.35;
}

.ttime-chat-topic-ref {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
    padding: 1px 6px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--ttime-project-primary, #1fb6f2) 12%, #ffffff);
    color: color-mix(in srgb, var(--ttime-project-primary, #1fb6f2) 72%, #0f172a);
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.ttime-chat-topic-ref:hover {
    background: color-mix(in srgb, var(--ttime-project-primary, #1fb6f2) 20%, #ffffff);
    color: color-mix(in srgb, var(--ttime-project-primary, #1fb6f2) 84%, #0f172a);
    text-decoration: none;
}

.ttime-chat-topic-snippets {
    display: grid;
    gap: 6px;
    margin-top: 8px;
}

.ttime-chat-topic-snippet {
    display: block;
    padding: 7px 9px;
    border-left: 3px solid var(--ttime-project-primary, #1fb6f2);
    border-radius: 8px;
    background: rgba(255, 255, 255, .78);
    color: #101828;
    text-decoration: none;
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, .06);
}

.ttime-chat-topic-snippet:hover {
    color: #101828;
    text-decoration: none;
    background: #ffffff;
}

.ttime-chat-topic-snippet-title {
    display: block;
    min-width: 0;
    font-size: .86rem;
    font-weight: 600;
    line-height: 1.2;
}

.ttime-chat-inline-emoji {
    width: 22px;
    height: 22px;
    margin: 0 2px;
    object-fit: contain;
    vertical-align: -5px;
}

.ttime-chat-text.is-standalone-emoji {
    font-size: 32px;
    line-height: 1.15;
}

.ttime-chat-text.is-standalone-emoji .ttime-chat-inline-emoji {
    width: 32px;
    height: 32px;
    margin: 0 3px;
    vertical-align: -9px;
}

.ttime-chat-mention {
    font-weight: 700;
    color: color-mix(in srgb, var(--ttime-project-primary, #1fb6f2) 70%, #0b315e);
}

.ttime-chat-new-messages {
    position: absolute;
    z-index: 4;
    left: 50%;
    bottom: calc(var(--ttime-chat-compose-height, 84px) + 10px);
    display: inline-flex;
    align-items: center;
    gap: 7px;
    max-width: calc(100% - 28px);
    padding: 7px 12px;
    border: 1px solid color-mix(in srgb, var(--ttime-project-primary, #1fb6f2) 60%, #ffffff);
    border-radius: 999px;
    background: color-mix(in srgb, var(--ttime-project-primary, #1fb6f2) 88%, #111827);
    color: #ffffff;
    font-size: .78rem;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .24);
    transform: translateX(-50%);
}

.ttime-chat-new-messages.d-none {
    display: none !important;
}

.ttime-chat-new-messages:hover,
.ttime-chat-new-messages:focus {
    background: color-mix(in srgb, var(--ttime-project-primary, #1fb6f2) 78%, #000000);
    color: #ffffff;
    outline: none;
}

.ttime-chat-compose {
    position: relative;
    flex: 0 0 auto;
    min-height: 0;
    padding: 9px 10px 10px;
    background: #ffffff;
    border-top: 1px solid rgba(15, 23, 42, .08);
}

.ttime-chat-compose-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 38px;
    gap: 8px;
    align-items: end;
}

.ttime-chat-input-wrap {
    position: relative;
    min-width: 0;
}

.ttime-chat-input-wrap textarea {
    min-height: 42px;
    max-height: 132px;
    padding-right: 42px;
    overflow-y: hidden;
    resize: none;
}

.ttime-chat-input-wrap textarea.is-scrollable {
    overflow-y: auto;
}

.ttime-chat-emoji-inline {
    position: absolute;
    top: 6px;
    right: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    color: #667085;
}

.ttime-chat-emoji-inline:hover,
.ttime-chat-emoji-inline:focus {
    border-color: rgba(15, 23, 42, .1);
    background: #f2f4f7;
    color: #111827;
    outline: none;
}

.ttime-chat-send-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 10px;
    background: var(--ttime-project-primary, #1fb6f2);
    color: #ffffff;
    box-shadow: 0 8px 18px color-mix(in srgb, var(--ttime-project-primary, #1fb6f2) 26%, transparent);
}

.ttime-chat-send-btn:hover,
.ttime-chat-send-btn:focus {
    background: color-mix(in srgb, var(--ttime-project-primary, #1fb6f2) 82%, #000000);
    color: #ffffff;
    outline: none;
}

.ttime-chat-hint {
    margin-top: 6px;
    color: #667085;
    font-size: .76rem;
    line-height: 1.2;
}

.ttime-chat-mention-box {
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: calc(100% - 6px);
    max-height: 184px;
    overflow-y: auto;
    border: 1px solid rgba(15, 23, 42, .14);
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 16px 40px rgba(15, 23, 42, .22);
}

.ttime-chat-mention-box button {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 10px;
    border: 0;
    background: transparent;
    text-align: left;
}

.ttime-chat-mention-box button:hover {
    background: #f2f4f7;
}

.ttime-chat-mention-box span {
    color: #667085;
    font-size: .8rem;
}

.ttime-chat-emoji-box {
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: calc(100% - 6px);
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(34px, 1fr));
    gap: 6px;
    max-height: 184px;
    overflow-y: auto;
    padding: 8px;
    border: 1px solid rgba(15, 23, 42, .14);
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 16px 40px rgba(15, 23, 42, .22);
}

.ttime-chat-emoji-option {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 34px;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 8px;
    background: #f8fafc;
    font-size: 1.15rem;
}

.ttime-chat-emoji-option:hover {
    border-color: color-mix(in srgb, var(--ttime-project-primary, #1fb6f2) 35%, rgba(15, 23, 42, .1));
    background: color-mix(in srgb, var(--ttime-project-primary, #1fb6f2) 10%, #ffffff);
}

.ttime-chat-emoji-option img,
.ttime-chat-emoji-option video {
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.dark-mode .ttime-chat-panel,
.dark-mode .ttime-chat-header,
.dark-mode .ttime-chat-tabs,
.dark-mode .ttime-chat-members,
.dark-mode .ttime-chat-members-popover,
.dark-mode .ttime-chat-compose,
.dark-mode .ttime-chat-mention-box,
.dark-mode .ttime-chat-emoji-box {
    border-color: var(--tt-dark-border);
    background: var(--tt-dark-surface);
}

.dark-mode .ttime-chat-body {
    background: var(--tt-dark);
    background: color-mix(in srgb, var(--ttime-project-chat-bg, #eef4f9) 28%, var(--tt-dark));
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--ttime-project-primary, #1fb6f2) 14%, transparent) 25%, transparent 25%) 0 0 / 28px 28px,
        linear-gradient(135deg, transparent 75%, color-mix(in srgb, var(--ttime-project-accent, #ff335c) 10%, transparent) 75%) 0 0 / 28px 28px,
        color-mix(in srgb, var(--ttime-project-chat-bg, #eef4f9) 28%, var(--tt-dark));
}

.dark-mode .ttime-chat-header {
    background: var(--tt-dark-surface);
    background: linear-gradient(90deg, color-mix(in srgb, var(--ttime-project-primary, #1fb6f2) 22%, var(--tt-dark-surface)), var(--tt-dark-surface) 48%);
    border-bottom-color: color-mix(in srgb, var(--ttime-project-primary, #1fb6f2) 28%, var(--tt-dark-border));
}

.dark-mode .ttime-chat-bubble {
    background: var(--tt-dark-surface);
}

.dark-mode .ttime-chat-message.is-own .ttime-chat-bubble {
    background: #123620;
    background: color-mix(in srgb, var(--ttime-project-primary, #1fb6f2) 26%, var(--tt-dark-surface));
}

.dark-mode .ttime-chat-title,
.dark-mode .ttime-chat-text {
    color: var(--tt-dark-text);
}

.dark-mode .ttime-chat-topic-ref {
    background: color-mix(in srgb, var(--ttime-project-primary, #1fb6f2) 28%, var(--tt-dark-surface));
    color: #e6f7ff;
}

.dark-mode .ttime-chat-topic-ref:hover {
    background: color-mix(in srgb, var(--ttime-project-primary, #1fb6f2) 38%, var(--tt-dark-surface));
    color: #ffffff;
}

.dark-mode .ttime-chat-topic-snippet {
    background: color-mix(in srgb, var(--ttime-project-primary, #1fb6f2) 14%, var(--tt-dark-surface));
    color: var(--tt-dark-text);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .07);
}

.dark-mode .ttime-chat-topic-snippet:hover {
    background: color-mix(in srgb, var(--ttime-project-primary, #1fb6f2) 22%, var(--tt-dark-surface));
    color: var(--tt-dark-text);
}

.dark-mode .ttime-topic-ref-copy {
    color: color-mix(in srgb, var(--ttime-project-primary, #1fb6f2) 58%, var(--tt-dark-text));
}

.dark-mode .ttime-topic-ref-copy:hover,
.dark-mode .ttime-topic-ref-copy:focus,
.dark-mode .ttime-topic-ref-copy.is-copied {
    background: color-mix(in srgb, var(--ttime-project-primary, #1fb6f2) 20%, transparent);
    color: var(--tt-dark-text);
}

.dark-mode .ttime-topic-ref-copy-feedback {
    color: #6ee7b7;
}

.dark-mode .ttime-chat-subtitle,
.dark-mode .ttime-chat-meta,
.dark-mode .ttime-chat-hint,
.dark-mode .ttime-chat-empty,
.dark-mode .ttime-chat-members-summary,
.dark-mode .ttime-chat-members-toggle span,
.dark-mode .ttime-chat-member span,
.dark-mode .ttime-chat-members-popover-head {
    color: var(--tt-dark-muted);
}

.dark-mode .ttime-chat-member,
.dark-mode .ttime-chat-members-toggle,
.dark-mode .ttime-chat-emoji-inline,
.dark-mode .ttime-chat-emoji-option {
    border-color: var(--tt-dark-border);
    background: rgba(255, 255, 255, .04);
    color: var(--tt-dark-text);
}

.dark-mode .ttime-chat-emoji-inline:hover,
.dark-mode .ttime-chat-emoji-inline:focus {
    border-color: var(--tt-dark-border);
    background: rgba(255, 255, 255, .08);
    color: #ffffff;
}

@media (max-width: 767.98px) {
    .profile-compact-grid-2,
    .profile-project-account-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .profile-password-confirmation {
        grid-column: auto;
    }

    .ttime-settings-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .custom-topic-image-source-row {
        align-items: stretch;
        flex-direction: column;
    }

    .custom-topic-image-source-row .btn {
        width: 100%;
    }

    .custom-topic-unsplash-results {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ttime-settings-tab-head {
        flex-direction: column;
        align-items: stretch;
    }

    .ttime-inner-settings-tabs {
        padding: .5rem .55rem 0;
    }

    .ttime-inner-settings-tabs .nav-link {
        padding: .38rem .52rem;
    }

    body {
        overflow-x: hidden;
    }

    body.ttime-chat-mobile-open {
        overflow: hidden;
    }

    .main-header.navbar {
        flex-wrap: nowrap;
        align-items: center;
        min-height: var(--ttime-topbar-height, 56px);
        padding: .32rem .5rem;
        gap: .25rem;
        overflow: visible;
    }

    .main-header > .navbar-nav {
        flex-direction: row;
        align-items: center;
        flex-wrap: nowrap;
    }

    .main-header .nav-link {
        padding: .38rem .42rem;
        white-space: nowrap;
    }

    .ttime-desktop-actions {
        display: none !important;
    }

    .ttime-mobile-actions {
        display: flex;
        flex: 0 0 auto;
        margin-left: .25rem !important;
    }

    .ttime-mobile-more {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 34px;
        min-width: 34px;
        min-height: 32px;
        padding-right: 0;
        padding-left: 0;
        white-space: nowrap;
    }

    .ttime-mobile-more::after {
        display: none;
    }

    .ttime-mobile-actions .dropdown {
        position: static;
    }

    .ttime-mobile-actions .dropdown-menu {
        position: fixed !important;
        top: calc(var(--ttime-topbar-height, 56px) + max(8px, env(safe-area-inset-top))) !important;
        right: max(8px, env(safe-area-inset-right)) !important;
        left: max(8px, env(safe-area-inset-left)) !important;
        width: auto;
        min-width: 0;
        max-height: calc(var(--ttime-visual-viewport-height, 100vh) - var(--ttime-topbar-height, 56px) - 16px);
        margin: 0 !important;
        overflow-y: auto;
        transform: none !important;
        border-radius: 10px;
        box-shadow: 0 18px 44px rgba(15, 23, 42, .22);
    }

    .ttime-mobile-actions .dropdown-item {
        width: 100%;
        min-width: 0;
        white-space: normal;
    }

    .ttime-collab-brand {
        flex: 0 0 auto;
        gap: .14rem;
        max-width: none;
        margin-right: .1rem;
        padding: 0;
    }

    .ttime-brand-name {
        gap: .32rem;
        font-size: 1rem;
    }

    .ttime-brand-icon-only {
        justify-content: center;
        gap: 0;
        width: 36px;
        min-width: 36px;
    }

    .ttime-brand-label,
    .ttime-nav-label {
        display: none;
    }

    .ttime-app-icon {
        width: 26px;
        height: 25px;
    }

    .ttime-app-icon-face {
        width: 20px;
    }

    .ttime-app-icon-hand-one,
    .ttime-app-icon-hand-two {
        width: 13px;
    }

    .ttime-collab-x {
        margin-right: .03rem;
        margin-left: .03rem;
    }

    .ttime-project-toggle {
        max-width: min(30vw, 120px);
        min-height: 30px;
        padding: .15rem .25rem;
        font-size: .86rem;
    }

    .ttime-project-toggle-icon-only {
        width: 31px;
        min-width: 31px;
        max-width: 31px;
        padding: .15rem;
        border-radius: 10px;
        justify-content: center;
    }

    .ttime-project-toggle-icon-only .ttime-project-caret {
        display: none;
    }

    .ttime-project-name {
        display: none;
        max-width: 70px;
        margin-left: .28rem;
        transform: none;
    }

    .ttime-project-caret {
        margin-left: .25rem;
        opacity: .58;
    }

    .ttime-project-favicon {
        width: 17px;
        height: 17px;
    }

    .ttime-nav-icon-link {
        width: 36px;
        min-width: 36px;
        padding: 0 !important;
        gap: 0;
    }

    .ttime-settings-tabs-wrap {
        margin-right: -.5rem;
        margin-left: -.5rem;
        padding: 0 .5rem;
    }

    .content-header {
        padding: 10px .5rem 0;
    }

    .content {
        padding-right: .5rem;
        padding-left: .5rem;
    }

    .content .container-fluid,
    .content-header .container-fluid {
        padding-right: 0;
        padding-left: 0;
    }

    .topic-queue-header {
        align-items: stretch;
        flex-direction: column;
        gap: .65rem;
        padding: .75rem;
    }

    .topic-queue-heading {
        width: 100%;
        justify-content: space-between;
    }

    .ttime-cron-inline .ttime-cron-expanded {
        right: 0;
        left: auto;
        width: calc(100vw - 1.5rem);
    }

    .ttime-telegram-watchdog {
        max-width: 48vw;
        font-size: .78rem;
    }

    .ttime-telegram-watchdog > summary {
        overflow: hidden;
    }

    .ttime-telegram-watchdog [data-telegram-health-message] {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .ttime-telegram-watchdog-expanded {
        right: 0;
        left: auto;
        width: calc(100vw - 1.5rem);
    }

    .topic-queue-tools {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: .45rem;
        width: 100%;
    }

    .topic-tool-button {
        width: 100%;
        justify-content: center;
        padding-right: .5rem;
        padding-left: .5rem;
    }

    .topic-queue-filterbar {
        padding: .65rem .75rem;
    }

    .topic-queue-tabs {
        flex-wrap: nowrap;
        gap: .34rem;
        margin-right: -.75rem;
        margin-left: -.75rem;
        padding: 0 .75rem .15rem;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .topic-queue-tab {
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .topic-tabs-separator {
        flex: 0 0 1px;
    }

    .topic-queue-subbar {
        margin-top: .55rem;
    }

    .topic-sort-switch {
        width: 100%;
    }

    .topic-sort-link {
        flex: 1 1 0;
        justify-content: center;
    }

    .ttime-cron-expanded {
        width: calc(100vw - 1rem);
        align-items: stretch;
        flex-direction: column;
        gap: .55rem;
    }

    .ttime-cron-expanded .btn {
        align-self: flex-start;
    }

    .card-header .card-tools {
        float: none;
        display: flex;
        flex-wrap: wrap;
        gap: .25rem;
        margin-top: .75rem;
    }

    .topic-queue-header .topic-queue-tools {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: .45rem;
        margin-top: 0;
        width: 100%;
    }

    .card-tools .btn + .btn {
        margin-left: 0;
    }

    .card-header {
        padding: .75rem;
    }

    .card-header .card-title {
        float: none;
        display: block;
        margin-bottom: 0;
    }

    .card-header .card-tools form,
    .card-header .card-tools .btn,
    .card-header .card-tools select {
        max-width: 100%;
    }

    .card-header .card-tools .btn,
    .card-footer .btn {
        margin-top: .25rem;
    }

    .card-footer {
        display: flex;
        flex-wrap: wrap;
        gap: .45rem;
    }

    .card-footer .btn {
        flex: 1 1 auto;
    }

    .form-row {
        margin-right: 0;
        margin-left: 0;
    }

    .form-row > [class*="col-"] {
        padding-right: 0;
        padding-left: 0;
    }

    .entity-graph {
        grid-template-columns: 1fr;
    }

    .entity-graph-details {
        min-height: 0;
    }

    .projects-table {
        table-layout: auto;
    }

    .table-responsive {
        overflow-x: visible;
    }

    .mobile-card-table,
    .mobile-card-table thead,
    .mobile-card-table tbody,
    .mobile-card-table tr,
    .mobile-card-table th,
    .mobile-card-table td {
        display: block;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        white-space: normal !important;
    }

    .mobile-card-table.admin-fit-table,
    .mobile-card-table.projects-table {
        table-layout: auto;
        min-width: 0;
    }

    .mobile-card-table thead {
        display: none;
    }

    .mobile-card-table tbody {
        display: grid;
        gap: 10px;
        padding: 10px;
    }

    .mobile-card-table tr {
        overflow: hidden;
        border: 1px solid var(--tt-border);
        border-radius: 8px;
        background: var(--tt-surface);
        box-shadow: 0 8px 20px rgba(32, 32, 48, .045);
    }

    .mobile-card-table tr.table-warning {
        border-color: rgba(240, 180, 41, .62);
        background: #fff8df;
    }

    .mobile-card-table td,
    .mobile-card-table th {
        display: grid;
        grid-template-columns: minmax(92px, 34%) minmax(0, 1fr);
        gap: 10px;
        align-items: start;
        padding: 10px 12px !important;
        border-top: 1px solid var(--tt-border) !important;
        text-align: left !important;
        overflow-wrap: anywhere;
    }

    .mobile-card-table td:first-child,
    .mobile-card-table th:first-child {
        border-top: 0 !important;
    }

    .mobile-card-table td::before,
    .mobile-card-table th::before {
        content: attr(data-label);
        color: var(--tt-muted);
        font-size: .74rem;
        font-weight: 700;
        line-height: 1.25;
        text-transform: uppercase;
    }

    .mobile-card-table td[data-label=""],
    .mobile-card-table th[data-label=""],
    .mobile-card-table .mobile-card-empty {
        grid-template-columns: minmax(0, 1fr);
    }

    .mobile-card-table td[data-label=""]::before,
    .mobile-card-table th[data-label=""]::before,
    .mobile-card-table .mobile-card-empty::before {
        display: none;
    }

    .mobile-card-table .btn,
    .mobile-card-table form {
        max-width: 100%;
    }

    .mobile-card-table .text-right {
        text-align: left !important;
    }

    .ttime-chat-shell,
    .ttime-chat-shell.is-pinned {
        inset: calc(var(--ttime-topbar-height, 56px) + max(8px, env(safe-area-inset-top))) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));
        width: auto;
        height: auto;
        max-height: calc(var(--ttime-visual-viewport-height, 100vh) - var(--ttime-topbar-height, 56px) - 16px);
        z-index: 1130;
    }

    body.layout-top-nav.ttime-chat-pinned .wrapper .content-wrapper {
        margin-left: 0;
    }

    .ttime-chat-panel {
        border-radius: 10px;
        box-shadow: 0 18px 52px rgba(15, 23, 42, .28);
    }

    .ttime-chat-header {
        padding: 10px 12px;
    }

    .ttime-chat-actions [data-chat-pin] {
        display: none;
    }

    .ttime-chat-tabs {
        gap: 5px;
        padding: 7px 8px;
        -webkit-overflow-scrolling: touch;
    }

    .ttime-chat-tab {
        max-width: 148px;
        padding: 5px 8px;
        font-size: .82rem;
    }

    .ttime-chat-members {
        align-items: flex-start;
        gap: 6px;
        padding: 7px 8px;
    }

    .ttime-chat-members-summary {
        display: none;
    }

    .ttime-chat-body {
        padding: 12px 8px;
    }

    .ttime-chat-bubble {
        max-width: 90%;
    }

    .ttime-chat-compose {
        padding: 8px;
    }

    .ttime-chat-input-wrap textarea {
        max-height: 112px;
        font-size: 16px;
    }

    .ttime-chat-hint {
        display: none;
    }

    .ttime-chat-mention-box,
    .ttime-chat-emoji-box {
        left: 8px;
        right: 8px;
        max-height: min(220px, 38vh);
    }

    .ttime-topic-modal {
        top: var(--ttime-topbar-height, 56px);
        height: calc(var(--ttime-visual-viewport-height, 100vh) - var(--ttime-topbar-height, 56px));
    }

    body.ttime-chat-mobile-open .ttime-topic-modal {
        z-index: 1140;
    }

    .ttime-topic-modal .modal-dialog,
    #profileModal .modal-dialog,
    .ttime-profile-modal .modal-dialog {
        width: auto;
        max-width: none;
        height: calc(var(--ttime-visual-viewport-height, 100vh) - var(--ttime-topbar-height, 56px) - 16px);
        max-height: none;
        margin: 8px;
    }

    .ttime-topic-modal .modal-dialog-scrollable {
        max-height: none;
    }

    .ttime-topic-modal .modal-content {
        max-height: none;
        height: 100%;
        border-radius: 10px;
    }

    .ttime-profile-modal .modal-content {
        display: flex;
        flex-direction: column;
    }

    .ttime-profile-modal .modal-header {
        flex: 0 0 auto;
    }

    .ttime-profile-modal .profile-modal-form {
        flex: 1 1 auto;
        max-height: none;
    }

    .ttime-topic-modal .modal-header {
        padding: 10px 12px;
    }

    .ttime-topic-modal .modal-body {
        max-height: none;
        padding: 12px;
    }

    .ttime-image-preview {
        inset: var(--ttime-topbar-height, 56px) 0 0 0;
        padding: 8px;
    }

    .ttime-image-preview-window {
        width: 100%;
        max-height: calc(var(--ttime-visual-viewport-height, 100vh) - var(--ttime-topbar-height, 56px) - 16px);
    }

    .ttime-image-preview-stage img {
        max-height: calc(var(--ttime-visual-viewport-height, 100vh) - var(--ttime-topbar-height, 56px) - 88px);
    }
}

/* Final glass overrides: placed after legacy/mobile rules so the material stays consistent. */
html,
body,
body.layout-top-nav,
.wrapper,
.content-wrapper,
.login-page {
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .94), rgba(237, 243, 248, .82) 44%, rgba(244, 246, 250, .94)),
        var(--tt-bg) !important;
}

.main-header.navbar-white,
.main-header.navbar-dark {
    border-bottom-color: rgba(255, 255, 255, .58) !important;
    background: rgba(255, 255, 255, .72) !important;
    -webkit-backdrop-filter: saturate(145%) blur(22px);
    backdrop-filter: saturate(145%) blur(22px);
    box-shadow: 0 10px 30px rgba(31, 42, 68, .08), inset 0 -1px 0 rgba(255, 255, 255, .42);
}

.card,
.login-card-body,
.dropdown-menu,
.modal-content,
.topic-card,
.topic-detail-heading,
.topic-detail-summary,
.topic-clean-panel,
.topic-score-card,
.ttime-settings-subcard,
.ttime-cron-status-card,
.ttime-telegram-health-card,
.custom-topic-param,
.custom-topic-details,
.custom-topic-press-text,
.custom-topic-ai-draft,
.custom-topic-html-editor,
.custom-topic-tags-editor,
.custom-topic-publication-image,
.custom-topic-unsplash-item,
.custom-topic-asset-file,
.ttime-chat-panel,
.ttime-chat-header,
.ttime-chat-tabs,
.ttime-chat-members,
.ttime-chat-compose,
.ttime-chat-members-popover,
.ttime-chat-mention-box,
.ttime-chat-emoji-box,
.mobile-card-table tr {
    border-color: var(--tt-glass-border) !important;
    background: var(--tt-glass) !important;
    -webkit-backdrop-filter: saturate(145%) blur(22px);
    backdrop-filter: saturate(145%) blur(22px);
    box-shadow: var(--tt-glass-shadow), var(--tt-glass-inner) !important;
}

.card-header,
.card-footer,
.modal-header,
.modal-footer {
    border-color: rgba(31, 42, 68, .08) !important;
    background: rgba(255, 255, 255, .30) !important;
}

.table,
.table thead th,
.table td,
.table th {
    background: transparent !important;
}

.table-hover tbody tr:hover,
.mobile-card-table tr:hover,
.topic-card:hover {
    background: color-mix(in srgb, var(--tt-primary) 5%, rgba(255, 255, 255, .58)) !important;
}

.btn-outline-secondary,
.btn-outline-primary,
.btn-outline-info,
.theme-toggle,
.topic-tool-button,
.ttime-project-toggle,
.ttime-nav-icon-link,
.topic-queue-tab,
.topic-sort-link,
.ttime-settings-tabs .nav-link,
.ttime-inner-settings-tabs .nav-link {
    border-color: rgba(31, 42, 68, .12) !important;
    background: rgba(255, 255, 255, .42) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .58);
}

.form-control,
.custom-select,
.input-group-text {
    border-color: rgba(31, 42, 68, .15) !important;
    background: rgba(255, 255, 255, .64) !important;
}

body.dark-mode,
body.dark-mode.layout-top-nav,
.dark-mode,
body.dark-mode .wrapper,
.dark-mode .content-wrapper,
.dark-mode.login-page {
    background:
        linear-gradient(145deg, rgba(20, 23, 29, .98), rgba(12, 15, 20, .96) 48%, rgba(24, 27, 34, .98)),
        var(--tt-dark) !important;
}

.dark-mode .main-header.navbar-dark {
    border-bottom-color: rgba(255, 255, 255, .10) !important;
    background: rgba(18, 20, 25, .72) !important;
    -webkit-backdrop-filter: saturate(150%) blur(24px);
    backdrop-filter: saturate(150%) blur(24px);
    box-shadow: 0 14px 34px rgba(0, 0, 0, .30), inset 0 -1px 0 rgba(255, 255, 255, .06);
}

.dark-mode .card,
.dark-mode .login-card-body,
.dark-mode .dropdown-menu,
.dark-mode .modal-content,
.dark-mode .topic-card,
.dark-mode .topic-detail-heading,
.dark-mode .topic-detail-summary,
.dark-mode .topic-clean-panel,
.dark-mode .topic-score-card,
.dark-mode .ttime-settings-subcard,
.dark-mode .ttime-cron-status-card,
.dark-mode .ttime-telegram-health-card,
.dark-mode .custom-topic-param,
.dark-mode .custom-topic-details,
.dark-mode .custom-topic-press-text,
.dark-mode .custom-topic-ai-draft,
.dark-mode .custom-topic-html-editor,
.dark-mode .custom-topic-tags-editor,
.dark-mode .custom-topic-publication-image,
.dark-mode .custom-topic-unsplash-item,
.dark-mode .custom-topic-asset-file,
.dark-mode .ttime-chat-panel,
.dark-mode .ttime-chat-header,
.dark-mode .ttime-chat-tabs,
.dark-mode .ttime-chat-members,
.dark-mode .ttime-chat-compose,
.dark-mode .ttime-chat-members-popover,
.dark-mode .ttime-chat-mention-box,
.dark-mode .ttime-chat-emoji-box,
.dark-mode .mobile-card-table tr {
    border-color: var(--tt-dark-border) !important;
    background: var(--tt-dark-glass) !important;
    -webkit-backdrop-filter: saturate(150%) blur(24px);
    backdrop-filter: saturate(150%) blur(24px);
    box-shadow: var(--tt-dark-glass-shadow), inset 0 1px 0 rgba(255, 255, 255, .08) !important;
}

.dark-mode .card-header,
.dark-mode .card-footer,
.dark-mode .modal-header,
.dark-mode .modal-footer {
    border-color: rgba(255, 255, 255, .08) !important;
    background: rgba(255, 255, 255, .035) !important;
}

.dark-mode .btn-outline-secondary,
.dark-mode .btn-outline-primary,
.dark-mode .btn-outline-info,
.dark-mode .theme-toggle,
.dark-mode .topic-tool-button,
.dark-mode .ttime-project-toggle,
.dark-mode .ttime-nav-icon-link,
.dark-mode .topic-queue-tab,
.dark-mode .topic-sort-link,
.dark-mode .ttime-settings-tabs .nav-link,
.dark-mode .ttime-inner-settings-tabs .nav-link {
    border-color: rgba(255, 255, 255, .12) !important;
    background: rgba(255, 255, 255, .055) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07);
}

.dark-mode .form-control,
.dark-mode .custom-select,
.dark-mode .input-group-text {
    border-color: rgba(255, 255, 255, .13) !important;
    background: rgba(255, 255, 255, .07) !important;
}

/* Readability fixes after AdminLTE hover/active states. */
.main-header.navbar-white,
.main-header.navbar-dark {
    background: rgba(255, 255, 255, .94) !important;
}

.dropdown-menu,
.ttime-mobile-actions .dropdown-menu,
.ttime-cron-expanded,
.ttime-chat-members-popover,
.ttime-chat-mention-box,
.ttime-chat-emoji-box {
    background: var(--tt-glass-strong) !important;
}

.btn-outline-secondary,
.theme-toggle,
.topic-tool-button,
.ttime-project-toggle,
.ttime-nav-icon-link,
.topic-queue-tab,
.topic-sort-link,
.ttime-settings-tabs .nav-link,
.ttime-inner-settings-tabs .nav-link {
    color: var(--tt-text) !important;
}

.btn-outline-primary {
    color: var(--tt-primary-dark) !important;
}

.btn-outline-info {
    color: #117a8b !important;
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus,
.btn-outline-secondary:active,
.btn-outline-secondary.active,
.show > .btn-outline-secondary.dropdown-toggle,
.theme-toggle:hover,
.theme-toggle:focus,
.theme-toggle:active,
.theme-toggle.active,
.topic-tool-button:hover,
.topic-tool-button:focus,
.topic-tool-button.active,
.ttime-project-toggle:hover,
.ttime-project-toggle:focus,
.ttime-project-toggle[aria-expanded="true"],
.ttime-nav-icon-link:hover,
.ttime-nav-icon-link:focus,
.ttime-nav-icon-link.active,
.topic-queue-tab:hover,
.topic-queue-tab:focus,
.topic-queue-tab.active,
.topic-sort-link:hover,
.topic-sort-link:focus,
.topic-sort-link.active,
.ttime-settings-tabs .nav-link:hover,
.ttime-settings-tabs .nav-link:focus,
.ttime-settings-tabs .nav-link.active,
.ttime-inner-settings-tabs .nav-link:hover,
.ttime-inner-settings-tabs .nav-link:focus,
.ttime-inner-settings-tabs .nav-link.active {
    border-color: color-mix(in srgb, var(--tt-primary) 34%, rgba(31, 42, 68, .16)) !important;
    background: color-mix(in srgb, var(--tt-primary) 10%, rgba(255, 255, 255, .90)) !important;
    color: var(--tt-text) !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active,
.btn-outline-primary.active,
.show > .btn-outline-primary.dropdown-toggle {
    border-color: color-mix(in srgb, var(--tt-primary) 58%, rgba(31, 42, 68, .16)) !important;
    background: color-mix(in srgb, var(--tt-primary) 13%, rgba(255, 255, 255, .90)) !important;
    color: var(--tt-primary-dark) !important;
}

.btn-outline-info:hover,
.btn-outline-info:focus,
.btn-outline-info:active,
.btn-outline-info.active,
.show > .btn-outline-info.dropdown-toggle {
    border-color: rgba(23, 162, 184, .48) !important;
    background: rgba(23, 162, 184, .13) !important;
    color: #0f6d7c !important;
}

.dropdown-item:hover,
.dropdown-item:focus,
.dropdown-item.active,
.dropdown-item:active,
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    background: color-mix(in srgb, var(--tt-primary) 13%, rgba(255, 255, 255, .92)) !important;
    color: var(--tt-text) !important;
}

.dark-mode .main-header.navbar-dark {
    background: rgba(18, 20, 25, .94) !important;
}

.dark-mode .dropdown-menu,
.dark-mode .ttime-mobile-actions .dropdown-menu,
.dark-mode .ttime-cron-expanded,
.dark-mode .ttime-chat-members-popover,
.dark-mode .ttime-chat-mention-box,
.dark-mode .ttime-chat-emoji-box {
    background: var(--tt-dark-glass-strong) !important;
}

.dark-mode .btn-outline-secondary,
.dark-mode .theme-toggle,
.dark-mode .topic-tool-button,
.dark-mode .ttime-project-toggle,
.dark-mode .ttime-nav-icon-link,
.dark-mode .topic-queue-tab,
.dark-mode .topic-sort-link,
.dark-mode .ttime-settings-tabs .nav-link,
.dark-mode .ttime-inner-settings-tabs .nav-link {
    color: var(--tt-dark-text) !important;
}

.dark-mode .btn-outline-primary,
.dark-mode .btn-outline-info {
    color: var(--tt-link-dark) !important;
}

.dark-mode .btn-outline-secondary:hover,
.dark-mode .btn-outline-secondary:focus,
.dark-mode .btn-outline-secondary:active,
.dark-mode .btn-outline-secondary.active,
.dark-mode .show > .btn-outline-secondary.dropdown-toggle,
.dark-mode .theme-toggle:hover,
.dark-mode .theme-toggle:focus,
.dark-mode .theme-toggle:active,
.dark-mode .theme-toggle.active,
.dark-mode .topic-tool-button:hover,
.dark-mode .topic-tool-button:focus,
.dark-mode .topic-tool-button.active,
.dark-mode .ttime-project-toggle:hover,
.dark-mode .ttime-project-toggle:focus,
.dark-mode .ttime-project-toggle[aria-expanded="true"],
.dark-mode .ttime-nav-icon-link:hover,
.dark-mode .ttime-nav-icon-link:focus,
.dark-mode .ttime-nav-icon-link.active,
.dark-mode .topic-queue-tab:hover,
.dark-mode .topic-queue-tab:focus,
.dark-mode .topic-queue-tab.active,
.dark-mode .topic-sort-link:hover,
.dark-mode .topic-sort-link:focus,
.dark-mode .topic-sort-link.active,
.dark-mode .ttime-settings-tabs .nav-link:hover,
.dark-mode .ttime-settings-tabs .nav-link:focus,
.dark-mode .ttime-settings-tabs .nav-link.active,
.dark-mode .ttime-inner-settings-tabs .nav-link:hover,
.dark-mode .ttime-inner-settings-tabs .nav-link:focus,
.dark-mode .ttime-inner-settings-tabs .nav-link.active {
    border-color: color-mix(in srgb, var(--tt-link-dark) 38%, rgba(255, 255, 255, .16)) !important;
    background: color-mix(in srgb, var(--tt-link-dark) 13%, rgba(255, 255, 255, .08)) !important;
    color: #f5f7fb !important;
}

.dark-mode .btn-outline-primary:hover,
.dark-mode .btn-outline-primary:focus,
.dark-mode .btn-outline-primary:active,
.dark-mode .btn-outline-primary.active,
.dark-mode .show > .btn-outline-primary.dropdown-toggle,
.dark-mode .btn-outline-info:hover,
.dark-mode .btn-outline-info:focus,
.dark-mode .btn-outline-info:active,
.dark-mode .btn-outline-info.active,
.dark-mode .show > .btn-outline-info.dropdown-toggle {
    border-color: color-mix(in srgb, var(--tt-link-dark) 48%, rgba(255, 255, 255, .18)) !important;
    background: color-mix(in srgb, var(--tt-link-dark) 16%, rgba(255, 255, 255, .08)) !important;
    color: #f5f7fb !important;
}

.dark-mode .dropdown-item:hover,
.dark-mode .dropdown-item:focus,
.dark-mode .dropdown-item.active,
.dark-mode .dropdown-item:active,
.dark-mode .nav-pills .nav-link.active,
.dark-mode .nav-pills .show > .nav-link {
    background: color-mix(in srgb, var(--tt-link-dark) 18%, rgba(255, 255, 255, .08)) !important;
    color: #f5f7fb !important;
}
