Spaces:
Sleeping
Sleeping
| /* NOTE: This file contains base styles. For consistent hover effects and reusable components, | |
| use classes from global.css: .hover, .btn-hover, .input-hover, .tab-hover-effect | |
| This ensures consistent styling across all pages and reduces code duplication */ | |
| @font-face { | |
| font-family: 'AadhaarHindi'; | |
| src: url('../font/NotoSansDevanagari-Regular.ttf') format('truetype'); | |
| font-weight: 400; | |
| font-style: normal; | |
| } | |
| @font-face { | |
| font-family: 'FontHindi'; | |
| src: url('../font/NotoSansDevanagari-Regular.ttf') format('truetype'); | |
| font-weight: 400; | |
| font-style: normal; | |
| } | |
| @font-face { | |
| font-family: 'AadhaarDigits'; | |
| src: url('../font/font-0052.ttf') format('truetype'); | |
| font-weight: normal; | |
| font-style: normal; | |
| } | |
| @font-face { | |
| font-family: 'AadhaarEnglish'; | |
| src: url('../font/font-0047.ttf') format('truetype'); | |
| font-weight: normal; | |
| font-style: normal; | |
| } | |
| :root { | |
| --primary-color: #4361ee; | |
| --primary-light: #4895ef; | |
| --secondary-color: #3f37c9; | |
| --accent-color: #4cc9f0; | |
| --success: #4ade80; | |
| --error: #f72585; | |
| --bg-color: #f8fafc; | |
| --sidebar-bg: #0f172a; | |
| --sidebar-text: #94a3b8; | |
| --sidebar-active: #ffffff; | |
| --card-bg: #ffffff; | |
| --text-color: #1e293b; | |
| --text-muted: #64748b; | |
| --border-color: #e2e8f0; | |
| --glass-bg: rgba(255, 255, 255, 0.8); | |
| --glass-border: rgba(255, 255, 255, 0.2); | |
| --primary-gradient: linear-gradient(135deg, #4361ee 0%, #3f37c9 100%); | |
| --pink-gradient: linear-gradient(135deg, #ff4d6d 0%, #ff0050 100%); | |
| } | |
| [data-theme='dark'] { | |
| --bg-color: #020617; | |
| --sidebar-bg: #000000; | |
| --card-bg: #0f172a; | |
| --text-color: #f1f5f9; | |
| --text-muted: #94a3b8; | |
| --border-color: #1e293b; | |
| --glass-bg: rgba(15, 23, 42, 0.8); | |
| } | |
| *, | |
| *::before, | |
| *::after { | |
| box-sizing: border-box; | |
| } | |
| body { | |
| font-family: 'Poppins', sans-serif; | |
| background: var(--bg-color); | |
| margin: 0; | |
| color: var(--text-color); | |
| display: flex; | |
| min-height: 100vh; | |
| } | |
| /* Layout Containers */ | |
| .dashboard-container { | |
| display: flex; | |
| width: 100%; | |
| } | |
| /* Sidebar Styling */ | |
| .sidebar { | |
| width: 280px; | |
| background: var(--sidebar-bg); | |
| padding: 30px 20px; | |
| display: flex; | |
| flex-direction: column; | |
| position: fixed; | |
| height: 100vh; | |
| border-right: 1px solid var(--border-color); | |
| } | |
| .sidebar-brand { | |
| font-size: 22px; | |
| font-weight: 700; | |
| color: white; | |
| margin-bottom: 40px; | |
| display: flex; | |
| align-items: center; | |
| gap: 12px; | |
| } | |
| .sidebar-nav { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 8px; | |
| } | |
| .side-btn { | |
| padding: 14px 20px; | |
| border-radius: 12px; | |
| text-decoration: none; | |
| color: var(--sidebar-text); | |
| font-size: 15px; | |
| font-weight: 500; | |
| display: flex; | |
| align-items: center; | |
| gap: 15px; | |
| transition: all 0.3s ease; | |
| } | |
| .side-btn i, | |
| .side-btn span { | |
| font-size: 20px; | |
| } | |
| .side-btn:hover { | |
| background: rgba(255, 255, 255, 0.05); | |
| color: white; | |
| transform: translateX(5px); | |
| } | |
| .side-btn.active { | |
| background: var(--primary-gradient); | |
| color: white; | |
| box-shadow: 0 4px 12px rgba(67, 97, 238, 0.3); | |
| } | |
| .side-btn.btn-complaint.active { | |
| background: var(--indigo-gradient); | |
| } | |
| .side-btn.btn-profile.active { | |
| background: var(--indigo-gradient); | |
| } | |
| /* Main Content Area */ | |
| .main-content { | |
| flex: 1; | |
| margin-left: 280px; | |
| padding: 40px; | |
| transition: all 0.3s ease; | |
| display: flex; | |
| flex-direction: column; | |
| align-items: center; | |
| /* Center the form and header */ | |
| background: var(--surface-gradient); | |
| } | |
| /* Header Utilities */ | |
| .wallet-stats { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| margin-bottom: 40px; | |
| padding: 25px; | |
| background: var(--card-bg); | |
| border-radius: 20px; | |
| box-shadow: 0 10px 30px var(--shadow-light); | |
| width: 100%; | |
| max-width: 1000px; | |
| /* Match form width or slightly more */ | |
| border: 1px solid var(--border-color); | |
| } | |
| .balance-card { | |
| background: var(--card-bg); | |
| padding: 20px 30px; | |
| border-radius: 20px; | |
| display: flex; | |
| flex-direction: column; | |
| box-shadow: var(--shadow-md); | |
| border: 1px solid var(--border-color); | |
| } | |
| .balance-amount { | |
| font-size: 32px; | |
| font-weight: 700; | |
| color: var(--primary-color); | |
| margin: 5px 0; | |
| } | |
| /* Transitions & Animations */ | |
| @keyframes fadeIn { | |
| from { | |
| opacity: 0; | |
| } | |
| to { | |
| opacity: 1; | |
| } | |
| } | |
| @keyframes slideUp { | |
| from { | |
| transform: translateY(20px); | |
| opacity: 0; | |
| } | |
| to { | |
| transform: translateY(0); | |
| opacity: 1; | |
| } | |
| } | |
| .animate-up { | |
| animation: slideUp 0.5s ease forwards; | |
| } | |
| /* Service Grid */ | |
| .service-grid { | |
| display: grid; | |
| grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); | |
| gap: 30px; | |
| } | |
| .service-card { | |
| background: var(--card-bg); | |
| border-radius: 24px; | |
| padding: 35px; | |
| text-align: center; | |
| box-shadow: var(--shadow-sm); | |
| transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); | |
| border: 1px solid var(--border-color); | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| .service-card:hover { | |
| transform: translateY(-10px); | |
| box-shadow: var(--shadow-lg); | |
| } | |
| .service-icon { | |
| width: 70px; | |
| height: 70px; | |
| margin: 0 auto 20px; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| background: #f1f5f9; | |
| border-radius: 20px; | |
| font-size: 30px; | |
| } | |
| .dark-theme .service-icon { | |
| background: #1e293b; | |
| } | |
| .service-title { | |
| font-size: 18px; | |
| font-weight: 600; | |
| margin-bottom: 20px; | |
| } | |
| .btn-view-service { | |
| background: var(--pink-gradient); | |
| color: white; | |
| border: none; | |
| padding: 12px 25px; | |
| border-radius: 12px; | |
| font-weight: 600; | |
| cursor: pointer; | |
| width: 100%; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| gap: 10px; | |
| transition: all 0.3s ease; | |
| } | |
| .btn-view-service:hover { | |
| transform: scale(1.02); | |
| box-shadow: 0 5px 15px rgba(255, 0, 80, 0.3); | |
| } | |
| /* Tablet & Mobile */ | |
| @media (max-width: 1024px) { | |
| .sidebar { | |
| width: 80px; | |
| padding: 20px 10px; | |
| align-items: center; | |
| } | |
| .sidebar-brand span, | |
| .side-btn span { | |
| display: none; | |
| } | |
| .main-content { | |
| margin-left: 80px; | |
| } | |
| } | |
| @media (max-width: 768px) { | |
| .sidebar { | |
| display: none; | |
| } | |
| .main-content { | |
| margin-left: 0; | |
| padding: 20px; | |
| } | |
| } | |
| .error-container { | |
| border-left: 4px solid #ef4444; | |
| padding: 12px 16px; | |
| border-radius: 8px; | |
| color: #ef4444; | |
| font-size: 14px; | |
| font-weight: 500; | |
| display: flex; | |
| align-items: center; | |
| gap: 10px; | |
| animation: shake 0.5s cubic-bezier(.36, .07, .19, .97) both; | |
| } | |
| .error-container::before { | |
| content: '⚠️'; | |
| } | |
| @keyframes shake { | |
| 10%, | |
| 90% { | |
| transform: translate3d(-1px, 0, 0); | |
| } | |
| 20%, | |
| 80% { | |
| transform: translate3d(2px, 0, 0); | |
| } | |
| 30%, | |
| 50%, | |
| 70% { | |
| transform: translate3d(-4px, 0, 0); | |
| } | |
| 40%, | |
| 60% { | |
| transform: translate3d(4px, 0, 0); | |
| } | |
| } | |
| @media screen and (max-width: 768px) { | |
| .main-header { | |
| padding: 12px 20px; | |
| } | |
| .mobile-nav-toggle { | |
| display: flex; | |
| } | |
| .main-nav { | |
| position: fixed; | |
| top: 0; | |
| right: -100%; | |
| width: 280px; | |
| height: 100vh; | |
| background: var(--glass-bg); | |
| backdrop-filter: blur(24px); | |
| -webkit-backdrop-filter: blur(24px); | |
| flex-direction: column; | |
| padding: 80px 20px 20px; | |
| transition: right 0.4s cubic-bezier(0.4, 0, 0.2, 1); | |
| z-index: 1050; | |
| box-shadow: -10px 0 30px rgba(0, 0, 0, 0.1); | |
| display: flex; | |
| gap: 15px; | |
| border-radius: 0; | |
| border-right: none; | |
| } | |
| .main-nav.active { | |
| right: 0; | |
| } | |
| .nav-btn { | |
| width: 100%; | |
| padding: 14px 20px; | |
| font-size: 16px; | |
| } | |
| .header-content { | |
| justify-content: space-between; | |
| } | |
| .header-actions { | |
| order: 1; | |
| /* Moves theme toggle to the right */ | |
| margin-left: auto; | |
| margin-right: 15px; | |
| } | |
| .mobile-nav-toggle { | |
| order: 2; | |
| /* Hamburger stays on the far right */ | |
| } | |
| } | |
| @keyframes slideUp { | |
| from { | |
| transform: translateY(30px); | |
| opacity: 0; | |
| } | |
| to { | |
| transform: translateY(0); | |
| opacity: 1; | |
| } | |
| } | |
| .sidebar-header { | |
| text-align: center; | |
| margin-bottom: 35px; | |
| } | |
| .sidebar-form h2 { | |
| margin: 0; | |
| color: var(--text-color); | |
| font-size: 28px; | |
| font-weight: 800; | |
| letter-spacing: -1px; | |
| } | |
| .sidebar-subtitle { | |
| color: var(--text-muted); | |
| font-size: 14px; | |
| margin-top: 5px; | |
| } | |
| .form-group { | |
| margin-bottom: 20px; | |
| } | |
| .form-row { | |
| display: flex; | |
| gap: 15px; | |
| } | |
| .form-row .form-group { | |
| flex: 1; | |
| } | |
| .form-group label { | |
| display: block; | |
| font-size: 12px; | |
| color: var(--text-muted); | |
| margin-bottom: 10px; | |
| font-weight: 700; | |
| text-transform: uppercase; | |
| letter-spacing: 1px; | |
| } | |
| .form-group input, | |
| .form-group textarea { | |
| width: 100%; | |
| padding: 14px 18px; | |
| background-color: var(--input-bg); | |
| border: 1.5px solid var(--border-color); | |
| border-radius: 12px; | |
| color: var(--text-color); | |
| font-size: 16px; | |
| font-family: 'Poppins', 'FontHindi', sans-serif; | |
| transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); | |
| box-sizing: border-box; | |
| } | |
| /* Base input appearance for text-like inputs */ | |
| input[type="text"], | |
| input[type="date"], | |
| input[type="email"], | |
| input[type="number"], | |
| input[type="tel"], | |
| textarea { | |
| -webkit-appearance: none; | |
| -moz-appearance: none; | |
| appearance: none; | |
| } | |
| /* Ensure Radios and Checkboxes remain functional */ | |
| input[type="radio"], | |
| input[type="checkbox"] { | |
| -webkit-appearance: auto; | |
| -moz-appearance: auto; | |
| appearance: auto; | |
| width: auto; | |
| height: auto; | |
| cursor: pointer; | |
| } | |
| input[type="date"] { | |
| min-height: 52px; | |
| /* Consistency on mobile */ | |
| position: relative; | |
| } | |
| /* Remove native iOS date indicator pop-ups */ | |
| input[type="date"]::-webkit-inner-spin-button, | |
| input[type="date"]::-webkit-calendar-picker-indicator { | |
| padding: 0; | |
| margin: 0; | |
| } | |
| .form-group input:focus, | |
| .form-group textarea:focus { | |
| border-color: var(--accent-color); | |
| box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.1); | |
| outline: none; | |
| transform: translateY(-1px); | |
| } | |
| /* Photo Preview */ | |
| .photo-preview-container { | |
| width: 70px; | |
| height: 90px; | |
| border: 2px solid var(--border-color); | |
| border-radius: 12px; | |
| overflow: hidden; | |
| background: var(--input-bg); | |
| display: flex; | |
| justify-content: center; | |
| align-items: center; | |
| box-shadow: var(--shadow-sm); | |
| transition: all 0.3s ease; | |
| } | |
| .photo-preview-container:hover { | |
| border-color: var(--accent-color); | |
| transform: scale(1.05); | |
| } | |
| .photo-preview-container img { | |
| width: 100%; | |
| height: 100%; | |
| object-fit: cover; | |
| } | |
| .btn-print { | |
| width: 100%; | |
| padding: 18px; | |
| background: var(--primary-gradient); | |
| color: white; | |
| border: none; | |
| border-radius: 16px; | |
| font-size: 18px; | |
| font-weight: 700; | |
| cursor: pointer; | |
| margin-top: 25px; | |
| transition: all 0.3s ease; | |
| box-shadow: 0 10px 20px -5px rgba(118, 75, 162, 0.3); | |
| display: flex; | |
| justify-content: center; | |
| align-items: center; | |
| gap: 12px; | |
| } | |
| .app-container { | |
| /* max-width: 1100px; */ | |
| margin: 40px auto; | |
| padding: 20px; | |
| display: flex; | |
| justify-content: center; | |
| /* Center the form area */ | |
| align-items: flex-start; | |
| gap: 40px; | |
| min-height: 100vh; | |
| } | |
| .btn-print:hover { | |
| transform: translateY(-3px); | |
| box-shadow: 0 15px 30px -5px rgba(118, 75, 162, 0.4); | |
| filter: brightness(1.1); | |
| } | |
| .btn-print:active { | |
| transform: translateY(0); | |
| } | |
| .theme-toggle-btn { | |
| width: 44px; | |
| height: 44px; | |
| border-radius: 12px; | |
| border: 1px solid var(--glass-border); | |
| cursor: pointer; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| background: var(--glass-bg); | |
| color: var(--text-color); | |
| transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); | |
| } | |
| .theme-toggle-btn:hover { | |
| transform: rotate(15deg) scale(1.1); | |
| background: var(--accent-color); | |
| color: white; | |
| box-shadow: 0 8px 20px rgba(59, 130, 246, 0.3); | |
| } | |
| .theme-toggle-btn:hover { | |
| transform: scale(1.1); | |
| box-shadow: var(--shadow-md); | |
| background: var(--border-color); | |
| } | |
| .dark-theme .theme-toggle-btn:hover { | |
| background: var(--accent-color); | |
| color: white; | |
| } | |
| .theme-icon { | |
| position: absolute; | |
| font-size: 18px; | |
| line-height: 1; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1); | |
| } | |
| .sun-icon { | |
| opacity: 1; | |
| transform: rotate(0deg); | |
| } | |
| .moon-icon { | |
| opacity: 0; | |
| transform: rotate(-180deg); | |
| } | |
| .dark-theme .sun-icon { | |
| opacity: 0; | |
| transform: rotate(180deg); | |
| } | |
| .dark-theme .moon-icon { | |
| opacity: 1; | |
| transform: rotate(0deg); | |
| } | |
| .preview-area { | |
| display: none ; | |
| justify-content: center; | |
| align-items: flex-start; | |
| padding: 20px; | |
| margin-left: 0; | |
| } | |
| /* The blank background */ | |
| .bg-layer { | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| width: 100%; | |
| height: 100%; | |
| background-size: cover ; | |
| background-position: center ; | |
| background-repeat: no-repeat ; | |
| z-index: 1; | |
| -webkit-print-color-adjust: exact ; | |
| print-color-adjust: exact ; | |
| } | |
| .signature-section { | |
| margin: 2px; | |
| font-size: 10px; | |
| width: 80px; | |
| height: 40px; | |
| top: 585px; | |
| left: 75px; | |
| } | |
| .signature { | |
| font-size: 6.7px; | |
| letter-spacing: -0.15px; | |
| color: black ; | |
| } | |
| .signature-text { | |
| top: 5.2px; | |
| font-size: 5px; | |
| line-height: 0.9; | |
| color: black ; | |
| } | |
| .photo { | |
| position: absolute; | |
| top: 112px; | |
| left: 0px; | |
| width: 72px; | |
| height: 88px; | |
| z-index: 10; | |
| } | |
| .address-section { | |
| position: absolute; | |
| top: 852px; | |
| left: 415px; | |
| width: 180px; | |
| height: auto; | |
| /* Let it grow */ | |
| min-height: 110px; | |
| z-index: 10; | |
| } | |
| /* Specific elements positioning and styling */ | |
| /* Grouped common properties */ | |
| .hindi-name, | |
| .english-name, | |
| .dob-text, | |
| .gender-text { | |
| left: 3px; | |
| /* Relative to name-section */ | |
| font-size: 8px; | |
| } | |
| .address-hi-label, | |
| .address-en-label, | |
| .address-en-text { | |
| left: 0px; | |
| /* Relative to address-section */ | |
| } | |
| .address-hi-label, | |
| .address-en-label { | |
| font-size: 8px; | |
| } | |
| .address-hi-text, | |
| .address-en-text { | |
| font-size: 7.65px; | |
| width: 100%; | |
| /* Automatically adjust to the container's width */ | |
| max-width: 190px; | |
| /* Ensures it doesn't exceed the parent width */ | |
| white-space: normal; | |
| word-wrap: break-word; | |
| } | |
| .aadhar-no-middle, | |
| .aadhar-no-bottom, | |
| .aadhar-no-top { | |
| font-weight: bold; | |
| font-size: 15px; | |
| letter-spacing: 0px; | |
| font-family: 'AadhaarDigits', Arial, sans-serif; | |
| } | |
| /* Individual properties */ | |
| .enrolment-no { | |
| top: 0px; | |
| /* Relative to inrol-section */ | |
| left: 0px; | |
| /* Relative to inrol-section */ | |
| letter-spacing: -0.px; | |
| font-size: 12px; | |
| font-family: 'AadhaarDigits', 'AadhaarHindi', 'AadhaarEnglish', Arial, sans-serif; | |
| white-space: nowrap ; | |
| } | |
| .inrol-date { | |
| position: absolute; | |
| transform: rotate(-90deg); | |
| transform-origin: center center; | |
| font-size: 6.98px; | |
| left: -65px; | |
| top: 159px; | |
| /* Relative to inrol-section */ | |
| letter-spacing: 0px; | |
| color: black ; | |
| } | |
| .download-date { | |
| position: absolute; | |
| transform: rotate(-90deg); | |
| transform-origin: center center; | |
| font-size: 6.98px; | |
| left: -47px; | |
| top: 50px; | |
| /* Relative to inrol-section */ | |
| letter-spacing: 0px; | |
| color: black ; | |
| } | |
| .hindi-name, | |
| .address-hi-label, | |
| .address-hi-text, | |
| .gender-text { | |
| font-family: 'AadhaarHindi', 'Mangal', 'Nirmala UI', Arial, sans-serif; | |
| font-weight: 400; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| text-rendering: geometricPrecision; | |
| font-feature-settings: 'kern' 1, 'liga' 1; | |
| font-variant-ligatures: common-ligatures; | |
| } | |
| .hindi-name { | |
| top: 0px; | |
| /* Relative to name-section */ | |
| letter-spacing: 0px; | |
| } | |
| .english-name { | |
| top: 13px; | |
| /* Relative to name-section */ | |
| letter-spacing: 0.2px; | |
| } | |
| .dob-text { | |
| top: 26px; | |
| /* Relative to name-section */ | |
| font-family: 'AadhaarDigits', 'AadhaarHindi', 'AadhaarEnglish', Arial, sans-serif; | |
| } | |
| .gender-text { | |
| top: 40px; | |
| /* Relative to name-section */ | |
| } | |
| .aadhar-no-top { | |
| position: absolute; | |
| z-index: 10; | |
| font-weight: 100; | |
| top: 738px; | |
| /* This one seems independent, but if you want it in left-panel, move it. Keeping it global for now based on HTML structure */ | |
| left: 140px; | |
| font-size: 18px; | |
| letter-spacing: -0.3px; | |
| color: black; | |
| } | |
| .address-hi-label { | |
| top: 3px; | |
| } | |
| .address-hi-text { | |
| top: 10.5px; | |
| /* Relative to address-section */ | |
| line-height: 1.06; | |
| letter-spacing: 0.05px; | |
| } | |
| .address-en-label { | |
| top: 42px; | |
| /* Relative to address-section */ | |
| } | |
| .address-en-text { | |
| top: 50px; | |
| /* Relative to address-section */ | |
| line-height: 1.09; | |
| letter-spacing: 0.3px; | |
| } | |
| .aadhar-no-middle { | |
| letter-spacing: -0.15px; | |
| top: 258px; | |
| /* Relative to left-panel */ | |
| left: 78px; | |
| /* Relative to left-panel */ | |
| } | |
| .aadhar-no-bottom { | |
| position: absolute; | |
| letter-spacing: -0.15px; | |
| width: 119px; | |
| top: 149px; | |
| /* Relative to address-section */ | |
| left: 98px; | |
| /* Relative to address-section */ | |
| } | |
| /* Fixed Image */ | |
| .fixed-image { | |
| position: absolute; | |
| z-index: 10; | |
| object-fit: cover; | |
| top: 120px; | |
| /* Relative to left-panel */ | |
| left: 0px; | |
| /* Relative to left-panel */ | |
| width: 69px; | |
| height: 83px; | |
| } | |
| /* Reference Overlay for Alignment */ | |
| .ref-layer { | |
| display: none ; | |
| } | |
| /* Premium Popup Styles */ | |
| .popup-overlay { | |
| position: fixed; | |
| top: 0; | |
| left: 0; | |
| width: 100%; | |
| height: 100%; | |
| background: rgba(0, 0, 0, 0.5); | |
| backdrop-filter: blur(4px); | |
| display: flex; | |
| justify-content: center; | |
| align-items: center; | |
| z-index: 9999; | |
| opacity: 0; | |
| visibility: hidden; | |
| transition: all 0.3s ease; | |
| } | |
| .popup-overlay.active { | |
| opacity: 1; | |
| visibility: visible; | |
| } | |
| .popup-content { | |
| background: var(--card-bg); | |
| width: 90%; | |
| max-width: 400px; | |
| border-radius: 20px; | |
| padding: 35px; | |
| text-align: center; | |
| box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5); | |
| transform: translateY(20px) scale(0.95); | |
| transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); | |
| border: 1px solid var(--border-color); | |
| } | |
| .popup-overlay.active .popup-content { | |
| transform: translateY(0) scale(1); | |
| } | |
| .popup-icon svg.spinner-animation { | |
| animation: popup-spin 1.5s linear infinite; | |
| } | |
| @keyframes popup-spin { | |
| from { | |
| transform: rotate(0deg); | |
| } | |
| to { | |
| transform: rotate(360deg); | |
| } | |
| } | |
| .popup-icon { | |
| width: 70px; | |
| height: 70px; | |
| background: var(--border-color); | |
| color: var(--accent-color); | |
| border-radius: 50%; | |
| display: flex; | |
| justify-content: center; | |
| align-items: center; | |
| margin: 0 auto 20px; | |
| box-shadow: 0 0 0 10px rgba(0, 123, 255, 0.05); | |
| } | |
| .popup-title { | |
| font-family: 'Poppins', sans-serif; | |
| font-size: 24px; | |
| font-weight: 700; | |
| color: var(--text-color); | |
| margin-bottom: 12px; | |
| } | |
| .popup-message { | |
| font-family: 'Poppins', sans-serif; | |
| font-size: 15px; | |
| color: var(--label-color); | |
| margin-bottom: 30px; | |
| line-height: 1.6; | |
| } | |
| .popup-btn { | |
| background: #ff4757; | |
| color: white; | |
| border: none; | |
| padding: 12px 30px; | |
| border-radius: 8px; | |
| font-size: 16px; | |
| font-weight: 500; | |
| font-family: 'Poppins', sans-serif; | |
| cursor: pointer; | |
| transition: all 0.2s ease; | |
| width: 100%; | |
| box-shadow: 0 4px 10px rgba(255, 71, 87, 0.3); | |
| } | |
| .popup-btn:hover { | |
| background: #ff6b81; | |
| transform: translateY(-2px); | |
| box-shadow: 0 6px 15px rgba(255, 71, 87, 0.4); | |
| } | |
| .popup-btn:active { | |
| transform: translateY(0); | |
| } | |
| /* .hindi-name, | |
| .english-name, | |
| .dob-text, | |
| .gender-text, | |
| #out-inroltext, | |
| .address-section, | |
| .address-en-label, | |
| .address-en-text , | |
| .address-hi-label, | |
| .address-hi-text{ | |
| font-size:9px | |
| } */ | |
| @media print { | |
| @page { | |
| size: A4; | |
| margin: 0; | |
| } | |
| body { | |
| margin: 0; | |
| padding: 0; | |
| background-color: white ; | |
| color: black ; | |
| -webkit-print-color-adjust: exact ; | |
| print-color-adjust: exact ; | |
| height: 297mm ; | |
| overflow: hidden ; | |
| } | |
| /* Force all text elements to black in print */ | |
| .text-element, | |
| .inroltext, | |
| .signature, | |
| .signature-text, | |
| .inrol-date, | |
| .download-date, | |
| .enrolment-no, | |
| .hindi-name, | |
| .english-name, | |
| .dob-text, | |
| .gender-text, | |
| .address-hi-label, | |
| .address-hi-text, | |
| .address-en-label, | |
| .address-en-text, | |
| .aadhar-no-top, | |
| .aadhar-no-middle, | |
| .aadhar-no-bottom { | |
| color: black ; | |
| } | |
| /* Hindi font smoothing in print */ | |
| .hindi-name, | |
| .address-hi-label, | |
| .address-hi-text, | |
| .gender-text { | |
| font-family: 'AadhaarHindi', 'Noto Sans Devanagari', 'Mangal', 'Nirmala UI', Arial, sans-serif ; | |
| font-weight: 400 ; | |
| font-style: normal ; | |
| -webkit-font-smoothing: antialiased ; | |
| -moz-osx-font-smoothing: grayscale ; | |
| text-rendering: geometricPrecision ; | |
| font-smooth: always ; | |
| font-feature-settings: 'kern' 1, 'liga' 1 ; | |
| font-variant-ligatures: common-ligatures ; | |
| shape-rendering: geometricPrecision ; | |
| } | |
| /* Force html2canvas clone text elements to behave the exact same as preview */ | |
| .workspace * { | |
| -webkit-print-color-adjust: exact ; | |
| print-color-adjust: exact ; | |
| } | |
| /* Removed problematic PDF-only offsets to synchronize with preview */ | |
| .app-container { | |
| display: flex ; | |
| height: 297mm ; | |
| max-height: 297mm ; | |
| overflow: hidden ; | |
| justify-content: center ; | |
| align-items: flex-start ; | |
| padding: 0 ; | |
| box-sizing: border-box ; | |
| } | |
| .sidebar-form { | |
| display: none ; | |
| } | |
| .preview-area { | |
| display: flex ; | |
| margin-left: 0 ; | |
| height: 297mm ; | |
| max-height: 297mm ; | |
| overflow: hidden ; | |
| } | |
| .workspace { | |
| position: relative ; | |
| width: 210mm ; | |
| height: 297mm ; | |
| max-height: 297mm ; | |
| background-color: white ; | |
| box-shadow: none ; | |
| overflow: hidden ; | |
| transform: none ; | |
| margin: 0 ; | |
| top: auto ; | |
| left: auto ; | |
| page-break-after: avoid ; | |
| page-break-inside: avoid ; | |
| } | |
| .popup-overlay { | |
| display: none ; | |
| } | |
| .print-button { | |
| display: none; | |
| } | |
| .ref-layer { | |
| display: none ; | |
| } | |
| } | |
| .popup-overlay.active, | |
| #history-modal.active { | |
| display: flex ; | |
| } | |
| /* History Item Styles */ | |
| .history-item { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| padding: 15px; | |
| border: 1px solid var(--border-color); | |
| border-radius: 8px; | |
| margin-bottom: 10px; | |
| background: var(--input-bg); | |
| gap: 15px; | |
| } | |
| .history-actions { | |
| display: flex; | |
| gap: 10px; | |
| flex-shrink: 0; | |
| } | |
| @media (max-width: 500px) { | |
| .history-item { | |
| flex-direction: column; | |
| align-items: stretch; | |
| text-align: center; | |
| } | |
| .history-actions { | |
| justify-content: center; | |
| flex-wrap: wrap; | |
| } | |
| } | |
| .history-details { | |
| flex: 1; | |
| } | |
| .history-details h4 { | |
| margin: 0 0 5px 0; | |
| color: var(--text-color); | |
| } | |
| .history-details p { | |
| margin: 0; | |
| font-size: 12px; | |
| color: var(--label-color); | |
| } | |
| .history-actions { | |
| display: flex; | |
| gap: 10px; | |
| } | |
| .btn-history { | |
| padding: 6px 12px; | |
| border: none; | |
| border-radius: 8px; | |
| cursor: pointer; | |
| font-size: 13px; | |
| font-weight: 500; | |
| transition: all 0.2s; | |
| display: flex; | |
| align-items: center; | |
| gap: 6px; | |
| } | |
| .btn-preview { | |
| background: var(--primary-gradient); | |
| color: white; | |
| } | |
| .btn-print-hist { | |
| background: #10b981; | |
| /* High-contrast green */ | |
| color: white ; | |
| } | |
| .btn-delete { | |
| background: #ef4444; | |
| /* High-contrast red */ | |
| color: white ; | |
| } | |
| .btn-history:hover { | |
| filter: brightness(1.1); | |
| transform: translateY(-1px); | |
| } | |
| /* History Modal Responsive Styles */ | |
| .history-popup-content { | |
| max-width: 600px; | |
| width: min(600px, 95%); | |
| max-height: 85vh; | |
| overflow-y: auto; | |
| overflow-x: hidden; | |
| background: var(--glass-bg); | |
| backdrop-filter: blur(24px); | |
| -webkit-backdrop-filter: blur(24px); | |
| border: 1px solid var(--glass-border); | |
| border-radius: 20px; | |
| padding: 24px; | |
| box-shadow: var(--glass-shadow); | |
| color: var(--text-color); | |
| position: relative; | |
| box-sizing: border-box; | |
| } | |
| .history-modal-header { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| border-bottom: 1px solid var(--glass-border); | |
| padding-bottom: 15px; | |
| margin-bottom: 20px; | |
| } | |
| .history-modal-header h3 { | |
| margin: 0; | |
| font-size: 1.25rem; | |
| background: var(--primary-gradient); | |
| -webkit-background-clip: text; | |
| background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| } | |
| .close-modal-btn { | |
| background: transparent; | |
| border: none; | |
| font-size: 28px; | |
| cursor: pointer; | |
| color: var(--text-muted); | |
| transition: all 0.2s; | |
| line-height: 1; | |
| padding: 5px; | |
| } | |
| .close-modal-btn:hover { | |
| color: var(--text-color); | |
| transform: scale(1.1); | |
| } | |
| @media screen and (max-width: 600px) { | |
| .popup-overlay { | |
| padding: 0; | |
| align-items: stretch; | |
| justify-content: stretch; | |
| } | |
| .history-popup-content { | |
| padding: 20px 12px; | |
| width: 100% ; | |
| height: 100vh; | |
| max-height: 100vh; | |
| border-radius: 0; | |
| border: none; | |
| max-width: none; | |
| } | |
| .history-item { | |
| flex-direction: column; | |
| align-items: flex-start; | |
| padding: 14px; | |
| gap: 12px; | |
| width: 100%; | |
| box-sizing: border-box; | |
| } | |
| .history-details { | |
| width: 100%; | |
| overflow-wrap: break-word; | |
| word-break: break-word; | |
| } | |
| .history-details p { | |
| font-size: 13px; | |
| } | |
| .history-actions { | |
| width: 100%; | |
| display: grid; | |
| grid-template-columns: 1fr 1fr; | |
| gap: 8px; | |
| } | |
| .btn-history { | |
| padding: 12px 10px; | |
| text-align: center; | |
| justify-content: center; | |
| font-size: 14px; | |
| } | |
| .btn-delete { | |
| grid-column: span 2; | |
| } | |
| } | |
| /* Responsive Fixes for Mobile - Robust version */ | |
| @media screen and (max-width: 768px) { | |
| .app-container { | |
| padding: 15px 5px ; | |
| } | |
| .sidebar-form { | |
| padding: 15px ; | |
| border-radius: 8px ; | |
| width: 100% ; | |
| max-width: 100% ; | |
| } | |
| .form-row { | |
| flex-direction: column ; | |
| gap: 0 ; | |
| } | |
| .form-row .form-group { | |
| width: 100% ; | |
| flex: none ; | |
| margin-bottom: 20px ; | |
| } | |
| /* Stack name and other En/Hi pairs that use inline flex */ | |
| .form-group>div[style*="display:flex"], | |
| .form-group>div[style*="display: flex"] { | |
| flex-direction: column ; | |
| gap: 8px ; | |
| } | |
| .form-group>div[style*="display:flex"]>input, | |
| .form-group>div[style*="display: flex"]>input { | |
| width: 100% ; | |
| } | |
| /* Keep Gender radio buttons side-by-side but allows wrap if needed */ | |
| .form-group div[style*="gap:15px"] { | |
| flex-direction: row ; | |
| flex-wrap: wrap ; | |
| gap: 15px ; | |
| } | |
| .btn-print { | |
| font-size: 16px ; | |
| padding: 15px 12px ; | |
| } | |
| } | |
| /* Responsive Mobile Styles Extensions */ | |
| @media (max-width: 1024px) { | |
| .sidebar { | |
| transform: translateX(-100%); | |
| z-index: 1000; | |
| transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); | |
| box-shadow: 10px 0 30px rgba(0, 0, 0, 0.1); | |
| } | |
| .sidebar.active { | |
| transform: translateX(0); | |
| } | |
| .main-content { | |
| margin-left: 0 ; | |
| padding: 20px; | |
| } | |
| .hamburger-menu { | |
| display: flex ; | |
| } | |
| .app-container { | |
| flex-direction: column ; | |
| align-items: center; | |
| gap: 20px; | |
| } | |
| .sidebar-form { | |
| max-width: 100% ; | |
| width: 100%; | |
| } | |
| } | |
| @media (max-width: 768px) { | |
| .form-row { | |
| grid-template-columns: 1fr ; | |
| gap: 15px; | |
| } | |
| .wallet-stats { | |
| flex-direction: column; | |
| gap: 20px; | |
| text-align: center; | |
| } | |
| .wallet-stats div:last-child { | |
| width: 100%; | |
| justify-content: center; | |
| flex-wrap: wrap; | |
| } | |
| .balance-card { | |
| width: 100%; | |
| } | |
| .workspace { | |
| transform: scale(0.4) ; | |
| transform-origin: top center ; | |
| } | |
| } | |
| /* Hamburger Menu Toggle */ | |
| .hamburger-menu { | |
| display: none; | |
| position: fixed; | |
| top: 20px; | |
| left: 20px; | |
| z-index: 1001; | |
| background: var(--sidebar-bg); | |
| color: white; | |
| width: 45px; | |
| height: 45px; | |
| border-radius: 10px; | |
| align-items: center; | |
| justify-content: center; | |
| cursor: pointer; | |
| border: none; | |
| box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2); | |
| } | |
| /* Mobile Sidebar Overlay */ | |
| .overlay-sidebar { | |
| display: none; | |
| position: fixed; | |
| top: 0; | |
| left: 0; | |
| width: 100%; | |
| height: 100%; | |
| background: rgba(0, 0, 0, 0.5); | |
| backdrop-filter: blur(4px); | |
| z-index: 999; | |
| } | |
| .overlay-sidebar.active { | |
| display: block; | |
| } |