:root{--base-1:#b5b5b5;--base-2:#dcdcdc;--base-3:#fff;--accent-1:#e699b5;--accent-2:#f2c7da;--accent-3:#99c2a2;--text:#2a2a2a;--text-muted:#6e6e6e;--border:#dcdcdc;--shadow:0 1px 2px rgba(0,0,0,.04),0 8px 24px rgba(0,0,0,.05);--radius:14px}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--base-3);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}.container{max-width:1180px;margin:0 auto;padding:0 24px}.site-header{border-bottom:1px solid var(--border);background:var(--base-3);position:-webkit-sticky;position:sticky;top:0;z-index:30}.site-header__inner{display:flex;align-items:center;justify-content:space-between;padding:18px 0}.logo{font-weight:700;font-size:1.2rem;letter-spacing:.04em}.logo span{color:var(--accent-1)}.nav{display:flex;gap:28px;align-items:center}.nav a{font-size:.95rem;color:var(--text-muted);transition:color .15s}.nav a.active,.nav a:hover{color:var(--text)}.hero{position:relative;padding:90px 0 70px;background:linear-gradient(135deg,var(--accent-2) 0,var(--base-2) 60%,var(--base-3) 100%);overflow:hidden}.hero:before{content:"";position:absolute;top:-120px;right:-120px;width:320px;height:320px;background:var(--accent-1);opacity:.35;border-radius:50%;filter:blur(40px)}.hero__title{font-size:clamp(2rem,4vw,3.4rem);font-weight:700;letter-spacing:-.02em;max-width:720px}.hero__title em{font-style:normal;color:var(--accent-1)}.hero__sub{margin-top:18px;font-size:1.1rem;color:var(--text-muted);max-width:600px}.hero__actions{margin-top:32px;display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:999px;border:1px solid transparent;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,transform .05s;background:var(--base-3);color:var(--text);text-align:center}.btn:hover{background:var(--base-2)}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--accent-1);color:var(--base-3)}.btn--primary:hover{background:#d986a5}.btn--ghost{background:transparent;border-color:var(--text)}.btn--ghost:hover{background:var(--base-2)}.btn--small{padding:8px 14px;font-size:.9rem}.btn--danger{background:transparent;border-color:#d96666;color:#d96666}.btn--danger:hover{background:#fbeaea}.btn:disabled{opacity:.5;cursor:not-allowed}.section{padding:80px 0}.section--alt{background:var(--base-2)}.section__head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:32px;flex-wrap:wrap;gap:12px}.section__title{font-size:2rem;font-weight:700;letter-spacing:-.01em}.section__sub{color:var(--text-muted);margin-top:6px}.types{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px}@media (max-width:800px){.types{grid-template-columns:1fr}}.type-card{background:var(--base-3);border-radius:var(--radius);padding:32px;border:1px solid var(--border);position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s}.type-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.type-card__chip{display:inline-block;padding:4px 10px;border-radius:999px;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;background:var(--base-2);margin-bottom:16px}.type-card h3{font-size:1.4rem;margin-bottom:10px}.type-card p{color:var(--text-muted);margin-bottom:18px}.type-card__accent{position:absolute;top:-40px;right:-40px;width:140px;height:140px;border-radius:50%;opacity:.2}.class-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));grid-gap:18px;gap:18px}.class-card{background:var(--base-3);border:1px solid var(--border);border-radius:var(--radius);padding:22px;display:flex;flex-direction:column;gap:12px;transition:transform .15s,box-shadow .15s}.class-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.class-card__top{display:flex;justify-content:space-between;align-items:center}.chip{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:999px;font-weight:600}.chip--pilates{background:var(--accent-2);color:#80364f}.chip--burn-fat{background:var(--accent-3);color:#285935}.chip--stretching{background:var(--accent-1);color:var(--base-3)}.class-card h4{font-size:1.15rem;line-height:1.3}.class-card__meta{display:flex;flex-direction:column;gap:4px;font-size:.92rem;color:var(--text-muted)}.class-card__meta strong{color:var(--text);font-weight:500}.class-card__footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:6px}.class-card__price{font-weight:700;font-size:1.05rem}.class-card__seats{font-size:.85rem;color:var(--text-muted)}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}.filters a{padding:8px 18px;border-radius:999px;background:var(--base-3);border:1px solid var(--border);font-size:.9rem;transition:background .15s,border-color .15s}.filters a:hover{background:var(--base-2)}.filters a.active{background:var(--accent-1);color:var(--base-3);border-color:var(--accent-1)}.class-detail{display:grid;grid-template-columns:1.4fr 1fr;grid-gap:40px;gap:40px}@media (max-width:900px){.class-detail{grid-template-columns:1fr}}.class-detail__info h1{font-size:2.2rem;font-weight:700;margin:10px 0 14px;letter-spacing:-.01em}.class-detail__info p{color:var(--text-muted);font-size:1.05rem}.facts{margin-top:28px;display:grid;grid-template-columns:repeat(2,1fr);grid-gap:14px;gap:14px}.fact{background:var(--base-2);padding:16px 18px;border-radius:var(--radius)}.fact span{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:4px}.fact strong{font-size:1.05rem}.booking-card{background:var(--base-3);border:1px solid var(--border);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);height:-moz-fit-content;height:fit-content;position:-webkit-sticky;position:sticky;top:96px}.booking-card h3{font-size:1.3rem;margin-bottom:6px}.booking-card__sub{color:var(--text-muted);font-size:.9rem;margin-bottom:18px}.booking-card__notice{background:var(--accent-2);border-radius:10px;padding:10px 14px;font-size:.85rem;margin-top:16px}.form{gap:14px}.field,.form{display:flex;flex-direction:column}.field{gap:6px}.field label{font-size:.85rem;color:var(--text-muted)}.field input,.field select,.field textarea{background:var(--base-3);border:1px solid var(--border);border-radius:10px;padding:11px 14px;outline:none;transition:border-color .15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent-1)}.field textarea{resize:vertical;min-height:80px}.form__row{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}@media (max-width:600px){.form__row{grid-template-columns:1fr}}.form__error{background:#fbeaea;color:#983333}.form__error,.form__success{padding:10px 14px;border-radius:10px;font-size:.9rem}.form__success{background:#e6f4e9;color:#285935}.site-footer{border-top:1px solid var(--border);padding:40px 0;color:var(--text-muted);font-size:.9rem;background:var(--base-3)}.site-footer__inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px}.admin-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}@media (max-width:800px){.admin-shell{grid-template-columns:1fr}}.admin-sidebar{background:var(--base-2);padding:28px 22px;border-right:1px solid var(--border)}.admin-sidebar__logo{font-weight:700;margin-bottom:28px;font-size:1.05rem}.admin-sidebar__logo span{color:var(--accent-1)}.admin-nav{display:flex;flex-direction:column;gap:4px}.admin-nav a{padding:10px 14px;border-radius:10px;font-size:.95rem;color:var(--text-muted);transition:background .15s,color .15s}.admin-nav a.active,.admin-nav a:hover{background:var(--base-3);color:var(--text)}.admin-nav a.active{font-weight:500}.admin-main{padding:36px 40px;background:var(--base-3)}.admin-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:28px;flex-wrap:wrap;gap:12px}.admin-header h1{font-size:1.8rem;font-weight:700}.table-wrap{background:var(--base-3);border:1px solid var(--border);border-radius:var(--radius);overflow:auto}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:14px 18px;border-bottom:1px solid var(--border);font-size:.94rem;vertical-align:middle}th{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:600;background:var(--base-2)}tr:last-child td{border-bottom:none}.table-actions{display:flex;gap:8px;justify-content:flex-end}.login-shell{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent-2),var(--base-2))}.login-card{background:var(--base-3);padding:40px;width:min(420px,92vw);border-radius:var(--radius);box-shadow:var(--shadow)}.login-card h1{font-size:1.6rem;margin-bottom:6px}.login-card p{color:var(--text-muted);margin-bottom:22px;font-size:.92rem}.modal-backdrop{position:fixed;inset:0;background:rgba(40,40,40,.4);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;z-index:100;padding:20px}.modal{background:var(--base-3);padding:32px;border-radius:var(--radius);width:min(560px,100%);max-height:90vh;overflow:auto;box-shadow:var(--shadow)}.modal h2{font-size:1.3rem;margin-bottom:16px}.modal__actions{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}.empty,.muted{color:var(--text-muted)}.empty{padding:60px 20px;text-align:center;background:var(--base-2);border-radius:var(--radius)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:16px;gap:16px;margin-bottom:28px}.stat{background:var(--base-2);padding:22px;border-radius:var(--radius)}.stat span{display:block;color:var(--text-muted);font-size:.85rem;margin-bottom:4px}.stat strong{font-size:1.8rem;font-weight:700}@media (max-width:900px){.section{padding:56px 0}.section__title{font-size:1.6rem}.container{padding:0 20px}.hero{padding:64px 0 56px}.booking-card{position:static}.class-detail__info h1{font-size:1.8rem}}@media (max-width:720px){body,html{font-size:15px}.container{padding:0 16px}.site-header__inner{flex-direction:column;align-items:center;gap:8px;padding:12px 0}.logo{font-size:1.05rem}.nav{gap:18px;overflow-x:auto;-webkit-overflow-scrolling:touch;justify-content:center;width:100%;padding-bottom:2px;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav a{white-space:nowrap;font-size:.88rem}.hero{padding:44px 0 40px}.hero__title{font-size:2rem}.hero__sub{font-size:1rem;margin-top:14px}.hero__actions{margin-top:22px}.hero__actions .btn{flex:1 1 auto;justify-content:center}.section{padding:44px 0}.section__head{flex-direction:column;align-items:flex-start}.section__title{font-size:1.4rem}.type-card{padding:24px}.type-card h3{font-size:1.2rem}.class-grid{grid-template-columns:1fr;gap:14px}.class-card{padding:18px}.class-detail{gap:24px}.class-detail__info h1{font-size:1.6rem}.facts{grid-template-columns:1fr 1fr;gap:10px}.fact{padding:12px 14px}.fact strong{font-size:.95rem}.booking-card{padding:22px}.btn{padding:11px 18px;font-size:.95rem}.site-footer{padding:28px 0}.site-footer__inner{flex-direction:column;align-items:flex-start}.admin-sidebar{padding:16px;border-right:none;border-bottom:1px solid var(--border)}.admin-sidebar__logo{margin-bottom:14px;font-size:.95rem}.admin-nav{flex-direction:row;flex-wrap:wrap;gap:6px}.admin-nav a{padding:8px 12px;font-size:.85rem}.admin-main{padding:24px 16px}.admin-header{align-items:flex-start;flex-direction:column}.admin-header h1{font-size:1.4rem}.stat{padding:16px}.stat strong{font-size:1.4rem}.table-wrap{border-radius:10px}table{min-width:560px}td,th{padding:10px 12px;font-size:.85rem}.modal{padding:22px;border-radius:12px}.modal h2{font-size:1.15rem}.modal__actions{flex-direction:column-reverse}.modal__actions .btn{width:100%;justify-content:center}.login-card{padding:28px 22px}.login-card h1{font-size:1.3rem}}@media (max-width:400px){.facts{grid-template-columns:1fr}.hero__title{font-size:1.7rem}.hero__actions{flex-direction:column}.hero__actions .btn{width:100%}.stat-grid{grid-template-columns:1fr 1fr}.filters a{padding:6px 14px;font-size:.82rem}.table-actions{flex-direction:column;gap:6px}.table-actions .btn{width:100%}}