    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }

    body {
        font-family: 'Inter', sans-serif;
    }

    .font-jakarta {
        font-family: 'Plus Jakarta Sans', sans-serif;
    }

    .font-mono {
        font-family: 'JetBrains Mono', monospace;
    }

    ::-webkit-scrollbar {
        width: 6px;
        height: 6px;
    }

    ::-webkit-scrollbar-track {
        background: transparent;
    }

    ::-webkit-scrollbar-thumb {
        background: #cbd5e1;
        border-radius: 3px;
    }

    .dark ::-webkit-scrollbar-thumb {
        background: #475569;
    }

    .sidebar-link {
        transition: all 0.2s ease;
    }

    .sidebar-link:hover {
        background: rgba(59, 130, 246, 0.08);
    }

    .sidebar-link.active {
        background: rgba(59, 130, 246, 0.12);
        color: #3b82f6;
        border-right: 3px solid #3b82f6;
    }

    .dark .sidebar-link:hover {
        background: rgba(59, 130, 246, 0.15);
    }

    .dark .sidebar-link.active {
        background: rgba(59, 130, 246, 0.2);
    }

    .card-hover {
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .card-hover:hover {
        transform: translateY(-2px);
        box-shadow: 0 12px 24px -8px rgba(0, 0, 0, 0.12);
    }

    .dark .card-hover:hover {
        box-shadow: 0 12px 24px -8px rgba(0, 0, 0, 0.4);
    }

    .fade-in {
        animation: fadeIn 0.4s ease forwards;
    }

    .slide-up {
        animation: slideUp 0.4s ease forwards;
    }

    .scale-in {
        animation: scaleIn 0.3s ease forwards;
    }

    @keyframes fadeIn {
        from {
            opacity: 0
        }

        to {
            opacity: 1
        }
    }

    @keyframes slideUp {
        from {
            opacity: 0;
            transform: translateY(16px)
        }

        to {
            opacity: 1;
            transform: translateY(0)
        }
    }

    @keyframes scaleIn {
        from {
            opacity: 0;
            transform: scale(0.95)
        }

        to {
            opacity: 1;
            transform: scale(1)
        }
    }

    @media(prefers-reduced-motion:reduce) {

        .fade-in,
        .slide-up,
        .scale-in {
            animation: none
        }
    }

    .overlay {
        background: rgba(0, 0, 0, 0.5);
        backdrop-filter: blur(4px)
    }

    .pulse-dot {
        animation: pulseDot 2s ease-in-out infinite;
    }

    @keyframes pulseDot {

        0%,
        100% {
            opacity: 1
        }

        50% {
            opacity: 0.4
        }
    }

    .glass-effect {
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
    }

    input[type="search"]::-webkit-search-cancel-button {
        -webkit-appearance: none;
    }

    .hide-scrollbar::-webkit-scrollbar {
        display: none;
    }

    .hide-scrollbar {
        -ms-overflow-style: none;
        scrollbar-width: none;
    }

    /* Custom Calendar Grid */
    .cal-grid {
        display: grid;
        grid-template-columns: repeat(7, 1fr);
        gap: 4px;
    }

    .cal-day {
        aspect-ratio: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 11px;
        font-weight: 500;
        border-radius: 8px;
        cursor: pointer;
        transition: all 0.2s;
        border: 1px solid transparent;
    }

    .cal-day:hover {
        background-color: #f1f5f9;
    }

    .dark .cal-day:hover {
        background-color: #334155;
    }

    .cal-day.active {
        background-color: #3b82f6;
        color: white;
        border-color: #3b82f6;
        font-weight: 700;
        box-shadow: 0 2px 4px rgba(59, 130, 246, 0.3);
    }

    .cal-day.muted {
        color: #94a3b8;
    }

    .dark .cal-day.muted {
        color: #64748b;
    }

    .cal-day.has-event {
        position: relative;
    }

    .cal-day.has-event::after {
        content: '';
        position: absolute;
        bottom: 4px;
        left: 50%;
        transform: translateX(-50%);
        width: 4px;
        height: 4px;
        border-radius: 50%;
        background-color: #f59e0b;
    }

    .cal-day.active.has-event::after {
        background-color: white;
    }

    .cal-tab.active {
        background: #fff;
        color: #0f172a;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    }

    .dark .cal-tab.active {
        background: #334155;
        color: #fff;
    }

    /* Custom Checkbox */
    .filter-cb {
        appearance: none;
        width: 16px;
        height: 16px;
        border-radius: 4px;
        border: 1.5px solid #cbd5e1;
        cursor: pointer;
        position: relative;
        transition: all 0.2s;
    }

    .dark .filter-cb {
        border-color: #475569;
    }

    .filter-cb:checked {
        border-color: currentColor;
        background-color: currentColor;
    }

    .filter-cb:checked::after {
        content: '';
        position: absolute;
        left: 4px;
        top: 1px;
        width: 5px;
        height: 9px;
        border: solid white;
        border-width: 0 2px 2px 0;
        transform: rotate(45deg);
    }