.admin-login{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding:2rem;text-align:center}.admin-logo{width:180px;margin-bottom:.5rem}.admin-login h2{color:#ffda00;font-size:1.75rem;margin:0}.admin-login-form{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:320px}.admin-login-form input{background:#181818;border:2px solid #333;border-radius:8px;color:#fff;font-size:1rem;padding:.75rem 1rem;outline:none;transition:border-color .2s;text-align:center}.admin-login-form input:focus{border-color:#ffda00}.hidden{display:none!important}.admin-body{max-width:900px;margin:0 auto;padding:2.5rem 1.5rem 4rem;display:flex;flex-direction:column;gap:2rem}.admin-card{background:#111;border:1px solid #2a2a2a;border-radius:12px;padding:2rem}.admin-card h3{color:#ffda00;font-size:1.15rem;margin:0 0 .35rem}.admin-sub{color:#888;font-size:.875rem;margin:0 0 1.25rem}.block-date-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1.25rem}.admin-date-input{background:#181818;border:2px solid #333;border-radius:8px;color:#fff;font-size:.95rem;padding:.6rem .9rem;outline:none;transition:border-color .2s;flex:1;min-width:160px;color-scheme:dark}.admin-date-input:focus{border-color:#f09}.admin-btn-block{background:#f09;color:#fff;border:none;border-radius:8px;padding:.6rem 1.25rem;font-weight:700;cursor:pointer;font-size:.9rem;transition:opacity .15s;white-space:nowrap}.admin-btn-block:hover{opacity:.85}.blocked-list{display:flex;flex-wrap:wrap;gap:.5rem}.blocked-chip{display:flex;align-items:center;gap:.5rem;background:#1a0a0a;border:1px solid #550000;border-radius:6px;padding:.35rem .75rem;font-size:.85rem;color:#f66}.blocked-chip button{background:none;border:none;color:#f44;cursor:pointer;font-size:1rem;line-height:1;padding:0;transition:color .15s}.blocked-chip button:hover{color:#fff}.bookings-list{display:flex;flex-direction:column;gap:.75rem}.booking-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:.75rem;background:#181818;border:1px solid #2a2a2a;border-radius:8px;padding:1rem 1.25rem;align-items:center;font-size:.9rem}.booking-row .b-date{font-weight:700;color:#ffda00}.booking-row .b-type{color:#00f9ff}.booking-row .b-email{color:#aaa;word-break:break-all}.booking-row .b-amount{color:#00e676;font-weight:700;text-align:right}.booking-empty{color:#555;font-size:.9rem;text-align:center;padding:2rem 0}.nav-label{color:#ffda00;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.admin-logout{background:none;border:1px solid #444;color:#aaa;border-radius:6px;padding:4px 12px;font-size:.8rem;cursor:pointer;transition:border-color .15s,color .15s;font-family:Arial Black,sans-serif}.admin-logout:hover{border-color:#f09;color:#f09}.admin-btn-member{background:#ffda00;color:#000;border:none;border-radius:8px;padding:.6rem 1.25rem;font-weight:700;cursor:pointer;font-size:.9rem;transition:opacity .15s;white-space:nowrap}.admin-btn-member:hover{opacity:.85}.members-list{display:flex;flex-direction:column;gap:.6rem;margin-top:.5rem}.member-row{display:flex;align-items:center;gap:1rem;background:#181818;border:1px solid #2a2a2a;border-radius:8px;padding:.85rem 1.25rem;flex-wrap:wrap}.member-name{font-weight:700;color:#fff;font-size:.95rem;flex:1;min-width:140px}.member-programs{display:flex;gap:.4rem;flex-wrap:wrap}.program-badge{font-size:.75rem;font-weight:700;padding:.25rem .6rem;border-radius:5px;display:flex;align-items:center;gap:.3rem;letter-spacing:.03em}.badge-avail{background:#0a2a0a;border:1px solid #00c853;color:#00e676}.badge-used{background:#1a1a00;border:1px solid #555;color:#888;text-decoration:line-through}.badge-reset{background:none;border:none;color:#ffda00;cursor:pointer;font-size:.9rem;padding:0;line-height:1;text-decoration:none}.badge-reset:hover{color:#fff}.member-remove-btn{background:none;border:1px solid #440000;color:#f44;border-radius:6px;padding:.3rem .7rem;font-size:.8rem;cursor:pointer;transition:border-color .15s,color .15s;white-space:nowrap}.member-remove-btn:hover{border-color:#f44;color:#fff}@media(max-width:640px){.booking-row{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.booking-row .b-amount{text-align:left}.member-row{flex-direction:column;align-items:flex-start}}
