@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&family=Noto+Sans+Telugu:wght@400;600;700&display=swap");:root{--maroon:#6b0f1a;--maroon-dark:#3d0a0a;--maroon-mid:#8b1a2a;--gold:#c8940a;--gold-light:#f0c040;--gold-bg:#fff8e7;--purple:#7c3aed;--purple-bg:#f5f3ff;--rose:#be123c;--rose-bg:#fff1f2;--cream:#fef6ed;--cream-dark:#f5e8d8;--white:#fff;--text:#1a0500;--text-mid:#5c3020;--text-light:#9c7060;--border:#e8c8a8;--success:#166534;--success-bg:#f0fdf4;--shadow-sm:0 1px 4px rgba(107,15,26,.1);--shadow-md:0 4px 16px rgba(107,15,26,.14);--shadow-lg:0 8px 32px rgba(107,15,26,.2);--radius:12px;--radius-sm:8px;--font-en:"Poppins",system-ui,sans-serif;--font-te:"Noto Sans Telugu",sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-en);background:var(--cream);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.tel{font-family:var(--font-te)}.page{max-width:480px;margin:0 auto;min-height:100vh;background:var(--cream);position:relative}.app-header{background:linear-gradient(155deg,var(--maroon) 0,var(--maroon-dark) 100%);padding:10px 14px;display:flex;align-items:center;gap:10px;position:-webkit-sticky;position:sticky;top:0;z-index:100;box-shadow:0 2px 10px rgba(0,0,0,.25)}.hdr-logo{width:76px;height:76px;border-radius:50%;object-fit:cover;border:2px solid rgba(200,148,10,.55);flex-shrink:0}.hdr-text{flex:1 1;min-width:0}.hdr-org{font-family:var(--font-en);font-size:13px;color:var(--gold-light)}.hdr-org,.hdr-org-tel{font-weight:700;line-height:1.3;display:block}.hdr-org-tel{font-family:var(--font-te);font-size:12px;color:rgba(240,192,64,.72)}.hdr-temple{font-family:var(--font-en);font-size:13px;color:var(--cream);margin-top:5px}.hdr-temple,.hdr-temple-tel{font-weight:700;line-height:1.3;display:block}.hdr-temple-tel{font-family:var(--font-te);font-size:12px;color:hsla(32,89%,96%,.65)}.back-btn{background:hsla(0,0%,100%,.15);border:none;color:var(--cream);width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px;flex-shrink:0;transition:background .2s;font-family:var(--font-en)}.back-btn:hover{background:hsla(0,0%,100%,.25)}.deity-photo{width:100%;height:200px;object-fit:cover;object-position:top center;display:block}.section-label{padding:14px 16px 6px}.section-label .primary{font-family:var(--font-te);font-size:16px;font-weight:700;color:var(--text);display:block}.section-label .secondary{font-family:var(--font-en);font-size:11px;color:var(--text-light);display:block;margin-top:1px;letter-spacing:.5px;text-transform:uppercase}.categories-grid{padding:4px 16px 12px;display:flex;flex-direction:column;gap:10px}.category-card{background:var(--white);border-radius:var(--radius);padding:14px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow-sm);border:1px solid var(--border);cursor:pointer;transition:transform .18s,box-shadow .18s;text-decoration:none;color:inherit}.category-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.category-card:active{transform:translateY(0)}.cat-icon-box{width:50px;height:50px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.cat-text{flex:1 1;min-width:0}.cat-primary{font-family:var(--font-te);font-size:17px;line-height:1.2}.cat-primary,.cat-secondary{font-weight:700;display:block}.cat-secondary{font-size:11px;color:var(--text-light);margin-top:2px}.cat-desc{font-family:var(--font-en);font-size:10.5px;color:var(--text-mid);margin-top:3px;line-height:1.4;display:block}.cat-arrow{font-size:20px;opacity:.4;flex-shrink:0}.social-row{justify-content:center;gap:10px;padding:14px 16px 16px;border-top:1px solid var(--border);flex-wrap:wrap}.social-btn,.social-row{display:flex;align-items:center}.social-btn{gap:5px;padding:6px 12px;background:var(--white);border:1px solid var(--border);border-radius:20px;font-size:12px;font-family:var(--font-en);font-weight:500;color:var(--text-mid);cursor:pointer;transition:all .18s;text-decoration:none}.social-btn:hover{background:var(--cream-dark);border-color:var(--gold)}.social-icon{font-size:15px}.temple-footer{text-align:center;padding:14px 16px 20px;font-family:var(--font-en);font-size:11px;color:var(--text-light);line-height:1.9;border-top:1px solid var(--border)}.temple-footer .tel{font-size:10px;display:block}.search-wrap{margin:12px 16px 0;position:relative}.search-wrap input{width:100%;padding:10px 14px 10px 36px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-te);font-size:14px;background:var(--white);color:var(--text);transition:border-color .2s}.search-wrap input:focus{outline:none;border-color:var(--maroon);box-shadow:0 0 0 3px rgba(107,15,26,.07)}.search-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);font-size:15px;opacity:.38;pointer-events:none}.count-label{padding:10px 16px 4px;font-family:var(--font-te);font-size:14px;color:var(--text-light);font-weight:600}.seva-list{padding:8px 16px 24px;display:flex;flex-direction:column;gap:10px}.seva-card{background:var(--white);border-radius:var(--radius);display:flex;align-items:stretch;box-shadow:var(--shadow-sm);border:1px solid var(--border);overflow:hidden;transition:transform .18s,box-shadow .18s}.seva-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.seva-card:active{transform:translateY(0)}.seva-accent{width:5px;flex-shrink:0}.seva-body{flex:1 1;padding:12px 12px 12px 10px}.seva-primary{font-family:var(--font-te);font-size:16px;font-weight:700;line-height:1.3;color:var(--text)}.seva-secondary{font-family:var(--font-en);font-size:12px;color:var(--text-light);margin-top:1px;font-weight:500}.seva-desc{font-family:var(--font-en);font-size:11px;color:var(--text-mid);margin-top:5px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.seva-footer{display:flex;align-items:center;justify-content:space-between;margin-top:9px}.amount-badge{font-family:var(--font-en);font-size:13px;font-weight:700;color:var(--maroon);background:var(--cream-dark);padding:3px 10px;border-radius:20px;border:1px solid var(--border)}.book-btn{font-family:var(--font-te);font-size:14px;font-weight:700;color:var(--white);border:none;border-radius:16px;padding:5px 13px;cursor:pointer;transition:opacity .18s}.book-btn:hover{opacity:.87}.pay-hero{background:linear-gradient(155deg,var(--maroon) 0,var(--maroon-dark) 100%);color:var(--cream);padding:22px 20px 28px;text-align:center}.pay-seva-primary{font-family:var(--font-te);font-size:22px;font-weight:700;line-height:1.3;margin-bottom:3px}.pay-seva-secondary{font-family:var(--font-en);font-size:13px;opacity:.75;margin-bottom:10px}.pay-amount{font-size:38px;font-weight:700;color:var(--gold-light);line-height:1}.pay-amount,.pay-desc{font-family:var(--font-en)}.pay-desc{font-size:12px;opacity:.65;margin-top:8px;line-height:1.5}.pay-form{padding:18px 16px 24px}.form-section-label{font-family:var(--font-te);font-size:15px;font-weight:700;color:var(--maroon);margin-bottom:14px;padding-bottom:6px;border-bottom:1px solid var(--border)}.form-group{margin-bottom:14px}.form-group label{display:block;font-family:var(--font-te);font-size:12.5px;font-weight:600;color:var(--text-mid);margin-bottom:5px}.form-group label .en{font-family:var(--font-en);font-size:11px;font-weight:400;color:var(--text-light)}.form-group label .req{color:var(--maroon);margin-left:2px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:11px 13px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-te);font-size:14px;background:var(--white);color:var(--text);transition:border-color .2s;-webkit-appearance:none}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--maroon);box-shadow:0 0 0 3px rgba(107,15,26,.07)}.form-group .hint{font-family:var(--font-te);font-size:10.5px;color:var(--text-light);margin-top:4px;line-height:1.4}.pay-btn{display:block;width:100%;padding:15px;background:linear-gradient(135deg,var(--maroon) 0,var(--maroon-dark) 100%);color:var(--cream);border:none;border-radius:var(--radius);font-family:var(--font-te);font-size:16px;font-weight:700;cursor:pointer;transition:transform .18s,box-shadow .18s;box-shadow:0 4px 16px rgba(107,15,26,.35);text-align:center}.pay-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px rgba(107,15,26,.45)}.pay-btn:active:not(:disabled){transform:translateY(0)}.pay-btn:disabled{opacity:.58;cursor:not-allowed}.upi-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:12px;font-family:var(--font-en);font-size:11px;color:var(--text-light)}.upi-pill{background:var(--white);border:1px solid var(--border);border-radius:20px;padding:3px 9px;font-size:10.5px;font-weight:600;color:var(--text-mid)}.receipt-wrap{padding:20px 16px 40px}.receipt-check{width:70px;height:70px;background:var(--success-bg);border:3px solid #22c55e;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;margin:0 auto 14px}.receipt-title{font-size:23px;font-weight:700;color:var(--success);margin-bottom:4px}.receipt-subtitle,.receipt-title{text-align:center;font-family:var(--font-te)}.receipt-subtitle{font-size:12px;color:var(--text-light);margin-bottom:22px;line-height:1.5}.receipt-card{background:var(--white);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-md);border:1px solid var(--border);margin-bottom:16px}.receipt-card-header{text-align:center;border-bottom:1px dashed var(--border);padding-bottom:12px;margin-bottom:14px}.receipt-card-header h2{font-family:var(--font-en);font-size:14px;font-weight:700;color:var(--maroon)}.receipt-card-header .tel{font-size:11px;color:var(--text-light);display:block;margin-top:2px}.receipt-row{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:9px}.receipt-row:last-child{margin-bottom:0}.receipt-label{font-family:var(--font-te);font-size:11px;color:var(--text-light);font-weight:500;flex-shrink:0}.receipt-value{font-family:var(--font-te);font-size:12.5px;font-weight:600;color:var(--text);text-align:right}.receipt-value.amount{font-size:15px;color:var(--maroon);font-weight:700;font-family:var(--font-en)}.receipt-value.mono{font-family:monospace;font-size:10px;word-break:break-all;color:var(--text-mid)}.receipt-divider{height:1px;background:var(--border);margin:9px 0}.receipt-bless{margin-top:14px;padding:10px 12px;background:var(--gold-bg);border-radius:8px;font-family:var(--font-te);font-size:11px;color:var(--text-mid);text-align:center;line-height:1.6}.receipt-actions{display:flex;flex-direction:column;gap:10px}.btn-outline{display:block;width:100%;padding:13px;background:var(--white);color:var(--maroon);border:2px solid var(--maroon);border-radius:var(--radius);font-family:var(--font-te);font-size:14px;font-weight:700;cursor:pointer;text-align:center;transition:background .18s}.btn-outline:hover{background:var(--cream-dark)}.admin-login{padding:40px 24px;text-align:center}.admin-login h2{font-family:var(--font-en);font-size:20px;color:var(--maroon);margin-bottom:8px}.admin-login p{font-family:var(--font-en);font-size:13px;color:var(--text-light);margin-bottom:28px}.admin-dash{padding:14px 16px}.stats-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-bottom:18px}.stat-card{background:var(--white);border-radius:var(--radius-sm);padding:14px;box-shadow:var(--shadow-sm);border:1px solid var(--border);text-align:center}.stat-val{font-family:var(--font-en);font-size:22px;font-weight:700;color:var(--maroon)}.stat-lbl{font-family:var(--font-te);font-size:11px;color:var(--text-light);margin-top:3px}.txn-table-wrap{overflow-x:auto;border-radius:var(--radius);margin-bottom:16px}.txn-table{width:100%;border-collapse:collapse;font-size:11.5px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.txn-table th{background:var(--cream-dark);padding:9px 11px;text-align:left;font-family:var(--font-en);font-size:10px;font-weight:700;color:var(--text-mid);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.txn-table td{padding:9px 11px;border-top:1px solid var(--cream-dark);vertical-align:top}.txn-table tr:hover td{background:var(--cream)}.loading-wrap{text-align:center;padding:40px 16px;color:var(--text-light);font-family:var(--font-en);font-size:13px}.spinner{display:inline-block;width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--maroon);border-radius:50%;animation:spin .7s linear infinite;margin-bottom:10px}@keyframes spin{to{transform:rotate(1turn)}}.error-box{margin:12px 16px;padding:11px 14px;background:#fff5f5;border:1px solid #fecaca;border-radius:var(--radius-sm);font-family:var(--font-en);font-size:13px;color:#991b1b}.empty-state{text-align:center;padding:40px 20px;color:var(--text-light)}.empty-state .icon{font-size:40px;margin-bottom:12px;display:block}.empty-state p{font-family:var(--font-te);font-size:13px}@media print{.app-header,.receipt-actions{display:none!important}.page{max-width:100%;box-shadow:none}.receipt-card{box-shadow:none;border:1px solid #ccc}}@media (min-width:520px){.page{box-shadow:0 0 50px rgba(0,0,0,.12)}body{background:#d6cbc0}}.timings-card{margin:12px 16px 4px;background:linear-gradient(135deg,var(--gold-bg) 0,#fff0d4 100%);border:1.5px solid var(--gold);border-radius:var(--radius);padding:12px 16px;text-align:center}.timings-card .timings-header{font-family:var(--font-te);font-size:13px;font-weight:700;color:var(--maroon);margin-bottom:8px}.timings-card .timings-row{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:4px}.timings-pill{background:var(--maroon);color:var(--cream);padding:5px 14px;border-radius:20px;font-family:var(--font-en);font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:5px}.timings-card .timings-te{font-family:var(--font-te);font-size:11px;color:var(--text-mid);margin-top:6px}.cat-primary,.cat-tel,.count-label,.form-section-label,.hdr-org-tel,.hdr-temple-tel,.pay-seva-primary,.receipt-title,.section-label .primary,.seva-primary,.tel,.timings-card .timings-header{font-weight:700!important}