/*
=================================
HALLOWEEN THEME 🎃
=================================
*/

/* 1) Font & základ */
@import url('https://fonts.googleapis.com/css2?family=Butcherman&display=swap');

.halloween-mode {
    /* Paleta */
    --h-primary: #ff6a00;
    /* pumpkin */
    --h-primary-strong: #ff8a33;
    --h-accent: #8e44ad;
    /* witch purple */
    --h-accent-2: #5b2c6f;
    --h-success: #20c997;
    /* ecto green */
    --h-danger: #ff3d5e;
    /* blood */
    --h-warning: #ffc107;
    /* candle */
    --h-info: #17a2b8;
    /* moonlight blue */

    --h-text: #f2efe9;
    /* parchment */
    --h-text-muted: #b9b4aa;
    --h-invert: #0f0f12;

    --h-bg-body: #161417;
    /* night */
    --h-bg-container: #1f1b23;
    /* crypt */
    --h-bg-subtle: #2a2530;
    /* fog */
    --h-border: #3b3342;

    /* Glow helpers */
    --h-glow-primary: 0 0 0 2px rgba(255, 106, 0, .25), 0 0 22px rgba(255, 106, 0, .25);
    --h-glow-accent: 0 0 0 2px rgba(142, 68, 173, .25), 0 0 22px rgba(142, 68, 173, .25);

    /* Ambient overlays (new) */
    --h-fog: radial-gradient(50% 40% at 50% 50%, rgba(255, 255, 255, .04), rgba(0, 0, 0, 0) 60%);
    --h-embers: radial-gradient(2px 2px at 20% 30%, rgba(255, 106, 0, .6), rgba(255, 106, 0, 0) 60%),
        radial-gradient(2px 2px at 70% 60%, rgba(255, 106, 0, .45), rgba(255, 106, 0, 0) 60%),
        radial-gradient(1.5px 1.5px at 35% 80%, rgba(255, 106, 0, .35), rgba(255, 106, 0, 0) 60%),
        radial-gradient(2px 2px at 90% 20%, rgba(255, 106, 0, .35), rgba(255, 106, 0, 0) 60%);

    /* ===== Přemapování na app proměnné (global) ===== */
    --c-primary: var(--h-primary);
    --c-secondary: var(--h-text-muted);
    --c-text: var(--h-text);
    --c-text-muted: var(--h-text-muted);
    --c-bg-body: var(--h-bg-body);
    --c-bg-container: var(--h-bg-container);
    --c-bg-subtle: var(--h-bg-subtle);
    --c-border: var(--h-border);
    --c-border-light: #4a4150;
    --c-success: var(--h-success);
    --c-danger: var(--h-danger);
    --c-warning: var(--h-warning);
    --c-info: var(--h-info);

    /* Bootstrap přepisy */
    --bs-primary: var(--h-primary);
    --bs-primary-rgb: 255, 106, 0;
    --bs-danger-rgb: 255, 61, 94;
    --bs-body-bg: var(--h-bg-body);
    --bs-body-color: var(--h-text);
    --bs-secondary-color: var(--h-text-muted);
    --bs-emphasis-color: var(--h-text);
    --bs-border-color: var(--h-border);
    --bs-border-color-translucent: rgba(255, 255, 255, .12);
    --bs-primary-bg-subtle: rgba(255, 106, 0, .12);
    --bs-primary-text-emphasis: #fff;
    --bs-tertiary-bg: var(--h-bg-subtle);
    --bs-primary-emphasis-color: var(--h-primary-strong);

    /* Sidebar proměnné */
    --sidebar-bg: var(--h-bg-container);
    --sidebar-link-color: var(--h-text-muted);
    --sidebar-link-hover-bg: #2a2330;
    --sidebar-link-active-color: var(--h-primary);
    --sidebar-link-active-bg: rgba(255, 106, 0, .12);

    /* Statusy (tickets) – halloweenské odstíny */
    --status-new: #ff9f1c;
    --status-open: #ff3d5e;
    --status-client: #1762b8;
    --status-partner: #17a2b8;
    --status-done: #8a919a;
    --status-urgent: #ff2f2f;

    /* Kanban / karty / tabulky */
    --kanban-bg: #19161b;
    --kanban-header-bg: #231e27;
    --kanban-card-bg: #211d24;
    --card-bg: #211d24;
    --table-bg: #211d24;
    --table-head-bg: #2a2430;
    --filter-bg: #1b181d;
    --box-shadow: 0 6px 22px rgba(0, 0, 0, .35);
    --box-shadow-hover: 0 10px 28px rgba(0, 0, 0, .45);
    --border-color: var(--h-border);
    --text-color-primary: var(--h-text);
    --text-color-secondary: var(--h-text-muted);
    --accent-color: var(--h-primary);
    --c-bg-info-subtle: rgba(142, 68, 173, .15);
    --c-border-info: rgba(142, 68, 173, .35);
}

/* 2) Globální vzhled & Layout */
.halloween-mode body,
.halloween-mode .main-content,
.halloween-mode .ticket-view-container {
    background:
        radial-gradient(1200px 800px at 100% -50%, rgba(142, 68, 173, .15), transparent 55%),
        radial-gradient(900px 600px at -20% 120%, rgba(255, 106, 0, .12), transparent 60%),
        var(--h-bg-body) !important;
    color: var(--h-text);
    overflow-x: hidden;
}

/* Ambient fog + embers overlay (new) */
.halloween-mode body::before,
.halloween-mode body::after {
    content: "";
    position: fixed;
    inset: -20%;
    pointer-events: none;
    z-index: 1;
    opacity: .7;
    mix-blend-mode: screen;
    background: var(--h-fog);
    animation: fog-drift 80s linear infinite;
}

.halloween-mode body::after {
    background: var(--h-embers);
    opacity: .35;
    animation: embers-float 18s linear infinite;
}

/* Lightning flash layer (new) */
.halloween-mode .top-header::after,
.halloween-mode .navbar::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(255, 255, 255, .0), rgba(255, 255, 255, .18), rgba(255, 255, 255, .0));
    opacity: 0;
    pointer-events: none;
    animation: lightning 14s infinite;
}

/* Headings */
.halloween-mode h1,
.halloween-mode h2,
.halloween-mode h3,
.halloween-mode h4,
.halloween-mode h5,
.halloween-mode h6,
.halloween-mode .sidebar-brand,
.halloween-mode #chatbotHeader span {
    font-family: 'Butcherman', cursive;
    letter-spacing: 1.5px;
    color: var(--h-primary);
    text-shadow: 0 0 18px rgba(255, 106, 0, .25);
}

/* Jemné “netopýři” pozadí */
.halloween-mode body {
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cg fill='%23ff6a00' fill-opacity='.08'%3E%3Cpath d='M20 18.6l2.83-2.83 1.41 1.41L21.41 20l2.83 2.83-1.41 1.41L20 21.41l-2.83 2.83-1.41-1.41L18.59 20l-2.83-2.83 1.41-1.41L20 18.59z'/%3E%3C/g%3E%3C/svg%3E");
    background-repeat: repeat;
    background-attachment: fixed;
}

/* Netopýři – plovoucí vrstva (new) */
.halloween-mode body::marker {
    content: "";
}

/* Safari bug guard */
.halloween-mode .bats-layer {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 2;
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='60' viewBox='0 0 120 60'%3E%3Cpath fill='%23f2efe9' fill-opacity='.08' d='M15 30c2-10 13-10 15 0c2-10 13-10 15 0c-12 8-18 8-30 0zM75 20c2-8 10-8 12 0c2-8 10-8 12 0c-10 7-16 7-24 0z'/%3E%3C/svg%3E") repeat;
    animation: bats-fly 60s linear infinite;
    opacity: .45;
    filter: drop-shadow(0 0 6px rgba(0, 0, 0, .35));
}

/* Top header / navbar sklo */
.halloween-mode .top-header,
.halloween-mode .navbar,
.halloween-mode .filters,
.halloween-mode .ticket-list-header-sticky {
    background-color: rgba(27, 24, 29, .85) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-color: var(--h-border) !important;
    color: var(--h-text);
    position: relative;
}

/* Subtle candle flicker on active header (new) */
.halloween-mode .navbar-brand,
.halloween-mode .sidebar-brand {
    animation: candle-flicker 3.5s infinite;
}

.halloween-mode .navbar-profile-btn:hover {
    background-color: var(--h-bg-subtle);
}

/* Sidebar a podmenu */
.halloween-mode .sidebar-toggle-btn {
    background-color: var(--h-bg-body);
    border-color: var(--h-border);
    color: var(--h-text-muted);
    transition: transform .2s ease, box-shadow .2s ease;
}

.halloween-mode .sidebar-toggle-btn:hover {
    background-color: var(--h-primary);
    border-color: var(--h-primary);
    color: #000;
    box-shadow: var(--h-glow-primary);
    /* transform: translateY(-1px);  <-- Odebráno, způsobovalo "poskočení" layoutu a scrollbar */
}

.halloween-mode .submenu-link {
    color: var(--h-text-muted);
}

.halloween-mode .submenu-link:hover {
    color: var(--h-primary);
    background-color: var(--h-bg-subtle);
}

.halloween-mode .submenu-header {
    color: var(--h-text-muted);
}

/* Tlačítka */
.halloween-mode .btn-primary {
    background-color: var(--h-primary) !important;
    border-color: var(--h-primary) !important;
    color: #190e06 !important;
    font-weight: 700;
    box-shadow: var(--h-glow-primary);
    transition: transform .15s ease, filter .2s ease, box-shadow .2s ease;
}

.halloween-mode .btn-primary:hover {
    filter: brightness(1.08);
    transform: translateY(-1px);
}

.halloween-mode .btn-primary:active {
    transform: translateY(0);
}

.halloween-mode .btn-outline-secondary {
    border-color: var(--h-border) !important;
    color: var(--h-text-muted) !important;
    transition: box-shadow .2s ease, background .2s ease, color .2s ease;
}

.halloween-mode .btn-outline-secondary:hover {
    background: var(--h-primary) !important;
    color: #000 !important;
    border-color: var(--h-primary) !important;
}

/* „Shaky urgent“ (new) */
.halloween-mode .btn-danger,
.halloween-mode .badge.bg-danger,
.halloween-mode .priority-urgent .badge-priority {
    animation: shaky 2.4s infinite;
}

/* Karty, panely, obsahové bloky */
.halloween-mode .card,
.halloween-mode .grid-stack-item-content,
.halloween-mode .latest-tickets-card,
.halloween-mode .modal-content,
.halloween-mode .custom-view-panel,
.halloween-mode .empty-card,
.halloween-mode .ticket-sidebar,
.halloween-mode .calculator-pip-container,
.halloween-mode .admin-section-card,
.halloween-mode .summary-card {
    background: linear-gradient(180deg, rgba(33, 29, 36, .96), rgba(27, 24, 29, .96)) !important;
    color: var(--h-text) !important;
    border: 1px solid var(--h-border) !important;
    box-shadow: var(--box-shadow);
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease, filter .3s ease;
    will-change: transform, box-shadow;
}

.halloween-mode .card:hover,
.halloween-mode .grid-stack-item-content:hover,
.halloween-mode .summary-card:hover {
    box-shadow: var(--box-shadow-hover);
    transform: translateY(-2px);
    border-color: rgba(255, 106, 0, .45);
}

/* Neon border pulse (new) */
.halloween-mode .card.glow,
.halloween-mode .kanban-card.glow,
.halloween-mode .comment-card.glow {
    animation: neon-pulse 4.6s ease-in-out infinite;
}

/* Odkazy */
.halloween-mode a {
    color: var(--h-primary);
    transition: filter .2s ease, text-shadow .2s ease;
}

.halloween-mode a:hover {
    color: var(--h-primary-strong);
    text-decoration: none;
    text-shadow: 0 0 12px rgba(255, 106, 0, .25);
}

/* „Spooky underline“ (new utility) */
.halloween-mode .u-spooky {
    position: relative;
}

.halloween-mode .u-spooky::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(255, 106, 0, .9), transparent);
    filter: blur(.5px);
    animation: spooky-underline 2.5s linear infinite;
}

/* Inputs */
.halloween-mode .form-control,
.halloween-mode .form-select,
.halloween-mode .ts-control,
.halloween-mode .ts-dropdown,
.halloween-mode .ticket-input {
    background-color: #1c191f !important;
    color: var(--h-text) !important;
    border-color: var(--h-border) !important;
}

.halloween-mode .form-control:focus,
.halloween-mode .form-select:focus,
.halloween-mode .ts-control:focus {
    box-shadow: var(--h-glow-accent);
    border-color: var(--h-accent-2) !important;
}

/* 3) HOME — Gridstack & widgety */
.halloween-mode .grid-stack-item-content {
    border-radius: 16px;
    border: 1px solid var(--h-border);
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.halloween-mode body:not(.layout-editing-mode) .grid-stack-item:hover .grid-stack-item-content {
    border-color: var(--h-primary);
    box-shadow: 0 18px 38px rgba(255, 106, 0, .08), 0 8px 18px rgba(142, 68, 173, .15);
}

/* „Floaty“ wiggle for widgets (new) */
.halloween-mode .grid-stack-item-content.floaty {
    animation: float-y 8s ease-in-out infinite;
}

/* Stat cards — halloweenské gradienty */
.halloween-mode .stat-card.bg-primary {
    background: linear-gradient(135deg, #ff6a00, #8e44ad) !important;
}

.halloween-mode .stat-card.bg-success {
    background: linear-gradient(135deg, #20c997, #8e44ad) !important;
}

.halloween-mode .stat-card.bg-danger {
    background: linear-gradient(135deg, #ff3d5e, #8e44ad) !important;
}

.halloween-mode .stat-card.bg-info {
    background: linear-gradient(135deg, #17a2b8, #8e44ad) !important;
}

.halloween-mode .stat-card.bg-secondary,
.halloween-mode .stat-card.bg-gray-dark {
    background: linear-gradient(135deg, #3b3342, #8e44ad) !important;
}

.halloween-mode .stat-card.bg-orange {
    background: linear-gradient(135deg, #ff6a00, #ff8a33) !important;
}

.halloween-mode .stat-card.bg-purple {
    background: linear-gradient(135deg, #8e44ad, #5b2c6f) !important;
}

.halloween-mode .stat-card-icon {
    opacity: .16;
}

.halloween-mode .stat-card:hover::before {
    left: 160%;
}

/* Quick actions */
.halloween-mode .quick-action-widget:hover {
    background-color: rgba(142, 68, 173, .12);
}

/* Global message */
.halloween-mode .global-message-container {
    background: linear-gradient(135deg, rgba(142, 68, 173, .18), rgba(255, 106, 0, .14));
    border-color: rgba(255, 255, 255, .08);
    color: var(--h-text);
}

/* 4) Ticket List — Kanban, Cards, Table */
.halloween-mode #kanban-wrapper {
    background: var(--kanban-bg) !important;
}

.halloween-mode .kanban-column {
    background: var(--kanban-bg) !important;
    border-color: var(--h-border);
    box-shadow: var(--box-shadow);
}

.halloween-mode .kanban-header {
    background: var(--kanban-header-bg) !important;
    color: var(--h-text);
    border-bottom: 1px solid var(--h-border);
    position: relative;
    overflow: hidden;
}

/* Dripping blood under headers (new) */
.halloween-mode .kanban-header::after,
.halloween-mode .card-header::after,
.halloween-mode .ticket-list-header-sticky::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 6px;
    background:
        radial-gradient(4px 6px at 10% 0, rgba(255, 61, 94, .9), transparent 70%),
        radial-gradient(5px 8px at 22% 0, rgba(255, 61, 94, .85), transparent 70%),
        radial-gradient(3px 4px at 35% 0, rgba(255, 61, 94, .8), transparent 70%),
        radial-gradient(6px 10px at 62% 0, rgba(255, 61, 94, .92), transparent 70%),
        radial-gradient(4px 7px at 80% 0, rgba(255, 61, 94, .85), transparent 70%);
    opacity: .75;
    filter: drop-shadow(0 1px 0 rgba(0, 0, 0, .5));
    animation: drip 6s ease-in-out infinite;
}

.halloween-mode .kanban-card {
    background: var(--kanban-card-bg) !important;
    color: var(--h-text);
    box-shadow: 0 1px 10px rgba(0, 0, 0, .35);
    border: 1px solid rgba(255, 255, 255, .04);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.halloween-mode .kanban-card:hover {
    transform: translateY(-2px) scale(1.01);
    box-shadow: var(--box-shadow-hover);
    border-color: rgba(255, 106, 0, .35);
}

.halloween-mode .kanban-card a {
    color: var(--h-primary) !important;
}

/* Cards view */
.halloween-mode .cards-grid .card {
    background: var(--card-bg) !important;
    border: 1px solid var(--h-border) !important;
}

.halloween-mode .card:hover {
    box-shadow: var(--box-shadow-hover);
}

/* Table view */
.halloween-mode .ticket-table tbody tr {
    background: var(--table-bg);
    border: 1px solid rgba(255, 255, 255, .06);
    box-shadow: 0 2px 10px rgba(0, 0, 0, .35);
    transition: background .2s ease, transform .1s ease;
}

.halloween-mode .ticket-table tbody tr:hover {
    background-color: rgba(255, 106, 0, .07);
    transform: translateY(-1px);
}

.halloween-mode .ticket-row.selected {
    background-color: rgba(142, 68, 173, .18);
    box-shadow: 0 0 0 2px var(--h-primary), var(--box-shadow-hover);
}

/* Status chips & dots */
.halloween-mode .status-badge,
.halloween-mode .priority-urgent .badge-priority,
.halloween-mode .kanban-card.priority-urgent .badge-priority,
.halloween-mode .card.priority-urgent .badge-priority {
    filter: drop-shadow(0 0 8px rgba(255, 106, 0, .25));
}

/* Inline edit hints */
.halloween-mode .ticket-table .edit-icon:hover {
    color: var(--h-primary);
}

/* Bulk actions bar */
.halloween-mode .bulk-actions-bar {
    background: #1f1b23;
    border-color: var(--h-border);
    box-shadow: 0 -12px 30px rgba(0, 0, 0, .45);
}

/* Tabs bar */
.halloween-mode .ticket-tabs-bar {
    background: #1b181d;
    border-color: rgba(255, 255, 255, .06);
    box-shadow: 0 2px 10px rgba(0, 0, 0, .35);
}

/* Tab hover glow (new) */
.halloween-mode .ticket-tab:hover {
    box-shadow: 0 0 0 2px rgba(255, 106, 0, .18);
}

.halloween-mode .ticket-tab {
    background: #15121a;
    color: var(--h-text);
    border-color: rgba(255, 255, 255, .06);
    transition: box-shadow .2s ease, transform .15s ease;
}

.halloween-mode .ticket-tab.active {
    border-color: rgba(255, 106, 0, .6);
    box-shadow: 0 0 0 2px rgba(255, 106, 0, .18);
    transform: translateY(-1px);
}

.halloween-mode .ticket-table .priority-urgent .badge-priority,
.halloween-mode .ticket-table .badge.bg-danger {
    animation: none;
}

/* 5) Ticket Detail (ticket.css) */
.halloween-mode .ticket-view-container {
    background-color: var(--h-bg-body) !important;
}

.halloween-mode #main-sticky-header {
    background-color: #1b181d !important;
}

.halloween-mode #ticket-tabs {
    border-bottom-color: var(--h-border) !important;
}

.halloween-mode #ticket-tabs .nav-link {
    color: var(--h-text-muted) !important;
}

.halloween-mode #ticket-tabs .nav-link.active {
    color: var(--h-primary) !important;
    background-color: #1b181d !important;
    border-color: var(--h-border) var(--h-border) #1b181d !important;
}

/* Comments */
.halloween-mode .comment,
.halloween-mode .comment-card {
    background: #1f1b23;
    border-color: var(--h-border);
    box-shadow: 0 2px 10px rgba(0, 0, 0, .35);
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.halloween-mode .comment:hover,
.halloween-mode .comment-card:hover {
    border-color: var(--h-accent-2);
    box-shadow: 0 6px 18px rgba(142, 68, 173, .18);
    transform: translateY(-1px);
}

.halloween-mode .internal-note {
    background-color: rgba(255, 193, 7, .08) !important;
    border-color: rgba(255, 193, 7, .35) !important;
    animation: candle-flicker 4.2s infinite;
}

/* Attachments */
.halloween-mode .attachment-item-display {
    background: #1a161d;
    border-color: var(--h-border);
}

.halloween-mode .thumbnail {
    border-color: var(--h-border);
}

/* Modal detail */
.halloween-mode #ticketDetailModalBody {
    background: #17141a !important;
}

.halloween-mode .modal-content.drag-over {
    box-shadow: var(--h-glow-primary);
}

/* Sidebar & toggler */
.halloween-mode #toggle-sidebar-btn {
    background-color: #241f29 !important;
    color: var(--h-primary) !important;
    border-color: var(--h-border) !important;
    box-shadow: var(--box-shadow);
    transition: transform .15s ease;
}

.halloween-mode #toggle-sidebar-btn:hover {
    background-color: var(--h-primary) !important;
    color: #000 !important;
    transform: translateY(-1px);
}

/* Linked tickets */
.halloween-mode .linked-tickets-header {
    background: #1c1820 !important;
}

.halloween-mode .linked-ticket-pill {
    background: #1b171f;
    border-color: var(--h-border);
}

/* Checklist */
.halloween-mode .checklist-item-card {
    background: #1b171f;
    border-color: var(--h-border);
    border-left-color: #8a8f9b;
}

.halloween-mode .checklist-item-card.done {
    background-color: rgba(32, 201, 151, .08);
    border-color: rgba(32, 201, 151, .35);
}

/* 5.1) Tiptap Editor - rozšířené styly */
.halloween-mode .tiptap-editor-wrapper {
    border-color: var(--h-border);
    background-color: #1a161d;
}

.halloween-mode .tiptap-editor-wrapper:focus-within {
    border-color: var(--h-accent-2);
    box-shadow: var(--h-glow-accent);
}

.halloween-mode .tiptap-toolbar-container {
    background-color: #221d26;
    border-color: var(--h-border);
}

.halloween-mode .toolbar-button,
.halloween-mode .toolbar-select {
    color: var(--h-text-muted);
}

.halloween-mode .toolbar-button:hover,
.halloween-mode .toolbar-select:hover {
    background-color: var(--h-bg-subtle);
    color: var(--h-text);
}

.halloween-mode .toolbar-button.is-active {
    background-color: var(--h-primary);
    color: #000;
}

.halloween-mode .toolbar-divider {
    background-color: var(--h-border);
}

.halloween-mode .toolbar-toggle-button {
    background-color: #221d26;
    border-color: var(--h-border);
    color: var(--h-text-muted);
}

/* Emoji & Giphy Picker */
.halloween-mode .tt-emoji-popover,
.halloween-mode .tt-giphy-popover {
    background-color: #211d24;
    border-color: var(--h-border);
    box-shadow: var(--box-shadow);
}

.halloween-mode .tt-emoji-category-title {
    background-color: #211d24;
    color: var(--h-text-muted);
}

.halloween-mode .tt-emoji-swatch:hover {
    background-color: var(--h-bg-subtle);
}

.halloween-mode .tt-giphy-search {
    background-color: #1b181d;
    border-color: var(--h-border);
    color: var(--h-text);
}

/* Code blocks - syntax highlighting */
.halloween-mode .ProseMirror pre {
    background: #110f13;
    border: 1px solid var(--h-border);
}

/* 6) 404 page */
.halloween-mode .error-title {
    color: var(--h-text) !important;
    text-shadow: 0 0 14px rgba(255, 106, 0, .2);
}

.halloween-mode .error-description {
    color: var(--h-text-muted) !important;
}

.halloween-mode .svg-bg-shape {
    fill: #231e27;
}

.halloween-mode .svg-shadow {
    fill: #19161b;
}

.halloween-mode .svg-magnifier-glass {
    fill: #1c1a1f;
    stroke: #4a4150;
}

.halloween-mode .svg-magnifier-handle {
    fill: #6c5a73;
}

.halloween-mode .svg-text-404 {
    fill: #ffb077;
}

/* 7) Admin docházka / kalendář */
.halloween-mode #calendar-grid {
    background: #1b181d;
    border-color: var(--h-border);
}

.halloween-mode .calendar-day {
    background: #1f1b23;
    border-color: var(--c-border-light);
}

.halloween-mode .calendar-day:not(.is-empty):hover {
    border-color: var(--h-primary);
    box-shadow: 0 8px 22px rgba(255, 106, 0, .1);
}

.halloween-mode .day-details-popover {
    background: #241f29;
    border-color: var(--h-border);
    box-shadow: var(--box-shadow);
}

/* 8) Kalkulačka (PiP) */
.halloween-mode .calculator-pip-header {
    background: #221d26;
    border-bottom-color: var(--h-border);
}

.halloween-mode .pip-control-btn:hover {
    background-color: var(--h-border);
    color: var(--h-text);
}

.halloween-mode .pip-control-btn.close-btn:hover {
    background-color: var(--h-danger);
    color: #fff;
}

/* 9) Filtry & vyhledávání */
.halloween-mode .filters .toggle-icon {
    color: var(--h-text-muted);
    background: transparent;
}

.halloween-mode .filters .toggle-icon:hover {
    background: #2a2330;
    color: var(--h-text);
}

.halloween-mode .filters .reset-btn:hover {
    color: var(--h-danger);
}

/* 10) Selekce / hromadné akce */
.halloween-mode .ticket-selection-ui {
    background: #1b171f;
    border-color: var(--h-border);
    box-shadow: var(--box-shadow);
}

.halloween-mode .selected .ticket-selection-ui {
    background: var(--h-primary);
    border-color: var(--h-primary);
}

/* 11) Tooltipy / dropdowny nad modálem */
.halloween-mode .tippy-box,
.halloween-mode .dropdown-menu,
.halloween-mode .user-profile-dropdown,
.halloween-mode .notifications-panel-container {
    background: #211d24;
    color: var(--h-text);
    border: 1px solid var(--h-border);
    box-shadow: var(--box-shadow);
}

.halloween-mode .arrow-up::before {
    background: #211d24;
    border-color: var(--h-border);
}

.halloween-mode .dropdown-item:hover {
    background-color: var(--h-bg-subtle);
    color: var(--h-primary);
}

.halloween-mode .dropdown-item.text-danger:hover {
    background-color: rgba(255, 61, 94, .15);
    color: var(--h-danger) !important;
}

/* 12) Animace — létající duch 👻 a “pavučiny” v rozích karet */
.halloween-mode::after {
    content: '👻';
    position: fixed;
    bottom: -100px;
    left: -100px;
    font-size: 60px;
    z-index: 10;
    animation: fly-ghost 25s linear infinite;
    pointer-events: none;
    opacity: 0.85;
    filter: drop-shadow(0 6px 8px rgba(0, 0, 0, .35));
}

/* Cobweb corners on cards */
.halloween-mode .card,
.halloween-mode .grid-stack-item-content,
.halloween-mode .kanban-card,
.halloween-mode .latest-tickets-card,
.halloween-mode .comment-card {
    position: relative;
}

.halloween-mode .card::before,
.halloween-mode .grid-stack-item-content::before,
.halloween-mode .kanban-card::before,
.halloween-mode .latest-tickets-card::before,
.halloween-mode .comment-card::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(12px 12px at 8px 8px, rgba(255, 255, 255, .12), transparent 60%) top left no-repeat,
        radial-gradient(12px 12px at calc(100% - 8px) 8px, rgba(255, 255, 255, .12), transparent 60%) top right no-repeat,
        radial-gradient(12px 12px at 8px calc(100% - 8px), rgba(255, 255, 255, .12), transparent 60%) bottom left no-repeat,
        radial-gradient(12px 12px at calc(100% - 8px) calc(100% - 8px), rgba(255, 255, 255, .12), transparent 60%) bottom right no-repeat;
    background-size: 28px 28px, 28px 28px, 28px 28px, 28px 28px;
    mask-image: linear-gradient(#000, #000);
    opacity: .35;
}

/* 13) Scrollbary */
.halloween-mode *::-webkit-scrollbar {
    height: 8px;
    width: 10px;
}

.halloween-mode *::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, .06);
}

.halloween-mode *::-webkit-scrollbar-thumb {
    background: rgba(255, 106, 0, .4);
    border-radius: 8px;
}

.halloween-mode *::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 106, 0, .6);
}

/* 14) Ikonky akcí */
.halloween-mode .ticket-actions .action-icon {
    background: #2a2330;
    color: #e1dfe6;
    border: 1px solid rgba(255, 255, 255, .06);
    transition: transform .15s ease, box-shadow .2s ease, background .2s ease;
}

.halloween-mode .ticket-actions .action-icon:hover {
    background: #342b3b;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .35);
    transform: translateY(-1px);
}

.halloween-mode .ticket-actions .action-icon.is-following {
    background: rgba(255, 106, 0, .15);
    color: var(--h-primary);
}

/* 15) Pomocné utility */
.halloween-mode .text-muted {
    color: var(--h-text-muted) !important;
}

.halloween-mode .badge.bg-primary,
.halloween-mode .badge.text-bg-primary {
    background-color: var(--h-primary) !important;
    color: #180d05 !important;
}

.halloween-mode .alert-primary {
    background: rgba(255, 106, 0, .09);
    border-color: rgba(255, 106, 0, .35);
    color: var(--h-text);
}

/* 16) Klíčové animace */
@keyframes fly-ghost {
    0% {
        transform: translate(0, 0) rotate(8deg);
    }

    22% {
        transform: translate(calc(100vw + 120px), 60px) rotate(-8deg);
    }

    23% {
        transform: translate(calc(100vw + 120px), 180px) rotate(8deg);
        opacity: 0;
    }

    24% {
        transform: translate(-120px, 180px) rotate(8deg);
        opacity: .85;
    }

    50% {
        transform: translate(45vw, -120px) rotate(-8deg);
    }

    78% {
        transform: translate(calc(100vw + 120px), 340px) rotate(8deg);
    }

    100% {
        transform: translate(-120px, 220px) rotate(-8deg);
    }
}

/* New animations */
@keyframes fog-drift {
    0% {
        transform: translate3d(-10%, -5%, 0) scale(1);
    }

    50% {
        transform: translate3d(10%, 5%, 0) scale(1.1);
    }

    100% {
        transform: translate3d(-10%, -5%, 0) scale(1);
    }
}

@keyframes embers-float {
    0% {
        background-position: 0 0, 0 0, 0 0, 0 0;
        opacity: .2;
    }

    50% {
        background-position: 10vw -20vh, -15vw -10vh, 20vw -30vh, -10vw -25vh;
        opacity: .45;
    }

    100% {
        background-position: 0 0, 0 0, 0 0, 0 0;
        opacity: .2;
    }
}

@keyframes bats-fly {
    0% {
        background-position: 0 0;
    }

    100% {
        background-position: 200vw -40vh;
    }
}

@keyframes lightning {

    0%,
    97%,
    100% {
        opacity: 0;
    }

    10% {
        opacity: .0;
    }

    20% {
        opacity: .0;
    }

    30% {
        opacity: .0;
    }

    40% {
        opacity: .0;
    }

    50% {
        opacity: 0;
    }

    60% {
        opacity: .0;
    }

    70% {
        opacity: 0;
    }

    80% {
        opacity: .0;
    }

    98% {
        opacity: .85;
    }

    98.5% {
        opacity: 0;
    }

    99% {
        opacity: .65;
    }

    99.5% {
        opacity: 0;
    }
}

@keyframes candle-flicker {

    0%,
    100% {
        filter: drop-shadow(0 0 0 rgba(255, 106, 0, .0));
    }

    10% {
        filter: drop-shadow(0 0 6px rgba(255, 106, 0, .25));
    }

    25% {
        filter: drop-shadow(0 0 10px rgba(255, 106, 0, .35));
    }

    40% {
        filter: drop-shadow(0 0 5px rgba(255, 106, 0, .2));
    }

    55% {
        filter: drop-shadow(0 0 12px rgba(255, 106, 0, .4));
    }

    70% {
        filter: drop-shadow(0 0 7px rgba(255, 106, 0, .25));
    }

    85% {
        filter: drop-shadow(0 0 3px rgba(255, 106, 0, .15));
    }
}

@keyframes shaky {

    0%,
    100% {
        transform: translate(0, 0) rotate(0);
    }

    5% {
        transform: translate(1px, -1px) rotate(-.5deg);
    }

    10% {
        transform: translate(-2px, 1px) rotate(.6deg);
    }

    15% {
        transform: translate(2px, 2px) rotate(-.4deg);
    }

    20% {
        transform: translate(-1px, -1px) rotate(.4deg);
    }

    25% {
        transform: translate(1px, 0) rotate(-.3deg);
    }

    30% {
        transform: translate(-1px, 1px) rotate(.5deg);
    }

    35% {
        transform: translate(2px, -1px) rotate(-.6deg);
    }

    40% {
        transform: translate(0, 0) rotate(0);
    }
}

@keyframes neon-pulse {

    0%,
    100% {
        box-shadow: 0 0 0 1px rgba(255, 106, 0, .25), 0 0 16px rgba(142, 68, 173, .2);
    }

    50% {
        box-shadow: 0 0 0 2px rgba(255, 106, 0, .5), 0 0 26px rgba(142, 68, 173, .35);
    }
}

@keyframes spooky-underline {
    0% {
        background-position: -120% 0;
    }

    100% {
        background-position: 220% 0;
    }
}

@keyframes float-y {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-6px);
    }
}

@keyframes drip {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(2px);
    }
}

/* 17) Tisk – omezit efekty */
@media print {

    .halloween-mode::after,
    .halloween-mode .card::before,
    .halloween-mode .grid-stack-item-content::before,
    .halloween-mode body::before,
    .halloween-mode body::after,
    .halloween-mode .bats-layer {
        content: none !important;
        display: none !important;
    }

    .halloween-mode body {
        background: #fff !important;
        color: #000 !important;
    }
}

/* 18) Přepisy drobných komponent ze šablon (konzistence) */

/* Ticket info ikony */
.halloween-mode .ticket-info-icons .icon-indicator {
    background: #2a2330;
    color: #cfc9d7;
}

.halloween-mode .ticket-info-icons .icon-indicator .badge {
    background: var(--h-primary);
    color: #000;
}

/* Patičky widgetů, oddělovače */
.halloween-mode .widget-footer,
.halloween-mode .card-footer,
.halloween-mode .card-header {
    border-color: var(--h-border) !important;
}

/* Modal backdrop fix */
.halloween-mode .modal-backdrop.show {
    opacity: .6 !important;
    background: #000 !important;
}

/* Tagy (TomSelect & vlastní tag input) */
.halloween-mode .tag-input-container {
    background: #1c191f;
    border-color: var(--h-border);
}

.halloween-mode .tag-item {
    background: var(--h-primary);
    color: #1b0e05;
}

/* Icon picker */
.halloween-mode .icon-picker-item {
    border-color: var(--h-border);
    background: #1a161d;
    color: var(--h-text);
}

.halloween-mode .icon-picker-item:hover {
    background: #231e27;
    border-color: #6c5a73;
}

.halloween-mode .icon-picker-item.active {
    background: var(--h-primary);
    border-color: var(--h-primary);
    color: #000;
}

/* Table head */
.halloween-mode .ticket-table th {
    color: var(--h-text-muted);
    border-bottom-color: var(--h-border);
    background: transparent;
}

.halloween-mode .ticket-table .tags span {
    background: #2a2330;
    color: var(--h-text);
}

/* Subject meta */
.halloween-mode .subject-meta {
    color: var(--h-text-muted);
}

/* Selection hover */
.halloween-mode .selection-mode-active .card:hover,
.halloween-mode .selection-mode-active .ticket-row:hover {
    background-color: rgba(142, 68, 173, .10);
}

/* Loading spinner */
.halloween-mode .spinner {
    border-color: rgba(255, 255, 255, .15);
    border-top-color: var(--h-primary);
}

/* Orientation warning */
.halloween-mode .orientation-warning {
    background: #332a0e;
    border-color: #7d6724;
    color: #f5e7b8;
}

/* Gem mini helper box */
.halloween-mode #gemini-auto-suggestion-container {
    background: #1b1823;
    border-color: var(--h-border);
}

.halloween-mode .gemini-suggestion-header h6 {
    color: var(--h-primary);
}

/* Drag&drop příloh — pilulky */
.halloween-mode .attachment-preview-item {
    background: #1f1b23;
    border-color: var(--h-border);
}

.halloween-mode .attachment-preview-item .remove-attachment-btn {
    background: #5a5160;
}

.halloween-mode .attachment-preview-item .remove-attachment-btn:hover {
    background: var(--h-danger);
}

/* Ticket tabs content padding zůstává, jen barvy */
.halloween-mode #ticket-tabs-content .tab-pane {
    background: transparent !important;
    color: var(--h-text);
}

/* 19) Mini utility barvy hran (status timeline / history) */
.halloween-mode .history-timeline::before {
    background: var(--h-border);
}

.halloween-mode .history-icon-wrapper {
    border-color: #1f1b23;
    box-shadow: 0 0 0 3px #1f1b23;
}

/* 20) Notifikační panel */
.halloween-mode .notifications-header,
.halloween-mode .notifications-footer {
    border-color: var(--h-border);
}

.halloween-mode .notification-item.unread {
    background-color: rgba(255, 106, 0, .1);
}

.halloween-mode .notification-item.unread:hover {
    background-color: rgba(255, 106, 0, .18);
}

.halloween-mode .notification-item:hover {
    background-color: var(--h-bg-subtle);
}

.halloween-mode .notification-unread-dot {
    background-color: var(--h-primary);
}

.halloween-mode .notification-read-btn,
.halloween-mode .notification-delete-btn,
.halloween-mode .message-mark-read-btn,
.halloween-mode .message-open-bubble-btn {
    background-color: var(--h-border);
    color: var(--h-text-muted);
}

.halloween-mode .notification-read-btn:hover,
.halloween-mode .message-mark-read-btn:hover {
    background-color: var(--h-success);
    color: #fff;
}

.halloween-mode .notification-delete-btn:hover {
    background-color: var(--h-danger);
    color: #fff;
}

.halloween-mode .message-open-bubble-btn:hover {
    background-color: var(--h-info);
    color: #fff;
}

/* 21) Patička */
.halloween-mode .footer {
    background-color: #1b181d;
    border-top-color: var(--h-border);
}

.halloween-mode .footer a {
    color: var(--h-text-muted);
}

.halloween-mode .footer a:hover {
    color: var(--h-primary);
}

/* 22) Scrollovací tlačítka */
.halloween-mode .scroll-btn {
    background-color: rgba(27, 24, 29, .85);
    backdrop-filter: blur(5px);
    border-color: var(--h-border);
    color: var(--h-text);
    box-shadow: var(--box-shadow);
    transition: transform .15s ease, box-shadow .2s ease, color .2s ease;
}

.halloween-mode .scroll-btn:hover {
    color: var(--h-primary);
    box-shadow: var(--box-shadow-hover);
    transform: translateY(-1px);
}

/* 23) Toast notifikace */
.halloween-mode .toast-notification {
    background-color: #2a2530;
    color: var(--h-text);
    box-shadow: var(--box-shadow);
    border-color: var(--h-border);
}

.halloween-mode .toast-success {
    background-color: var(--h-success);
    border-color: #1a9e7a;
}

.halloween-mode .toast-error {
    background-color: var(--h-danger);
    border-color: #cc304a;
}

.halloween-mode .toast-warning {
    background-color: var(--h-warning);
    border-color: #cca305;
    color: #111;
}

.halloween-mode .toast-info {
    background-color: var(--h-info);
    border-color: #128294;
}

/* 24) Command Palette */
.halloween-mode .command-palette-overlay {
    background-color: rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(4px);
}

.halloween-mode .command-palette-content {
    background-color: var(--h-bg-container);
    border-color: var(--h-border);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
}

.halloween-mode .command-palette-input-wrapper {
    border-bottom-color: var(--h-border);
}

.halloween-mode #command-palette-input {
    color: var(--h-text);
}

.halloween-mode #command-palette-input::placeholder {
    color: var(--h-text-muted);
}

.halloween-mode .palette-item.active {
    background-color: rgba(255, 106, 0, .15);
    color: var(--h-primary);
}

.halloween-mode .palette-item.active .palette-item-icon {
    color: var(--h-primary);
}

.halloween-mode .palette-item-title {
    color: var(--h-text);
}

.halloween-mode .command-palette-footer {
    background-color: #1b181d;
    border-top-color: var(--h-border);
}

.halloween-mode .command-palette-footer kbd {
    background-color: #2a2530;
    border-color: var(--h-border);
    color: var(--h-text-muted);
}

/* 25) Chatbot */
.halloween-mode #chatbotContainer {
    background-color: var(--h-bg-container);
    border-color: var(--h-border);
    box-shadow: var(--box-shadow);
}

.halloween-mode #chatbotHeader {
    background-color: var(--h-primary);
}

.halloween-mode #chatbotMessages {
    background-color: var(--h-bg-body);
}

.halloween-mode .chat-message.user .chat-bubble {
    background-color: rgba(255, 106, 0, .18);
}

.halloween-mode .chat-message.bot .chat-bubble {
    background-color: #2a2530;
}

.halloween-mode #chatbotInputContainer {
    border-top-color: var(--h-border);
    background-color: #1f1b23;
}

.halloween-mode #chatbotInput {
    background-color: #1b181d;
    border-color: var(--h-border);
    color: var(--h-text);
}

.halloween-mode #chatbotSendBtn {
    background-color: var(--h-primary);
}

.halloween-mode #chatbotToggleBtn {
    background-color: var(--h-primary);
    box-shadow: 0 4px 15px rgba(255, 106, 0, 0.3);
}

.halloween-mode #chatbotToggleBtn.active {
    background-color: var(--h-danger);
    box-shadow: 0 4px 15px rgba(255, 61, 94, 0.3);
}

.halloween-mode .tts-button {
    color: var(--h-text-muted);
}

.halloween-mode .tts-button:hover {
    color: var(--h-primary);
    background-color: rgba(255, 106, 0, .1);
}

.halloween-mode #chatHistoryPanel {
    background-color: #1b181d;
    border-right-color: var(--h-border);
}

.halloween-mode .history-panel-header {
    background-color: #211d24;
    border-bottom-color: var(--h-border);
}

.halloween-mode .history-item:hover {
    background-color: var(--h-bg-subtle);
}

.halloween-mode .history-item.active {
    background-color: rgba(255, 106, 0, .12);
    border-color: rgba(255, 106, 0, .3);
    color: var(--h-primary);
}

.halloween-mode .history-item .delete-convo-btn:hover {
    color: var(--h-danger);
    background-color: rgba(255, 61, 94, .1);
}

/* 26) PiP Okna (Jitsi, Poznámky) */
.halloween-mode .jitsi-pip-container,
.halloween-mode .notepad-window {
    background-color: var(--h-bg-container);
    border-color: var(--h-border);
    box-shadow: var(--box-shadow-hover);
}

.halloween-mode .jitsi-pip-header,
.halloween-mode .notepad-header,
.halloween-mode .notepad-footer {
    background-color: #221d26;
    border-color: var(--h-border);
}

.halloween-mode .jitsi-pip-header .pip-control-btn#jitsi-pip-close:hover,
.halloween-mode .notepad-controls .btn-danger:hover {
    background-color: var(--h-danger);
    color: #fff;
}

.halloween-mode .jitsi-pip-header .pip-control-btn#jitsi-pip-restore:hover,
.halloween-mode .notepad-controls .btn-primary:hover {
    background-color: var(--h-primary);
    color: #000;
}

.halloween-mode .notepad-title-input:focus {
    background-color: rgba(255, 106, 0, .1);
    box-shadow: 0 0 0 2px var(--h-primary);
}

/* 27) Iframe Viewer */
.halloween-mode .iframe-header {
    background-color: #1b181d;
    border-color: var(--h-border);
}

.halloween-mode .iframe-loader-wrapper {
    background-color: rgba(22, 20, 23, 0.7);
}

/* ===== EXTRA: Text glitch utility (new) ===== */
.halloween-mode .u-glitch {
    position: relative;
    text-shadow: -1px 0 rgba(255, 61, 94, .6), 1px 0 rgba(142, 68, 173, .6);
    animation: glitch-shift 2.2s infinite;
}

.halloween-mode .u-glitch::before,
.halloween-mode .u-glitch::after {
    content: attr(data-text);
    position: absolute;
    left: 0;
    top: 0;
    mix-blend-mode: screen;
    pointer-events: none;
}

.halloween-mode .u-glitch::before {
    transform: translate(-1px, 0);
    color: rgba(255, 61, 94, .7);
}

.halloween-mode .u-glitch::after {
    transform: translate(1px, 0);
    color: rgba(142, 68, 173, .7);
}

@keyframes glitch-shift {

    0%,
    100% {
        transform: none;
    }

    10% {
        transform: skewX(0.5deg);
    }

    20% {
        transform: translateX(1px);
    }

    30% {
        transform: translateX(-1px) skewX(-0.5deg);
    }

    40% {
        transform: none;
    }

    50% {
        transform: translateY(-1px);
    }

    60% {
        transform: translateY(1px);
    }

    70% {
        transform: none;
    }

    80% {
        transform: translateX(.5px);
    }

    90% {
        transform: translateX(-.5px);
    }
}

/* ===== EXTRA: Pumpkin pulse utility (new) ===== */
.halloween-mode .u-pumpkin {
    animation: pumpkin-pulse 3.2s ease-in-out infinite;
}

@keyframes pumpkin-pulse {

    0%,
    100% {
        filter: drop-shadow(0 0 0 rgba(255, 106, 0, 0));
        transform: scale(1);
    }

    50% {
        filter: drop-shadow(0 0 16px rgba(255, 106, 0, .45));
        transform: scale(1.03);
    }
}

/* ===== EXTRA: Cobweb sway on hover (new) ===== */
.halloween-mode .with-web::before {
    animation: web-sway 5s ease-in-out infinite;
}

@keyframes web-sway {

    0%,
    100% {
        transform: rotate(0deg);
    }

    50% {
        transform: rotate(1.2deg);
    }
}

/* =================================
   PERFORMANCE FIX PRO MOBILNÍ ZAŘÍZENÍ
   =================================
   Zakáže nejnáročnější animace (background-position, filter, box-shadow)
   na menších obrazovkách, aby se předešlo zamrzání.
*/
@media (max-width: 61.99875rem) {
    /* 992px (stejný breakpoint jako v default.css) */

    /* Zastaví animaci netopýrů (background-position) */
    .halloween-mode .bats-layer {
        animation: none;
    }

    /* Zastaví animaci uhlíků (background-position) */
    .halloween-mode body::after {
        animation: none;
        background: none;
    }

    /* Zastaví animaci mlhy (transform) */
    .halloween-mode body::before {
        animation: none;
    }

    /* Zastaví třesoucí se tlačítka (transform) */
    .halloween-mode .btn-danger,
    .halloween-mode .badge.bg-danger,
    .halloween-mode .priority-urgent .badge-priority {
        animation: none;
    }

    /* Zastaví pulzování karet (box-shadow) */
    .halloween-mode .card.glow,
    .halloween-mode .kanban-card.glow,
    .halloween-mode .comment-card.glow {
        animation: none;
    }

    /* Zastaví podtržení (background-position) */
    .halloween-mode .u-spooky::after {
        animation: none;
    }

    /* Zastaví plavání widgetů (transform) */
    .halloween-mode .grid-stack-item-content.floaty {
        animation: none;
    }

    /* Zastaví kapání (transform) */
    .halloween-mode .kanban-header::after,
    .halloween-mode .card-header::after,
    .halloween-mode .ticket-list-header-sticky::after {
        animation: none;
    }

    /* Zastaví blikání svíčky (filter) */
    .halloween-mode .navbar-brand,
    .halloween-mode .sidebar-brand,
    .halloween-mode .internal-note {
        animation: none;
    }

    /* Zastaví pulzování dýně (filter) */
    .halloween-mode .u-pumpkin {
        animation: none;
    }

    /* Zastaví glitch efekt (transform) */
    .halloween-mode .u-glitch {
        animation: none;
    }

    /* Zastaví létání ducha */
    .halloween-mode::after {
        animation: none;
        display: none;
    }
}

/*
=================================
FIX: Scrollbar u ticket-table widgetů
=================================
.latest-tickets-card je strukturální kontejner (height: 100%),
ne vizuální karta. Obecné pravidlo pro .card mu v halloween.css
přidává 'border', 'box-shadow' a '::before' pavučiny.

'border' způsobí, že celková výška je '100% + 2px', což vytvoří
nežádoucí scrollbar na rodičovském widgetu (.grid-stack-item-content).

Tato pravidla resetují .latest-tickets-card do jeho původního
transparentního stavu.
*/
.halloween-mode .latest-tickets-card {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.halloween-mode .latest-tickets-card::before {
    content: none !important;
}