/* BCards Test App Styles */ html { font-size: 14px; } @media (min-width: 768px) { html { font-size: 16px; } } html { position: relative; min-height: 100%; } body { margin-bottom: 60px; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; } .footer { position: absolute; bottom: 0; width: 100%; white-space: nowrap; line-height: 60px; } .jumbotron { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); border: none; box-shadow: 0 4px 6px rgba(0,0,0,0.1); } .card { border: none; box-shadow: 0 2px 4px rgba(0,0,0,0.1); transition: all 0.3s ease; } .card:hover { transform: translateY(-2px); box-shadow: 0 4px 8px rgba(0,0,0,0.15); } .btn { border-radius: 6px; font-weight: 500; transition: all 0.3s ease; } .btn:hover { transform: translateY(-1px); } .alert { border-radius: 8px; border: none; } .badge { font-size: 0.8em; } pre { background-color: #f8f9fa; border: 1px solid #e9ecef; border-radius: 4px; padding: 1rem; font-size: 0.875rem; max-height: 300px; overflow-y: auto; } .navbar-brand { font-weight: 700; } .list-group-item { border: none; border-bottom: 1px solid #e9ecef; } .list-group-item:last-child { border-bottom: none; } /* Loading animation */ .loading { display: inline-block; width: 20px; height: 20px; border: 3px solid rgba(255,255,255,.3); border-radius: 50%; border-top-color: #fff; animation: spin 1s ease-in-out infinite; } @keyframes spin { to { transform: rotate(360deg); } } /* Server status indicators */ .server-status { width: 12px; height: 12px; border-radius: 50%; display: inline-block; margin-right: 8px; } .server-status.online { background-color: #28a745; box-shadow: 0 0 0 2px rgba(40, 167, 69, 0.3); } .server-status.offline { background-color: #dc3545; box-shadow: 0 0 0 2px rgba(220, 53, 69, 0.3); } /* Dark theme support */ @media (prefers-color-scheme: dark) { .card { background-color: #2d3748; color: #e2e8f0; } .alert { background-color: #4a5568; color: #e2e8f0; } }