*{margin:0;padding:0;box-sizing:border-box}
:root{--navy:#0b2a4a;--blue:#1877c9;--sky:#37b6ff;--gold:#ffb703;--ink:#12212e;--mut:#5c6b7a;--bg:#eef4fb;--line:#dde8f4;
--m-pathfinders:#1877c9;--m-adventurers:#e8590c;--m-master_guides:#7048e8;--m-young_adult:#0ca678;--m-pbe:#c2255c;--m-camp:#e0a800;--m-all:#5c6b7a}
body{font-family:'Inter',sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--blue);text-decoration:none}h1,h2,h3,.side-brand{font-family:'Poppins',sans-serif}
/* login */
.login-body{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#0b2a4a,#1877c9)}
.login-card{background:#fff;padding:38px;border-radius:16px;width:360px;box-shadow:0 20px 60px rgba(0,0,0,.3);text-align:center}
.login-logo{height:54px;width:auto;margin:0 auto 14px;display:block}
.login-card h1{font-size:1.4rem;color:var(--navy);margin-bottom:18px}
.login-card label{display:block;text-align:left;font-size:.82rem;font-weight:600;color:var(--mut);margin-bottom:12px}
.login-card input{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:9px;margin-top:4px;font-size:.92rem}
.login-card button{width:100%;background:var(--gold);color:var(--navy);border:none;padding:12px;border-radius:9px;font-weight:700;font-size:.95rem;cursor:pointer;margin-top:6px}
.back-site{display:inline-block;margin-top:16px;font-size:.85rem;color:var(--mut)}
.flash{background:#fff3bf;color:#8a6d00;padding:10px 14px;border-radius:8px;margin-bottom:12px;font-size:.85rem}
.flash.err{background:#ffe3e3;color:#c92a2a}
/* layout */
.imp-banner{background:var(--gold);color:var(--navy);text-align:center;padding:8px;font-weight:600;font-size:.88rem}
.imp-banner a{color:var(--navy);text-decoration:underline;font-weight:700}
.adm{display:flex;min-height:100vh}
.side{width:230px;background:var(--navy);color:#cfe0f2;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.side-brand{display:flex;align-items:center;gap:8px;padding:18px;font-weight:800;color:#fff;border-bottom:1px solid rgba(255,255,255,.1)}
.side-brand img{height:30px}
.side nav{flex:1;padding:12px 0;overflow-y:auto}
.side nav a{display:block;padding:11px 20px;color:#cfe0f2;font-size:.9rem;font-weight:500;border-left:3px solid transparent}
.side nav a:hover{background:rgba(255,255,255,.06);color:#fff}
.side nav a.on{background:rgba(55,182,255,.15);color:#fff;border-left-color:var(--sky)}
.side-group{padding:14px 20px 6px;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:#5f7ea0;font-weight:700}
.side-foot{padding:16px 20px;border-top:1px solid rgba(255,255,255,.1)}
.who{color:#fff;font-weight:600;font-size:.9rem}.who span{display:block;font-size:.72rem;color:#7f9cbd;text-transform:capitalize}
.logout{display:inline-block;margin-top:10px;color:#ff8787;font-size:.82rem}.viewsite{display:block;margin-top:6px;color:var(--sky);font-size:.82rem}
.main{flex:1;padding:30px 34px;max-width:1100px}
.main h1{color:var(--navy);font-size:1.7rem;margin-bottom:4px}
.sub{color:var(--mut);margin-bottom:20px}
.neitag{background:#7048e8;color:#fff;font-size:.6rem;padding:3px 8px;border-radius:10px;vertical-align:middle;font-family:'Inter';text-transform:uppercase;letter-spacing:.05em}
/* stats */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin-bottom:24px}
.stat{background:#fff;border-radius:12px;padding:18px;box-shadow:0 4px 14px rgba(11,42,74,.06)}
.stat .n{font-family:'Poppins';font-size:2rem;font-weight:800;color:var(--blue)}
.stat .l{color:var(--mut);font-size:.82rem}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:20px}
.panel{background:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 14px rgba(11,42,74,.06);margin-bottom:18px}
.panel h2{font-size:1.05rem;color:var(--navy);margin-bottom:12px}
.mini{list-style:none}.mini li{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line);font-size:.9rem}.mini li span{color:var(--mut);font-size:.8rem}
.empty{color:var(--mut);font-size:.88rem}
/* tables */
.tbl{width:100%;border-collapse:collapse;font-size:.88rem}
.tbl th{text-align:left;color:var(--mut);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;padding:8px 10px;border-bottom:2px solid var(--line)}
.tbl td{padding:10px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl.big td{padding:12px 10px}
.tbl small{color:var(--mut)}
.nowrap{white-space:nowrap}
.badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:.72rem;font-weight:700;background:#e9ecef;color:#495057;text-transform:capitalize}
.badge.confirmed{background:#d3f9d8;color:#2b8a3e}.badge.waitlist{background:#fff3bf;color:#8a6d00}.badge.pending{background:#e7f5ff;color:#1971c2}.badge.warn{background:#fff3bf;color:#8a6d00}
.mchip{padding:3px 10px;border-radius:12px;font-size:.72rem;font-weight:700;color:#fff;background:var(--m-all)}
.m-pathfinders{background:var(--m-pathfinders)}.m-adventurers{background:var(--m-adventurers)}.m-master_guides{background:var(--m-master_guides)}
.m-young_adult{background:var(--m-young_adult)}.m-pbe{background:var(--m-pbe)}.m-camp{background:var(--m-camp)}
.acts a,.linkbtn{margin-right:10px;font-size:.82rem;color:var(--blue);background:none;border:none;cursor:pointer;font-family:inherit;padding:0}
.formpill{display:inline-block;background:#d3f9d8;color:#2b8a3e;padding:2px 8px;border-radius:10px;font-size:.72rem;font-weight:600;margin:2px}
/* buttons / forms */
.btn{display:inline-block;background:var(--gold);color:var(--navy);padding:9px 18px;border-radius:9px;font-weight:700;font-size:.88rem;border:none;cursor:pointer}
.btn.ghost{background:transparent;border:2px solid var(--blue);color:var(--blue)}
.head-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.quick{display:flex;gap:12px;margin-top:10px}
.eform,.evpick{background:#fff;border-radius:12px;padding:22px;box-shadow:0 4px 14px rgba(11,42,74,.06);max-width:760px}
.eform label,.evpick label{display:block;font-size:.82rem;font-weight:600;color:var(--mut);margin-bottom:12px}
.eform input,.eform select,.eform textarea,.evpick select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:9px;margin-top:4px;font-size:.9rem;font-family:inherit}
.eform textarea{min-height:70px}.eform .row{display:flex;gap:14px;flex-wrap:wrap}.eform .row label{flex:1;min-width:150px}
.fbtns{display:flex;gap:10px;margin-top:8px}
.evpick{margin-bottom:18px;max-width:420px}
.regtitle{color:var(--navy);margin-bottom:14px}
@media(max-width:820px){.side{width:64px}.side-brand span,.side nav a,.side-group,.side-foot .who,.side-foot a{font-size:0;}.cols{grid-template-columns:1fr}}

/* inline tier edit rows */
.tier-edit{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:8px}
.tier-edit .te-thumb{width:40px;height:40px;object-fit:cover;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#eef4fb;font-size:1.1rem;flex-shrink:0}
.tier-edit input{padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:.86rem;font-family:inherit}
.te-label{flex:1;min-width:120px;font-weight:600}
.te-num{width:80px}
.te-url{flex:1;min-width:140px}
.te-desc{flex:2;min-width:160px}
.te-sold{font-size:.76rem;color:var(--mut);white-space:nowrap}
.te-save{padding:8px 16px}
.te-del{color:#c92a2a}
