@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@500;600;700;800&display=swap');
:root{--navy:#111a35;--blue:#263f83;--gold:#f4b942;--ink:#172033;--muted:#667085;--bg:#f6f8fc;--white:#fff;--line:#e7eaf1}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}.topbar{height:auto;min-height:78px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:14px max(5%,calc((100% - 1180px)/2));box-shadow:0 2px 18px #111a350b;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:10px;font-family:Manrope;font-weight:800;color:var(--navy);font-size:17px}.brand-mark{width:40px;height:40px;border-radius:13px;background:var(--gold);display:grid;place-items:center;color:var(--navy);font-size:22px}.nav{display:flex;align-items:center;gap:22px;font-size:13px;font-weight:700}.nav a:hover{color:#b77b00}.nav-cta,.btn{background:var(--navy);color:#fff!important;padding:12px 17px;border-radius:10px;display:inline-block;font-weight:700;border:0;cursor:pointer}.btn.gold{background:var(--gold);color:var(--navy)!important}.menu-toggle{display:none;background:none;border:0;font-size:25px}.container{width:min(1120px,90%);margin:auto}.hero{background:linear-gradient(115deg,#111a35ed,#263f83d9),url('https://images.unsplash.com/photo-1529156069898-49953e39b3ac?auto=format&fit=crop&w=1800&q=85') center/cover;color:#fff;padding:105px 0 100px}.hero h1{font:800 clamp(38px,6vw,68px)/1.08 Manrope;max-width:760px;margin:12px 0}.hero p{max-width:600px;color:#e4e9f5;font-size:18px}.eyebrow{color:var(--gold);font-weight:800;letter-spacing:2px;text-transform:uppercase;font-size:12px}.section{padding:68px 0}.section h2,.page-hero h1{font:800 clamp(28px,4vw,42px) Manrope;color:var(--navy);margin:0 0 12px}.lead{color:var(--muted);max-width:720px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:25px;box-shadow:0 8px 30px #14244b08}.card h3{font:700 19px Manrope;color:var(--navy);margin:8px 0}.icon{width:46px;height:46px;border-radius:14px;background:#fff4d9;display:grid;place-items:center;font-size:22px}.page-hero{background:#eef2fb;padding:55px 0}.page-hero p{color:var(--muted)}.form-wrap{max-width:760px;margin:35px auto;background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(20px,4vw,38px);box-shadow:0 12px 40px #14244b0b}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{margin-bottom:17px}.field.full{grid-column:1/-1}label{display:block;font-size:13px;font-weight:700;margin-bottom:7px;color:#344054}input,select,textarea{width:100%;border:1px solid #d8deea;border-radius:10px;padding:13px 14px;font:inherit;background:#fff;color:var(--ink)}textarea{min-height:110px;resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid #f4b94244;border-color:#d69a20}.hint{font-size:12px;color:var(--muted)}.notice{padding:14px 16px;background:#f0f6ff;border:1px solid #dce8ff;border-radius:12px;color:#284477;font-size:13px;margin:15px 0}.success{padding:16px;background:#ecfdf3;border:1px solid #abefc6;color:#067647;border-radius:12px}.zone-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.zone-item{padding:14px;background:#fff;border:1px solid var(--line);border-radius:10px;font-weight:600;font-size:14px}.footer{background:var(--navy);color:#fff;padding:38px max(5%,calc((100% - 1120px)/2));display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}.footer p{color:#c6cee0;margin:5px 0}.muted{color:var(--muted)}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px}table{width:100%;border-collapse:collapse;min-width:700px}th,td{text-align:left;padding:13px 15px;border-bottom:1px solid var(--line);font-size:13px}th{background:#f8f9fc;color:#475467}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.stat{background:#fff;border:1px solid var(--line);padding:20px;border-radius:15px}.stat strong{display:block;font:800 30px Manrope;color:var(--navy)}.adminbar{background:var(--navy);padding:14px 5%;color:#fff;display:flex;justify-content:space-between;align-items:center}.adminbar a{margin-left:15px;font-size:13px}.admin-main{width:min(1200px,92%);margin:30px auto}.pill{padding:5px 9px;border-radius:30px;background:#ecfdf3;color:#067647;font-size:11px;font-weight:700}.btn-small{padding:8px 11px;border-radius:8px;background:#edf1fa;color:var(--navy);font-size:12px;font-weight:700;border:0;cursor:pointer}.alert{padding:12px 14px;border-radius:10px;background:#fff1f0;color:#b42318;margin:12px 0}
@media(max-width:850px){.menu-toggle{display:block}.nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;padding:20px 5%;flex-direction:column;align-items:stretch;box-shadow:0 10px 20px #0001}.nav.open{display:flex}.cards{grid-template-columns:1fr 1fr}.stat-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.hero{padding:75px 0}.cards,.form-grid,.zone-list{grid-template-columns:1fr}.stat-grid{grid-template-columns:1fr 1fr}.footer{display:block}.footer div+div{margin-top:20px}}

.site-logo{display:block;width:190px;max-height:58px;object-fit:contain}.brand{min-width:0}
@media(max-width:560px){.site-logo{width:155px;max-height:50px}}

.profile-placeholder{width:150px;height:150px;border-radius:50%;margin:0 auto 20px;display:grid;place-items:center;background:linear-gradient(135deg,#172554,#2563eb);color:#fff;font-size:2.3rem;font-weight:800;letter-spacing:2px;border:5px solid #e7ecff}
.notice{padding:16px 18px;border-radius:14px;background:#fff7df;border:1px solid #f0d58a;color:#694b08;line-height:1.6}

/* Admin dashboard refresh */
.admin-shell{min-height:100vh;background:#f4f6fb;display:flex;color:#172033;font-family:'DM Sans',sans-serif}
.admin-sidebar{width:255px;flex:0 0 255px;background:#101a36;color:#dce5ff;padding:24px 16px;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh}
.admin-brand{display:flex;align-items:center;gap:11px;padding:0 8px 28px;color:#fff;font:800 16px Manrope}
.admin-brand img{width:54px;height:54px;object-fit:contain;background:#fff;border-radius:12px;padding:3px}
.admin-brand small{display:block;color:#9eafd8;font:700 9px 'DM Sans',sans-serif;letter-spacing:1.5px;margin-top:4px}
.admin-nav-label{font-size:10px;letter-spacing:1.8px;color:#8292bc;font-weight:800;padding:10px 12px}
.admin-sidebar>a:not(.admin-brand),.admin-sidebar-bottom a{display:flex;align-items:center;gap:13px;padding:12px 14px;margin:3px 0;border-radius:10px;color:#cbd5ee;font-size:13px;font-weight:600;transition:.2s}
.admin-sidebar>a:hover,.admin-sidebar-bottom a:hover{background:#24345f;color:#fff}
.admin-sidebar-bottom{margin-top:auto;border-top:1px solid #29375c;padding-top:14px}
.admin-content{min-width:0;flex:1}
.admin-topbar{height:78px;background:#fff;border-bottom:1px solid #e7eaf1;display:flex;align-items:center;justify-content:space-between;padding:0 34px}
.admin-topbar strong{display:block;font:800 14px Manrope;color:#17264b;letter-spacing:.4px}
.admin-top-eyebrow{display:block;color:#8792aa;font-size:9px;letter-spacing:1.7px;font-weight:800}
.admin-user{background:#f0f3fa;border-radius:30px;padding:9px 15px;font-size:12px;font-weight:700;color:#263f83}
.admin-main{width:auto;max-width:1450px;margin:0 auto;padding:32px 34px}
.admin-main h1{font:800 clamp(25px,3vw,34px) Manrope;color:#142044;margin:0 0 5px}
.admin-main>.muted{margin:0 0 25px}
.admin-main .stat-grid{gap:18px}
.admin-main .stat{position:relative;overflow:hidden;min-height:125px;padding:20px 22px;border:1px solid #e8ebf3;box-shadow:0 8px 24px #16234a08;font-size:12px;font-weight:700;color:#69758e}
.admin-main .stat:after{content:'';position:absolute;width:5px;left:0;top:0;bottom:0;background:#e9b63f}
.admin-main .stat:nth-child(2):after{background:#16a477}.admin-main .stat:nth-child(3):after{background:#e07878}.admin-main .stat:nth-child(4):after{background:#6685d8}
.admin-main .stat strong{font-size:34px;margin-top:10px;line-height:1.1}
.admin-main .section{padding-top:38px}
.admin-main .section h2{font-size:22px!important}
.admin-main .table-wrap{box-shadow:0 8px 24px #16234a08}
.admin-main table{min-width:760px}
.admin-main th{font-size:11px;text-transform:uppercase;letter-spacing:.6px;padding:15px;color:#68748c}
.admin-main td{padding:15px;font-size:12px}
.admin-main tr:last-child td{border-bottom:0}
.adminbar{display:none}
@media(max-width:850px){.admin-sidebar{width:76px;flex-basis:76px;padding:18px 9px}.admin-brand{justify-content:center;padding:0 0 25px}.admin-brand img{width:48px;height:48px}.admin-brand span,.admin-nav-label,.admin-sidebar a span{display:none}.admin-sidebar>a:not(.admin-brand),.admin-sidebar-bottom a{justify-content:center;padding:14px 8px;font-size:18px}.admin-main{padding:25px 18px}.admin-topbar{padding:0 20px}}
@media(max-width:560px){.admin-sidebar{width:58px;flex-basis:58px;padding:14px 5px}.admin-brand img{width:42px;height:42px}.admin-main{padding:22px 13px}.admin-main .stat-grid{grid-template-columns:1fr 1fr;gap:10px}.admin-main .stat{padding:15px;min-height:105px}.admin-main .stat strong{font-size:27px}.admin-topbar{height:66px;padding:0 13px}.admin-user{font-size:10px;padding:7px 10px}}

.qr-register-section{background:#f4f6fb}
.qr-register-layout{display:grid;grid-template-columns:1fr 260px;gap:40px;align-items:center}
.qr-card{background:#fff;border:1px solid #e6eaf2;border-radius:20px;padding:22px;display:flex;flex-direction:column;align-items:center;gap:12px;box-shadow:0 12px 35px #17255412;text-align:center}
.qr-card img{width:200px;height:200px;object-fit:contain}
.qr-card a,.retreat-share-qr a{font-size:13px;font-weight:700;color:#1d4ed8}
.retreat-share-qr{display:flex;align-items:center;gap:18px;padding:18px;margin:22px 0;background:#f7f9fd;border:1px solid #e5eaf3;border-radius:16px}
.retreat-share-qr img{width:105px;height:105px;object-fit:contain;background:#fff;padding:5px;border-radius:8px}
@media(max-width:650px){.qr-register-layout{grid-template-columns:1fr}.qr-card{max-width:280px;margin:0 auto}.retreat-share-qr{align-items:flex-start}.retreat-share-qr img{width:90px;height:90px}}

.daddy-go-card{overflow:hidden}
.daddy-go-photo{display:block;width:100%;max-width:340px;height:auto;max-height:430px;object-fit:cover;object-position:center top;margin:0 auto 18px;border-radius:14px}
@media(max-width:700px){.daddy-go-photo{max-width:280px;max-height:360px}}
