:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden;background-color:#1a1a2e;color:#ecf0f1;height:100vh;height:100dvh}.app{display:flex;height:100vh;height:100dvh;width:100vw}.main-content{flex:1;position:relative;height:100vh;height:100dvh;overflow:hidden;display:flex;flex-direction:column}.main-content.sidebar-open{margin-left:0}.leaflet-container{height:100%;width:100%}.sidebar ::-webkit-scrollbar{width:6px}.sidebar ::-webkit-scrollbar-track{background:#34495e}.sidebar ::-webkit-scrollbar-thumb{background:#7f8c8d;border-radius:3px}.sidebar ::-webkit-scrollbar-thumb:hover{background:#95a5a6}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100vw;height:100vh;height:100dvh;background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff;position:fixed;top:0;left:0;z-index:999}.loading-screen .loading-spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.loading-screen p{font-size:18px;font-weight:500}@media (max-width: 768px){.sidebar{width:300px}}.map-container{position:relative;height:100vh;height:100dvh;width:100%;overflow:hidden}.map-container.updating{opacity:.9;transition:opacity .2s ease}.map-container.updating .leaflet-container{filter:blur(.5px);transition:filter .2s ease}.update-indicator{position:absolute;top:20px;left:50%;transform:translate(-50%);background-color:#000000b3;color:#fff;padding:8px 16px;border-radius:20px;display:flex;align-items:center;gap:8px;z-index:1001;font-size:12px;font-weight:500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.update-spinner{width:12px;height:12px;border:1.5px solid rgba(255,255,255,.3);border-top:1.5px solid white;border-radius:50%;animation:spin .8s linear infinite}.loading-overlay,.error-overlay{position:absolute;inset:0;background-color:#000c;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;z-index:1000}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.error-overlay button{background-color:#e74c3c;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;margin-top:15px}.error-overlay button:hover{background-color:#c0392b}.menu-button-container{position:absolute;top:10px;left:10px;z-index:1000}.menu-button{width:55px;height:55px;border:none;border-radius:50%;background-color:#ff6b35;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:24px;transition:all .2s ease;box-shadow:0 2px 8px #0000004d}.menu-button:hover{background-color:#e55a2b;transform:translateY(-1px);box-shadow:0 4px 12px #0006}.menu-icon{font-weight:700}.location-button-container{position:absolute;bottom:120px;right:10px;z-index:1000}.location-button{width:40px;height:40px;border:none;border-radius:50%;background-color:#fff;box-shadow:0 2px 6px #0003;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;transition:all .2s ease}.location-button:hover{background-color:#f8f9fa;transform:translateY(-1px);box-shadow:0 4px 10px #00000040}.vote-instructions{position:absolute;top:20px;right:20px;background-color:#fffffff2;border-radius:8px;padding:15px;box-shadow:0 4px 8px #0003;max-width:300px;z-index:999;transition:all .3s ease}.vote-instructions.collapsed{height:55px;overflow:hidden}.vote-instructions.expanded{height:auto;max-height:80vh;overflow-y:auto}.instructions-content{transition:opacity .3s ease}.vote-instructions.collapsed .instructions-content{opacity:0}.vote-instructions.expanded .instructions-content{opacity:1}.vote-instructions h3{margin:0 0 10px;color:#2c3e50;font-size:16px}.vote-instructions ul{margin:0;padding-left:20px;color:#34495e;font-size:14px}.vote-instructions li{margin-bottom:5px}.area-popup{text-align:center;min-width:150px}.area-popup h3{margin:0 0 8px;color:#2c3e50;font-size:16px}.area-popup p{margin:5px 0;color:#34495e;font-size:14px}.leaflet-popup-content-wrapper{border-radius:8px;box-shadow:0 4px 12px #0000004d}.map-container.updating .leaflet-interactive{transition:all .3s ease}.leaflet-popup-content{margin:10px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.leaflet-popup-tip{background-color:#fff}.leaflet-control-zoom{border:none!important;box-shadow:0 2px 6px #0003!important}.leaflet-control-zoom a{width:40px!important;height:40px!important;border-radius:50%!important;background-color:#fff!important;color:#333!important;border:none!important;font-size:18px!important;font-weight:700!important;display:flex!important;align-items:center!important;justify-content:center!important;transition:all .2s ease!important}.leaflet-control-zoom a:hover{background-color:#f8f9fa!important;color:#000!important;transform:translateY(-1px)!important;box-shadow:0 4px 10px #00000040!important}.leaflet-control-zoom a.leaflet-control-zoom-in{border-bottom:1px solid #e9ecef!important;border-radius:50% 50% 0 0!important}.leaflet-control-zoom a.leaflet-control-zoom-out{border-radius:0 0 50% 50%!important}.area-label{background:transparent;border:none;display:flex;align-items:center;justify-content:center}.area-label-content{background-color:#000000b3;color:#fff;padding:2px 8px;border-radius:8px;font-size:10px;font-weight:500;text-align:center;white-space:nowrap;text-shadow:1px 1px 1px rgba(0,0,0,.8);border:1px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none;position:relative;display:inline-block;width:auto;min-width:auto}.area-label-content:after{content:"";position:absolute;bottom:-5px;left:50%;transform:translate(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid rgba(0,0,0,.7);z-index:1}@media (max-width: 768px){.map-container{position:fixed;inset:0;height:100vh;height:100dvh;width:100vw;overflow:hidden;touch-action:none}.vote-instructions{max-width:250px;font-size:12px;top:10px;right:10px;cursor:pointer}.vote-instructions.collapsed{height:50px}.vote-instructions.expanded{max-height:60vh}.vote-instructions h3{font-size:14px}.vote-instructions ul{font-size:12px}.menu-button{width:50px;height:50px;font-size:20px}.location-button{width:35px;height:35px;font-size:16px}.leaflet-control-zoom a{width:35px!important;height:35px!important;font-size:16px!important}}.donation-modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.donation-modal-content{background:#353535;border-radius:15px;padding:30px;max-width:300px;width:100%;position:relative;color:#fff}.donation-modal-body{text-align:center}.donation-modal-body h3{margin:0 0 20px;color:#fff;font-size:18px}.donation-input{width:100%;padding:10px;border:1px solid #555;border-radius:5px;background:#2a2a2a;color:#fff;margin-bottom:15px;font-size:14px}.donation-input::placeholder{color:#999}.donation-input:focus{outline:none;border-color:#5a5a5a}.donation-select{width:100%;padding:10px 30px 10px 10px;border:1px solid #555;border-radius:5px;background:#2a2a2a;color:#fff;margin-bottom:15px;font-size:14px;cursor:pointer;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 8px center;background-size:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.donation-select:focus{outline:none;border-color:#5a5a5a}.donation-button{background-color:#5a5a5a;color:#fff;border:none;border-radius:5px;padding:10px 20px;font-size:14px;cursor:pointer;transition:background-color .2s;width:100%}.donation-button:hover:not(:disabled){background-color:#6a6a6a}.donation-button:disabled{background-color:#444;cursor:not-allowed}.paypal-button{background:transparent;padding:0;border:none}.paypal-button:hover{background:transparent}.donation-error{color:#ff6b6b;margin-top:10px;font-size:14px}.donation-success{color:#4caf50;margin-top:10px;font-size:14px}.stripe-modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.stripe-modal-content{background:#353535;border-radius:15px;padding:30px;max-width:400px;width:100%;position:relative;color:#fff}.stripe-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;border-bottom:1px solid #555;padding-bottom:15px}.stripe-modal-header h3{margin:0;font-size:18px;font-weight:600;color:#fff}.stripe-modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#999;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background-color .2s}.stripe-modal-close:hover{background-color:#555;color:#fff}.stripe-modal-body{text-align:center}.payment-type-selector{display:flex;gap:8px;margin-bottom:24px;background:#2a2a2a;padding:4px;border-radius:8px}.payment-type-btn{flex:1;padding:10px 16px;border:none;background:transparent;border-radius:6px;cursor:pointer;font-weight:500;color:#999;transition:all .2s;font-size:14px}.payment-type-btn.active{background:#5a5a5a;color:#fff;box-shadow:0 1px 3px #0000004d}.payment-type-btn:hover:not(.active){color:#fff}.amount-selector{margin-bottom:20px;text-align:left}.amount-selector label{display:block;margin-bottom:8px;font-weight:500;color:#fff;font-size:14px}.stripe-select{width:100%;padding:10px 30px 10px 10px;border:1px solid #555;border-radius:5px;background:#2a2a2a;color:#fff;font-size:14px;cursor:pointer;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 8px center;background-size:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.stripe-select:focus{outline:none;border-color:#5a5a5a}.stripe-select option{background:#2a2a2a;color:#fff}.checkout-info{margin-bottom:24px;padding:16px;background:#2a2a2a;border:1px solid #555;border-radius:8px;color:#ccc}.checkout-info p{margin:0;font-size:14px;line-height:1.5}.stripe-pay-button{width:100%;padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;position:relative;overflow:hidden}.stripe-pay-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 20px #667eea4d}.stripe-pay-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.stripe-pay-button:active:not(:disabled){transform:translateY(0)}.stripe-error{margin-top:16px;padding:12px 16px;background:#2a2a2a;border:1px solid #ff6b6b;border-radius:8px;color:#ff6b6b;font-size:14px}@media (max-width: 640px){.stripe-modal-content{width:95%;margin:20px;padding:20px}.stripe-modal-header,.stripe-modal-body{padding:0}.payment-type-selector{flex-direction:column}.payment-type-btn{text-align:center}}.sidebar{width:350px;height:100vh;background-color:#2c3e50;color:#fff;display:flex;flex-direction:column;overflow:hidden;box-shadow:2px 0 5px #0000004d;position:fixed;left:0;top:0;z-index:1000}.sidebar-header{background-color:#3498db;padding:10px 15px;border-bottom:1px solid #2980b9;flex-shrink:0}.header-content{display:flex;align-items:center;justify-content:space-between}.gear-icon{font-size:16px;margin-right:10px}.header-title{font-weight:700;font-size:14px;flex-grow:1}.close-button{background:none;border:none;color:#fff;font-size:16px;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.close-button:hover{background-color:#ffffff1a;border-radius:4px}.sidebar-content{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.section-header{padding:12px 15px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;background-color:#34495e;transition:background-color .2s;flex-shrink:0}.section-header:hover{background-color:#3d566e}.section-title{font-weight:700;font-size:14px}.caret{font-size:12px;transition:transform .2s}.caret.up{transform:rotate(180deg)}.section-content{padding:15px;background-color:#2c3e50;flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.account-section{flex-shrink:0}.account-info{margin-bottom:10px}.account-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px}.account-label{color:#bdc3c7;font-weight:500}.account-value{color:#ecf0f1;font-weight:500}.status-premium{color:#f39c12;font-weight:700}.status-admin{color:#e74c3c;font-weight:700}.status-free{color:#95a5a6;font-weight:700}.unlimited-votes{color:#f39c12;font-weight:700}.unlimited-symbol{color:#e67e22;font-size:.9em;margin-left:2px}.voted-areas-container{flex-shrink:0;max-height:120px;overflow-y:auto}.voted-areas-list{margin:10px 0}.voted-area-item{display:flex;align-items:center;padding:4px 6px;border-radius:4px;background-color:#2c3e50;margin-bottom:4px;gap:6px;font-size:11px;height:24px}.voted-area-item .area-name{flex-grow:1;color:#ecf0f1}.voted-area-item .area-name.clickable{cursor:pointer}.voted-area-item .area-name.clickable:hover{color:#f39c12}.vote-controls{display:flex;align-items:center;gap:4px}.vote-decrease,.vote-increase{background-color:#34495e;color:#fff;border:none;border-radius:3px;width:20px;height:20px;font-size:12px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.vote-decrease:hover:not(:disabled),.vote-increase:hover:not(:disabled){background-color:#e67e22}.vote-decrease:disabled,.vote-increase:disabled{background-color:#2c3e50;color:#7f8c8d;cursor:not-allowed}.areas-section{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.search-container{margin-bottom:10px;flex-shrink:0}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:10px;color:#7f8c8d;font-size:14px;z-index:1}.search-input{width:100%;padding:8px 30px;border:1px solid #34495e;border-radius:4px;background-color:#34495e;color:#fff;font-size:12px}.search-input::placeholder{color:#7f8c8d}.search-input:focus{outline:none;border-color:#3498db}.clear-search{position:absolute;right:8px;background:none;border:none;color:#7f8c8d;cursor:pointer;font-size:12px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.clear-search:hover{background-color:#ffffff1a}.area-list{flex:1;overflow-y:auto;min-height:0}.parent-group{margin-bottom:5px}.parent-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background-color:#34495e;cursor:pointer;transition:background-color .2s;font-size:12px;font-weight:500}.parent-header:hover{background-color:#3d566e}.parent-name{flex-grow:1;color:#ecf0f1}.parent-toggle{color:#bdc3c7;font-size:10px;transition:transform .2s}.parent-areas{background-color:#2c3e50;padding:5px 0;display:grid;grid-template-columns:1fr 1fr;gap:4px}.area-item{display:flex;align-items:center;padding:3px 4px;gap:4px;font-size:11px;transition:background-color .2s;border-radius:4px;width:100%;min-width:0}.area-item.clickable{cursor:pointer}.area-item.clickable:hover{background-color:#34495e}.voted-area-item.clickable{cursor:pointer}.voted-area-item.clickable:hover{background-color:#34495e}.area-status-indicator{width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#fff;text-shadow:1px 1px 1px rgba(0,0,0,.5);flex-shrink:0}.user-vote-indicator{width:16px;height:16px;border-radius:50%;background-color:#f39c12;color:#fff;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;text-shadow:1px 1px 1px rgba(0,0,0,.5);flex-shrink:0}.area-info{display:flex;flex-direction:column;flex-grow:1}.area-name{color:#ecf0f1;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.vote-button{width:20px;height:20px;border-radius:50%;background-color:#34495e;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;transition:background-color .2s;flex-shrink:0;margin-left:auto}.vote-button:hover{background-color:#e67e22}.vote-button span{color:#fff;font-weight:700}.vote-info{display:flex;align-items:center;gap:5px;font-size:10px}.user-votes{color:#f39c12;font-weight:700}.vote-indicator{width:12px;height:12px;border-radius:50%;background-color:#f39c12;display:flex;align-items:center;justify-content:center;font-size:8px;color:#fff;font-weight:700}.loading{text-align:center;padding:20px;color:#7f8c8d;font-style:italic}.logout-section{padding:15px;border-top:1px solid #34495e;background-color:#2c3e50;flex-shrink:0}@media (max-width: 768px){.sidebar{height:100vh;height:100dvh}.logout-section{padding-bottom:15px}}.logout-section .vote-status{margin-bottom:15px;padding:10px;background-color:#2c3e50;border-radius:4px}.vote-legend{display:flex;justify-content:space-between;align-items:center;font-size:11px}.legend-item{display:flex;align-items:center;gap:4px;color:#bdc3c7}.legend-inactive{display:flex;flex-direction:column;gap:5px}.legend-active{display:flex;align-items:center;gap:4px;color:#bdc3c7}.legend-color{width:12px;height:12px;border-radius:2px;flex-shrink:0}.legend-color.active,.legend-color.inactive{border:1px solid rgba(255,255,255,.3)}.logout-button{width:100%;padding:12px;background-color:#e74c3c;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.logout-button:hover{background-color:#c0392b}.donation-buttons{display:flex;gap:10px;margin-top:15px;margin-bottom:15px;justify-content:center}.donation-button{background-color:#5a5a5a;color:#fff;border:none;border-radius:5px;padding:8px 12px;font-size:12px;cursor:pointer;transition:background-color .2s;display:flex;align-items:center;justify-content:center}.donation-button:hover{background-color:#6a6a6a}.donation-button.paypal-button:hover{background-color:transparent}.promo-button{min-width:100px}.paypal-button{background:transparent;padding:0;pointer-events:none}.paypal-button:hover{background:transparent;pointer-events:none}.paypal-button img{pointer-events:auto}.stripe-button{background:linear-gradient(135deg,#6772e5,#5469d4);color:#fff;border:none;border-radius:20px;padding:6px 12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #6772e54d;min-width:80px;max-width:100px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;letter-spacing:.3px;height:32px;display:flex;align-items:center;justify-content:center;margin-top:2px}.stripe-button:hover{background:linear-gradient(135deg,#5469d4,#4054b2);transform:translateY(-1px);box-shadow:0 4px 8px #6772e566}.stripe-button:active{transform:translateY(0);box-shadow:0 2px 4px #6772e54d}.vip-access-section{margin:10px 0;padding:10px 0;border-top:1px solid #34495e;border-bottom:1px solid #34495e}.vip-access-button{width:100%;padding:12px 16px;background:linear-gradient(135deg,#9b59b6,#8e44ad);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #0003;text-transform:uppercase;letter-spacing:.5px}.vip-access-button:hover{background:linear-gradient(135deg,#8e44ad,#7d3c98);transform:translateY(-2px);box-shadow:0 4px 8px #0000004d}.vip-access-button:active{transform:translateY(0);box-shadow:0 2px 4px #0003}.language-selector{position:absolute;bottom:-50px;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center}.language-select{background-color:#34495e;border:1px solid #34495e;border-radius:5px;padding:8px 30px 8px 12px;font-size:14px;color:#ecf0f1;cursor:pointer;transition:border-color .3s;min-width:100px;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ecf0f1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 8px center;background-size:16px}.language-select:hover{border-color:#3498db}.language-select:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db33}.language-select option{background-color:#34495e;color:#ecf0f1}.login-container{display:flex;justify-content:center;align-items:center;width:100vw;height:100vh;height:100dvh;background:linear-gradient(135deg,#1a1a2e,#16213e);box-sizing:border-box;position:fixed;top:0;left:0;z-index:1000}.login-card{background:#2c3e50;padding:40px;border-radius:10px;box-shadow:0 10px 25px #0000004d;width:100%;max-width:400px;margin:auto;border:1px solid #34495e;position:relative}.login-card{text-align:center}.login-title{margin-bottom:20px;color:#ecf0f1}.login-subtitle{margin-bottom:30px;color:#bdc3c7}.text-small{font-size:14px}.text-medium{font-size:16px}.text-large{font-size:24px}.text-xlarge{font-size:32px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:5px;color:#bdc3c7;font-weight:500}.form-group input{width:100%;padding:12px;border:1px solid #34495e;border-radius:5px;font-size:16px;transition:border-color .3s;background-color:#34495e;color:#ecf0f1}.form-group input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db33}.error-message{background-color:#fee;color:#c33;padding:10px;border-radius:5px;margin-bottom:20px;text-align:center}button{width:100%;padding:12px;background-color:#3498db;color:#fff;border:none;border-radius:5px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .3s}button:hover:not(:disabled){background-color:#2980b9}button:disabled{background-color:#34495e;cursor:not-allowed}.login-loading{display:flex;align-items:center;justify-content:center;gap:10px}.login-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.notification{position:fixed;top:20px;right:20px;z-index:10000;max-width:450px;min-width:320px;border-radius:8px;box-shadow:0 4px 12px #00000026;animation:slideIn .3s ease-out;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.notification-content{position:relative;padding:16px 25px 16px 16px;border-radius:8px}.notification-message{width:100%;font-size:14px;line-height:1.5;color:#fff;white-space:normal;word-wrap:break-word;word-break:normal;text-align:left;padding-right:40px}.notification-close{position:absolute;top:8px;right:12px;background:none;border:none;color:#fff;font-size:18px;cursor:pointer;width:24px;height:24px;border-radius:50%;transition:background-color .2s ease;opacity:.8;z-index:1;display:flex;align-items:center;justify-content:center;line-height:1}.notification-close:hover{background-color:#fff3;opacity:1}.notification-error{background:linear-gradient(135deg,#ff6b6b,#ee5a52);border-left:4px solid #d63031}.notification-success{background:linear-gradient(135deg,#00b894,#00a085);border-left:4px solid #00a085}.notification-info{background:linear-gradient(135deg,#74b9ff,#0984e3);border-left:4px solid #0984e3}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.notification.notification-exiting{animation:slideOut .3s ease-in}@media (max-width: 768px){.notification{top:10px;right:10px;left:10px;max-width:none;min-width:auto}.notification-content{padding:16px 35px 16px 16px}.notification-message{font-size:14px;line-height:1.6;padding-right:45px}.notification-close{top:8px;right:8px;width:28px;height:28px;font-size:20px}}.hk-interface{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.hk-container{background:#1a1a2ef2;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:40px;box-shadow:0 20px 40px #0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-width:450px;width:100%;text-align:center;color:#fff;margin:0 auto}.hk-header{text-align:center;width:100%;margin:0 auto;padding:0}.hk-header h1{color:#fff;margin:0 auto 10px;font-size:2.5rem;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.3);text-align:center;display:block}.hk-header p{color:#b8b8b8;margin:0 auto 30px;font-size:1.1rem;text-align:center;display:block}.hk-user-info{margin-bottom:30px}.user-details{text-align:left;background:#ffffff0d;border-radius:15px;padding:25px;border:1px solid rgba(255,255,255,.1)}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1)}.detail-row:last-child{border-bottom:none}.detail-row .label{font-weight:600;color:#b8b8b8;font-size:1rem}.detail-row .value{color:#fff;font-size:1rem}.status-premium{color:#28a745!important;font-weight:600}.status-premiumhk{color:#17a2b8!important;font-weight:600}.status-free{color:#6c757d!important}.hk-actions{margin-bottom:30px;display:flex;flex-direction:column;gap:15px}.hk-action-button{padding:15px 30px;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px}.hk-action-button.promo-button{background:linear-gradient(135deg,#ff6b6b,#ee5a24);color:#fff}.hk-action-button.promo-button:hover{background:linear-gradient(135deg,#ee5a24,#d63031);transform:translateY(-2px);box-shadow:0 5px 15px #ee5a2466}.hk-action-button.vip-button{background:linear-gradient(135deg,#9b59b6,#8e44ad);color:#fff}.hk-action-button.vip-button:hover{background:linear-gradient(135deg,#8e44ad,#7d3c98);transform:translateY(-2px);box-shadow:0 5px 15px #9b59b666}.hk-footer{border-top:1px solid rgba(255,255,255,.1);padding-top:20px}.hk-disconnect-button{background:linear-gradient(135deg,#6c757d,#495057);color:#fff;border:none;padding:12px 25px;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px}.hk-disconnect-button:hover{background:linear-gradient(135deg,#495057,#343a40);transform:translateY(-2px);box-shadow:0 5px 15px #6c757d66}@media (max-width: 600px){.hk-container{padding:30px 20px;margin:10px}.hk-header h1{font-size:2rem}.detail-row{flex-direction:column;align-items:flex-start;gap:5px}.hk-actions{gap:12px}.hk-action-button{padding:12px 25px;font-size:.9rem}}.vote-invitation-modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.vote-invitation-modal-content{background:#353535;border-radius:15px;padding:30px;max-width:500px;width:100%;position:relative;color:#fff;max-height:80vh;overflow-y:auto}.vote-invitation-modal-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px;border-radius:8px 8px 0 0;text-align:center;position:relative;margin:-30px -30px 20px}.vote-invitation-modal-header h2{margin:0;font-size:1.5rem;font-weight:600}.vote-invitation-modal-close-button{position:absolute;top:15px;right:20px;background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.vote-invitation-modal-close-button:hover{background-color:#fff3}.vote-invitation-modal-body{padding:0}.welcome-message{text-align:center;margin-bottom:25px}.welcome-message p{margin:10px 0;font-size:1.1rem;color:#fff}.welcome-message strong{color:#667eea;font-weight:600}.vote-benefits{background:#2a2a2a;padding:20px;border-radius:8px;margin-bottom:25px}.vote-benefits h3{margin:0 0 15px;color:#fff;font-size:1.2rem;text-align:center}.vote-benefits ul{list-style:none;padding:0;margin:0}.vote-benefits li{padding:8px 0;font-size:.95rem;color:#ccc;display:flex;align-items:flex-start}.vote-benefits li strong{color:#fff;font-weight:600}.vote-invitation-modal-actions{display:flex;justify-content:center;margin-top:20px}.vote-invitation-modal-actions .btn{padding:12px 32px;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;min-width:180px}.vote-invitation-modal-actions .btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 4px #667eea4d}.vote-invitation-modal-actions .btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 8px #667eea66}@media (max-width: 480px){.vote-invitation-modal-content{width:95%;margin:10px}.vote-invitation-modal-actions .btn{width:100%;max-width:250px}}
