@import "https://fonts.googleapis.com/css2?family=Noto+Sans+Sinhala:wght@400;500;600;700&display=swap";@media print{@page{size:A5;margin:6mm}.no-print{display:none!important}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}.app-container:has(.theme-toggle.dark){--color-bg:#fff;--color-surface:#fff;--color-surface-hover:#f8f8f8;--color-text:#1e1b2e;--color-subtext:#6b7280;--color-border:#e8e0d8}}:root{--color-primary:#4c1d95;--color-primary-soft:#7c3aed;--color-accent:#d97706;--color-accent-glow:#d9770640;--color-bg:#f8f5f0;--color-surface:#fff;--color-surface-hover:#f5f3ff;--color-text:#1e1b2e;--color-subtext:#6b7280;--color-border:#e8e0d8;--color-selected-bg:#f0ebff;--color-card-shadow:0 2px 16px #4c1d950f;--color-header-gradient:linear-gradient(135deg, #4c1d95 0%, #7c3aed 100%);--color-gold-shimmer:linear-gradient(135deg, #d97706 0%, #f59e0b 50%, #d97706 100%);--star-opacity:.12}[data-theme=dark]{--color-primary:#a78bfa;--color-primary-soft:#7c3aed;--color-accent:#fbbf24;--color-accent-glow:#fbbf2433;--color-bg:#0f0d1a;--color-surface:#1a1726;--color-surface-hover:#251f35;--color-text:#f1eef8;--color-subtext:#9ca3af;--color-border:#2d2640;--color-selected-bg:#a78bfa1f;--color-card-shadow:0 2px 24px #0000004d;--color-header-gradient:linear-gradient(135deg, #1a1726 0%, #2d2640 100%);--color-gold-shimmer:linear-gradient(135deg, #fbbf24 0%, #f59e0b 50%, #fbbf24 100%);--star-opacity:.25}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{background-color:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-family:Noto Sans Sinhala,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:background-color .4s,color .4s}body:before{content:"";pointer-events:none;opacity:var(--star-opacity);background-image:radial-gradient(1.5px 1.5px at 10% 15%, var(--color-primary) 50%, transparent 50%), radial-gradient(1px 1px at 30% 40%, var(--color-accent) 50%, transparent 50%), radial-gradient(1.5px 1.5px at 55% 10%, var(--color-primary) 50%, transparent 50%), radial-gradient(1px 1px at 70% 65%, var(--color-accent) 50%, transparent 50%), radial-gradient(1.5px 1.5px at 85% 20%, var(--color-primary) 50%, transparent 50%), radial-gradient(1px 1px at 20% 80%, var(--color-accent) 50%, transparent 50%), radial-gradient(1.5px 1.5px at 45% 55%, var(--color-primary) 50%, transparent 50%), radial-gradient(1px 1px at 90% 85%, var(--color-accent) 50%, transparent 50%);z-index:0;position:fixed;inset:0}.app-container{background:var(--color-surface);border:1px solid var(--color-border);z-index:1;border-radius:24px;max-width:480px;margin:1.5rem auto;padding:1.5rem;position:relative;box-shadow:0 10px 36px #4c1d9514}[data-theme=dark] .app-container{box-shadow:0 12px 40px #00000073}@media (width<=520px){.app-container{padding:max(.875rem, env(safe-area-inset-top)) 1rem max(1.5rem, env(safe-area-inset-bottom)) 1rem;box-shadow:none;background:0 0;border:none;border-radius:0;margin:0 auto}}.top-bar{justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.25rem .125rem;display:flex;position:relative}.brand-badge{align-items:center;gap:.5rem;display:flex}.brand-logo-img{object-fit:contain;width:auto;max-width:140px;height:38px;transition:filter .3s}[data-theme=dark] .brand-logo-img{filter:drop-shadow(0 0 10px #fbbf2459)drop-shadow(0 0 2px #ffffffd9)}.top-bar-center-logo{justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.top-bar-sub-logo-img{object-fit:contain;width:auto;max-width:140px;height:40px;transition:filter .3s}[data-theme=dark] .top-bar-sub-logo-img{filter:drop-shadow(0 0 10px #fbbf2459)drop-shadow(0 0 2px #ffffffd9)}.theme-toggle{background:var(--color-surface);border:1.5px solid var(--color-border);color:var(--color-accent);cursor:pointer;width:40px;height:40px;box-shadow:var(--color-card-shadow);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.theme-toggle:hover{background-color:var(--color-surface-hover);border-color:var(--color-accent);transform:rotate(20deg)scale(1.05)}.theme-toggle:active{transform:scale(.92)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.institute-header{background:var(--color-header-gradient);border:1px solid #ffffff1f;border-radius:20px;flex-direction:column;align-items:center;gap:.6rem;margin-bottom:1.5rem;padding:1.5rem 1.25rem 1.75rem;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 28px #4c1d9533}.institute-header:after{content:"✦";opacity:.08;color:#fff;pointer-events:none;font-size:4.5rem;position:absolute;bottom:-.5rem;right:.75rem}.institute-header .details{text-align:center;flex-direction:column;align-items:center;width:100%;min-width:0;display:flex}.institute-header .details h1{letter-spacing:.01em;text-align:center;line-height:1.35;color:#fff!important;margin:0 0 .4rem!important;font-size:1.2rem!important;font-weight:700!important}.astrologer-credentials{color:#ffffffd9;flex-direction:column;gap:.05rem;margin-bottom:.5rem;font-size:.76rem;font-weight:600;line-height:1.35;display:flex}.institute-header .astrologer-name{line-height:1.35;color:#fff!important;margin:0!important;font-size:1.1rem!important;font-weight:700!important}.institute-header .astrologer-subtitle{color:#ffffffbf;margin-top:0;margin-bottom:.6rem;font-size:.78rem}.institute-header .details p,.institute-address,.institute-phone,.institute-email{text-align:center;width:100%;line-height:1.4;color:#ffffffd9!important;margin:0!important;font-size:.76rem!important}.institute-phone{font-weight:600;color:#fffffff2!important}.institute-email{color:#ffffffc7!important;font-size:.7rem!important}.section-divider{color:var(--color-accent);opacity:.6;letter-spacing:.5rem;justify-content:center;align-items:center;gap:.5rem;margin-bottom:1.25rem;font-size:.5rem;display:flex}.bill-form{flex-direction:column;gap:1.25rem;display:flex}.options-table{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--color-card-shadow);border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.table-header{color:var(--color-subtext);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border);background-color:var(--color-surface-hover);grid-template-columns:1fr 96px 96px;align-items:center;gap:.5rem;padding:.75rem .875rem;font-size:.75rem;font-weight:700;display:grid}.col-service{text-align:left;padding-left:.25rem}.col-advance,.col-balance{text-align:center}.option-row{background-color:var(--color-surface);border:none;border-bottom:1px solid var(--color-border);cursor:pointer;-webkit-user-select:none;user-select:none;border-left:3.5px solid #0000;grid-template-columns:1fr 96px 96px;align-items:center;gap:.5rem;padding:.875rem;transition:all .2s cubic-bezier(.4,0,.2,1);display:grid}.option-row:last-child{border-bottom:none}.option-row:hover{background-color:var(--color-surface-hover)}.option-row:active{background-color:var(--color-surface-hover);transform:scale(.995)}.option-row.selected{background-color:var(--color-selected-bg);border-left-color:var(--color-primary)}[data-theme=dark] .option-row.selected{border-left-color:var(--color-accent)}.option-label{cursor:pointer;color:var(--color-text);align-items:center;gap:.5rem;min-width:0;font-size:.92rem;font-weight:600;display:flex}.option-text{word-break:break-word;line-height:1.35}.radio-indicator{border:2px solid var(--color-border);background-color:var(--color-surface);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;min-width:20px;height:20px;transition:all .2s;display:flex}.option-row.selected .radio-indicator{border-color:var(--color-primary);background-color:var(--color-primary);box-shadow:inset 0 0 0 3px var(--color-surface), 0 0 0 2px var(--color-primary)}[data-theme=dark] .option-row.selected .radio-indicator{border-color:var(--color-accent);background-color:var(--color-accent);box-shadow:inset 0 0 0 3px var(--color-surface), 0 0 0 2px var(--color-accent)}.number-input-wrapper{align-items:center;width:100%;display:flex;position:relative}.currency-symbol{color:var(--color-subtext);pointer-events:none;z-index:1;font-size:.7rem;font-weight:700;position:absolute;left:.45rem}.number-input{text-align:left;background-color:var(--color-bg);width:100%;height:42px;color:var(--color-text);border:1.5px solid var(--color-border);border-radius:10px;outline:none;padding:.4rem .35rem .4rem 1.65rem;font-family:inherit;font-size:.95rem;font-weight:700;transition:all .2s}.number-input:focus{border-color:var(--color-primary);background-color:var(--color-surface);box-shadow:0 0 0 3.5px #4c1d9526}[data-theme=dark] .number-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3.5px #fbbf2433}.input-group{flex-direction:column;gap:.45rem;display:flex}.input-label{color:var(--color-text);align-items:center;gap:.35rem;padding-left:.125rem;font-size:.85rem;font-weight:600;display:flex}.required-marker{color:#ef4444;font-size:.95rem;font-weight:700}.text-input-wrapper{align-items:center;display:flex;position:relative}.text-input{background-color:var(--color-surface);width:100%;min-height:50px;color:var(--color-text);border:1.5px solid var(--color-border);box-shadow:var(--color-card-shadow);border-radius:14px;outline:none;padding:.875rem 1.125rem;font-family:inherit;font-size:1rem;transition:all .2s}.text-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3.5px #4c1d9526}[data-theme=dark] .text-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3.5px #fbbf2433}.primary-button{background:var(--color-gold-shimmer);color:#1e1b2e;cursor:pointer;width:100%;min-height:52px;box-shadow:0 4px 16px var(--color-accent-glow);-webkit-user-select:none;user-select:none;background-size:200% 100%;border:none;border-radius:14px;padding:.875rem 1.5rem;font-family:inherit;font-size:1.05rem;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.button-inner{justify-content:center;align-items:center;gap:.625rem;width:100%;display:inline-flex}.primary-button:before{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff40 50%,#0000 100%);transition:left .6s;position:absolute;inset:0 0 0 -100%}.primary-button:hover:before{left:100%}.primary-button:active{transform:scale(.98)}.primary-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.primary-button:disabled:before{display:none}.secondary-button{background-color:var(--color-surface);width:100%;min-height:50px;color:var(--color-text);border:1.5px solid var(--color-border);cursor:pointer;box-shadow:var(--color-card-shadow);-webkit-user-select:none;user-select:none;border-radius:14px;padding:.875rem 1.5rem;font-family:inherit;font-size:1rem;font-weight:600;transition:all .2s}.secondary-button:hover{background-color:var(--color-surface-hover);border-color:var(--color-primary-soft)}.secondary-button:active{transform:scale(.98)}.action-buttons{flex-direction:column;gap:.75rem;margin-top:1.5rem;display:flex}.bill-preview-screen{animation:.3s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.bill-paper{background:var(--color-surface);border:1px solid var(--color-border);border-radius:18px;position:relative;overflow:hidden;box-shadow:0 10px 32px #4c1d9514}.bill-top-band{background:var(--color-header-gradient);height:8px}.bill-body{padding:2rem 1.5rem}.bill-institute{text-align:center;flex-direction:column;align-items:center;margin-bottom:1.5rem;display:flex}.bill-institute-icon{border:1.5px solid var(--color-border);background:#4c1d9514;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:.75rem;padding:6px;display:inline-flex;box-shadow:0 2px 10px #0000000d}[data-theme=dark] .bill-institute-icon{background:#fbbf241a;border-color:#fbbf244d}.bill-crest-img{object-fit:contain;width:100%;height:100%}.bill-institute-name{color:var(--color-text);margin:0 0 .3rem;font-size:1.25rem;font-weight:700;line-height:1.35}.bill-astrologer-credentials{color:var(--color-subtext);flex-direction:column;gap:.05rem;margin-bottom:.2rem;font-size:.68rem;font-weight:600;line-height:1.3;display:flex}.bill-astrologer-credentials span:first-child{white-space:nowrap}.astrologer-credentials span,.bill-astrologer-credentials span{word-spacing:.15em}.bill-astrologer-name{color:var(--color-text);margin:0;font-size:.92rem;font-weight:700;line-height:1.35}.bill-astrologer-subtitle{color:var(--color-subtext);margin:0 0 .25rem;font-size:.64rem;line-height:1.3}.bill-institute-address,.bill-institute-phone,.bill-institute-email{color:var(--color-subtext);margin:0;font-size:.74rem;line-height:1.4}.bill-institute-email{font-size:.68rem}.bill-ornament{align-items:center;gap:.75rem;margin:1.25rem 0;display:flex}.bill-ornament-line{background:var(--color-border);flex:1;height:1px}.bill-ornament-star{color:var(--color-accent);opacity:.7;font-size:.75rem}.bill-info-grid{background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;grid-template-columns:auto 1fr;gap:.5rem 1rem;margin-bottom:1.5rem;padding:1rem;display:grid}.bill-info-label{color:var(--color-subtext);white-space:nowrap;font-size:.82rem;font-weight:500}.bill-info-value{color:var(--color-text);text-align:right;font-size:.95rem;font-weight:700}.bill-service-card{border:1px solid var(--color-border);border-radius:14px;overflow:hidden}.bill-service-header{background:var(--color-surface-hover);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:.875rem 1rem;display:flex}.bill-service-label{color:var(--color-subtext);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.bill-service-name{color:var(--color-primary);font-size:1rem;font-weight:700}.bill-amounts{flex-direction:column;display:flex}.bill-amount-row{border-bottom:1px solid var(--color-border);justify-content:space-between;padding:.875rem 1rem;display:flex}.bill-amount-row:last-child{border-bottom:none}.bill-amount-name{color:var(--color-subtext);font-size:.875rem}.bill-amount-value{color:var(--color-text);font-size:1rem;font-weight:700}.bill-amount-row.total-row{background:var(--color-selected-bg)}.bill-amount-row.total-row .bill-amount-name{color:var(--color-text);font-weight:700}.bill-amount-row.total-row .bill-amount-value{color:var(--color-primary);font-size:1.15rem;font-weight:800}.bill-footer{text-align:center;margin-top:1.75rem;padding-top:1rem}.bill-footer-stars{color:var(--color-accent);letter-spacing:.4rem;opacity:.5;margin-bottom:.5rem;font-size:.65rem}.bill-footer-text{color:var(--color-subtext);font-size:.85rem;font-style:italic;font-weight:500}@media print{body{color:#000!important;background:#fff!important}body:before{display:none!important}.app-container{max-width:none!important;box-shadow:none!important;background:#fff!important;border:none!important;margin:0!important;padding:0!important}.no-print{display:none!important}.bill-paper{box-shadow:none!important;border:none!important;border-radius:0!important}.bill-top-band{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#333!important}.bill-institute-icon{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#f4f4f4!important;border-color:#ddd!important}.bill-crest-img{-webkit-print-color-adjust:exact;print-color-adjust:exact}.bill-institute-name,.bill-astrologer-name,.bill-info-value,.bill-amount-value,.bill-amount-row.total-row .bill-amount-value{color:#000!important}.bill-astrologer-credentials,.bill-astrologer-subtitle{color:#555!important}.bill-institute-address,.bill-institute-phone,.bill-institute-email,.bill-info-label,.bill-service-label,.bill-amount-name,.bill-footer-text{color:#444!important}.bill-service-name,.bill-amount-row.total-row .bill-amount-name{color:#111!important}.bill-info-grid{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#f9f9f9!important;border-color:#ddd!important}.bill-service-header{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#f5f5f5!important;border-color:#ddd!important}.bill-amount-row.total-row{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#f0f0f0!important}.bill-ornament-line{background:#ccc!important}}
