        /* ==========================================================================
           Shopnet.Domains Design System
           ========================================================================== */
        :root {
            --ds-primary: #6366F1;
            --ds-primary-hover: #4F46E5;
            --ds-primary-light: #EEF2FF;
            --ds-secondary: #8B5CF6;
            --ds-success: #10B981;
            --ds-success-light: #D1FAE5;
            --ds-warning: #F59E0B;
            --ds-warning-light: #FEF3C7;
            --ds-danger: #EF4444;
            --ds-danger-light: #FEE2E2;
            --ds-text: #1F2937;
            --ds-text-light: #6B7280;
            --ds-text-muted: #9CA3AF;
            --ds-border: #E5E7EB;
            --ds-bg: #FFFFFF;
            --ds-surface: #F9FAFB;
            --ds-surface-hover: #F3F4F6;
            --ds-font-sans: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
            --ds-radius-sm: 0.25rem;
            --ds-radius: 0.375rem;
            --ds-radius-md: 0.5rem;
            --ds-radius-lg: 0.75rem;
            --ds-radius-xl: 1rem;
            --ds-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
            --ds-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1);
            --ds-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1);
            --ds-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1);
        }

        * { box-sizing: border-box; margin: 0; padding: 0; }

        body {
            font-family: var(--ds-font-sans);
            background: var(--ds-surface);
            color: var(--ds-text);
            line-height: 1.6;
            min-height: 100vh;
        }

        /* Header */
        .header {
            background: linear-gradient(135deg, var(--ds-primary) 0%, var(--ds-secondary) 100%);
            color: white;
            padding: 0 2rem;
            height: 64px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            box-shadow: var(--ds-shadow-md);
            position: sticky;
            top: 0;
            z-index: 100;
        }

        .header__brand {
            display: flex;
            align-items: center;
            gap: 0.75rem;
        }

        .header__logo {
            width: 32px;
            height: 32px;
            background: white;
            border-radius: var(--ds-radius);
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 700;
            color: var(--ds-primary);
        }

        .header__title {
            font-size: 1.25rem;
            font-weight: 600;
        }

        .header__status {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 0.875rem;
            opacity: 0.9;
        }

        .status-dot {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: var(--ds-success);
            animation: pulse 2s infinite;
        }

        .status-dot.error { background: var(--ds-danger); animation: none; }

        @keyframes pulse {
            0%, 100% { opacity: 1; }
            50% { opacity: 0.5; }
        }

        /* Layout */
        .layout {
            display: flex;
            min-height: calc(100vh - 64px);
        }

        /* Sidebar */
        .sidebar {
            width: 240px;
            background: var(--ds-bg);
            border-right: 1px solid var(--ds-border);
            padding: 1rem 0;
            flex-shrink: 0;
        }

        .sidebar__section {
            padding: 0.5rem 1rem;
            margin-bottom: 0.5rem;
        }

        .sidebar__label {
            font-size: 0.75rem;
            font-weight: 600;
            color: var(--ds-text-muted);
            text-transform: uppercase;
            letter-spacing: 0.05em;
            margin-bottom: 0.5rem;
        }

        .sidebar__nav {
            list-style: none;
        }

        .sidebar__link {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            padding: 0.625rem 1rem;
            color: var(--ds-text-light);
            text-decoration: none;
            border-radius: var(--ds-radius);
            margin: 0.125rem 0.5rem;
            transition: all 0.15s ease;
            font-size: 0.875rem;
            cursor: pointer;
        }

        .sidebar__link:hover {
            background: var(--ds-surface);
            color: var(--ds-text);
        }

        .sidebar__link.active {
            background: var(--ds-primary-light);
            color: var(--ds-primary);
            font-weight: 500;
        }

        .sidebar__link--disabled {
            opacity: 0.5;
            cursor: not-allowed;
            pointer-events: auto;
        }

        .sidebar__link--disabled:hover {
            background: transparent;
            color: var(--ds-text-light);
        }

        .sidebar__icon {
            width: 18px;
            height: 18px;
            opacity: 0.7;
        }

        /* Main Content */
        .main {
            flex: 1;
            padding: 1.5rem 2rem;
            overflow-x: auto;
        }

        /* Stats Grid */
        .stats-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 1rem;
            margin-bottom: 1.5rem;
        }

        .stat-card {
            background: var(--ds-bg);
            border: 1px solid var(--ds-border);
            border-radius: var(--ds-radius-lg);
            padding: 1.25rem;
            transition: all 0.2s ease;
        }

        .stat-card:hover {
            border-color: var(--ds-primary);
            box-shadow: var(--ds-shadow-md);
        }

        .stat-card__label {
            font-size: 0.75rem;
            font-weight: 500;
            color: var(--ds-text-muted);
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        .stat-card__value {
            font-size: 2rem;
            font-weight: 700;
            color: var(--ds-primary);
            line-height: 1.2;
            margin-top: 0.25rem;
        }

        .stat-card__sub {
            font-size: 0.75rem;
            color: var(--ds-text-light);
            margin-top: 0.25rem;
        }

        .stat-card--clickable {
            cursor: pointer;
        }

        .stat-card--clickable:hover {
            background: var(--ds-primary-light);
            transform: translateY(-2px);
        }

        /* Group row clickable */
        .group-row--clickable {
            cursor: pointer;
            transition: background 0.15s ease;
        }

        .group-row--clickable:hover {
            background: var(--ds-primary-light);
        }

        /* Char item clickable */
        .char-item--clickable {
            cursor: pointer;
            transition: all 0.15s ease;
        }

        .char-item--clickable:hover {
            background: var(--ds-primary-light);
            transform: scale(1.02);
        }

        /* TLD List Modal */
        .tld-list-modal {
            position: fixed;
            inset: 0;
            background: rgba(0, 0, 0, 0.5);
            display: none;
            align-items: center;
            justify-content: center;
            z-index: 1000;
            padding: 2rem;
        }

        .tld-list-modal.active {
            display: flex;
        }

        .tld-list-modal__content {
            background: var(--ds-bg);
            border-radius: var(--ds-radius-lg);
            width: 100%;
            max-width: 1000px;
            max-height: 80vh;
            display: flex;
            flex-direction: column;
            box-shadow: var(--ds-shadow-lg);
        }

        .tld-list-modal__header {
            padding: 1rem 1.5rem;
            border-bottom: 1px solid var(--ds-border);
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .tld-list-modal__title {
            font-size: 1.125rem;
            font-weight: 600;
        }

        .tld-list-modal__count {
            font-size: 0.875rem;
            color: var(--ds-text-light);
        }

        .tld-list-modal__body {
            flex: 1;
            overflow-y: auto;
            padding: 0;
        }

        .tld-list-modal__table {
            width: 100%;
            border-collapse: collapse;
        }

        .tld-list-modal__table th,
        .tld-list-modal__table td {
            padding: 0.75rem 1rem;
            text-align: left;
            border-bottom: 1px solid var(--ds-border);
        }

        .tld-list-modal__table th {
            background: var(--ds-surface);
            font-weight: 600;
            font-size: 0.813rem;
            text-transform: uppercase;
            position: sticky;
            top: 0;
        }

        .tld-list-modal__table tr:hover {
            background: var(--ds-surface-hover);
        }

        .tld-list-modal__table .tld-cell {
            font-weight: 600;
            font-size: 1rem;
        }

        .tld-list-modal__footer {
            padding: 1rem 1.5rem;
            border-top: 1px solid var(--ds-border);
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        /* Panel */
        .panel {
            background: var(--ds-bg);
            border: 1px solid var(--ds-border);
            border-radius: var(--ds-radius-lg);
            display: none;
        }

        .panel.active { display: block; }

        .panel__header {
            padding: 1rem 1.5rem;
            border-bottom: 1px solid var(--ds-border);
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1rem;
            flex-wrap: wrap;
        }

        .panel__title {
            font-size: 1.125rem;
            font-weight: 600;
        }

        .panel__actions {
            display: flex;
            gap: 0.5rem;
            flex-wrap: wrap;
        }

        .panel__body {
            padding: 1.5rem;
        }

        /* Search Bar */
        .search-bar {
            display: flex;
            gap: 0.75rem;
            flex-wrap: wrap;
            margin-bottom: 1.5rem;
        }

        .search-bar__input {
            flex: 1;
            min-width: 200px;
        }

        /* Form Elements */
        .input {
            display: block;
            width: 100%;
            padding: 0.625rem 0.875rem;
            font-family: var(--ds-font-sans);
            font-size: 0.875rem;
            color: var(--ds-text);
            background: var(--ds-bg);
            border: 1px solid var(--ds-border);
            border-radius: var(--ds-radius-md);
            transition: all 0.15s ease;
        }

        .input:focus {
            outline: none;
            border-color: var(--ds-primary);
            box-shadow: 0 0 0 3px var(--ds-primary-light);
        }

        .input::placeholder { color: var(--ds-text-muted); }

        .select {
            appearance: none;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
            background-repeat: no-repeat;
            background-position: right 0.5rem center;
            padding-right: 2.5rem;
        }

        textarea.input {
            min-height: 100px;
            resize: vertical;
        }

        .form-group {
            margin-bottom: 1rem;
        }

        .form-group label {
            display: block;
            font-size: 0.875rem;
            font-weight: 500;
            color: var(--ds-text);
            margin-bottom: 0.375rem;
        }

        .form-group small {
            font-size: 0.75rem;
            color: var(--ds-text-muted);
            margin-top: 0.25rem;
            display: block;
        }

        /* Buttons */
        .btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            padding: 0.625rem 1rem;
            font-family: var(--ds-font-sans);
            font-size: 0.875rem;
            font-weight: 500;
            border: none;
            border-radius: var(--ds-radius-md);
            cursor: pointer;
            transition: all 0.15s ease;
            text-decoration: none;
            white-space: nowrap;
        }

        .btn:disabled {
            opacity: 0.5;
            cursor: not-allowed;
        }

        .btn--primary {
            background: var(--ds-primary);
            color: white;
        }

        .btn--primary:hover:not(:disabled) {
            background: var(--ds-primary-hover);
        }

        .btn--secondary {
            background: var(--ds-primary-light);
            color: var(--ds-primary);
        }

        .btn--secondary:hover:not(:disabled) {
            background: var(--ds-primary);
            color: white;
        }

        .btn--success {
            background: var(--ds-success);
            color: white;
        }

        .btn--success:hover:not(:disabled) {
            background: #059669;
        }

        .btn--danger {
            background: var(--ds-danger);
            color: white;
        }

        .btn--danger:hover:not(:disabled) {
            background: #DC2626;
        }

        .btn--outline {
            background: transparent;
            border: 1px solid var(--ds-border);
            color: var(--ds-text);
        }

        .btn--outline:hover:not(:disabled) {
            background: var(--ds-surface);
            border-color: var(--ds-text-muted);
        }

        .btn--sm {
            padding: 0.375rem 0.75rem;
            font-size: 0.75rem;
        }

        .btn--lg {
            padding: 0.875rem 1.5rem;
            font-size: 1rem;
        }

        /* Table */
        .table-wrap {
            overflow-x: auto;
        }

        table {
            width: 100%;
            border-collapse: collapse;
            font-size: 0.875rem;
            table-layout: fixed;
        }

        th, td {
            padding: 0.75rem 1rem;
            text-align: left;
            border-bottom: 1px solid var(--ds-border);
        }

        th {
            background: var(--ds-surface);
            font-weight: 600;
            color: var(--ds-text-light);
            font-size: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        /* Sortable column headers */
        th.sortable {
            cursor: pointer;
            user-select: none;
            transition: background-color 0.15s ease;
        }

        th.sortable:hover {
            background: var(--ds-border);
            color: var(--ds-text);
        }

        th.sortable .sort-indicator {
            display: inline-block;
            margin-left: 4px;
            opacity: 0.3;
            font-size: 0.65rem;
        }

        th.sortable .sort-indicator::after {
            content: '▲▼';
        }

        th.sortable.sort-asc .sort-indicator {
            opacity: 1;
        }

        th.sortable.sort-asc .sort-indicator::after {
            content: '▲';
        }

        th.sortable.sort-desc .sort-indicator {
            opacity: 1;
        }

        th.sortable.sort-desc .sort-indicator::after {
            content: '▼';
        }

        tr:hover td {
            background: var(--ds-surface);
        }

        /* TLD Table - Dynamic columns, widths set via inline styles */
        #tldsBody td:first-child {
            width: 40px;
            text-align: center;
        }

        /* Truncate long text in table cells */
        #tldsBody td .truncate {
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
            text-overflow: ellipsis;
            max-width: 300px;
            line-height: 1.4;
        }

        /* TLD table with dynamic columns */
        #tldTable {
            table-layout: auto;
        }

        #tldTable th,
        #tldTable td {
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        #tldTable td .truncate {
            white-space: normal;
        }

        /* Emoji Picker Button and Popup */
        .emoji-picker-btn {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 32px;
            height: 32px;
            border: 1px solid var(--ds-border);
            border-radius: 6px;
            background: white;
            cursor: pointer;
            transition: all 0.15s ease;
            position: relative;
        }

        .emoji-picker-btn:hover {
            background: var(--ds-primary-light);
            border-color: var(--ds-primary);
        }

        .emoji-picker-icon {
            font-size: 1.25rem;
            font-family: "Apple Color Emoji", "Segoe UI Emoji", sans-serif;
        }

        .emoji-picker-popup {
            position: absolute;
            top: 40px;
            left: 0;
            z-index: 1000;
            width: 320px;
            max-height: 400px;
            background: white;
            border: 1px solid var(--ds-border);
            border-radius: 8px;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
            overflow: hidden;
        }

        .emoji-picker-popup__header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 8px 12px;
            background: var(--ds-surface);
            border-bottom: 1px solid var(--ds-border);
            font-size: 0.85rem;
            font-weight: 600;
        }

        .emoji-picker-popup__close {
            background: none;
            border: none;
            font-size: 1.25rem;
            cursor: pointer;
            color: var(--ds-text-light);
            line-height: 1;
        }

        .emoji-picker-popup__close:hover {
            color: var(--ds-danger);
        }

        .emoji-picker-popup__grid {
            display: grid;
            grid-template-columns: repeat(8, 1fr);
            gap: 4px;
            padding: 12px;
            max-height: 340px;
            overflow-y: auto;
        }

        .emoji-picker-popup__item {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 32px;
            height: 32px;
            font-size: 1.25rem;
            font-family: "Apple Color Emoji", "Segoe UI Emoji", sans-serif;
            border: none;
            background: none;
            border-radius: 4px;
            cursor: pointer;
            transition: background 0.1s ease;
        }

        .emoji-picker-popup__item:hover {
            background: var(--ds-primary-light);
        }

        .tld-unicode {
            font-size: 1.25rem;
            /* Use Inter for text/numbers, emoji fonts for emojis */
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", "Apple Color Emoji", "Segoe UI Emoji", sans-serif;
            font-feature-settings: 'tnum' on, 'lnum' on; /* Tabular, lining numbers */
        }

        /* Badges */
        .badge {
            display: inline-flex;
            align-items: center;
            padding: 0.25rem 0.625rem;
            font-size: 0.75rem;
            font-weight: 500;
            border-radius: 9999px;
        }

        .badge--forsale { background: var(--ds-success-light); color: #065F46; }
        .badge--hmcgown { background: var(--ds-primary-light); color: var(--ds-primary); }
        .badge--tpbrands { background: var(--ds-warning-light); color: #92400E; }
        .badge--test { background: #F3E8FF; color: #6B21A8; }
        .badge--active { background: var(--ds-success-light); color: #065F46; }
        .badge--inactive { background: var(--ds-danger-light); color: #991B1B; }

        /* Pagination */
        .pagination {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            padding: 1rem;
            border-top: 1px solid var(--ds-border);
        }

        .pagination__info {
            color: var(--ds-text-light);
            font-size: 0.875rem;
            margin: 0 1rem;
        }

        /* Modal */
        .modal-overlay {
            position: fixed;
            inset: 0;
            background: rgba(0, 0, 0, 0.5);
            display: none;
            align-items: center;
            justify-content: center;
            z-index: 1000;
            padding: 1rem;
        }

        .modal-overlay.active { display: flex; }

        .modal {
            background: var(--ds-bg);
            border-radius: var(--ds-radius-xl);
            width: 100%;
            max-width: 600px;
            max-height: 90vh;
            overflow: hidden;
            display: flex;
            flex-direction: column;
            box-shadow: var(--ds-shadow-lg);
        }

        .modal--lg { max-width: 800px; }
        .modal--xl { max-width: 1100px; }

        .modal__footer {
            padding: 1rem 1.5rem;
            border-top: 1px solid var(--ds-border);
            display: flex;
            justify-content: flex-end;
            gap: 0.75rem;
            background: var(--ds-surface);
        }

        .modal__header {
            padding: 1.25rem 1.5rem;
            border-bottom: 1px solid var(--ds-border);
            display: flex;
            align-items: center;
            justify-content: space-between;
        }

        .modal__title {
            font-size: 1.125rem;
            font-weight: 600;
        }

        .modal__close {
            background: none;
            border: none;
            font-size: 1.5rem;
            color: var(--ds-text-muted);
            cursor: pointer;
            line-height: 1;
            padding: 0.25rem;
        }

        .modal__close:hover { color: var(--ds-text); }

        .modal__body {
            padding: 1.5rem;
            overflow-y: auto;
            flex: 1;
        }

        .modal__footer {
            padding: 1rem 1.5rem;
            border-top: 1px solid var(--ds-border);
            display: flex;
            justify-content: flex-end;
            gap: 0.75rem;
            background: var(--ds-surface);
        }

        /* Modal with backdrop pattern */
        .modal[style*="display: flex"],
        .modal.active {
            position: fixed;
            inset: 0;
            display: flex !important;
            align-items: center;
            justify-content: center;
            z-index: 1000;
            padding: 1rem;
        }

        .modal__backdrop {
            position: absolute;
            inset: 0;
            background: rgba(0, 0, 0, 0.5);
        }

        .modal__content {
            position: relative;
            background: var(--ds-bg);
            border-radius: var(--ds-radius-xl);
            width: 100%;
            max-width: 600px;
            max-height: 90vh;
            overflow: hidden;
            display: flex;
            flex-direction: column;
            box-shadow: var(--ds-shadow-lg);
            z-index: 1;
        }

        /* Toast */
        .toast {
            position: fixed;
            bottom: 1.5rem;
            right: 1.5rem;
            padding: 1rem 1.5rem;
            border-radius: var(--ds-radius-lg);
            color: white;
            font-weight: 500;
            font-size: 0.875rem;
            transform: translateY(100px);
            opacity: 0;
            transition: all 0.3s ease;
            z-index: 2000;
            box-shadow: var(--ds-shadow-lg);
            max-width: 400px;
        }

        .toast.show { transform: translateY(0); opacity: 1; }
        .toast.success { background: var(--ds-success); }
        .toast.error { background: var(--ds-danger); }
        .toast.warning { background: var(--ds-warning); }

        /* Loading */
        .loading {
            text-align: center;
            padding: 3rem;
            color: var(--ds-text-light);
        }

        .spinner {
            width: 32px;
            height: 32px;
            border: 3px solid var(--ds-border);
            border-top-color: var(--ds-primary);
            border-radius: 50%;
            animation: spin 0.8s linear infinite;
            margin: 0 auto 1rem;
        }

        @keyframes spin { to { transform: rotate(360deg); } }

        /* Empty State */
        .empty-state {
            text-align: center;
            padding: 3rem;
            color: var(--ds-text-light);
        }

        .empty-state__icon {
            font-size: 3rem;
            margin-bottom: 1rem;
            opacity: 0.5;
        }

        /* Truncate - wrap description to 2 lines */
        .truncate {
            max-width: 300px;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: normal;
            line-height: 1.4;
        }

        /* Tabs within panels */
        .tabs {
            display: flex;
            gap: 0.25rem;
            padding: 0 1.5rem;
            border-bottom: 1px solid var(--ds-border);
            background: var(--ds-surface);
        }

        .tab {
            padding: 0.75rem 1rem;
            font-size: 0.875rem;
            font-weight: 500;
            color: var(--ds-text-light);
            background: none;
            border: none;
            cursor: pointer;
            border-bottom: 2px solid transparent;
            margin-bottom: -1px;
            transition: all 0.15s ease;
        }

        .tab:hover { color: var(--ds-text); }

        .tab.active {
            color: var(--ds-primary);
            border-bottom-color: var(--ds-primary);
        }

        /* Code block */
        .code {
            font-family: 'SF Mono', 'Fira Code', monospace;
            font-size: 0.8125rem;
            background: var(--ds-surface);
            padding: 0.25rem 0.5rem;
            border-radius: var(--ds-radius-sm);
            color: var(--ds-text);
        }

        /* Grid layouts */
        .grid-2 {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 1rem;
        }

        @media (max-width: 768px) {
            .grid-2 { grid-template-columns: 1fr; }
            .sidebar { display: none; }
            .layout { flex-direction: column; }
        }

        /* Action buttons in table */
        .action-btns {
            display: flex;
            gap: 0.375rem;
        }

        /* History timeline */
        .timeline {
            position: relative;
            padding-left: 1.5rem;
        }

        .timeline::before {
            content: '';
            position: absolute;
            left: 0.375rem;
            top: 0;
            bottom: 0;
            width: 2px;
            background: var(--ds-border);
        }

        .timeline__item {
            position: relative;
            padding-bottom: 1.5rem;
        }

        .timeline__item::before {
            content: '';
            position: absolute;
            left: -1.5rem;
            top: 0.25rem;
            width: 10px;
            height: 10px;
            border-radius: 50%;
            background: var(--ds-primary);
            border: 2px solid var(--ds-bg);
        }

        .timeline__date {
            font-size: 0.75rem;
            color: var(--ds-text-muted);
            margin-bottom: 0.25rem;
        }

        .timeline__action {
            font-weight: 500;
            margin-bottom: 0.25rem;
        }

        .timeline__details {
            font-size: 0.875rem;
            color: var(--ds-text-light);
        }

        /* Dashboard Sections */
        .dashboard-section {
            background: var(--ds-bg);
            border: 1px solid var(--ds-border);
            border-radius: var(--ds-radius-lg);
            margin-bottom: 1.5rem;
        }

        .dashboard-section__header {
            padding: 1rem 1.5rem;
            border-bottom: 1px solid var(--ds-border);
            display: flex;
            align-items: center;
            justify-content: space-between;
        }

        .dashboard-section__title {
            font-size: 1rem;
            font-weight: 600;
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }

        .dashboard-section__body {
            padding: 1.5rem;
        }

        /* Progress Bar */
        .progress-bar {
            height: 8px;
            background: var(--ds-surface);
            border-radius: 4px;
            overflow: hidden;
            flex: 1;
        }

        .progress-bar__fill {
            height: 100%;
            border-radius: 4px;
            transition: width 0.5s ease;
        }

        .progress-bar__fill--primary { background: var(--ds-primary); }
        .progress-bar__fill--success { background: var(--ds-success); }
        .progress-bar__fill--warning { background: var(--ds-warning); }
        .progress-bar__fill--danger { background: var(--ds-danger); }

        /* Group Breakdown Row */
        .group-row {
            display: flex;
            align-items: center;
            gap: 1rem;
            padding: 0.75rem 0;
            border-bottom: 1px solid var(--ds-border);
        }

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

        .group-row__name {
            width: 100px;
            font-weight: 500;
        }

        .group-row__count {
            width: 80px;
            text-align: right;
            font-weight: 600;
        }

        .group-row__percent {
            width: 60px;
            text-align: right;
            color: var(--ds-text-muted);
            font-size: 0.875rem;
        }

        /* Quality Score Circle */
        .quality-score {
            display: flex;
            align-items: center;
            gap: 1.5rem;
        }

        .quality-score__circle {
            width: 100px;
            height: 100px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.75rem;
            font-weight: 700;
            color: white;
            flex-shrink: 0;
        }

        .quality-score__circle--good { background: linear-gradient(135deg, var(--ds-success) 0%, #059669 100%); }
        .quality-score__circle--warning { background: linear-gradient(135deg, var(--ds-warning) 0%, #D97706 100%); }
        .quality-score__circle--danger { background: linear-gradient(135deg, var(--ds-danger) 0%, #DC2626 100%); }

        .quality-score__details { flex: 1; }

        .quality-item {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            padding: 0.375rem 0;
            font-size: 0.875rem;
        }

        .quality-item__icon {
            width: 18px;
            text-align: center;
        }

        .quality-item--good .quality-item__icon { color: var(--ds-success); }
        .quality-item--warning .quality-item__icon { color: var(--ds-warning); }

        /* Activity Feed */
        .activity-item {
            display: flex;
            gap: 1rem;
            padding: 0.75rem 0;
            border-bottom: 1px solid var(--ds-border);
        }

        .activity-item:last-child { border-bottom: none; }

        .activity-item__time {
            width: 80px;
            color: var(--ds-text-muted);
            font-size: 0.75rem;
            flex-shrink: 0;
        }

        .activity-item__user {
            width: 120px;
            font-weight: 500;
            font-size: 0.875rem;
            flex-shrink: 0;
        }

        .activity-item__action {
            flex: 1;
            font-size: 0.875rem;
            color: var(--ds-text-light);
        }

        /* Stats Table */
        .stats-table {
            width: 100%;
        }

        .stats-table th {
            text-align: left;
            padding: 0.75rem;
            background: var(--ds-surface);
            font-size: 0.75rem;
            font-weight: 600;
            color: var(--ds-text-muted);
            text-transform: uppercase;
        }

        .stats-table td {
            padding: 0.75rem;
            border-bottom: 1px solid var(--ds-border);
        }

        .stats-table td.value {
            font-weight: 600;
            text-align: right;
        }

        .stats-table td.status {
            text-align: center;
        }

        .check-pass { color: var(--ds-success); }
        .check-fail { color: var(--ds-danger); }

        /* Characteristic Grid */
        .char-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
            gap: 1rem;
        }

        .char-item {
            background: var(--ds-surface);
            padding: 1rem;
            border-radius: var(--ds-radius-md);
        }

        .char-item__label {
            font-size: 0.75rem;
            color: var(--ds-text-muted);
            margin-bottom: 0.25rem;
        }

        .char-item__value {
            font-size: 1.25rem;
            font-weight: 600;
        }

        .char-item__percent {
            font-size: 0.875rem;
            color: var(--ds-text-light);
        }

        /* Dashboard last updated */
        .dashboard-meta {
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-bottom: 1rem;
            color: var(--ds-text-muted);
            font-size: 0.875rem;
        }

        /* File upload */
        .file-drop {
            border: 2px dashed var(--ds-border);
            border-radius: var(--ds-radius-lg);
            padding: 2rem;
            text-align: center;
            transition: all 0.2s ease;
            cursor: pointer;
        }

        .file-drop:hover, .file-drop.dragover {
            border-color: var(--ds-primary);
            background: var(--ds-primary-light);
        }

        .file-drop__icon {
            font-size: 2rem;
            margin-bottom: 0.5rem;
        }

        .file-drop input[type="file"] {
            display: none;
        }

        /* Responsive mobile menu */
        .mobile-menu-btn {
            display: none;
            background: none;
            border: none;
            color: white;
            font-size: 1.5rem;
            cursor: pointer;
        }

        @media (max-width: 768px) {
            .mobile-menu-btn { display: block; }
        }

        /* Login Screen */
        .login-screen {
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            background: linear-gradient(135deg, var(--ds-primary) 0%, var(--ds-secondary) 100%);
            padding: 1rem;
        }

        .login-card {
            background: var(--ds-bg);
            border-radius: var(--ds-radius-xl);
            box-shadow: var(--ds-shadow-lg);
            padding: 2.5rem;
            width: 100%;
            max-width: 420px;
        }

        .login-card__logo {
            width: 64px;
            height: 64px;
            background: linear-gradient(135deg, var(--ds-primary) 0%, var(--ds-secondary) 100%);
            border-radius: var(--ds-radius-lg);
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 1.5rem;
            color: white;
            font-weight: 700;
            font-size: 1.5rem;
        }

        .login-card__title {
            text-align: center;
            font-size: 1.5rem;
            font-weight: 700;
            color: var(--ds-text);
            margin-bottom: 0.5rem;
        }

        .login-card__subtitle {
            text-align: center;
            color: var(--ds-text-light);
            font-size: 0.875rem;
            margin-bottom: 2rem;
        }

        .login-card__error {
            background: var(--ds-danger-light);
            border: 1px solid var(--ds-danger);
            color: #991B1B;
            padding: 0.75rem 1rem;
            border-radius: var(--ds-radius-md);
            font-size: 0.875rem;
            margin-bottom: 1rem;
            display: none;
        }

        .login-card__error.show {
            display: block;
        }

        .login-card .form-group {
            margin-bottom: 1.25rem;
        }

        .login-card .input {
            padding: 0.875rem 1rem;
        }

        .login-card .btn--primary {
            width: 100%;
            padding: 0.875rem 1.5rem;
            font-size: 1rem;
        }

        .login-card__footer {
            text-align: center;
            margin-top: 1.5rem;
            font-size: 0.75rem;
            color: var(--ds-text-muted);
        }

        .app-container {
            display: none;
        }

        .app-container.authenticated {
            display: block;
        }

        .login-screen.hidden {
            display: none;
        }

        /* User menu in header */
        .header__user {
            display: flex;
            align-items: center;
            gap: 1rem;
        }

        .header__user-info {
            text-align: right;
            font-size: 0.875rem;
        }

        .header__user-email {
            opacity: 0.9;
        }

        .header__logout {
            background: rgba(255,255,255,0.15);
            border: 1px solid rgba(255,255,255,0.3);
            color: white;
            padding: 0.5rem 1rem;
            border-radius: var(--ds-radius-md);
            cursor: pointer;
            font-size: 0.875rem;
            transition: all 0.15s ease;
        }

        .header__logout:hover {
            background: rgba(255,255,255,0.25);
        }

        /* ========== TLD List Panel Styles ========== */
        .tld-list-panel {
            position: fixed;
            top: 0;
            right: -420px;
            width: 400px;
            height: 100vh;
            background: var(--ds-bg);
            box-shadow: -4px 0 24px rgba(0, 0, 0, 0.15);
            z-index: 1100;
            display: flex;
            flex-direction: column;
            transition: right 0.3s ease;
        }

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

        .tld-list-panel__backdrop {
            position: fixed;
            inset: 0;
            background: rgba(0, 0, 0, 0.3);
            z-index: 1099;
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.3s ease, visibility 0.3s ease;
        }

        .tld-list-panel__backdrop.open {
            opacity: 1;
            visibility: visible;
        }

        .tld-list-panel__header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 1rem 1.25rem;
            border-bottom: 1px solid var(--ds-border);
            background: linear-gradient(135deg, var(--ds-primary) 0%, var(--ds-secondary) 100%);
            color: white;
        }

        .tld-list-panel__header h3 {
            font-size: 1.125rem;
            font-weight: 600;
            margin: 0;
        }

        .tld-list-panel__close {
            background: rgba(255, 255, 255, 0.2);
            border: none;
            color: white;
            font-size: 1.5rem;
            width: 32px;
            height: 32px;
            border-radius: var(--ds-radius);
            cursor: pointer;
            line-height: 1;
        }

        .tld-list-panel__close:hover {
            background: rgba(255, 255, 255, 0.3);
        }

        .tld-list-panel__stats {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 0.75rem 1.25rem;
            background: var(--ds-surface);
            border-bottom: 1px solid var(--ds-border);
            font-size: 0.875rem;
            font-weight: 500;
        }

        .tld-list-panel__toolbar {
            padding: 0.75rem 1.25rem;
            border-bottom: 1px solid var(--ds-border);
        }

        .tld-list-panel__toolbar .btn {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
        }

        .tld-list-panel__items {
            flex: 1;
            overflow-y: auto;
            padding: 0.75rem;
        }

        .tld-list-panel__empty {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding: 3rem 1rem;
            color: var(--ds-text-muted);
            text-align: center;
        }

        .tld-list-panel__empty svg {
            stroke: var(--ds-text-muted);
            margin-bottom: 1rem;
        }

        .tld-list-panel__item {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            padding: 0.625rem 0.75rem;
            background: var(--ds-bg);
            border: 1px solid var(--ds-border);
            border-radius: var(--ds-radius);
            margin-bottom: 0.5rem;
        }

        .tld-list-panel__item:hover {
            border-color: var(--ds-primary);
        }

        .tld-list-panel__item-info {
            flex: 1;
            min-width: 0;
        }

        .tld-list-panel__item-name {
            font-weight: 600;
            font-size: 1rem;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .tld-list-panel__item-meta {
            font-size: 0.75rem;
            color: var(--ds-text-muted);
        }

        .tld-list-panel__item-remove {
            background: none;
            border: none;
            color: var(--ds-text-muted);
            cursor: pointer;
            padding: 0.25rem;
        }

        .tld-list-panel__item-remove:hover {
            color: var(--ds-danger);
        }

        .tld-list-panel__actions {
            padding: 1rem 1.25rem;
            border-top: 1px solid var(--ds-border);
            background: var(--ds-surface);
            max-height: 50vh;
            overflow-y: auto;
        }

        .tld-list-panel__actions h4 {
            font-size: 0.875rem;
            font-weight: 600;
            margin: 0 0 0.75rem;
            color: var(--ds-text);
        }

        .tld-list-panel__action-group {
            margin-bottom: 1rem;
            padding-bottom: 1rem;
            border-bottom: 1px solid var(--ds-border);
        }

        .tld-list-panel__action-group:last-child {
            margin-bottom: 0;
            padding-bottom: 0;
            border-bottom: none;
        }

        .tld-list-panel__action-group > label {
            font-size: 0.75rem;
            font-weight: 600;
            color: var(--ds-text-muted);
            text-transform: uppercase;
            letter-spacing: 0.05em;
            display: block;
            margin-bottom: 0.5rem;
        }

        .tld-list-panel__action-row {
            display: flex;
            gap: 0.5rem;
        }

        .tld-list-panel__action-row select {
            flex: 1;
        }

        /* ========== Keywords & Descriptions Tool Styles ========== */
        .keywords-tool,
        .descriptions-tool {
            background: var(--ds-bg);
            border-radius: var(--ds-radius-lg);
            padding: 1.5rem;
        }

        .keywords-tool__header,
        .descriptions-tool__header {
            margin-bottom: 1.5rem;
        }

        .keywords-tool__header h3,
        .descriptions-tool__header h3 {
            font-size: 1.125rem;
            font-weight: 600;
            margin-bottom: 0.25rem;
        }

        .keywords-tool__mode,
        .descriptions-tool__mode {
            background: var(--ds-surface);
            border-radius: var(--ds-radius-md);
            padding: 1rem;
            margin-bottom: 1.5rem;
        }

        .keywords-tool__mode > label,
        .descriptions-tool__mode > label {
            font-size: 0.875rem;
            font-weight: 500;
            display: block;
            margin-bottom: 0.75rem;
        }

        .keywords-tool__mode-btns,
        .descriptions-tool__mode-btns {
            display: flex;
            gap: 0.5rem;
        }

        .keywords-tool__mode-btns .btn.active,
        .descriptions-tool__mode-btns .btn.active {
            background: var(--ds-primary);
            color: white;
            border-color: var(--ds-primary);
        }

        .keywords-tool__tlds-mode,
        .keywords-tool__category-mode,
        .descriptions-tool__tlds-mode,
        .descriptions-tool__category-mode {
            background: var(--ds-surface);
            border-radius: var(--ds-radius-md);
            padding: 1rem;
            margin-bottom: 1rem;
        }

        .keywords-tool__options,
        .descriptions-tool__options {
            background: var(--ds-surface);
            border-radius: var(--ds-radius-md);
            padding: 1rem;
            margin-bottom: 1.5rem;
        }

        .keywords-tool__row,
        .descriptions-tool__row {
            display: flex;
            gap: 1rem;
            flex-wrap: wrap;
        }

        .keywords-tool__row .form-group,
        .descriptions-tool__row .form-group {
            flex: 1;
            min-width: 180px;
        }

        .keywords-tool__actions,
        .descriptions-tool__actions {
            margin-bottom: 1.5rem;
        }

        .keywords-tool__results,
        .descriptions-tool__results {
            background: var(--ds-surface);
            border-radius: var(--ds-radius-md);
            padding: 1rem;
            border: 2px solid var(--ds-success);
        }

        .keywords-tool__results-header,
        .descriptions-tool__results-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 1rem;
        }

        .keywords-tool__results-header h4,
        .descriptions-tool__results-header h4 {
            font-size: 1rem;
            font-weight: 600;
            margin: 0;
        }

        .keywords-tool__results-actions,
        .descriptions-tool__results-actions {
            display: flex;
            gap: 0.5rem;
        }

        .keywords-tool__results-list {
            display: flex;
            flex-wrap: wrap;
            gap: 0.5rem;
        }

        .keyword-tag {
            background: var(--ds-primary-light);
            color: var(--ds-primary);
            padding: 0.375rem 0.75rem;
            border-radius: var(--ds-radius);
            font-size: 0.875rem;
            font-weight: 500;
            cursor: pointer;
            transition: all 0.15s ease;
        }

        .keyword-tag:hover {
            background: var(--ds-primary);
            color: white;
        }

        .keyword-tag.selected {
            background: var(--ds-primary);
            color: white;
        }

        .descriptions-tool__results-list {
            display: flex;
            flex-direction: column;
            gap: 1rem;
        }

        .description-item {
            background: var(--ds-bg);
            border: 1px solid var(--ds-border);
            border-radius: var(--ds-radius);
            padding: 1rem;
        }

        .description-item__header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 0.5rem;
        }

        .description-item__tld {
            font-weight: 600;
            font-size: 1.125rem;
        }

        .description-item__type {
            font-size: 0.75rem;
            color: var(--ds-text-muted);
            text-transform: uppercase;
        }

        .description-item__short {
            font-size: 0.875rem;
            color: var(--ds-text);
            margin-bottom: 0.5rem;
        }

        .description-item__long {
            font-size: 0.813rem;
            color: var(--ds-text-light);
            line-height: 1.5;
        }

        /* ========== Search to Category Tool Styles ========== */
        .search-tool {
            background: var(--ds-bg);
            border-radius: var(--ds-radius-lg);
            padding: 1.5rem;
        }

        .search-tool__header {
            margin-bottom: 1.5rem;
        }

        .search-tool__header h3 {
            font-size: 1.125rem;
            font-weight: 600;
            margin-bottom: 0.25rem;
        }

        .search-tool__form {
            background: var(--ds-surface);
            border-radius: var(--ds-radius-md);
            padding: 1.25rem;
            margin-bottom: 1.5rem;
        }

        .search-tool__row {
            display: flex;
            gap: 1rem;
            margin-bottom: 1rem;
            flex-wrap: wrap;
        }

        .search-tool__row:last-child {
            margin-bottom: 0;
        }

        .search-tool__input-group {
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
        }

        .search-tool__input-group label {
            font-size: 0.813rem;
            font-weight: 500;
            color: var(--ds-text);
        }

        .checkbox-group {
            display: flex;
            flex-wrap: wrap;
            gap: 1rem;
        }

        .checkbox {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 0.875rem;
            cursor: pointer;
        }

        .checkbox input[type="checkbox"] {
            width: 16px;
            height: 16px;
            accent-color: var(--ds-primary);
        }

        .search-tool__actions {
            margin-top: 1.25rem;
            display: flex;
            gap: 0.75rem;
        }

        .search-tool__results {
            background: var(--ds-surface);
            border-radius: var(--ds-radius-md);
            padding: 1.25rem;
            margin-bottom: 1.5rem;
        }

        .search-tool__results-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 1rem;
            flex-wrap: wrap;
            gap: 1rem;
        }

        .search-tool__results-info {
            display: flex;
            align-items: center;
            gap: 1rem;
            flex-wrap: wrap;
        }

        .search-tool__results-info h4 {
            font-size: 1rem;
            font-weight: 600;
        }

        .search-tool__selection {
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }

        .search-tool__score-filter {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 0.875rem;
        }

        .search-tool__score-filter input[type="range"] {
            width: 150px;
        }

        .search-tool__results-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
            gap: 0.75rem;
            max-height: 400px;
            overflow-y: auto;
        }

        .search-result-card {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            background: var(--ds-bg);
            border: 1px solid var(--ds-border);
            border-radius: var(--ds-radius);
            padding: 0.75rem;
            cursor: pointer;
            transition: all 0.15s ease;
        }

        .search-result-card:hover {
            border-color: var(--ds-primary);
            background: var(--ds-primary-light);
        }

        .search-result-card.selected {
            border-color: var(--ds-primary);
            background: var(--ds-primary-light);
        }

        .search-result-card input[type="checkbox"] {
            width: 18px;
            height: 18px;
            accent-color: var(--ds-primary);
        }

        .search-result-card__info {
            flex: 1;
            min-width: 0;
        }

        .search-result-card__tld {
            font-weight: 600;
            font-size: 0.938rem;
        }

        .search-result-card__desc {
            font-size: 0.75rem;
            color: var(--ds-text-light);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .search-result-card__score {
            font-size: 0.75rem;
            font-weight: 600;
            background: var(--ds-success-light);
            color: var(--ds-success);
            padding: 0.25rem 0.5rem;
            border-radius: var(--ds-radius-sm);
        }

        .search-tool__results-loading,
        .search-tool__results-empty {
            text-align: center;
            padding: 2rem;
            color: var(--ds-text-light);
        }

        .search-tool__bulk-actions {
            background: var(--ds-surface);
            border-radius: var(--ds-radius-md);
            padding: 1.25rem;
            border: 2px solid var(--ds-primary-light);
        }

        .search-tool__bulk-actions h4 {
            font-size: 1rem;
            margin-bottom: 1rem;
        }

        .search-tool__action-buttons {
            display: flex;
            flex-wrap: wrap;
            gap: 0.75rem;
            align-items: center;
        }

        .search-tool__add-existing {
            display: flex;
            gap: 0.5rem;
            align-items: center;
        }

        .search-tool__add-existing select {
            width: 200px;
        }

        /* Type Filter Buttons (like shopnet.domains homepage) */
        .stc-type-filters {
            display: flex;
            gap: 0.25rem;
            flex-wrap: wrap;
        }

        .stc-filter-btn {
            padding: 0.375rem 0.75rem;
            font-size: 0.813rem;
            font-weight: 500;
            border: 1px solid var(--ds-border);
            background: var(--ds-bg);
            border-radius: var(--ds-radius);
            cursor: pointer;
            transition: all 0.15s ease;
            color: var(--ds-text);
        }

        .stc-filter-btn:hover {
            border-color: var(--ds-primary);
            background: var(--ds-primary-light);
        }

        .stc-filter-btn--active {
            background: var(--ds-primary);
            color: white;
            border-color: var(--ds-primary);
        }

        .stc-filter-btn--active:hover {
            background: var(--ds-primary-hover);
            border-color: var(--ds-primary-hover);
        }

        .stc-tld-count {
            font-size: 0.938rem;
            font-weight: 600;
            color: var(--ds-text);
            padding: 0.5rem 1rem;
            background: var(--ds-primary-light);
            border-radius: var(--ds-radius);
            margin-left: auto;
        }

        .search-tool__actions {
            align-items: center;
        }

        /* ========== Selection List Styles ========== */
        .search-tool__selection-list {
            background: var(--ds-surface);
            border-radius: var(--ds-radius-md);
            padding: 1.25rem;
            margin-top: 1.5rem;
            border: 2px solid var(--ds-primary);
        }

        .selection-list__header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 1rem;
            padding-bottom: 0.75rem;
            border-bottom: 1px solid var(--ds-border);
        }

        .selection-list__header h4 {
            font-size: 1rem;
            font-weight: 600;
            color: var(--ds-primary);
        }

        .selection-list__actions {
            display: flex;
            gap: 0.5rem;
        }

        .selection-list__content {
            margin-bottom: 1rem;
        }

        .selection-list__items {
            display: flex;
            flex-wrap: wrap;
            gap: 0.5rem;
            max-height: 200px;
            overflow-y: auto;
            padding: 0.5rem;
            background: var(--ds-bg);
            border-radius: var(--ds-radius);
        }

        .selection-list__item {
            display: inline-flex;
            align-items: center;
            gap: 0.375rem;
            padding: 0.375rem 0.625rem;
            background: var(--ds-primary-light);
            border: 1px solid var(--ds-primary);
            border-radius: var(--ds-radius);
            font-size: 0.813rem;
            font-weight: 500;
        }

        .selection-list__item-remove {
            cursor: pointer;
            opacity: 0.7;
            transition: opacity 0.15s;
            display: flex;
            align-items: center;
        }

        .selection-list__item-remove:hover {
            opacity: 1;
        }

        .selection-list__bulk-actions {
            padding-top: 1rem;
            border-top: 1px solid var(--ds-border);
        }

        .selection-list__bulk-actions h5 {
            font-size: 0.875rem;
            font-weight: 600;
            margin-bottom: 0.75rem;
            color: var(--ds-text);
        }

        .bulk-action-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 1rem;
        }

        .bulk-action-group {
            background: var(--ds-bg);
            padding: 0.875rem;
            border-radius: var(--ds-radius);
        }

        .bulk-action-group > label {
            display: block;
            font-size: 0.75rem;
            font-weight: 600;
            color: var(--ds-text-light);
            text-transform: uppercase;
            letter-spacing: 0.5px;
            margin-bottom: 0.5rem;
        }

        .bulk-action-row {
            display: flex;
            gap: 0.5rem;
            align-items: center;
            flex-wrap: wrap;
        }

        .bulk-action-row select {
            min-width: 140px;
        }

        /* ========== Category TLD Viewer Styles ========== */
        .cat-tld-viewer__search {
            background: var(--ds-surface);
            border-radius: var(--ds-radius-md);
            padding: 1rem;
            margin-bottom: 1rem;
        }

        .cat-tld-viewer__row {
            display: flex;
            gap: 1rem;
            flex-wrap: wrap;
            margin-bottom: 0.75rem;
        }

        .cat-tld-viewer__input-group {
            display: flex;
            flex-direction: column;
            gap: 0.375rem;
        }

        .cat-tld-viewer__input-group label {
            font-size: 0.75rem;
            font-weight: 500;
            color: var(--ds-text-light);
        }

        .cat-tld-viewer__stats {
            display: flex;
            gap: 1rem;
            font-size: 0.875rem;
            font-weight: 500;
        }

        .cat-tld-viewer__stats span:first-child {
            color: var(--ds-primary);
        }

        .cat-tld-viewer__actions {
            display: flex;
            gap: 0.5rem;
            align-items: center;
            flex-wrap: wrap;
            margin-bottom: 1rem;
            padding: 0.75rem;
            background: var(--ds-primary-light);
            border-radius: var(--ds-radius);
        }

        .cat-tld-viewer__actions .divider {
            color: var(--ds-border);
            margin: 0 0.25rem;
        }

        .cat-tld-viewer__bulk-update {
            display: flex;
            gap: 0.5rem;
            align-items: center;
        }

        .cat-tld-viewer__grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
            gap: 0.5rem;
            max-height: 450px;
            overflow-y: auto;
            padding: 0.5rem;
            background: var(--ds-bg);
            border-radius: var(--ds-radius);
        }

        .cat-tld-item {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            padding: 0.5rem 0.75rem;
            background: var(--ds-surface);
            border: 1px solid var(--ds-border);
            border-radius: var(--ds-radius);
            cursor: pointer;
            transition: all 0.15s ease;
        }

        .cat-tld-item:hover {
            border-color: var(--ds-primary);
            background: var(--ds-primary-light);
        }

        .cat-tld-item.selected {
            border-color: var(--ds-primary);
            background: var(--ds-primary-light);
        }

        .cat-tld-item input[type="checkbox"] {
            width: 16px;
            height: 16px;
            accent-color: var(--ds-primary);
        }

        .cat-tld-item__info {
            flex: 1;
            min-width: 0;
        }

        .cat-tld-item__name {
            font-weight: 600;
            font-size: 0.875rem;
        }

        .cat-tld-item__score {
            font-size: 0.688rem;
            color: var(--ds-text-light);
        }

        /* ========== TLD Management Search Tool Styles ========== */
        .tld-search-tool {
            background: #E8F4FD;
            border: 1px solid #B8DCF5;
            border-radius: var(--ds-radius-md);
            padding: 1.25rem;
            margin-bottom: 1rem;
        }

        .tld-search-tool__header-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-bottom: 1rem;
            gap: 1rem;
        }

        .tld-search-tool__header {
            font-size: 1rem;
            font-weight: 600;
            color: var(--ds-text);
            margin: 0;
        }

        .tld-search-tool__header-right {
            display: flex;
            align-items: center;
            gap: 1rem;
        }

        .tld-search-tool__header-right .tld-count {
            font-weight: 600;
            color: var(--ds-primary);
        }

        .tld-list-view-indicator {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            margin-right: 1rem;
            padding: 0.25rem 0.5rem;
            background: var(--ds-primary-light);
            border-radius: var(--ds-radius);
        }

        .tld-list-view-indicator .badge {
            font-size: 0.75rem;
        }

        .btn--xs {
            padding: 0.125rem 0.5rem;
            font-size: 0.6875rem;
        }

        .tld-search-tool__header-control {
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }

        .tld-search-tool__header-control label {
            font-size: 0.85rem;
            color: var(--ds-text);
            white-space: nowrap;
        }

        .tld-search-tool__header-control .input--sm {
            padding: 0.25rem 0.5rem;
            font-size: 0.85rem;
            min-width: 80px;
        }

        .tld-search-tool__buttons {
            /* Left-aligned */
        }

        .tld-search-tool__row {
            display: flex;
            gap: 1rem;
            margin-bottom: 1rem;
            flex-wrap: wrap;
        }

        .tld-search-tool__row:last-child {
            margin-bottom: 0;
        }

        .tld-search-tool__input-group {
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
            min-width: 120px;
        }

        .tld-search-tool__input-group label {
            font-size: 0.813rem;
            font-weight: 500;
            color: var(--ds-text);
        }

        /* Standardize all inputs, selects, and buttons in TLD filters to same height */
        .tld-search-tool .input,
        .tld-search-tool .select,
        .tld-search-tool .btn {
            height: 38px;
            padding: 0.5rem 0.75rem;
            box-sizing: border-box;
        }

        .tld-search-tool .btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
        }

        .tld-type-filters {
            display: flex;
            gap: 0.25rem;
            flex-wrap: wrap;
            align-items: center;
            height: 38px;
        }

        .tld-filter-btn {
            padding: 0.5rem 0.75rem;
            height: 38px;
            font-size: 0.813rem;
            font-weight: 500;
            border: 1px solid var(--ds-border);
            background: var(--ds-bg);
            border-radius: var(--ds-radius);
            cursor: pointer;
            transition: all 0.15s ease;
            color: var(--ds-text);
            box-sizing: border-box;
        }

        .tld-filter-btn:hover {
            border-color: var(--ds-primary);
            background: var(--ds-primary-light);
        }

        .tld-filter-btn--active {
            background: #818CF8;
            color: white;
            border-color: #818CF8;
        }

        .tld-filter-btn--active:hover {
            background: #6366F1;
            border-color: #6366F1;
        }

        .tld-search-tool__actions {
            display: flex;
            gap: 0.75rem;
            align-items: center;
            margin-top: 1rem;
        }

        .tld-count {
            font-size: 0.938rem;
            font-weight: 600;
            color: var(--ds-text);
            padding: 0.5rem 1rem;
            background: var(--ds-primary-light);
            border-radius: var(--ds-radius);
            margin-left: auto;
        }

        .bulk-actions-row {
            display: flex;
            align-items: center;
            gap: 1rem;
            margin-bottom: 1rem;
        }

        .bulk-actions-row > .btn {
            flex-shrink: 0;
        }

        .bulk-actions-bar {
            background: var(--ds-primary-light);
            border: 1px solid var(--ds-primary);
            border-radius: var(--ds-radius-md);
            padding: 0.75rem 1rem;
            display: flex;
            align-items: center;
            gap: 0.75rem;
            flex-wrap: wrap;
            flex: 1;
            transition: opacity 0.2s, background 0.2s;
        }

        .bulk-actions-bar span {
            font-weight: 600;
            color: var(--ds-primary);
        }

        .bulk-actions-bar--disabled {
            background: var(--ds-surface);
            border-color: var(--ds-border);
            opacity: 0.5;
            pointer-events: none;
        }

        .bulk-actions-bar--disabled span {
            color: var(--ds-text-muted);
        }

        /* ========== Table Toolbar Styles ========== */
        .table-toolbar {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            padding: 0.5rem 0;
            margin-bottom: 0.5rem;
            border-bottom: 1px solid var(--ds-border);
        }

        .table-toolbar__info {
            margin-left: auto;
            font-size: 0.75rem;
            color: var(--ds-text-light);
        }

        .table-wrap--scrollable {
            overflow-x: auto;
            max-width: 100%;
        }

        .table-wrap--scrollable table {
            table-layout: auto;
            min-width: max-content;
        }

        /* ========== Column Selector Modal Styles ========== */
        .column-selector-list {
            max-height: 400px;
            overflow-y: auto;
            border: 1px solid var(--ds-border);
            border-radius: var(--ds-radius);
            padding: 0.5rem;
        }

        .column-selector-item {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            padding: 0.5rem 0.75rem;
            background: var(--ds-surface);
            border: 1px solid var(--ds-border);
            border-radius: var(--ds-radius);
            margin-bottom: 0.25rem;
            cursor: grab;
            transition: background 0.15s, border-color 0.15s;
        }

        .column-selector-item:hover {
            background: var(--ds-bg);
            border-color: var(--ds-primary);
        }

        .column-selector-item.dragging {
            opacity: 0.5;
            background: var(--ds-primary-light);
        }

        .column-selector-item.drag-over {
            border-color: var(--ds-primary);
            border-style: dashed;
        }

        .column-selector-item__drag {
            color: var(--ds-text-light);
            cursor: grab;
        }

        .column-selector-item__checkbox {
            flex-shrink: 0;
        }

        .column-selector-item__label {
            flex: 1;
            font-size: 0.875rem;
        }

        .column-selector-item__field {
            font-size: 0.75rem;
            color: var(--ds-text-light);
            font-family: monospace;
        }

        .column-selector-item--disabled {
            opacity: 0.6;
            background: var(--ds-bg);
        }

        /* ========== Relevancy Tool Styles ========== */
        .relevancy-tool {
            background: var(--ds-bg);
            border-radius: var(--ds-radius-lg);
            padding: 1.5rem;
        }

        .relevancy-tool__header {
            margin-bottom: 1.5rem;
        }

        .relevancy-tool__header h3 {
            font-size: 1.125rem;
            font-weight: 600;
            margin-bottom: 0.25rem;
        }

        .relevancy-tool__config {
            background: var(--ds-surface);
            border-radius: var(--ds-radius-md);
            padding: 1.25rem;
            margin-bottom: 1.5rem;
        }

        .relevancy-tool__row {
            display: flex;
            gap: 1rem;
            margin-bottom: 1rem;
            flex-wrap: wrap;
            align-items: flex-end;
        }

        .relevancy-tool__input-group {
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
        }

        .relevancy-tool__input-group label {
            font-size: 0.813rem;
            font-weight: 500;
            color: var(--ds-text);
        }

        .relevancy-tool__weights {
            margin-top: 1.25rem;
            padding-top: 1.25rem;
            border-top: 1px solid var(--ds-border);
        }

        .relevancy-tool__weights h4 {
            font-size: 0.938rem;
            font-weight: 600;
            margin-bottom: 1rem;
        }

        .relevancy-tool__weight-sliders {
            display: flex;
            gap: 2rem;
            flex-wrap: wrap;
        }

        .weight-slider {
            display: flex;
            align-items: center;
            gap: 0.75rem;
        }

        .weight-slider label {
            font-size: 0.813rem;
            width: 120px;
        }

        .weight-slider input[type="range"] {
            width: 120px;
        }

        .weight-slider .weight-value {
            font-size: 0.813rem;
            font-weight: 600;
            color: var(--ds-primary);
            width: 40px;
        }

        .relevancy-tool__actions {
            margin-top: 1.25rem;
            display: flex;
            gap: 0.75rem;
        }

        .relevancy-tool__preview {
            background: var(--ds-surface);
            border-radius: var(--ds-radius-md);
            padding: 1.25rem;
            margin-bottom: 1.5rem;
        }

        .relevancy-tool__preview-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 1rem;
            flex-wrap: wrap;
            gap: 1rem;
        }

        .relevancy-tool__preview-stats {
            display: flex;
            gap: 0.5rem;
        }

        .stat-badge {
            font-size: 0.75rem;
            font-weight: 600;
            padding: 0.25rem 0.75rem;
            border-radius: var(--ds-radius);
        }

        .stat-badge--success {
            background: var(--ds-success-light);
            color: var(--ds-success);
        }

        .stat-badge--warning {
            background: var(--ds-warning-light);
            color: var(--ds-warning);
        }

        .stat-badge--info {
            background: var(--ds-primary-light);
            color: var(--ds-primary);
        }

        .relevancy-tool__preview-table {
            max-height: 400px;
            overflow-y: auto;
        }

        .relevancy-tool__preview-table table {
            width: 100%;
        }

        .relevancy-tool__history {
            background: var(--ds-surface);
            border-radius: var(--ds-radius-md);
            padding: 1.25rem;
        }

        .relevancy-tool__history h4 {
            font-size: 0.938rem;
            font-weight: 600;
            margin-bottom: 1rem;
        }

        .relevancy-tool__history-list {
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
        }

        .history-item {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 0.75rem;
            background: var(--ds-bg);
            border-radius: var(--ds-radius);
            border: 1px solid var(--ds-border);
        }

        .history-item__info {
            display: flex;
            flex-direction: column;
            gap: 0.25rem;
        }

        .history-item__title {
            font-weight: 500;
        }

        .history-item__meta {
            font-size: 0.75rem;
            color: var(--ds-text-light);
        }

        .history-item__count {
            font-size: 0.875rem;
            font-weight: 600;
            color: var(--ds-primary);
        }

        /* ========== SODI Scoring Tool Styles ========== */
        .sodi-tool {
            background: var(--ds-bg);
            border-radius: var(--ds-radius-lg);
            padding: 1.5rem;
        }

        .sodi-tool__header {
            margin-bottom: 1.5rem;
        }

        .sodi-tool__header h3 {
            font-size: 1.25rem;
            font-weight: 600;
            margin-bottom: 0.25rem;
            color: #1a1a2e;
        }

        .sodi-tool__calculator {
            background: var(--ds-surface);
            border-radius: var(--ds-radius-md);
            padding: 1.5rem;
            margin-bottom: 1.5rem;
        }

        .sodi-tool__input-section {
            display: flex;
            align-items: flex-end;
            gap: 0.75rem;
            flex-wrap: wrap;
            margin-bottom: 1.5rem;
        }

        .sodi-input-group {
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
        }

        .sodi-input-group label {
            font-size: 0.813rem;
            font-weight: 500;
            color: var(--ds-text);
        }

        .sodi-input-group input,
        .sodi-input-group select {
            min-width: 200px;
        }

        .input--lg {
            height: 48px;
            font-size: 1.125rem;
            padding: 0 1rem;
        }

        .sodi-input-dot {
            font-size: 2rem;
            font-weight: 700;
            color: #2D5BFF;
            padding-bottom: 8px;
        }

        .sodi-tool__results {
            border-top: 1px solid var(--ds-border);
            padding-top: 1.5rem;
        }

        .sodi-tool__chart-section {
            display: flex;
            gap: 2rem;
            align-items: center;
            justify-content: center;
            flex-wrap: wrap;
            margin-bottom: 1.5rem;
        }

        .sodi-radar-container {
            width: 350px;
            height: 350px;
        }

        .sodi-score-panel {
            text-align: center;
        }

        .sodi-score-circle {
            width: 120px;
            height: 120px;
            border-radius: 50%;
            background: #22c55e;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            margin: 0 auto 1rem;
            box-shadow: 0 4px 20px rgba(0,0,0,0.15);
        }

        .sodi-score-value {
            font-size: 2.5rem;
            font-weight: 700;
            color: white;
            line-height: 1;
        }

        .sodi-score-label {
            font-size: 0.75rem;
            color: rgba(255,255,255,0.9);
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        .sodi-rating {
            font-size: 1.25rem;
            font-weight: 600;
            margin-bottom: 0.5rem;
        }

        .sodi-domain {
            font-size: 1rem;
            color: var(--ds-text-light);
            font-family: monospace;
        }

        .sodi-breakdown-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
            gap: 0.75rem;
        }

        .sodi-breakdown-card {
            background: var(--ds-bg);
            border: 1px solid var(--ds-border);
            border-radius: var(--ds-radius);
            padding: 0.75rem;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 0.25rem;
        }

        .sodi-breakdown-label {
            font-size: 0.75rem;
            color: var(--ds-text-light);
        }

        .sodi-breakdown-weight {
            font-size: 0.625rem;
            background: var(--ds-primary-light);
            color: var(--ds-primary);
            padding: 0.125rem 0.5rem;
            border-radius: var(--ds-radius-sm);
        }

        .sodi-breakdown-value {
            font-size: 1.25rem;
            font-weight: 700;
            color: var(--ds-primary);
        }

        .sodi-tool__legend {
            background: #1a1a2e;
            border-radius: var(--ds-radius-md);
            padding: 1rem 1.5rem;
            margin-bottom: 1.5rem;
        }

        .sodi-tool__legend h4 {
            color: white;
            font-size: 0.875rem;
            margin-bottom: 0.75rem;
            text-align: center;
        }

        .sodi-legend-items {
            display: flex;
            justify-content: center;
            gap: 1.5rem;
            flex-wrap: wrap;
        }

        .sodi-legend-item {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            color: white;
            font-size: 0.813rem;
        }

        .sodi-legend-dot {
            width: 16px;
            height: 16px;
            border-radius: 50%;
        }

        .sodi-legend--excellent .sodi-legend-dot { background: #22c55e; }
        .sodi-legend--good .sodi-legend-dot { background: #eab308; }
        .sodi-legend--fair .sodi-legend-dot { background: #f97316; }
        .sodi-legend--poor .sodi-legend-dot { background: #ef4444; }

        .sodi-tool__batch {
            background: var(--ds-surface);
            border-radius: var(--ds-radius-md);
            padding: 1.25rem;
        }

        .sodi-tool__batch h4 {
            font-size: 1rem;
            margin-bottom: 0.25rem;
        }

        .sodi-batch-controls {
            display: flex;
            gap: 0.75rem;
            margin: 1rem 0;
            flex-wrap: wrap;
        }

        .sodi-batch-results {
            max-height: 400px;
            overflow-y: auto;
        }

        .sodi-batch-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
            gap: 0.75rem;
        }

        .sodi-batch-card {
            background: var(--ds-bg);
            border: 1px solid var(--ds-border);
            border-radius: var(--ds-radius);
            padding: 0.75rem;
            display: flex;
            justify-content: space-between;
            align-items: center;
            cursor: pointer;
            transition: all 0.15s ease;
        }

        .sodi-batch-card:hover {
            border-color: var(--ds-primary);
            background: var(--ds-primary-light);
        }

        .sodi-batch-card__info {
            display: flex;
            flex-direction: column;
            gap: 0.125rem;
        }

        .sodi-batch-card__tld {
            font-weight: 600;
        }

        .sodi-batch-card__desc {
            font-size: 0.75rem;
            color: var(--ds-text-light);
        }

        .sodi-batch-card__score {
            font-size: 1.125rem;
            font-weight: 700;
            padding: 0.25rem 0.75rem;
            border-radius: var(--ds-radius);
            color: white;
        }

        .sodi-batch-card__score--excellent { background: #22c55e; }
        .sodi-batch-card__score--good { background: #eab308; }
        .sodi-batch-card__score--fair { background: #f97316; }
        .sodi-batch-card__score--poor { background: #ef4444; }

        /* ========== SODI Parameter Config Styles ========== */
        .sodi-tool__params {
            background: var(--ds-surface);
            border-radius: var(--ds-radius-md);
            padding: 1.25rem;
            margin-bottom: 1.5rem;
        }

        .sodi-params__header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 1rem;
            padding-bottom: 0.75rem;
            border-bottom: 1px solid var(--ds-border);
        }

        .sodi-params__header h4 {
            font-size: 1rem;
            font-weight: 600;
        }

        .sodi-params__actions {
            display: flex;
            gap: 1rem;
            align-items: center;
        }

        .sodi-params__total {
            font-size: 0.875rem;
            padding: 0.375rem 0.75rem;
            background: var(--ds-primary-light);
            border-radius: var(--ds-radius);
        }

        .sodi-params__grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
            gap: 0.75rem;
        }

        .sodi-param-card {
            background: var(--ds-bg);
            border: 1px solid var(--ds-border);
            border-radius: var(--ds-radius);
            padding: 0.875rem;
        }

        .sodi-param-card__header {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            margin-bottom: 0.5rem;
        }

        .sodi-param-card__icon {
            font-size: 1.125rem;
        }

        .sodi-param-card__name {
            font-weight: 600;
            font-size: 0.875rem;
        }

        .sodi-param-card__weight {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            margin-bottom: 0.375rem;
        }

        .sodi-param-card__weight input[type="range"] {
            flex: 1;
            height: 6px;
            accent-color: var(--ds-primary);
        }

        .sodi-param-card__value {
            font-weight: 700;
            font-size: 0.875rem;
            color: var(--ds-primary);
            min-width: 40px;
            text-align: right;
        }

        .sodi-param-card__desc {
            font-size: 0.688rem;
            color: var(--ds-text-light);
            line-height: 1.3;
        }

        /* ========== SODI Dashboard Modal Styles ========== */
        .sodi-dash__stats {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
            gap: 0.75rem;
            margin-bottom: 1.5rem;
        }

        .sodi-dash__stat {
            background: var(--ds-surface);
            border-radius: var(--ds-radius);
            padding: 1rem;
            text-align: center;
        }

        .sodi-dash__stat-value {
            display: block;
            font-size: 1.5rem;
            font-weight: 700;
            color: var(--ds-text);
        }

        .sodi-dash__stat-label {
            font-size: 0.75rem;
            color: var(--ds-text-light);
        }

        .sodi-dash__stat--excellent .sodi-dash__stat-value { color: #22c55e; }
        .sodi-dash__stat--good .sodi-dash__stat-value { color: #eab308; }
        .sodi-dash__stat--fair .sodi-dash__stat-value { color: #f97316; }
        .sodi-dash__stat--poor .sodi-dash__stat-value { color: #ef4444; }

        .sodi-dash__distribution {
            background: var(--ds-surface);
            border-radius: var(--ds-radius-md);
            padding: 1rem;
            margin-bottom: 1.5rem;
        }

        .sodi-dash__distribution h4 {
            margin-bottom: 0.75rem;
        }

        .sodi-dash__chart {
            height: 200px;
        }

        .sodi-dash__categories {
            background: var(--ds-surface);
            border-radius: var(--ds-radius-md);
            padding: 1rem;
            margin-bottom: 1.5rem;
        }

        .sodi-dash__categories h4 {
            margin-bottom: 0.75rem;
        }

        .sodi-dash__category-filter {
            margin-bottom: 0.75rem;
        }

        .sodi-dash__category-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
            gap: 0.5rem;
            max-height: 200px;
            overflow-y: auto;
        }

        .sodi-dash__category-item {
            background: var(--ds-bg);
            border: 1px solid var(--ds-border);
            border-radius: var(--ds-radius);
            padding: 0.5rem 0.75rem;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .sodi-dash__category-name {
            font-size: 0.813rem;
            font-weight: 500;
        }

        .sodi-dash__category-score {
            font-size: 0.875rem;
            font-weight: 700;
        }

        .sodi-dash__lists {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1rem;
        }

        .sodi-dash__list {
            background: var(--ds-surface);
            border-radius: var(--ds-radius-md);
            padding: 1rem;
        }

        .sodi-dash__list h4 {
            margin-bottom: 0.75rem;
            font-size: 0.875rem;
        }

        .sodi-dash__list-item {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 0.375rem 0;
            border-bottom: 1px solid var(--ds-border);
        }

        .sodi-dash__list-item:last-child {
            border-bottom: none;
        }

        .sodi-dash__list-tld {
            font-weight: 500;
            font-size: 0.875rem;
        }

        .sodi-dash__list-score {
            font-weight: 700;
            font-size: 0.875rem;
            padding: 0.125rem 0.5rem;
            border-radius: var(--ds-radius-sm);
            color: white;
        }

        /* ========== Batch SODI Modal Styles ========== */
        .batch-sodi__info {
            margin-bottom: 1.25rem;
        }

        .batch-sodi__weights {
            background: var(--ds-surface);
            border-radius: var(--ds-radius);
            padding: 0.75rem;
            margin-top: 0.75rem;
        }

        .batch-sodi__weights h5 {
            font-size: 0.813rem;
            margin-bottom: 0.5rem;
        }

        .batch-sodi__weight-list {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 0.25rem;
            font-size: 0.75rem;
        }

        .batch-sodi__weight-item {
            display: flex;
            justify-content: space-between;
            padding: 0.25rem 0.5rem;
            background: var(--ds-bg);
            border-radius: var(--ds-radius-sm);
        }

        .batch-sodi__options {
            margin-bottom: 1.25rem;
        }

        .batch-sodi__group-filter {
            margin-top: 0.75rem;
        }

        .batch-sodi__group-filter label {
            display: block;
            font-size: 0.813rem;
            margin-bottom: 0.375rem;
        }

        .batch-sodi__progress {
            margin-bottom: 1rem;
        }

        .progress-bar {
            height: 8px;
            background: var(--ds-border);
            border-radius: 4px;
            overflow: hidden;
            margin-bottom: 0.5rem;
        }

        .progress-bar__fill {
            height: 100%;
            background: var(--ds-primary);
            transition: width 0.3s ease;
        }

        .progress-text {
            font-size: 0.813rem;
            color: var(--ds-text-light);
            text-align: center;
        }

        .batch-sodi__actions {
            display: flex;
            justify-content: flex-end;
            gap: 0.75rem;
            padding-top: 1rem;
            border-top: 1px solid var(--ds-border);
        }

        /* ========== Data Remediation Tool Styles ========== */
        .remediation-tool {
            background: var(--ds-bg);
            border-radius: var(--ds-radius-lg);
            padding: 1.5rem;
        }

        .remediation-tool__header {
            margin-bottom: 1.5rem;
        }

        .remediation-tool__header h3 {
            font-size: 1.25rem;
            font-weight: 600;
            margin-bottom: 0.25rem;
        }

        .remediation-summary {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 1rem;
            margin-bottom: 1.5rem;
        }

        .remediation-card {
            background: var(--ds-surface);
            border-radius: var(--ds-radius-md);
            padding: 1rem;
            display: flex;
            align-items: center;
            gap: 0.75rem;
            cursor: pointer;
            transition: all 0.15s ease;
            border-left: 4px solid transparent;
        }

        .remediation-card:hover {
            box-shadow: var(--ds-shadow);
            transform: translateY(-2px);
        }

        .remediation-card--critical { border-left-color: var(--ds-danger); }
        .remediation-card--warning { border-left-color: var(--ds-warning); }
        .remediation-card--info { border-left-color: var(--ds-primary); }
        .remediation-card--low { border-left-color: var(--ds-text-light); }

        .remediation-card__icon {
            font-size: 1.5rem;
        }

        .remediation-card__info {
            flex: 1;
            display: flex;
            flex-direction: column;
        }

        .remediation-card__count {
            font-size: 1.5rem;
            font-weight: 700;
            color: var(--ds-text);
        }

        .remediation-card__label {
            font-size: 0.813rem;
            color: var(--ds-text-light);
        }

        .remediation-card__status {
            font-size: 0.625rem;
            font-weight: 700;
            padding: 0.25rem 0.5rem;
            border-radius: var(--ds-radius-sm);
            background: var(--ds-bg);
        }

        .remediation-card--critical .remediation-card__status { color: var(--ds-danger); }
        .remediation-card--warning .remediation-card__status { color: var(--ds-warning); }
        .remediation-card--info .remediation-card__status { color: var(--ds-primary); }

        /* Remediation List View */
        .remediation-list {
            background: var(--ds-surface);
            border-radius: var(--ds-radius-md);
            padding: 1.25rem;
            margin-bottom: 1.5rem;
            border: 2px solid var(--ds-warning-light);
        }

        .remediation-list__header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 0.75rem;
        }

        .remediation-list__header h4 {
            font-size: 1rem;
            font-weight: 600;
            color: var(--ds-text);
        }

        .remediation-list__count {
            font-size: 0.875rem;
            color: var(--ds-text-light);
            margin-bottom: 1rem;
        }

        .remediation-list__table-wrap {
            max-height: 400px;
            overflow-y: auto;
            border: 1px solid var(--ds-border);
            border-radius: var(--ds-radius);
        }

        .remediation-list__table {
            width: 100%;
            border-collapse: collapse;
            font-size: 0.875rem;
        }

        .remediation-list__table th,
        .remediation-list__table td {
            padding: 0.625rem 0.75rem;
            text-align: left;
            border-bottom: 1px solid var(--ds-border);
        }

        .remediation-list__table th {
            background: var(--ds-surface);
            font-weight: 600;
            position: sticky;
            top: 0;
        }

        .remediation-list__table tr:hover {
            background: var(--ds-surface-hover);
        }

        .remediation-list__table .tld-cell {
            font-weight: 600;
            font-size: 1rem;
        }

        .remediation-list__table .issue-cell {
            color: var(--ds-warning);
            font-size: 0.75rem;
        }

        .remediation-workbench {
            background: var(--ds-surface);
            border-radius: var(--ds-radius-md);
            padding: 1.25rem;
            margin-bottom: 1.5rem;
            border: 2px solid var(--ds-primary-light);
        }

        .remediation-workbench__header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 1rem;
            flex-wrap: wrap;
            gap: 0.75rem;
        }

        .remediation-workbench__nav {
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }

        .remediation-workbench__content {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1.5rem;
            margin-bottom: 1rem;
        }

        @media (max-width: 768px) {
            .remediation-workbench__content { grid-template-columns: 1fr; }
        }

        .remediation-tld-info {
            background: var(--ds-bg);
            border-radius: var(--ds-radius);
            padding: 1rem;
        }

        .remediation-tld-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 1rem;
            padding-bottom: 0.75rem;
            border-bottom: 1px solid var(--ds-border);
        }

        .remediation-tld-name {
            font-size: 1.5rem;
            font-weight: 700;
            color: var(--ds-primary);
        }

        .remediation-tld-id {
            font-size: 0.75rem;
            color: var(--ds-text-light);
        }

        .remediation-tld-details {
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
        }

        .remediation-detail {
            display: flex;
            justify-content: space-between;
            font-size: 0.875rem;
        }

        .remediation-detail label {
            color: var(--ds-text-light);
        }

        .remediation-fix-form {
            background: var(--ds-bg);
            border-radius: var(--ds-radius);
            padding: 1rem;
        }

        .remediation-fix-form label {
            display: block;
            font-size: 0.813rem;
            font-weight: 500;
            margin-bottom: 0.5rem;
        }

        .remediation-fix-form .input {
            margin-bottom: 1rem;
        }

        .remediation-suggestions {
            grid-column: span 2;
            background: var(--ds-bg);
            border-radius: var(--ds-radius);
            padding: 1rem;
            border: 1px dashed var(--ds-primary-light);
        }

        .remediation-suggestions h5 {
            margin-bottom: 0.75rem;
            color: var(--ds-primary);
        }

        .remediation-suggestion-list {
            display: flex;
            flex-wrap: wrap;
            gap: 0.5rem;
        }

        .remediation-suggestion {
            padding: 0.5rem 1rem;
            background: var(--ds-surface);
            border: 1px solid var(--ds-border);
            border-radius: var(--ds-radius);
            cursor: pointer;
            transition: all 0.15s ease;
        }

        .remediation-suggestion:hover {
            border-color: var(--ds-primary);
            background: var(--ds-primary-light);
        }

        .remediation-workbench__actions {
            display: flex;
            justify-content: flex-end;
            gap: 0.75rem;
            padding-top: 1rem;
            border-top: 1px solid var(--ds-border);
        }

        .remediation-bulk {
            background: var(--ds-surface);
            border-radius: var(--ds-radius-md);
            padding: 1.25rem;
            margin-bottom: 1.5rem;
        }

        .remediation-bulk h4 {
            margin-bottom: 1rem;
        }

        .remediation-bulk-options {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 1rem;
        }

        .remediation-bulk-card {
            background: var(--ds-bg);
            border: 1px solid var(--ds-border);
            border-radius: var(--ds-radius);
            padding: 1rem;
            cursor: pointer;
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            gap: 0.5rem;
            transition: all 0.15s ease;
        }

        .remediation-bulk-card:hover {
            border-color: var(--ds-primary);
            background: var(--ds-primary-light);
        }

        .remediation-bulk-icon {
            font-size: 1.5rem;
        }

        .remediation-bulk-title {
            font-weight: 600;
        }

        .remediation-bulk-desc {
            font-size: 0.75rem;
            color: var(--ds-text-light);
        }

        .remediation-progress {
            background: var(--ds-surface);
            border-radius: var(--ds-radius-md);
            padding: 1.25rem;
        }

        .remediation-progress h4 {
            margin-bottom: 1rem;
        }

        .remediation-progress-bar {
            height: 8px;
            background: var(--ds-border);
            border-radius: 4px;
            overflow: hidden;
            margin-bottom: 0.5rem;
        }

        .remediation-progress-fill {
            height: 100%;
            background: var(--ds-success);
            transition: width 0.3s ease;
        }

        .remediation-progress-info {
            display: flex;
            justify-content: space-between;
            font-size: 0.813rem;
            color: var(--ds-text-light);
        }

        /* ========== TLD Detail Modal Styles ========== */
        .tld-detail-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 1rem;
        }

        .tld-detail-field {
            display: flex;
            flex-direction: column;
            gap: 0.25rem;
        }

        .tld-detail-field label {
            font-size: 0.75rem;
            color: var(--ds-text-light);
            font-weight: 500;
        }

        .tld-detail-field .value {
            font-size: 0.875rem;
            padding: 0.5rem;
            background: var(--ds-bg);
            border-radius: var(--ds-radius-sm);
            min-height: 32px;
        }

        .table-row--selectable {
            cursor: pointer;
            user-select: none;
        }

        .table-row--selectable:hover {
            background: var(--ds-primary-light);
        }

        .table-row--selected {
            background: var(--ds-primary-light) !important;
        }

        .table-row--selected td:first-child::before {
            content: "✓ ";
            color: var(--ds-primary);
        }

        .bulk-actions-bar {
            display: flex;
            align-items: center;
            gap: 1rem;
            padding: 0.75rem 1rem;
            background: var(--ds-primary-light);
            border-radius: var(--ds-radius);
            margin-bottom: 1rem;
        }

        .bulk-actions-bar__count {
            font-weight: 600;
            color: var(--ds-primary);
        }

        /* Relevancy Analytics Modal Styles */
        .rel-analytics__stats {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
            gap: 1rem;
            margin-bottom: 1.5rem;
        }

        .rel-analytics__stat {
            background: var(--ds-surface);
            border-radius: var(--ds-radius-md);
            padding: 1rem;
            text-align: center;
            border: 1px solid var(--ds-border);
        }

        .rel-analytics__stat-value {
            display: block;
            font-size: 1.5rem;
            font-weight: 700;
            color: var(--ds-primary);
        }

        .rel-analytics__stat-label {
            display: block;
            font-size: 0.75rem;
            color: var(--ds-text-light);
            margin-top: 0.25rem;
        }

        .rel-analytics__section {
            margin-bottom: 1.5rem;
            background: var(--ds-surface);
            border-radius: var(--ds-radius-md);
            padding: 1.25rem;
            border: 1px solid var(--ds-border);
        }

        .rel-analytics__section h4 {
            font-size: 1rem;
            font-weight: 600;
            margin-bottom: 1rem;
            color: var(--ds-text);
        }

        .rel-analytics__chart {
            height: 250px;
            position: relative;
        }

        .rel-analytics__category-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
            gap: 0.75rem;
            max-height: 300px;
            overflow-y: auto;
        }

        .rel-analytics__category-card {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            padding: 0.75rem;
            background: var(--ds-bg);
            border-radius: var(--ds-radius);
            border: 1px solid var(--ds-border);
        }

        .rel-analytics__category-emoji {
            font-size: 1.25rem;
        }

        .rel-analytics__category-info {
            flex: 1;
            min-width: 0;
        }

        .rel-analytics__category-name {
            font-size: 0.813rem;
            font-weight: 500;
            color: var(--ds-text);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .rel-analytics__category-score {
            font-size: 0.75rem;
            color: var(--ds-text-light);
        }

        .rel-analytics__category-bar {
            width: 50px;
            height: 6px;
            background: var(--ds-border);
            border-radius: 3px;
            overflow: hidden;
        }

        .rel-analytics__category-bar-fill {
            height: 100%;
            background: var(--ds-primary);
            border-radius: 3px;
            transition: width 0.3s ease;
        }

        .rel-analytics__cutoffs {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
            gap: 0.75rem;
        }

        .rel-analytics__cutoff-card {
            background: var(--ds-bg);
            border-radius: var(--ds-radius);
            padding: 0.75rem;
            text-align: center;
            border: 1px solid var(--ds-border);
        }

        .rel-analytics__cutoff-threshold {
            font-size: 0.75rem;
            color: var(--ds-text-light);
            margin-bottom: 0.25rem;
        }

        .rel-analytics__cutoff-count {
            font-size: 1.25rem;
            font-weight: 700;
            color: var(--ds-text);
        }

        .rel-analytics__cutoff-label {
            font-size: 0.625rem;
            color: var(--ds-text-muted);
        }

        .rel-analytics__lists {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1rem;
        }

        @media (max-width: 768px) {
            .rel-analytics__lists {
                grid-template-columns: 1fr;
            }
        }

        .rel-analytics__list {
            background: var(--ds-surface);
            border-radius: var(--ds-radius-md);
            padding: 1rem;
            border: 1px solid var(--ds-border);
        }

        .rel-analytics__list h4 {
            font-size: 0.875rem;
            font-weight: 600;
            margin-bottom: 0.75rem;
            color: var(--ds-text);
        }

        .rel-analytics__list-item {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 0.5rem 0;
            border-bottom: 1px solid var(--ds-border);
        }

        .rel-analytics__list-item:last-child {
            border-bottom: none;
        }

        .rel-analytics__list-tld {
            font-weight: 600;
            font-size: 0.875rem;
        }

        .rel-analytics__list-category {
            font-size: 0.75rem;
            color: var(--ds-text-light);
        }

        .rel-analytics__list-score {
            font-weight: 600;
            font-size: 0.875rem;
            padding: 0.25rem 0.5rem;
            border-radius: var(--ds-radius-sm);
        }

        .rel-analytics__list-score--high {
            background: var(--ds-success-light);
            color: var(--ds-success);
        }

        .rel-analytics__list-score--low {
            background: var(--ds-danger-light);
            color: var(--ds-danger);
        }

        /* Workflows Panel Styles */
        .workflows-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 1.5rem;
        }

        .workflow-section {
            background: var(--ds-bg);
            border: 1px solid var(--ds-border);
            border-radius: var(--ds-radius-lg);
            padding: 1.25rem;
        }

        .workflow-section__header {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            margin-bottom: 1rem;
            padding-bottom: 0.75rem;
            border-bottom: 1px solid var(--ds-border);
        }

        .workflow-section__icon {
            font-size: 1.5rem;
        }

        .workflow-section__title {
            font-size: 1rem;
            font-weight: 600;
            color: var(--ds-text);
        }

        .workflow-list {
            list-style: none;
        }

        .workflow-item {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            padding: 0.625rem 0.75rem;
            margin: 0.25rem 0;
            border-radius: var(--ds-radius);
            cursor: pointer;
            transition: all 0.15s ease;
            color: var(--ds-text);
            font-size: 0.875rem;
        }

        .workflow-item:hover {
            background: var(--ds-surface);
            color: var(--ds-primary);
        }

        .workflow-item__icon {
            font-size: 1rem;
            width: 24px;
            text-align: center;
        }

        .workflow-item__text {
            flex: 1;
        }

        .workflow-item__arrow {
            color: var(--ds-text-muted);
            font-size: 0.75rem;
        }

        /* Placeholder Panel Styles */
        .placeholder-panel {
            text-align: center;
            padding: 3rem 2rem;
            max-width: 500px;
            margin: 0 auto;
        }

        .placeholder-panel__icon {
            font-size: 4rem;
            margin-bottom: 1rem;
        }

        .placeholder-panel h3 {
            font-size: 1.5rem;
            font-weight: 600;
            color: var(--ds-text);
            margin-bottom: 0.75rem;
        }

        .placeholder-panel__list {
            list-style: none;
            text-align: left;
            background: var(--ds-surface);
            border-radius: var(--ds-radius-md);
            padding: 1rem 1.5rem;
            margin-top: 1rem;
        }

        .placeholder-panel__list li {
            padding: 0.5rem 0;
            border-bottom: 1px solid var(--ds-border);
            font-size: 0.875rem;
        }

        .placeholder-panel__list li:last-child {
            border-bottom: none;
        }

        /* CSV Export Tool Styles */
        .export-tool {
            max-width: 800px;
        }

        .export-section {
            background: var(--ds-surface);
            border-radius: var(--ds-radius-md);
            padding: 1.25rem;
            margin-bottom: 1rem;
            border: 1px solid var(--ds-border);
        }

        .export-section h3 {
            font-size: 0.875rem;
            font-weight: 600;
            color: var(--ds-text);
            margin-bottom: 1rem;
        }

        .export-type-btns {
            display: flex;
            gap: 0.5rem;
        }

        .export-type-btn.active {
            background: var(--ds-primary);
            color: white;
            border-color: var(--ds-primary);
        }

        .export-filters {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 1rem;
        }

        .export-column-group {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
            gap: 0.5rem;
        }

        .export-column-item {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            padding: 0.5rem;
            background: var(--ds-bg);
            border-radius: var(--ds-radius);
            cursor: pointer;
            font-size: 0.875rem;
        }

        .export-column-item:hover {
            background: var(--ds-border);
        }

        .export-column-item input {
            margin: 0;
        }

        .export-column-actions {
            margin-top: 1rem;
            display: flex;
            gap: 0.5rem;
        }

        .export-preview {
            padding: 0.75rem;
            background: var(--ds-bg);
            border-radius: var(--ds-radius);
            margin-bottom: 1rem;
        }

        .export-preview p {
            margin: 0;
            font-size: 0.875rem;
        }

        .export-actions {
            display: flex;
            gap: 0.75rem;
        }

        /* Category Distribution Table */
        .category-dist-table {
            width: 100%;
            border-collapse: collapse;
            table-layout: fixed;
        }

        .category-dist-table th,
        .category-dist-table td {
            padding: 0.5rem 0.25rem;
            text-align: center;
            border: 1px solid var(--ds-border);
            font-size: 0.8rem;
        }

        .cat-dist-header {
            background: var(--ds-surface);
            font-weight: 600;
            font-size: 0.7rem;
            color: var(--ds-text-muted);
        }

        .cat-dist-label {
            background: var(--ds-surface);
            font-weight: 500;
            text-align: left !important;
            width: 80px;
        }

        .cat-dist-cell {
            vertical-align: middle;
        }

        .cat-dist-cell--clickable {
            cursor: pointer;
            transition: background 0.15s ease;
        }

        .cat-dist-cell--clickable:hover {
            background: var(--ds-primary-light);
        }

        .cat-dist-cell--warning {
            background: rgba(245, 158, 11, 0.1);
        }

        .cat-dist-cell--warning:hover {
            background: rgba(245, 158, 11, 0.2);
        }

        .cat-dist-count {
            display: block;
            font-weight: 600;
            font-size: 1rem;
            color: var(--ds-text);
        }

        .cat-dist-percent {
            display: block;
            font-size: 0.75rem;
            color: var(--ds-text-muted);
        }

        .cat-dist-legend {
            margin-top: 0.75rem;
            text-align: center;
        }

        /* Character Types Table */
        .char-types-container {
            margin-bottom: 1rem;
        }

        .char-types-table {
            width: 100%;
            border-collapse: collapse;
            table-layout: fixed;
        }

        .char-types-table th,
        .char-types-table td {
            padding: 0.5rem 0.25rem;
            text-align: center;
            border: 1px solid var(--ds-border);
            font-size: 0.8rem;
        }

        .char-types-header {
            background: var(--ds-surface);
            font-weight: 600;
            font-size: 0.65rem;
            color: var(--ds-text-muted);
            white-space: nowrap;
        }

        .char-types-cell {
            vertical-align: middle;
            background: var(--ds-bg);
        }

        .char-types-cell--total {
            background: var(--ds-surface);
            font-weight: 600;
        }

        .char-types-cell--clickable {
            cursor: pointer;
            transition: background 0.15s ease;
        }

        .char-types-cell--clickable:hover {
            background: var(--ds-primary-light);
        }

        .char-types-icon {
            display: block;
            font-size: 1.25rem;
            margin-bottom: 0.25rem;
        }

        .char-types-count {
            display: block;
            font-weight: 600;
            font-size: 1rem;
            color: var(--ds-text);
        }

        .char-types-percent {
            display: block;
            font-size: 0.75rem;
            color: var(--ds-text-muted);
        }

        .char-types-filter {
            margin-top: 1rem;
            padding-top: 1rem;
            border-top: 1px solid var(--ds-border);
        }

        .char-types-filter__label {
            font-size: 0.875rem;
            font-weight: 500;
            color: var(--ds-text-muted);
            margin-bottom: 0.5rem;
        }

        .char-types-filter__options {
            display: flex;
            flex-wrap: wrap;
            gap: 0.75rem;
        }

        .char-types-checkbox {
            display: flex;
            align-items: center;
            gap: 0.375rem;
            padding: 0.375rem 0.75rem;
            background: var(--ds-bg);
            border: 1px solid var(--ds-border);
            border-radius: var(--ds-radius);
            cursor: pointer;
            font-size: 0.875rem;
            transition: all 0.15s ease;
        }

        .char-types-checkbox:hover {
            border-color: var(--ds-primary);
            background: var(--ds-primary-light);
        }

        .char-types-checkbox input {
            margin: 0;
            cursor: pointer;
        }

        .char-types-checkbox input:checked + span {
            color: var(--ds-primary);
            font-weight: 500;
        }

        /* Cat Count Filter (TLD Count by Category) */
        .cat-count-filter {
            margin-top: 1rem;
            padding-top: 1rem;
            border-top: 1px solid var(--ds-border);
        }

        .cat-count-filter__label {
            font-size: 0.875rem;
            font-weight: 500;
            color: var(--ds-text-muted);
            margin-bottom: 0.5rem;
        }

        .cat-count-filter__options {
            display: flex;
            flex-wrap: wrap;
            gap: 0.75rem;
        }

        .cat-count-checkbox {
            display: flex;
            align-items: center;
            gap: 0.375rem;
            padding: 0.375rem 0.75rem;
            background: var(--ds-bg);
            border: 1px solid var(--ds-border);
            border-radius: var(--ds-radius);
            cursor: pointer;
            font-size: 0.875rem;
            transition: all 0.15s ease;
        }

        .cat-count-checkbox:hover {
            border-color: var(--ds-primary);
            background: var(--ds-primary-light);
        }

        .cat-count-checkbox input {
            margin: 0;
            cursor: pointer;
        }

        .cat-count-checkbox input:checked + span {
            color: var(--ds-primary);
            font-weight: 500;
        }

        /* TLD Profile Modal */
        .tld-profile {
            padding: 0 !important;
        }

        .tld-profile__header {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            padding: 1.5rem;
            background: linear-gradient(135deg, var(--ds-primary-light) 0%, var(--ds-surface) 100%);
            border-bottom: 1px solid var(--ds-border);
        }

        .tld-profile__main-info {
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
        }

        .tld-profile__unicode {
            font-size: 2rem;
            font-weight: 700;
            color: var(--ds-text);
        }

        .tld-profile__badges {
            display: flex;
            flex-wrap: wrap;
            gap: 0.5rem;
        }

        .tld-profile__id {
            font-size: 0.875rem;
            color: var(--ds-text-muted);
            font-family: monospace;
        }

        .tld-profile__grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1.5rem;
            padding: 1.5rem;
        }

        .tld-profile__left,
        .tld-profile__right {
            display: flex;
            flex-direction: column;
            gap: 1.5rem;
        }

        .tld-profile__section {
            background: var(--ds-bg);
            border: 1px solid var(--ds-border);
            border-radius: var(--ds-radius-md);
            padding: 1rem;
        }

        .tld-profile__section h4 {
            font-size: 0.875rem;
            font-weight: 600;
            color: var(--ds-primary);
            margin-bottom: 0.75rem;
            padding-bottom: 0.5rem;
            border-bottom: 1px solid var(--ds-border);
        }

        .tld-profile__detail-group {
            background: var(--ds-bg);
            border: 1px solid var(--ds-border);
            border-radius: var(--ds-radius-md);
            padding: 1rem;
        }

        .tld-profile__detail-group h5 {
            font-size: 0.8rem;
            font-weight: 600;
            color: var(--ds-text-muted);
            margin-bottom: 0.5rem;
        }

        .tld-profile__detail-row {
            display: flex;
            justify-content: space-between;
            padding: 0.375rem 0;
            border-bottom: 1px solid var(--ds-surface);
        }

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

        .tld-profile__detail-row .label {
            font-size: 0.813rem;
            color: var(--ds-text-muted);
        }

        .tld-profile__detail-row .value {
            font-size: 0.875rem;
            color: var(--ds-text);
            font-weight: 500;
            text-align: right;
            max-width: 60%;
            word-break: break-word;
        }

        .tld-profile__keywords {
            display: flex;
            flex-wrap: wrap;
            gap: 0.375rem;
        }

        .tld-profile__description {
            margin-bottom: 1rem;
        }

        .tld-profile__description:last-child {
            margin-bottom: 0;
        }

        .tld-profile__description label {
            font-size: 0.75rem;
            font-weight: 600;
            color: var(--ds-text-muted);
            display: block;
            margin-bottom: 0.25rem;
        }

        .tld-profile__description p {
            font-size: 0.875rem;
            color: var(--ds-text);
            line-height: 1.5;
            background: var(--ds-surface);
            padding: 0.75rem;
            border-radius: var(--ds-radius);
            min-height: 2.5rem;
        }

        .tld-profile__categories {
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
            max-height: 200px;
            overflow-y: auto;
        }

        .tld-profile__category {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            padding: 0.5rem;
            background: var(--ds-surface);
            border-radius: var(--ds-radius);
        }

        .tld-profile__category-icon {
            font-size: 1.25rem;
        }

        .tld-profile__category-name {
            flex: 1;
            font-weight: 500;
        }

        .tld-profile__category-score {
            font-size: 0.875rem;
            font-weight: 600;
            color: var(--ds-primary);
        }

        .tld-profile__category-method {
            font-size: 0.625rem;
        }

        .tld-profile__relevancy-list {
            display: flex;
            flex-wrap: wrap;
            gap: 0.5rem;
        }

        .tld-profile__relevancy-item {
            font-size: 0.75rem;
            padding: 0.25rem 0.5rem;
            background: var(--ds-surface);
            border-radius: var(--ds-radius-sm);
            color: var(--ds-text-muted);
        }

        .tld-profile__relevancy-item strong {
            color: var(--ds-text);
        }

        /* TLD Profile - Field Selector */
        .tld-profile__toolbar {
            display: flex;
            justify-content: flex-end;
            gap: 0.5rem;
            padding: 0.75rem 1.5rem;
            background: var(--ds-surface);
            border-bottom: 1px solid var(--ds-border);
        }

        .tld-profile__toolbar .btn--sm {
            padding: 0.375rem 0.75rem;
            font-size: 0.75rem;
        }

        /* TLD Profile - Editable Group Selector */
        .tld-profile__group-selector {
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }

        .tld-profile__group-selector select {
            padding: 0.375rem 0.5rem;
            font-size: 0.875rem;
            border: 1px solid var(--ds-border);
            border-radius: var(--ds-radius);
            background: var(--ds-bg);
            cursor: pointer;
        }

        .tld-profile__group-selector select:focus {
            outline: none;
            border-color: var(--ds-primary);
        }

        /* TLD Profile - Category Manager */
        .tld-profile__category-manager {
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
        }

        .tld-profile__category-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .tld-profile__category-actions {
            display: flex;
            gap: 0.25rem;
        }

        .tld-profile__category-item {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            padding: 0.5rem;
            background: var(--ds-surface);
            border-radius: var(--ds-radius);
            transition: background 0.15s;
        }

        .tld-profile__category-item:hover {
            background: var(--ds-primary-light);
        }

        .tld-profile__category-item .remove-btn {
            margin-left: auto;
            width: 24px;
            height: 24px;
            display: flex;
            align-items: center;
            justify-content: center;
            border: none;
            background: transparent;
            color: var(--ds-error);
            cursor: pointer;
            border-radius: 50%;
            font-size: 1.25rem;
            font-weight: 600;
            transition: background 0.15s;
        }

        .tld-profile__category-item .remove-btn:hover {
            background: rgba(239, 68, 68, 0.1);
        }

        .tld-profile__add-category {
            display: flex;
            gap: 0.5rem;
            margin-top: 0.5rem;
            padding-top: 0.5rem;
            border-top: 1px solid var(--ds-border);
        }

        .tld-profile__add-category select {
            flex: 1;
            padding: 0.5rem;
            font-size: 0.875rem;
            border: 1px solid var(--ds-border);
            border-radius: var(--ds-radius);
            background: var(--ds-bg);
        }

        .tld-profile__add-category .add-btn {
            width: 36px;
            height: 36px;
            display: flex;
            align-items: center;
            justify-content: center;
            border: 1px solid var(--ds-success);
            background: var(--ds-success);
            color: white;
            cursor: pointer;
            border-radius: var(--ds-radius);
            font-size: 1.5rem;
            font-weight: 600;
            transition: opacity 0.15s;
        }

        .tld-profile__add-category .add-btn:hover {
            opacity: 0.9;
        }

        .tld-profile__add-category .add-btn:disabled {
            background: var(--ds-text-muted);
            border-color: var(--ds-text-muted);
            cursor: not-allowed;
            opacity: 0.5;
        }

        /* TLD Profile - Save Footer */
        .tld-profile__save-footer {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 1rem 1.5rem;
            background: var(--ds-bg);
            border-top: 1px solid var(--ds-border);
        }

        .tld-profile__changes-indicator {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 0.875rem;
            color: var(--ds-warning);
        }

        .tld-profile__changes-indicator.hidden {
            visibility: hidden;
        }

        .tld-profile__save-actions {
            display: flex;
            gap: 0.5rem;
        }

        /* Field Selector Modal */
        .field-selector-modal {
            max-height: 70vh;
            overflow-y: auto;
        }

        .field-selector-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 0.5rem;
            max-height: 400px;
            overflow-y: auto;
            padding: 0.5rem;
        }

        .field-selector-item {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            padding: 0.5rem;
            background: var(--ds-surface);
            border-radius: var(--ds-radius);
            cursor: pointer;
            transition: background 0.15s;
        }

        .field-selector-item:hover {
            background: var(--ds-primary-light);
        }

        .field-selector-item input[type="checkbox"] {
            margin: 0;
        }

        .field-selector-item label {
            flex: 1;
            cursor: pointer;
            font-size: 0.875rem;
        }

        /* Unsaved changes dialog */
        .unsaved-dialog {
            position: fixed;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            background: var(--ds-bg);
            border-radius: var(--ds-radius-lg);
            box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
            padding: 1.5rem;
            z-index: 10001;
            min-width: 350px;
            text-align: center;
        }

        .unsaved-dialog__backdrop {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(0, 0, 0, 0.5);
            z-index: 10000;
        }

        .unsaved-dialog__title {
            font-size: 1.125rem;
            font-weight: 600;
            margin-bottom: 0.75rem;
            color: var(--ds-warning);
        }

        .unsaved-dialog__message {
            margin-bottom: 1.5rem;
            color: var(--ds-text-muted);
        }

        .unsaved-dialog__actions {
            display: flex;
            justify-content: center;
            gap: 0.75rem;
        }

        /* Native emoji display - prevents Apple emoji rendering */
        .emoji-native {
            font-family: "Noto Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Android Emoji", sans-serif;
        }
        .emoji-native option {
            font-family: "Noto Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Android Emoji", sans-serif;
        }
