:root { --bg: #0d0f12; --surface: #14181f; --surface-2: #1b2029; --border: #232a34; --text: #e6e9ef; --muted: #9aa3b2; --accent: #3ea6ff; --accent-2: #7dd3fc; --success: #2dd4bf; --warning: #fbbf24; } * { box-sizing: border-box; } body.app-body { margin: 0; min-height: 100vh; background: var(--bg); color: var(--text); font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 15px; line-height: 1.6; } a { color: var(--accent); text-decoration: none; } a:hover { color: var(--accent-2); } .navbar { background: rgba(13, 15, 18, 0.96); border-bottom: 1px solid var(--border); } .navbar-brand { font-weight: 600; letter-spacing: 0.3px; } .nav-link { color: var(--muted); } .nav-link.active, .nav-link:hover { color: var(--text); } .hero { background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 2.5rem; } .stat-card, .app-card { background: var(--surface); border: 1px solid var(--border); border-radius: 10px; padding: 1.5rem; } .stat-card h3 { font-size: 1.3rem; margin: 0 0 0.5rem; } .badge-soft { background: var(--surface-2); color: var(--muted); border: 1px solid var(--border); font-weight: 500; } .table-dark { --bs-table-bg: var(--surface); --bs-table-border-color: var(--border); --bs-table-color: var(--text); } .form-control, .form-select, .form-check-input { background: var(--surface); border: 1px solid var(--border); color: var(--text); border-radius: 8px; } .form-control:focus, .form-select:focus, .form-check-input:focus { border-color: var(--accent); box-shadow: 0 0 0 0.2rem rgba(62, 166, 255, 0.15); } .form-text { color: var(--muted); } .btn-primary { background: var(--accent); border-color: var(--accent); color: #0b1117; font-weight: 600; border-radius: 8px; } .btn-primary:hover { background: #62b6ff; border-color: #62b6ff; color: #0b1117; } .btn-outline-light { border-color: var(--border); color: var(--text); border-radius: 8px; } .btn-outline-light:hover { background: var(--surface-2); color: var(--text); } .alert { border-radius: 10px; border: 1px solid var(--border); background: var(--surface-2); color: var(--text); } .alert-success { border-color: rgba(45, 212, 191, 0.4); } .alert-warning { border-color: rgba(251, 191, 36, 0.4); } .tag { background: rgba(62, 166, 255, 0.12); color: var(--accent); border: 1px solid rgba(62, 166, 255, 0.25); border-radius: 999px; padding: 0.2rem 0.6rem; font-size: 0.75rem; font-weight: 600; letter-spacing: 0.2px; } .footer { border-top: 1px solid var(--border); background: var(--surface); color: var(--muted); } .muted { color: var(--muted); } .section-title { font-size: 1.1rem; letter-spacing: 0.4px; text-transform: uppercase; color: var(--muted); }