/* --------------------------- Global styles --------------------------- */ body { font-family: 'Inter', sans-serif; background: #1f2937; /* Tailwind gray-900 */ color: white; } h1, h2, h3 { line-height: 1.3; } .fade-in { animation: fadeIn 0.8s ease-in-out; } @keyframes fadeIn { 0% { opacity: 0; transform: translateY(10px); } 100% { opacity: 1; transform: translateY(0); } } /* --------------------------- Glass card --------------------------- */ .glass-card { background: rgba(31, 41, 55, 0.65); /* Tailwind gray-900 + transparency */ backdrop-filter: blur(12px); border-radius: 1rem; /* rounded-xl */ border: 1px solid rgba(255, 255, 255, 0.1); box-shadow: 0 8px 20px rgba(0,0,0,0.25); } /* --------------------------- Buttons --------------------------- */ .btn-primary { background-color: #10B981; /* Tailwind green-500 */ color: white; font-weight: 600; padding: 0.5rem 1rem; border-radius: 0.5rem; transition: all 0.2s ease; } .btn-primary:hover { background-color: #059669; /* Tailwind green-600 */ transform: translateY(-1px); box-shadow: 0 4px 15px rgba(16, 185, 129, 0.5); } /* --------------------------- Confidence bar --------------------------- */ .confidence-bar { width: 100%; height: 1rem; background: rgba(255, 255, 255, 0.1); border-radius: 0.5rem; overflow: hidden; } .confidence-fill { height: 100%; width: 0%; background: linear-gradient(90deg, #10B981, #34D399); /* green gradient */ border-radius: 0.5rem; transition: width 1s ease-in-out; } /* --------------------------- Badges (Risk) --------------------------- */ .badge { display: inline-block; font-weight: 600; padding: 0.25rem 0.75rem; border-radius: 9999px; text-transform: uppercase; font-size: 0.75rem; } .badge-low { background-color: #34D399; /* green */ color: #064E3B; } .badge-medium { background-color: #FBBF24; /* yellow */ color: #78350F; } .badge-high { background-color: #F87171; /* red */ color: #7F1D1D; } /* --------------------------- Footer --------------------------- */ .footer { text-align: center; margin-top: 3rem; color: #9CA3AF; /* Tailwind gray-400 */ font-size: 0.875rem; } /* --------------------------- Table --------------------------- */ table { border-collapse: collapse; } thead th { background-color: #1f2937; /* gray-800 */ } tbody tr:hover { background-color: rgba(255, 255, 255, 0.05); } /* --------------------------- Scrollable history list --------------------------- */ #historyList { max-height: 200px; overflow-y: auto; padding-right: 0.5rem; } /* --------------------------- Grad-CAM Image --------------------------- */ #camImage { max-width: 100%; max-height: 300px; object-fit: contain; } /* --------------------------- Inputs --------------------------- */ input[type="file"], input[type="text"], input[type="password"] { background-color: white; color: black; border: 1px solid #d1d5db; /* Tailwind gray-300 */ padding: 0.5rem; border-radius: 0.5rem; width: 100%; } input[type="file"]:focus, input[type="text"]:focus, input[type="password"]:focus { outline: none; border-color: #10B981; box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.3); }