:root {
    --dt-primary: #098dff;--dt-primary-hover: #0070cc;--dt-success: #10b981;--dt-danger: #ef4444;--dt-warning: #f59e0b;
    --dt-bg: #ffffff;--dt-bg-secondary: #f8fafc;--dt-bg-hover: #f1f5f9;--dt-border: #e2e8f0;
    --dt-text: #1e293b;--dt-text-secondary: #64748b;--dt-text-muted: #94a3b8;
    --dt-shadow: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1);
    --dt-shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1);
    --dt-radius: 16px;--dt-radius-sm: 10px;
}
.dark {
    --dt-bg: #1e293b;--dt-bg-secondary: #0f172a;--dt-bg-hover: #334155;--dt-border: #334155;
    --dt-text: #f1f5f9;--dt-text-secondary: #94a3b8;--dt-text-muted: #64748b;
}
.dt-wrapper{background:var(--dt-bg);border-radius:var(--dt-radius);overflow:hidden;box-shadow:var(--dt-shadow);border:1px solid var(--dt-border);transition:box-shadow .3s ease}
.dt-wrapper:hover{box-shadow:var(--dt-shadow-lg)}
.dt-header{padding:24px;border-bottom:1px solid var(--dt-border);background:linear-gradient(135deg,var(--dt-bg) 0%,var(--dt-bg-secondary) 100%)}
.dt-header-title{display:flex;align-items:center;gap:12px}
.dt-header-title h3{margin:0;font-size:18px;font-weight:700;color:var(--dt-text)}
.dt-header-title .dt-icon{width:40px;height:40px;background:linear-gradient(135deg,var(--dt-primary) 0%,var(--dt-primary-hover) 100%);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff}
.dt-search-box{padding:16px 24px;border-bottom:1px solid var(--dt-border);background:var(--dt-bg)}
.dt-search-input{width:100%;max-width:400px;padding:10px 16px 10px 40px;border:1px solid var(--dt-border);border-radius:var(--dt-radius-sm);background:var(--dt-bg-secondary);color:var(--dt-text);font-size:14px;transition:all .2s ease}
.dt-search-input:focus{outline:none;border-color:var(--dt-primary);box-shadow:0 0 0 3px rgba(9,141,255,0.1)}
.dt-search-input::placeholder{color:var(--dt-text-muted)}
.dt-search-wrapper{position:relative;display:inline-block;width:100%;max-width:400px}
.dt-search-wrapper svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--dt-text-muted);pointer-events:none}
.dt-table-container{overflow-x:auto}
.dt-table{width:100%;border-collapse:collapse;border-spacing:0}
.dt-table thead{background:var(--dt-bg-secondary)}
.dt-table th{padding:14px 16px;text-align:center;font-weight:700;font-size:12px;color:var(--dt-text-secondary);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;border-bottom:2px solid var(--dt-border)}
.dt-table th:first-child{padding-left:24px}.dt-table th:last-child{padding-right:24px}
.dt-table td{padding:12px 16px;border-bottom:1px solid var(--dt-border);font-size:13px;color:var(--dt-text);vertical-align:middle;text-align:center}
.dt-table td:first-child{padding-left:24px}.dt-table td:last-child{padding-right:24px}
.dt-table tbody tr{transition:all .2s ease}.dt-table tbody tr:hover{background:var(--dt-bg-hover)}
.dt-category-row{background:var(--dt-bg-secondary) !important;cursor:pointer;user-select:none}
.dt-category-row:hover{background:var(--dt-bg-hover) !important}
.dt-category-row td{padding:16px 24px !important;border-bottom:2px solid var(--dt-primary) !important}
.dt-category-title{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:700;color:var(--dt-text)}
.dt-category-title .num{background:var(--dt-primary);color:#fff;padding:4px 10px;border-radius:6px;font-size:12px}
.dt-category-title .chevron{margin-left:auto;transition:transform .3s ease;color:var(--dt-text-secondary)}
.dt-category-row.collapsed .chevron{transform:rotate(-90deg)}
.dt-service-row{transition:all .3s ease}.dt-service-row.hidden{display:none}
.dt-badge{display:inline-flex;align-items:center;padding:5px 10px;border-radius:6px;font-size:11px;font-weight:600;white-space:nowrap}
.dt-service-name{max-width:300px;word-wrap:break-word;overflow-wrap:break-word;white-space:normal}
.dt-badge-primary{background:rgba(9,141,255,0.12);color:var(--dt-primary)}
.dt-badge-success{background:rgba(16,185,129,0.12);color:var(--dt-success)}
.dt-badge-danger{background:rgba(239,68,68,0.12);color:var(--dt-danger)}
.dt-badge-warning{background:rgba(245,158,11,0.12);color:var(--dt-warning)}
.dt-no-results{padding:40px;text-align:center;color:var(--dt-text-muted);font-size:14px;display:none}
@media (max-width:768px){.dt-table td,.dt-table th{padding:10px 12px;font-size:11px}.dt-header{padding:16px}.dt-search-box{padding:12px 16px}.dt-category-title{font-size:13px}}
