:root {
                --bg-main: #1e1e1e;
                --bg-sidebar: #252526;
                --bg-activity: #2d2d30;
                --bg-titlebar: #3c3c3c;
                --bg-hover: #2a2d2e;
                --bg-active: #37373d;
                --bg-input: #3c3c3c;
                --bg-selection: #264f78;
                --border: #454545;
                --text-primary: #cccccc;
                --text-secondary: #858585;
                --text-white: #ffffff;
                --accent: #007acc;
                --accent-hover: #0098ff;
                --success: #4ec9b0;
                --warning: #ce9178;
                --error: #f44747;
                --info: #569cd6;
                --purple: #c586c0;
            }



            [data-theme="light"] {
                --bg-main: #ffffff;
                --bg-sidebar: #f8f9fa;
                --bg-activity: #f0f0f0;
                --bg-titlebar: #e8e8e8;
                --bg-hover: #e9ecef;
                --bg-active: #dee2e6;
                --bg-input: #ffffff;
                --bg-selection: #cfe6f7;
                --border: #dee2e6;
                --text-primary: #212529;
                --text-secondary: #6c757d;
                --text-white: #000000;
                --accent: #0d6efd;
                --accent-hover: #0b5ed7;
            }

            /* Avoid global repaint/flicker on page navigation.
               Keep transitions only on specific interactive components. */

            body {
                font-family: "Inter", sans-serif;
                background: var(--bg-main);
                color: var(--text-primary);
                height: 100vh;
                overflow: hidden;
                font-size: 13px;
            }

            /* Global flat corners: buttons + form inputs */
            .btn,
            button,
            input,
            select,
            textarea,
            .form-control,
            .form-select,
            .input-group-text {
                border-radius: 0 !important;
            }

            /* Title Bar */
            .title-bar {
                height: 38px;
                background: var(--bg-titlebar);
                display: flex;
                align-items: center;
                justify-content: space-between;
                padding: 0 16px;
                border-bottom: 1px solid var(--border);
                position: relative;
            }

            .title-left {
                display: flex;
                align-items: center;
                gap: 12px;
            }

            .app-title {
                font-family: "Space Grotesk", sans-serif;
                font-size: 18px;
                font-weight: 700;
                letter-spacing: -0.02em;
                color: var(--text-white);
            }

            .app-title span {
                color: var(--text-secondary);
                font-weight: 400;
            }

            /* Global Search */
            .global-search-wrapper {
                position: relative;
                width: 320px;
            }

            .global-search-input {
                width: 100%;
                padding: 8px 12px 8px 36px;
                background: var(--bg-input);
                border: 1px solid var(--border);
                color: var(--text-primary);
                font-size: 12px;
                font-family: inherit;
            }

            .global-search-input:focus {
                outline: none;
                border-color: var(--accent);
            }

            .global-search-input::placeholder {
                color: var(--text-secondary);
            }

            .global-search-icon {
                position: absolute;
                left: 12px;
                top: 50%;
                transform: translateY(-50%);
                color: var(--text-secondary);
                font-size: 12px;
            }

            .global-search-results {
                position: absolute;
                top: 100%;
                right: 0;
                width: 320px;
                background: var(--bg-sidebar);
                border: 1px solid var(--border);
                box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
                z-index: 1000;
                margin-top: 4px;
            }

            .global-search-result-item {
                padding: 12px 16px;
                font-size: 12px;
                color: var(--text-primary);
                border-bottom: 1px solid var(--border);
                cursor: pointer;
            }

            .global-search-result-item:last-child {
                border-bottom: none;
            }

            .global-search-result-item:hover {
                background: var(--bg-hover);
            }

            .global-search-result-item .search-label {
                color: var(--text-secondary);
                font-size: 11px;
                margin-bottom: 4px;
            }

            .global-search-result-item .search-option {
                color: var(--accent);
                text-decoration: underline;
                font-weight: 500;
                display: block;
                margin-top: 6px;
            }

            .global-search-result-item .search-option:hover {
                text-decoration: none;
            }

            .global-search-result-item strong {
                color: var(--text-white);
                font-weight: 600;
            }

            /* Theme Toggle Icons */
            .theme-toggle-item {
                width: 60px;
                height: 40px;
                display: flex;
                align-items: center;
                justify-content: center;
                gap: 8px;
                cursor: pointer;
                color: var(--text-secondary);
                margin-bottom: 4px;
            }

            .theme-toggle-item:hover {
                background: var(--bg-hover);
            }

            .theme-toggle-item.active {
                background: var(--bg-active);
            }

            .theme-toggle-item i {
                font-size: 14px;
            }

            .theme-toggle-item .sun {
                color: #fbbf24;
            }
            .theme-toggle-item .moon {
                color: var(--info);
            }

            /* Main Layout */
            .workspace {
                display: flex;
                height: calc(100vh - 38px);
            }

            /* Activity Bar */
            .activity-bar {
                width: 60px;
                background: var(--bg-activity);
                display: flex;
                flex-direction: column;
                align-items: center;
                padding: 12px 0;
                border-right: 1px solid var(--border);
            }

            .activity-item {
                width: 60px;
                height: 60px;
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                cursor: pointer;
                border-left: 3px solid transparent;
                color: var(--text-secondary);
                margin-bottom: 4px;
                text-decoration: none !important;
            }

            .activity-item:hover {
                background: var(--bg-hover);
                color: var(--text-white);
            }

            .activity-item.active {
                background: var(--bg-active);
                border-left-color: var(--accent);
                color: var(--text-white);
            }

            .activity-item i {
                font-size: 20px;
            }

            .activity-bottom {
                margin-top: auto;
                padding-top: 12px;
                border-top: 1px solid var(--border);
                width: 100%;
            }

            /* Left Sidebar */
            .sidebar {
                width: 260px;
                background: var(--bg-sidebar);
                border-right: 1px solid var(--border);
                display: flex;
                flex-direction: column;
                overflow: hidden;
            }

            .sidebar-header {
                padding: 14px 20px;
                font-size: 11px;
                font-weight: 700;
                text-transform: uppercase;
                letter-spacing: 0.8px;
                color: var(--text-secondary);
                display: flex;
                justify-content: space-between;
                align-items: center;
                flex-shrink: 0;
            }

            .sidebar-logo-link {
                display: inline-flex;
                align-items: center;
                line-height: 1;
            }

            .sidebar-logo-img {
                display: block;
                
                width: auto;
                max-width: 100%;
            }

            .sidebar-content {
                flex: 1;
                overflow-y: auto;
                overflow-x: hidden;
                -webkit-overflow-scrolling: touch;
            }

            .sidebar-header i {
                cursor: pointer;
                font-size: 12px;
            }

            .sidebar-header i:hover {
                color: var(--text-white);
            }

            /* Sidebar scrollbar styling */
            .sidebar-content::-webkit-scrollbar {
                width: 6px;
            }

            .sidebar-content::-webkit-scrollbar-track {
                background: transparent;
            }

            .sidebar-content::-webkit-scrollbar-thumb {
                background: var(--border);
                border-radius: 3px;
            }

            .sidebar-content::-webkit-scrollbar-thumb:hover {
                background: var(--text-secondary);
            }

            .nav-section {
                padding: 8px 0;
            }

            .section-title {
                padding: 8px 20px;
                font-size: 10px;
                font-weight: 700;
                text-transform: uppercase;
                letter-spacing: 0.8px;
                color: var(--text-secondary);
                cursor: pointer;
                display: flex;
                align-items: center;
                gap: 8px;
            }

            .section-title i {
                font-size: 10px;
                transition: transform 0.15s;
            }

            .section-title.collapsed i {
                transform: rotate(-90deg);
            }

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

            .nav-item {
                padding: 8px 20px 8px 36px;
                display: flex;
                align-items: center;
                gap: 10px;
                cursor: pointer;
                color: var(--text-primary);
                font-size: 13px;
            }

            .nav-item:hover {
                background: var(--bg-hover);
            }

            .nav-item.active {
                background: var(--bg-active);
                color: var(--accent);
            }

            .nav-item i {
                font-size: 15px;
                width: 18px;
                text-align: center;
            }

            .nav-item .customers {
                color: var(--success);
            }
            .nav-item .deals {
                color: var(--warning);
            }
            .nav-item .tasks {
                color: var(--info);
            }
            .nav-item .reports {
                color: var(--purple);
            }
            .nav-item .settings {
                color: var(--text-secondary);
            }

            .stat-card {
                margin: 12px 16px;
                padding: 16px;
                background: var(--bg-hover);
                border: 1px solid var(--border);
            }

            .stat-card .label {
                font-size: 11px;
                color: var(--text-secondary);
                text-transform: uppercase;
                letter-spacing: 0.5px;
                margin-bottom: 8px;
            }

            .stat-card .value {
                font-size: 28px;
                font-weight: 700;
                color: var(--text-white);
                font-family: "JetBrains Mono", monospace;
            }

            .stat-card .trend {
                font-size: 11px;
                margin-top: 6px;
                display: flex;
                align-items: center;
                gap: 4px;
            }

            .stat-card .trend.up {
                color: var(--success);
            }
            .stat-card .trend.down {
                color: var(--error);
            }

            /* Main Content */
            .main-content {
                flex: 1;
                background: var(--bg-main);
                display: flex;
                flex-direction: column;
                overflow: hidden;
            }

            .aha-app-footer {
                margin-top: auto;
                border-top: 1px solid var(--border);
                background: var(--bg-main);
                padding: 10px 16px;
            }

            .aha-app-footer-inner {
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 12px;
                font-size: 12px;
                line-height: 1.4;
                color: var(--text-secondary);
            }

            .aha-app-footer-inner a {
                color: var(--text-secondary);
                text-decoration: none;
            }

            .aha-app-footer-inner a:hover {
                color: var(--text-primary);
                text-decoration: none;
            }

            /* Tabs */
            .tabs-bar {
                height: 38px;
                background: var(--bg-sidebar);
                display: flex;
                align-items: flex-end;
                padding: 0 8px;
                border-bottom: 1px solid var(--border);
            }

            .tab {
                padding: 10px 20px;
                display: flex;
                align-items: center;
                gap: 8px;
                cursor: pointer;
                border-top: 2px solid transparent;
                color: var(--text-secondary);
                font-size: 13px;
                background: var(--bg-sidebar);
            }

            .tab:hover {
                background: var(--bg-hover);
            }

            .tab.active {
                background: var(--bg-main);
                border-top-color: var(--accent);
                color: var(--text-white);
            }

            .tab i {
                font-size: 14px;
            }

            /* Breadcrumb */
            .breadcrumb-bar {
                padding: 12px 24px;
                display: flex;
                align-items: center;
                gap: 8px;
                font-size: 12px;
                color: var(--text-secondary);
                border-bottom: 1px solid var(--border);
            }

            .breadcrumb-bar i {
                font-size: 14px;
                color: var(--accent);
            }

            .breadcrumb-bar .separator {
                font-size: 8px;
            }

            /* Toolbar */
            .toolbar {
                padding: 16px 24px;
                display: flex;
                align-items: center;
                gap: 12px;
                flex-wrap: wrap;
            }

            .btn-crm {
                padding: 8px 16px;
                background: var(--accent);
                color: white;
                border: none;
                font-size: 12px;
                font-weight: 500;
                font-family: inherit;
                cursor: pointer;
                display: flex;
                align-items: center;
                gap: 8px;
            }

            .btn-crm:hover {
                background: var(--accent-hover);
            }

            .btn-crm.secondary {
                background: transparent;
                border: 1px solid var(--border);
                color: var(--text-primary);
            }

            .btn-crm.secondary:hover {
                border-color: var(--text-secondary);
            }

            .search-input {
                padding: 8px 12px 8px 36px;
                background: var(--bg-input);
                border: 1px solid var(--border);
                color: var(--text-primary);
                font-size: 12px;
                font-family: inherit;
            }

            .search-input:focus {
                outline: none;
                border-color: var(--accent);
            }

            .search-input::placeholder {
                color: var(--text-secondary);
            }

            .search-wrapper {
                position: relative;
            }

            .search-wrapper i {
                position: absolute;
                left: 12px;
                top: 50%;
                transform: translateY(-50%);
                color: var(--text-secondary);
                font-size: 12px;
            }

            .select-input {
                padding: 8px 32px 8px 12px;
                background: var(--bg-input);
                border: 1px solid var(--border);
                color: var(--text-primary);
                font-size: 12px;
                font-family: inherit;
                cursor: pointer;
                appearance: none;
                -webkit-appearance: none;
                -moz-appearance: none;
                background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23858585' d='M0 0l5 5 5-5z'/%3E%3C/svg%3E");
                background-repeat: no-repeat;
                background-position: right 12px center;
            }

            .select-input:focus {
                outline: none;
                border-color: var(--accent);
            }

            [data-theme="light"] .select-input {
                background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%236c757d' d='M0 0l5 5 5-5z'/%3E%3C/svg%3E");
            }

            /* Editor Area */
            .editor-area {
                flex: 1;
                overflow: auto;
                padding: 0 24px;
            }

            .code-table {
                width: 100%;
                border-collapse: collapse;
                font-family: "JetBrains Mono", monospace;
                font-size: 13px;
            }

            .code-table thead th {
                text-align: left;
                padding: 12px 16px;
                font-size: 11px;
                font-weight: 600;
                text-transform: uppercase;
                letter-spacing: 0.5px;
                color: var(--text-secondary);
                border-bottom: 2px solid var(--border);
                position: sticky;
                top: 0;
                background: var(--bg-main);
            }

            .code-table tbody tr {
                border-bottom: 1px solid var(--border);
                cursor: pointer;
            }

            .code-table tbody tr:hover {
                background: var(--bg-hover);
            }

            .code-table tbody tr.selected {
                background: var(--bg-selection);
            }

            .code-table tbody td {
                padding: 14px 16px;
                font-size: 12px;
                color: var(--text-primary);
                display: table-cell;
            }

            /* Force table layout on desktop */
            @media (min-width: 993px) {
                .code-table tbody tr {
                    display: table-row !important;
                }

                .code-table tbody td {
                    display: table-cell !important;
                }

                .code-table thead {
                    display: table-header-group !important;
                }

                /* Show desktop cells, hide mobile-only */
                .mobile-only {
                    display: none !important;
                }

                .desktop-only {
                    display: table-cell !important;
                }

                .code-table tbody .mobile-hide {
                    display: table-cell !important;
                }

                .customer-cell {
                    display: flex !important;
                    flex-direction: row !important;
                }

                .contact-info {
                    display: flex !important;
                    flex-direction: column !important;
                }

                .status-value-row {
                    display: none !important;
                }
            }

            /* Hide desktop cells on mobile */
            @media (max-width: 992px) {
                .desktop-only {
                    display: none !important;
                }

                .mobile-hide {
                    display: none !important;
                }
            }

            /* User Cell */
            .customer-cell {
                display: flex;
                align-items: center;
                gap: 12px;
            }

            .customer-avatar {
                width: 36px;
                height: 36px;
                border-radius: 50%;
                display: flex;
                align-items: center;
                justify-content: center;
                font-size: 13px;
                font-weight: 600;
                color: white;
                font-family: "JetBrains Mono", monospace;
                overflow: hidden;
            }

            .customer-avatar img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }

            .customer-info {
                display: flex;
                flex-direction: column;
                gap: 2px;
            }

            .customer-name {
                color: var(--text-white);
                font-weight: 500;
                font-family: "Inter", sans-serif;
            }

            .customer-company {
                color: var(--text-secondary);
                font-size: 11px;
                font-family: "Inter", sans-serif;
            }

            /* Contact Info */
            .contact-info {
                display: flex;
                flex-direction: column;
                gap: 2px;
            }

            .contact-email,
            .contact-phone {
                font-size: 12px;
                color: var(--text-primary);
            }

            .contact-phone {
                color: var(--text-secondary);
                font-size: 11px;
            }

            /* Status Badge */
            .status-badge {
                padding: 4px 12px;
                font-size: 11px;
                font-weight: 600;
                display: inline-flex;
                align-items: center;
                gap: 6px;
            }

            .status-badge::before {
                content: "";
                width: 6px;
                height: 6px;
                background: currentColor;
            }

            .status-active {
                background: rgba(78, 201, 176, 0.15);
                color: var(--success);
            }

            .status-lead {
                background: rgba(86, 156, 214, 0.15);
                color: var(--info);
            }

            .status-prospect {
                background: rgba(206, 145, 120, 0.15);
                color: var(--warning);
            }

            .status-churned {
                background: rgba(244, 71, 71, 0.15);
                color: var(--error);
            }

            /* Value Badge */
            .value-badge {
                font-weight: 600;
                color: var(--success);
                font-family: "JetBrains Mono", monospace;
            }

            /* Actions */
            .action-icons {
                display: flex;
                gap: 6px;
            }

            .action-icon {
                width: 28px;
                height: 28px;
                display: flex;
                align-items: center;
                justify-content: center;
                cursor: pointer;
                color: var(--text-secondary);
                text-decoration: none !important;
            }

            .activity-item:hover,
            .activity-item:focus,
            .activity-item:active,
            .action-icon:hover,
            .action-icon:focus,
            .action-icon:active {
                text-decoration: none !important;
            }

            .action-icon:hover {
                background: var(--bg-hover);
                color: var(--text-white);
            }

            .action-icon.delete:hover {
                color: var(--error);
            }

            .action-icon.edit:hover {
                color: var(--success);
            }

            .action-icon.view:hover {
                color: var(--info);
            }

            /* Right Panel - Drawer */
            .right-panel {
                width: 360px;
                background: var(--bg-sidebar);
                border-left: 1px solid var(--border);
                display: flex;
                flex-direction: column;
                position: fixed;
                right: -360px;
                top: 38px;
                height: calc(100vh - 38px);
                transition: right 0.3s ease;
                z-index: 100;
            }

            .right-panel.open {
                right: 0;
            }

            .panel-header {
                padding: 16px 20px;
                font-size: 12px;
                font-weight: 700;
                text-transform: uppercase;
                letter-spacing: 0.8px;
                color: var(--text-secondary);
                border-bottom: 1px solid var(--border);
                display: flex;
                justify-content: space-between;
                align-items: center;
            }

            .panel-header-actions {
                display: flex;
                gap: 10px;
            }

            .panel-header-actions i {
                cursor: pointer;
                font-size: 14px;
                color: var(--text-secondary);
            }

            .panel-header-actions i:hover {
                color: var(--text-white);
            }

            .panel-content {
                flex: 1;
                overflow-y: auto;
                padding: 0;
            }

            .panel-section {
                border-bottom: 1px solid var(--border);
            }

            .panel-section-title {
                padding: 12px 20px;
                font-size: 10px;
                font-weight: 700;
                text-transform: uppercase;
                letter-spacing: 0.8px;
                color: var(--text-secondary);
                background: var(--bg-hover);
                cursor: pointer;
                display: flex;
                justify-content: space-between;
                align-items: center;
            }

            .panel-section-title i {
                font-size: 10px;
                transition: transform 0.15s;
            }

            .panel-section-title.collapsed i {
                transform: rotate(-90deg);
            }

            .form-panel {
                padding: 20px;
            }

            .form-group {
                margin-bottom: 18px;
            }

            .form-label {
                display: block;
                font-size: 11px;
                font-weight: 600;
                color: var(--text-secondary);
                margin-bottom: 8px;
                text-transform: uppercase;
                letter-spacing: 0.5px;
            }

            .form-label .required {
                color: var(--error);
                margin-left: 2px;
            }

            .form-input {
                width: 100%;
                padding: 10px 12px;
                background: var(--bg-input);
                border: 1px solid var(--border);
                color: var(--text-primary);
                font-size: 13px;
                font-family: inherit;
            }

            .form-input:focus {
                outline: none;
                border-color: var(--accent);
            }

            .form-input::placeholder {
                color: var(--text-secondary);
            }

            .form-select {
                width: 100%;
                padding: 10px 32px 10px 12px;
                background: var(--bg-input);
                border: 1px solid var(--border);
                color: var(--text-primary);
                font-size: 13px;
                font-family: inherit;
                cursor: pointer;
                appearance: none;
                -webkit-appearance: none;
                -moz-appearance: none;
                background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23858585' d='M0 0l5 5 5-5z'/%3E%3C/svg%3E");
                background-repeat: no-repeat;
                background-position: right 12px center;
            }

            .form-select:focus {
                outline: none;
                border-color: var(--accent);
            }

            /* Image Preview / Thumbnail */
            .image-preview {
                margin-bottom: 12px;
                position: relative;
                display: inline-block;
            }

            .image-preview img {
                width: 120px;
                height: 120px;
                object-fit: cover;
                border-radius: 8px;
                border: 2px solid var(--border);
                display: block;
            }

            .image-preview .remove-image {
                position: absolute;
                top: -8px;
                right: -8px;
                width: 28px;
                height: 28px;
                border-radius: 50%;
                background: var(--error);
                color: white;
                border: none;
                display: flex;
                align-items: center;
                justify-content: center;
                cursor: pointer;
                font-size: 12px;
                box-shadow: 0 2px 8px rgba(0,0,0,0.3);
                transition: transform 0.2s;
            }

            .image-preview .remove-image:hover {
                transform: scale(1.1);
            }

            /* File Preview */
            .file-preview {
                margin-top: 10px;
                display: flex;
                align-items: center;
                gap: 10px;
                padding: 10px 14px;
                background: var(--bg-hover);
                border: 1px solid var(--border);
                border-radius: 6px;
            }

            .file-preview i {
                color: var(--accent);
                font-size: 16px;
            }

            .file-preview span {
                flex: 1;
                font-size: 12px;
                color: var(--text-primary);
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
            }

            .file-preview .remove-file {
                background: transparent;
                border: none;
                color: var(--text-secondary);
                cursor: pointer;
                padding: 4px;
                border-radius: 4px;
                display: flex;
                align-items: center;
                justify-content: center;
            }

            .file-preview .remove-file:hover {
                color: var(--error);
            }

            /* Color Input */
            .form-input-color {
                height: 44px;
                padding: 4px;
                cursor: pointer;
            }

            /* Range Input */
            .form-input-range {
                padding: 0;
                background: transparent;
                border: none;
                height: auto;
            }

            .form-input-range::-webkit-slider-thumb {
                -webkit-appearance: none;
                width: 18px;
                height: 18px;
                border-radius: 50%;
                background: var(--accent);
                cursor: pointer;
                margin-top: -7px;
            }

            .form-input-range::-webkit-slider-runnable-track {
                height: 4px;
                background: var(--border);
                border-radius: 2px;
            }

            /* Checkbox & Radio */
            .checkbox-group {
                padding: 8px 0;
            }

            .checkbox-group input[type="checkbox"] {
                width: 18px;
                height: 18px;
                accent-color: var(--accent);
                cursor: pointer;
            }

            .radio-group {
                display: flex;
                gap: 20px;
                padding: 8px 0;
            }

            .radio-item {
                display: flex;
                align-items: center;
                gap: 8px;
                cursor: pointer;
                font-size: 13px;
                color: var(--text-primary);
            }

            .radio-item input[type="radio"] {
                width: 18px;
                height: 18px;
                accent-color: var(--accent);
                cursor: pointer;
            }

            /* Drag & Drop Zone */
            .dropzone {
                border: 2px dashed var(--border);
                border-radius: 8px;
                padding: 32px;
                text-align: center;
                cursor: pointer;
                transition: all 0.2s;
                background: var(--bg-hover);
            }

            .dropzone:hover {
                border-color: var(--accent);
                background: rgba(99, 102, 241, 0.05);
            }

            .dropzone.drag-over {
                border-color: var(--accent);
                background: rgba(99, 102, 241, 0.1);
                transform: scale(1.02);
            }

            .dropzone-content {
                display: flex;
                flex-direction: column;
                align-items: center;
                gap: 8px;
            }

            .dropzone-content i {
                font-size: 32px;
                color: var(--text-secondary);
                margin-bottom: 4px;
            }

            .dropzone-content p {
                font-size: 14px;
                color: var(--text-primary);
                margin: 0;
                font-weight: 500;
            }

            .dropzone-content span {
                font-size: 12px;
                color: var(--text-secondary);
            }

            .dropzone-file {
                display: flex;
                align-items: center;
                gap: 12px;
                padding: 12px 16px;
                background: var(--bg-input);
                border: 1px solid var(--border);
                border-radius: 6px;
            }

            .dropzone-file i {
                font-size: 20px;
                color: var(--accent);
            }

            .dropzone-file-info {
                flex: 1;
                display: flex;
                flex-direction: column;
                gap: 2px;
            }

            .dropzone-file-name {
                font-size: 13px;
                color: var(--text-primary);
                font-weight: 500;
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
                max-width: 200px;
            }

            .dropzone-file-size {
                font-size: 11px;
                color: var(--text-secondary);
            }

            .dropzone-remove {
                background: transparent;
                border: none;
                color: var(--text-secondary);
                cursor: pointer;
                padding: 6px;
                border-radius: 4px;
                display: flex;
                align-items: center;
                justify-content: center;
                transition: all 0.2s;
            }

            .dropzone-remove:hover {
                color: var(--error);
                background: rgba(244, 71, 71, 0.1);
            }

            /* Paperclip File Upload */
            .paperclip-upload {
                display: flex;
                align-items: center;
                gap: 12px;
            }

            .paperclip-btn {
                display: inline-flex;
                align-items: center;
                gap: 8px;
                padding: 8px 14px;
                background: transparent;
                border: 1px solid var(--border);
                border-radius: 6px;
                color: var(--accent);
                font-size: 13px;
                font-family: inherit;
                cursor: pointer;
                transition: all 0.2s;
            }

            .paperclip-btn:hover {
                background: var(--bg-hover);
                border-color: var(--accent);
            }

            .paperclip-btn i {
                font-size: 14px;
            }

            .paperclip-file {
                display: flex;
                align-items: center;
                gap: 10px;
                padding: 8px 14px;
                background: var(--bg-input);
                border: 1px solid var(--border);
                border-radius: 6px;
                flex: 1;
            }

            .paperclip-file i {
                color: var(--accent);
                font-size: 14px;
            }

            .paperclip-file-info {
                flex: 1;
                display: flex;
                flex-direction: column;
                gap: 2px;
                min-width: 0;
            }

            .paperclip-file-name {
                font-size: 12px;
                color: var(--text-primary);
                font-weight: 500;
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
            }

            .paperclip-file-size {
                font-size: 10px;
                color: var(--text-secondary);
            }

            .paperclip-remove {
                background: transparent;
                border: none;
                color: var(--text-secondary);
                cursor: pointer;
                padding: 4px;
                border-radius: 4px;
                display: flex;
                align-items: center;
                justify-content: center;
                transition: all 0.2s;
            }

            .paperclip-remove:hover {
                color: var(--error);
                background: rgba(244, 71, 71, 0.1);
            }

            [data-theme="light"] .form-select {
                background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%236c757d' d='M0 0l5 5 5-5z'/%3E%3C/svg%3E");
            }

            .panel-actions {
                padding: 20px;
                border-top: 1px solid var(--border);
                display: flex;
                gap: 10px;
            }

            .btn-panel {
                flex: 1;
                padding: 10px 16px;
                font-size: 12px;
                font-weight: 500;
                font-family: inherit;
                cursor: pointer;
                display: flex;
                align-items: center;
                justify-content: center;
                gap: 8px;
            }

            .btn-panel-primary {
                background: var(--accent);
                color: white;
                border: none;
            }

            .btn-panel-primary:hover {
                background: var(--accent-hover);
            }

            .btn-panel-secondary {
                background: transparent;
                border: 1px solid var(--border);
                color: var(--text-primary);
            }

            .btn-panel-secondary:hover {
                border-color: var(--text-secondary);
            }

            .btn-panel-danger {
                background: transparent;
                border: 1px solid var(--error);
                color: var(--error);
            }

            .btn-panel-danger:hover {
                background: var(--error);
                color: white;
            }

            /* Empty Panel State */
            .panel-empty {
                padding: 60px 24px;
                text-align: center;
                color: var(--text-secondary);
            }

            .panel-empty i {
                font-size: 48px;
                margin-bottom: 16px;
                opacity: 0.3;
            }

            .panel-empty p {
                font-size: 12px;
                margin: 0;
                line-height: 1.6;
            }

            /* Record Info in Panel */
            .record-info {
                padding: 20px;
            }

            .info-row {
                display: flex;
                justify-content: space-between;
                padding: 12px 0;
                border-bottom: 1px solid var(--border);
            }

            .info-row:last-child {
                border-bottom: none;
            }

            .info-label {
                font-size: 11px;
                color: var(--text-secondary);
                text-transform: uppercase;
                letter-spacing: 0.5px;
            }

            .info-value {
                font-size: 13px;
                color: var(--text-primary);
                text-align: right;
            }

            .customer-avatar-large {
                width: 80px;
                height: 80px;
                border-radius: 50%;
                display: flex;
                align-items: center;
                justify-content: center;
                font-size: 28px;
                font-weight: 700;
                color: white;
                margin: 0 auto 16px;
            }

            .customer-image-large {
                width: 80px;
                height: 80px;
                border-radius: 50%;
                margin: 0 auto 16px;
                overflow: hidden;
                border: 2px solid var(--border);
            }

            .customer-image-large img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }

            .customer-name-large {
                font-size: 18px;
                font-weight: 600;
                color: var(--text-white);
                text-align: center;
                margin-bottom: 4px;
            }

            .customer-company-large {
                font-size: 13px;
                color: var(--text-secondary);
                text-align: center;
                margin-bottom: 16px;
            }

            /* Scrollbar */
            ::-webkit-scrollbar {
                width: 10px;
                height: 10px;
            }

            ::-webkit-scrollbar-track {
                background: var(--bg-main);
            }

            ::-webkit-scrollbar-thumb {
                background: var(--bg-activity);
            }

            ::-webkit-scrollbar-thumb:hover {
                background: var(--border);
            }

            /* Pagination */
            .pagination-bar {
                padding: 14px 24px;
                display: flex;
                justify-content: space-between;
                align-items: center;
                border-top: 1px solid var(--border);
                background: var(--bg-sidebar);
            }

            .pagination-info {
                font-size: 12px;
                color: var(--text-secondary);
            }

            .pagination {
                display: flex;
                gap: 6px;
                list-style: none;
                margin: 0;
                padding: 0;
            }

            .page-btn {
                padding: 6px 12px;
                background: transparent;
                border: 1px solid var(--border);
                color: var(--text-primary);
                font-size: 12px;
                cursor: pointer;
            }

            .page-btn:hover {
                background: var(--bg-hover);
            }

            .page-btn.active {
                background: var(--accent);
                color: white;
                border-color: var(--accent);
            }

            /* Drawer Overlay */
            .drawer-overlay {
                position: fixed;
                top: 38px;
                left: 0;
                right: 360px;
                bottom: 0;
                background: rgba(0, 0, 0, 0.5);
                z-index: 99;
                opacity: 0;
                pointer-events: none;
                transition: opacity 0.3s ease;
            }

            .drawer-overlay.show {
                opacity: 1;
                pointer-events: auto;
            }

            /* Modal Drawer */
            .modal-drawer {
                width: 360px;
                background: var(--bg-sidebar);
                border-left: 1px solid var(--border);
                position: fixed;
                right: -360px;
                top: 38px;
                height: calc(100vh - 38px);
                transition: right 0.3s ease;
                z-index: 101;
                box-shadow: -4px 0 20px rgba(0, 0, 0, 0.3);
                display: flex;
                flex-direction: column;
                justify-content: center;
            }

            .modal-drawer.open {
                right: 0;
            }

            .modal-drawer-content {
                padding: 24px;
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                flex: 1;
            }

            .modal-drawer-icon {
                width: 48px;
                height: 48px;
                margin: 0 auto 16px;
                border-radius: 50%;
                display: flex;
                align-items: center;
                justify-content: center;
                font-size: 20px;
            }

            .modal-drawer-icon.warning {
                background: rgba(206, 145, 120, 0.15);
                color: var(--warning);
            }

            .modal-drawer-icon.info {
                background: rgba(86, 156, 214, 0.15);
                color: var(--info);
            }

            .modal-drawer-title {
                font-size: 14px;
                font-weight: 600;
                color: var(--text-white);
                text-align: center;
                margin-bottom: 8px;
            }

            .modal-drawer-message {
                font-size: 12px;
                color: var(--text-secondary);
                text-align: center;
                margin-bottom: 20px;
                line-height: 1.5;
            }

            .modal-drawer-actions {
                display: flex;
                gap: 10px;
                justify-content: center;
            }

            .modal-drawer-btn {
                flex: 1;
                padding: 10px 16px;
                font-size: 12px;
                font-weight: 500;
                border-radius: 2px;
                cursor: pointer;
                text-align: center;
            }

            .modal-drawer-btn.primary {
                background: var(--accent);
                color: white;
                border: none;
            }

            .modal-drawer-btn.primary:hover {
                background: var(--accent-hover);
            }

            .modal-drawer-btn.secondary {
                background: transparent;
                border: 1px solid var(--border);
                color: var(--text-primary);
            }

            .modal-drawer-btn.secondary:hover {
                border-color: var(--text-secondary);
            }

            .modal-drawer-btn.danger {
                background: var(--error);
                color: white;
                border: none;
            }

            .modal-drawer-btn.danger:hover {
                background: #d63030;
            }

            /* Toast Notification */
            .toast-container {
                position: fixed;
                bottom: 24px;
                right: 24px;
                z-index: 1000;
            }

            .toast {
                background: var(--bg-sidebar);
                border: 1px solid var(--border);
                padding: 14px 18px;
                display: flex;
                align-items: center;
                gap: 12px;
                margin-top: 8px;
                box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
                animation: slideIn 0.3s ease;
                min-width: 280px;
            }

            @keyframes slideIn {
                from {
                    transform: translateX(100%);
                    opacity: 0;
                }
                to {
                    transform: translateX(0);
                    opacity: 1;
                }
            }

            .toast.success {
                border-left: 3px solid var(--success);
            }
            .toast.error {
                border-left: 3px solid var(--error);
            }
            .toast.info {
                border-left: 3px solid var(--accent);
            }

            .toast i {
                font-size: 16px;
            }

            .toast.success i {
                color: var(--success);
            }
            .toast.error i {
                color: var(--error);
            }
            .toast.info i {
                color: var(--accent);
            }

            .toast-message {
                font-size: 13px;
                color: var(--text-primary);
                flex: 1;
            }
        /* Table Responsive Wrapper */
        .table-responsive {
            overflow-x: auto;
            -webkit-overflow-scrolling: touch;
        }

        .table-responsive table {
            min-width: 800px;
        }

        /* Override min-width on mobile for card view */
        @media (max-width: 992px) {
            .table-responsive table {
                min-width: auto;
            }

            .table-responsive {
                overflow-x: hidden;
            }
        }

        /* Mobile Sidebar Toggle */
        .mobile-sidebar-toggle {
            display: none;
            position: fixed;
            top: 8px;
            right: 16px;
            width: 40px;
            height: 24px;
            background: transparent;
            color: var(--text-primary);
            border: none;
            border-radius: 4px;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            z-index: 97;
            padding: 0;
        }

        .mobile-sidebar-toggle:hover {
            background: var(--bg-hover);
        }

        /* Hamburger Icon */
        .mobile-sidebar-toggle .hamburger {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: flex-end;
            gap: 4px;
            width: 20px;
        }

        .mobile-sidebar-toggle .hamburger span {
            display: block;
            height: 2px;
            background: var(--text-primary);
            border-radius: 1px;
        }

        .mobile-sidebar-toggle .hamburger span:first-child {
            width: 20px;
        }

        .mobile-sidebar-toggle .hamburger span:last-child {
            width: 16px;
        }

        /* Toolbar More Options */
        .toolbar-more-options {
            display: flex;
            gap: 12px;
        }

        .mobile-more-toggle {
            display: none;
        }

        /* Mobile Styles */
        @media (max-width: 992px) {
            /* Show mobile sidebar toggle */
            .mobile-sidebar-toggle {
                display: flex;
            }

            /* Show More button on mobile */
            .mobile-more-toggle {
                display: flex;
            }

            /* Hide more options by default on mobile */
            .toolbar-more-options {
                display: none;
                width: 100%;
                flex-direction: column;
                gap: 10px;
                margin-top: 12px;
                padding-top: 12px;
                border-top: 1px solid var(--border);
            }

            .toolbar-more-options.show {
                display: flex;
            }

            .toolbar-more-options .select-input,
            .toolbar-more-options .btn-crm {
                width: 100%;
            }

            /* Mobile Card View for Table */
            .code-table thead {
                display: none;
            }

            .code-table tbody tr {
                display: flex;
                padding: 16px;
                margin-bottom: 12px;
                border: 1px solid var(--border);
                border-radius: 8px;
                background: var(--bg-sidebar);
                gap: 16px;
                cursor: pointer;
            }

            .code-table tbody tr:hover {
                background: var(--bg-hover);
            }

            .code-table tbody tr:first-child {
                border-top: 2px solid var(--accent);
            }

            .code-table tbody td {
                display: block;
                padding: 4px 0;
                border: none;
            }

            /* Avatar - left side, vertically centered */
            .code-table tbody td:first-child {
                flex-shrink: 0;
                display: flex;
                align-items: center;
            }

            .code-table tbody td:first-child .customer-avatar {
                width: 56px;
                height: 56px;
                font-size: 18px;
                overflow: hidden;
            }

            .code-table tbody td:first-child .customer-avatar img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }

            /* Right side content wrapper */
            .code-table tbody td:nth-child(2) {
                flex: 1;
                display: flex;
                flex-direction: column;
                gap: 10px;
            }

            /* Customer info left aligned */
            .customer-cell {
                text-align: left;
                margin-bottom: 8px;
                padding-bottom: 8px;
                border-bottom: 1px solid var(--border);
            }

            .customer-cell .customer-name {
                font-size: 16px;
                font-weight: 600;
                margin-bottom: 4px;
            }

            .customer-cell .customer-company {
                font-size: 13px;
                color: var(--text-secondary);
            }

            /* Contact info stacked */
            .contact-info {
                display: flex;
                flex-direction: column;
                gap: 4px;
                margin-bottom: 8px;
                padding-bottom: 8px;
                border-bottom: 1px solid var(--border);
            }

            .contact-info .contact-email {
                font-size: 14px;
            }

            .contact-info .contact-phone {
                font-size: 13px;
                color: var(--text-secondary);
            }

            /* Status and Value - stacked vertically on mobile */
            .status-value-row {
                display: block;
                padding: 8px 0;
                border-bottom: 1px solid var(--border);
            }

            .status-value-row .status-badge {
                display: inline-block;
                font-size: 12px;
                padding: 4px 10px;
                margin-bottom: 8px;
            }

            .status-value-row .value-badge {
                display: block;
                font-size: 16px;
                font-weight: 600;
            }

            /* Hide desktop cells on mobile (already handled by .desktop-only class) */

            /* Add padding to title bar for hamburger */
            .title-bar {
                padding-right: 70px;
            }

            /* Sidebar becomes a drawer */
            .sidebar {
                position: fixed;
                left: -260px;
                top: 38px;
                height: calc(100vh - 38px);
                transition: left 0.3s ease;
                z-index: 98;
            }

            .sidebar.open {
                left: 0;
            }

            /* Keep content full width on mobile */
            .main-content {
                margin-left: 0;
            }

            /* Right panel full width on mobile */
            .right-panel {
                width: 100%;
                right: -100%;
            }

            .right-panel.open {
                right: 0;
            }

            /* Drawer overlay covers full width */
            .drawer-overlay {
                right: 0;
            }

            /* Modal drawer full width */
            .modal-drawer {
                width: 100%;
                right: -100%;
            }

            .modal-drawer.open {
                right: 0;
            }

            /* Toolbar wraps on mobile */
            .toolbar {
                flex-wrap: wrap;
                align-items: center;
            }

            .search-input,
            .global-search-input {
                width: 100%;
            }

            .btn-crm {
                justify-content: center;
            }

            /* Stats grid 2 columns */
            .stats-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        /* Small Mobile */
        @media (max-width: 576px) {
            .activity-bar {
                width: 50px;
            }

            .activity-item {
                width: 50px;
                height: 50px;
            }

            .activity-item i {
                font-size: 18px;
            }

            .theme-toggle-item {
                width: 50px;
                height: 36px;
            }

            .app-title {
                font-size: 16px;
            }

            /* Hide global search on mobile */
            .global-search-wrapper {
                display: none;
            }

            .global-search-results {
                width: 140px;
            }

            .stats-grid {
                grid-template-columns: 1fr;
            }

            .main-content {
                margin-left: 0;
            }

            .sidebar {
                width: 260px;
            }
        }


/* Breadcrumb links (Laravel lists) */
.breadcrumb-bar a {
    color: inherit;
    text-decoration: none;
}

.breadcrumb-bar a:hover {
    color: var(--accent);
}

/* Toolbar: anchor styled as CRM button */
a.btn-crm {
    text-decoration: none;
    display: inline-flex;
    align-items: center;
}

/* Laravel pagination inside AHA pagination bar */
.pagination-bar .pagination .page-link {
    padding: 6px 12px;
    background: transparent;
    border: 1px solid var(--border);
    color: var(--text-primary);
    font-size: 12px;
    border-radius: 0;
}

.pagination-bar .pagination .page-item.active .page-link,
.pagination-bar .pagination .page-item.active span.page-link {
    background: var(--accent);
    color: #fff;
    border-color: var(--accent);
}

.pagination-bar .pagination .page-link:hover {
    background: var(--bg-hover);
}

.pagination-bar .pagination .page-item.disabled .page-link {
    opacity: 0.45;
    pointer-events: none;
}

/* DataTables footer inside AHA pagination bar */
.pagination-bar .dataTables_info {
    float: none !important;
    padding-top: 0;
}

.pagination-bar .dataTables_paginate {
    float: none !important;
    margin: 0 !important;
}

/* Mobile index cards (built from table rows / DataTables in this-site.js) */
.aha-index-card-list {
    width: 100%;
}

.aha-index-card {
    border: 1px solid var(--border);
    border-top: 2px solid var(--accent);
    border-radius: 8px;
    background: var(--bg-sidebar);
    overflow: hidden;
}

.aha-index-card-inner {
    padding: 16px;
    text-align: left;
}

.aha-index-card-top {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
    text-align: left;
}

.aha-index-card-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 14px;
    font-family: "JetBrains Mono", monospace;
    background: var(--bg-hover);
    color: var(--text-primary);
}

.aha-index-card-avatar-wrap {
    flex-shrink: 0;
    line-height: 0;
}

.aha-index-card-avatar-wrap img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
}

.aha-index-card-avatar-wrap .su-text-avatar,
.aha-index-card-avatar-wrap .aha-table-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 14px;
    font-family: "JetBrains Mono", monospace;
    background: var(--bg-hover);
    color: var(--text-primary);
}

.aha-table-avatar-img {
    display: block;
}

.code-table .aha-table-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    font-weight: 600;
    font-size: 14px;
    font-family: "JetBrains Mono", monospace;
    background: var(--bg-hover);
    color: var(--text-primary);
}

.aha-index-card-title {
    color: var(--text-primary);
    text-align: left;
}

.aha-index-card-actions {
    margin-left: auto;
    flex-shrink: 0;
}

.aha-index-card-details {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--border);
    text-align: left;
}

.aha-index-card-detail-row {
    text-align: left;
}

.aha-index-card-detail-label {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--text-secondary);
    margin-bottom: 4px;
}

.aha-index-card-detail-value {
    font-size: 13px;
    color: var(--text-primary);
    text-align: left;
}

/* Iframe modal drawer */
.iframe-modal-panel {
    right: calc(-1 * var(--aha-iframe-panel-width, min(75vw, 1100px)));
    width: var(--aha-iframe-panel-width, min(75vw, 1100px));
    top: 38px;
    height: calc(100vh - 38px);
    z-index: 120;
}

.iframe-modal-panel.open {
    right: 0;
}

#iframeModalOverlay {
    right: var(--aha-iframe-panel-width, min(75vw, 1100px));
    z-index: 119;
}

.iframe-modal-panel .panel-content.iframe-modal-panel-content {
    position: relative;
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.iframe-modal-frame {
    width: 100%;
    height: 100%;
    flex: 1;
    min-height: 0;
    border: 0;
    background: var(--bg-main);
}

/* Quill: readable size labels and source toggle icon */
.ql-snow .ql-picker.ql-size .ql-picker-label::before,
.ql-snow .ql-picker.ql-size .ql-picker-item::before {
    content: attr(data-value) !important;
}
.ql-snow .ql-picker.ql-size .ql-picker-label:not([data-value])::before {
    content: '16px' !important;
}
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="12px"]::before { content: '12px' !important; }
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="14px"]::before { content: '14px' !important; }
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="16px"]::before { content: '16px' !important; }
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="18px"]::before { content: '18px' !important; }
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="20px"]::before { content: '20px' !important; }
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="24px"]::before { content: '24px' !important; }
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="28px"]::before { content: '28px' !important; }
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="32px"]::before { content: '32px' !important; }
.ql-snow .ql-toolbar button.ql-source {
    width: auto;
    min-width: 34px;
    padding: 0 8px;
    white-space: nowrap;
    border: 1px solid var(--border);
    border-radius: 4px;
    background: var(--bg-hover);
    color: var(--text-primary);
    font-size: 11px;
    font-weight: 700;
    line-height: 24px;
}
.ql-snow .ql-toolbar button.ql-source:hover {
    background: var(--bg-active);
    color: var(--text-white);
}
.ql-snow .ql-picker.ql-size .ql-picker-item {
    color: transparent;
}
.ql-snow .ql-picker.ql-size .ql-picker-options {
    background: var(--bg-main);
    border-color: var(--border);
}
.ql-snow .ql-picker.ql-size .ql-picker-label,
.ql-snow .ql-picker.ql-size .ql-picker-item {
    color: var(--text-primary) !important;
}
.ql-snow .ql-picker.ql-size .ql-picker-item:hover,
.ql-snow .ql-picker.ql-size .ql-picker-item.ql-selected {
    background: var(--bg-hover);
    color: var(--text-white) !important;
}
.quill-source-area {
    white-space: pre;
    tab-size: 2;
    line-height: 1.5;
}

/* -------------------------------------------------------------------------- */
/* Aha form pages (create/edit) — match theme, remove stray white blocks        */
/* -------------------------------------------------------------------------- */

body.aha-iframe-body {
    overflow: auto;
    height: auto;
    min-height: 100%;
}

.aha-form-page {
    max-width: 1100px;
    margin: 0 auto;
}

.aha-form-page .card {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    color: var(--text-primary);
    font-family: inherit;
}

.aha-form-page .card-header {
    display: none !important;
}

.aha-form-page .card-title {
    font-family: inherit;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: -0.01em;
}

.aha-form-page .card-body {
    background: transparent;
    padding: 0;
}

/* Nested sections inside one card (roles/users) */
.aha-form-page .card .card-header {
    display: none !important;
}

.aha-form-page .card .card-body {
    padding-top: 0;
}

.aha-form-page .form-label {
    color: var(--text-primary);
    font-size: 12px;
    font-weight: 600;
}

.aha-form-page .form-control,
.aha-form-page .form-select {
    background: var(--bg-input);
    border: 1px solid var(--border);
    color: var(--text-primary);
    font-size: 13px;
    border-radius: 6px;
}

.aha-form-page .form-control:focus,
.aha-form-page .form-select:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 0.15rem rgba(13, 110, 253, 0.15);
}

.aha-form-page .form-control::placeholder {
    color: var(--text-secondary);
}

.aha-form-page .input-group-text {
    background: var(--bg-hover);
    border-color: var(--border);
    color: var(--text-primary);
}

.aha-form-page .input-group .form-control {
    border-right: 0;
}

.aha-form-page .input-group .input-group-text {
    border-left: 0;
}

.aha-form-page .btn-light {
    background: var(--bg-hover);
    border-color: var(--border);
    color: var(--text-primary);
}

.aha-form-page .btn-light:hover {
    background: var(--bg-active);
}

/* Roles checkbox chips (users create/edit) */
.aha-form-page #checkboxLinkArea_roles .btn.btn-outline-dark {
    border-color: var(--border);
    color: var(--text-primary);
    background: transparent;
}

.aha-form-page #checkboxLinkArea_roles .btn.btn-outline-dark:hover,
.aha-form-page #checkboxLinkArea_roles .btn.btn-outline-dark:focus {
    border-color: var(--accent);
    color: var(--text-primary);
    background: var(--bg-hover);
}

.aha-form-page #checkboxLinkArea_roles input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: var(--accent);
    appearance: auto;
    opacity: 1;
    visibility: visible;
    vertical-align: middle;
}

.aha-form-page .dropzone {
    background: var(--bg-hover) !important;
    border: 1px dashed var(--border) !important;
    color: var(--text-primary);
}

.aha-form-page .dropzone h5 {
    font-size: 14px;
    font-weight: 600;
}

/* Prevent long uploaded file names from breaking responsive layout. */
.aha-form-page [id$="-preview"] .flex-grow-1 {
    min-width: 0;
}

.aha-form-page [id$="-preview-name"] {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.aha-form-page .text-muted {
    color: var(--text-secondary) !important;
}

.aha-form-page .alert {
    border-radius: 8px;
    border: 1px solid var(--border);
    background: var(--bg-hover);
    color: var(--text-primary);
}

.aha-form-page .alert-info {
    border-color: var(--info);
}

.aha-form-page .alert-success {
    border-color: var(--success);
}

.aha-form-page .alert-danger {
    border-color: var(--error);
}

/* Permission matrix tables */
.aha-form-page .table {
    color: var(--text-primary);
    border-color: var(--border);
    --bs-table-bg: transparent;
    --bs-table-striped-bg: rgba(255, 255, 255, 0.03);
    --bs-table-hover-bg: var(--bg-hover);
}

.aha-form-page .table thead th {
    background: var(--bg-hover);
    color: var(--text-primary);
    border-color: var(--border);
    font-size: 12px;
    font-weight: 600;
}

.aha-form-page .table td,
.aha-form-page .table th {
    border-color: var(--border);
    vertical-align: middle;
}

.aha-form-page .table-striped > tbody > tr:nth-of-type(odd) > * {
    --bs-table-accent-bg: rgba(255, 255, 255, 0.02);
}

.aha-form-page .table-light {
    --bs-table-bg: var(--bg-hover);
    color: var(--text-primary);
}

.aha-form-page .form-actions {
    border-top: 1px solid var(--border);
    background: transparent;
}

body.iframe-modal-open {
    overflow: hidden;
}

@media (max-width: 991.98px) {
    .iframe-modal-panel {
        width: 100vw;
        right: -100vw;
    }

    #iframeModalOverlay {
        right: 0;
    }
}

/* -------------------------------------------------------------------------- */
/* Auth pages (login/register/forgot)                                         */
/* -------------------------------------------------------------------------- */
body.authentication-bg {
    --auth-font: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
    --auth-brand-font: 'Space Grotesk', 'Inter', sans-serif;
    font-family: var(--auth-font);
    font-size: 14px;
    margin: 0;
    min-height: 100vh;
    background: radial-gradient(1200px 600px at 50% -10%, rgba(102, 126, 234, 0.18), transparent 55%),
        linear-gradient(165deg, #0e1016 0%, #151821 45%, #0c0e14 100%);
    color: #e8eaef;
}

.auth-page-shell {
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem 1rem;
    box-sizing: border-box;
}

.auth-page-shell .container {
    width: 100%;
    max-width: 520px;
}

.auth-card {
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    background: rgba(22, 24, 32, 0.92);
    backdrop-filter: blur(12px);
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.45);
    overflow: hidden;
}

.auth-card .card-body {
    color: #e8eaef;
}

.auth-card .text-dark {
    color: #f1f3f7 !important;
}

.auth-card .text-muted {
    color: rgba(232, 234, 239, 0.65) !important;
}

.auth-card .form-label {
    color: rgba(232, 234, 239, 0.88);
    font-weight: 500;
    font-size: 13px;
}

.auth-card .form-control {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.12);
    color: #f1f3f7;
}

.auth-card .form-control::placeholder {
    color: rgba(232, 234, 239, 0.4);
}

.auth-card .form-control:focus {
    background: rgba(255, 255, 255, 0.09);
    border-color: rgba(102, 126, 234, 0.55);
    color: #fff;
    box-shadow: 0 0 0 0.2rem rgba(102, 126, 234, 0.2);
}

.auth-card .app-title {
    font-family: var(--auth-brand-font);
    font-weight: 700;
    font-size: 2rem;
    letter-spacing: -0.02em;
    color: #fff;
}

.auth-card .app-title span {
    color: #8b9cff;
}

.auth-card .form-check-label {
    color: rgba(232, 234, 239, 0.8);
}

.auth-card .btn,
.auth-card button,
.auth-card input,
.auth-card select,
.auth-card textarea,
.auth-card .form-control,
.auth-card .form-select,
.auth-card .input-group-text {
    border-radius: 0 !important;
}

.auth-card .form-check-input {
    background-color: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.25);
}

.auth-card .form-check-input:checked {
    background-color: #667eea;
    border-color: #667eea;
}

.auth-card .btn-primary {
    background: linear-gradient(135deg, #667eea 0%, #5a6fd6 100%);
    border: none;
    font-weight: 600;
}

.auth-card .btn-primary:hover {
    filter: brightness(1.08);
}

.auth-card .form-control.is-invalid {
    border-color: rgba(220, 53, 69, 0.75);
}

.auth-card .invalid-feedback {
    color: #f5a5ad;
}

.auth-card .alert-success {
    background: rgba(25, 135, 84, 0.2);
    border-color: rgba(25, 135, 84, 0.45);
    color: #cfead8;
}

.auth-card .alert-danger {
    background: rgba(220, 53, 69, 0.15);
    border-color: rgba(220, 53, 69, 0.4);
    color: #f8d7da;
}
