/* 
 * ANB OSINT PLATFORM
 * Palantir-Inspired Technical Aesthetic
 */

 @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');

 :root {
     --pt-bg-base: #0a0e14;
     --pt-bg-surface: #121820;
     --pt-bg-highlight: #1a222c;
     --pt-border: #263342;
     --pt-text-primary: #e2e8f0;
     --pt-text-secondary: #94a3b8;
     --pt-accent: #00d2ff;
     --pt-accent-glow: rgba(0, 210, 255, 0.4);
     --pt-danger: #ff3366;
     --pt-success: #00ff9d;
     --pt-warning: #ffb800;
 }
 
 body {
     background-color: var(--pt-bg-base);
     color: var(--pt-text-primary);
     font-family: 'Inter', -apple-system, sans-serif;
     -webkit-font-smoothing: antialiased;
 }
 
 /* Overriding Bootstrap Bg & Text */
 .bg-white, .bg-light {
     background-color: var(--pt-bg-base) !important;
 }
 .text-dark {
     color: var(--pt-text-primary) !important;
 }
 .text-muted {
     color: var(--pt-text-secondary) !important;
 }
 
 /* Force all typography to be visible against dark bg */
 h1, h2, h3, h4, h5, h6, p, span, div, td, th, label, small, strong {
     color: var(--pt-text-primary);
 }
 a {
     color: var(--pt-accent);
     text-decoration: none;
 }
 a:hover {
     color: #fff;
 }
 .text-muted {
     color: var(--pt-text-secondary) !important;
 }
 
 /* Cards & Panels */
 .card {
     background-color: var(--pt-bg-surface);
     border: 1px solid var(--pt-border) !important;
     border-radius: 2px !important; /* Sharp edges */
     box-shadow: 0 4px 20px rgba(0,0,0,0.5) !important;
 }
 .card-header {
     background-color: transparent !important;
     border-bottom: 1px solid var(--pt-border) !important;
     border-radius: 0 !important;
     padding: 1rem 1.25rem;
 }
 .card-header h6 {
     font-family: 'JetBrains Mono', monospace;
     text-transform: uppercase;
     letter-spacing: 1px;
     color: var(--pt-accent);
     font-size: 0.9rem;
     font-weight: 600;
 }
 
 /* Sidebar Overrides */
 .sidebar-wrapper, .sidebar {
     background-color: var(--pt-bg-surface) !important;
     border-right: 1px solid var(--pt-border);
     width: 250px;
     min-height: 100vh;
     flex-shrink: 0;
 }
 .sidebar .nav-link, .sidebar a {
     color: #e2e8f0 !important;
     font-family: 'JetBrains Mono', monospace;
     font-size: 0.85rem;
     border-radius: 0;
     transition: all 0.2s ease;
     border-left: 2px solid transparent;
     display: block;
     opacity: 1 !important;
     visibility: visible !important;
 }
 .sidebar .nav-link:hover, .sidebar a:hover {
     background-color: rgba(255,255,255,0.05);
     color: #00d2ff !important;
 }
 .sidebar .nav-link.active {
     background-color: rgba(0, 210, 255, 0.1) !important;
     color: #00d2ff !important;
     border-left: 2px solid #00d2ff;
 }
 .sidebar span, .sidebar strong {
     color: #e2e8f0 !important;
 }
 .main-content {
     flex-grow: 1;
     min-width: 0;
 }
 
 /* Tables */
 .table {
     --bs-table-bg: transparent;
     --bs-table-color: var(--pt-text-primary);
     --bs-table-border-color: var(--pt-border);
     --bs-table-hover-bg: rgba(0, 210, 255, 0.05); /* Soft cyan bg on hover */
     --bs-table-hover-color: var(--pt-text-primary); /* Keep text white on hover */
 }
 .table > :not(caption) > * > * {
     border-bottom-color: var(--pt-border);
     padding: 1rem;
 }
 .table-hover > tbody > tr:hover > * {
     color: var(--pt-text-primary) !important;
 }
 th {
     font-family: 'JetBrains Mono', monospace;
     text-transform: uppercase;
     font-size: 0.75rem;
     letter-spacing: 1px;
     color: var(--pt-text-secondary) !important;
     border-bottom: 2px solid var(--pt-border) !important;
 }
 
 /* Pagination DataTables */
 .page-link {
     background-color: var(--pt-bg-surface);
     border: 1px solid var(--pt-border);
     color: var(--pt-text-secondary);
     font-family: 'JetBrains Mono', monospace;
     border-radius: 0 !important;
     box-shadow: none !important;
 }
 .page-link:hover {
     background-color: var(--pt-bg-highlight);
     border-color: var(--pt-accent);
     color: var(--pt-accent);
 }
 .page-item.active .page-link {
     background-color: var(--pt-accent);
     border-color: var(--pt-accent);
     color: #000 !important;
     font-weight: bold;
 }
 .page-item.disabled .page-link {
     background-color: var(--pt-bg-base);
     border-color: var(--pt-border);
     color: #4a5568;
 }
 
 /* Forms */
 .form-control, .form-select {
     background-color: var(--pt-bg-base);
     border: 1px solid var(--pt-border);
     color: var(--pt-text-primary);
     border-radius: 0;
     font-family: 'JetBrains Mono', monospace;
     font-size: 0.9rem;
 }
 .form-control:focus, .form-select:focus {
     background-color: var(--pt-bg-base);
     color: var(--pt-text-primary);
     border-color: var(--pt-accent);
     box-shadow: 0 0 0 2px var(--pt-accent-glow);
 }
 .form-label {
     font-family: 'JetBrains Mono', monospace;
     font-size: 0.8rem;
     text-transform: uppercase;
     color: var(--pt-text-secondary);
     letter-spacing: 0.5px;
 }
 
 /* Buttons */
 .btn {
     border-radius: 0;
     font-family: 'JetBrains Mono', monospace;
     text-transform: uppercase;
     font-size: 0.8rem;
     font-weight: 500;
     letter-spacing: 0.5px;
     padding: 0.5rem 1rem;
 }
 .btn-dark, .btn-primary {
     background-color: var(--pt-bg-base);
     color: var(--pt-accent);
     border: 1px solid var(--pt-accent);
 }
 .btn-dark:hover, .btn-primary:hover {
     background-color: var(--pt-accent);
     color: #000;
     box-shadow: 0 0 15px var(--pt-accent-glow);
 }
 .btn-outline-primary {
     color: var(--pt-accent);
     border-color: var(--pt-accent);
 }
 .btn-outline-primary:hover {
     background-color: var(--pt-accent);
     color: #000;
 }
 .btn-light {
     background-color: var(--pt-bg-highlight);
     color: var(--pt-text-secondary);
     border: 1px solid var(--pt-border);
 }
 .btn-light:hover {
     background-color: var(--pt-border);
     color: var(--pt-text-primary);
 }
 
 /* Stats Cards */
 .stat-card-icon {
     background: transparent !important;
     border: 1px solid var(--pt-accent);
     color: var(--pt-accent) !important;
     box-shadow: 0 0 10px var(--pt-accent-glow) inset;
     border-radius: 0 !important;
 }
 .rounded-circle {
     border-radius: 0 !important; /* Force square tech aesthetic */
 }
 
 /* Badges */
 .badge {
     border-radius: 0;
     font-weight: 500;
     font-family: 'JetBrains Mono', monospace;
     padding: 0.4em 0.6em;
 }
 .bg-success { background-color: rgba(0, 255, 157, 0.1) !important; color: var(--pt-success); border: 1px solid var(--pt-success); }
 .bg-danger { background-color: rgba(255, 51, 102, 0.1) !important; color: var(--pt-danger); border: 1px solid var(--pt-danger); }
 .bg-warning { background-color: rgba(255, 184, 0, 0.1) !important; color: var(--pt-warning); border: 1px solid var(--pt-warning); }
 .bg-info { background-color: rgba(0, 210, 255, 0.1) !important; color: var(--pt-accent); border: 1px solid var(--pt-accent); }
 .bg-secondary, .bg-light { background-color: var(--pt-bg-highlight) !important; color: var(--pt-text-secondary) !important; border: 1px solid var(--pt-border) !important; }
 
 /* Grid Background for Auth / specific areas */
 .tech-grid {
     background-color: var(--pt-bg-base);
     background-image: 
         linear-gradient(rgba(38, 51, 66, 0.2) 1px, transparent 1px),
         linear-gradient(90deg, rgba(38, 51, 66, 0.2) 1px, transparent 1px);
     background-size: 30px 30px;
     position: relative;
 }
 .tech-grid::before {
     content: '';
     position: absolute;
     top: 0; right: 0; bottom: 0; left: 0;
     background: radial-gradient(circle at center, transparent 0%, var(--pt-bg-base) 80%);
     pointer-events: none;
     z-index: -1;
 }
 .sidebar, .main-content {
     position: relative;
 }
 
 /* Topbar */
 .topbar {
     background-color: var(--pt-bg-surface) !important;
     border-bottom: 1px solid var(--pt-border) !important;
 }
