:root{--primary: #0d2c54;--primary-deep: #06182f;--secondary: #c5a059;--secondary-deep: #a8823f;--secondary-light: #e6d3af;--accent: #1d5c36;--saffron: #e0922f;--bg-page: #fcf8f2;--bg-card: #ffffff;--text-dark: #1c1c1c;--text-muted: #5e5e5e;--border-color: #dcd4c4;--error: #b3261e;--success: #2e7d32;--transition-fast: .2s ease;--transition-normal: .35s cubic-bezier(.4, 0, .2, 1);--shadow-sm: 0 2px 4px rgba(13, 44, 84, .05);--shadow-md: 0 8px 20px rgba(13, 44, 84, .08);--shadow-lg: 0 16px 40px rgba(13, 44, 84, .12);--shadow-gold: 0 10px 30px rgba(197, 160, 89, .25);--font-sans: "Outfit", "Sarabun", sans-serif;--font-serif: "Playfair Display", "Sarabun", serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#022041;background-image:none;background-attachment:fixed;color:var(--text-dark);font-family:var(--font-sans);line-height:1.6;min-height:100vh;display:flex;flex-direction:column}#app{flex:1;display:flex;flex-direction:column;background-color:#022041}.font-serif{font-family:var(--font-serif)}.hidden,body.lang-th .en-text,body.lang-en .th-text{display:none!important}.app-header{background-color:#fff;padding:.75rem 2rem;position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(0,0,0,.08);transition:background-color .3s ease,box-shadow .3s ease}.app-header.scrolled{background-color:#fffffff7;box-shadow:0 2px 12px #00000026}.header-container{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.logo-area{display:flex;align-items:center;gap:.75rem}.logo-dot{width:12px;height:12px;background-color:var(--secondary);border-radius:50%;box-shadow:0 0 8px #c5a05980}.logo-text{font-weight:700;font-size:1.1rem;letter-spacing:2px;text-transform:uppercase;color:#022041}.lang-switcher{display:flex;gap:0;border-radius:8px;overflow:hidden;border:1px solid #022041}.lang-option{display:flex;align-items:center;justify-content:center;padding:.55rem .9rem;min-height:44px;border:none;background:transparent;font-family:var(--font-sans);font-size:.8rem;font-weight:600;color:#022041;cursor:pointer;transition:all .2s ease}.lang-option:hover{background:#f0f4f8}.lang-option.active{background:#022041;color:#fff}.lang-option-label{white-space:nowrap}.lang-btn:hover .lang-icon{transform:rotate(15deg) scale(1.15)}.main-container{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:2rem 2rem 4rem}.hero-banner{background:transparent;color:#fff;border-radius:24px;padding:0;margin-bottom:3rem;position:relative;overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid rgba(197,160,89,.25)}.hero-banner:before,.hero-banner:after{display:none}.banner-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:4rem;align-items:center;position:relative;z-index:2}.banner-image-container{position:relative;border-radius:16px;overflow:hidden;box-shadow:0 20px 40px #0006;border:2px solid var(--secondary);aspect-ratio:1}.banner-img{width:100%;height:100%;object-fit:cover;transition:transform 10s ease}.banner-image-container:hover .banner-img{transform:scale(1.05)}.banner-img-glow{position:absolute;inset:0;box-shadow:inset 0 0 50px #00000080;pointer-events:none}.banner-content{display:flex;flex-direction:column;gap:1.5rem}.title-group h1{font-size:3rem;font-weight:700;letter-spacing:3px;color:#fff;line-height:1;margin-bottom:.25rem}.subtitle-eng{font-size:2.2rem;font-weight:600;letter-spacing:2px;color:var(--secondary);line-height:1.1;margin-bottom:1rem}.thai-badge{background-color:var(--secondary);color:var(--primary);display:inline-block;padding:.4rem 1.5rem;border-radius:50px;font-weight:700;font-size:1.1rem;box-shadow:0 4px 12px #c5a0594d;align-self:flex-start}.banner-quote{font-style:italic;font-size:1.25rem;border-left:3px solid var(--secondary);padding-left:1rem;color:#e0e6ed;margin:.5rem 0}.hero-darshan{padding:0;margin-bottom:.5rem;text-align:center;display:flex;align-items:center;justify-content:center;max-width:900px;margin-left:auto;margin-right:auto;border:none;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-md),inset 0 0 0 6px #c5a05914}.hero-bg-img{width:100%;height:auto;display:block;border-radius:0;position:relative;z-index:2}.strip-banner{max-width:900px;width:100%;margin:0 auto .5rem}.strip-banner-img{width:100%;height:auto;display:block;border-radius:16px}.bottom-strip-banner{max-width:900px;width:100%;margin:1rem auto 1.5rem}.bottom-strip-img{width:100%;height:auto;display:block;border-radius:16px}.darshan-inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:1.25rem;max-width:600px;margin:0 auto}.darshan-image{position:relative;width:220px;aspect-ratio:4 / 5;border-radius:130px 130px 18px 18px;overflow:hidden;border:3px solid var(--secondary);box-shadow:0 18px 44px #00000073}.darshan-image:after{content:"";position:absolute;inset:5px;border-radius:124px 124px 14px 14px;border:1px solid rgba(255,255,255,.35);pointer-events:none}.darshan-image .banner-img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform 8s ease}.darshan-image:hover .banner-img{transform:scale(1.06)}.hero-darshan .title-group h1{font-size:2.8rem;letter-spacing:4px;margin-bottom:.1rem}.hero-darshan .subtitle-eng{font-size:2rem;margin-bottom:.75rem}.hero-darshan .banner-quote{border-left:none;padding-left:0;font-size:1.15rem;max-width:480px;margin:0 auto}.form-section{display:flex;flex-direction:column;gap:1.25rem}.cta-banner{text-align:center;max-width:800px;margin:0 auto}.cta-title{font-size:1.4rem;font-weight:700;letter-spacing:1px;color:#fff;margin-bottom:.5rem}.receipt-card-outer{position:relative;max-width:900px;width:100%;margin:1.25rem auto 0}.prabhupada-portrait-container{position:absolute;top:-45px;right:50px;width:90px;height:90px;z-index:5;border-radius:50%;box-shadow:var(--shadow-md);transition:var(--transition-normal)}.prabhupada-img{width:100%;height:100%;object-fit:cover;border-radius:50%;border:4px solid var(--bg-card)}.prabhupada-ring{position:absolute;inset:-2px;border-radius:50%;border:2px solid var(--secondary);pointer-events:none}.receipt-card-outer:hover .prabhupada-portrait-container{transform:translateY(-8px) scale(1.05)}.receipt-card{background-color:var(--bg-card);background-image:linear-gradient(var(--bg-card),var(--bg-card)),repeating-linear-gradient(0deg,transparent,transparent 38px,rgba(197,160,89,.04) 39px,transparent 40px);border:2px solid var(--secondary);border-radius:16px;padding:3.5rem 2.25rem 2.25rem;box-shadow:var(--shadow-md),inset 0 0 0 6px #c5a05914;position:relative;overflow:hidden}.receipt-watermark{position:absolute;bottom:-30px;right:-30px;width:260px;height:260px;color:var(--secondary);opacity:.06;pointer-events:none;z-index:0}.receipt-card>*:not(.receipt-watermark){position:relative;z-index:1}.receipt-card:before,.receipt-card:after{content:"";position:absolute;width:38px;height:38px;border:2px solid var(--secondary);pointer-events:none;z-index:2}.receipt-card:before{top:14px;left:14px;border-right:none;border-bottom:none;border-top-left-radius:8px}.receipt-card:after{bottom:14px;right:14px;border-left:none;border-top:none;border-bottom-right-radius:8px}.receipt-form-grid{display:grid;grid-template-columns:repeat(2,1fr);column-gap:1.25rem;row-gap:1rem}.col-span-2{grid-column:span 2}.col-span-1-5,.col-span-0-5{grid-column:span 1}@media (min-width: 768px){.col-span-1-5,.col-span-0-5{grid-column:span 1 / span 1}.receipt-form-grid{grid-template-columns:2fr 1fr}.col-span-2{grid-column:span 2}}.form-group{display:flex;flex-direction:column;gap:.3rem;position:relative}.form-group label{font-weight:600;font-size:.95rem;color:var(--primary);display:flex;flex-direction:column;gap:.15rem}.input-wrapper{position:relative;width:100%}.input-wrapper input,.input-wrapper textarea{width:100%;border:1px solid var(--border-color);background-color:#faf9f6;border-radius:8px;padding:.65rem .875rem;font-family:var(--font-sans);font-size:1rem;color:var(--text-dark);transition:all var(--transition-normal)}.input-wrapper textarea{resize:vertical}.input-wrapper input:hover,.input-wrapper textarea:hover{border-color:var(--secondary-light);background-color:#fff}.input-wrapper input:focus,.input-wrapper textarea:focus{outline:none;border-color:var(--primary);background-color:#fff;box-shadow:0 0 0 4px #0d2c541a;transform:translateY(-1px)}.input-focus-line{position:absolute;bottom:0;left:50%;width:0;height:2px;background-color:var(--secondary);transition:var(--transition-normal)}.input-wrapper input:focus~.input-focus-line,.input-wrapper textarea:focus~.input-focus-line{left:0;width:100%}.input-wrapper input.invalid,.input-wrapper textarea.invalid{border-color:var(--error);background-color:#fdf5f4}.input-wrapper input.invalid:focus,.input-wrapper textarea.invalid:focus{border-color:var(--error);box-shadow:0 0 0 4px #b3261e1f}.input-wrapper input.invalid,.input-wrapper textarea.invalid{animation:field-shake .4s ease}@keyframes field-shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.error-msg-container{min-height:0;font-size:.8rem;color:var(--error);font-weight:500;opacity:0;transform:translateY(-5px);transition:var(--transition-fast)}.error-msg-container.active{min-height:1rem;opacity:1;transform:translateY(0)}.form-submit-container{grid-column:span 2;display:flex;justify-content:center;margin-top:1.5rem}.submit-btn{background:linear-gradient(135deg,var(--primary) 0%,#173f75 100%);color:#fff;border:none;padding:.8rem 2.75rem;border-radius:50px;font-family:var(--font-sans);font-size:1.1rem;font-weight:600;letter-spacing:1px;cursor:pointer;box-shadow:0 10px 20px #0d2c5433;position:relative;overflow:hidden;transition:all var(--transition-normal)}.submit-btn:hover{transform:translateY(-4px);box-shadow:0 15px 30px #0d2c5459}.submit-btn:active{transform:translateY(1px) scale(.97);box-shadow:0 5px 10px #0d2c5433}.btn-shine{position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transform:skew(-25deg);transition:.75s}.submit-btn:hover .btn-shine{left:150%}.bank-info-section{margin:1.5rem 0 0;padding:1.125rem 1.25rem;border:2px dashed var(--secondary);border-radius:12px;background:#c5a0590a;position:relative;z-index:1}.bank-info-title{font-weight:700;font-size:.95rem;color:var(--primary);margin-bottom:.75rem;text-align:center}.bank-info-grid{display:flex;flex-direction:column;gap:.5rem}.bank-info-row{display:flex;align-items:flex-start;gap:.75rem;font-size:.92rem;line-height:1.5;flex-wrap:wrap}.bank-info-label{color:var(--text-muted);font-weight:600;flex-shrink:0;min-width:auto;display:flex;flex-direction:column;gap:.1rem}.bank-info-value{color:var(--primary);font-weight:700;border-bottom:1px solid var(--border-color);padding-bottom:1px}.bank-account-no{font-family:SF Mono,Fira Code,Consolas,monospace;letter-spacing:1px}@media (max-width: 768px){.bank-info-row{flex-direction:column;gap:.15rem}.bank-info-label{min-width:unset}}.signature-section{margin:1.5rem 0 1rem}.signature-label{display:block;font-weight:600;font-size:.95rem;color:var(--primary);margin-bottom:.5rem}.signature-pad-wrapper{position:relative;border:2px solid var(--border-color);border-radius:8px;overflow:hidden;background-color:#faf9f6;transition:border-color var(--transition-normal)}.signature-pad-wrapper:hover{border-color:var(--secondary-light)}.signature-pad{display:block;width:100%;height:150px;cursor:crosshair;touch-action:none}.signature-placeholder{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#a0aec0;font-size:.95rem;font-style:italic;pointer-events:none;transition:opacity .3s ease;text-align:center}.signature-clear-btn{display:inline-flex;align-items:center;margin-top:.5rem;background:none;border:1px solid var(--border-color);color:var(--text-muted);padding:.3rem 1rem;border-radius:50px;font-family:var(--font-sans);font-size:.8rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);min-height:44px}.signature-clear-btn:hover{border-color:var(--error);color:var(--error);background-color:#b3261e0d}.krishna-teaching-section{margin-top:3rem;margin-bottom:0;border-radius:24px;overflow:hidden;box-shadow:var(--shadow-lg);border:none}.krishna-teaching-container{position:relative;width:100%;line-height:0}.krishna-teaching-img{width:100%;height:auto;display:block;object-fit:cover}@media (max-width: 768px){.krishna-teaching-img{width:100%;height:auto}}.app-footer{background-color:var(--primary);color:#fff;padding:3rem 2rem;margin-top:auto}.footer-container{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:2.5rem}.mantra-container{background-color:#c5a0591a;border:1px solid rgba(197,160,89,.3);border-radius:12px;padding:1rem;text-align:center}.mantra-text{font-family:var(--font-serif);font-size:1.15rem;letter-spacing:1px;color:var(--secondary-light);line-height:1.8}.footer-bottom-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:2rem;align-items:center}.footer-quote-area{border-left:2px solid rgba(255,255,255,.15);padding-left:1.5rem}.footer-quote-area p{font-style:italic;font-size:1rem;color:#94a3b8}.footer-quote-area p.th-text{font-weight:300}.footer-contact-area{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.contact-label{font-size:.85rem;color:#94a3b8;text-transform:uppercase;letter-spacing:1px}.contact-value{font-size:1.6rem;font-weight:700;color:var(--secondary);text-decoration:none;transition:var(--transition-fast)}.contact-value:hover{color:#fff;transform:translate(-5px)}.toast{position:fixed;top:30px;left:50%;background-color:var(--bg-card);box-shadow:var(--shadow-lg);border-radius:12px;padding:1rem 1.5rem;z-index:100;transform:translate(-50%,-150%);opacity:0;transition:transform .4s cubic-bezier(.175,.885,.32,1.275),opacity .3s;width:auto;max-width:90vw}.toast.show{transform:translate(-50%);opacity:1}.toast.success{border-left:5px solid var(--success)}.toast.success .toast-icon{background-color:#2e7d321a;color:var(--success)}.toast.error{border-left:5px solid var(--error)}.toast.error .toast-icon{background-color:#b3261e1a;color:var(--error)}.toast-content{display:flex;align-items:center;gap:1rem}.toast-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700}.toast-message{font-size:.95rem;color:var(--text-dark);font-weight:500}@keyframes reveal-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.hero-banner,.cta-banner,.receipt-card-outer{animation:reveal-up .7s cubic-bezier(.16,1,.3,1) both}.cta-banner{animation-delay:.18s}.receipt-card-outer{animation-delay:.26s}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media (max-width: 1024px){.banner-grid{gap:2.5rem}.title-group h1{font-size:2.6rem}.subtitle-eng{font-size:1.8rem}}@media (max-width: 992px){.banner-grid{grid-template-columns:1fr;gap:2.5rem}.banner-image-container{max-width:400px;margin:0 auto}.prabhupada-portrait-container{right:30px}}@media (max-width: 768px){.app-header{padding:.75rem 1rem}.logo-text{display:none}.main-container{padding:0 1rem 3rem}.hero-banner{padding:2rem}.title-group h1{font-size:2.2rem}.subtitle-eng{font-size:1.7rem}.hero-darshan{margin-bottom:.5rem;max-width:100%;border-radius:12px}.hero-bg-img{border-radius:0}.strip-banner{margin-bottom:.5rem}.strip-banner-img{border-radius:12px}.bottom-strip-banner{margin:1rem auto .5rem}.bottom-strip-img{border-radius:12px}.receipt-card{padding:2.5rem 1.5rem 2rem}.receipt-form-grid{grid-template-columns:1fr;row-gap:1.25rem}.col-span-2,.col-span-1-5,.col-span-0-5{grid-column:span 1}.footer-bottom-grid{grid-template-columns:1fr;gap:1.5rem}.footer-contact-area{align-items:flex-start}}.modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .4s ease}.modal-overlay.show{opacity:1;pointer-events:auto}.modal-backdrop{position:absolute;inset:0;background:#022041e0;backdrop-filter:blur(8px)}.modal-card{position:relative;background:linear-gradient(160deg,#fff,#fcf8f2);border-radius:24px;padding:2.5rem 2rem 2rem;max-width:420px;width:90%;text-align:center;box-shadow:0 32px 64px #0006,0 0 0 2px var(--secondary);transform:translateY(30px) scale(.95);transition:transform .5s cubic-bezier(.34,1.56,.64,1)}.modal-overlay.show .modal-card{transform:translateY(0) scale(1)}.modal-close{position:absolute;top:.75rem;right:1rem;background:none;border:none;font-size:1.5rem;color:var(--text-muted);cursor:pointer;line-height:1;padding:.25rem .5rem;border-radius:8px;transition:color .2s;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:var(--text-dark)}.modal-image-ring{width:120px;height:120px;border-radius:50%;overflow:hidden;margin:0 auto 1rem;border:3px solid var(--secondary);box-shadow:0 0 24px #c5a05959}.modal-portrait{width:100%;height:100%;object-fit:cover}.modal-icon{font-size:2rem;margin-bottom:.5rem}.modal-title{font-family:var(--font-serif);font-size:1.5rem;font-weight:700;color:var(--primary);margin-bottom:.75rem}.modal-message{font-size:.95rem;color:var(--text-muted);line-height:1.7;margin-bottom:.75rem}.modal-verse{font-family:var(--font-serif);font-size:.9rem;font-style:italic;color:var(--secondary-deep);line-height:1.6;margin-bottom:1.5rem;padding:.5rem 1rem;border-left:3px solid var(--secondary);text-align:left}.modal-done-btn{background:linear-gradient(135deg,var(--secondary) 0%,var(--secondary-deep) 100%);color:#fff;border:none;padding:.75rem 2.5rem;border-radius:50px;font-family:var(--font-sans);font-size:1rem;font-weight:600;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease;box-shadow:0 4px 16px #c5a05966}.modal-done-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #c5a0598c}.modal-done-btn:active{transform:translateY(0) scale(.97)}.modal-student-id{background:#c5a05914;border:1px solid rgba(197,160,89,.4);border-radius:12px;padding:.75rem 1.25rem;margin-bottom:1rem}.modal-student-id-label{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:.25rem}.modal-student-id-value{font-family:var(--font-serif);font-size:1.4rem;font-weight:700;color:var(--primary);letter-spacing:3px}@media (max-width: 480px){.modal-card{padding:2rem 1.25rem 1.5rem}.modal-title{font-size:1.3rem}}.student-search-card{background:#fffffff5;border:1px solid rgba(197,160,89,.35);border-radius:24px;box-shadow:var(--shadow-md);margin-bottom:1.25rem;padding:1.125rem 1.25rem}.student-search-header h4{color:var(--primary);font-size:1.05rem;font-weight:700;margin-bottom:1rem}.student-search-grid{display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) auto;align-items:end}.student-search-input-group{margin-bottom:0;position:relative}.search-input-wrapper{position:relative}.search-dropdown{background:#fff;border:1px solid rgba(13,44,84,.18);border-radius:12px;box-shadow:0 8px 24px #0d2c541f;left:0;list-style:none;margin:0;max-height:280px;overflow-y:auto;padding:.4rem 0;position:absolute;right:0;top:calc(100% + 4px);z-index:200}.search-dropdown-item{color:var(--primary);cursor:pointer;font-size:.9rem;font-weight:500;padding:.65rem 1rem;transition:background .15s}.search-dropdown-item:hover{background:#0d2c5412}.student-search-actions,.form-submit-container{display:flex;flex-wrap:wrap;gap:.75rem}.student-search-actions{justify-content:flex-start}.student-id-group input[readonly]{background:#f8f5ee;color:var(--primary);font-weight:600}.secondary-btn,.ghost-btn{border-radius:999px;cursor:pointer;font-family:var(--font-sans);font-size:.95rem;font-weight:600;min-height:48px;padding:.8rem 1.4rem;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast)}.secondary-btn{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-deep) 100%);border:1px solid transparent;box-shadow:var(--shadow-sm);color:#fff}.ghost-btn{background:transparent;border:1px solid rgba(13,44,84,.24);color:var(--primary)}.secondary-btn:hover,.ghost-btn:hover{transform:translateY(-1px)}.hidden-action{display:none}@media (max-width: 768px){.student-search-grid{grid-template-columns:1fr}.student-search-actions,.form-submit-container{width:100%}.student-search-actions>button,.form-submit-container>button{flex:1 1 100%;width:100%}}.login-screen{min-height:100vh;background-color:#022041;display:flex;align-items:center;justify-content:center;padding:1.5rem}.login-card{background:var(--bg-card);border-radius:20px;overflow:hidden;width:100%;max-width:420px;box-shadow:0 32px 64px #0006,0 0 0 2px var(--secondary);animation:reveal-up .6s cubic-bezier(.16,1,.3,1) both}.login-banner{width:100%;line-height:0}.login-banner-img{width:100%;height:160px;object-fit:cover;object-position:center top;display:block}.login-body{padding:1.5rem 2rem 1.25rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem}.login-logo-ring{width:80px;height:80px;border-radius:50%;overflow:hidden;border:3px solid var(--secondary);box-shadow:0 0 20px #c5a05959;margin-top:-40px;background:#fff;flex-shrink:0}.login-prabhupada{width:100%;height:100%;object-fit:cover}.login-title{font-family:var(--font-serif);font-size:1.35rem;font-weight:700;color:var(--primary);line-height:1.2;margin-top:.25rem;display:flex;flex-direction:column;gap:.3rem}.login-subtitle{font-size:.9rem;color:var(--secondary-deep);font-weight:600;letter-spacing:.5px;display:flex;flex-direction:column;gap:.25rem}.login-notice{font-size:.85rem;color:var(--text-muted);margin-bottom:.25rem;display:flex;flex-direction:column;gap:.2rem}.google-signin-btn{display:flex;align-items:center;gap:.75rem;background:#fff;border:1.5px solid #dadce0;border-radius:50px;padding:.7rem 2rem;font-family:var(--font-sans);font-size:.95rem;font-weight:600;color:#3c4043;cursor:pointer;transition:box-shadow .2s ease,border-color .2s ease;width:100%;justify-content:center;max-width:280px}.google-signin-btn:hover{box-shadow:0 2px 8px #00000026;border-color:#bbb}.google-signin-btn:active{box-shadow:none;background:#f8f9fa}.google-signin-btn:disabled{opacity:.6;cursor:not-allowed}.google-icon{flex-shrink:0}.login-error{font-size:.82rem;color:var(--error);font-weight:500}.login-footer-mantra{background:var(--primary);color:var(--secondary-light);text-align:center;font-family:var(--font-serif);font-size:.72rem;font-weight:600;letter-spacing:.5px;padding:.6rem 1rem;line-height:1.8}.header-right{display:flex;align-items:center;gap:1rem}.user-info{display:flex;align-items:center;gap:.5rem}.user-avatar{width:28px;height:28px;border-radius:50%;border:2px solid var(--secondary);object-fit:cover}.user-name{font-size:.82rem;font-weight:600;color:var(--primary);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.signout-btn{background:none;border:1px solid rgba(13,44,84,.25);border-radius:50px;padding:.3rem .9rem;font-family:var(--font-sans);font-size:.78rem;font-weight:600;color:var(--primary);cursor:pointer;transition:background .2s,border-color .2s;min-height:44px;display:flex;align-items:center}.signout-btn:hover{background:#0d2c540f;border-color:var(--primary)}@media (max-width: 480px){.user-name{display:none}.header-right{gap:.5rem}}@media (max-width: 360px){.login-body{padding:.75rem 1rem 1rem}.google-signin-btn{padding:.6rem 1rem;font-size:.88rem}.login-title{font-size:1.1rem}.login-logo-ring{width:64px;height:64px;margin-top:-32px}}.preview-modal-card{position:relative;background:var(--bg-page);border-radius:20px;width:95%;max-width:780px;max-height:92vh;overflow-y:auto;box-shadow:0 32px 64px #00000073,0 0 0 2px var(--secondary);transform:translateY(30px) scale(.97);transition:transform .5s cubic-bezier(.34,1.56,.64,1);display:flex;flex-direction:column}.modal-overlay.show .preview-modal-card{transform:translateY(0) scale(1)}.preview-modal-close{position:sticky;top:.75rem;right:0;float:right;margin:.75rem 1rem 0 0;z-index:10;background:#ffffffe6;border:1px solid var(--border-color);border-radius:50%;width:32px;height:32px;font-size:1.3rem;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s,background .2s;line-height:1;padding:0}.preview-modal-close:hover{color:var(--text-dark);background:#fff}.preview-print-area{padding:0;background:#fff}.preview-banner-wrap{width:100%;line-height:0}.preview-banner-img{width:100%;height:auto;display:block}.preview-strip-wrap{width:100%;line-height:0}.preview-strip-img{width:100%;height:auto;display:block}.preview-form-wrap{padding:1.25rem 1.5rem .5rem;border:2px dashed rgba(197,160,89,.5);margin:.5rem;border-radius:8px;background:#fff}.preview-form-main{display:flex;gap:0;align-items:flex-start}.preview-fields-left{flex:1 1 0;min-width:0;border-right:1px solid rgba(197,160,89,.4);padding-right:1rem;display:flex;flex-direction:column;gap:.55rem}.preview-field-row{display:flex;align-items:baseline;gap:.3rem;font-size:.82rem;line-height:1.5;flex-wrap:nowrap}.preview-field-row--inline{flex-wrap:wrap}.preview-field-num{color:var(--text-muted);font-weight:600;flex-shrink:0;min-width:1.4rem}.preview-field-label{color:var(--text-dark);font-weight:500;flex-shrink:0;white-space:nowrap}.preview-field-sep{color:var(--text-muted);flex-shrink:0;margin:0 .15rem}.preview-field-val{color:var(--primary);font-weight:600;border-bottom:1px solid var(--border-color);flex:1 1 0;min-width:60px;padding-bottom:1px;white-space:pre-wrap;word-break:break-word}.preview-val-school{flex:0 1 120px;min-width:60px}.preview-std-label{margin-left:.5rem}.preview-val-std{flex:0 1 60px;min-width:40px}.preview-val-address{white-space:pre-wrap}.preview-val-bank{flex:0 1 130px;min-width:70px}.preview-val-account{flex:0 1 120px;min-width:60px}.preview-val-holder{flex:0 1 160px;min-width:80px}.preview-fields-right{flex:0 0 160px;min-width:140px;padding-left:.875rem;display:flex;flex-direction:column;gap:0;align-items:stretch}.preview-right-box{border:1px solid rgba(197,160,89,.5);border-radius:4px;padding:.5rem .6rem;background:#c5a0590a}.preview-right-label{font-size:.7rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.3px;margin-bottom:.2rem;line-height:1.3}.preview-right-val{font-size:.85rem;color:var(--primary);font-weight:700;word-break:break-word;min-height:1.1rem}.preview-right-val--id{font-family:var(--font-serif);font-size:1rem;letter-spacing:1px}.preview-right-divider{text-align:center;color:var(--secondary);font-size:.65rem;line-height:1.4;padding:.1rem 0}.preview-receipt-section{margin-top:.875rem;padding-top:.75rem;border-top:1px solid rgba(197,160,89,.4)}.preview-receipt-text{font-size:.82rem;color:var(--text-dark);line-height:1.9;margin-bottom:.75rem}.preview-receipt-underline{display:inline-block;min-width:80px;border-bottom:1px solid var(--text-dark);font-weight:700;color:var(--primary);text-align:center;padding:0 .4rem;vertical-align:bottom}.preview-signature-row{display:flex;align-items:flex-end;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.preview-sig-label{font-size:.78rem;color:var(--text-muted);font-style:italic}.preview-sig-wrap{position:relative;min-width:160px;max-width:220px}.preview-sig-img{display:block;width:100%;max-height:70px;object-fit:contain}.preview-sig-line{border-bottom:1px solid var(--border-color);margin-top:.25rem}.preview-footer-mantra{text-align:center;font-family:var(--font-serif);font-size:.78rem;color:var(--primary);font-weight:700;letter-spacing:.5px;padding:.6rem .5rem .4rem;margin-top:.5rem;border-top:1px solid rgba(197,160,89,.35);line-height:1.8}.preview-actions{display:flex;gap:.75rem;justify-content:center;align-items:center;flex-wrap:wrap;padding:1.25rem 1.5rem;background:var(--bg-page);border-top:1px solid var(--border-color);border-radius:0 0 20px 20px;position:sticky;bottom:0}.preview-pdf-btn{background:linear-gradient(135deg,var(--accent) 0%,#164d2c 100%);color:#fff;border:none;padding:.75rem 1.75rem;border-radius:50px;font-family:var(--font-sans);font-size:.95rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 4px 12px #1d5c364d}.preview-pdf-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #1d5c3666}.preview-pdf-btn:active{transform:translateY(0) scale(.97)}@media (max-width: 600px){.preview-form-main{flex-direction:column}.preview-fields-left{border-right:none;padding-right:0;padding-bottom:.75rem;border-bottom:1px solid rgba(197,160,89,.4)}.preview-fields-right{flex:1 1 auto;min-width:0;padding-left:0;padding-top:.75rem;flex-direction:row;flex-wrap:wrap;gap:.5rem}.preview-right-box{flex:1 1 calc(50% - .5rem);min-width:120px}.preview-right-divider{display:none}.preview-modal-card{width:98%;max-width:100%}.preview-form-wrap{margin:.25rem;padding:.75rem}.preview-actions{flex-direction:column;padding:1rem}.preview-pdf-btn,.preview-actions .submit-btn,.preview-actions .ghost-btn{width:100%}.preview-field-row--inline .preview-field-label.preview-std-label{margin-left:1.7rem}.preview-sig-wrap{max-width:140px}}@media print{body.printing-preview>*{display:none!important}body.printing-preview #previewModal{display:block!important;position:static!important;opacity:1!important;pointer-events:auto!important}body.printing-preview .modal-backdrop{display:none!important}body.printing-preview .preview-modal-card{position:static!important;box-shadow:none!important;border:none!important;max-height:none!important;overflow:visible!important;width:100%!important;max-width:100%!important;transform:none!important;background:#fff!important}body.printing-preview .preview-modal-close,body.printing-preview .preview-actions,body.printing-preview .no-print{display:none!important}body.printing-preview .preview-print-area{display:block!important}body.printing-preview .preview-form-wrap{margin:.25in!important}@page{margin:.5cm}}.settings-btn{background:none;border:1px solid rgba(13,44,84,.25);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast);flex-shrink:0}.settings-btn:hover{color:var(--primary);background:#0d2c540f;border-color:var(--primary)}.settings-modal-card{position:relative;background:linear-gradient(160deg,#fff,#fcf8f2);border-radius:20px;padding:2.25rem 2rem 1.75rem;max-width:480px;width:92%;text-align:left;box-shadow:0 32px 64px #0006,0 0 0 2px var(--secondary);transform:translateY(30px) scale(.95);transition:transform .45s cubic-bezier(.34,1.56,.64,1)}.modal-overlay.show .settings-modal-card{transform:translateY(0) scale(1)}.settings-modal-desc{font-size:.875rem;color:var(--text-muted);margin-bottom:1.5rem;line-height:1.6}.settings-section{margin-bottom:1.5rem;display:flex;flex-direction:column;gap:1rem}.settings-section-title{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--secondary-deep);margin-bottom:.25rem}.settings-actions{display:flex;gap:.75rem;justify-content:flex-end;flex-wrap:wrap}.tab-nav-container{max-width:860px;margin:0 auto;padding:0 1rem}.tab-nav{display:flex;gap:.25rem;border-bottom:2px solid rgba(255,255,255,.2);padding-bottom:0}.tab-btn{background:none;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;padding:.75rem 1.25rem;font-family:var(--font-sans);font-size:.9rem;font-weight:600;color:#ffffff8c;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast);white-space:nowrap;letter-spacing:.01em}.tab-btn:hover{color:#ffffffd9}.tab-btn.active{color:#fff;border-bottom-color:var(--secondary)}@media (max-width: 500px){.tab-btn{padding:.6rem .75rem;font-size:.82rem}}.student-summary-card{background:linear-gradient(135deg,#f8f5ee,#fff);border:1.5px solid rgba(197,160,89,.4);border-radius:14px;padding:1.5rem 1.75rem;margin-bottom:1.25rem}.summary-header h4{font-size:1rem;font-weight:700;color:var(--primary);margin-bottom:1rem;letter-spacing:.02em}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1.5rem;margin-bottom:1.25rem}@media (max-width: 540px){.summary-grid{grid-template-columns:1fr}}.summary-row{display:flex;align-items:baseline;gap:.4rem;font-size:.875rem;border-bottom:1px dashed rgba(197,160,89,.3);padding-bottom:.35rem}.summary-label{color:var(--text-muted);font-weight:600;font-size:.78rem;white-space:nowrap;flex-shrink:0;min-width:6rem}.summary-value{color:var(--primary);font-weight:600;word-break:break-word}.summary-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:.25rem}.donation-form-card{margin-top:1.25rem;border-top:2px solid rgba(197,160,89,.3);padding-top:1.5rem}.donation-form-title{font-size:1rem;font-weight:700;color:var(--primary);margin-bottom:1.25rem;letter-spacing:.02em}.donation-history-panel{background:linear-gradient(135deg,#f8f5ee,#fff);border:1.5px solid rgba(197,160,89,.4);border-radius:14px;padding:1.25rem 1.5rem;margin-top:1.25rem}.history-student-info{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.history-student-id{font-family:var(--font-serif);font-size:.95rem;font-weight:700;color:var(--secondary-deep);letter-spacing:.5px}.history-student-name{font-size:1rem;font-weight:600;color:var(--primary)}.history-table-wrap{overflow-x:auto;border-radius:10px;border:1px solid var(--border-color);background:#fff}.donation-history-table{width:100%;border-collapse:collapse;font-size:.875rem}.donation-history-table thead{background:linear-gradient(135deg,var(--primary) 0%,#164d7a 100%);color:#fff}.donation-history-table th{padding:.65rem .9rem;text-align:left;font-weight:600;font-size:.78rem;letter-spacing:.03em;white-space:nowrap}.donation-history-table tbody tr{border-bottom:1px solid rgba(197,160,89,.2);transition:background var(--transition-fast)}.donation-history-table tbody tr:last-child{border-bottom:none}.donation-history-table tbody tr:hover{background:#c5a0590f}.donation-history-table td{padding:.6rem .9rem;color:var(--text-dark);vertical-align:middle}.donation-history-table .amount-cell{font-weight:700;font-variant-numeric:tabular-nums;color:var(--accent)}.donation-history-table.hide-student-col .col-student{display:none}.hist-student-id{font-size:.78rem;font-weight:700;color:var(--secondary-deep);font-family:var(--font-serif);letter-spacing:.4px}.donation-history-table td small{color:var(--text-muted);font-size:.75rem}.history-empty-state{padding:2rem;text-align:center;color:var(--text-muted);font-size:.9rem}.history-total-row{display:flex;justify-content:flex-end;align-items:center;gap:.75rem;margin-top:1rem;padding-top:.75rem;border-top:2px solid rgba(197,160,89,.4)}.history-total-label{font-size:.875rem;font-weight:600;color:var(--text-muted)}.history-total-value{font-size:1.2rem;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums;font-family:var(--font-serif)}
