/* infopage.component.css - Updated for Professional Case Details Theme */ /* ===== CSS Reset ===== */ * { margin: 0; padding: 0; box-sizing: border-box; } html, body { height: 100%; width: 100%; overflow: hidden; font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif; font-size: 12px; /* Updated from 14px */ scroll-behavior: smooth; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; background: #f8fafc; color: #111827; } /* ===== Animations ===== */ @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } @keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } @keyframes fadeInDown { from { opacity: 0; transform: translateY(-20px); } to { opacity: 1; transform: translateY(0); } } @keyframes fadeInLeft { from { opacity: 0; transform: translateX(-20px); } to { opacity: 1; transform: translateX(0); } } @keyframes fadeInRight { from { opacity: 0; transform: translateX(20px); } to { opacity: 1; transform: translateX(0); } } @keyframes pulse { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.05); opacity: 0.8; } } @keyframes pulse-ring { 0% { transform: scale(0.8); opacity: 0.5; } 80%, 100% { transform: scale(2); opacity: 0; } } @keyframes shimmer { 0% { background-position: -1000px 0; } 100% { background-position: 1000px 0; } } @keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } } @keyframes gradientShift { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } } @keyframes ripple { 0% { transform: scale(0); opacity: 0.5; } 100% { transform: scale(4); opacity: 0; } } @keyframes slideIn { from { transform: translateX(-100%); opacity: 0; } to { transform: translateX(0); opacity: 1; } } @keyframes scaleIn { from { transform: scale(0.95); opacity: 0; } to { transform: scale(1); opacity: 1; } } @keyframes spin { to { transform: rotate(360deg); } } @keyframes iconPulse { 0%, 100% { transform: scale(1) rotate(0deg); } 50% { transform: scale(1.08) rotate(3deg); } } @keyframes iconGlow { 0%, 100% { box-shadow: 0 3px 10px 0 rgba(30, 58, 138, 0.3); } 50% { box-shadow: 0 6px 20px 0 rgba(30, 58, 138, 0.5); } } /* ===== Updated Header ===== */ .site-header { background: linear-gradient(135deg, #011329 0%, #0a2540 100%); box-shadow: 0 15px 20px -5px rgba(0, 0, 0, 0.1), 0 6px 8px -4px rgba(0, 0, 0, 0.1); height: 60px; flex-shrink: 0; position: sticky; top: 0; z-index: 1000; transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1); border-bottom: 1px solid rgba(255, 255, 255, 0.1); backdrop-filter: blur(8px); background: rgba(1, 19, 41, 0.95); } .site-header::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(135deg, rgba(30, 58, 138, 0.9) 0%, rgba(1, 19, 41, 0.95) 100%); z-index: -1; } .header-inner { display: flex; align-items: center; justify-content: space-between; height: 100%; padding: 0 20px; max-width: 1440px; margin: 0 auto; width: 100%; } .logo-cluster { display: flex; align-items: center; gap: 12px; margin-left: -215px; } .logo-img-header { width: 48px; /* Increased from 40px to match record page */ height: 48px; /* Increased from 40px to match record page */ border-radius: 50%; /* Changed from 10px to match record page */ background: white; /* Changed from gradient to match record page */ padding: 6px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); /* Simplified shadow to match record page */ cursor: pointer; transition: transform 0.2s; /* Simplified transition to match record page */ } .logo-img-header:hover { transform: scale(1.05); /* Simplified hover to match record page */ } .py-detect-title-header { font-size: 28px; /* Increased from 22px to match record page */ font-weight: 900; letter-spacing: 3px; /* Increased from 2px to match record page */ color: #38bdf8; /* Changed from gradient to solid color to match record page */ display: flex; align-items: center; gap: 2px; } /* Add specific styling for each letter to match record page */ .py-detect-title-header .py-letter.p, .py-detect-title-header .py-letter.d, .py-detect-title-header .py-letter.t, .py-detect-title-header .py-letter.c { color: #e3f6ff; text-shadow: 0 0 6px #38bdf8; } .py-detect-title-header .py-letter.y, .py-detect-title-header .py-letter.e, .py-detect-title-header .py-letter.e2, .py-detect-title-header .py-letter.t2 { color: #38bdf8; text-shadow: 0 0 6px #38bdf8; } .py-shape { display: inline-block; width: 16px; /* Increased from 12px to match record page */ height: 4px; /* Increased from 3px to match record page */ background: #e3f6ff; /* Changed from gradient to solid color to match record page */ margin: 0 6px; /* Increased from 4px to match record page */ border-radius: 2px; box-shadow: 0 0 6px #38bdf8; } /* ===== Progress Bar ===== */ .header-progress { display: flex; align-items: center; gap: 14px; margin-right: -642px; } .pykara-analysis-label { color: #38bdf8; font-size: 11px; font-weight: 600; letter-spacing: 0.2px; text-transform: uppercase; } .pykara-progress-bar { width: 186px; height: 6px; background: #f3f4f6; border-radius: 3px; overflow: hidden; border: 1px solid #e5e7eb; box-shadow: inset 0 1px 3px 0 rgba(0, 0, 0, 0.05); } .pykara-progress-bar-inner { height: 100%; background: linear-gradient(90deg, #38bdf8, #1E3A8A); border-radius: 3px; transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1); position: relative; overflow: hidden; } .pykara-progress-bar-inner::after { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent); animation: shimmer 2s infinite; } .pykara-progress-percentage { color: #38bdf8; font-size: 11px; font-weight: 700; min-width: 40px; text-align: right; } /* ===== Header Actions ===== */ .header-actions { display: flex; align-items: center; gap: 12px; margin-right: -223px; } .autosave-indicator { display: flex; align-items: center; gap: 6px; padding: 6px 12px; background: linear-gradient(135deg, #1E3A8A, #2563eb); border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 6px; color: #ffffff; font-size: 11px; font-weight: 600; backdrop-filter: blur(8px); transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1); } .autosave-indicator.saving { background: rgba(56, 189, 248, 0.2); border-color: rgba(56, 189, 248, 0.4); animation: pulse 1.5s ease-in-out infinite; } .profile-display { display: flex; align-items: center; cursor: pointer; color: #fff; position: relative; } .profile-avatar { width: 36px; height: 36px; border-radius: 50%; background: linear-gradient(135deg, #38bdf8, #1E3A8A); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 14px; overflow: hidden; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2); border: 2px solid rgba(255, 255, 255, 0.3); } .profile-menu { position: absolute; top: calc(100% + 8px); right: 0; background: #ffffff; border-radius: 10px; padding: 16px; min-width: 260px; box-shadow: 0 15px 30px -10px rgba(0, 0, 0, 0.2); border: 1px solid #e5e7eb; z-index: 1001; animation: fadeIn 250ms cubic-bezier(0.4, 0, 0.2, 1); } .profile-menu > div:first-child { display: flex; align-items: center; gap: 12px; padding-bottom: 12px; border-bottom: 1px solid #e5e7eb; margin-bottom: 12px; } .profile-menu > div:first-child > div:first-child { width: 42px; height: 42px; border-radius: 50%; background: linear-gradient(135deg, #1E3A8A, #2563eb); display: flex; align-items: center; justify-content: center; font-weight: 700; color: #fff; overflow: hidden; border: 2px solid #e5e7eb; } .profile-menu > div:first-child > div:last-child { flex: 1; } .profile-menu > div:first-child > div:last-child > div:first-child { font-weight: 700; color: #ffffff; font-size: 18px; } .profile-menu > div:first-child > div:last-child > div:last-child { color: #ffffff; font-size: 12px; font-weight: 500; } .profile-menu button { width: 100%; display: flex; align-items: center; gap: 8px; padding: 10px 12px; border: none; border-radius: 8px; background: #f9fafb; color: #111827; font-weight: 600; font-size: 13px; cursor: pointer; transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1); } .profile-menu button:hover { background: #f3f4f6; color: #1E3A8A; } .view-records-btn { width: 40px; height: 40px; border-radius: 10px; background: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.2); color: white; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1); font-size: 18px; position: relative; } .view-records-btn:hover { background: rgba(255, 255, 255, 0.2); border-color: rgba(56, 189, 248, 0.4); transform: translateY(-1px); } .view-records-btn span { position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); background: #1f2937; color: white; padding: 6px 12px; border-radius: 6px; font-size: 11px; font-weight: 600; white-space: nowrap; z-index: 100; border: 1px solid #374151; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); } /* ===== Enhanced Section Navigation ===== */ .section-navigation { background: #ffffff; box-shadow: 0 6px 12px -3px rgba(0, 0, 0, 0.1), 0 3px 5px -3px rgba(0, 0, 0, 0.1); padding: 12px 0; /* Reduced padding */ border-bottom: 1px solid #e5e7eb; margin-bottom: 16px; position: relative; overflow: hidden; } .section-navigation::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(to bottom, #ffffff 0%, #f9fafb 100%); z-index: -1; } .section-pills { display: flex; justify-content: center; gap: 8px; /* Reduced gap */ max-width: 1200px; margin: 0 auto; padding: 0 20px; } .section-pill { padding: 10px 20px; background: #ffffff; border: 2px solid #e5e7eb; border-radius: 10px; color: #374151; font-weight: 600; font-size: 12px; cursor: pointer; transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1); display: flex; align-items: center; gap: 12px; /* Increased gap for better spacing */ min-width: 160px; justify-content: flex-start; /* Align content to left like sidebar */ position: relative; overflow: hidden; text-align: left; } .section-pill:hover { background: linear-gradient(90deg, rgba(30, 58, 138, 0.05), transparent); border-color: #1E3A8A; color: #1E3A8A; transform: translateX(2px); box-shadow: 0 3px 5px -1px rgba(0, 0, 0, 0.1), 0 2px 3px -2px rgba(0, 0, 0, 0.1); } .section-pill.active { background: rgba(30, 58, 138, 0.08); border-left: 3px solid #1E3A8A; color: #1E3A8A; font-weight: 600; box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1), 0 1px 1px -1px rgba(0, 0, 0, 0.1); } .section-pill.completed { background: #f0fdf4; border-color: #86efac; color: #166534; } .section-pill.completed:hover { background: #dcfce7; border-color: #4ade80; } /* Enhanced Section Icons */ .section-pill i { font-size: 14px; color: #1E3A8A; transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1); width: 32px; height: 32px; border-radius: 6px; background: #f9fafb; display: flex; align-items: center; justify-content: center; border: 1px solid #e5e7eb; box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.05); } .section-pill:hover i { transform: scale(1.08); background: linear-gradient(135deg, #1E3A8A, #2563eb); color: white; box-shadow: 0 3px 10px 0 rgba(30, 58, 138, 0.3); } .section-pill.active i { background: linear-gradient(135deg, #1E3A8A, #2563eb); color: white; box-shadow: 0 3px 10px 0 rgba(30, 58, 138, 0.3); } .section-pill.completed i { color: #166534; background: #f0fdf4; } .section-pill span { font-weight: 700; flex: 1; } /* Add chevron for consistency with Summary Page */ .section-pill .nav-chevron { margin-left: auto; font-size: 10px; color: #9CA3AF; transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1); } .section-pill.active .nav-chevron { transform: rotate(90deg); color: #1E3A8A; } /* Enhanced Pill Inner Elements */ .pill-neural-core { position: absolute; top: 50%; left: 8px; width: 8px; height: 8px; background: linear-gradient(135deg, #38bdf8, #1E3A8A); border-radius: 50%; transform: translateY(-50%); opacity: 0; transition: opacity 250ms cubic-bezier(0.4, 0, 0.2, 1); } .section-pill.active .section-pill:hover { opacity: 1; animation: pulse 1.5s infinite; } /* HIDE THE STEP NUMBERS (1, 2, 3) */ .section-pill::after { content: none !important; /* Hide the step numbers */ } .ai-completion-orb { position: absolute; top: -6px; right: -6px; width: 18px; height: 18px; background: #22c55e; border-radius: 50%; display: flex; align-items: center; justify-content: center; border: 2px solid white; box-shadow: 0 0 8px #22c55e; z-index: 2; } .ai-completion-orb i { font-size: 9px; color: white; } .orb-pulse { position: absolute; top: 0; left: 0; right: 0; bottom: 0; border-radius: 50%; background: #22c55e; animation: pulse 2s infinite; } /* ===== Enhanced Subgroup Navigation ===== */ .subgroup-pills { background: #f9fafb; border-bottom: 1px solid #e5e7eb; padding: 10px 20px; /* Reduced padding */ display: flex; justify-content: center; flex-wrap: wrap; gap: 6px; /* Reduced gap */ margin: 0 auto -1px; position: relative; } .subgroup-pills::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(to bottom, #f9fafb 0%, #f3f4f6 100%); z-index: -1; } .subgroup-pills .pill { padding: 10px 16px; background: #ffffff; border: 2px solid #e5e7eb; border-radius: 10px; color: #374151; font-weight: 600; font-size: 11px; cursor: pointer; transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1); display: flex; align-items: center; gap: 12px; min-width: 130px; justify-content: flex-start; position: relative; overflow: hidden; text-align: left; } .subgroup-pills .pill:hover { background: rgba(30, 58, 138, 0.05); border-color: #1E3A8A; color: #1E3A8A; transform: translateX(2px); } .subgroup-pills .pill.active { background: rgba(30, 58, 138, 0.08); border-left: 3px solid #1E3A8A; color: #1E3A8A; font-weight: 600; box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1), 0 1px 1px -1px rgba(0, 0, 0, 0.1); } .subgroup-pills .pill.completed { background: #f0fdf4; border-color: #86efac; color: #166534; } .subgroup-pills .pill.completed:hover { background: #dcfce7; border-color: #4ade80; } /* Enhanced Subgroup Icons */ .subgroup-pills .pill i { font-size: 12px; color: #1E3A8A; transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1); width: 28px; height: 28px; border-radius: 5px; background: #f3f4f6; display: flex; align-items: center; justify-content: center; border: 1px solid #e5e7eb; } .subgroup-pills .pill:hover i { transform: scale(1.08); background: #1E3A8A; color: white; box-shadow: 0 3px 10px 0 rgba(30, 58, 138, 0.3); } .subgroup-pills .pill.active i { background: #1E3A8A; color: white; box-shadow: 0 3px 10px 0 rgba(30, 58, 138, 0.3); } .subgroup-pills .pill.completed i { color: #166534; background: #f0fdf4; } .subgroup-pills .pill span { flex: 1; } /* Enhanced Subgroup Pill Elements */ .pill-ai-core { position: absolute; top: 50%; left: 10px; width: 6px; height: 6px; background: linear-gradient(135deg, #38bdf8, #1E3A8A); border-radius: 50%; transform: translateY(-50%); opacity: 0; transition: opacity 250ms cubic-bezier(0.4, 0, 0.2, 1); } .subgroup-pills .pill.active .subgroup-pills .pill:hover { opacity: 1; animation: pulse 1.5s infinite; } .ai-completion-badge { margin-left: auto; width: 14px; height: 14px; background: #22c55e; border-radius: 50%; display: flex; align-items: center; justify-content: center; position: relative; } .ai-completion-badge i { font-size: 9px; color: white; } .badge-glow { position: absolute; top: 0; left: 0; right: 0; bottom: 0; border-radius: 50%; background: #22c55e; animation: pulse 2s infinite; } /* Section-specific styling */ .subgroup-pills.crime-section .pill.active { background: rgba(30, 58, 138, 0.08); border-left-color: #1E3A8A; } .subgroup-pills.crime-section .pill.active i { background: #1E3A8A; } .subgroup-pills.suspect-section .pill.active { background: rgba(124, 58, 237, 0.08); border-left-color: #7c3aed; } .subgroup-pills.notes-section .pill.active { background: rgba(5, 150, 105, 0.08); border-left-color: #059669; } .subgroup-pills.notes-section .pill.active i { background: #059669; } .subgroup-pills.notes-section .pill:hover i { background: #059669; } .subgroup-pills.suspect-section .pill.active i { background: #7c3aed; } .subgroup-pills.suspect-section .pill:hover i { background: #7c3aed; } /* ===== Main Container ===== */ .investigation-container { max-width: 1867px; margin: 0 auto; padding: 0 20px; min-height: calc(100vh - 220px); position: relative; padding-bottom: 80px; /* Added padding at bottom to accommodate footer and navigation buttons */ } /* ===== Enhanced Form Card ===== */ .form-card { background: #ffffff; border-radius: 12px; border: 1px solid #e5e7eb; box-shadow: 0 15px 30px -10px rgba(0, 0, 0, 0.2); margin-bottom: 24px; overflow: visible; /* changed from hidden so popups can overlay without being clipped */ animation: scaleIn 250ms cubic-bezier(0.4, 0, 0.2, 1); position: relative; /* Added for proper positioning of navigation buttons */ transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1); height: 32vw; } .form-card:hover { box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.25); transform: translateY(-2px); } .card-header { padding: 16px 24px; /* Reduced padding */ background: linear-gradient(135deg, #f9fafb, #ffffff); border-bottom: 2px solid #e5e7eb; display: flex; align-items: center; justify-content: space-between; position: relative; } .card-header::after { content: ''; position: absolute; bottom: -2px; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, #1E3A8A, #38bdf8); opacity: 0.5; } .card-header-main { display: flex; align-items: center; gap: 16px; } /* Enhanced Compact Title with Icon */ .compact-title { font-size: 18px; /* Reduced from 20px */ font-weight: 800; color: #111827; margin: 0; display: flex; align-items: center; gap: 10px; /* Reduced gap */ } .compact-title i { font-size: 18px; /* Reduced from 20px */ width: 36px; height: 36px; border-radius: 8px; background: linear-gradient(135deg, #1E3A8A, #2563eb); color: white; display: flex; align-items: center; justify-content: center; box-shadow: 0 3px 10px 0 rgba(30, 58, 138, 0.3); border: 2px solid rgba(255, 255, 255, 0.3); transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1); } .compact-title:hover i { transform: scale(1.08) rotate(5deg); box-shadow: 0 6px 15px 0 rgba(30, 58, 138, 0.4); } .field-counter { font-size: 11px; /* Reduced from 12px */ color: #6b7280; background: #f3f4f6; padding: 4px 8px; /* Reduced padding */ border-radius: 12px; font-weight: 600; margin-left: 10px; /* Reduced margin */ border: 1px solid #e5e7eb; } .modern-field-selector-btn { position: relative; } .field-selector-btn { padding: 6px 14px; /* Reduced padding */ background: #ffffff; border: 2px solid #e5e7eb; border-radius: 10px; color: #374151; font-weight: 600; font-size: 11px; /* Reduced from 12px */ cursor: pointer; transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1); display: flex; align-items: center; gap: 6px; /* Reduced gap */ } .field-selector-btn:hover { background: #f3f4f6; border-color: #d1d5db; transform: translateY(-1px); } .field-selector-btn.active { background: linear-gradient(135deg, #1E3A8A, #2563eb); border-color: #1E3A8A; color: white; } .field-selector-counter { font-weight: 700; margin-left: 4px; } .modern-field-selector-popup { position: absolute; top: calc(100% + 8px); right: 0; background: #ffffff; border-radius: 12px; box-shadow: 0 15px 30px -10px rgba(0, 0, 0, 0.2); border: 1px solid #e5e7eb; padding: 16px; /* Reduced padding */ min-width: 300px; /* Reduced width */ z-index: 10050; /* ensure it sits above the card and other UI */ animation: popupFadeIn 250ms cubic-bezier(0.4, 0, 0.2, 1); max-height: calc(80vh); /* prevent the popup from becoming taller than the viewport */ overflow-y: auto; /* allow scrolling within the popup if content is tall */ } @keyframes popupFadeIn { from { opacity: 0; transform: translateY(-10px) scale(0.98); } to { opacity: 1; transform: translateY(0) scale(1); } } .popup-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; /* Reduced margin */ padding-bottom: 10px; /* Reduced padding */ border-bottom: 2px solid #e5e7eb; } .popup-header span { font-weight: 800; font-size: 13px; /* Reduced from 14px */ color: #111827; display: flex; align-items: center; gap: 8px; } .popup-header i { color: #1E3A8A; } .popup-close-btn { background: none; border: none; color: #9CA3AF; cursor: pointer; font-size: 14px; /* Reduced from 16px */ transition: color 250ms cubic-bezier(0.4, 0, 0.2, 1); width: 26px; /* Reduced size */ height: 26px; /* Reduced size */ border-radius: 6px; display: flex; align-items: center; justify-content: center; } .popup-close-btn:hover { background: #f3f4f6; color: #ef4444; } .popup-fields-list { max-height: 280px; /* Reduced height */ overflow-y: auto; margin-bottom: 16px; /* Reduced margin */ padding-right: 8px; } .popup-fields-list::-webkit-scrollbar { width: 6px; } .popup-fields-list::-webkit-scrollbar-track { background: #f9fafb; border-radius: 3px; } .popup-fields-list::-webkit-scrollbar-thumb { background: #d1d5db; border-radius: 3px; } .popup-fields-list::-webkit-scrollbar-thumb:hover { background: #9ca3af; } .popup-field-row { margin-bottom: 6px; /* Reduced margin */ } .popup-field-label { display: flex; align-items: center; gap: 8px; /* Reduced gap */ padding: 8px 10px; /* Reduced padding */ border-radius: 8px; cursor: pointer; transition: background 250ms cubic-bezier(0.4, 0, 0.2, 1); font-size: 12px; /* Reduced from 13px */ font-weight: 500; color: #374151; } .popup-field-label:hover { background: #f9fafb; } .popup-field-label input[type="checkbox"] { width: 16px; /* Reduced size */ height: 16px; /* Reduced size */ border: 2px solid #d1d5db; border-radius: 4px; cursor: pointer; accent-color: #1E3A8A; transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1); } .popup-field-label input[type="checkbox"]:checked { background-color: #1E3A8A; border-color: #1E3A8A; } .popup-field-text { flex: 1; font-weight: 500; } .popup-actions { display: flex; gap: 10px; /* Reduced gap */ justify-content: flex-end; } .popup-action-btn { padding: 8px 16px; /* Reduced padding */ border-radius: 10px; border: 2px solid; font-weight: 700; font-size: 12px; /* Reduced from 13px */ cursor: pointer; transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1); display: flex; align-items: center; gap: 6px; /* Reduced gap */ } .popup-action-btn.clear-btn { background: #ffffff; border-color: #ef4444; color: #ef4444; } .popup-action-btn.clear-btn:hover { background: #fee2e2; border-color: #dc2626; color: #dc2626; } .popup-action-btn.selectall-btn { background: #ffffff; border-color: #10b981; color: #10b981; } .popup-action-btn.selectall-btn:hover { background: #d1fae5; border-color: #059669; color: #059669; } .popup-action-btn.save-btn { background: linear-gradient(135deg, #1E3A8A, #2563eb); border: none; color: white; box-shadow: 0 3px 10px 0 rgba(30, 58, 138, 0.3); } .popup-action-btn.save-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 12px -3px rgba(0, 0, 0, 0.1), 0 3px 5px -3px rgba(0, 0, 0, 0.1); } /* ===== Enhanced Card Content ===== */ .card-content { padding: 20px 24px; /* Reduced padding */ } .section-description { background: #f9fafb; border: 2px solid #e5e7eb; border-radius: 10px; padding: 14px 18px; /* Reduced padding */ margin-bottom: 20px; /* Reduced margin */ font-size: 12px; /* Reduced from 13px */ color: #374151; line-height: 1.6; border-left: 4px solid #1E3A8A; position: relative; overflow: hidden; } .section-description::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(135deg, rgba(30, 58, 138, 0.05), transparent); z-index: -1; } .section-description strong { color: #111827; font-weight: 700; } /* ===== Enhanced Fields Grid ===== */ .fields-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 16px; /* Reduced gap */ } .field-container { background: #ffffff; border: 2px solid #e5e7eb; border-radius: 10px; padding: 16px; /* Reduced padding */ transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1); position: relative; animation: fadeIn 250ms cubic-bezier(0.4, 0, 0.2, 1); min-height: 120px; /* Set minimum height */ display: flex; flex-direction: column; z-index: 0; } .field-container:hover { border-color: #1E3A8A; box-shadow: 0 12px 20px -5px rgba(0, 0, 0, 0.1), 0 6px 8px -4px rgba(0, 0, 0, 0.1); transform: translateY(-3px); } .field-container.filled { border-color: #22c55e; background: linear-gradient(135deg, #f0fdf4, #ffffff); position: relative; overflow: hidden; } .field-container.filled::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(135deg, rgba(34, 197, 94, 0.05), transparent); z-index: -1; } .field-label { display: flex; align-items: center; gap: 6px; /* Reduced gap */ margin-bottom: 10px; /* Reduced margin */ color: #111827; font-weight: 700; font-size: 12px; /* Reduced from 13px */ text-transform: uppercase; letter-spacing: 0.4px; flex-shrink: 0; } .required-indicator { color: #ef4444; font-weight: 800; margin-left: 2px; animation: pulse 2s infinite; } /* Enhanced Info Button */ .info-btn { width: 22px; /* Reduced size */ height: 22px; /* Reduced size */ border-radius: 6px; background: #f3f4f6; border: 2px solid #e5e7eb; color: #6b7280; cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 11px; /* Reduced from 12px */ transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1); margin-left: 4px; flex-shrink: 0; position: relative; overflow: hidden; } .info-btn:hover { background: #1E3A8A; border-color: #1E3A8A; color: white; transform: scale(1.08); } .info-btn::before { content: ''; position: absolute; top: 50%; left: 50%; width: 0; height: 0; border-radius: 50%; background: rgba(30, 58, 138, 0.2); transform: translate(-50%, -50%); transition: width 0.6s, height 0.6s; } .info-btn:hover::before { width: 150px; height: 150px; } .input-container { position: relative; flex: 1; display: flex; flex-direction: column; } .field-input { width: 100%; padding: 10px 14px; /* Reduced padding */ border: 2px solid #e5e7eb; border-radius: 8px; background: #ffffff; color: #111827; font-size: 13px; /* Reduced from 14px */ font-weight: 500; transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1); font-family: 'Inter', sans-serif; flex: 1; } .field-input:focus { border-color: #1E3A8A; box-shadow: 0 0 0 3px rgba(30, 58, 138, 0.1); outline: none; } .field-input::placeholder { color: #9CA3AF; font-weight: 500; } .field-input.compact { padding: 8px 10px; /* Reduced padding */ font-size: 12px; /* Reduced from 13px */ } select.field-input.empty-select { color: black; } textarea.field-input { min-height: 80px; /* Reduced height */ resize: vertical; font-family: 'Inter', sans-serif; line-height: 1.5; flex: 1; } textarea.auto-scroll-textarea { overflow-y: auto; } /* Enhanced Field Help */ .field-help { position: absolute !important; top: 0; left: calc(100% + 12px); background: #1f2937; color: white; padding: 14px; /* Reduced padding */ border-radius: 10px; box-shadow: 0 15px 30px -10px rgba(0, 0, 0, 0.2); width: 280px; /* Reduced width */ z-index: 1000; animation: fadeIn 250ms cubic-bezier(0.4, 0, 0.2, 1); font-size: 12px; /* Reduced from 13px */ line-height: 1.5; border: 1px solid #374151; position: fixed; z-index: 1; } .field-help::before { content: ''; position: absolute; top: 16px; left: -6px; width: 12px; height: 12px; background: #1f2937; transform: rotate(45deg); border-left: 1px solid #374151; border-bottom: 1px solid #374151; } .field-help strong { color: #38bdf8; display: block; margin-bottom: 6px; /* Reduced margin */ font-size: 13px; /* Reduced from 14px */ font-weight: 700; } /* ===== Enhanced File Upload ===== */ .file-upload-block { border: 2px solid #d1d5db; border-radius: 10px; background: #f9fafb; padding: 16px; /* Reduced padding */ transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1); flex: 1; display: flex; flex-direction: column; } .file-upload-block:hover { border-color: #1E3A8A; background: #ffffff; } .file-drop-zone { background: #ffffff; border: 2px dashed #d1d5db; border-radius: 8px; padding: 24px 16px; /* Reduced padding */ text-align: center; transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1); cursor: pointer; margin-bottom: 12px; /* Reduced margin */ flex: 1; display: flex; align-items: center; justify-content: center; } .file-drop-zone:hover, .file-drop-zone.drag-over { border-color: #1E3A8A; background: #f0f9ff; } .drop-zone-content i { font-size: 28px; /* Reduced from 32px */ color: #6b7280; margin-bottom: 10px; /* Reduced margin */ transition: color 250ms cubic-bezier(0.4, 0, 0.2, 1); } .file-drop-zone:hover .drop-zone-content i { color: #1E3A8A; } .drop-zone-content p { color: #6b7280; font-size: 12px; /* Reduced from 13px */ font-weight: 500; margin: 0; } .file-accepts { color: #9CA3AF; font-size: 11px; /* Reduced from 12px */ font-weight: 500; margin-bottom: 12px; /* Reduced margin */ } .file-list { display: flex; flex-wrap: wrap; gap: 6px; /* Reduced gap */ } .file-chip { display: flex; align-items: center; gap: 6px; /* Reduced gap */ background: #ffffff; border: 2px solid #e5e7eb; border-radius: 8px; padding: 6px 10px; /* Reduced padding */ font-size: 11px; /* Reduced from 12px */ font-weight: 500; color: #374151; transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1); } .file-chip:hover { border-color: #1E3A8A; background: #f0f9ff; } .file-chip i { color: #6b7280; font-size: 12px; /* Reduced from 14px */ } .remove-file { background: none; border: none; color: #9CA3AF; cursor: pointer; padding: 2px; transition: color 250ms cubic-bezier(0.4, 0, 0.2, 1); display: flex; align-items: center; justify-content: center; width: 18px; /* Reduced size */ height: 18px; /* Reduced size */ border-radius: 4px; } .remove-file:hover { background: #fee2e2; color: #ef4444; } .upload-confirmation { color: #059669; font-size: 12px; /* Reduced from 13px */ font-weight: 600; margin-top: 10px; /* Reduced margin */ padding: 6px 10px; /* Reduced padding */ background: #d1fae5; border-radius: 6px; border: 2px solid #10b981; animation: fadeIn 250ms cubic-bezier(0.4, 0, 0.2, 1); } /* ===== Photo Field ===== */ .field-container.photo-field { /*grid-column: 1 / -1;*/ max-width: 100%; } /* ===== Enhanced Modern Navigation Buttons ===== */ .modern-floating-nav-btn { position: relative; /* Changed from fixed to relative */ margin-top: 30px; /* Added margin to position below form */ margin-bottom: 20px; z-index: 100; display: flex; flex-direction: column; align-items: center; /* Center the buttons */ width: 100%; } .modern-nav-row { display: flex; gap: 12px; justify-content: center; margin-right: -1680px; margin-top: -18px; } .modern-round-btn { width: 48px; /* Reduced size */ height: 48px; /* Reduced size */ border-radius: 50%; border: none; background: linear-gradient(135deg, #1E3A8A, #2563eb); color: white; font-size: 18px; /* Reduced from 20px */ display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1); box-shadow: 0 3px 10px 0 rgba(30, 58, 138, 0.3); border: 2px solid rgba(255, 255, 255, 0.3); position: relative; overflow: hidden; } .modern-round-btn::before { content: ''; position: absolute; top: 50%; left: 50%; width: 0; height: 0; border-radius: 50%; background: rgba(255, 255, 255, 0.2); transform: translate(-50%, -50%); transition: width 0.6s, height 0.6s; } .modern-round-btn:hover::before { width: 150px; height: 150px; } .modern-round-btn:hover:not(:disabled) { transform: translateY(-4px) scale(1.08); box-shadow: 0 15px 30px -10px rgba(0, 0, 0, 0.2); } .modern-round-btn:disabled { opacity: 0.5; cursor: not-allowed; } @keyframes bounceRight { 0% { transform: translateX(0); } 60% { transform: translateX(6px) scale(1.08); } 100% { transform: translateX(0); } } @keyframes pulseSend { 0% { box-shadow: 0 4px 24px rgba(0, 212, 255, 0.18); } 60% { box-shadow: 0 8px 32px rgba(255, 0, 110, 0.22); } 100% { box-shadow: 0 4px 24px rgba(0, 212, 255, 0.18); } } .modern-round-btn.next-btn-animated { animation: bounceRight 1.2s infinite alternate; } .modern-round-btn.submit-btn-animated { background: linear-gradient(135deg, #059669, #10b981); animation: pulseSend 1.5s infinite alternate; } .modern-round-btn.submit-btn-animated:hover:not(:disabled) { background: linear-gradient(135deg, #10b981, #059669); } /* ===== Enhanced Submit Popup ===== */ .submit-popup-backdrop { position: fixed; inset: 0; background: rgba(0, 0, 0, 0.5); backdrop-filter: blur(4px); z-index: 2000; display: flex; align-items: center; justify-content: center; animation: fadeIn 250ms cubic-bezier(0.4, 0, 0.2, 1); } .submit-popup-modal { background: #ffffff; border-radius: 16px; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25); padding: 32px; /* Reduced padding */ min-width: 360px; /* Reduced width */ max-width: 90vw; text-align: center; animation: scaleIn 250ms cubic-bezier(0.4, 0, 0.2, 1); border: 2px solid #e5e7eb; position: relative; overflow: hidden; } .submit-popup-modal::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #1E3A8A, #38bdf8); z-index: 1; } .submit-popup-content { display: flex; flex-direction: column; align-items: center; gap: 16px; /* Reduced gap */ position: relative; z-index: 2; } .submit-popup-icon { font-size: 56px; /* Reduced from 64px */ color: #22c55e; margin-bottom: 8px; animation: float 3s ease-in-out infinite; } .submit-popup-content h3 { color: #111827; font-size: 24px; /* Reduced from 28px */ font-weight: 800; margin: 0; } .submit-popup-content p { color: #6b7280; font-size: 14px; /* Reduced from 16px */ font-weight: 500; margin: 0; line-height: 1.6; } .submit-popup-btn { padding: 12px 28px; /* Reduced padding */ background: linear-gradient(135deg, #1E3A8A, #2563eb); color: white; border: none; border-radius: 10px; font-weight: 700; font-size: 13px; /* Reduced from 14px */ cursor: pointer; transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1); box-shadow: 0 3px 10px 0 rgba(30, 58, 138, 0.3); border: 2px solid rgba(255, 255, 255, 0.3); position: relative; overflow: hidden; } .submit-popup-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 12px -3px rgba(0, 0, 0, 0.1), 0 3px 5px -3px rgba(0, 0, 0, 0.1); } /* ===== Enhanced Microphone Button ===== */ .mic-button-container { position: relative; display: inline-flex; align-items: center; margin-left: 6px; /* Reduced margin */ } .mic-button-container button { width: 28px; /* Reduced size */ height: 28px; /* Reduced size */ border-radius: 50%; background: #f3f4f6; border: 2px solid #e5e7eb; color: #374151; cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 12px; /* Reduced from 14px */ transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1); position: relative; overflow: hidden; } .mic-button-container button::before { content: ''; position: absolute; top: 50%; left: 50%; width: 0; height: 0; border-radius: 50%; background: rgba(30, 58, 138, 0.1); transform: translate(-50%, -50%); transition: width 0.6s, height 0.6s; } .mic-button-container button:hover::before { width: 100px; height: 100px; } .mic-button-container button:hover { background: #1E3A8A; border-color: #1E3A8A; color: white; } .mic-popup { position: absolute; bottom: 120%; left: 50%; transform: translateX(-50%); background: #1f2937; color: white; padding: 10px 14px; /* Reduced padding */ border-radius: 8px; font-size: 11px; /* Reduced from 12px */ font-weight: 500; white-space: nowrap; z-index: 1000; border: 1px solid #374151; box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2); } .mic-popup::after { content: ''; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); border: 6px solid transparent; border-top-color: #1f2937; } .recording-status { color: #ef4444; font-size: 11px; /* Reduced from 12px */ font-weight: 600; margin-top: 4px; animation: pulse 1s infinite; } /* ===== Evidence Scene Grid ===== */ .fields-grid.evidence-scene-grid { grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)); } /* ===== Remark Fields Full Width ===== */ .field-container.remark, .field-container.remark-field, .field-container[data-field="Remark"], .field-container[data-field="REMARK"], .field-container[data-label="Remark"], .field-container[data-label="REMARK"], .field-container[data-subgroup="Remark"], .field-container[data-subgroup="remark"] { grid-column: 1 / -1; } /* ===== Professional Enhancements ===== */ /* Add subtle pattern overlay to main container */ .investigation-container::before { content: ''; position: fixed; top: 0; left: 0; right: 0; bottom: 0; background-image: radial-gradient(circle at 25% 25%, rgba(30, 58, 138, 0.03) 0%, transparent 55%), radial-gradient(circle at 75% 75%, rgba(56, 189, 248, 0.02) 0%, transparent 55%); pointer-events: none; z-index: -1; } /* Enhanced hover effects for interactive elements */ .field-selector-btn:hover, .info-btn:hover, .mic-button-container button:hover, .remove-file:hover { transform: translateY(-1px); } /* Smooth transitions for all interactive elements */ button, input, select, textarea, .field-container, .section-pill, .subgroup-pills .pill { transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1); } /* Gradient borders for active states */ .field-container:focus-within { border-color: #1E3A8A; box-shadow: 0 0 0 3px rgba(30, 58, 138, 0.1); } /* Professional loading skeleton */ .field-container.loading { position: relative; overflow: hidden; } .field-container.loading::after { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.4) 50%, transparent 100%); animation: shimmer 2s infinite; } /* Enhanced tooltips */ [title] { position: relative; } [title]:hover::after { content: attr(title); position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%); background: #1f2937; color: white; padding: 6px 12px; border-radius: 6px; font-size: 11px; white-space: nowrap; z-index: 1000; border: 1px solid #374151; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); margin-bottom: 8px; } /* ===== Footer ===== */ footer { background: linear-gradient(135deg, rgba(30, 58, 138, 0.9) 0%, rgba(1, 19, 41, 0.95) 100%); color: #fff; text-align: center; padding: 12px 0; position: fixed; bottom: 0; left: 0; width: 100%; font-size: 12px; font-weight: 500; z-index: 1000; } /* ===== Responsive Design ===== */ @media (max-width: 1400px) { .fields-grid { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); } } @media (max-width: 1200px) { .header-inner, .investigation-container { padding: 0 16px; } .section-pills, .subgroup-pills { padding: 0 16px; } .card-header, .card-content { padding: 16px; } .fields-grid { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; } } @media (max-width: 992px) { .header-inner { flex-wrap: wrap; gap: 16px; padding: 12px 16px; height: auto; } .header-progress { order: 3; width: 100%; justify-content: center; margin: 8px 0; } .section-pills { flex-wrap: wrap; } .section-pill { min-width: 140px; /* Reduced width */ flex: 1; } .modern-floating-nav-btn { margin-top: 20px; margin-bottom: 15px; } } @media (max-width: 768px) { .site-header { height: auto; } .py-detect-title-header { font-size: 22px; letter-spacing: 1.5px; } .logo-img-header { width: 32px; height: 32px; } .section-pill { min-width: 120px; /* Reduced width */ padding: 8px 14px; /* Reduced padding */ font-size: 11px; /* Reduced from 12px */ } .compact-title { font-size: 16px; /* Reduced from 18px */ } .fields-grid { grid-template-columns: 1fr; } .modern-field-selector-popup { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 90vw; max-width: 360px; /* Reduced width */ } .popup-actions { flex-direction: column; } .modern-floating-nav-btn { margin-top: 15px; margin-bottom: 10px; } .modern-round-btn { width: 42px; /* Reduced size */ height: 42px; /* Reduced size */ font-size: 16px; /* Reduced from 18px */ } } @media (max-width: 480px) { .header-actions { flex-wrap: wrap; justify-content: flex-end; gap: 8px; } .autosave-indicator { padding: 4px 8px; font-size: 10px; } .profile-avatar { width: 32px; height: 32px; font-size: 12px; } .view-records-btn { width: 36px; height: 36px; font-size: 16px; } .section-pill { min-width: 100%; } .subgroup-pills .pill { min-width: 110px; /* Reduced width */ font-size: 10px; /* Reduced from 11px */ padding: 5px 10px; /* Reduced padding */ } .card-header { flex-direction: column; gap: 10px; /* Reduced gap */ align-items: flex-start; } .modern-field-selector-btn { align-self: flex-end; } .field-container { padding: 14px; /* Reduced padding */ } .submit-popup-modal { padding: 20px; /* Reduced padding */ min-width: 280px; /* Reduced width */ } .submit-popup-icon { font-size: 44px; /* Reduced from 48px */ } .submit-popup-content h3 { font-size: 20px; /* Reduced from 24px */ } .submit-popup-content p { font-size: 12px; /* Reduced from 14px */ } } /*8888888*/ /* ===== Enhanced Field Help ===== */ .field-help { position: absolute !important; top: 0; left: calc(100% + -264px); background: #1f2937; color: white; padding: 14px; /* Reduced padding */ border-radius: 10px; box-shadow: 0 15px 30px -10px rgba(0, 0, 0, 0.2); width: 280px; /* Reduced width */ z-index: 1000 !important; /* Increased z-index and made important */ animation: fadeIn 250ms cubic-bezier(0.4, 0, 0.2, 1); font-size: 12px; /* Reduced from 13px */ line-height: 1.5; border: 1px solid #374151; } .field-help::before { content: ''; position: absolute; top: 16px; left: -6px; width: 12px; height: 12px; background: #1f2937; transform: rotate(45deg); border-left: 1px solid #374151; border-bottom: 1px solid #374151; z-index: 1001; /* Ensure arrow is above the popup */ } .field-help strong { color: #38bdf8; display: block; margin-bottom: 6px; /* Reduced margin */ font-size: 13px; /* Reduced from 14px */ font-weight: 700; } /* Make sure field container doesn't interfere */ .field-container { background: #ffffff; border: 2px solid #e5e7eb; border-radius: 10px; padding: 16px; /* Reduced padding */ transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1); position: relative; animation: fadeIn 250ms cubic-bezier(0.4, 0, 0.2, 1); min-height: 120px; /* Set minimum height */ display: flex; flex-direction: column; z-index: 1; /* Keep this relatively low */ overflow: visible !important; /* Ensure popup can overflow */ } form-card .field-container:hover { border-color: #1E3A8A; box-shadow: 0 12px 20px -5px rgba(0, 0, 0, 0.1), 0 6px 8px -4px rgba(0, 0, 0, 0.1); transform: translateY(-3px); z-index: 10; /* Raise on hover but keep lower than help popup */ } /* ===== Submission Loader ===== */ .submit-loader-backdrop { position: fixed; inset: 0; background: rgba(0, 0, 0, 0.75); backdrop-filter: blur(8px); z-index: 3000; display: flex; align-items: center; justify-content: center; animation: fadeIn 300ms cubic-bezier(0.4, 0, 0.2, 1); } .submit-loader-modal { background: rgba(255, 255, 255, 0.95); border-radius: 20px; box-shadow: 0 25px 60px -12px rgba(0, 0, 0, 0.4); padding: 40px 48px; min-width: 420px; max-width: 90vw; text-align: center; animation: scaleIn 350ms cubic-bezier(0.4, 0, 0.2, 1); border: 2px solid rgba(56, 189, 248, 0.2); position: relative; overflow: hidden; } .submit-loader-modal::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 6px; background: linear-gradient(90deg, #1E3A8A, #38bdf8, #22c55e); z-index: 1; animation: gradientShift 3s infinite; } .submit-loader-content { display: flex; flex-direction: column; align-items: center; gap: 24px; position: relative; z-index: 2; } /* Spinner animation */ .spinner-container { position: relative; width: 80px; height: 80px; } .spinner { width: 60px; height: 60px; border: 6px solid #f3f4f6; border-top: 6px solid #1E3A8A; border-radius: 50%; animation: spin 1s linear infinite; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } .spinner-ring { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 80px; height: 80px; border: 3px solid rgba(56, 189, 248, 0.3); border-radius: 50%; animation: pulse-ring 2s infinite; } .submit-loader-content h3 { color: #111827; font-size: 28px; font-weight: 800; margin: 0; } .submit-loader-content p { color: #6b7280; font-size: 16px; font-weight: 500; margin: 0; line-height: 1.6; } /* Progress bar */ .loader-progress { width: 100%; height: 8px; background: #f3f4f6; border-radius: 4px; overflow: hidden; border: 1px solid #e5e7eb; margin-top: 8px; } .loader-progress-bar { height: 100%; background: linear-gradient(90deg, #1E3A8A, #2563eb, #38bdf8); border-radius: 4px; transition: width 0.3s ease-out; position: relative; overflow: hidden; } .loader-progress-bar::after { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent); animation: shimmer 1.5s infinite; } .loader-subtext { color: #38bdf8 !important; font-size: 14px !important; font-weight: 600 !important; margin-top: 4px !important; } /* Add these animations if not already present */ @keyframes spin { 0% { transform: translate(-50%, -50%) rotate(0deg); } 100% { transform: translate(-50%, -50%) rotate(360deg); } } @keyframes gradientShift { 0% { background-position: 0% 0%; } 50% { background-position: 100% 0%; } 100% { background-position: 0% 0%; } } /* Ensure loader is above everything */ .submit-popup-backdrop { z-index: 2000; } .submit-loader-backdrop { z-index: 3000; } @media (max-width: 768px) { .submit-loader-modal { padding: 32px; min-width: 320px; } .submit-loader-content h3 { font-size: 22px; } .submit-loader-content p { font-size: 14px; } .spinner-container { width: 60px; height: 60px; } .spinner { width: 40px; height: 40px; border-width: 4px; } .spinner-ring { width: 60px; height: 60px; } } /* ===== Enhanced Fields Grid ===== */ .fields-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 16px; /* Reduced gap */ position: relative; /* Create stacking context */ z-index: 1; /* Base z-index for grid */ } /* ===== Enhanced Scrolling for Physical Description ===== */ /* When on Physical Description page, enable scrolling inside form card */ .form-card.is-physical-description { height: 32vw; /* Same height as before */ overflow-y: auto; /* Enable vertical scrolling */ overflow-x: hidden; /* Hide horizontal scroll */ } /* Ensure the content can scroll properly */ .form-card.is-physical-description .card-content { min-height: 0; /* Remove min-height constraint */ } /* Custom scrollbar for Physical Description card */ .form-card.is-physical-description::-webkit-scrollbar { width: 6px; } .form-card.is-physical-description::-webkit-scrollbar-track { background: #f1f5f9; border-radius: 3px; } .form-card.is-physical-description::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 3px; } .form-card.is-physical-description::-webkit-scrollbar-thumb:hover { background: #94a3b8; } /* Ensure fields grid maintains proper layout with scroll */ .form-card.is-physical-description .fields-grid { min-height: auto; /* Allow natural height */ max-height: none; /* Remove max-height constraint */ } /* Keep the same hover effects */ .form-card.is-physical-description:hover { box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.25); transform: translateY(-2px); } @media (max-width: 768px) { /* ... existing mobile styles ... */ .form-card.is-physical-description { height: 50vh; /* Use viewport height on mobile */ max-height: 500px; /* Increase max-height for mobile */ } } @media (max-width: 480px) { /* ... existing small screen styles ... */ .form-card.is-physical-description { height: 55vh; /* Slightly taller for very small screens */ max-height: 450px; } }