/* Override Konrix default logo constraint */
.logo-box .logo-lg {
    height: 48px !important;
}

/* Client portal header */
.client-header-dark {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
}

/* Table sort headers */
.select-none {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

th.cursor-pointer:hover {
    background-color: rgba(0, 0, 0, 0.03);
}

.dark th.cursor-pointer:hover {
    background-color: rgba(255, 255, 255, 0.03);
}

/* Kanban mobile tabs */
.kanban-tab {
    background: #e5e7eb;
    color: #4b5563;
    border: none;
    cursor: pointer;
    transition: all 0.2s;
}
.kanban-tab-active {
    background: var(--primary, #3B82F6) !important;
    color: white !important;
}
.mobile-kanban-card {
    width: 100%;
}

/* Responsive classes missing from pre-compiled Tailwind */
@media (min-width: 768px) {
    .md\:hidden {
        display: none !important;
    }
}
@media (min-width: 768px) {
    .md\:inline {
        display: inline !important;
    }
    .md\:inline-flex {
        display: inline-flex !important;
    }
}
@media (min-width: 1024px) {
    .lg\:flex {
        display: flex !important;
    }
}

/* Sidebar close button - only show on mobile when sidebar is open */
#sidenav-close {
    display: none;
}
html[data-sidenav-view=mobile].sidenav-enable #sidenav-close {
    display: block;
}

/* Protect logo from squishing in topbar */
.app-header .logo-box {
    flex-shrink: 0;
}
.app-header .logo-box .logo-sm {
    width: auto !important;
    height: 32px !important;
    object-fit: contain;
}

/* ── Notification Settings Toggle Switch ──────────────── */
.toggle-switch {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px;
}
.toggle-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}
.toggle-slider {
    position: absolute;
    cursor: pointer;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: #d1d5db;
    transition: 0.3s;
    border-radius: 24px;
}
.toggle-slider:before {
    position: absolute;
    content: "";
    height: 20px;
    width: 20px;
    left: 2px;
    bottom: 2px;
    background-color: white;
    transition: 0.3s;
    border-radius: 50%;
}
.toggle-switch input:checked + .toggle-slider {
    background-color: #00a2e8;
}
.toggle-switch input:checked + .toggle-slider:before {
    transform: translateX(20px);
}

/* Payment processing UI utilities */
.pl-7 { padding-left: 1.75rem; }
.-translate-y-1\/2 { transform: translateY(-50%); }
.max-h-64 { max-height: 16rem; }
.hover\:border-blue-400:hover { border-color: #60a5fa; }
.hover\:border-green-400:hover { border-color: #4ade80; }
.hover\:bg-gray-50:hover { background-color: #f9fafb; }
.transition-colors { transition-property: color, background-color, border-color; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; }

/* ── Deployment status pulse animation ──────────────── */
@keyframes deploy-spin {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}
.deploy-pulse .mgc_loading_3_line {
    display: inline-block;
    animation: deploy-spin 1.2s linear infinite;
}
