@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Devanagari:wght@400;500;600;700;900&family=Inter:wght@400;500;600;700&display=swap');

 :root {
 --blue-deep: #0f2d6b;
 --blue-mid: #1e40af;
 --blue-bright:#3b82f6;
 --gold: #f59e0b;
 --emerald: #10b981;
 --rose: #f43f5e;
 --violet: #7c3aed;
 --bg-light: #f0f4ff;
 }

 html { scroll-behavior: smooth; }

 body {
 font-family: 'Noto Sans Devanagari', 'Inter', system-ui, sans-serif;
 background: var(--bg-light);
 }

 /* ===== NAVBAR ===== */
 .glass {
 background: rgba(255,255,255,0.92);
 backdrop-filter: blur(24px);
 border-bottom: 1px solid rgba(30,64,175,0.12);
 box-shadow: 0 2px 20px rgba(30,64,175,0.06);
 }
 .nav-scrolled {
 background: rgba(255,255,255,0.98);
 box-shadow: 0 4px 20px rgba(30,64,175,0.10);
 }

 /* ===== HERO GRADIENT — animated ===== */
 .library-gradient {
 background: linear-gradient(135deg,
 #0a1628 0%,
 #0f2d6b 25%,
 #1e40af 55%,
 #1d4ed8 75%,
 #7c3aed 100%);
 background-size: 300% 300%;
 animation: gradientShift 10s ease infinite;
 position: relative;
 }
 .library-gradient::before {
 content: '';
 position: absolute; inset: 0;
 background:
 radial-gradient(circle at 20% 50%, rgba(245,158,11,0.12) 0%, transparent 50%),
 radial-gradient(circle at 80% 20%, rgba(124,58,237,0.15) 0%, transparent 40%),
 radial-gradient(circle at 60% 80%, rgba(16,185,129,0.08) 0%, transparent 40%);
 pointer-events: none;
 }
 @keyframes gradientShift {
 0% { background-position: 0% 50%; }
 50% { background-position: 100% 50%; }
 100% { background-position: 0% 50%; }
 }

 /* Floating orbs in hero */
 .hero-orb {
 position: absolute;
 border-radius: 50%;
 filter: blur(60px);
 opacity: 0.18;
 animation: floatOrb 8s ease-in-out infinite;
 pointer-events: none;
 }
 @keyframes floatOrb {
 0%,100% { transform: translateY(0) scale(1); }
 50% { transform: translateY(-20px) scale(1.05); }
 }

 /* ===== STATS CARDS ===== */
 .stat-card {
 border-radius: 1.5rem;
 padding: 1.5rem;
 transition: all 0.35s cubic-bezier(0.4,0,0.2,1);
 position: relative;
 overflow: hidden;
 }
 .stat-card::before {
 content: '';
 position: absolute; inset: 0;
 background: linear-gradient(135deg, rgba(255,255,255,0.15), transparent);
 border-radius: inherit;
 }
 .stat-card:hover { transform: translateY(-8px) scale(1.02); }
 .stat-card-blue { background: linear-gradient(135deg, #1e3a8a, #2563eb); color: white; box-shadow: 0 8px 30px rgba(30,64,175,0.35); }
 .stat-card-emerald { background: linear-gradient(135deg, #065f46, #10b981); color: white; box-shadow: 0 8px 30px rgba(16,185,129,0.35); }
 .stat-card-gold { background: linear-gradient(135deg, #92400e, #f59e0b); color: white; box-shadow: 0 8px 30px rgba(245,158,11,0.35); }
 .stat-card-violet { background: linear-gradient(135deg, #4c1d95, #7c3aed); color: white; box-shadow: 0 8px 30px rgba(124,58,237,0.35); }
 .stat-number { font-variant-numeric: tabular-nums; }

 /* ===== SECTION TITLE BADGE ===== */
 .section-badge {
 display: inline-flex; align-items: center; gap: 6px;
 background: linear-gradient(135deg, #dbeafe, #ede9fe);
 color: #1e40af; font-size: 11px; font-weight: 700;
 padding: 5px 16px; border-radius: 999px;
 letter-spacing: 1.5px; text-transform: uppercase;
 border: 1px solid rgba(30,64,175,0.15);
 }

 /* ===== JOURNEY / VISION CARDS ===== */
 .vision-card {
 background: linear-gradient(135deg, #f0f4ff, #fff);
 border: 1px solid rgba(30,64,175,0.12);
 border-radius: 1.5rem;
 padding: 2rem;
 box-shadow: 0 4px 20px rgba(30,64,175,0.08);
 transition: all 0.3s ease;
 }
 .vision-card:hover { box-shadow: 0 12px 40px rgba(30,64,175,0.14); transform: translateY(-4px); }

 /* ===== BOOK CARDS ===== */
 .book-card {
 transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
 border-left: 4px solid #1e40af;
 background: white;
 border-radius: 1.25rem;
 }
 .book-card:hover {
 transform: translateY(-5px);
 box-shadow: 0 16px 30px rgba(30,64,175,0.12);
 border-left-color: var(--gold);
 }
 .category-pill {
 background: linear-gradient(135deg, #dbeafe, #bfdbfe);
 color: #1e40af; font-size: 10px; font-weight: 700;
 padding: 4px 14px; border-radius: 9999px; letter-spacing: 0.5px;
 }

 /* ===== FILTER TABS ===== */
 .filter-tab { transition: all 0.2s cubic-bezier(0.4,0,0.2,1); font-weight: 600; }
 .filter-tab.active {
 background: linear-gradient(135deg, #1e40af, #7c3aed);
 color: white;
 box-shadow: 0 4px 12px rgba(30,64,175,0.35);
 }

 /* ===== JOIN SECTION ===== */
 .join-section-bg {
 background: linear-gradient(135deg, #f0f4ff 0%, #ede9fe 50%, #f0fdf4 100%);
 }
 .modern-input {
 transition: all 0.3s ease;
 background: white;
 }
 .modern-input:focus {
 border-color: #1e40af;
 box-shadow: 0 0 0 4px rgba(30,64,175,0.10);
 outline: none;
 }
 .support-card {
 background: white;
 border: 1px solid rgba(30,64,175,0.10);
 border-radius: 1.25rem;
 padding: 1.25rem 1.5rem;
 display: flex; align-items: center; gap: 1rem;
 transition: all 0.3s ease;
 box-shadow: 0 2px 12px rgba(30,64,175,0.06);
 }
 .support-card:hover {
 transform: translateX(6px);
 box-shadow: 0 6px 20px rgba(30,64,175,0.12);
 border-color: rgba(30,64,175,0.25);
 }

 /* ===== PREMIUM BUTTON ===== */
 .premium-button {
 transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
 }
 .premium-button:hover {
 transform: translateY(-2px);
 box-shadow: 0 12px 24px rgba(16,185,129,0.3);
 }

 /* ===== FOOTER ===== */
 .footer-gradient {
 background: linear-gradient(135deg, #0a1628, #0f2d6b, #1a1a2e);
 }

 /* ===== AMBEDKAR FRAME ===== */
 .ambedkar-frame {
 box-shadow: 0 25px 60px rgba(0,0,0,0.25);
 transition: transform 0.4s ease;
 }
 .ambedkar-frame:hover { transform: scale(1.02); }

 /* ===== PREMIUM SHADOW ===== */
 .premium-shadow {
 box-shadow: 0 10px 15px -3px rgba(0,0,0,0.06), 0 4px 6px -4px rgba(0,0,0,0.06);
 }
 .premium-card {
 transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
 border: 1px solid #e2e8f0;
 }
 .premium-card:hover {
 transform: translateY(-6px);
 box-shadow: 0 20px 40px rgba(30,64,175,0.12);
 border-color: #bfdbfe;
 }

 /* ===== ANIMATIONS ===== */
 @keyframes fadeInUp {
 from { opacity: 0; transform: translateY(24px); }
 to { opacity: 1; transform: translateY(0); }
 }
 .animate-fade-up { animation: fadeInUp 0.7s ease forwards; }
 .delay-100 { animation-delay: 0.1s; opacity: 0; }
 .delay-200 { animation-delay: 0.2s; opacity: 0; }
 .delay-300 { animation-delay: 0.3s; opacity: 0; }
 .delay-400 { animation-delay: 0.4s; opacity: 0; }

 /* ===== PULSE DOT ===== */
 @keyframes pulse { 0%,100% { opacity:1; } 50% { opacity:.4; } }
 .animate-pulse { animation: pulse 2s cubic-bezier(0.4,0,0.6,1) infinite; }

 /* ===== MOCK TEST CARDS ===== */
 .exam-card {
 border-radius: 1.25rem; padding: 1.25rem;
 cursor: pointer; transition: all 0.3s ease;
 border-left-width: 4px; border-left-style: solid;
 background: white;
 }
 .exam-card:hover { transform: translateY(-4px); box-shadow: 0 12px 30px rgba(0,0,0,0.10); }

 /* ==================== PREMIUM REGISTER SYSTEM REDESIGN ==================== */
 .no-dark-invert {
 color-scheme: light !important;
 forced-color-adjust: none !important;
 }

 /* Admin Panel Root */
 #register-view {
 background: 
 radial-gradient(ellipse at 20% 0%, rgba(30,64,175,0.18) 0%, transparent 60%),
 radial-gradient(ellipse at 80% 100%, rgba(124,58,237,0.12) 0%, transparent 60%),
 linear-gradient(160deg, #0a1020 0%, #0c1530 40%, #080e1e 100%);
 min-height: 100vh;
 color: #f1f5f9;
 }

 /* Premium Admin Header */
 .admin-header {
 background: linear-gradient(135deg, #080e22 0%, #0d1838 50%, #0a1428 100%);
 border-bottom: 1px solid rgba(99,179,237,0.15);
 box-shadow: 0 4px 30px rgba(0,0,0,0.6), 0 0 80px rgba(30,64,175,0.08);
 backdrop-filter: blur(24px);
 }

 .admin-logo-badge {
 background: linear-gradient(135deg, #1e3a8a, #7c3aed);
 border-radius: 14px;
 box-shadow: 0 4px 16px rgba(124,58,237,0.35), 0 0 0 1px rgba(255,255,255,0.08);
 }

 /* Premium Tab Bar */
 .admin-tab-bar {
 background: rgba(255,255,255,0.04);
 border: 1px solid rgba(255,255,255,0.08);
 border-radius: 16px;
 padding: 8px;
 display: flex;
 flex-wrap: wrap;
 gap: 6px;
 }

 .admin-tab-btn {
 flex: 1 1 80px;
 min-width: 72px;
 max-width: 110px;
 padding: 12px 8px;
 border-radius: 12px;
 font-size: 12.5px;
 font-weight: 700;
 transition: all 0.22s cubic-bezier(0.4,0,0.2,1);
 color: rgba(255,255,255,0.75);
 border: none;
 background: rgba(255,255,255,0.03);
 cursor: pointer;
 display: flex;
 flex-direction: column;
 align-items: center;
 gap: 6px;
 letter-spacing: 0.2px;
 }
 .admin-tab-btn i, .admin-tab-btn svg { font-size: 18px; }
 .admin-tab-btn:hover { color: #ffffff; background: rgba(255,255,255,0.09); transform: translateY(-1px); }
 .admin-tab-menu-btn {
 background: linear-gradient(135deg,#475569,#64748b) !important;
 color: white !important;
 }
 .admin-tab-menu-btn:hover { background: linear-gradient(135deg,#334155,#475569) !important; }
 .admin-tab-btn.tab-active-cash,
 .admin-tab-btn.tab-active-material,
 .admin-tab-btn.tab-active-expense,
 .admin-tab-btn.tab-active-members,
 .admin-tab-btn.tab-active-booklinks,
 .admin-tab-btn.tab-active-mocktest,
 .admin-tab-btn.tab-active-photos,
 .admin-tab-btn.tab-active-summary,
 .admin-tab-btn.tab-active-settings {
 background: linear-gradient(135deg,#1e40af,#2563eb);
 color: #ffffff !important;
 box-shadow: 0 4px 14px rgba(37,99,235,0.4), 0 0 0 1px rgba(255,255,255,0.08);
 }
 .admin-tab-btn.tab-active-operators {
 background: linear-gradient(135deg,#c2410c,#f97316);
 color: #ffffff !important;
 box-shadow: 0 4px 14px rgba(249,115,22,0.45), 0 0 0 1px rgba(255,255,255,0.08);
 }
 .admin-tab-btn.tab-active-aihelp {
 background: linear-gradient(135deg,#0e7490,#06b6d4);
 color: #ffffff !important;
 box-shadow: 0 4px 14px rgba(6,182,212,0.45), 0 0 0 1px rgba(255,255,255,0.08);
 }
 .admin-tab-btn.tab-active-articles {
 background: linear-gradient(135deg,#9333ea,#c084fc);
 color: #ffffff !important;
 box-shadow: 0 4px 14px rgba(192,132,252,0.45), 0 0 0 1px rgba(255,255,255,0.08);
 }
 .admin-tab-btn.tab-active-control {
 background: linear-gradient(135deg,#047857,#10b981);
 color: #ffffff !important;
 box-shadow: 0 4px 14px rgba(16,185,129,0.45), 0 0 0 1px rgba(255,255,255,0.08);
 }
 #btn-tab-control { color: #6ee7b7; }
 #btn-tab-control:hover { color: #a7f3d0; }
 #btn-tab-aihelp { color: #67e8f9; }
 #btn-tab-aihelp:hover { color: #a5f3fc; }
 #btn-tab-operators { color: #fdba74; }
 #btn-tab-operators:hover { color: #fed7aa; }
 .admin-tab-btn i { font-size: 13px; }
 @media (max-width: 640px) {
 .admin-tab-bar { gap: 2px; padding: 4px; }
 .admin-tab-btn { font-size: 9.5px; padding: 8px 2px; gap: 2px; }
 .admin-tab-btn i { font-size: 12px; }
 }

 /* Premium Form Card */
 .admin-form-card {
 background: linear-gradient(160deg, #0f1e3d 0%, #0c1730 60%, #0a1525 100%);
 border: 1px solid rgba(99,179,237,0.18);
 border-radius: 20px;
 box-shadow: 0 8px 40px rgba(0,0,0,0.5), 0 0 0 1px rgba(255,255,255,0.03), inset 0 1px 0 rgba(147,197,253,0.06);
 overflow: hidden;
 color: #f1f5f9;
 }

 .admin-form-header {
 background: linear-gradient(135deg, rgba(30,64,175,0.2), rgba(124,58,237,0.15));
 border-bottom: 1px solid rgba(59,130,246,0.12);
 padding: 14px 20px;
 display: flex;
 align-items: center;
 gap: 10px;
 }

 .admin-form-header-icon {
 width: 32px; height: 32px;
 border-radius: 8px;
 display: flex; align-items: center; justify-content: center;
 font-size: 14px;
 }

 /* ========== ADMIN FORM - BIGGER TEXT + BETTER COLORS (27 June 2026) ========== */
 .admin-input {
 width: 100%;
 background: #1e2d4a;
 border: 2px solid #3b82f6;
 border-radius: 14px;
 padding: 16px 18px;
 font-size: 16px;                    /* BIGGER TEXT */
 color: #ffffff !important;
 outline: none;
 transition: all 0.2s ease;
 font-family: 'Noto Sans Devanagari', 'Inter', sans-serif;
 box-shadow: inset 0 2px 8px rgba(0,0,0,0.3);
 letter-spacing: 0.3px;
 }
 .admin-input::placeholder { 
 color: #94a3b8; 
 font-style: normal; 
 font-size: 15px;
 }
 .admin-input:focus {
 border-color: #60a5fa;
 background: #1e3560;
 box-shadow: 0 0 0 4px rgba(96,165,250,0.2);
 color: #ffffff !important;
 }

 .admin-label {
 display: block;
 font-size: 13.5px;                   /* BIGGER LABEL */
 font-weight: 800;
 color: #bae6fd !important;
 margin-bottom: 8px;
 letter-spacing: 1px;
 text-transform: uppercase;
 }

 /* Entry rows - bigger text */
 .admin-entry-row {
 color: #f1f5f9 !important;
 font-size: 15px;
 }
 .admin-entry-row div,
 .admin-entry-row span {
 color: #f1f5f9 !important;
 }

 /* Form section header */
 .admin-form-header {
 font-size: 15px;
 font-weight: 800;
 color: #ffffff;
 }

 /* Submit buttons - bigger */
 .admin-submit-btn {
 font-size: 15px;
 padding: 16px 22px;
 border-radius: 14px;
 }

 .admin-sample-btn {
 font-size: 14px;
 padding: 14px 18px;
 }

 /* ========== END BIGGER TEXT FIXES ========== */

 /* Submit Button */
 .admin-submit-btn {
 background: linear-gradient(135deg, #1d4ed8, #2563eb);
 color: white;
 border: none;
 border-radius: 14px;
 padding: 13px 20px;
 font-size: 13px;
 font-weight: 800;
 cursor: pointer;
 transition: all 0.22s cubic-bezier(0.4,0,0.2,1);
 box-shadow: 0 4px 20px rgba(37,99,235,0.35), 0 0 0 1px rgba(255,255,255,0.06);
 display: flex; align-items: center; justify-content: center; gap: 8px;
 font-family: 'Noto Sans Devanagari', 'Inter', sans-serif;
 }
 .admin-submit-btn:hover {
 transform: translateY(-2px);
 box-shadow: 0 8px 28px rgba(37,99,235,0.5);
 background: linear-gradient(135deg, #1e40af, #3b82f6);
 }
 .admin-submit-btn:active { transform: translateY(0); }

 .admin-sample-btn {
 background: linear-gradient(135deg, #065f46, #10b981);
 color: white;
 border: none;
 border-radius: 14px;
 padding: 13px 16px;
 font-size: 12px;
 font-weight: 700;
 cursor: pointer;
 transition: all 0.2s ease;
 box-shadow: 0 4px 16px rgba(16,185,129,0.3);
 display: flex; align-items: center; gap: 6px; white-space: nowrap;
 font-family: 'Noto Sans Devanagari', 'Inter', sans-serif;
 }
 .admin-sample-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(16,185,129,0.45); }

 /* Entries List Panel */
 .admin-entries-card {
 background: linear-gradient(160deg, #0d1a36 0%, #091224 100%);
 border: 1px solid rgba(239,68,68,0.15);
 border-radius: 20px;
 box-shadow: 0 6px 30px rgba(0,0,0,0.4);
 overflow: hidden;
 }

 .admin-entries-header {
 background: linear-gradient(135deg, rgba(239,68,68,0.10), rgba(220,38,38,0.06));
 border-bottom: 1px solid rgba(239,68,68,0.14);
 padding: 12px 18px;
 display: flex;
 align-items: center;
 justify-content: space-between;
 }

 .admin-entry-row {
 display: flex;
 align-items: center;
 justify-content: space-between;
 padding: 10px 18px;
 border-bottom: 1px solid rgba(255,255,255,0.04);
 transition: background 0.15s ease;
 }
 .admin-entry-row:hover { background: linear-gradient(90deg, rgba(96,165,250,0.07), rgba(96,165,250,0.03)); }
 .admin-entry-row:last-child { border-bottom: none; }

 .admin-delete-btn {
 width: 30px; height: 30px;
 background: rgba(239,68,68,0.12);
 border: 1px solid rgba(239,68,68,0.18);
 border-radius: 8px;
 color: #fca5a5;
 cursor: pointer;
 display: flex; align-items: center; justify-content: center;
 font-size: 11px;
 transition: all 0.18s ease;
 flex-shrink: 0;
 }
 .admin-delete-btn:hover { background: #dc2626; color: white; border-color: #dc2626; transform: scale(1.1); }

 /* Live Counter Bar */
 .admin-counter-bar {
 background: linear-gradient(135deg, rgba(30,64,175,0.08), rgba(124,58,237,0.06));
 border-top: 1px solid rgba(99,179,237,0.12);
 padding: 11px 20px;
 display: flex;
 justify-content: space-between;
 align-items: center;
 }

 /* Action Buttons in header */
 .admin-action-btn {
 display: flex; align-items: center; gap: 6px;
 padding: 8px 14px;
 border-radius: 10px;
 font-size: 12px;
 font-weight: 700;
 border: none;
 cursor: pointer;
 transition: all 0.2s ease;
 font-family: 'Noto Sans Devanagari', 'Inter', sans-serif;
 }
 .admin-action-btn-print { background: linear-gradient(135deg,#065f46,#059669); color:white; box-shadow:0 3px 12px rgba(5,150,105,0.3); }
 .admin-action-btn-print:hover { transform:translateY(-1px); box-shadow:0 5px 18px rgba(5,150,105,0.45); }
 .admin-action-btn-delete { background:rgba(239,68,68,0.12); border:1px solid rgba(239,68,68,0.2); color:#fca5a5; }
 .admin-action-btn-delete:hover { background:#dc2626; color:white; }
 .admin-action-btn-logout { background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.1); color:rgba(255,255,255,0.7); }
 .admin-action-btn-logout:hover { background:rgba(255,255,255,0.12); color:white; }

 /* ===== SETTINGS GROUPS (Collapsible) ===== */
 .settings-group {
 background: rgba(20,184,166,0.04);
 border: 1px solid rgba(20,184,166,0.15);
 border-radius: 14px;
 margin-bottom: 12px;
 overflow: hidden;
 }
 .settings-group-title {
 display: flex;
 align-items: center;
 justify-content: space-between;
 padding: 14px 16px;
 font-size: 13px;
 font-weight: 800;
 color: #ccfbf1;
 cursor: pointer;
 user-select: none;
 transition: background 0.18s ease;
 }
 .settings-group-title:hover { background: rgba(20,184,166,0.08); }
 .settings-chevron { font-size: 12px; color: rgba(94,234,212,0.6); transition: transform 0.25s ease; }
 .settings-group.collapsed .settings-chevron { transform: rotate(-90deg); }
 .settings-group-body {
 padding: 4px 16px 16px;
 display: flex;
 flex-direction: column;
 gap: 12px;
 }
 .settings-group.collapsed .settings-group-body { display: none; }

 /* ===== PUBLIC AI ASSISTANT (Floating Chat) ===== */
 .ai-fab {
 position: fixed;
 bottom: 24px; right: 24px;
 width: 62px; height: 62px;
 border-radius: 50%;
 background: linear-gradient(135deg, #1e40af, #7c3aed);
 box-shadow: 0 8px 30px rgba(124,58,237,0.5), 0 0 0 1px rgba(255,255,255,0.1);
 display: flex; align-items: center; justify-content: center;
 color: white; font-size: 24px;
 cursor: pointer; z-index: 90;
 border: none;
 transition: all 0.25s cubic-bezier(0.4,0,0.2,1);
 animation: aiPulse 2.5s ease-in-out infinite;
 }
 .ai-fab:hover { transform: scale(1.08) translateY(-2px); box-shadow: 0 12px 40px rgba(124,58,237,0.65); }
 @keyframes aiPulse {
 0%,100% { box-shadow: 0 8px 30px rgba(124,58,237,0.5), 0 0 0 0 rgba(124,58,237,0.4); }
 50% { box-shadow: 0 8px 30px rgba(124,58,237,0.5), 0 0 0 12px rgba(124,58,237,0); }
 }
 .ai-fab-badge {
 position: absolute; top: -2px; right: -2px;
 background: #f59e0b; color: #0a1628;
 font-size: 9px; font-weight: 900;
 padding: 2px 6px; border-radius: 999px;
 letter-spacing: 0.5px;
 }

 .ai-chat-window {
 position: fixed;
 bottom: 100px; right: 24px;
 width: 380px; max-width: calc(100vw - 32px);
 height: 540px; max-height: calc(100vh - 140px);
 background: linear-gradient(160deg, #ffffff, #f0f4ff);
 border-radius: 24px;
 box-shadow: 0 25px 70px rgba(15,45,107,0.3), 0 0 0 1px rgba(30,64,175,0.08);
 display: none;
 flex-direction: column;
 overflow: hidden;
 z-index: 91;
 animation: aiSlideUp 0.3s cubic-bezier(0.4,0,0.2,1);
 }
 .ai-chat-window.open { display: flex; }
 @keyframes aiSlideUp { from { opacity:0; transform: translateY(20px) scale(0.97); } to { opacity:1; transform: translateY(0) scale(1); } }

 .ai-chat-header {
 background: linear-gradient(135deg, #0f2d6b, #7c3aed);
 padding: 16px 18px;
 display: flex; align-items: center; justify-content: space-between;
 color: white;
 }
 .ai-chat-body {
 flex: 1; overflow-y: auto;
 padding: 16px;
 display: flex; flex-direction: column; gap: 12px;
 background: #f8faff;
 }
 .ai-msg { max-width: 85%; padding: 10px 14px; border-radius: 16px; font-size: 13.5px; line-height: 1.55; }
 .ai-msg-bot { background: white; color: #1e293b; align-self: flex-start; border-bottom-left-radius: 4px; box-shadow: 0 2px 8px rgba(30,64,175,0.08); }
 .ai-msg-user { background: linear-gradient(135deg,#1e40af,#3b82f6); color: white; align-self: flex-end; border-bottom-right-radius: 4px; }
 .ai-quick-chips { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 16px 12px; background: #f8faff; }
 .ai-chip {
 font-size: 11.5px; font-weight: 600;
 background: white; color: #1e40af;
 border: 1px solid rgba(30,64,175,0.2);
 padding: 6px 12px; border-radius: 999px;
 cursor: pointer; transition: all 0.18s ease;
 }
 .ai-chip:hover { background: #1e40af; color: white; }
 .ai-chat-input-row {
 display: flex; gap: 8px; padding: 12px;
 border-top: 1px solid rgba(30,64,175,0.1);
 background: white;
 }
 .ai-chat-input {
 flex: 1; border: 1px solid rgba(30,64,175,0.2);
 border-radius: 999px; padding: 10px 16px;
 font-size: 13.5px; outline: none;
 font-family: 'Noto Sans Devanagari','Inter',sans-serif;
 }
 .ai-chat-input:focus { border-color: #1e40af; box-shadow: 0 0 0 3px rgba(30,64,175,0.1); }
 .ai-send-btn {
 width: 42px; height: 42px; border-radius: 50%;
 background: linear-gradient(135deg,#1e40af,#7c3aed); color: white;
 border: none; cursor: pointer; flex-shrink: 0;
 display: flex; align-items: center; justify-content: center;
 transition: all 0.2s ease;
 }
 .ai-send-btn:hover { transform: scale(1.08); }
 .ai-typing { display: flex; gap: 4px; padding: 12px 14px; }
 .ai-typing span { width: 7px; height: 7px; border-radius: 50%; background: #94a3b8; animation: aiTyping 1.2s infinite; }
 .ai-typing span:nth-child(2) { animation-delay: 0.2s; }
 .ai-typing span:nth-child(3) { animation-delay: 0.4s; }
 @keyframes aiTyping { 0%,60%,100% { opacity: 0.3; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-4px); } }

 /* ===== ADMIN AI HELPER ===== */
 .admin-ai-card {
 background: linear-gradient(160deg, #0f1e3d, #0c1730);
 border: 1px solid rgba(99,179,237,0.18);
 border-radius: 16px;
 overflow: hidden;
 margin-bottom: 14px;
 }
 .admin-ai-msg { max-width: 88%; padding: 10px 14px; border-radius: 14px; font-size: 13px; line-height: 1.55; }
 .admin-ai-msg-bot { background: rgba(96,165,250,0.1); color: #dbeafe; align-self: flex-start; border: 1px solid rgba(96,165,250,0.15); }
 .admin-ai-msg-user { background: linear-gradient(135deg,#1e40af,#3b82f6); color: white; align-self: flex-end; }
 .admin-ai-action-btn {
 display: block; width: 100%; text-align: left;
 background: rgba(16,185,129,0.1); border: 1px solid rgba(16,185,129,0.25);
 color: #6ee7b7; padding: 12px 14px; border-radius: 12px;
 font-size: 12.5px; font-weight: 600; cursor: pointer;
 transition: all 0.18s ease; margin-top: 8px;
 font-family: 'Noto Sans Devanagari','Inter',sans-serif;
 }
 .admin-ai-action-btn:hover { background: rgba(16,185,129,0.2); border-color: rgba(16,185,129,0.4); }

 /* ===== POSTER / BANNER — AUTO-FIT ===== */
 .poster-banner {
 position: relative;
 width: 100%;
 background: #0f172a;
 color: white;
 overflow: hidden;
 }
 .poster-slide {
 display: none;
 position: relative;
 width: 100%;
 }
 .poster-slide.active { display: block; }

 /* Auto-fit wrapper: always fills width, height adapts to image */
 .poster-img-wrap {
 width: 100%;
 position: relative;
 overflow: hidden;
 background: #0f172a;
 max-height: 520px;
 display: flex;
 align-items: center;
 justify-content: center;
 }
 .poster-img-bg {
 position: absolute;
 inset: 0;
 width: 100%;
 height: 100%;
 object-fit: cover;
 filter: blur(18px) brightness(0.45) saturate(1.4);
 transform: scale(1.08);
 z-index: 0;
 }
 .poster-img {
 position: relative;
 z-index: 1;
 display: block;
 width: 100%;
 height: auto;
 max-height: 520px;
 object-fit: contain;
 object-position: center;
 }

 .poster-textonly {
 padding: 32px 24px;
 text-align: center;
 background: linear-gradient(135deg, #1e3a8a, #7c3aed);
 min-height: 120px;
 display: flex;
 flex-direction: column;
 align-items: center;
 justify-content: center;
 }
 .poster-overlay-text {
 position: absolute; left: 0; right: 0; bottom: 0;
 padding: 24px 24px 20px;
 background: linear-gradient(to top, rgba(0,0,0,0.82), rgba(0,0,0,0.3), transparent);
 color: white;
 z-index: 2;
 }
 .poster-title { font-size: 1.5rem; font-weight: 900; line-height: 1.2; text-shadow: 0 2px 8px rgba(0,0,0,0.5); }
 .poster-sub { font-size: 0.95rem; opacity: 0.95; margin-top: 5px; text-shadow: 0 1px 4px rgba(0,0,0,0.4); }
 .poster-close {
 position: absolute; top: 12px; right: 12px;
 width: 36px; height: 36px; border-radius: 50%;
 background: rgba(0,0,0,0.5); color: white; border: none;
 cursor: pointer; font-size: 18px; z-index: 10;
 display: flex; align-items: center; justify-content: center;
 backdrop-filter: blur(6px);
 transition: background 0.2s;
 }
 .poster-close:hover { background: rgba(0,0,0,0.8); }
 .poster-dots { position: absolute; bottom: 12px; left: 50%; transform: translateX(-50%); display: flex; gap: 6px; z-index: 10; }
 .poster-dot { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,0.45); cursor: pointer; transition: all 0.3s; }
 .poster-dot.active { background: white; width: 24px; border-radius: 999px; }

 /* ===== COMING SOON OVERLAY (for deactivated features) ===== */
 .coming-soon-block {
 padding: 4rem 2rem;
 text-align: center;
 background: linear-gradient(160deg, #f1f5f9, #e2e8f0);
 border-radius: 1.5rem;
 margin: 1rem auto;
 max-width: 600px;
 border: 2px dashed #cbd5e1;
 }
 .coming-soon-block .cs-icon { font-size: 3rem; color: #94a3b8; margin-bottom: 1rem; }
 .coming-soon-block .cs-title { font-size: 1.5rem; font-weight: 900; color: #475569; margin-bottom: 0.5rem; }
 .coming-soon-block .cs-text { font-size: 0.95rem; color: #64748b; line-height: 1.6; }

 /* ===== FEATURE TOGGLE CARD (admin) ===== */
 .feature-toggle-card {
 background: rgba(255,255,255,0.03);
 border: 1px solid rgba(99,179,237,0.15);
 border-radius: 14px;
 padding: 14px 16px;
 margin-bottom: 10px;
 }
 .feature-toggle-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
 .ft-switch { cursor: pointer; flex-shrink: 0; display: flex; flex-direction: column; align-items: center; gap: 3px; }
 .ft-track { width: 50px; height: 27px; border-radius: 999px; display: flex; align-items: center; padding: 3px; transition: all 0.25s; }
 .ft-thumb { width: 21px; height: 21px; background: white; border-radius: 50%; box-shadow: 0 1px 4px rgba(0,0,0,0.3); transition: transform 0.25s; }

 .no-print-panel {
 background: transparent;
 }

 #pages-root {
 display: none; 
 }

 .a4-page {
 width: 210mm;
 height: 297mm;
 min-height: 297mm;
 max-height: 297mm;
 padding: 5mm 10mm;
 margin: 0 auto;
 background: #ffffff !important;
 color: #0f172a !important;
 position: relative;
 box-sizing: border-box;
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 overflow: hidden;
 page-break-after: always;
 }

 .watermark-overlay {
 position: absolute;
 top: 53%;
 left: 50%;
 transform: translate(-50%, -50%) rotate(-15deg);
 width: 340px;
 height: 340px;
 border: 6px double rgba(30, 64, 175, 0.08);
 border-radius: 50%;
 display: flex;
 flex-direction: column;
 align-items: center;
 justify-content: center;
 z-index: 0;
 pointer-events: none;
 }
 .watermark-img {
 width: 200px;
 height: 200px;
 border-radius: 50%;
 opacity: 0.07;
 filter: grayscale(30%) contrast(120%);
 object-fit: cover;
 }
 .watermark-text {
 font-size: 38px;
 font-weight: 900;
 color: rgba(30, 64, 175, 0.09) !important;
 margin-top: 4px;
 letter-spacing: 3px;
 }
 .watermark-fallback {
 font-size: 70px;
 color: rgba(30, 64, 175, 0.07);
 line-height: 1;
 }

 .register-table {
 width: 100%;
 border-collapse: collapse;
 font-size: 12px;
 position: relative;
 z-index: 10;
 border: 2px solid #1e40af;
 height: 100%;
 table-layout: fixed;
 }
 .register-table th {
 background-color: #1e40af !important;
 color: white !important;
 font-weight: 700;
 text-align: center;
 border: 1px solid #1e40af;
 padding: 4px 3px;
 font-size: 11px;
 }
 .register-table td {
 border: 1px solid #94a3b8;
 padding: 0px 6px;
 height: 28px;
 vertical-align: middle;
 color: #0f172a !important;
 background-color: #ffffff !important;
 }

 @media print {
 body {
 background-color: #ffffff !important;
 margin: 0;
 padding: 0;
 }
 .no-print-panel, .entry-form-container, #public-view, .view-toggle {
 display: none !important; 
 }
 #register-view {
 display: block !important; 
 }
 .a4-page {
 width: 210mm !important;
 height: 297mm !important;
 min-height: 297mm !important;
 max-height: 297mm !important;
 padding: 5mm 10mm !important;
 margin: 0 !important;
 box-shadow: none !important;
 overflow: hidden !important;
 page-break-after: always !important;
 }
 .register-table {
 height: 100% !important;
 font-size: 11px !important;
 }
 .register-table td {
 height: 28px !important;
 padding: 0px 5px !important;
 }
 .a4-page {
 box-shadow: none;
 margin: 0;
 page-break-after: always;
 -webkit-print-color-adjust: exact !important;
 print-color-adjust: exact !important;
 }
 }

 .admin-modal {
 animation: fadeInScale 0.2s ease-out forwards;
 }
 @keyframes fadeInScale {
 from { opacity: 0; transform: scale(0.95); }
 to { opacity: 1; transform: scale(1); }
 }

 /* ==================== FRESH RECEIPT PRINT ==================== */
 @media print {
 body { background: white !important; margin: 0; padding: 0; }
 body > *:not(#receipt-modal) { display: none !important; }
 
 #receipt-modal {
 position: fixed !important; top: 0 !important; left: 0 !important;
 width: 100vw !important; height: 100vh !important; background: white !important;
 margin: 0; padding: 12mm; display: flex !important;
 align-items: center !important; justify-content: center !important;
 box-shadow: none !important;
 }
 
 #receipt-modal > div {
 box-shadow: none !important; border: 2px solid #1e40af !important;
 width: 100% !important; max-width: 170mm !important; margin: 0 auto;
 }
 
 #receipt-modal .absolute { opacity: 0.06 !important; }
 }

/* ============================================================
   मॉक टेस्ट — फुल-स्क्रीन परीक्षा मोड + बड़ा टाइमर
   ============================================================ */
#mocktest-modal.exam-on{
  background:#0b1220;
  padding:0;
}
#mocktest-modal.exam-on > div{
  max-width:100%;
  width:100%;
  height:100vh;
  max-height:100vh;
  border-radius:0;
  border:none;
}
#timer-display{
  font-size:1.05rem;
  padding:0.45rem 0.95rem;
  border-radius:0.85rem;
}
#timer-display i{ font-size:0.9rem; }
@media (min-width:640px){
  #timer-display{ font-size:1.25rem; padding:0.5rem 1.1rem; }
}
