:root{--bg: var(--tg-theme-bg-color, #f4f5f7);--surface: var(--tg-theme-secondary-bg-color, #ffffff);--text: var(--tg-theme-text-color, #1c1c1e);--muted: var(--tg-theme-hint-color, #8a8a8e);--accent: var(--tg-theme-button-color, #2f6fed);--accent-text: var(--tg-theme-button-text-color, #ffffff);--danger: #d9534f;--radius: 14px}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}.app{max-width:560px;margin:0 auto;padding:16px}.app__header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}.app__header h1{font-size:22px;margin:0}.app__user{color:var(--muted);font-size:14px}.tabs{display:flex;gap:8px;margin-bottom:16px}.tabs button{flex:1;padding:10px;border:none;border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:15px;cursor:pointer}.tabs button.active{background:var(--accent);color:var(--accent-text)}.search{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;margin-bottom:16px}label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}input{padding:10px;border:1px solid #dcdce0;border-radius:10px;font-size:15px;background:var(--surface);color:var(--text)}button{padding:10px 16px;border:none;border-radius:10px;background:var(--accent);color:var(--accent-text);font-size:15px;cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button.ghost{background:transparent;color:var(--accent)}button.ghost.danger,.danger{color:var(--danger)}.results{display:flex;flex-direction:column;gap:12px}.card{background:var(--surface);border-radius:var(--radius);padding:16px;box-shadow:0 1px 3px #0000000f}.card--soldout{opacity:.6}.card__head{display:flex;justify-content:space-between;align-items:baseline}.card__head h3{margin:0;font-size:18px}.card__price{font-weight:600}.card__price small{color:var(--muted);font-weight:400}.card__desc{color:var(--muted);font-size:14px;margin:8px 0}.card__meta{display:flex;justify-content:space-between;font-size:14px}.card__foot{display:flex;justify-content:space-between;align-items:center;margin-top:12px;gap:10px}.card__total{font-size:14px}.card__total small{color:var(--muted)}.badge{background:#e8f0ff;color:var(--accent);padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600}.badge--out,.badge--cancelled{background:#fde8e8;color:var(--danger)}.badge--confirmed{background:#e6f6ec;color:#1c8a4a}.badge--pending{background:#fff4e0;color:#b8860b}.hint{color:var(--muted);text-align:center;padding:32px 0}.error{color:var(--danger);font-size:14px}.bookings{display:flex;flex-direction:column;gap:12px}.booking{background:var(--surface);border-radius:var(--radius);padding:14px;box-shadow:0 1px 3px #0000000f}.booking__row{display:flex;justify-content:space-between;align-items:center;margin:4px 0}.booking__row--sub{color:var(--muted);font-size:13px}.booking--cancelled{opacity:.6}.modal__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:flex-end;justify-content:center;z-index:10}.modal{background:var(--bg);width:100%;max-width:560px;border-radius:18px 18px 0 0;padding:20px;display:flex;flex-direction:column;gap:12px}.modal h2{margin:0}.modal__dates{color:var(--muted);margin:0;font-size:14px}.modal__total{font-size:16px;padding-top:4px}.modal__actions{display:flex;gap:10px;justify-content:flex-end;margin-top:4px}@media(min-width:600px){.modal__backdrop{align-items:center}.modal{border-radius:18px}}
