body { background-color: #f5f5f5; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; padding-bottom: 2rem; } html { scroll-behavior: smooth; } .card { border: 1px solid #e0e0e0; border-radius: 0.5rem; margin-bottom: 1.5rem; animation: fadeIn 0.4s ease-out; } .card-header { background-color: #ffffff; border-bottom: 2px solid #e0e0e0; padding: 1.25rem 1.5rem; } .card-header h4 { color: #212529; font-weight: 600; } .card-body { background-color: #ffffff; } .shadow-sm { box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; } #countryList { max-height: 600px; overflow-y: auto; padding: 0.75rem; background-color: #fafafa; border: 1px solid #e0e0e0; border-radius: 0.375rem; margin-bottom: 0.75rem; } #countryList::-webkit-scrollbar { width: 8px; } #countryList::-webkit-scrollbar-track { background: #f1f1f1; border-radius: 4px; } #countryList::-webkit-scrollbar-thumb { background: #888; border-radius: 4px; } #countryList::-webkit-scrollbar-thumb:hover { background: #555; } .form-check-compact { padding: 0.25rem 0.5rem; margin-bottom: 0.15rem; transition: background-color 0.1s; border-radius: 0.25rem; display: flex; align-items: center; gap: 0.4rem; } .form-check-compact:hover { background-color: #e9ecef; } .form-check-compact .form-check-input { width: 1rem; height: 1rem; margin: 0; cursor: pointer; flex-shrink: 0; position: relative; } .form-check-compact .form-check-label { cursor: pointer; user-select: none; font-size: 0.75rem; padding: 0; margin: 0; font-family: 'Courier New', monospace; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.4; flex: 1; min-width: 0; } #countryList .col-lg-2, #countryList .col-md-3, #countryList .col-sm-4, #countryList .col-6 { padding: 0.15rem; } #countryList .form-check { padding-left: 0; min-height: auto; } .form-label { color: #495057; font-size: 1rem; margin-bottom: 0.75rem; } .form-select, .form-control { border-radius: 0.375rem; border: 1px solid #ced4da; transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } .form-select:focus, .form-control:focus { border-color: #80bdff; box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } .form-select-lg { padding: 0.75rem 1rem; font-size: 1.05rem; } .form-switch { padding-left: 0; min-height: auto; } .form-switch .form-check-input { width: 3rem; height: 1.5rem; margin-left: 0; margin-right: 1rem; float: left; cursor: pointer; } .form-switch .form-check-label { display: inline-block; padding-left: 0; padding-top: 0.125rem; } .aggregate-card { background-color: #f8f9fa; border: 1px solid #e0e0e0; border-radius: 0.375rem; padding: 1rem; } .aggregate-card .form-check { padding: 0; margin-bottom: 0; } .btn { border-radius: 0.375rem; font-weight: 500; transition: all 0.2s ease; } .btn-primary { background-color: #0d6efd; border-color: #0d6efd; } .btn-primary:hover { background-color: #0b5ed7; border-color: #0a58ca; transform: translateY(-1px); box-shadow: 0 4px 8px rgba(13, 110, 253, 0.3); } .btn-lg { padding: 0.875rem 1.5rem; font-size: 1.125rem; } .btn-outline-primary { color: #0d6efd; border-color: #0d6efd; } .btn-outline-primary:hover { background-color: #0d6efd; border-color: #0d6efd; color: white; } .btn-outline-secondary { color: #6c757d; border-color: #6c757d; } .btn-outline-secondary:hover { background-color: #6c757d; border-color: #6c757d; color: white; } .btn:disabled { cursor: not-allowed; opacity: 0.65; } .alert { border-radius: 0.5rem; border: none; padding: 1rem 1.25rem; } .alert i { font-size: 1.1rem; vertical-align: middle; } .alert-info { background-color: #d1ecf1; color: #0c5460; } .alert-success { background-color: #d4edda; color: #155724; } .alert-warning { background-color: #fff3cd; color: #856404; } .alert-danger { background-color: #f8d7da; color: #721c24; } .progress { border-radius: 0.5rem; background-color: #e9ecef; overflow: hidden; } .progress-bar { font-size: 0.95rem; font-weight: 500; } .navbar { background-color: #ffffff; border-bottom: 1px solid #e0e0e0; padding: 1rem 0; } .navbar-brand { font-weight: 600; font-size: 1.25rem; color: #212529; } .navbar-brand img { max-height: 30px; } .footer { background-color: #ffffff; border-top: 1px solid #e0e0e0; padding: 1.5rem 0; margin-top: 3rem; } .footer a { color: #0d6efd; text-decoration: none; transition: color 0.2s; } .footer a:hover { color: #0a58ca; text-decoration: underline; } .modal-xl { max-width: 90%; } #previewContent { background-color: #282c34 !important; color: #abb2bf !important; padding: 1.5rem; border-radius: 0.375rem; font-family: 'Courier New', Consolas, Monaco, monospace; font-size: 0.875rem; line-height: 1.5; max-height: 70vh; overflow: auto; white-space: pre; word-wrap: normal; display: block !important; } .modal-body { padding: 1.5rem; } .modal-body pre { margin-bottom: 0; background-color: transparent; } .modal-body pre code { display: block; background-color: #282c34; color: #abb2bf; } #previewContent::-webkit-scrollbar { width: 10px; height: 10px; } #previewContent::-webkit-scrollbar-track { background: #21252b; } #previewContent::-webkit-scrollbar-thumb { background: #4b5263; border-radius: 5px; } #previewContent::-webkit-scrollbar-thumb:hover { background: #5c6370; } .api-header-get { background-color: #e7f3ff; border-left: 4px solid #0dcaf0; cursor: pointer; transition: background-color 0.2s; } .api-header-get:hover { background-color: #d1ecf1; } .api-header-post { background-color: #d4edda; border-left: 4px solid #198754; cursor: pointer; transition: background-color 0.2s; } .api-header-post:hover { background-color: #c3e6cb; } .api-path { font-size: 1rem; font-weight: 600; color: #212529; } .api-endpoint pre { background-color: #282c34; color: #abb2bf; padding: 1rem; border-radius: 0.375rem; overflow-x: auto; margin-bottom: 0; } .api-endpoint pre code { background-color: transparent; color: inherit; padding: 0; font-size: 0.9rem; line-height: 1.6; } .api-endpoint .text-success { color: #98c379 !important; } .api-endpoint .text-warning { color: #e5c07b !important; } .api-endpoint .text-info { color: #61afef !important; } .api-endpoint .text-danger { color: #e06c75 !important; } @keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } @media (min-width: 1400px) { #countryList .col-lg-2 { flex: 0 0 12.5%; max-width: 12.5%; } } @media (max-width: 1199px) { #countryList .col-lg-2 { flex: 0 0 16.666%; max-width: 16.666%; } } @media (max-width: 991px) { #countryList .col-md-3 { flex: 0 0 20%; max-width: 20%; } } @media (max-width: 767px) { .card-body { padding: 1.5rem !important; } #countryList { max-height: 300px; } #countryList .col-sm-4 { flex: 0 0 25%; max-width: 25%; } .form-check-compact .form-check-label { font-size: 0.75rem; } .form-select-lg, .btn-lg { font-size: 1rem; padding: 0.75rem 1.25rem; } .navbar-brand { font-size: 1rem; } .modal-xl { max-width: 95%; } } @media (max-width: 575px) { #countryList .col-6 { flex: 0 0 33.333%; max-width: 33.333%; } } @media (max-width: 399px) { #countryList .col-6 { flex: 0 0 50%; max-width: 50%; } } #variantDescription { animation: fadeIn 0.3s ease-in; } @keyframes fadeIn { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }