body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.login-card{background:white;padding:3rem;border-radius:12px;box-shadow:0 10px 40px #0003;width:100%;max-width:400px;text-align:center}.login-card .logo{max-width:150px;height:auto;margin-bottom:1.5rem}.login-card h1{color:#333;margin-bottom:.5rem;font-size:2rem}.subtitle{color:#666;margin-bottom:2rem;font-size:.95rem}.form-group{margin-bottom:1.5rem;text-align:left}.form-group input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;transition:border-color .3s;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#667eea}.error-message{background-color:#fee;color:#c33;padding:.75rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem}.login-button{width:100%;padding:.875rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.login-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.login-button:active{transform:translateY(0)}.form-container{min-height:100vh;background-image:url(/constellation-bg.png);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;padding:2rem;position:relative}.form-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(17,24,39,.3);z-index:0}.form-container>*{position:relative;z-index:1}.header{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto 2rem;color:#fff}.header-left{display:flex;align-items:center;gap:1rem}.header .logo{height:50px;width:auto}.header h1{margin:0;font-size:1.8rem}.logout-button{padding:.5rem 1.5rem;background:rgba(255,255,255,.2);color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:6px;cursor:pointer;font-size:.9rem;transition:background .3s}.logout-button:hover{background:rgba(255,255,255,.3)}.form-card{background:rgba(255,255,255,.98);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:3rem;border-radius:12px;box-shadow:0 20px 60px #0006;max-width:1200px;margin:0 auto;border:1px solid rgba(255,255,255,.8)}.form-card h2{color:#333;margin-bottom:.5rem;font-size:1.8rem}.form-subtitle{color:#666;margin-bottom:2rem;font-size:.95rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.form-group{text-align:left}.form-group label{display:block;margin-bottom:.5rem;color:#333;font-weight:500;font-size:.9rem}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;transition:border-color .3s;box-sizing:border-box}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea}.submit-button{width:100%;padding:1rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:6px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:1rem}.submit-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.submit-button:active{transform:translateY(0)}.success-message{text-align:center}.success-message h3{color:#4caf50;font-size:1.5rem;margin-bottom:1.5rem}.submitted-data{background:#f5f5f5;padding:1.5rem;border-radius:8px;margin-bottom:1.5rem;text-align:left}.submitted-data p{margin:.75rem 0;color:#333}.submitted-data strong{color:#667eea}.action-buttons{display:flex;gap:1rem;justify-content:center;margin-top:2rem;flex-wrap:wrap}.export-pdf-button{padding:.75rem 2rem;background:#10b981;color:#fff;border:none;border-radius:6px;font-size:1rem;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:.5rem;box-shadow:0 2px 8px #10b9814d}.export-pdf-button:hover{background:#059669;transform:translateY(-2px);box-shadow:0 4px 12px #10b98166}.reset-button{padding:.75rem 2rem;background:#667eea;color:#fff;border:none;border-radius:6px;font-size:1rem;cursor:pointer;transition:all .3s;box-shadow:0 2px 8px #667eea4d}.reset-button:hover{background:#5568d3;transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.form-group.full-width{grid-column:1 / -1}.chart-selection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.75rem;margin-top:.75rem}.chart-checkbox-label{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#f9f9f9;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;transition:all .2s}.chart-checkbox-label:hover{background:#f0f0f0;border-color:#667eea}.chart-checkbox-label:has(input:checked){background:#e8f0fe;border-color:#667eea}.chart-checkbox{width:18px;height:18px;cursor:pointer;accent-color:#667eea}.chart-label-text{flex:1;font-size:.95rem;color:#333;-webkit-user-select:none;user-select:none}.selected-count{margin-top:.75rem;padding:.5rem 1rem;background:#667eea;color:#fff;border-radius:6px;font-size:.9rem;font-weight:600;text-align:center;display:inline-block}.submit-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.error-message{background-color:#fee;color:#c33;padding:.75rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem;text-align:center}.results-container{margin-top:2rem}.results-container h3{color:#667eea;font-size:1.6rem;margin-bottom:2rem;text-align:center}.chart-section{margin-bottom:2rem}.chart-section h4{color:#333;font-size:1.2rem;margin-bottom:1rem}.chart-image{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:1rem;display:flex;justify-content:center;align-items:center;max-width:100%;overflow:auto}.chart-image img{max-width:100%;height:auto}.chart-image svg{max-width:100%;height:auto}.data-section{margin-bottom:2rem}.data-section h4{color:#333;font-size:1.2rem;margin-bottom:1rem}.json-data{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;padding:1rem;max-height:400px;overflow:auto}.json-data pre{margin:0;font-size:.85rem;font-family:Courier New,monospace;white-space:pre-wrap;word-wrap:break-word;color:#333}.collapsible-header{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:.5rem;transition:all .3s ease;padding:.5rem 0}.collapsible-header:hover{color:#5568d3}.toggle-icon{font-size:.9rem;transition:transform .3s ease;display:inline-block;width:20px}.ghatak-section{margin-bottom:2rem}.ghatak-section h4{color:#667eea;font-size:1.3rem;margin-bottom:1.5rem}.ghatak-section h5{color:#333;font-size:1.1rem;margin:1.5rem 0 1rem}.panchanga-table-container{margin-bottom:2rem}.panchanga-table,.ghatak-table{width:100%;border-collapse:collapse;background:white;box-shadow:0 2px 8px #0000001a;border-radius:8px;overflow:hidden}.panchanga-table thead,.ghatak-table thead{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}.panchanga-table th,.ghatak-table th{padding:1rem;text-align:left;font-weight:600;font-size:.95rem;text-transform:uppercase;letter-spacing:.5px}.panchanga-table td,.ghatak-table td{padding:.9rem 1rem;border-bottom:1px solid #e0e0e0}.panchanga-table tbody tr:last-child td,.ghatak-table tbody tr:last-child td{border-bottom:none}.panchanga-table tbody tr:hover,.ghatak-table tbody tr:hover{background:#f9f9f9}.element-name{font-weight:600;color:#667eea;width:40%}.element-value{color:#333;font-size:1rem}.ghatak-type-cell{font-weight:600;color:#dc3545;width:35%}.ghatak-description-cell{color:#555}.ghatak-results{background:#f9f9f9;padding:1.5rem;border-radius:8px;border:1px solid #e0e0e0}.ghatak-warning{background:#fff3cd;color:#856404;padding:1rem;border-radius:6px;border-left:4px solid #ffc107;margin-bottom:1rem;font-weight:500}.ghatak-success{background:#d4edda;color:#155724;padding:1rem;border-radius:6px;border-left:4px solid #28a745;font-weight:500}.ghatak-list{display:flex;flex-direction:column;gap:1rem}.ghatak-item{background:white;padding:1rem;border-radius:6px;border-left:3px solid #dc3545}.ghatak-type{font-weight:600;color:#dc3545;margin-bottom:.5rem;font-size:.95rem}.ghatak-description{color:#555;font-size:.9rem}.extended-kundli-section{margin-bottom:2rem}.extended-kundli-section h4{color:#667eea;font-size:1.3rem;margin-bottom:1.5rem}.kundli-content{display:flex;flex-direction:column;gap:1.5rem}.kundli-subsection{background:#f9f9f9;padding:1.5rem;border-radius:8px;border:1px solid #e0e0e0}.kundli-subsection h5{color:#333;font-size:1.1rem;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #667eea}.kundli-table{width:100%;border-collapse:collapse;background:white;box-shadow:0 2px 8px #0000001a;border-radius:8px;overflow:hidden;margin-bottom:1rem}.kundli-table thead{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}.kundli-table th{padding:1rem;text-align:left;font-weight:600;font-size:.95rem;text-transform:uppercase;letter-spacing:.5px}.kundli-table td{padding:.9rem 1rem;border-bottom:1px solid #e0e0e0}.kundli-table tbody tr:last-child td{border-bottom:none}.kundli-table tbody tr:hover{background:#f9f9f9}.kundli-attribute{font-weight:600;color:#667eea;width:40%}.kundli-value{color:#333;font-size:1rem;white-space:pre-wrap;word-wrap:break-word}.mahadasha-section{margin-bottom:2rem}.mahadasha-section h4{color:#667eea;font-size:1.3rem;margin-bottom:1.5rem}.mahadasha-content{display:flex;flex-direction:column;gap:1.5rem}.mahadasha-subsection{background:#f9f9f9;padding:1.5rem;border-radius:8px;border:1px solid #e0e0e0}.mahadasha-subsection h5{color:#333;font-size:1.1rem;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #667eea}.mahadasha-table{width:100%;border-collapse:collapse;background:white;box-shadow:0 2px 8px #0000001a;border-radius:8px;overflow:hidden;margin-bottom:1rem}.mahadasha-table thead{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}.mahadasha-table th{padding:1rem;text-align:left;font-weight:600;font-size:.95rem;text-transform:uppercase;letter-spacing:.5px}.mahadasha-table td{padding:.9rem 1rem;border-bottom:1px solid #e0e0e0}.mahadasha-table tbody tr:last-child td{border-bottom:none}.mahadasha-table tbody tr:hover{background:#f9f9f9}.mahadasha-attribute{font-weight:600;color:#667eea;width:40%}.mahadasha-value{color:#333;font-size:1rem;white-space:pre-wrap;word-wrap:break-word}.mahadasha-simple-value{background:white;padding:1rem;border-radius:6px;color:#333;font-size:1rem}.navatara-section{margin-bottom:2rem}.navatara-section h4{color:#667eea;font-size:1.3rem;margin-bottom:1.5rem}.navatara-section h5{color:#333;font-size:1.1rem;margin:1.5rem 0 .5rem}.navatara-info-box{background:#f9f9f9;padding:1.5rem;border-radius:8px;border:1px solid #e0e0e0;margin-bottom:2rem}.info-row{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.info-row:last-child{margin-bottom:0}.info-label{font-weight:600;color:#667eea;min-width:200px}.info-value{color:#333;font-weight:500}.info-description{color:#555;font-style:italic}.tara-badge{padding:.4rem 1rem;border-radius:6px;font-weight:600;font-size:.9rem}.effect-very-auspicious{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.effect-auspicious{background:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.effect-neutral{background:#f8f9fa;color:#6c757d;border:1px solid #dee2e6}.effect-inauspicious{background:#fff3cd;color:#856404;border:1px solid #ffeeba}.effect-very-inauspicious{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.chart-subtitle{color:#666;font-size:.9rem;margin-bottom:1.5rem}.navatara-chart-container{margin-top:2rem}.tara-category{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:1.5rem;overflow:hidden}.tara-header{padding:1rem 1.5rem;display:flex;align-items:center;gap:1rem;font-weight:600}.tara-number{font-size:.9rem;opacity:.8}.tara-name{flex:1;font-size:1.1rem}.tara-effect{font-size:.85rem}.tara-description{padding:.75rem 1.5rem;background:#f9f9f9;color:#555;font-style:italic;border-bottom:1px solid #e0e0e0}.navatara-table{width:100%;border-collapse:collapse}.navatara-table th{background:#f5f5f5;padding:.75rem 1.5rem;text-align:left;font-weight:600;color:#333;font-size:.9rem;border-bottom:2px solid #e0e0e0}.navatara-table td{padding:.75rem 1.5rem;border-bottom:1px solid #f0f0f0;color:#333}.navatara-table tbody tr:last-child td{border-bottom:none}.navatara-table tbody tr:hover{background:#fafafa}.birth-nakshatra-row{background:#fff9e6}.birth-nakshatra-row:hover{background:#fff5d6!important}.birth-indicator{color:#667eea;font-weight:600;font-size:.85rem}.today-badge{background:#667eea;color:#fff;padding:.25rem .75rem;border-radius:4px;font-size:.8rem;font-weight:600}@media (max-width: 768px){.info-row{flex-direction:column;align-items:flex-start}.info-label{min-width:auto}.tara-header{flex-wrap:wrap}.navatara-table th,.navatara-table td{padding:.5rem .75rem;font-size:.85rem}}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.form-card{padding:2rem 1.5rem}.header{flex-direction:column;gap:1rem;text-align:center}.header-left{flex-direction:column}.json-data{max-height:300px}}.chart-data-display{margin-top:2rem}.chart-data-display h4{color:#333;font-size:1.2rem;margin-bottom:1.5rem;text-align:center}.table-container{overflow-x:auto;margin-bottom:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a}.planets-table{width:100%;border-collapse:collapse;background:white}.planets-table thead{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}.planets-table th{padding:1rem;text-align:left;font-weight:600;font-size:.95rem;letter-spacing:.5px}.planets-table th:first-child{text-align:center;width:50px}.planets-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background-color .2s}.planets-table tbody tr:hover{background-color:#f5f7ff}.planets-table tbody tr:last-child{border-bottom:none}.planets-table tbody tr.retrograde-row{background-color:#fff5f5}.planets-table tbody tr.retrograde-row:hover{background-color:#ffe5e5}.planets-table td{padding:.875rem 1rem;color:#333;font-size:.9rem}.planets-table td:first-child{text-align:center;color:#666;font-weight:500}.planet-symbol{color:#999;font-size:.85rem;font-weight:400}.retro-indicator{color:#ff6b6b;font-weight:700;font-size:1.1rem}@media (max-width: 768px){.planets-table{font-size:.85rem}.planets-table th,.planets-table td{padding:.65rem .5rem}.planet-symbol{display:block;margin-top:.2rem}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;min-height:100vh}
