*{ margin: 0; padding: 0; box-sizing: border-box; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; } ::selection{ color: #000; background: #fff; } nav{ position: fixed; background: #1b1b1b; width: 100%; padding: 10px 0; z-index: 12; } nav .menu{ max-width: 1250px; margin: auto; display: flex; align-items: center; justify-content: space-between; padding: 0 20px; } .menu .logo a{ text-decoration: none; color: #fff; font-size: 35px; font-weight: 600; } .menu ul{ display: flex; } .menu ul li{ list-style: none; margin-left: 7px; } .menu ul li:first-child{ margin-left: 0px; } .menu ul li a{ text-decoration: none; color: #fff; font-size: 18px; font-weight: 500; padding: 0px 15px; border-radius: 5px; transition: all 0.3s ease; } .menu ul li a:hover{ background-color: #fff; color: #000; padding: 10px 15px; } /* ── Body & layout ─────────────────────────────────────────── */ body { background: url(../images/recon_ranger_logo.png) no-repeat center center fixed; background-size: cover; color: #e2e8f0; min-height: 100vh; display: flex; flex-direction: column; } body::before { content: ''; position: fixed; inset: 0; background: rgba(0, 0, 0, 0.55); z-index: 0; pointer-events: none; } main { flex: 1; padding-top: 70px; /* clear fixed nav */ position: relative; z-index: 1; } footer { position: relative; z-index: 1; background: rgba(27, 27, 27, 0.85); color: #888; text-align: center; padding: 18px 20px; font-size: 14px; letter-spacing: 0.03em; border-top: 1px solid #2d2d2d; } /* ── Dashboard content container ────────────────────────── */ .dashboard-container { max-width: 1250px; margin: 32px auto; padding: 40px 24px 60px; background: rgba(15, 17, 23, 0.45); backdrop-filter: blur(6px); border-radius: 12px; } .dashboard-container h1 { font-size: 28px; font-weight: 600; color: #f1f5f9; margin-bottom: 24px; padding-bottom: 12px; border-bottom: 2px solid #2d2d3a; letter-spacing: 0.02em; } /* ── Data table ─────────────────────────────────────────── */ .table-scroll { overflow-x: auto; border-radius: 10px; } .data-table { width: 100%; border-collapse: collapse; font-size: 14px; box-shadow: 0 4px 24px rgba(0, 0, 0, 0.4); } .data-table thead { background: #1b1b2e; } .data-table thead th { padding: 14px 18px; text-align: left; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: #94a3b8; border-bottom: 1px solid #2d2d3a; white-space: nowrap; } .data-table tbody tr { background: #161622; transition: background 0.15s ease; } .data-table tbody tr:nth-child(even) { background: #1a1a28; } .data-table tbody tr:hover { background: #252540; } .data-table tbody td { padding: 13px 18px; border-bottom: 1px solid #22222e; color: #cbd5e1; vertical-align: middle; } .data-table tbody tr:last-child td { border-bottom: none; } /* ── Status badges ──────────────────────────────────────── */ .badge { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; letter-spacing: 0.04em; white-space: nowrap; } .badge-matched { background: rgba(34,197,94,0.15); color: #4ade80; } .badge-unmatched { background: rgba(239,68,68,0.15); color: #f87171; } .badge-pending { background: rgba(234,179,8,0.15); color: #facc15; } .badge-none { background: rgba(100,116,139,0.15); color: #94a3b8; } .badge-flag { background: rgba(249,115,22,0.15); color: #fb923c; } /* ── Filter bar ─────────────────────────────────────────── */ .filter-bar { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 16px; margin-bottom: 24px; padding: 18px 20px; background: rgba(255, 255, 255, 0.04); border: 1px solid #2d2d3a; border-radius: 10px; } .filter-group { display: flex; flex-direction: column; gap: 6px; } .filter-group label { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.07em; color: #94a3b8; } .filter-group input { background: #0f1117; border: 1px solid #2d2d3a; border-radius: 6px; color: #e2e8f0; font-size: 14px; padding: 8px 12px; min-width: 200px; transition: border-color 0.15s ease; } .filter-group input:focus { outline: none; border-color: #6366f1; } .filter-group input[type="date"]::-webkit-calendar-picker-indicator { filter: invert(0.6); cursor: pointer; } .filter-actions { display: flex; gap: 8px; align-items: flex-end; } /* ── Buttons ────────────────────────────────────────────── */ .btn { display: inline-block; padding: 8px 18px; border-radius: 6px; font-size: 13px; font-weight: 600; letter-spacing: 0.03em; cursor: pointer; text-decoration: none; border: none; transition: opacity 0.15s ease, background 0.15s ease; white-space: nowrap; } .btn-primary { background: #6366f1; color: #fff; } .btn-primary:hover { background: #4f46e5; } .btn-secondary { background: rgba(255, 255, 255, 0.07); color: #cbd5e1; border: 1px solid #2d2d3a; } .btn-secondary:hover:not(.btn-disabled) { background: rgba(255, 255, 255, 0.13); } .btn-disabled { opacity: 0.35; cursor: default; pointer-events: none; } /* ── Pagination ─────────────────────────────────────────── */ .pagination { display: flex; gap: 10px; justify-content: flex-end; margin-top: 20px; }