@import "https://fonts.googleapis.com/css2?family=Noto+Sans+Sinhala:wght@400;500;600;700&display=swap";@media print{@page{size:A6;margin:8mm}.no-print{display:none!important}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}}: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;margin:0;padding:0}body{background-color:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;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{z-index:1;max-width:480px;margin:0 auto;padding:1.25rem;position:relative}.top-bar{justify-content:flex-end;margin-bottom:.75rem;display:flex}.theme-toggle{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-accent);cursor:pointer;width:36px;height:36px;box-shadow:var(--color-card-shadow);border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:flex}.theme-toggle:hover{background-color:var(--color-surface-hover);transform:rotate(20deg)}.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{text-align:center;background:var(--color-header-gradient);border-radius:16px;justify-content:center;align-items:center;gap:1rem;margin-bottom:1.75rem;padding:1.25rem;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 24px #4c1d9526}.institute-header:after{content:"✦";opacity:.08;color:#fff;pointer-events:none;font-size:4rem;position:absolute;bottom:-.25rem;right:1rem}.icon-container{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);flex-shrink:0;justify-content:center;align-items:center;display:flex;color:#fbbf24!important;background:#ffffff26!important;border-radius:14px!important;width:52px!important;height:52px!important}.institute-header .details{flex-direction:column;justify-content:center;align-items:center;display:flex}.institute-header .details h1{letter-spacing:.01em;text-align:center;color:#fff!important;margin:0 0 .15rem!important;font-size:1.15rem!important;font-weight:700!important}.institute-header .details p{text-align:center;line-height:1.4;color:#ffffffbf!important;margin:0!important;font-size:.8rem!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:14px;flex-direction:column;gap:0;display:flex;overflow:hidden}.table-header{color:var(--color-subtext);text-align:center;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border);background-color:var(--color-surface-hover);grid-template-columns:1fr 90px 90px;gap:.75rem;padding:.75rem 1rem;font-size:.75rem;font-weight:600;display:grid}.table-header>span:first-child{text-align:left}.option-row{background-color:var(--color-surface);border:none;border-bottom:1px solid var(--color-border);cursor:pointer;border-radius:0;grid-template-columns:1fr 90px 90px;align-items:center;gap:.75rem;padding:.875rem 1rem;transition:all .2s;display:grid}.option-row:last-child{border-bottom:none}.option-row:hover{background-color:var(--color-surface-hover)}.option-row.selected{background-color:var(--color-selected-bg);border-color:var(--color-border)}.option-label{cursor:pointer;color:var(--color-text);align-items:center;gap:.625rem;font-size:.95rem;font-weight:600;display:flex}.radio-indicator{border:2px solid var(--color-border);background-color:var(--color-surface);border-radius:50%;justify-content:center;align-items:center;width:18px;min-width:18px;height:18px;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)}.number-input-wrapper{align-items:center;display:flex;position:relative}.currency-symbol{color:var(--color-subtext);pointer-events:none;font-size:.7rem;font-weight:500;position:absolute;left:.5rem}.number-input{text-align:left;background-color:var(--color-bg);width:100%;color:var(--color-text);border:1px solid var(--color-border);border-radius:8px;outline:none;padding:.5rem .5rem .5rem 1.75rem;font-family:inherit;font-size:.95rem;font-weight:600;transition:all .2s}.number-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #4c1d951a}[data-theme=dark] .number-input:focus{box-shadow:0 0 0 3px #a78bfa26}.input-group{flex-direction:column;gap:.5rem;display:flex}.input-label{color:var(--color-subtext);padding-left:.125rem;font-size:.8rem;font-weight:500}.text-input{background-color:var(--color-surface);width:100%;color:var(--color-text);border:1px solid var(--color-border);min-height:48px;box-shadow:var(--color-card-shadow);border-radius:12px;outline:none;padding:.875rem 1rem;font-family:inherit;font-size:1rem;transition:all .2s}.text-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #4c1d951a}[data-theme=dark] .text-input:focus{box-shadow:0 0 0 3px #a78bfa26}.primary-button{background:var(--color-gold-shimmer);color:#1e1b2e;cursor:pointer;width:100%;min-height:50px;box-shadow:0 4px 12px var(--color-accent-glow);background-size:200% 100%;border:none;border-radius:12px;padding:1rem;font-family:inherit;font-size:1.05rem;font-weight:700;transition:all .3s;position:relative;overflow:hidden}.primary-button:before{content:"";background:linear-gradient(90deg,#0000 0%,#fff3 50%,#0000 100%);transition:left .5s;position:absolute;inset:0 0 0 -100%}.primary-button:hover:before{left:100%}.primary-button:active{transform:scale(.98)}.primary-button:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.primary-button:disabled:before{display:none}.secondary-button{background-color:var(--color-surface);width:100%;color:var(--color-text);border:1px solid var(--color-border);cursor:pointer;min-height:48px;box-shadow:var(--color-card-shadow);border-radius:12px;padding:.875rem;font-family:inherit;font-size:1rem;font-weight:600;transition:all .2s}.secondary-button:hover{background-color:var(--color-surface-hover)}.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);box-shadow:var(--color-card-shadow), 0 1px 0 var(--color-border);border-radius:4px;position:relative;overflow:hidden}.bill-top-band{background:var(--color-header-gradient);height:8px}.bill-body{padding:2rem 1.5rem}.bill-institute{text-align:center;margin-bottom:1.5rem}.bill-institute-icon{background:var(--color-header-gradient);color:#fbbf24;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:.75rem;display:inline-flex}.bill-institute-name{color:var(--color-text);margin:0 0 .25rem;font-size:1.2rem;font-weight:700}.bill-institute-address,.bill-institute-phone{color:var(--color-subtext);margin:0;font-size:.8rem;line-height:1.5}.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:10px;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:.8rem;font-weight:500}.bill-info-value{color:var(--color-text);text-align:right;font-size:.95rem;font-weight:600}.bill-service-card{border:1px solid var(--color-border);border-radius:12px;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:600}.bill-amount-row.total-row .bill-amount-value{color:var(--color-primary);font-size:1.1rem}.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:.8rem;font-style:italic}@media print{body{color:#000!important;background:#fff!important}body:before{display:none!important}.app-container{max-width:none!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;color:#d97706!important;background:#333!important}.bill-institute-name,.bill-info-value,.bill-amount-value,.bill-amount-row.total-row .bill-amount-value{color:#000!important}.bill-institute-address,.bill-institute-phone,.bill-info-label,.bill-service-label,.bill-amount-name,.bill-footer-text{color:#555!important}.bill-service-name,.bill-amount-row.total-row .bill-amount-name{color:#333!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}}
