.timezone-picker{--bs-navbar-active-color: #ff6a5b;--bs-list-group-active-bg: #ff6a5b}.timezone-picker__toggle{display:flex;align-items:center;color:inherit;text-decoration:none}.timezone-picker__toggle--disabled{opacity:.6;cursor:not-allowed}.timezone-picker__menu{min-width:300px}.timezone-picker__map-trigger{padding:.75rem 1rem}.timezone-picker__map-trigger:hover{background-color:#f8f9fa}.timezone-picker__map-option{display:flex;align-items:center;margin-bottom:.25rem}.timezone-picker__map-icon{margin-right:.5rem}.timezone-picker__map-title{font-weight:600}.timezone-picker__map-description{color:#6c757d;display:block;margin:0}.timezone-picker__region-info{display:flex;flex-direction:column}.timezone-picker__region-name{font-weight:600;margin-bottom:.125rem}.timezone-picker__region-details{color:#6c757d;margin:0}.timezone-picker__menu-item.active .timezone-picker__region-name{font-weight:700}.timezone-picker__menu-item.active .timezone-picker__region-details{font-weight:500}.timezone-picker-modal .modal-dialog{max-width:90vw;max-height:90vh}.timezone-picker-modal .modal-content{height:80vh}.timezone-picker-modal .modal-body{height:calc(100% - 56px);overflow:hidden}.timezone-picker-modal__title,.timezone-picker-modal__title-content,.timezone-picker-modal__title-text,.timezone-picker-modal__title-selected{white-space:nowrap}.timezone-map-container{display:flex;flex-direction:column;height:100%}.timezone-world-map{flex:1;display:flex;align-items:center;justify-content:center;padding:1rem;position:relative}.timezone-world-map .timezone-world-svg{max-width:100%;max-height:100%;width:auto;height:auto;display:block}.timezone-world-map .timezone-map-svg{border-radius:12px;box-shadow:0 4px 20px #0000001f;transition:all .3s ease}.timezone-world-map .timezone-map-svg:hover{box-shadow:0 6px 30px #0000002e}.timezone-world-map .timezone-map-svg rect{transition:all .3s ease}.timezone-world-map .timezone-map-svg rect:hover{opacity:1!important;transform:translateY(-1px)}.timezone-world-map .timezone-map-svg .continent{transition:all .3s ease}.timezone-world-map .timezone-map-svg .continent path{transition:all .3s ease}.timezone-world-map .timezone-map-svg .continent path:hover{filter:brightness(1.1);transform:scale(1.02);transform-origin:center}.timezone-world-map .timezone-map-svg text{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-user-select:none;user-select:none;pointer-events:none}.timezone-world-map .timezone-map-svg line{transition:opacity .3s ease}.timezone-world-map .timezone-map-svg circle{animation:pulse 2s infinite}.timezone-map-header{border-bottom:1px solid #dee2e6}.timezone-map-header h6{margin-bottom:.25rem;font-weight:600}.timezone-map-sidebar{border-top:1px solid #dee2e6;overflow-x:hidden;padding:16px}.timezone-map-sidebar .timezone-list{overflow-x:hidden;height:330px}.timezone-map-sidebar .timezone-list .list-group-item{border-left:none;border-right:none;border-radius:0;cursor:pointer;transition:all .2s ease;overflow:hidden}.timezone-map-sidebar .timezone-list .list-group-item:first-child{border-top:none}.timezone-map-sidebar .timezone-list .list-group-item:last-child{border-bottom:none}.timezone-map-sidebar .timezone-list .list-group-item:hover{background-color:#f8f9fa}.timezone-map-sidebar .timezone-list .list-group-item.active{font-weight:600;background-color:#ff6a5b}.timezone-map-sidebar .timezone-list .list-group-item.active:hover{background-color:#ff6a5b}.timezone-map-sidebar .timezone-list .list-group-item .fw-bold{font-size:.95rem;line-height:1.3}.timezone-map-sidebar .timezone-list .list-group-item small{font-size:.8rem;line-height:1.2}.timezone-map-sidebar .timezone-list .list-group-item .badge{font-size:.75rem;padding:.25rem .5rem}@media (max-width: 768px){.timezone-picker-modal .modal-dialog{max-width:95vw;margin:16px}.timezone-picker-modal .modal-content{height:85vh}.timezone-picker-modal__title-content{flex-wrap:wrap;justify-content:center}.timezone-picker-modal__title-text,.timezone-picker-modal__title-selected{white-space:nowrap}.timezone-picker-modal .modal-header{padding:8px 16px}.timezone-map-sidebar .timezone-list .list-group-item .fw-bold{font-size:12px}.timezone-map-sidebar .timezone-list .list-group-item small{font-size:10px}.timezone-map-container .timezone-world-map .timezone-map-svg{height:250px}.timezone-picker.timezone-picker-combined .dropdown-menu{min-width:280px;max-width:95vw}}@media (max-width: 576px){.timezone-world-map{padding:.5rem}.timezone-world-map text{font-size:8px}.timezone-map-header{padding:16px}.timezone-map-header h6{font-size:1rem}.timezone-map-sidebar{padding:8px}.timezone-map-sidebar .timezone-list{height:600px}}@keyframes timezoneHighlight{0%{opacity:.8}50%{opacity:1}to{opacity:.8}}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}to{transform:scale(1);opacity:1}}@keyframes timezoneHover{0%{transform:scale(1)}to{transform:scale(1.01)}}.timezone-world-map .timezone-region-group{transition:all .3s ease}.timezone-world-map .timezone-region-group:hover{filter:brightness(1.1)}.timezone-world-map .timezone-region-polygon{transition:all .2s ease;transform-origin:center}.timezone-world-map .timezone-region-polygon.timezone-region-clickable{cursor:pointer}.timezone-world-map .timezone-region-polygon.timezone-region-clickable:hover{fill:#ff6a5b!important;stroke:#fff!important;stroke-width:1.5!important;animation:timezoneHover .2s ease forwards;filter:drop-shadow(0 2px 8px rgba(255,107,53,.3))}.timezone-world-map .timezone-region-polygon.timezone-region-clickable:active{transform:scale(.98)}.timezone-world-map .timezone-region-polygon.timezone-region-selected{fill:#007bff!important;stroke:#fff!important;stroke-width:2!important;animation:timezoneHighlight 2s ease-in-out infinite;filter:drop-shadow(0 2px 12px rgba(0,123,255,.4))}.timezone-world-map .timezone-region-polygon.timezone-region-hovered{fill:#ff6a5b!important;stroke:#fff!important;stroke-width:1.5!important;filter:drop-shadow(0 2px 8px rgba(255,107,53,.3))}.timezone-world-map .imapsPolygon,.timezone-world-map path{transition:all .2s ease;cursor:pointer;transform-origin:center}.timezone-world-map .imapsPolygon:hover,.timezone-world-map path:hover{fill:#ff6a5b!important;stroke:#fff!important;stroke-width:1.5!important;animation:timezoneHover .2s ease forwards;filter:drop-shadow(0 2px 8px rgba(255,107,53,.3))}.timezone-world-map .imapsPolygon:active,.timezone-world-map path:active{transform:scale(.98)}.timezone-map-svg rect.selected{animation:timezoneHighlight 2s ease-in-out infinite}.timezone-picker:focus-within{outline:2px solid #007bff;outline-offset:2px}.timezone-map-loading{display:flex;align-items:center;justify-content:center;height:300px;color:#6c757d}.timezone-map-loading .spinner-border{margin-right:.5rem}.timezone-tooltip{position:absolute;pointer-events:none;z-index:9999;transform:translateZ(0)}.timezone-tooltip .timezone-tooltip-content{background:rgba(0,0,0,.9);color:#fff;padding:12px 16px;border-radius:8px;box-shadow:0 4px 20px #0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);min-width:180px;animation:tooltipFadeIn .2s ease-out}.timezone-tooltip .timezone-tooltip-content .timezone-tooltip-header{display:flex;align-items:center;gap:8px}.timezone-tooltip .timezone-tooltip-content .timezone-tooltip-header .timezone-name{font-weight:600;font-size:14px;color:#fff}.timezone-tooltip .timezone-tooltip-content .timezone-tooltip-header svg{color:gold;flex-shrink:0}.timezone-tooltip .timezone-tooltip-content .timezone-tooltip-body .timezone-time{font-size:18px;font-weight:700;color:#fff;margin-bottom:2px}.timezone-tooltip .timezone-tooltip-content .timezone-tooltip-body .timezone-date{font-size:12px;color:#ccc;margin-bottom:6px}.timezone-tooltip .timezone-tooltip-content .timezone-tooltip-body .timezone-location{font-size:13px;color:#e6e6e6;margin-bottom:4px;line-height:1.3}.timezone-tooltip .timezone-tooltip-content .timezone-tooltip-body .timezone-offset{font-size:11px;color:gold;font-weight:500;background:rgba(255,215,0,.1);padding:2px 6px;border-radius:4px;display:inline-block}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(10px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}
