*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--brand-bg, var(--tg-theme-bg-color, #ffffff));color:var(--brand-text, var(--tg-theme-text-color, #1a1a1a));min-height:100vh}.screen{padding:16px 16px 80px}.loading,.error{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:16px}.error{color:#ef4444;text-align:center;padding:24px}button{width:100%;padding:14px;border:none;border-radius:12px;background:var(--brand-primary, var(--tg-theme-button-color, #303030));color:var(--tg-theme-button-text-color, #ffffff);font-size:16px;font-weight:600;cursor:pointer;transition:opacity .15s}button:active{opacity:.8}button:disabled{opacity:.4;cursor:not-allowed}.nav-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.back-btn{width:36px;height:36px;padding:0;border-radius:8px;font-size:20px;flex-shrink:0;background:var(--tg-theme-secondary-bg-color, #f4f4f5);color:var(--tg-theme-text-color, #1a1a1a)}.nav-title{font-size:18px;font-weight:700}.welcome-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh;text-align:center;gap:8px}.studio-logo{width:80px;height:80px;border-radius:20px;object-fit:cover;margin-bottom:8px}.studio-name{font-size:24px;font-weight:700}.studio-city{font-size:15px;color:var(--tg-theme-hint-color, #888);margin-bottom:16px}.hall-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hall-card{border-radius:14px;overflow:hidden;background:var(--tg-theme-secondary-bg-color, #f4f4f5);cursor:pointer;transition:opacity .15s}.hall-card:active{opacity:.75}.hall-color-stripe{height:6px;width:100%}.hall-card-body{padding:12px}.hall-name{font-size:15px;font-weight:600;margin-bottom:6px}.hall-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px}.hall-price{font-size:13px;font-weight:500;color:var(--brand-accent, var(--tg-theme-button-color, #303030))}.hall-area{font-size:12px;color:var(--tg-theme-hint-color, #888)}.hall-features{font-size:12px;color:var(--tg-theme-hint-color, #888);margin-top:4px;line-height:1.4}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.month-nav{width:40px;padding:8px;font-size:20px;border-radius:8px;background:var(--tg-theme-secondary-bg-color, #f4f4f5);color:var(--tg-theme-text-color, #1a1a1a)}.month-label{font-size:16px;font-weight:600}.cal-loading{text-align:center;color:var(--tg-theme-hint-color, #888);padding:8px;font-size:13px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-day-name{text-align:center;font-size:12px;font-weight:500;color:var(--tg-theme-hint-color, #888);padding:4px 0}.cal-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:14px;border-radius:8px;cursor:pointer;transition:background .1s}.cal-cell.empty{cursor:default}.cal-cell.free:hover{background:var(--tg-theme-button-color, #303030);color:var(--tg-theme-button-text-color, #fff)}.cal-cell.past{color:var(--tg-theme-hint-color, #ccc);cursor:default}.cal-cell.busy{color:#ef4444;text-decoration:line-through;cursor:default}.cal-cell.closed{color:var(--tg-theme-hint-color, #ccc);cursor:default}.cal-legend{display:flex;gap:16px;margin-top:16px;font-size:12px;color:var(--tg-theme-hint-color, #888)}.legend-item.free{color:var(--tg-theme-text-color, #1a1a1a)}.legend-item.busy{color:#ef4444}.legend-item.closed{color:var(--tg-theme-hint-color, #ccc)}.date-subtitle{font-size:14px;color:var(--tg-theme-hint-color, #888);margin-bottom:16px}.section-label{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--tg-theme-hint-color, #888);margin-bottom:10px}.duration-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.dur-btn{width:auto;padding:8px 14px;font-size:14px;font-weight:500;border-radius:10px;background:var(--tg-theme-secondary-bg-color, #f4f4f5);color:var(--tg-theme-text-color, #1a1a1a)}.dur-btn.active{background:var(--tg-theme-button-color, #303030);color:var(--tg-theme-button-text-color, #fff)}.price-tag{font-size:20px;font-weight:700;margin-bottom:20px}.slots-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.slot-btn{width:auto;padding:12px 4px;font-size:14px;font-weight:500;border-radius:10px;background:var(--tg-theme-secondary-bg-color, #f4f4f5);color:var(--tg-theme-text-color, #1a1a1a)}.slot-btn.disabled{opacity:.35;cursor:not-allowed}.empty-slots{text-align:center;color:var(--tg-theme-hint-color, #888);padding:32px 16px;font-size:15px}.people-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.people-btn{padding:20px;font-size:22px;font-weight:700;border-radius:14px;background:var(--tg-theme-secondary-bg-color, #f4f4f5);color:var(--tg-theme-text-color, #1a1a1a)}.custom-btn{background:transparent;color:var(--tg-theme-link-color, #3b82f6);font-size:15px;font-weight:500;padding:12px}.custom-input-block{display:flex;flex-direction:column;gap:12px}.people-input{width:100%;padding:14px;border:1.5px solid var(--tg-theme-hint-color, #ccc);border-radius:12px;font-size:18px;text-align:center;background:transparent;color:var(--tg-theme-text-color, #1a1a1a)}.back-link{background:transparent;color:var(--tg-theme-hint-color, #888);font-size:14px;font-weight:400;padding:8px}.confirm-card,.success-card{background:var(--tg-theme-secondary-bg-color, #f4f4f5);border-radius:14px;padding:16px;margin-bottom:20px}.confirm-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(128,128,128,.1)}.confirm-row:last-child{border-bottom:none}.confirm-label{font-size:14px;color:var(--tg-theme-hint-color, #888)}.confirm-value{font-size:14px;font-weight:500}.section-block{margin-bottom:20px}.services-list{display:flex;flex-wrap:wrap;gap:8px}.service-chip{width:auto;padding:8px 14px;font-size:13px;font-weight:500;border-radius:20px;background:var(--tg-theme-secondary-bg-color, #f4f4f5);color:var(--tg-theme-text-color, #1a1a1a)}.service-chip.active{background:var(--tg-theme-button-color, #303030);color:var(--tg-theme-button-text-color, #fff)}.text-input{width:100%;padding:12px 14px;border:1.5px solid var(--tg-theme-hint-color, #e0e0e0);border-radius:12px;font-size:15px;background:transparent;color:var(--tg-theme-text-color, #1a1a1a);margin-bottom:10px;display:block}.notes-input{resize:vertical;font-family:inherit}.total-row{display:flex;justify-content:space-between;align-items:center;padding:16px 0;font-size:16px;font-weight:600;border-top:1.5px solid var(--tg-theme-hint-color, #e0e0e0);margin-bottom:16px}.total-price{font-size:20px}.field-error{color:#ef4444;font-size:13px;margin-bottom:12px}.confirm-btn{margin-bottom:12px}.payment-info{font-size:13px;color:var(--tg-theme-hint-color, #888);text-align:center;padding-top:4px}.hall-cover-wrap{position:relative;width:100%;height:120px;overflow:hidden}.hall-cover-img{width:100%;height:100%;object-fit:cover;display:block}.hall-more-photos{position:absolute;bottom:6px;right:6px;width:auto;padding:4px 8px;font-size:11px;font-weight:600;border-radius:8px;background:#0000008c;color:#fff;backdrop-filter:blur(4px)}.carousel{position:relative;border-radius:14px;overflow:hidden;background:#000}.carousel-img{width:100%;max-height:60vh;object-fit:contain;display:block}.carousel-dots{display:flex;justify-content:center;gap:6px;padding:10px 0 6px;background:#0006}.carousel-dot{width:8px;height:8px;border-radius:50%;background:#fff6;cursor:pointer;transition:background .15s}.carousel-dot.active{background:#fff}.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:auto;padding:8px 14px;font-size:28px;font-weight:300;border-radius:8px;background:#00000059;color:#fff;backdrop-filter:blur(4px)}.carousel-arrow.left{left:8px}.carousel-arrow.right{right:8px}.success-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh;text-align:center;gap:8px}.success-icon{font-size:64px;margin-bottom:8px}.success-title{font-size:22px;font-weight:700}.success-subtitle{font-size:14px;color:var(--tg-theme-hint-color, #888);margin-bottom:8px}.success-card{width:100%;text-align:left;margin:16px 0}.success-hint{font-size:13px;color:var(--tg-theme-hint-color, #888);margin-bottom:16px}body.theme-clean{font-family:-apple-system,SF Pro Display,Helvetica Neue,sans-serif;background:var(--brand-bg, #F7F7F7);color:var(--brand-text, #111827)}body.theme-clean button{border-radius:14px;background:var(--brand-primary, #2563EB);color:#fff;font-weight:600;box-shadow:0 1px 3px #2563eb33}body.theme-clean .back-btn{border-radius:10px;background:#eff6ff;color:#2563eb;border:none}body.theme-clean .hall-card{background:#fff;border-radius:14px;border:2px solid transparent;box-shadow:0 1px 3px #0000000f;transition:border-color .15s,box-shadow .15s}body.theme-clean .hall-card:active{border-color:var(--brand-accent, #2563EB)}body.theme-clean .confirm-card,body.theme-clean .success-card{background:#fff;border-radius:14px;border:1px solid #E5E7EB;box-shadow:0 1px 3px #0000000f}body.theme-clean .hall-price{color:var(--brand-accent, #2563EB);font-weight:600}body.theme-clean .cal-cell.sel{background:var(--brand-primary, #2563EB);color:#fff;border-radius:8px}body.theme-clean .cal-cell.free:hover{background:#eff6ff;color:var(--brand-primary, #2563EB)}body.theme-clean .slot-btn,body.theme-clean .dur-btn{background:#fff;border:1px solid #E5E7EB;border-radius:10px;box-shadow:0 1px 3px #0000000f}body.theme-clean .dur-btn.active,body.theme-clean .slot-btn:not(.disabled):active{background:var(--brand-primary, #2563EB);border-color:var(--brand-primary, #2563EB);color:#fff}body.theme-clean .people-btn{background:#fff;border:1px solid #E5E7EB;border-radius:14px;box-shadow:0 1px 3px #0000000f}body.theme-clean .service-chip{background:#eff6ff;color:var(--brand-primary, #2563EB);border-radius:20px}body.theme-clean .service-chip.active{background:var(--brand-primary, #2563EB);color:#fff}body.theme-clean .text-input,body.theme-clean .people-input{border-color:#e5e7eb;border-radius:12px;background:#fff}body.theme-studio{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;background:var(--brand-bg, #111111);color:var(--brand-text, #ffffff)}body.theme-studio h1,body.theme-studio h2,body.theme-studio h3,body.theme-studio .studio-name,body.theme-studio .nav-title{font-family:Georgia,Times New Roman,serif;font-weight:400;letter-spacing:-.3px}body.theme-studio button{border-radius:0;background:var(--brand-primary, #ffffff);color:#111;font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:13px}body.theme-studio .back-btn{border-radius:0;background:#1a1a1a;color:#fff;border:1px solid #333333}body.theme-studio .hall-card{background:#1a1a1a;border-radius:0;border:1px solid #333333}body.theme-studio .hall-card:active{border-color:#fff}body.theme-studio .confirm-card,body.theme-studio .success-card{background:#1a1a1a;border-radius:0;border:1px solid #333333}body.theme-studio .hall-price{color:var(--brand-accent, #ffffff)}body.theme-studio .hall-name,body.theme-studio .hall-features,body.theme-studio .hall-area{color:#ccc}body.theme-studio .cal-cell.sel{background:#fff;color:#111;border-radius:0}body.theme-studio .cal-cell.free:hover{background:#333;color:#fff}body.theme-studio .slot-btn,body.theme-studio .dur-btn{background:#1a1a1a;border:1px solid #333333;border-radius:0;color:#ccc}body.theme-studio .dur-btn.active{background:#fff;border-color:#fff;color:#111}body.theme-studio .people-btn{background:#1a1a1a;border:1px solid #333333;border-radius:0;color:#fff}body.theme-studio .service-chip{background:#1a1a1a;border:1px solid #333333;border-radius:0;color:#ccc}body.theme-studio .service-chip.active{background:#fff;color:#111}body.theme-studio .text-input,body.theme-studio .people-input{border-color:#333;border-radius:0;background:#1a1a1a;color:#fff}body.theme-studio .confirm-row{border-bottom-color:#333}body.theme-studio .total-row{border-top-color:#333}body.theme-mono{font-family:SF Mono,Menlo,Courier New,monospace;background:var(--brand-bg, #F2F2F0);color:var(--brand-text, #111111);font-size:14px;line-height:1.6}body.theme-mono h1,body.theme-mono h2,body.theme-mono h3,body.theme-mono .studio-name,body.theme-mono .nav-title{font-family:Georgia,Times New Roman,serif;font-weight:700;letter-spacing:-1px}body.theme-mono button{border-radius:0;background:#111;color:#f2f2f0;font-family:SF Mono,Menlo,monospace;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border:2px solid #111111}body.theme-mono .back-btn{background:transparent;color:#111;border:2px solid #111111;font-size:16px}body.theme-mono .hall-card{background:#fff;border-radius:0;border:2px solid #111111;box-shadow:3px 3px #111}body.theme-mono .hall-card:active{box-shadow:none;transform:translate(3px,3px)}body.theme-mono .confirm-card,body.theme-mono .success-card{background:#fff;border-radius:0;border:2px solid #111111}body.theme-mono .hall-price{color:#111;font-family:SF Mono,monospace;font-weight:700}body.theme-mono .cal-cell.sel{background:#111;color:#f2f2f0;border-radius:0}body.theme-mono .cal-cell.free:hover{background:#111;color:#f2f2f0}body.theme-mono .slot-btn,body.theme-mono .dur-btn{background:#fff;border:2px solid #111111;border-radius:0;font-family:SF Mono,monospace;font-size:12px}body.theme-mono .dur-btn.active{background:#111;color:#f2f2f0}body.theme-mono .people-btn{background:#fff;border:2px solid #111111;border-radius:0;font-family:SF Mono,monospace}body.theme-mono .service-chip{background:#fff;border:2px solid #111111;border-radius:0;font-family:SF Mono,monospace;font-size:11px}body.theme-mono .service-chip.active{background:#111;color:#f2f2f0}body.theme-mono .text-input,body.theme-mono .people-input{border:2px solid #111111;border-radius:0;background:#fff;font-family:SF Mono,monospace}body.theme-mono .section-label{font-family:SF Mono,monospace;font-size:10px;letter-spacing:.1em;border-bottom:2px solid #111111;padding-bottom:4px}body.theme-mono .confirm-row{border-bottom-color:#111}body.theme-mono .total-row{border-top:2px solid #111111}body.theme-sand{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--brand-bg, #F6F1EB);color:var(--brand-text, #2B2520)}body.theme-sand h1,body.theme-sand h2,body.theme-sand h3,body.theme-sand .studio-name,body.theme-sand .nav-title{font-family:Georgia,Times New Roman,serif;font-weight:700;letter-spacing:.5px}body.theme-sand button{border-radius:50px;background:var(--brand-primary, #8B6D47);color:#fff;font-weight:600;letter-spacing:.02em}body.theme-sand .back-btn{border-radius:50%;background:#8b6d471f;color:var(--brand-primary, #8B6D47);border:none}body.theme-sand .hall-card{background:#fff;border-radius:16px;border:1px solid rgba(139,109,71,.15);box-shadow:0 2px 8px #2b25200f}body.theme-sand .hall-card:active{border-color:var(--brand-accent, #8B6D47);box-shadow:0 0 0 2px #8b6d4733}body.theme-sand .confirm-card,body.theme-sand .success-card{background:#fff;border-radius:16px;border:1px solid rgba(139,109,71,.15)}body.theme-sand .hall-price{color:var(--brand-accent, #8B6D47);font-family:Georgia,serif;font-style:italic;font-weight:400}body.theme-sand .hall-area,body.theme-sand .hall-features{color:#8b7355}body.theme-sand .cal-cell.sel{background:var(--brand-primary, #8B6D47);color:#fff;border-radius:50%}body.theme-sand .cal-cell.free:hover{background:#8b6d471f;color:var(--brand-primary, #8B6D47);border-radius:50%}body.theme-sand .slot-btn,body.theme-sand .dur-btn{background:#fff;border:1px solid rgba(139,109,71,.2);border-radius:50px;color:#2b2520}body.theme-sand .dur-btn.active{background:var(--brand-primary, #8B6D47);border-color:var(--brand-primary, #8B6D47);color:#fff}body.theme-sand .people-btn{background:#fff;border:1px solid rgba(139,109,71,.2);border-radius:14px}body.theme-sand .service-chip{background:#8b6d471a;color:var(--brand-primary, #8B6D47);border-radius:50px}body.theme-sand .service-chip.active{background:var(--brand-primary, #8B6D47);color:#fff}body.theme-sand .text-input,body.theme-sand .people-input{border-color:#8b6d4740;border-radius:12px;background:#fff}body.theme-sand .confirm-row{border-bottom-color:#8b6d471a}body.theme-sand .total-row{border-top-color:#8b6d4733}body.theme-slate{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--brand-bg, #1E2128);color:var(--brand-text, #E8EAED)}body.theme-slate button{border-radius:10px;background:var(--brand-primary, #5BC4BE);color:#0f1318;font-weight:700}body.theme-slate .back-btn{border-radius:8px;background:#262a33;color:var(--brand-accent, #5BC4BE);border:1px solid #363B47}body.theme-slate .hall-card{background:#262a33;border-radius:10px;border:1px solid #363B47;transition:border-color .15s}body.theme-slate .hall-card:active{border-color:var(--brand-accent, #5BC4BE)}body.theme-slate .confirm-card,body.theme-slate .success-card{background:#262a33;border-radius:10px;border:1px solid #363B47}body.theme-slate .hall-price{color:var(--brand-accent, #5BC4BE);font-weight:600}body.theme-slate .hall-area,body.theme-slate .hall-features{color:#8b919d}body.theme-slate .hall-color-stripe{height:100%;width:3px;position:absolute;left:0;top:0;background:var(--brand-accent, #5BC4BE);border-radius:0}body.theme-slate .hall-card{position:relative;padding-left:4px;overflow:hidden}body.theme-slate .cal-cell.sel{background:var(--brand-primary, #5BC4BE);color:#0f1318;border-radius:8px}body.theme-slate .cal-cell.free:hover{background:#5bc4be26;color:var(--brand-primary, #5BC4BE)}body.theme-slate .cal-day-name{color:#8b919d}body.theme-slate .slot-btn,body.theme-slate .dur-btn{background:#262a33;border:1px solid #363B47;border-radius:8px;color:#e8eaed}body.theme-slate .dur-btn.active{background:var(--brand-primary, #5BC4BE);border-color:var(--brand-primary, #5BC4BE);color:#0f1318}body.theme-slate .people-btn{background:#262a33;border:1px solid #363B47;border-radius:10px;color:#e8eaed}body.theme-slate .service-chip{background:#5bc4be1f;color:var(--brand-accent, #5BC4BE);border-radius:8px}body.theme-slate .service-chip.active{background:var(--brand-primary, #5BC4BE);color:#0f1318}body.theme-slate .text-input,body.theme-slate .people-input{border-color:#363b47;border-radius:10px;background:#262a33;color:#e8eaed}body.theme-slate .confirm-row{border-bottom-color:#363b47}body.theme-slate .total-row{border-top-color:#363b47}body.theme-slate .section-label,body.theme-slate .confirm-label{color:#8b919d}
