@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--tg-bg: var(--tg-theme-bg-color, #1a1a2e);--tg-secondary-bg: var(--tg-theme-secondary-bg-color, #16213e);--tg-text: var(--tg-theme-text-color, #eaeaea);--tg-hint: var(--tg-theme-hint-color, #7f8ea3);--tg-link: var(--tg-theme-link-color, #6c9bff);--tg-button: var(--tg-theme-button-color, #3b82f6);--tg-button-text: var(--tg-theme-button-text-color, #ffffff);--accent: #3b82f6;--accent-glow: rgba(59, 130, 246, .3);--accent-dark: #2563eb;--success: #10b981;--success-glow: rgba(16, 185, 129, .2);--danger: #ef4444;--danger-glow: rgba(239, 68, 68, .2);--warning: #f59e0b;--penalty: #f43f5e;--surface-1: rgba(255, 255, 255, .05);--surface-2: rgba(255, 255, 255, .08);--surface-hover: rgba(255, 255, 255, .12);--border: rgba(255, 255, 255, .1);--font: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--text-xs: 11px;--text-sm: 13px;--text-base: 15px;--text-lg: 17px;--text-xl: 20px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .2);--shadow-md: 0 4px 20px rgba(0, 0, 0, .3);--shadow-accent: 0 4px 20px var(--accent-glow);--transition: .2s ease;--transition-slow: .35s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow-x:hidden;-webkit-tap-highlight-color:transparent;touch-action:pan-y}body{font-family:var(--font);font-size:var(--text-base);color:var(--tg-text);background-color:var(--tg-bg);line-height:1.5;-webkit-font-smoothing:antialiased}#root{min-height:100dvh;display:flex;flex-direction:column}.app-layout{display:flex;flex-direction:column;min-height:100dvh}.page-content{flex:1;padding:var(--space-md);padding-bottom:calc(var(--space-md) + 70px);max-width:480px;margin:0 auto;width:100%}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:var(--tg-secondary-bg);border-top:1px solid var(--border);display:flex;z-index:100;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding-bottom:env(safe-area-inset-bottom)}.bottom-nav__item{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 8px;background:none;border:none;cursor:pointer;color:var(--tg-hint);font-size:var(--text-xs);font-family:var(--font);font-weight:500;transition:color var(--transition);text-decoration:none}.bottom-nav__item.active{color:var(--accent)}.bottom-nav__item svg{width:22px;height:22px}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-md);transition:transform var(--transition),box-shadow var(--transition)}.card:active{transform:scale(.98)}.card--hoverable:hover{background:var(--surface-hover);box-shadow:var(--shadow-sm)}.slot-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-md);display:flex;align-items:center;gap:var(--space-md);transition:all var(--transition);cursor:pointer;position:relative;overflow:hidden}.slot-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);border-radius:3px 0 0 3px}.slot-card:active{transform:scale(.98);background:var(--surface-2)}.slot-card__time-block{background:var(--accent-glow);border:1px solid rgba(59,130,246,.3);border-radius:var(--radius-md);padding:10px 14px;text-align:center;min-width:70px}.slot-card__time{font-size:var(--text-xl);font-weight:700;color:var(--accent);line-height:1}.slot-card__time-end{font-size:var(--text-xs);color:var(--tg-hint);margin-top:2px}.slot-card__info{flex:1}.slot-card__date{font-size:var(--text-sm);font-weight:600;color:var(--tg-text)}.slot-card__duration{font-size:var(--text-sm);color:var(--tg-hint);margin-top:2px}.slot-card__et{font-size:var(--text-xs);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 8px;color:var(--tg-hint);white-space:nowrap}.booking-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm);position:relative;overflow:hidden}.booking-card--active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--success);border-radius:3px 0 0 3px}.booking-card--penalty:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--penalty);border-radius:3px 0 0 3px}.booking-card__header{display:flex;justify-content:space-between;align-items:flex-start}.booking-card__datetime{font-size:var(--text-base);font-weight:600}.booking-card__badge{font-size:var(--text-xs);font-weight:600;padding:3px 8px;border-radius:100px}.booking-card__badge--active{background:var(--success-glow);color:var(--success);border:1px solid rgba(16,185,129,.3)}.booking-card__badge--completed{background:#6b728026;color:#9ca3af;border:1px solid rgba(107,114,128,.2)}.booking-card__badge--penalty{background:var(--danger-glow);color:var(--penalty);border:1px solid rgba(244,63,94,.3)}.booking-card__badge--cancelled{background:#6b72801a;color:var(--tg-hint);border:1px solid rgba(107,114,128,.15)}.booking-card__penalty-note{font-size:var(--text-xs);color:var(--penalty);display:flex;align-items:center;gap:4px}.booking-card__video-btn{display:flex;align-items:center;gap:var(--space-sm);padding:10px var(--space-md);background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;text-decoration:none;transition:opacity var(--transition);box-shadow:var(--shadow-accent)}.booking-card__video-btn:active{opacity:.85}.btn{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:14px var(--space-lg);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:600;font-family:var(--font);border:none;cursor:pointer;transition:all var(--transition);width:100%}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff;box-shadow:var(--shadow-accent)}.btn--primary:hover{box-shadow:0 6px 25px var(--accent-glow)}.btn--danger{background:var(--danger-glow);color:var(--danger);border:1px solid rgba(239,68,68,.3)}.btn--ghost{background:var(--surface-1);color:var(--tg-text);border:1px solid var(--border)}.btn--sm{padding:9px var(--space-md);font-size:var(--text-sm)}.tabs{display:flex;background:var(--surface-1);border-radius:var(--radius-md);padding:4px;gap:4px;margin-bottom:var(--space-md)}.tab{flex:1;padding:9px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--tg-hint);font-size:var(--text-sm);font-weight:600;font-family:var(--font);cursor:pointer;transition:all var(--transition)}.tab.active{background:var(--accent);color:#fff;box-shadow:var(--shadow-accent)}.page-header{margin-bottom:var(--space-lg)}.page-header__title{font-size:var(--text-xl);font-weight:700;color:var(--tg-text)}.page-header__subtitle{font-size:var(--text-sm);color:var(--tg-hint);margin-top:4px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xl) var(--space-lg);text-align:center;gap:var(--space-md)}.empty-state__icon{font-size:48px;line-height:1}.empty-state__title{font-size:var(--text-lg);font-weight:600;color:var(--tg-text)}.empty-state__text{font-size:var(--text-sm);color:var(--tg-hint);max-width:280px}.items-list{display:flex;flex-direction:column;gap:var(--space-sm)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;display:flex;align-items:flex-end;animation:fade-in .2s ease}.modal-sheet{background:var(--tg-secondary-bg);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:var(--space-md) var(--space-md) calc(var(--space-md) + env(safe-area-inset-bottom));width:100%;animation:slide-up .3s ease}.modal-sheet__handle{width:40px;height:4px;background:var(--border);border-radius:2px;margin:0 auto var(--space-md)}.modal-sheet__title{font-size:var(--text-lg);font-weight:700;margin-bottom:var(--space-md)}.skeleton{background:linear-gradient(90deg,var(--surface-1) 25%,var(--surface-2) 50%,var(--surface-1) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}.spinner{width:24px;height:24px;border:3px solid var(--surface-2);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}.toast-wrapper{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:1000;width:calc(100% - 32px);max-width:440px;pointer-events:none}.toast{pointer-events:auto;background:#1e293b;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12);border-left-width:4px;border-radius:var(--radius-lg);padding:12px 16px;font-size:var(--text-sm);font-weight:500;display:flex;align-items:center;gap:10px;box-shadow:0 10px 30px #00000080;animation:toast-slide-up .25s cubic-bezier(.16,1,.3,1);color:#f1f5f9}.toast__icon{font-size:1.1rem;flex-shrink:0}.toast__message{flex:1;line-height:1.4;color:#f1f5f9}.toast__close{background:transparent;border:none;color:#ffffff80;cursor:pointer;padding:4px;font-size:.9rem;line-height:1;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:color .15s}.toast__close:hover{color:#f1f5f9}@keyframes toast-slide-up{0%{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.toast--success{background:#0f2820;border-color:#ffffff14;border-left-color:#10b981}.toast--error{background:#2a1010;border-color:#ffffff14;border-left-color:#ef4444}.toast--warning{background:#2a2010;border-color:#ffffff14;border-left-color:#f59e0b}.balance-badge{display:inline-flex;align-items:center;gap:6px;background:var(--accent-glow);border:1px solid rgba(59,130,246,.3);border-radius:100px;padding:6px 14px;font-size:var(--text-sm);font-weight:700;color:var(--accent)}.coach-section{margin-bottom:var(--space-lg)}.coach-section__title{font-size:var(--text-sm);font-weight:600;color:var(--tg-hint);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-sm)}.slot-action-row{display:flex;gap:var(--space-sm)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:var(--radius-sm);font-size:11px;font-weight:600;line-height:1.2}.badge--group{background:#8b5cf626;color:#a78bfa;border:1px solid rgba(139,92,246,.3)}.badge--individual{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.badge--places{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.3)}.badge--location{background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.location-item{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.location-item__info{flex:1;min-width:0}.location-item__name{font-weight:600;font-size:var(--text-base);color:var(--tg-text)}.location-item__address{font-size:var(--text-xs);color:var(--tg-hint);margin-top:2px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slide-down{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 360px){:root{--text-base: 14px;--text-lg: 16px;--space-md: 12px}}
