*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,sans-serif;background:#f0f4f2;color:#14231e}button{font:inherit}header{height:72px;background:#0c1b15;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:5}.club-brand{display:flex;align-items:center;gap:12px;color:white;text-decoration:none}.club-brand>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#63c886;color:#092015;font-weight:900}.club-brand b,.club-brand small{display:block}.club-brand small{font-size:11px;color:#8fac9e}.role-switch{background:#172a22;border-radius:12px;padding:4px;display:flex}.role-switch button{border:0;background:transparent;color:#93aa9f;padding:9px 15px;border-radius:9px;cursor:pointer}.role-switch button.active{background:#e2f8e9;color:#123b26}.exit{color:#bed0c7;font-size:13px}.demo-shell{display:grid;grid-template-columns:235px 1fr;min-height:calc(100vh - 72px)}aside{background:#14251e;padding:25px 16px;color:#b5c8bf}aside .profile{padding:14px;background:#1c3028;border-radius:14px;margin-bottom:22px}.profile b,.profile small{display:block}.profile small{font-size:11px;color:#80998e;margin-top:4px}aside nav{display:grid;gap:5px}aside nav button{border:0;background:transparent;color:#95aca1;text-align:left;padding:11px;border-radius:9px;cursor:pointer}aside nav button.active,aside nav button:hover{background:#234034;color:#d8f3e2}main{padding:30px;max-width:1400px;width:100%}.topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.topline h1{font-size:28px;margin:5px 0}.topline small{color:#72847c}.primary{background:#1f8b50;color:white;border:0;border-radius:10px;padding:11px 15px;cursor:pointer}.secondary{background:white;border:1px solid #ccd8d2;border-radius:10px;padding:10px 14px;cursor:pointer}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{background:white;border:1px solid #dfe7e3;border-radius:18px;padding:20px;box-shadow:0 8px 25px rgba(21,42,32,.04)}.stat small{color:#76877f}.stat strong{display:block;font-size:30px;margin:9px 0}.stat em{font-style:normal;color:#378456;font-size:12px}.wide{grid-column:span 2}.full{grid-column:1/-1}.member-card{background:linear-gradient(135deg,#185f3b,#103624);color:white;border-radius:22px;padding:25px;min-height:260px;position:relative}.member-card .qr{font-size:100px;line-height:1;margin-top:28px}.member-card .active-badge{position:absolute;right:22px;bottom:22px;background:#c9f3d6;color:#164428;padding:7px 11px;border-radius:20px;font-size:12px}.list{display:grid}.list-row{display:grid;grid-template-columns:1fr auto;align-items:center;padding:14px 0;border-bottom:1px solid #edf1ef}.list-row:last-child{border:0}.list-row b,.list-row small{display:block}.list-row small{color:#788a82;margin-top:4px}.pill{font-size:11px;padding:5px 9px;border-radius:20px;background:#e3f4e8;color:#28623c}.pill.warn{background:#fff1d6;color:#885d15}.scan-box{border:2px dashed #9ab5a8;border-radius:20px;padding:35px;text-align:center;background:#f7faf8}.scanner{width:220px;height:220px;margin:20px auto;border:3px solid #2fa464;border-radius:20px;position:relative;background:repeating-linear-gradient(45deg,#eef5f1,#eef5f1 10px,#f8fbf9 10px,#f8fbf9 20px)}.scanner:after{content:'';position:absolute;left:10px;right:10px;top:50%;height:2px;background:#df4e4e;box-shadow:0 0 12px #df4e4e}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{display:grid;gap:6px;font-size:12px}.form-grid input,.form-grid select,.form-grid textarea{padding:11px;border:1px solid #cedad4;border-radius:9px}.chart{height:210px;display:flex;align-items:end;gap:12px;padding-top:25px}.chart span{flex:1;background:linear-gradient(#59bd7c,#1f7b48);border-radius:7px 7px 0 0;position:relative}.chart span:after{content:attr(data-label);position:absolute;bottom:-22px;left:50%;transform:translateX(-50%);font-size:10px;color:#76877f}.toast{position:fixed;right:24px;top:88px;background:#112b20;color:white;padding:13px 18px;border-radius:12px;z-index:20;opacity:0;transform:translateY(-10px);transition:.2s}.toast.show{opacity:1;transform:none}@media(max-width:800px){header{padding:0 12px}.club-brand small,.exit{display:none}.role-switch button{padding:8px}.demo-shell{grid-template-columns:1fr}aside{display:none}main{padding:18px}.grid{grid-template-columns:1fr}.wide,.full{grid-column:auto}.form-grid{grid-template-columns:1fr}}