@import url('design-tokens.css');@import url('components.css');.hero-banner {background:var(--gradient-hero);border-radius:var(--border-radius-2xl);padding:var(--spacing-8) var(--spacing-6);margin:var(--spacing-4) 0;position:relative;overflow:hidden;box-shadow:var(--shadow-xl);border:1px solid var(--color-neutral-200)}.hero-banner::before {content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:var(--pattern-circles) repeat;z-index:1}.hero-content {position:relative;z-index:2}.hero-title {font-size:clamp(1.75rem, 5vw, 3rem);font-weight:var(--font-weight-black);line-height:1.1;color:var(--color-neutral-900);margin-bottom:var(--spacing-4)}.text-gradient-primary {background:linear-gradient(135deg, var(--color-primary-600), var(--color-primary-700), var(--color-secondary-600));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:inline-block}.hero-subtitle {font-size:clamp(1rem, 2.5vw, 1.25rem);color:var(--color-neutral-700);line-height:var(--line-height-relaxed);max-width:600px;margin:0 auto var(--spacing-6)}.trust-indicator .badge {font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border-radius:var(--border-radius-full);padding:var(--spacing-2) var(--spacing-4)}.bg-success-gradient {background:var(--gradient-success);color:white !important;font-weight:600;font-size:0.875rem !important;line-height:1.4;display:inline-flex;align-items:center;box-shadow:0 4px 12px rgba(5, 150, 105, 0.3);border:none}.bg-success-gradient i {color:white !important;font-size:0.875rem;flex-shrink:0}.bg-success-gradient span {color:white !important}.bg-primary-gradient {background:var(--gradient-primary);color:white !important;font-weight:600;font-size:0.875rem !important;line-height:1.4;display:inline-flex;align-items:center;box-shadow:0 4px 12px rgba(79, 70, 229, 0.3);border:none}.bg-primary-gradient i {color:white !important;font-size:0.875rem;flex-shrink:0}.bg-primary-gradient span {color:white !important}.bg-info-gradient {background:linear-gradient(135deg, var(--color-info-500), var(--color-info-600));color:white}.btn-hero-cta {background:linear-gradient(135deg, #4f46e5 0%, #7c3aed 50%, #ec4899 100%);border:3px solid #4f46e5;color:white !important;padding:1.5rem 4rem;font-size:1.25rem;font-weight:800;border-radius:20px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 12px 40px rgba(79, 70, 229, 0.5), 0 0 0 0 rgba(79, 70, 229, 0.5);transition:all 0.3s ease;position:relative;overflow:hidden;min-height:72px;margin-bottom:1.5rem;text-transform:uppercase;letter-spacing:0.5px}.btn-hero-cta::before {content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg, var(--primary-500) 0%, var(--primary-600) 100%);opacity:0;transition:opacity 0.3s ease}.btn-hero-cta:hover {transform:translateY(-4px) scale(1.02);box-shadow:0 16px 50px rgba(79, 70, 229, 0.6), 0 0 0 4px rgba(79, 70, 229, 0.3);color:white !important;text-decoration:none;border-color:#7c3aed}.btn-hero-cta:hover::before {opacity:1}.btn-hero-cta i, .btn-hero-cta span {position:relative;z-index:1}.btn-hero-cta i {font-size:1.5rem;color:white !important}.btn-hero-cta:focus {outline:4px solid rgba(79, 70, 229, 0.4);outline-offset:4px}.benefits-grid {margin-top:var(--spacing-6)}.benefit-item {display:flex;align-items:center;justify-content:center;padding:var(--spacing-3) var(--spacing-4);background:rgba(255, 255, 255, 0.8);border-radius:var(--border-radius-lg);border:1px solid var(--color-neutral-200);transition:var(--transition-all);backdrop-filter:blur(10px);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);white-space:nowrap;box-shadow:var(--shadow-sm)}.benefit-item:hover {transform:translateY(-2px);box-shadow:var(--shadow-md);background:rgba(255, 255, 255, 0.95)}.hover-lift {transition:var(--transition-all)}.hover-lift:hover {transform:translateY(-8px) scale(1.02);box-shadow:0 20px 40px rgba(0, 0, 0, 0.1)}.card-info-grid .card {border:none;background:linear-gradient(145deg, #ffffff 0%, #f8fafc 100%);border-radius:var(--border-radius-2xl);overflow:hidden;transition:var(--transition-all);box-shadow:var(--shadow-lg);position:relative}.card-info-grid .card::before {content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg, var(--color-primary-500), var(--color-secondary-500), var(--color-primary-600));z-index:1}.card-info-grid .card:hover {transform:translateY(-12px) scale(1.03);box-shadow:0 25px 50px rgba(0, 0, 0, 0.15)}.card-info-grid .card-body {padding:var(--spacing-8) var(--spacing-6);position:relative;z-index:2}.card-info-grid .card-title {font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-neutral-900);margin-bottom:var(--spacing-4)}.card-info-grid .card-text {color:var(--color-neutral-700);line-height:var(--line-height-relaxed);font-size:var(--font-size-base)}.card-info-grid .bi {background:linear-gradient(135deg, var(--color-primary-400), var(--color-primary-600), var(--color-secondary-500));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 8px rgba(79, 70, 229, 0.2))}.card-info-grid .badge {font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:var(--border-radius-full);padding:var(--spacing-2) var(--spacing-3);border:1px solid rgba(255, 255, 255, 0.2)}body {font-family:var(--font-family-secondary);background:linear-gradient(180deg, var(--color-neutral-50) 0%, var(--color-neutral-100) 100%);color:var(--color-neutral-900);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}body, p, div, span, li, td, th {color:var(--color-neutral-900) !important}.text-muted {color:var(--color-neutral-700) !important}.text-secondary {color:var(--color-neutral-800) !important}.card-text {color:var(--color-neutral-900) !important}.form-text {color:var(--color-neutral-700) !important}.badge {color:white !important;font-weight:var(--font-weight-medium)}.alert {color:var(--color-neutral-900) !important}.list-group-item {color:var(--color-neutral-900) !important}.card-title {color:var(--color-neutral-900) !important;font-weight:var(--font-weight-semibold)}.card-subtitle {color:var(--color-neutral-800) !important}.navbar-text {color:var(--color-neutral-900) !important}.breadcrumb-item {color:var(--color-neutral-800) !important}.breadcrumb-item.active {color:var(--color-neutral-900) !important}.form-label {color:var(--color-neutral-900) !important;font-weight:var(--font-weight-medium)}.form-control {color:var(--color-neutral-900) !important}.form-control::placeholder {color:var(--color-neutral-600) !important}.form-select {color:var(--color-neutral-900) !important}.input-group-text {color:var(--color-neutral-900) !important;background-color:var(--color-neutral-100);border-color:var(--color-neutral-300)}.table {color:var(--color-neutral-900) !important}.table th {color:var(--color-neutral-900) !important;font-weight:var(--font-weight-semibold)}.table td {color:var(--color-neutral-900) !important}.btn {font-weight:var(--font-weight-medium)}.loading {color:var(--color-neutral-800) !important}.footer {color:var(--color-neutral-700) !important}.footer a {color:var(--color-neutral-800) !important}.footer a:hover {color:var(--color-primary-600) !important}a {color:var(--color-primary-600) !important}a:hover {color:var(--color-primary-700) !important}a:visited {color:var(--color-primary-800) !important}ul, ol {color:var(--color-neutral-900) !important}li {color:var(--color-neutral-900) !important}h1, h2, h3, h4, h5, h6 {font-family:var(--font-family-secondary);font-weight:var(--font-weight-semibold);color:var(--color-neutral-900);line-height:var(--line-height-tight)}a {color:var(--color-primary-600);text-decoration:none;transition:var(--transition-colors)}a:hover {color:var(--color-primary-700);text-decoration:underline}a:focus, button:focus, input:focus, select:focus, textarea:focus {outline:var(--focus-ring-width) solid var(--color-primary-500);outline-offset:var(--focus-ring-offset)}:root {--primary-color:var(--color-primary-600);--secondary-color:var(--color-secondary-600);--success-color:var(--color-success-600);--info-color:var(--color-info-600);--warning-color:var(--color-warning-500);--danger-color:var(--color-error-600);--light-color:var(--color-neutral-100);--dark-color:var(--color-neutral-800)}.card {border-radius:var(--card-border-radius);border:var(--card-border-width) solid var(--card-border-color);box-shadow:var(--card-shadow);overflow:hidden;margin-bottom:var(--spacing-5);background-color:white;transition:var(--transition-all);color:var(--color-neutral-900) !important}.card:hover {box-shadow:var(--shadow-lg)}.card-header {font-weight:var(--font-weight-semibold);background-color:var(--color-neutral-50);border-bottom:var(--card-border-width) solid var(--card-border-color);padding:var(--spacing-4) var(--spacing-6)}.card-body {padding:var(--spacing-6)}.card-footer {background-color:var(--color-neutral-50);border-top:var(--card-border-width) solid var(--card-border-color);padding:var(--spacing-4) var(--spacing-6)}.shadow {box-shadow:var(--shadow-base) !important}.shadow-sm {box-shadow:var(--shadow-sm) !important}.shadow-lg {box-shadow:var(--shadow-lg) !important}.shadow-xl {box-shadow:var(--shadow-xl) !important}.btn {border-radius:var(--button-border-radius);font-weight:var(--button-font-weight);transition:var(--button-transition);min-height:var(--min-touch-target);display:inline-flex;align-items:center;justify-content:center;position:relative;overflow:hidden;text-decoration:none}.btn:focus, .btn:active {text-decoration:none}.btn-outline-primary {background-color:transparent;border-color:var(--color-primary-600);color:var(--color-primary-600);border-width:2px}.btn-outline-primary:hover {background-color:var(--color-primary-600);border-color:var(--color-primary-600);color:white}.btn-outline-secondary {background-color:transparent;border-color:var(--color-neutral-600);color:var(--color-neutral-800);border-width:2px}.btn-outline-secondary:hover {background-color:var(--color-neutral-600);border-color:var(--color-neutral-600);color:white}.btn-outline-success {background-color:transparent;border-color:var(--color-success-600);color:var(--color-success-600);border-width:2px}.btn-outline-success:hover {background-color:var(--color-success-600);border-color:var(--color-success-600);color:white}.btn-outline-warning {background-color:transparent;border-color:var(--color-warning-600);color:var(--color-warning-600);border-width:2px}.btn-outline-warning:hover {background-color:var(--color-warning-600);border-color:var(--color-warning-600);color:white}.btn-outline-danger {background-color:transparent;border-color:var(--color-error-600);color:var(--color-error-600);border-width:2px}.btn-outline-danger:hover {background-color:var(--color-error-600);border-color:var(--color-error-600);color:white}.btn:hover {transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn:active {transform:translateY(0)}.btn-primary {background-color:var(--color-primary-600);border-color:var(--color-primary-600);color:white}.btn-primary:hover {background-color:var(--color-primary-700);border-color:var(--color-primary-700);color:white}.btn-primary:focus {box-shadow:0 0 0 3px rgba(99, 102, 241, 0.25)}.btn-secondary {background-color:var(--color-secondary-100);border-color:var(--color-secondary-300);color:var(--color-secondary-900)}.btn-secondary:hover {background-color:var(--color-secondary-200);border-color:var(--color-secondary-400);color:var(--color-secondary-900)}.btn-success {background-color:var(--color-success-600);border-color:var(--color-success-600);color:white}.btn-success:hover {background-color:var(--color-success-700);border-color:var(--color-success-700);color:white}.btn-warning {background-color:var(--color-warning-500);border-color:var(--color-warning-500);color:white}.btn-warning:hover {background-color:var(--color-warning-600);border-color:var(--color-warning-600);color:white}.btn-danger {background-color:var(--color-error-600);border-color:var(--color-error-600);color:white}.btn-danger:hover {background-color:var(--color-error-700);border-color:var(--color-error-700);color:white}.form-control {border-radius:var(--form-control-border-radius);border:var(--form-control-border-width) solid var(--form-control-border-color);padding:var(--form-control-padding-y) var(--form-control-padding-x);min-height:var(--form-control-height);font-size:var(--font-size-base);transition:var(--transition-colors), var(--transition-shadow)}.form-control:focus {box-shadow:var(--form-control-focus-shadow);border-color:var(--form-control-focus-border-color);outline:none}.form-control::placeholder {color:var(--color-neutral-400)}.form-label {font-weight:var(--font-weight-medium);color:var(--color-neutral-700);margin-bottom:var(--spacing-1)}.navbar {box-shadow:var(--nav-shadow);min-height:var(--nav-height);padding:0 var(--nav-padding-x);background-color:white !important;border-bottom:1px solid var(--color-neutral-200)}.navbar-collapse {background-color:white;border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);padding:var(--spacing-3);margin-top:var(--spacing-2)}.btn:focus-visible {outline:3px solid var(--color-primary-500);outline-offset:2px}.btn-primary:focus-visible {outline-color:var(--color-neutral-900)}.btn-secondary:focus-visible {outline-color:var(--color-primary-600)}.btn-outline-primary:focus-visible, .btn-outline-secondary:focus-visible {outline-color:var(--color-primary-600)}.btn-primary, .btn-success, .btn-warning, .btn-danger, .btn-error {color:white !important;font-weight:var(--font-weight-semibold)}.btn-primary:hover, .btn-success:hover, .btn-warning:hover, .btn-danger:hover, .btn-error:hover {color:white !important}.btn-secondary {color:var(--color-neutral-900) !important;font-weight:var(--font-weight-semibold)}.btn-secondary:hover {color:var(--color-neutral-900) !important}.btn-outline-primary {color:var(--color-primary-600) !important;font-weight:var(--font-weight-semibold)}.btn-outline-primary:hover {color:white !important}.btn-outline-secondary {color:var(--color-neutral-800) !important;font-weight:var(--font-weight-semibold)}.btn-outline-secondary:hover {color:white !important}.navbar-nav {background-color:white}.dropdown-menu {border:1px solid var(--color-neutral-200);box-shadow:var(--shadow-lg);border-radius:var(--border-radius-md);padding:var(--spacing-2)}.dropdown-item {color:var(--color-neutral-900) !important;font-weight:var(--font-weight-medium);padding:var(--spacing-2) var(--spacing-3);border-radius:var(--border-radius-sm);transition:var(--transition-colors)}.dropdown-item:hover {color:var(--color-primary-700) !important;background-color:var(--color-primary-50)}.dropdown-item:active {color:var(--color-primary-700) !important;background-color:var(--color-primary-100)}.navbar-brand {font-weight:var(--font-weight-bold);font-size:var(--font-size-xl);color:var(--color-primary-600) !important}.navbar-brand:hover {color:var(--color-primary-700) !important;text-decoration:none}.nav-link {font-weight:var(--font-weight-medium);transition:var(--transition-colors);color:var(--color-neutral-900) !important;min-height:var(--min-touch-target);display:flex;align-items:center;padding:var(--spacing-2) var(--spacing-3);border-radius:var(--border-radius-md);font-size:var(--font-size-base)}.nav-link:hover {color:var(--color-primary-700) !important;background-color:var(--color-primary-50);transform:none;text-decoration:none}.nav-link.active {color:var(--color-primary-700) !important;background-color:var(--color-primary-100);font-weight:var(--font-weight-semibold)}.footer {background-color:var(--color-neutral-50);padding:var(--spacing-5) 0;border-top:var(--card-border-width) solid var(--color-neutral-200);color:var(--color-neutral-600)}.footer a {color:var(--color-neutral-600)}.footer a:hover {color:var(--color-primary-600)}.alert {border-radius:var(--border-radius-lg);padding:var(--spacing-4);margin-bottom:var(--spacing-4);border:var(--card-border-width) solid transparent}.alert-primary {background-color:var(--color-primary-50);border-color:var(--color-primary-200);color:var(--color-primary-800)}.alert-success {background-color:var(--color-success-50);border-color:var(--color-success-200);color:var(--color-success-800)}.alert-warning {background-color:var(--color-warning-50);border-color:var(--color-warning-200);color:var(--color-warning-800)}.alert-danger {background-color:var(--color-error-50);border-color:var(--color-error-200);color:var(--color-error-800)}.alert-info {background-color:var(--color-info-50);border-color:var(--color-info-200);color:var(--color-info-800)}.bg-light-warning {background-color:var(--color-warning-50)}.bg-light-primary {background-color:var(--color-primary-50)}.bg-light-success {background-color:var(--color-success-50)}.bg-light-error {background-color:var(--color-error-50)}.bg-light-info {background-color:var(--color-info-50)}.error-container {padding:var(--spacing-16) 0;text-align:center}.error-image {max-width:300px;margin:var(--spacing-5) auto}.chat-container {max-height:600px;overflow-y:auto;padding:var(--spacing-4);border-radius:var(--border-radius-lg);background-color:var(--color-neutral-50)}.message {margin-bottom:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);border-radius:var(--border-radius-lg);max-width:70%;word-wrap:break-word}.message-user {background-color:var(--color-primary-600);color:white;margin-left:auto;text-align:right}.message-assistant {background-color:white;color:var(--color-neutral-900);border:var(--card-border-width) solid var(--color-neutral-200);margin-right:auto}.typing-indicator {display:flex;align-items:center;justify-content:center;padding:var(--spacing-2) 0}.typing-indicator span {height:var(--spacing-2);width:var(--spacing-2);background-color:var(--color-secondary-500);border-radius:var(--border-radius-full);display:inline-block;margin:0 var(--spacing-1);animation:typing var(--duration-1000) infinite ease-in-out}.typing-indicator span:nth-child(1) {animation-delay:0s}.typing-indicator span:nth-child(2) {animation-delay:0.3s}.typing-indicator span:nth-child(3) {animation-delay:0.6s}@keyframes typing {0%, 60%, 100% {transform:translateY(0);opacity:0.5}30% {transform:translateY(-5px);opacity:1}}.chart-container {position:relative;background-color:white;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.chart-display {background:linear-gradient(145deg, #fdfaef 0%, #f8f5eb 100%);border-radius:var(--border-radius-lg);padding:var(--spacing-6);margin:var(--spacing-4) 0}.chart-display[data-chart-style="north_indian"] {background:linear-gradient(145deg, var(--color-neutral-50) 0%, var(--color-primary-50) 100%)}.planet-info {background-color:var(--color-neutral-50);border-radius:var(--border-radius-md);padding:var(--spacing-2) var(--spacing-3);margin:var(--spacing-1) 0;border-left:3px solid var(--color-primary-400)}.house-info {background-color:var(--color-secondary-50);border-radius:var(--border-radius-md);padding:var(--spacing-2) var(--spacing-3);margin:var(--spacing-1) 0;border-left:3px solid var(--color-secondary-400)}.planet-sun {color:var(--color-astro-sun)}.planet-moon {color:var(--color-astro-moon)}.planet-mars {color:var(--color-astro-mars)}.planet-mercury {color:var(--color-astro-mercury)}.planet-jupiter {color:var(--color-astro-jupiter)}.planet-venus {color:var(--color-astro-venus)}.planet-saturn {color:var(--color-astro-saturn)}.planet-rahu {color:var(--color-astro-rahu)}.planet-ketu {color:var(--color-astro-ketu)}.chart-loading {display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-16);color:var(--color-neutral-600)}.chart-loading .loading-spinner {margin-bottom:var(--spacing-4)}.hero-section {padding:var(--spacing-8) 0;background:linear-gradient(135deg, var(--color-primary-50) 0%, var(--color-neutral-50) 100%);border-radius:0 0 var(--border-radius-2xl) var(--border-radius-2xl);position:relative;overflow:hidden}.hero-section::before {content:'';position:absolute;top:0;right:0;width:100%;height:100%;background:var(--pattern-circles) repeat;opacity:0.3;z-index:1}.hero-section .alert {position:relative;z-index:2;border:none;background:rgba(255, 255, 255, 0.95);backdrop-filter:blur(10px);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-xl);padding:var(--spacing-8)}.card-info-grid {margin-top:var(--spacing-6)}.card-info-grid .card {border:none;background:white;border-radius:var(--border-radius-xl);box-shadow:var(--shadow-lg);transition:var(--transition-all);height:100%;padding:var(--spacing-2)}.card-info-grid .card:hover {transform:translateY(-8px);box-shadow:var(--shadow-2xl)}.card-info-grid .card-body {padding:var(--spacing-6);text-align:center}.card-info-grid .card-title {font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-neutral-900);margin-top:var(--spacing-3);margin-bottom:var(--spacing-3)}.card-info-grid .card-text {color:var(--color-neutral-700);line-height:var(--line-height-relaxed);font-size:var(--font-size-base)}.card-info-grid .bi {background:var(--gradient-primary);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:var(--spacing-3)}.btn-primary {background:var(--gradient-primary);border:none;border-radius:var(--border-radius-xl);padding:var(--spacing-4) var(--spacing-6);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);color:white;text-decoration:none;display:inline-flex;align-items:center;gap:var(--spacing-2);min-height:var(--min-touch-target);transition:var(--transition-all);box-shadow:0 4px 14px 0 rgba(79, 70, 229, 0.25);position:relative;overflow:hidden}.btn-primary::before {content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);transition:var(--transition-transform)}.btn-primary:hover::before {left:100%}.btn-primary:hover {transform:translateY(-2px);box-shadow:0 8px 25px 0 rgba(79, 70, 229, 0.35);color:white;text-decoration:none}.btn-lg {padding:var(--spacing-4) var(--spacing-8);font-size:var(--font-size-lg);border-radius:var(--border-radius-xl);min-height:56px}@media (min-width:1024px) {.container {max-width:1200px}.chart-display {padding:var(--spacing-8)}}.skip-link {position:absolute;top:-40px;left:var(--spacing-4);background:var(--color-primary-600);color:white;padding:var(--spacing-2) var(--spacing-4);text-decoration:none;border-radius:var(--border-radius-md);z-index:var(--z-index-skipLink);transition:var(--transition-transform)}.skip-link:focus {top:var(--spacing-4)}@media (prefers-contrast:high) {.btn, .form-control, .card {border-width:2px}.message {border:2px solid}.message-user {border-color:var(--color-primary-800)}.message-assistant {border-color:var(--color-neutral-400)}}@media (prefers-reduced-motion:reduce) {.btn:hover, .card:hover {transform:none}.typing-indicator span {animation:none}.loading-spinner {animation:none}}@media print {.navbar, .footer, .btn, .alert-dismissible .btn-close, .loading-spinner, .typing-indicator {display:none}.card {border:1px solid var(--color-neutral-900);box-shadow:none;break-inside:avoid}.chart-display {break-inside:avoid;border:1px solid var(--color-neutral-900)}.message {border:1px solid var(--color-neutral-900);break-inside:avoid}body {background:white;color:black}.btn-primary, .btn-secondary, .btn-success, .btn-warning, .btn-danger {border:1px solid black;color:black;background:white}}