.navbar{position:sticky;top:0;z-index:100;background:#faf6f0f2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border)}.navbar-inner{display:flex;align-items:center;justify-content:space-between;height:68px}.navbar-logo{display:flex;align-items:center;gap:var(--space-3);text-decoration:none}.navbar-logo-img{height:40px;width:auto;display:block}.navbar-logo-text{display:flex;flex-direction:column;line-height:1.1}.navbar-logo-name{font-family:var(--font-heading);font-weight:700;font-size:1.1rem;color:var(--color-primary)}.navbar-logo-sub{font-family:var(--font-body);font-size:.72rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted)}.navbar-nav,.navbar-auth{display:flex;align-items:center;gap:var(--space-4)}.navbar-sponsor-greeting{font-family:var(--font-body);font-size:.875rem;color:var(--color-text-muted)}.navbar-sponsor-greeting strong{color:var(--color-primary);font-weight:500}.btn-sm{padding:8px 16px;font-size:.875rem}.footer{background:var(--color-primary-dark);color:#ffffffd9}.footer-inner{display:grid;grid-template-columns:1.5fr 1fr;gap:var(--space-8);padding-top:var(--space-8);padding-bottom:var(--space-8)}.footer-brand{display:flex;flex-direction:column;gap:var(--space-5)}.footer-logo{display:flex;align-items:center;gap:var(--space-3)}.footer-logo-name{font-family:var(--font-heading);font-weight:700;font-size:1.15rem;color:var(--color-white)}.footer-tagline{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-secondary);margin-top:2px}.footer-mission{font-size:.9rem;line-height:1.7;color:#fffc;max-width:380px}.footer-social{display:flex;gap:var(--space-3)}.footer-social-link{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#ffffff1a;color:#ffffffb3;transition:all var(--transition-base)}.footer-social-link:hover{background:var(--color-secondary);color:var(--color-text)}.footer-social-link:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}.footer-links-heading{font-family:var(--font-body);font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-secondary);margin-bottom:var(--space-4)}.footer-links ul{list-style:none;display:flex;flex-direction:column;gap:var(--space-3)}.footer-links a{font-size:.9rem;color:#fffc;text-decoration:none;transition:color var(--transition-fast)}.footer-links a:hover{color:var(--color-white)}.footer-links a:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px;border-radius:2px}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:var(--space-5) 0}.footer-bottom-inner{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap}.footer-copy{font-size:.8rem;color:#ffffffb3}.footer-verse{font-size:.8rem;color:#ffffffb3;font-style:italic}@media(max-width:768px){.footer-inner{grid-template-columns:1fr;gap:var(--space-6)}.footer-links{grid-template-columns:repeat(2,1fr)}.footer-bottom-inner{flex-direction:column;align-items:flex-start}}.home{display:flex;flex-direction:column;min-height:100vh}.home main{flex:1}.hero{position:relative;min-height:88vh;display:flex;align-items:center;overflow:hidden}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-image:url(https://images.unsplash.com/photo-ehbdjKA6G4I?w=1600&h=900&fit=crop);background-size:cover;background-position:center 30%;transform:scale(1.02);transition:transform 8s ease-out}.hero:hover .hero-bg{transform:scale(1)}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#134428e0,#1b5e35cc 40%,#1b5e35a6)}.hero-content{position:relative;z-index:2;max-width:720px;padding-top:var(--space-10);padding-bottom:var(--space-10)}.hero-eyebrow{font-family:var(--font-body);font-size:.8rem;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--color-secondary);margin-bottom:var(--space-4)}.hero-heading{color:var(--color-white);margin-bottom:var(--space-5);text-shadow:0 2px 20px rgba(0,0,0,.3)}.hero-sub{font-size:1.15rem;font-weight:300;color:#ffffffe0;max-width:560px;line-height:1.75;margin-bottom:var(--space-7)}.hero-ctas{display:flex;gap:var(--space-4);flex-wrap:wrap}.mission-strip{background:var(--color-secondary);padding:var(--space-6) 0}.mission-inner{display:flex;align-items:center;justify-content:center}.mission-text{font-family:var(--font-body);font-size:1.05rem;font-weight:300;color:var(--color-text);line-height:1.7;text-align:center;max-width:720px}.mission-text strong{font-weight:600}.stats-bar{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:var(--space-7) 0}.stats-grid{display:flex;align-items:center;justify-content:center;gap:var(--space-7)}.stat-item{text-align:center;flex:1}.stat-number{display:block;font-family:var(--font-heading);font-weight:800;font-size:clamp(2rem,4vw,3rem);color:var(--color-primary);line-height:1;margin-bottom:var(--space-2)}.stat-label{display:block;font-family:var(--font-body);font-size:.875rem;font-weight:400;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.stat-divider{width:1px;height:60px;background:var(--color-border);flex-shrink:0}.how-it-works{padding:var(--space-10) 0;background:var(--color-bg)}.section-header{text-align:center;margin-bottom:var(--space-8)}.section-header h2{margin-bottom:var(--space-3);color:var(--color-primary)}.section-header p{font-size:1.05rem;color:var(--color-text-muted);max-width:480px;margin:0 auto}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5);list-style:none;counter-reset:step-counter}.step-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-7) var(--space-5);position:relative;overflow:hidden;transition:transform var(--transition-base),box-shadow var(--transition-base);counter-increment:step-counter}.step-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.step-card:before{content:"0" counter(step-counter);position:absolute;top:var(--space-4);right:var(--space-4);font-family:var(--font-heading);font-weight:900;font-size:3rem;color:#1b5e350f;line-height:1;pointer-events:none;-webkit-user-select:none;user-select:none}.step-icon{width:56px;height:56px;border-radius:var(--radius-md);background:var(--color-surface-green);display:flex;align-items:center;justify-content:center;color:var(--color-primary);margin-bottom:var(--space-4)}.step-card h3{font-size:1.2rem;color:var(--color-text);margin-bottom:var(--space-3)}.step-card p{font-size:.9rem;color:var(--color-text-muted);line-height:1.7}.featured-treasures{padding:var(--space-10) 0;background:var(--color-surface-warm)}.featured-treasures .section-header h2{color:var(--color-text)}.treasures-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5);list-style:none}.treasure-card{background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}.treasure-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-primary)}.treasure-card-photo{position:relative;height:240px;overflow:hidden}.treasure-card-photo img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.treasure-card:hover .treasure-card-photo img{transform:scale(1.05)}.treasure-card-body{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.treasure-card-meta{display:flex;align-items:baseline;gap:var(--space-3)}.treasure-card-name{font-size:1.35rem;font-weight:700;color:var(--color-primary)}.treasure-card-age{font-size:.8rem;font-weight:500;background:var(--color-surface-green);color:var(--color-primary);padding:2px 10px;border-radius:20px}.treasure-card-community{display:flex;align-items:center;gap:5px;font-size:.8rem;color:var(--color-text-muted)}.treasure-card-quote{font-family:var(--font-heading);font-style:italic;font-weight:300;font-size:.95rem;color:var(--color-text-muted);line-height:1.6;border-left:3px solid var(--color-secondary);padding-left:var(--space-3);margin-top:var(--space-2)}.treasure-card-btn{margin-top:var(--space-2);width:100%;justify-content:center}.testimonial{background:var(--color-primary);padding:var(--space-10) 0;position:relative;overflow:hidden}.testimonial:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 800px 400px at 20% 50%,rgba(212,160,32,.08) 0%,transparent 70%),radial-gradient(ellipse 600px 600px at 80% 50%,rgba(192,98,42,.06) 0%,transparent 70%);pointer-events:none}.testimonial-inner{position:relative;z-index:1;max-width:760px;text-align:center}.testimonial-quote-mark{font-family:var(--font-heading);font-size:8rem;line-height:.5;color:var(--color-secondary);opacity:.5;-webkit-user-select:none;user-select:none;display:block;margin-bottom:var(--space-4)}.testimonial-text{font-family:var(--font-heading);font-weight:300;font-style:italic;font-size:clamp(1.2rem,2.5vw,1.65rem);line-height:1.6;color:var(--color-white);margin-bottom:var(--space-6)}.testimonial-attribution{display:flex;flex-direction:column;gap:var(--space-1)}.testimonial-attribution strong{font-family:var(--font-body);font-weight:600;color:var(--color-secondary);font-size:1rem}.testimonial-attribution span{font-size:.85rem;color:#fffc}@media(max-width:1024px){.steps-grid,.treasures-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.hero{min-height:70vh}.hero-content{padding-top:var(--space-8);padding-bottom:var(--space-8)}.stats-grid{flex-direction:column;gap:var(--space-5)}.stat-divider{width:60px;height:1px}.steps-grid,.treasures-grid{grid-template-columns:1fr}}.portal{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--color-bg)}.portal-topbar{height:var(--topbar-height);background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-5);flex-shrink:0;z-index:50}.portal-topbar-left{display:flex;align-items:center;gap:var(--space-3)}.portal-home-link{display:flex;align-items:center;gap:var(--space-1);font-size:.85rem;color:var(--color-text-muted);text-decoration:none;transition:color var(--transition-fast)}.portal-home-link:hover{color:var(--color-primary)}.portal-home-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:3px}.portal-topbar-divider{width:1px;height:16px;background:var(--color-border)}.portal-title{font-family:var(--font-heading);font-weight:700;font-size:1rem;color:var(--color-primary)}.portal-topbar-right{display:flex;align-items:center;gap:var(--space-4)}.portal-active-treasure{display:flex;align-items:center;gap:var(--space-2);background:var(--color-surface-green);border:1px solid var(--color-border);border-radius:20px;padding:4px 12px 4px 4px}.portal-active-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;border:2px solid var(--color-primary)}.portal-active-name{font-size:.8rem;font-weight:500;color:var(--color-primary)}.portal-sponsor-info{display:flex;align-items:center;gap:var(--space-3)}.portal-sponsor-avatar{width:36px;height:36px;border-radius:50%;background:var(--color-primary);color:var(--color-white);display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:700;font-size:1rem;flex-shrink:0}.portal-sponsor-details{display:flex;flex-direction:column;line-height:1.2}.portal-sponsor-name{font-size:.875rem;font-weight:500;color:var(--color-text)}.portal-sponsor-country{font-size:.75rem;color:var(--color-text-muted)}.portal-logout-btn{display:flex;align-items:center;gap:var(--space-2);padding:8px 14px;border-radius:var(--radius-sm);font-size:.85rem;font-weight:400;color:var(--color-text-muted);background:transparent;border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast)}.portal-logout-btn:hover{color:var(--color-accent);border-color:var(--color-accent);background:#c0622a0d}.portal-logout-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.portal-body{display:flex;flex:1;overflow:hidden}.portal-sidebar{width:var(--sidebar-width);background:var(--color-surface);border-right:1px solid var(--color-border);flex-shrink:0;overflow-y:auto;overflow-x:hidden;animation:slideInLeft .3s ease-out both}.portal-sidebar-inner{padding:var(--space-4) var(--space-3);display:flex;flex-direction:column;gap:var(--space-1)}.portal-nav-item{display:flex;align-items:center;gap:var(--space-3);padding:11px var(--space-3);border-radius:var(--radius-md);text-decoration:none;font-family:var(--font-body);font-size:.9rem;font-weight:400;color:var(--color-text-muted);transition:all var(--transition-fast);position:relative}.portal-nav-item:hover{background:var(--color-surface-green);color:var(--color-primary)}.portal-nav-item.active{background:var(--color-surface-green);color:var(--color-primary);font-weight:500}.portal-nav-item.active:before{content:"";position:absolute;left:0;top:25%;bottom:25%;width:3px;background:var(--color-primary);border-radius:0 3px 3px 0}.portal-nav-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.portal-nav-label{flex:1}.portal-main{flex:1;overflow-y:auto;overflow-x:hidden}.portal-main:focus{outline:none}.portal-bottom-nav{display:none;background:var(--color-surface);border-top:1px solid var(--color-border);flex-shrink:0;z-index:50}.portal-bottom-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:10px var(--space-2);text-decoration:none;color:var(--color-text-muted);font-size:.7rem;transition:color var(--transition-fast);min-height:60px}.portal-bottom-item.active{color:var(--color-primary)}.portal-bottom-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.portal-bottom-icon-wrap{position:relative}.portal-bottom-badge{position:absolute;top:-5px;right:-8px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--color-secondary);color:var(--color-text);font-size:.65rem;font-weight:600;display:flex;align-items:center;justify-content:center;line-height:1}.portal-bottom-label{font-family:var(--font-body)}@media(max-width:768px){.portal-sidebar{display:none}.portal-bottom-nav{display:flex}.portal-sponsor-details,.portal-logout-label,.portal-active-treasure{display:none}.portal-topbar{padding:0 var(--space-4)}}.login-gate{min-height:100vh;background:var(--color-bg);background-image:radial-gradient(ellipse 800px 600px at 20% 40%,rgba(27,94,53,.07) 0%,transparent 70%),radial-gradient(ellipse 600px 400px at 80% 70%,rgba(212,160,32,.06) 0%,transparent 70%);display:flex;align-items:center;justify-content:center;padding:var(--space-6)}.login-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-8) var(--space-7);width:100%;max-width:420px;box-shadow:var(--shadow-lg);text-align:center;animation:fadeInUp .5s ease-out both}.login-logo{display:flex;justify-content:center;margin-bottom:var(--space-4)}.login-title{font-family:var(--font-heading);font-size:1.75rem;font-weight:800;color:var(--color-primary);margin-bottom:var(--space-1)}.login-subtitle{font-size:.85rem;color:var(--color-text-muted);letter-spacing:.05em;margin-bottom:var(--space-5)}.login-desc{font-size:.875rem;color:var(--color-text-muted);line-height:1.65;margin-bottom:var(--space-6)}.login-error{background:#dc26261a;border:1px solid rgba(220,38,38,.3);color:#7f1d1d;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:.875rem;margin-bottom:var(--space-4);text-align:left}.login-field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4);text-align:left}.login-label{font-size:.8rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em}.login-input{padding:12px var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.95rem;font-family:var(--font-body);color:var(--color-text);background:var(--color-surface);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.login-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1b5e351a}.login-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:14px var(--space-5);background:var(--color-primary);color:var(--color-white);border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:.95rem;font-weight:500;cursor:pointer;transition:all var(--transition-base);margin-bottom:var(--space-5)}.login-btn:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-green)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-btn:focus-visible{outline:3px solid var(--color-secondary);outline-offset:2px}.login-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:var(--color-white);border-radius:50%;animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.login-divider{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);font-size:.8rem;color:var(--color-text-muted)}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.login-register-btn{display:block;width:100%;padding:12px var(--space-5);background:transparent;color:var(--color-primary);border:1.5px solid var(--color-primary);border-radius:var(--radius-md);font-family:var(--font-body);font-size:.95rem;font-weight:500;text-align:center;text-decoration:none;cursor:pointer;transition:all var(--transition-base);margin-bottom:var(--space-5);box-sizing:border-box}.login-register-btn:hover{background:#1b5e350f;transform:translateY(-1px)}.login-register-btn:focus-visible{outline:3px solid var(--color-secondary);outline-offset:2px}.login-note{font-size:.8rem;color:var(--color-text-muted)}.login-note a{color:var(--color-primary);text-decoration:underline;text-decoration-color:#1b5e3566}.login-note a:hover{text-decoration-color:var(--color-primary)}.login-note a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:2px}.portal-section{padding:var(--space-6) var(--space-7);max-width:1000px;animation:fadeInUp .35s ease-out both}.portal-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5);margin-bottom:var(--space-6);flex-wrap:wrap}.portal-section-title{font-family:var(--font-heading);font-size:1.75rem;font-weight:700;color:var(--color-primary);margin-bottom:var(--space-1)}.portal-section-desc{font-size:.9rem;color:var(--color-text-muted);font-weight:300}.portal-no-treasure{background:var(--color-surface);border:1px dashed var(--color-border-warm);border-radius:var(--radius-lg);padding:var(--space-8) var(--space-6);text-align:center;color:var(--color-text-muted)}.portal-no-treasure p{margin-bottom:var(--space-4)}@media(max-width:768px){.portal-section{padding:var(--space-5) var(--space-4)}}.treasures-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-4)}.treasure-card-portal{width:100%;display:flex;align-items:center;gap:var(--space-5);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);text-align:left;cursor:pointer;transition:all var(--transition-base);position:relative}.treasure-card-portal:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.treasure-card-portal.active{border-color:var(--color-primary);background:#1b5e3508}.treasure-card-portal:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.tcp-photo{position:relative;width:90px;height:90px;border-radius:var(--radius-md);overflow:hidden;flex-shrink:0}.tcp-photo img{width:100%;height:100%;object-fit:cover}.tcp-active-badge{position:absolute;bottom:0;left:0;right:0;background:var(--color-primary);color:var(--color-white);font-size:.65rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:3px;padding:4px;text-transform:uppercase;letter-spacing:.05em}.tcp-info{flex:1;min-width:0}.tcp-name-row{display:flex;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-2);flex-wrap:wrap}.tcp-name{font-family:var(--font-heading);font-size:1.3rem;font-weight:700;color:var(--color-primary)}.tcp-last{font-weight:400}.tcp-nickname{font-family:var(--font-heading);font-style:italic;font-size:.9rem;color:var(--color-text-muted)}.tcp-meta{display:flex;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-3)}.tcp-meta-item{display:flex;align-items:center;gap:5px;font-size:.8rem;color:var(--color-text-muted)}.tcp-bio{font-size:.875rem;color:var(--color-text-muted);line-height:1.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tcp-arrow{color:var(--color-text-light);flex-shrink:0;transition:transform var(--transition-fast),color var(--transition-fast)}.treasure-card-portal:hover .tcp-arrow{color:var(--color-primary);transform:translate(4px)}@media(max-width:640px){.treasure-card-portal{flex-direction:column;align-items:flex-start}.tcp-photo{width:100%;height:200px}.tcp-arrow{display:none}}.messages-section{max-width:100%;height:calc(100vh - var(--topbar-height));display:flex;flex-direction:column;overflow:hidden}.messages-section .portal-section-header{flex-shrink:0}.messages-layout{display:grid;grid-template-columns:340px 1fr;flex:1;overflow:hidden;border-top:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.messages-list-pane{border-right:1px solid var(--color-border);display:flex;flex-direction:column;overflow:hidden}.messages-filters{display:flex;border-bottom:1px solid var(--color-border);padding:0 var(--space-3);flex-shrink:0}.messages-filter-tab{padding:var(--space-2) var(--space-4);font-size:.85rem;font-weight:700;color:var(--color-text-muted);background:#e2e6ea;border:none;border-radius:4px;cursor:pointer;transition:all var(--transition-fast);margin-bottom:-1px}.messages-filter-tab:hover{background:#2c3e50;color:#fff}.messages-filter-tab.active{background:#2c3e50;color:#fff;font-weight:700}.messages-filter-tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.messages-list-pane ul{list-style:none;overflow-y:auto;flex:1}.message-row{width:100%;display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);text-align:left;background:none;border:none;border-bottom:1px solid var(--color-border);cursor:pointer;transition:background var(--transition-fast);position:relative}.message-row:hover{background:var(--color-surface-warm)}.message-row.selected{background:var(--color-surface-green)}.message-row:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.message-unread-dot{width:8px;height:8px;border-radius:50%;background:var(--color-unread-dot);flex-shrink:0;margin-top:6px}.message-row-content{flex:1;min-width:0}.message-row-top{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2);margin-bottom:3px}.message-row-sender{font-size:.85rem;font-weight:500;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-row.unread .message-row-sender{font-weight:600;color:var(--color-primary)}.message-row-date{font-size:.75rem;color:var(--color-text-muted);flex-shrink:0}.message-row-subject{font-size:.82rem;color:var(--color-text);margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-row.unread .message-row-subject{font-weight:600}.message-row-preview{font-size:.78rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.messages-detail-pane{overflow-y:auto;padding:var(--space-6);display:flex;flex-direction:column}.messages-empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);color:var(--color-text-muted);font-size:.9rem}.message-detail{max-width:600px}.message-detail-header{margin-bottom:var(--space-5);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border)}.message-detail-subject{font-family:var(--font-heading);font-size:1.35rem;font-weight:700;color:var(--color-text);margin-bottom:var(--space-2)}.message-detail-meta{display:flex;align-items:center;gap:var(--space-2);font-size:.85rem;color:var(--color-text-muted)}.message-detail-body{display:flex;flex-direction:column;gap:var(--space-4)}.message-detail-body p{font-size:.95rem;line-height:1.75;color:var(--color-text)}.compose-btn{flex-shrink:0}.compose-form{display:flex;flex-direction:column;gap:var(--space-4);max-width:600px;flex:1}.compose-title{font-family:var(--font-heading);font-size:1.25rem;font-weight:700;color:var(--color-text);margin-bottom:var(--space-2)}.compose-field{display:flex;flex-direction:column;gap:var(--space-2)}.compose-field-grow{flex:1}.compose-label{font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.compose-input,.compose-textarea{padding:10px var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.9rem;font-family:var(--font-body);color:var(--color-text);background:var(--color-surface);transition:border-color var(--transition-fast);resize:none}.compose-input:focus,.compose-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1b5e351a}.compose-input-readonly{background:var(--color-surface-warm);color:var(--color-text-muted)}.compose-textarea{flex:1;resize:vertical}.compose-upload-area{border:2px dashed var(--color-border);border-radius:6px;background:var(--color-surface-warm);min-height:72px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.compose-upload-input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%;height:100%}.compose-upload-label{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:.85rem;cursor:pointer;pointer-events:none}.compose-upload-preview{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);width:100%}.compose-upload-thumb{width:48px;height:48px;object-fit:cover;border-radius:4px;border:1px solid var(--color-border);flex-shrink:0}.compose-upload-name{font-size:.82rem;color:var(--color-text-muted);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compose-upload-remove{background:none;border:none;cursor:pointer;color:var(--color-text-muted);font-size:.9rem;padding:2px 6px;border-radius:4px;flex-shrink:0}.compose-upload-remove:hover{background:var(--color-border);color:var(--color-text)}.compose-upload-area-error{border-color:#c0392b;background:#fff5f5}.compose-upload-error{display:flex;align-items:center;gap:var(--space-2);color:#c0392b;font-size:.82rem;padding:var(--space-2) var(--space-3);width:100%}.compose-upload-error-text{flex:1}.compose-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}@media(max-width:768px){.messages-layout{grid-template-columns:1fr;height:auto}.messages-detail-pane{display:none}.messages-section{height:auto;overflow:visible}}.prayer-form{background:var(--color-surface);border:1px solid var(--color-border-warm);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6);margin-bottom:var(--space-6);animation:fadeInUp .3s ease-out both}.prayer-form-title{font-family:var(--font-heading);font-size:1.1rem;font-weight:700;color:var(--color-text);margin-bottom:var(--space-4)}.prayer-form-grid{display:grid;grid-template-columns:1fr 200px;gap:var(--space-4);margin-bottom:var(--space-4)}.prayer-form-field{display:flex;flex-direction:column;gap:var(--space-2)}.prayer-form-field-full{grid-column:1 / -1}.prayer-form-label{font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.prayer-form-input,.prayer-form-select,.prayer-form-textarea{padding:10px var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.9rem;font-family:var(--font-body);color:var(--color-text);background:var(--color-surface);transition:border-color var(--transition-fast)}.prayer-form-input:focus,.prayer-form-select:focus,.prayer-form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1b5e351a}.prayer-form-textarea{resize:vertical}.prayer-form-actions{display:flex;gap:var(--space-3);justify-content:flex-end;border-top:1px solid var(--color-border);padding-top:var(--space-4)}.prayer-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-4)}.prayer-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-5);position:relative;transition:box-shadow var(--transition-base)}.prayer-card:hover{box-shadow:var(--shadow-md)}.prayer-card.answered{background:#2e7d4f0a;border-color:#2e7d4f33}.prayer-card.new{border-color:var(--color-secondary)}.prayer-new-badge{position:absolute;top:var(--space-4);right:var(--space-4);background:var(--color-secondary);color:var(--color-text);font-size:.7rem;font-weight:600;padding:2px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.08em}.prayer-card-header{margin-bottom:var(--space-3)}.prayer-card-title-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-2)}.prayer-card-title{font-family:var(--font-heading);font-size:1.1rem;font-weight:700;color:var(--color-text)}.prayer-card-meta{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;font-size:.8rem;color:var(--color-text-muted)}.prayer-type-chip{background:var(--color-surface-warm);border:1px solid var(--color-border);border-radius:20px;padding:2px 10px;font-size:.75rem;color:var(--color-text-muted)}.prayer-card-desc{font-size:.9rem;line-height:1.7;color:var(--color-text-muted)}.prayer-answered-footer{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid rgba(46,125,79,.2);font-size:.85rem;font-weight:500;color:var(--color-answered)}@media(max-width:640px){.prayer-form-grid{grid-template-columns:1fr}}.child-info-tabs{display:flex;gap:4px;border-bottom:2px solid var(--color-border);margin-bottom:var(--space-6)}.child-info-tab{display:flex;align-items:center;gap:var(--space-2);padding:10px var(--space-5);font-size:.9rem;font-weight:400;color:var(--color-text-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;margin-bottom:-2px;transition:all var(--transition-fast);border-radius:var(--radius-sm) var(--radius-sm) 0 0}.child-info-tab:hover{color:var(--color-primary);background:var(--color-surface-green)}.child-info-tab.active{color:var(--color-primary);font-weight:600;border-bottom-color:var(--color-primary);background:var(--color-surface-green)}.child-info-tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.child-info-panel{animation:fadeIn .25s ease-out both}.bio-layout{display:grid;grid-template-columns:240px 1fr;gap:var(--space-7);align-items:start}.bio-photo{width:100%;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);object-fit:cover;aspect-ratio:3/4}.bio-photo-caption{display:flex;flex-direction:column;align-items:center;margin-top:var(--space-3);gap:2px;text-align:center}.bio-photo-caption strong{font-family:var(--font-heading);font-size:1rem;color:var(--color-primary)}.bio-photo-caption span{font-style:italic;font-size:.85rem;color:var(--color-text-muted)}.bio-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3) var(--space-5);margin-bottom:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5)}.bio-info-item dt{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:2px}.bio-info-item dd{font-size:.9rem;color:var(--color-text);font-weight:400}.bio-section{margin-bottom:var(--space-5)}.bio-section-heading{font-family:var(--font-body);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted);margin-bottom:var(--space-3)}.bio-section p{font-size:.9rem;line-height:1.75;color:var(--color-text-muted)}.bio-hobbies-list{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-2)}.bio-hobby-chip{display:flex;align-items:center;gap:5px;background:var(--color-surface-green);border:1px solid var(--color-border);border-radius:20px;padding:5px 14px;font-size:.85rem;color:var(--color-primary)}.bio-verse{background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--color-primary);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);margin-top:var(--space-5)}.bio-verse-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--color-primary);margin-bottom:var(--space-2)}.bio-verse-text{font-family:var(--font-heading);font-style:italic;font-size:1.05rem;color:var(--color-text);line-height:1.6;margin-bottom:var(--space-2)}.bio-verse-ref{font-size:.8rem;color:var(--color-text-muted)}.edu-header-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);margin-bottom:var(--space-6)}.edu-stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-1)}.edu-stat-label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted)}.edu-stat-value{font-size:.95rem;font-weight:500;color:var(--color-text)}.edu-section{margin-bottom:var(--space-6)}.edu-section-heading{font-family:var(--font-body);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--color-primary);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.edu-text{font-size:.9rem;line-height:1.75;color:var(--color-text-muted)}.report-card-table-wrap{overflow-x:auto}.report-card-table{width:100%;border-collapse:collapse;font-size:.875rem}.report-card-table th{text-align:left;padding:var(--space-3) var(--space-4);background:#2c3e50;border-bottom:2px solid #1a252f;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#fff}.report-card-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);color:var(--color-text-muted)}.report-card-table tbody tr:nth-child(odd){background:#fff}.report-card-table tbody tr:nth-child(2n){background:#f0f2f5}.report-card-table tbody tr:hover{background:var(--color-surface-warm)}.grade-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-weight:600;font-size:.8rem;background:#1b5e351a;color:var(--color-primary)}.teacher-quote{font-family:var(--font-heading);font-style:italic;font-size:1rem;color:var(--color-text);line-height:1.7;border-left:3px solid var(--color-secondary);padding-left:var(--space-4);margin-bottom:var(--space-3)}.teacher-name{font-size:.85rem;color:var(--color-text-muted);padding-left:var(--space-4)}.goal-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-3)}.goal-item{display:flex;align-items:flex-start;gap:var(--space-3);font-size:.9rem;color:var(--color-text-muted);line-height:1.5}.goal-number{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--color-secondary);color:var(--color-text);font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:1px}.health-stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);margin-bottom:var(--space-6)}.health-stat-card{display:flex;align-items:flex-start;gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5)}.health-stat-icon{font-size:1.5rem;flex-shrink:0}.health-stat-card>div{display:flex;flex-direction:column;gap:3px}.health-stat-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted)}.health-stat-value{font-size:.9rem;font-weight:500;color:var(--color-text)}.health-stat-sub{font-size:.78rem;color:var(--color-text-light);line-height:1.5}.health-header{display:flex;gap:var(--space-4);margin-bottom:var(--space-6)}.health-header .health-stat-card{flex:1}.health-chart{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-6)}.health-line-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);margin-bottom:var(--space-4)}.line-chart-wrapper{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4)}.line-chart-title{font-size:.85rem;font-weight:600;margin-bottom:var(--space-3)}.line-chart-svg{width:100%;height:170px}.evaluation-table-wrap{overflow-x:auto;margin-bottom:var(--space-6)}.evaluation-table{width:100%;border-collapse:collapse}.evaluation-table th,.evaluation-table td{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);text-align:left}.evaluation-table th{background:#2c3e50;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#fff;border-color:#1a252f}.evaluation-table tbody tr:nth-child(odd){background:#fff}.evaluation-table tbody tr:nth-child(2n){background:#f0f2f5}.evaluation-table tbody tr:hover{background:var(--color-surface-green)}.chart-stat{display:flex;flex-direction:column;gap:var(--space-2);text-align:center;padding:var(--space-4);background:var(--color-surface-green);border-radius:var(--radius-sm)}.chart-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted)}.chart-value{font-size:1.5rem;font-weight:700;color:var(--color-primary)}.health-section{margin-bottom:var(--space-5)}.health-section-title-row{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2)}.health-section-heading{font-family:var(--font-body);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--color-primary);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-3)}.health-section-title-row .health-section-heading{border-bottom:none;padding-bottom:0;margin-bottom:0}.health-text{font-size:.9rem;line-height:1.75;color:var(--color-text-muted)}@media(max-width:768px){.bio-layout{grid-template-columns:1fr}.bio-photo{max-height:300px;aspect-ratio:auto}.edu-header-cards,.health-stat-grid{grid-template-columns:1fr}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--color-primary: #1B5E35;--color-primary-dark: #134428;--color-primary-light: #2A7A47;--color-secondary: #D4A020;--color-secondary-dark: #B8881A;--color-secondary-light: #E8B830;--color-accent: #C0622A;--color-accent-dark: #A3511F;--color-accent-light: #D4743C;--color-bg: #FAF6F0;--color-surface: #FFFFFF;--color-surface-warm: #FDF9F4;--color-surface-green: rgba(27, 94, 53, .05);--color-text: #1C1C1C;--color-text-muted: #5C5248;--color-text-light: #8A7E74;--color-white: #FFFFFF;--color-border: rgba(27, 94, 53, .15);--color-border-warm: rgba(212, 160, 32, .25);--color-active: #1B5E35;--color-answered: #2E7D4F;--color-ongoing: #C0622A;--color-unread-dot: #2A7A47;--font-heading: "Fraunces", Georgia, serif;--font-body: "IBM Plex Sans", system-ui, sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--space-9: 96px;--space-10: 128px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--shadow-sm: 0 1px 3px rgba(28, 28, 28, .08), 0 1px 2px rgba(28, 28, 28, .05);--shadow-md: 0 4px 12px rgba(28, 28, 28, .08), 0 2px 6px rgba(28, 28, 28, .04);--shadow-lg: 0 8px 24px rgba(28, 28, 28, .1), 0 4px 12px rgba(28, 28, 28, .05);--shadow-green: 0 4px 16px rgba(27, 94, 53, .2);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--sidebar-width: 240px;--topbar-height: 64px;--max-content: 1200px}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-weight:300;font-size:16px;line-height:1.6;color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:800;line-height:1.2;color:var(--color-text)}h1{font-size:clamp(2.5rem,6vw,4.5rem)}h2{font-size:clamp(1.8rem,4vw,3rem);font-weight:700}h3{font-size:clamp(1.25rem,2.5vw,1.75rem);font-weight:700}h4{font-size:1.2rem;font-weight:600}p{line-height:1.7}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-light)}img{max-width:100%;display:block}button{cursor:pointer;font-family:var(--font-body);border:none;background:none}input,textarea,select{font-family:var(--font-body)}.container{width:100%;max-width:var(--max-content);margin:0 auto;padding:0 var(--space-5)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:12px 28px;border-radius:var(--radius-md);font-family:var(--font-body);font-weight:500;font-size:.95rem;letter-spacing:.01em;transition:all var(--transition-base);cursor:pointer;border:none;text-decoration:none}.btn-primary{background:var(--color-primary);color:var(--color-white);box-shadow:var(--shadow-green)}.btn-primary:hover{background:var(--color-primary-dark);color:var(--color-white);transform:translateY(-1px);box-shadow:0 6px 20px #1b5e354d}.btn-primary:focus-visible{outline:3px solid var(--color-secondary);outline-offset:2px}.btn-secondary{background:var(--color-secondary);color:var(--color-text);box-shadow:var(--shadow-sm)}.btn-secondary:hover{background:var(--color-secondary-dark);color:var(--color-text);transform:translateY(-1px)}.btn-secondary:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.btn-outline{background:transparent;color:var(--color-white);border:2px solid rgba(255,255,255,.7)}.btn-outline:hover{background:#ffffff1a;color:var(--color-white);border-color:var(--color-white)}.btn-outline:focus-visible{outline:3px solid var(--color-white);outline-offset:2px}.btn-ghost{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-ghost:hover{background:var(--color-primary);color:var(--color-white)}.btn-ghost:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:.75rem;font-weight:500;font-family:var(--font-body)}.badge-active{background:#1b5e351f;color:var(--color-primary)}.badge-answered{background:#2e7d4f1f;color:var(--color-answered)}.badge-ongoing{background:#c0622a1f;color:var(--color-ongoing)}.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;font-size:.7rem;font-weight:600;background:var(--color-secondary);color:var(--color-text);line-height:1}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.animate-fade-up{animation:fadeInUp .6s ease-out both}.animate-fade{animation:fadeIn .5s ease-out both}.animate-slide-left{animation:slideInLeft .4s ease-out both}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}.delay-4{animation-delay:.4s}.delay-5{animation-delay:.5s}.delay-6{animation-delay:.6s}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.lang-selector{display:flex;align-items:center;gap:2px;background:var(--color-surface-warm);border:1px solid var(--color-border);border-radius:20px;padding:3px 6px}.lang-btn{background:none;border:none;cursor:pointer;font-size:.75rem;font-weight:600;letter-spacing:.06em;color:var(--color-text-muted);padding:3px 8px;border-radius:14px;transition:all var(--transition-fast);line-height:1}.lang-btn:hover{color:var(--color-primary)}.lang-btn-active{background:var(--color-primary);color:#fff!important}.lang-divider{color:var(--color-border);font-size:.7rem;-webkit-user-select:none;user-select:none}
