:root{--spacing-xs: clamp(4px, 1vw, 8px);--spacing-sm: clamp(8px, 2vw, 12px);--spacing-md: clamp(12px, 3vw, 16px);--spacing-lg: clamp(16px, 4vw, 24px);--spacing-xl: clamp(24px, 5vw, 32px);--color-success: #4caf50;--color-success-dark: #45a049;--color-success-light: #66bb6a;--color-error: #d32f2f;--color-error-light: #f44336;--color-white: #ffffff;--color-black: #000000;--color-border-light: #e0e0e0;--color-border-medium: #cccccc;--color-border-dark: #999999;--color-hint: #999999;--color-hint-light: #cccccc}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:var(--tg-theme-bg-color, var(--color-white));color:var(--tg-theme-text-color, var(--color-black));padding:var(--spacing-md);padding-bottom:90px;min-height:100vh;overflow-x:hidden;font-size:clamp(14px,3.5vw,16px);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{max-width:100%;margin:0 auto}h1{font-size:clamp(18px,5vw,24px);margin-bottom:var(--spacing-md);text-align:center;font-weight:600;line-height:1.3}[data-react-aria-components]{width:100%}.date-range-picker-wrapper{display:flex;gap:8px;align-items:center;width:100%}.date-input{flex:1;padding:10px;border:1px solid var(--color-border-dark);border-radius:6px;font-size:14px;background:var(--tg-theme-bg-color, var(--color-white));color:var(--tg-theme-text-color, var(--color-black))}.time-input-group{flex:1}.time-input{width:100%;padding:10px;border:1px solid var(--color-border-dark);border-radius:6px;font-size:14px;background:var(--tg-theme-bg-color, var(--color-white));color:var(--tg-theme-text-color, var(--color-black))}.poll-form{background:var(--tg-theme-secondary-bg-color, #f0f0f0);padding:var(--spacing-md);border-radius:12px;margin-bottom:var(--spacing-md)}.form-section{margin-bottom:var(--spacing-md)}.form-label{display:block;font-size:clamp(13px,3vw,15px);font-weight:600;margin-bottom:var(--spacing-sm)}.form-input{width:100%;padding:clamp(12px,3vw,14px);border:1px solid var(--color-border-dark);border-radius:8px;font-size:clamp(14px,3.5vw,16px);background:var(--tg-theme-bg-color, var(--color-white));color:var(--tg-theme-text-color, var(--color-black));min-height:44px}.time-inputs{display:flex;flex-direction:column;gap:var(--spacing-sm)}@media (min-width: 480px){.time-inputs{flex-direction:row}}.date-inputs{display:flex;flex-direction:column;gap:var(--spacing-sm);align-items:center}.date-input-group{width:100%;flex:1}@media (min-width: 480px){.date-inputs{flex-direction:row}}.action-btn{padding:clamp(12px,3vw,14px) clamp(20px,5vw,24px);border:none;border-radius:8px;font-size:clamp(14px,3.5vw,16px);font-weight:500;cursor:pointer;transition:all .2s ease;min-height:44px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.action-btn:active{transform:scale(.98)}.action-btn.success{background:var(--color-success);color:var(--color-white)}.action-btn.full-width{width:100%}.action-btn:disabled{opacity:.4;cursor:not-allowed}.calendar-container{overflow-x:auto;overflow-y:auto;margin-bottom:var(--spacing-md);border-radius:12px;background:var(--tg-theme-secondary-bg-color, #f0f0f0);padding:var(--spacing-sm);max-height:60vh;will-change:scroll-position;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}@media (max-width: 480px){.calendar-container{max-height:50vh}}.calendar-grid{display:grid;grid-template-columns:50px repeat(7,minmax(45px,1fr));gap:4px;width:100%;min-width:0}@media (max-width: 375px){.calendar-grid{grid-template-columns:45px repeat(7,minmax(40px,1fr));gap:3px}}.calendar-header{position:sticky;top:0;background:var(--tg-theme-secondary-bg-color, #f0f0f0);z-index:10;padding:var(--spacing-xs) var(--spacing-xs);text-align:center;font-weight:600;font-size:clamp(10px,2.5vw,12px)}.calendar-header.time-label{font-size:clamp(9px,2vw,10px)}.day-header{display:flex;flex-direction:column;align-items:center}.day-name{font-size:clamp(10px,2.5vw,11px);opacity:.7}.day-date{font-size:clamp(11px,3vw,13px);margin-top:2px}.time-label{position:sticky;left:0;background:var(--tg-theme-secondary-bg-color, #f0f0f0);z-index:5;padding:var(--spacing-xs);text-align:center;font-size:clamp(10px,2.5vw,11px);display:flex;align-items:center;justify-content:center;font-weight:500}.time-slot{background:var(--tg-theme-bg-color, var(--color-white));border:1px solid var(--color-border-light);border-radius:4px;min-height:48px;min-width:44px;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}@media (hover: hover){.time-slot:hover{transform:scale(1.02);box-shadow:0 2px 4px #0000001a}}.time-slot:active{transform:scale(.95);box-shadow:inset 0 2px 4px #0000001a}.time-slot.selected{background:var(--color-success);border-color:var(--color-success-dark);color:var(--color-white)}.time-slot.selected:after{content:"✓";font-size:16px;font-weight:700}.time-slot.disabled{opacity:.3;cursor:not-allowed}.week-navigation{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.week-nav-btn{flex:1;padding:clamp(12px,3vw,14px);border:none;border-radius:8px;font-size:clamp(14px,3.5vw,16px);font-weight:500;cursor:pointer;transition:all .2s ease;background:var(--tg-theme-button-color, #3390ec);color:var(--tg-theme-button-text-color, #ffffff);min-height:44px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.week-nav-btn.secondary{background:var(--tg-theme-bg-color, var(--color-white));color:var(--tg-theme-text-color, var(--color-black));border:1px solid var(--color-border-dark)}@media (hover: hover){.week-nav-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}}.week-nav-btn:active:not(:disabled){transform:scale(.97) translateY(0);opacity:.8}.week-nav-btn:disabled{opacity:.4;cursor:not-allowed}.selection-summary{background:var(--tg-theme-secondary-bg-color, #f0f0f0);padding:var(--spacing-md);border-radius:8px;margin-bottom:var(--spacing-md);text-align:center}.summary-text{font-size:clamp(13px,3vw,15px);font-weight:500}.summary-count{color:var(--tg-theme-button-color, #3390ec);font-weight:600}.action-buttons{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.loading{text-align:center;padding:var(--spacing-xl);font-size:clamp(14px,3.5vw,16px);color:var(--color-hint)}.skeleton{background:linear-gradient(90deg,var(--tg-theme-secondary-bg-color, #f0f0f0) 0%,rgba(255,255,255,.5) 50%,var(--tg-theme-secondary-bg-color, #f0f0f0) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:8px}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-calendar{height:300px;margin-bottom:var(--spacing-md)}.skeleton-text{height:16px;margin-bottom:var(--spacing-sm);border-radius:4px}.skeleton-text.short{width:60%}.skeleton-text.medium{width:80%}.error-state{text-align:center;padding:var(--spacing-xl) var(--spacing-md);color:var(--color-error)}.error-icon{font-size:clamp(40px,10vw,48px);margin-bottom:var(--spacing-md)}.error-text{font-size:clamp(13px,3vw,15px)}.poll-info{background:var(--tg-theme-secondary-bg-color, #f0f0f0);padding:var(--spacing-md);border-radius:12px;margin-bottom:var(--spacing-md)}.poll-name{font-size:clamp(15px,4vw,18px);font-weight:600;margin-bottom:var(--spacing-sm);text-align:center;line-height:1.4}.timezone-toggle{margin:var(--spacing-md) 0;padding:var(--spacing-md);background-color:var(--tg-theme-secondary-bg-color, #f0f0f0);border-radius:8px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;border:1px solid var(--color-border-medium);min-height:44px;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:all .2s ease}.timezone-toggle:active{transform:scale(.98);opacity:.9}.date-inputs{display:flex;flex-direction:column;gap:var(--spacing-sm);align-items:stretch}.date-input-group{flex:1;width:100%}@media (min-width: 480px){.date-inputs{flex-direction:row;align-items:center}.date-inputs span{margin:0 var(--spacing-sm);font-size:clamp(13px,3vw,15px)}}@media (max-width: 375px){body{padding:var(--spacing-sm);padding-bottom:80px}.poll-form{padding:var(--spacing-sm)}.calendar-container{padding:var(--spacing-xs)}}@media (min-width: 481px) and (max-width: 768px){.calendar-grid{grid-template-columns:55px repeat(7,minmax(50px,1fr));gap:5px}.time-slot{min-height:50px}}@media (min-width: 769px){.container{max-width:768px}.calendar-grid{grid-template-columns:60px repeat(7,minmax(55px,1fr));gap:6px}}.timezone-selector-btn{width:100%;display:flex;align-items:center;gap:var(--spacing-sm);padding:clamp(12px,3vw,14px);border:1px solid var(--color-border-medium);border-radius:8px;background:var(--tg-theme-bg-color, var(--color-white));color:var(--tg-theme-text-color, var(--color-black));font-size:clamp(14px,3.5vw,16px);min-height:44px;cursor:pointer;transition:all .2s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.timezone-selector-btn:hover:not(:disabled){border-color:var(--color-border-dark);background:var(--tg-theme-secondary-bg-color, #f0f0f0)}.timezone-selector-btn:active:not(:disabled){transform:scale(.98);opacity:.9}.timezone-selector-btn:disabled{opacity:.5;cursor:not-allowed}.timezone-selector-icon{font-size:clamp(18px,4vw,20px);flex-shrink:0}.timezone-selector-text{flex:1;text-align:left;font-weight:500}.timezone-selector-arrow{font-size:clamp(10px,2.5vw,12px);color:var(--color-hint);flex-shrink:0;transition:transform .2s ease}.timezone-selector-btn:active:not(:disabled) .timezone-selector-arrow{transform:rotate(180deg)}.timezone-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md);animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.timezone-modal-content{background:var(--tg-theme-bg-color, var(--color-white));border-radius:16px;width:100%;max-width:400px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0003;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.timezone-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);border-bottom:1px solid var(--color-border-light)}.timezone-modal-header h2{font-size:clamp(16px,4vw,20px);font-weight:600;margin:0;color:var(--tg-theme-text-color, var(--color-black))}.timezone-modal-close{background:none;border:none;font-size:24px;color:var(--color-hint);cursor:pointer;padding:4px;line-height:1;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;touch-action:manipulation}.timezone-modal-close:hover{background:var(--tg-theme-secondary-bg-color, #f0f0f0);color:var(--tg-theme-text-color, var(--color-black))}.timezone-modal-close:active{transform:scale(.9)}.timezone-modal-list{overflow-y:auto;max-height:calc(80vh - 80px);padding:var(--spacing-xs)}.timezone-option{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);border:none;background:transparent;color:var(--tg-theme-text-color, var(--color-black));font-size:clamp(14px,3.5vw,16px);text-align:left;cursor:pointer;border-radius:8px;transition:all .2s ease;min-height:48px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.timezone-option:hover{background:var(--tg-theme-secondary-bg-color, #f0f0f0)}.timezone-option:active{transform:scale(.98)}.timezone-option.selected{background:var(--tg-theme-secondary-bg-color, #f0f0f0);font-weight:600}.timezone-option-label{flex:1}.timezone-option-check{color:var(--color-success);font-size:18px;font-weight:700;margin-left:var(--spacing-sm)}.button{width:100%;padding:clamp(12px,3vw,14px) clamp(16px,4vw,20px);border:none;border-radius:8px;font-size:clamp(14px,3.5vw,16px);font-weight:600;cursor:pointer;transition:all .2s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:var(--color-success);color:var(--color-white);min-height:48px;display:flex;align-items:center;justify-content:center}.button:hover:not(:disabled){background:var(--color-success-dark);transform:translateY(-1px);box-shadow:0 4px 12px #4caf504d}.button:active:not(:disabled){transform:translateY(0);box-shadow:none}.button:disabled{opacity:.5;cursor:not-allowed}.button-large{min-height:52px;padding:clamp(14px,3.5vw,16px) clamp(20px,5vw,24px)}.button-stretched{width:100%}.button-secondary,.button.button-secondary{background:var(--tg-theme-secondary-bg-color, #f0f0f0);color:var(--tg-theme-text-color, var(--color-black))}.button-secondary:hover:not(:disabled){background:var(--color-border-medium);box-shadow:0 4px 12px #0000001a}.app-root{width:100%;min-height:100vh}.form-input{width:100%;padding:10px 12px;border:1px solid var(--color-border-medium);border-radius:6px;font-size:clamp(14px,3.5vw,16px);background:var(--tg-theme-bg-color, var(--color-white));color:var(--tg-theme-text-color, var(--color-black));transition:border-color .2s ease}.form-input:focus{outline:none;border-color:var(--color-success);box-shadow:0 0 0 3px #4caf501a}.form-input:disabled{opacity:.6;cursor:not-allowed}.form-sublabel{display:block;font-size:clamp(11px,2.5vw,13px);color:var(--color-hint);margin-bottom:4px}.error-message{padding:var(--spacing-md);margin-bottom:var(--spacing-md);background-color:var(--color-error-bg, #ffebee);color:var(--color-error, #c62828);border-radius:8px;font-size:clamp(13px,3vw,15px)}
