/* ============================================ Shared Theme Variables & Base Styles ============================================ */ :root { --bg: #0f172a; --bg-alt: #111827; --card: #020617; --accent: #38bdf8; --accent-soft: rgba(56, 189, 248, 0.1); --text: #e5e7eb; --text-muted: #9ca3af; --border: #1f2937; --radius-lg: 18px; --radius-sm: 12px; --shadow-soft: 0 18px 40px rgba(15, 23, 42, 0.7); } * { box-sizing: border-box; } body { margin: 0; min-height: 100vh; font-family: system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif; background: radial-gradient(circle at top left, #0f172a 0, #020617 55%); color: var(--text); display: flex; align-items: stretch; justify-content: center; } /* Common Components */ .eyebrow { text-transform: uppercase; letter-spacing: 0.18em; font-size: 11px; color: var(--accent); margin: 0 0 6px; } .nav-link { font-size: 11px; padding: 6px 10px; border-radius: 999px; border: 1px solid var(--border); color: var(--text-muted); text-decoration: none; transition: all 0.12s ease; display: inline-flex; align-items: center; gap: 4px; } .nav-link:hover { background: rgba(15, 23, 42, 0.9); border-color: var(--accent); color: var(--accent); transform: translateY(-1px); } .search-box { flex: 1; min-width: 260px; position: relative; } .search-box input { width: 100%; border-radius: 999px; border: 1px solid var(--border); background: rgba(15, 23, 42, 0.9); color: var(--text); padding: 10px 42px 10px 16px; font-size: 14px; outline: none; } .search-box input::placeholder { color: var(--text-muted); } .search-box span { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); color: var(--text-muted); font-size: 14px; } .badge { border-radius: 999px; padding: 6px 12px; border: 1px solid var(--accent); background: var(--accent-soft); color: var(--accent); font-size: 12px; font-weight: 600; } .pill { font-size: 11px; padding: 4px 8px; border-radius: 999px; border: 1px solid var(--border); color: var(--text-muted); cursor: default; } .pill.primary { border-color: var(--accent); color: var(--accent); background: var(--accent-soft); } .pill-row { display: flex; flex-wrap: wrap; gap: 6px; } /* Card Styles */ .card { border-radius: var(--radius-lg); border: 1px solid var(--border); background: radial-gradient(circle at top left, #020617 0, #020617 60%); padding: 16px; } .table-card { border-radius: var(--radius-lg); border: 1px solid var(--border); background: radial-gradient(circle at top left, #020617 0, #020617 60%); padding: 16px; overflow-x: auto; } /* App Container */ .app { width: 100%; max-width: 1200px; background: rgba(2, 6, 23, 0.94); border-radius: 28px; border: 1px solid var(--border); box-shadow: var(--shadow-soft); padding: 28px; display: flex; flex-direction: column; gap: 24px; } /* Header Row */ .header-row { display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; align-items: flex-start; } .header-row h1 { margin: 0; font-size: 26px; } .note { color: var(--text-muted); max-width: 640px; line-height: 1.4; margin-top: 6px; } /* Responsive */ @media (max-width: 640px) { body { padding: 16px; } .app { padding: 20px; } }