@charset "UTF-8";body{margin:0;overflow-x:hidden;position:relative;width:100%}html{height:100%;height:100dvh}#root{display:flex;flex-direction:column;min-height:100%;min-height:100dvh}@supports (padding:max(0px)){body{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.notification-dropdown{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 24px var(--shadow-hover);display:flex;flex-direction:column;max-height:500px;overflow:hidden;position:absolute;right:100px;top:60px;width:380px;z-index:5000}.notification-dropdown-header{align-items:center;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:16px 20px}.notification-dropdown-header h3{color:var(--text-primary);font-size:18px;font-weight:700;margin:0}.mark-all-read-btn{background-color:initial;border:1px solid var(--accent-primary);border-radius:6px;color:var(--accent-primary);cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;transition:all .3s}.mark-all-read-btn:hover{background-color:var(--accent-primary);color:#fff}.notification-dropdown-content{flex:1 1;max-height:400px;overflow-y:auto}.notification-dropdown-content::-webkit-scrollbar{width:6px}.notification-dropdown-content::-webkit-scrollbar-track{background:var(--bg-secondary)}.notification-dropdown-content::-webkit-scrollbar-thumb{background:var(--accent-light);border-radius:3px}.notification-dropdown-content::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}.notification-loading{font-size:14px;padding:40px 20px}.notification-empty,.notification-loading{color:var(--text-secondary);text-align:center}.notification-empty{padding:60px 20px}.notification-empty-icon{display:block;font-size:48px;margin-bottom:12px;opacity:.5}.notification-empty p{font-size:14px;margin:0}.notification-item{border-bottom:none;padding:14px}.notification-item:last-child{border-bottom:none}.notification-icon{height:40px;margin-right:12px;width:40px}.notification-type-icon{font-size:20px}.notification-title{font-size:14px;margin-bottom:4px}.notification-message{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:13px;line-height:1.4;margin-bottom:6px;overflow:hidden;text-overflow:ellipsis}.notification-time{font-size:11px}.notification-read-dot,.notification-unread-dot{bottom:8px}.notification-delete-btn{font-size:18px;height:24px;width:24px}.notification-dropdown-footer{background-color:var(--bg-secondary);border-top:1px solid var(--border-color);padding:12px 20px}.see-all-btn{background-color:initial;border:none;border-radius:6px;color:var(--accent-primary);cursor:pointer;font-size:14px;font-weight:600;padding:10px;transition:all .3s;width:100%}.see-all-btn:hover{background-color:var(--accent-light)}@media (max-width:768px){.notification-dropdown{max-width:380px;right:10px;width:calc(100vw - 20px)}.desktop-only{display:none!important}.desktop-clickable{cursor:default;pointer-events:none}.desktop-clickable:hover{transform:none}}.navbar{background-color:var(--bg-secondary);box-shadow:0 2px 8px var(--shadow);position:-webkit-sticky;position:sticky;top:0;transition:background-color .3s;z-index:4000}.nav-container{height:70px;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 20px}.nav-brand,.nav-container{align-items:center;display:flex}.nav-brand{text-decoration:none;transition:transform .3s,opacity .3s}.nav-brand:hover{opacity:.9;transform:scale(1.05)}.nav-brand-logo{height:36px;width:auto}.language-switcher{align-items:center;background-color:var(--bg-secondary);border:2px solid var(--accent-primary);border-radius:6px;color:var(--accent-primary);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:5px;margin-left:15px;padding:8px 16px;transition:all .3s}.language-switcher:hover{background-color:var(--accent-primary);color:#fff}.language-switcher-alone{margin-left:auto}.language-switcher-mobile-menu{display:none}.theme-toggle{align-items:center;background:none;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:24px;justify-content:center;margin-left:15px;padding:8px 12px;transition:all .3s}.theme-toggle:hover{background-color:var(--accent-light);transform:scale(1.1)}.theme-toggle-mobile-menu{display:none}.settings-button{align-items:center;border-radius:6px;display:flex;font-size:24px;justify-content:center;margin-left:15px;padding:8px 12px;text-decoration:none;transition:all .3s}.settings-button:hover{background-color:initial;transform:rotate(45deg)}.notification-button{align-items:center;background:none;border:none;border-radius:6px;cursor:pointer;display:none;font-size:24px;justify-content:center;margin-left:15px;padding:8px 12px;position:relative;transition:all .3s}.notification-button:hover{background-color:var(--accent-light);transform:scale(1.1)}@media (min-width:769px){.nav-brand{order:-2}.notification-button-mobile{display:flex!important;margin-left:15px;margin-right:0;order:3}.nav-links-desktop{order:1}.user-name-desktop{order:2}.language-switcher{order:4}.btn-logout{order:5}.settings-button{order:6}.nav-toggle{display:none}}.notification-badge{background-color:var(--danger);border-radius:10px;box-shadow:0 2px 4px #0003;color:#fff;font-size:11px;font-weight:700;min-width:18px;padding:2px 6px;position:absolute;right:2px;text-align:center;top:2px}.nav-links-desktop{align-items:center;display:flex;gap:15px;margin-left:auto}.nav-menu,.nav-overlay{display:none}.nav-link{border-radius:6px;color:var(--text-primary);font-weight:500;padding:8px 16px;text-decoration:none;transition:all .3s}.nav-link.active,.nav-link:hover{background-color:var(--accent-light);color:var(--accent-primary)}.nav-link-mobile-only{display:none}.user-name-desktop{border-radius:6px;color:var(--text-secondary);cursor:pointer;font-weight:500;margin-left:15px;padding:8px 16px;text-decoration:none;transition:all .3s}.user-name-desktop:hover{background-color:var(--accent-light);color:var(--accent-primary)}.nav-user{display:none}.user-name{border-radius:6px;color:var(--text-secondary);cursor:pointer;font-weight:500;padding:6px 12px;text-decoration:none;transition:all .3s}.user-name:hover{background-color:var(--accent-light);color:var(--accent-primary)}.btn-logout{background-color:var(--bg-secondary);border:2px solid var(--danger);border-radius:6px;color:var(--danger);cursor:pointer;font-weight:600;margin-left:20px;padding:8px 16px;transition:all .3s}.btn-logout:hover{background-color:var(--danger);color:#fff}.btn-logout-mobile,.nav-toggle{display:none}.nav-toggle{background:none;border:none;cursor:pointer;flex-direction:column;padding:5px;position:relative;z-index:5001}.nav-toggle span{background-color:var(--text-primary);height:3px;margin:3px 0;transition:.3s;width:25px}@media (max-width:768px){.language-switcher,.nav-links-desktop,.theme-toggle,.user-name-desktop{display:none}.language-switcher-alone{display:flex;font-size:12px;margin-right:10px;padding:6px 12px}.language-switcher-mobile-menu,.theme-toggle-mobile-menu{border-radius:8px;display:flex;font-size:13px;justify-content:center;margin:5px 0;padding:10px 12px;width:60%}.theme-toggle-mobile-menu{background-color:var(--bg-secondary);border:2px solid var(--accent-primary);color:var(--accent-primary);font-weight:600;gap:8px}.theme-toggle-mobile-menu:hover{background-color:var(--accent-primary);color:#fff}.notification-button-mobile{display:flex!important;margin-left:auto;margin-right:15px}.btn-logout:not(.btn-logout-mobile),.settings-button{display:none}.btn-logout-mobile{border-radius:8px!important;display:block!important;font-size:13px!important;margin:5px 0!important;padding:10px 12px!important;text-align:center!important;width:60%!important}.nav-toggle{display:flex;margin-left:0!important}.nav-overlay{animation:fadeIn .3s;background-color:#00000080;display:block;height:calc(100vh - 70px);height:calc(100dvh - 70px);left:0;position:fixed;top:70px;width:100%;z-index:4999}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.nav-menu{align-items:flex-start;background-color:var(--bg-secondary);box-shadow:-2px 0 8px var(--shadow);display:flex;flex-direction:column;gap:0;height:calc(100vh - 70px);height:calc(100dvh - 70px);margin-left:0;overflow-y:auto;padding:15px;position:fixed;right:-100%;top:70px;touch-action:pan-y;transition:right .3s,transform .1s;width:240px;z-index:5000}.nav-menu.active{right:0}.nav-link{border-radius:8px;font-size:15px;padding:12px 15px;width:100%}.nav-link-mobile-only{display:block}.nav-user{display:none}.nav-user-profile-mobile{align-items:center;border-top:2px solid var(--border-color);cursor:pointer;display:flex;flex-direction:column;gap:8px;margin-top:auto;padding:15px 20px;text-decoration:none;transition:background-color .2s}.nav-user-profile-mobile:hover{background-color:var(--accent-light)}.user-avatar-mobile{align-items:center;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-hover) 100%);border:3px solid var(--bg-secondary);border-radius:50%;box-shadow:0 4px 12px var(--shadow-hover);display:flex;height:60px;justify-content:center;overflow:hidden;width:60px}.avatar-img-mobile{height:100%;object-fit:cover;width:100%}.avatar-initials-mobile{color:#fff;font-size:22px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.user-name-mobile{color:var(--text-primary);font-size:15px;font-weight:600;text-align:center}.btn-logout-mobile{border-radius:8px;font-size:14px;margin-top:5px;padding:10px 15px;width:100%}}@media (min-width:769px){.nav-user-profile-mobile{display:none}}.app-footer{background:linear-gradient(135deg,#00aa9f,#00745e);box-shadow:0 -2px 10px #0000001a;color:#fff;margin-top:auto;padding:2rem 1rem}.footer-content{align-items:center;display:flex;flex-direction:column;gap:1rem;margin:0 auto;max-width:1200px}.footer-section{text-align:center}.footer-text{font-size:.9rem;margin:0;opacity:.9}.footer-info{font-size:.85rem;margin:0;opacity:.8}.footer-links{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.footer-link{border-radius:4px;color:#fff;font-size:.9rem;opacity:.9;padding:.25rem .5rem;text-decoration:none;transition:all .3s ease}.footer-link:hover{background:#ffffff1a;opacity:1;transform:translateY(-1px)}.footer-separator{font-size:.8rem;opacity:.5}@media (max-width:768px){.app-footer{padding:1.5rem 1rem}.footer-content{gap:.75rem}.footer-links{gap:.25rem}.footer-link{font-size:.85rem;padding:.2rem .4rem}.footer-separator{margin:0 .2rem}.footer-info,.footer-text{font-size:.8rem}}[data-theme=dark] .app-footer{background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-hover) 100%)}.bug-report-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.bug-report-modal{animation:slideUp .3s ease-out;background:var(--bg-secondary);border-radius:12px;box-shadow:0 10px 40px var(--shadow-hover);max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.bug-report-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:20px 24px}.bug-report-header h2{color:var(--text-primary);font-size:1.5rem;margin:0}.bug-report-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.5rem;line-height:1;padding:4px 8px;transition:color .2s}.bug-report-close:hover{color:var(--danger)}.bug-report-close:disabled{cursor:not-allowed;opacity:.5}.bug-report-form{padding:24px}.bug-report-info{background:var(--bg-tertiary);border-radius:8px;margin-bottom:20px;padding:12px 16px}.bug-report-info p{color:var(--text-secondary);font-size:.9rem;margin:0}.form-group label{font-size:.95rem}.form-group textarea{background-color:var(--bg-secondary);border:2px solid var(--border-color);color:var(--text-primary);transition:border-color .2s}.form-group textarea:focus{border-color:var(--accent-primary);outline:none}.form-group textarea:disabled{background:var(--bg-tertiary);cursor:not-allowed}.char-count{color:var(--text-tertiary);font-size:.85rem;margin-top:4px;text-align:right}.bug-report-error{background:var(--error-bg);border-left:4px solid var(--danger);border-radius:8px;color:var(--error-text);font-size:.9rem;margin-bottom:16px;padding:12px 16px}.bug-report-success{padding:60px 24px;text-align:center}.success-icon{align-items:center;animation:successPop .5s ease-out;background:#4caf50;border-radius:50%;color:#fff;display:flex;font-size:3rem;height:80px;justify-content:center;margin:0 auto 20px;width:80px}@keyframes successPop{0%{transform:scale(0)}50%{transform:scale(1.1)}to{transform:scale(1)}}.bug-report-success p{color:var(--text-primary);font-size:1.1rem;margin:0}.bug-report-actions{display:flex;gap:12px;margin-top:24px}.btn-cancel,.btn-submit{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:1rem;font-weight:500;padding:12px 24px;transition:all .2s}.btn-cancel{background:var(--bg-tertiary);color:var(--text-secondary)}.btn-cancel:hover:not(:disabled){background:var(--border-color)}.btn-submit{background:#e1723c;color:#fff}.btn-submit:hover:not(:disabled){background:#c85a2a;box-shadow:0 4px 12px #e1723c4d;transform:translateY(-1px)}.btn-cancel:disabled,.btn-submit:disabled{cursor:not-allowed;opacity:.6}.bug-report-privacy{border-top:1px solid var(--border-color);margin-top:20px;padding-top:16px}.bug-report-privacy small{color:var(--text-tertiary);font-size:.8rem;line-height:1.4}.floating-bug-button{align-items:center;background:#00aa9f;border:none;border-radius:28px;bottom:20px;box-shadow:0 4px 12px #00aa9f66;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:56px;justify-content:center;left:20px;overflow:hidden;padding:0;position:fixed;transition:all .3s ease;white-space:nowrap;width:56px;z-index:9999}.bug-button-text{font-size:.95rem;font-weight:500;left:50px;opacity:0;pointer-events:none;position:absolute;transform:translateX(-10px);transition:all .3s ease}.bug-button-icon{flex-shrink:0;font-size:1.5rem}.floating-bug-button:hover{background:#00745e;box-shadow:0 6px 20px #00aa9f80;justify-content:flex-start;padding:0 12px;transform:translateY(-2px);width:190px}.floating-bug-button:hover .bug-button-text{opacity:1;pointer-events:auto;transform:translateX(0)}.floating-bug-button:active{transform:translateY(0)}.btn-capture{background:#2196f3;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:12px;transition:all .2s;width:100%}.btn-capture:hover:not(:disabled){background:#1976d2}.btn-capture:disabled{cursor:not-allowed;opacity:.6}.screenshot-preview{border:2px solid var(--border-color);border-radius:8px;overflow:hidden;position:relative}.screenshot-preview img{background:var(--bg-tertiary);display:block;height:auto;max-height:300px;object-fit:contain;width:100%}.btn-remove-screenshot{background:#f44336e6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;padding:6px 12px;position:absolute;right:8px;top:8px;transition:all .2s}.btn-remove-screenshot:hover:not(:disabled){background:#d32f2f}.btn-remove-screenshot:disabled{cursor:not-allowed;opacity:.6}.floating-capture-button{align-items:center;animation:floatPulse 2s ease-in-out infinite;background:linear-gradient(135deg,#00aa9f,#00745e);border:none;border-radius:16px;bottom:50%;box-shadow:0 8px 32px #00aa9f66,0 0 0 4px #fff3;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:16px;left:50%;padding:20px 32px;position:fixed;transform:translate(-50%,50%);transition:all .3s ease;z-index:10001}.floating-capture-button:hover{box-shadow:0 12px 40px #00aa9f80,0 0 0 4px #ffffff4d;transform:translate(-50%,50%) scale(1.05)}.floating-capture-button:active{transform:translate(-50%,50%) scale(.98)}@keyframes floatPulse{0%,to{box-shadow:0 8px 32px #00aa9f66,0 0 0 4px #fff3}50%{box-shadow:0 8px 40px #00aa9f99,0 0 0 6px #ffffff4d}}.capture-button-content{align-items:center;display:flex;gap:12px}.capture-icon{font-size:1.8rem}.capture-text{font-size:1.1rem}.capture-cancel-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1rem;height:32px;justify-content:center;margin-left:8px;transition:all .2s;width:32px}.capture-cancel-btn:hover{background:#ffffff4d}.screenshot-actions{background:#0000000d;display:flex;gap:8px;padding:8px}.btn-recapture{background:#2196f3;border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-size:.85rem;font-weight:500;padding:8px 12px;transition:all .2s}.btn-recapture:hover:not(:disabled){background:#1976d2}.btn-recapture:disabled{cursor:not-allowed;opacity:.6}.screenshot-actions .btn-remove-screenshot{flex:1 1;position:static}.no-screenshot{background:var(--bg-tertiary);border:2px dashed var(--border-color);border-radius:8px;padding:20px;text-align:center}.no-screenshot-text{color:var(--text-secondary);font-size:.9rem;margin:0 0 12px}.floating-bug-button.capturing{animation:capturingPulse 1s ease-in-out infinite;background:#ff9800;border-radius:50%!important;height:56px!important;justify-content:center!important;padding:0!important;width:56px!important}.floating-bug-button.capturing:hover{background:#f57c00;transform:none;width:56px!important}.floating-bug-button.capturing .bug-button-text{display:none}@keyframes capturingPulse{0%,to{box-shadow:0 4px 12px #ff980066}50%{box-shadow:0 4px 20px #ff9800b3}}@media (max-width:768px){.bug-report-modal{margin:10px;max-width:calc(100% - 20px)}.bug-report-header{padding:16px 20px}.bug-report-form{padding:20px}.floating-bug-button{border-radius:50%;bottom:16px;height:48px;justify-content:center;left:16px;padding:0;width:48px}.bug-button-text{display:none}.bug-button-icon{font-size:1.3rem;margin:0}.floating-bug-button:hover{width:48px}.floating-bug-button:hover .bug-button-text{display:none}}.splash-screen{align-items:center;background:linear-gradient(135deg,#fff,#f0f9f8);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;transition:opacity .3s ease-out;z-index:9999}.splash-screen.fade-out{opacity:0;pointer-events:none}.splash-logo{height:128px;width:240px}[data-theme=dark] .splash-screen{background:linear-gradient(135deg,#1a1a1a,#0d1f1d)}.auth-container{align-items:center;background:linear-gradient(135deg,#00aa9f,#00745e);display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-card{background:var(--bg-secondary);border-radius:16px;box-shadow:0 20px 60px var(--shadow-hover);max-width:450px;padding:40px;transition:all .3s;width:100%}.register-card{max-width:600px}.auth-card h1{color:var(--text-primary);font-size:32px;margin-bottom:10px}.auth-card h1,.auth-subtitle{text-align:center;transition:color .3s}.auth-subtitle{color:var(--text-secondary);margin-bottom:30px}.auth-form{display:flex;flex-direction:column;gap:20px}.form-group label{transition:color .3s}.form-group input,.form-group textarea{background-color:var(--bg-secondary);border:2px solid var(--border-color);color:var(--text-primary);transition:all .3s}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent-primary);outline:none}.password-input-container{align-items:center;display:flex;position:relative}.password-input-container input{padding-right:45px;width:100%}.password-toggle{align-items:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:8px;position:absolute;right:12px;transition:color .3s}.password-toggle:hover{color:var(--accent-primary)}.password-toggle:focus{outline:none}.section-title{font-size:20px;margin-bottom:5px;margin-top:10px;transition:color .3s}.section-subtitle{color:var(--text-secondary);font-size:14px;margin-bottom:15px;transition:color .3s}.auth-links{margin-bottom:10px;margin-top:-10px;text-align:right}.auth-form+.auth-links{margin-bottom:0;margin-top:20px;text-align:center}.auth-links a{color:var(--accent-primary);font-size:14px;font-weight:500;text-decoration:none;transition:color .3s}.auth-links a:hover{text-decoration:underline}.success-message{padding:12px 16px}.error-message,.success-message{font-size:14px;margin-bottom:15px}.error-message{position:relative;transition:all .3s;z-index:10}.auth-footer{color:var(--text-secondary);margin-top:20px;text-align:center;transition:color .3s}.auth-footer a{color:var(--accent-primary);font-weight:600;text-decoration:none;transition:color .3s}.auth-footer a:hover{text-decoration:underline}.auth-button{background:linear-gradient(135deg,#e1723c,#c85a2a);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 20px;transition:transform .2s,box-shadow .2s}.auth-button:hover:not(:disabled){box-shadow:0 8px 20px #e1723c66;transform:translateY(-2px)}.auth-button:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.auth-card{padding:30px 20px}.auth-card h1{font-size:24px}.form-row{grid-template-columns:1fr}.register-card{max-width:100%}}@media (max-width:480px){.auth-container{padding:10px}.auth-card{padding:20px 15px}.form-group input{font-size:16px}}.oauth-separator{align-items:center;display:flex;margin:24px 0;text-align:center}.oauth-separator:after,.oauth-separator:before{border-bottom:1px solid var(--border-color);content:"";flex:1 1}.oauth-separator span{color:var(--text-secondary);font-size:14px;font-weight:500;padding:0 16px}.btn-google-oauth{align-items:center;background-color:#fff;border:2px solid #e0e0e0;border-radius:8px;color:#333;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:12px;justify-content:center;margin-bottom:8px;padding:12px 24px;transition:all .3s;width:100%}.btn-google-oauth:hover:not(:disabled){background-color:#f8f9fa;border-color:#4285f4;box-shadow:0 4px 12px #4285f433;transform:translateY(-2px)}.btn-google-oauth:active:not(:disabled){transform:translateY(0)}.btn-google-oauth:disabled{cursor:not-allowed;opacity:.6}[data-theme=dark] .btn-google-oauth{background-color:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .btn-google-oauth:hover:not(:disabled){background-color:var(--bg-secondary);border-color:#4285f4}.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{left:0;position:absolute;top:0}.leaflet-container{overflow:hidden}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.leaflet-tile::selection{background:#0000}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{height:1600px;-webkit-transform-origin:0 0;width:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-height:none!important;max-width:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-height:none!important;max-width:none!important;padding:0;width:auto}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;height:0;width:0;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{height:1px;width:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{pointer-events:visiblePainted;pointer-events:auto;position:relative;z-index:800}.leaflet-bottom,.leaflet-top{pointer-events:none;position:absolute;z-index:1000}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{clear:both;float:left}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;color:#000;display:block;height:26px;line-height:26px;text-align:center;text-decoration:none;width:26px}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:focus,.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.leaflet-bar a.leaflet-disabled{background-color:#f4f4f4;color:#bbb;cursor:default}.leaflet-touch .leaflet-bar a{height:30px;line-height:30px;width:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);height:36px;width:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{height:44px;width:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{background:#fff;color:#333;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{overflow-x:hidden;overflow-y:scroll;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;line-height:1.4;padding:0 5px}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:focus,.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;height:.6669em;vertical-align:initial!important;width:1em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{background:#fffc;border:2px solid #777;border-top:none;box-sizing:border-box;line-height:1.1;padding:2px 5px 1px;text-shadow:1px 1px #fff;white-space:nowrap}.leaflet-control-scale-line:not(:first-child){border-bottom:none;border-top:2px solid #777;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{margin-bottom:20px;position:absolute;text-align:center}.leaflet-popup-content-wrapper{border-radius:12px;padding:1px;text-align:left}.leaflet-popup-content{font-size:13px;font-size:1.08333em;line-height:1.3;margin:13px 24px 13px 20px;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{height:20px;left:50%;margin-left:-20px;margin-top:-1px;overflow:hidden;pointer-events:none;position:absolute;width:40px}.leaflet-popup-tip{height:17px;margin:-10px auto 0;padding:1px;pointer-events:auto;transform:rotate(45deg);width:17px}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;box-shadow:0 3px 14px #0006;color:#333}.leaflet-container a.leaflet-popup-close-button{background:#0000;border:none;color:#757575;font:16px/24px Tahoma,Verdana,sans-serif;height:24px;position:absolute;right:0;text-align:center;text-decoration:none;top:0;width:24px}.leaflet-container a.leaflet-popup-close-button:focus,.leaflet-container a.leaflet-popup-close-button:hover{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678,M12=0.70710678,M21=-0.70710678,M22=0.70710678);margin:0 auto;width:24px}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{background-color:#fff;border:1px solid #fff;border-radius:3px;box-shadow:0 1px 3px #0006;color:#222;padding:6px;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;white-space:nowrap}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{background:#0000;border:6px solid #0000;content:"";pointer-events:none;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{border-top-color:#fff;bottom:0;margin-bottom:-12px}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-left:-6px;margin-top:-12px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;left:0;margin-left:-12px}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.address-map-search{display:flex;flex-direction:column;gap:15px;width:100%}.search-container{position:relative;width:100%}.search-input-wrapper{align-items:center;display:flex;position:relative}.search-input{background-color:var(--bg-primary);border:2px solid var(--border-color);color:var(--text-primary);font-size:15px;padding:12px 45px 12px 14px;transition:all .3s;width:100%}.search-button{align-items:center;background:#00aa9f;background:var(--accent-primary,#00aa9f);border:none;border-radius:6px;cursor:pointer;display:flex;height:36px;justify-content:center;position:absolute;right:4px;transition:all .2s;width:36px}.search-button:hover:not(:disabled){background:#00745e;background:var(--accent-hover,#00745e)}.search-button:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.search-button .search-icon-svg{color:#fff;height:18px;width:18px}[data-theme=dark] .search-button .search-icon-svg{color:#fff}.search-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-light)}.loading-spinner{animation:spin 1s linear infinite;font-size:16px;position:absolute;right:12px}.suggestions-dropdown{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px var(--shadow);left:0;max-height:300px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 5px);z-index:1001}.suggestion-item{border-bottom:1px solid var(--border-color);cursor:pointer;padding:12px 15px;transition:background-color .2s}.suggestion-item:last-child{border-bottom:none}.suggestion-item.selected,.suggestion-item:hover{background-color:var(--accent-light)}.suggestion-main{color:var(--text-primary);font-size:14px;margin-bottom:4px}.suggestion-precision{color:var(--text-secondary);font-size:12px}.map-wrapper{border:2px solid var(--border-color);border-radius:12px;height:400px;overflow:hidden;position:relative;width:100%}.leaflet-map{height:100%;width:100%}.btn-geolocation{align-items:center;background-color:#fff;border:2px solid var(--accent-primary);border-radius:8px;bottom:20px;box-shadow:0 2px 8px #0003;color:var(--accent-primary);cursor:pointer;display:flex;font-size:14px;font-weight:600;justify-content:center;padding:10px 16px;position:absolute;right:20px;transition:all .3s;white-space:nowrap;z-index:1000}.btn-geolocation:hover{background-color:var(--accent-primary);color:#fff;transform:scale(1.05)}.btn-geolocation:active{transform:scale(.98)}.address-info{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;gap:10px;padding:15px}.address-display,.address-info{display:flex;flex-direction:column}.address-display{gap:5px}.address-display strong{color:var(--accent-primary);font-size:14px}.address-display p{color:var(--text-primary);font-size:15px;margin:0}.address-precision{align-items:center;border-top:1px solid var(--border-color);color:var(--text-secondary);display:flex;font-size:13px;gap:8px;margin-top:10px;padding-top:10px}.address-precision strong{color:var(--text-primary)}.editable-address-section{display:flex;flex-direction:column;gap:8px;margin-top:10px}.suggestion-title{color:var(--accent-primary);font-size:15px;margin-bottom:4px}.editable-address-section label{color:var(--text-primary);font-size:13px}.editable-label{align-items:center;display:flex;gap:8px}.modifier-icon{height:18px;object-fit:contain;width:18px}.editable-address-input{background-color:var(--bg-primary);border:2px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-family:inherit;font-size:14px;line-height:1.4;min-height:60px;padding:10px 12px;resize:vertical;transition:all .3s;width:100%}.editable-address-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-light);outline:none}.editable-address-input::placeholder{color:var(--text-secondary);font-style:italic}.help-text{background-color:var(--accent-light);border-left:3px solid var(--accent-primary);border-radius:4px;color:var(--text-secondary);font-size:13px;padding:10px 15px}.leaflet-map .leaflet-control-attribution,.leaflet-map .leaflet-control-zoom{z-index:999!important}@media (max-width:768px){.map-wrapper{height:350px}.search-input{font-size:14px;padding:10px 40px}.suggestion-item{padding:10px 12px}.suggestion-main{font-size:13px}.btn-geolocation{bottom:15px;font-size:12px;padding:8px 12px;right:15px}.address-info{padding:12px}.help-text{font-size:12px;padding:8px 12px}}[data-theme=dark] .btn-geolocation{background-color:var(--bg-secondary);color:var(--text-primary)}[data-theme=dark] .btn-geolocation:hover{background-color:var(--accent-primary);color:#fff}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background-color:var(--bg-secondary)}.simple-address-input{width:100%}.simple-address-input .form-group{margin-bottom:16px}.simple-address-input .form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:16px}.simple-address-input label{color:var(--text-primary);display:block;font-weight:500;margin-bottom:6px}.simple-address-input .required{color:var(--danger)}.simple-address-input input{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:15px;padding:12px;transition:border-color .2s,background-color .3s,color .3s;width:100%}.simple-address-input input::placeholder{color:var(--text-tertiary)}.simple-address-input input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-light);outline:none}.validation-error{background-color:var(--error-bg);border-left:4px solid var(--danger);color:var(--error-text)}.validating-message,.validation-error{border-radius:4px;font-size:14px;padding:12px}.validating-message{background-color:var(--bg-tertiary);border-left:4px solid var(--accent-primary);color:var(--text-secondary)}.address-mode-toggle{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;margin-top:24px;padding:16px;text-align:center}.toggle-hint{color:var(--text-secondary);font-size:14px;font-weight:500;margin:0 0 12px}.btn-toggle-advanced{background:none;border:none;color:var(--accent-primary);cursor:pointer;font-size:14px;font-weight:500;padding:0;text-decoration:underline;transition:opacity .2s}.btn-toggle-advanced:hover{opacity:.8}@media (max-width:768px){.simple-address-input .form-row{gap:16px;grid-template-columns:1fr}}.privacy-setup-container{align-items:center;background:linear-gradient(135deg,var(--accent-light) 0,var(--bg-primary) 100%);display:flex;justify-content:center;min-height:100vh;padding:20px}.privacy-setup-card{background-color:var(--bg-secondary);border-radius:16px;box-shadow:0 8px 24px var(--shadow);max-width:700px;padding:40px;width:100%}.privacy-setup-card h1{color:var(--accent-primary);font-size:28px;margin-bottom:10px;text-align:center}.subtitle{font-size:15px;margin-bottom:30px}.privacy-form{display:flex;flex-direction:column;gap:30px}.address-section{background-color:var(--accent-light);border-radius:12px;padding:20px;text-align:center}.address-section h3{color:var(--accent-primary);font-size:18px;margin-bottom:12px}.complete-address{color:var(--text-primary);font-size:16px}.complete-address p{margin:5px 0}.additional-info-section{background-color:var(--bg-primary);border:2px solid var(--border-color);border-radius:12px;padding:20px;text-align:center}.additional-info-section h3{color:var(--text-primary);font-size:18px;margin-bottom:10px}.info-explanation{color:var(--text-secondary);font-size:14px;line-height:1.5;margin-bottom:20px}.form-group{margin-bottom:15px}.form-group label{text-align:left}.form-group input{background-color:var(--bg-secondary);border:2px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:15px;padding:12px;transition:all .3s;width:100%}.form-group input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-light);outline:none}.visibility-section{background-color:var(--bg-primary);border:2px solid var(--border-color);border-radius:12px;padding:20px;text-align:center}.visibility-section h3{color:var(--text-primary);font-size:18px;margin-bottom:10px}.visibility-tip{background-color:var(--accent-light);border-radius:8px;margin-bottom:15px;padding:10px 15px}.visibility-explanation,.visibility-tip{color:var(--text-secondary);font-size:14px;line-height:1.5}.visibility-explanation{margin-bottom:20px}.level-slider-container{margin-top:20px}.level-labels{display:flex;justify-content:space-between;margin-bottom:10px}.level-label{color:var(--text-secondary);font-size:13px;font-weight:600}.level-slider{-webkit-appearance:none;background:linear-gradient(90deg,#e1723c 0,#00aa9f);border-radius:4px;cursor:pointer;height:8px;outline:none;width:100%}.level-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#fff;border:3px solid var(--accent-primary);border-radius:50%;box-shadow:0 2px 8px #0003;cursor:pointer;height:24px;-webkit-transition:transform .2s;transition:transform .2s;width:24px}.level-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.level-slider::-moz-range-thumb{background:#fff;border:3px solid var(--accent-primary);border-radius:50%;box-shadow:0 2px 8px #0003;cursor:pointer;height:24px;-moz-transition:transform .2s;transition:transform .2s;width:24px}.level-slider::-moz-range-thumb:hover{transform:scale(1.2)}.level-indicators{display:flex;justify-content:space-between;margin-bottom:20px;margin-top:15px}.level-indicator{-webkit-tap-highlight-color:transparent;align-items:center;background-color:var(--bg-secondary);border:2px solid var(--border-color);border-radius:50%;color:var(--text-secondary);display:flex;font-size:16px;font-weight:700;height:40px;justify-content:center;outline:none;transition:all .3s;width:40px}.level-indicator.active{background-color:var(--accent-primary);border-color:var(--accent-primary);color:#fff;transform:scale(1.1)}.level-info{background-color:var(--accent-light);border-radius:8px;margin-top:15px;padding:15px}.level-info strong{color:var(--accent-primary);display:block;font-size:16px;margin-bottom:8px}.level-info p{color:var(--text-primary);font-size:14px;margin:0}.level-warning{color:#e1723c!important;font-weight:600;margin-top:10px!important}.address-preview{background-color:var(--bg-secondary);border:2px solid var(--accent-primary);border-radius:12px;margin-top:25px;padding:20px;text-align:center}.address-preview h4{color:var(--accent-primary);font-size:16px;margin-bottom:12px}.preview-box{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:15px}.preview-box pre{word-wrap:break-word;color:var(--text-primary);font-family:inherit;font-size:15px;margin:0;white-space:pre-wrap}.action-buttons{display:flex;gap:15px;margin-top:20px}.btn-skip{background-color:var(--bg-primary);border:2px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:14px 24px;transition:all .3s}.btn-skip:hover{background-color:var(--bg-secondary);border-color:var(--accent-primary)}.btn-primary{flex:2 1;padding:14px 24px;transition:all .3s}.btn-primary:hover:not(:disabled){background-color:var(--accent-dark);box-shadow:0 4px 12px #0003}.btn-primary:disabled{opacity:.6}@media (max-width:768px){.privacy-setup-card{padding:25px 20px}.privacy-setup-card h1{font-size:24px}.action-buttons{flex-direction:column}.level-indicator{font-size:14px;height:32px;width:32px}}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker__sr-only{border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.react-datepicker-wrapper{border:0;display:inline-block;padding:0}.react-datepicker{background-color:#fff;border:1px solid #aeaeae;border-radius:.3rem;color:#000;display:inline-block;font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;line-height:normal;position:relative}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker-popper{line-height:0;z-index:1}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker__header{background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative;text-align:center}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select){border-top-right-radius:.3rem}.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__year-dropdown-container--select{display:inline-block;margin:0 15px}.react-datepicker-time__header,.react-datepicker-year-header,.react-datepicker__current-month{color:#000;font-size:.944rem;font-weight:700;margin-top:0}h2.react-datepicker__current-month{margin:0;padding:0}.react-datepicker-time__header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.react-datepicker__navigation{align-items:center;background:none;border:none;cursor:pointer;display:flex;height:32px;justify-content:center;overflow:hidden;padding:0;position:absolute;text-align:center;text-indent:-999em;top:2px;width:32px;z-index:1}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{display:block;margin-left:auto;margin-right:auto;position:relative;top:0}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover :before{border-color:#a6a6a6}.react-datepicker__navigation-icon{font-size:20px;position:relative;top:-1px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{left:-7px;transform:rotate(45deg)}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{right:-7px;transform:rotate(225deg)}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.4rem;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;margin:2px;width:4rem}.react-datepicker__month{margin:.4rem;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;margin:2px;width:4rem}.react-datepicker__input-time-container{clear:both;float:left;margin:5px 0 10px 15px;text-align:left;width:100%}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{display:inline-block;margin-left:5px}.react-datepicker__time-container{border-left:1px solid #aeaeae;float:right;width:85px}.react-datepicker__time-container--with-today-button{border:1px solid #aeaeae;border-radius:.3rem;display:inline;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{background:#fff;border-bottom-right-radius:.3rem;position:relative}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{border-bottom-right-radius:.3rem;margin:0 auto;overflow-x:hidden;text-align:center;width:85px}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{box-sizing:initial;height:calc(195px + .85rem);list-style:none;margin:0;overflow-y:scroll;padding-left:0;padding-right:0;width:100%}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{background-color:#f0f0f0;cursor:pointer}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{background-color:initial;cursor:default}.react-datepicker__week-number{color:#ccc;display:inline-block;line-height:1.7rem;margin:.166rem;text-align:center;width:1.7rem}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__week-number--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{margin-bottom:-8px;text-align:center;white-space:nowrap}.react-datepicker__week{white-space:nowrap}.react-datepicker__day,.react-datepicker__day-name,.react-datepicker__time-name{color:#000;display:inline-block;line-height:1.7rem;margin:.166rem;text-align:center;width:1.7rem}.react-datepicker__day--disabled,.react-datepicker__day-name--disabled,.react-datepicker__time-name--disabled{color:#ccc;cursor:default}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{background-color:#3dcc4a;border-radius:.3rem;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{background-color:#ff6803;border-radius:.3rem;color:#fff;position:relative}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{background-color:#333;border-radius:4px;bottom:100%;color:#fff;left:50%;opacity:0;padding:4px;position:absolute;transform:translateX(-50%);transition:visibility 0s,opacity .3s ease-in-out;visibility:hidden;white-space:nowrap}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{opacity:1;visibility:visible}.react-datepicker__day--in-range,.react-datepicker__day--in-selecting-range,.react-datepicker__day--selected,.react-datepicker__month-text--in-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--selected,.react-datepicker__quarter-text--in-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--selected,.react-datepicker__year-text--in-range,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{background-color:#bad9f1;border-radius:.3rem;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90;color:#fff}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{color:#ccc;cursor:default}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{background-color:#333;border-radius:4px;bottom:70%;color:#fff;left:50%;opacity:0;padding:4px;position:absolute;transform:translateX(-50%);transition:visibility 0s,opacity .3s ease-in-out;visibility:hidden;white-space:nowrap}.react-datepicker__input-container{display:inline-block;position:relative;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{box-sizing:initial;padding:.5rem;position:absolute}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__month-read-view,.react-datepicker__month-year-read-view,.react-datepicker__year-read-view{border:1px solid #0000;border-radius:.3rem;position:relative}.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover,.react-datepicker__year-read-view:hover{cursor:pointer}.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__year-read-view--down-arrow{right:-16px;top:0;transform:rotate(135deg)}.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown,.react-datepicker__year-dropdown{background-color:#f0f0f0;border:1px solid #aeaeae;border-radius:.3rem;left:25%;position:absolute;text-align:center;top:30px;width:50%;z-index:1}.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover,.react-datepicker__year-dropdown:hover{cursor:pointer}.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable,.react-datepicker__year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__month-option,.react-datepicker__month-year-option,.react-datepicker__year-option{display:block;line-height:20px;margin-left:auto;margin-right:auto;width:100%}.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type,.react-datepicker__year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type,.react-datepicker__year-option:last-of-type{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem;-webkit-user-select:none;user-select:none}.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover,.react-datepicker__year-option:hover{background-color:#ccc}.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected,.react-datepicker__year-option--selected{left:15px;position:absolute}.react-datepicker__close-icon{background-color:initial;border:0;cursor:pointer;display:table-cell;height:100%;outline:0;padding:0 6px 0 0;position:absolute;right:0;top:0;vertical-align:middle}.react-datepicker__close-icon:after{background-color:#216ba5;border-radius:50%;color:#fff;content:"×";cursor:pointer;display:table-cell;font-size:12px;height:16px;line-height:1;padding:2px;text-align:center;vertical-align:middle;width:16px}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{background-color:#ccc;cursor:default}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;clear:left;cursor:pointer;font-weight:700;padding:5px 0;text-align:center}.react-datepicker__portal{align-items:center;background-color:#000c;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:2147483647}.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__time-name{line-height:3rem;width:3rem}@media (max-height:550px),(max-width:400px){.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__time-name{line-height:2rem;width:2rem}}.react-datepicker__portal .react-datepicker-time__header,.react-datepicker__portal .react-datepicker__current-month{font-size:1.44rem}.react-datepicker__children-container{height:auto;margin:.4rem;padding-left:.2rem;padding-right:.2rem;width:13.8rem}.react-datepicker__aria-live{border:0;-webkit-clip-path:circle(0);clip-path:circle(0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.react-datepicker__calendar-icon{height:1em;vertical-align:-.125em;width:1em}.map-page{height:calc(100vh - 70px);height:calc(100dvh - 70px);overflow:hidden;position:relative;width:100%}@supports not (height:100dvh){.map-page{height:calc(100vh - 70px);height:calc(var(--vh, 1vh)*100 - 70px)}}.leaflet-dark-mode .leaflet-tiles-dark{filter:invert(1) hue-rotate(180deg) brightness(.9) contrast(1.1)}.leaflet-dark-mode .leaflet-container{background:var(--bg-primary)}.leaflet-dark-mode .leaflet-popup-content-wrapper,.leaflet-dark-mode .leaflet-popup-tip{background:var(--bg-secondary);box-shadow:0 3px 14px var(--shadow-hover);color:var(--text-primary)}.leaflet-dark-mode .leaflet-popup-content-wrapper{border:1px solid #ffffff26}.leaflet-dark-mode .leaflet-popup-tip{border-bottom:1px solid #ffffff26;border-left:1px solid #ffffff26}.leaflet-control-zoom{bottom:145px!important;left:auto!important;margin:0!important;position:fixed!important;right:20px!important;top:auto!important}.leaflet-dark-mode .leaflet-control-zoom a{background-color:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}.leaflet-dark-mode .leaflet-control-zoom a:hover{background-color:var(--bg-tertiary)}.leaflet-dark-mode .leaflet-control-attribution{background-color:#1e1e1ecc;color:var(--text-secondary)}.leaflet-dark-mode .leaflet-control-attribution a{color:var(--accent-primary)}.map-loading{background:var(--bg-secondary);border-radius:12px;box-shadow:0 4px 12px var(--shadow);left:50%;padding:30px;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);transition:all .3s;z-index:1000}.map-loading p{color:var(--text-secondary);margin-top:15px;transition:color .3s}.map-error{background-color:#f8d7da;color:#721c24;padding:12px 24px;top:20px}.map-error,.map-geo-warning{border-radius:8px;box-shadow:0 4px 12px #00000026;left:50%;position:absolute;transform:translateX(-50%);z-index:1000}.map-geo-warning{background-color:#fff3cd;color:#856404;font-size:14px;max-width:400px;padding:12px 40px 12px 24px;text-align:center;top:80px}.geo-warning-close{background:#0000;border:none;color:#856404;cursor:pointer;font-size:16px;line-height:1;opacity:.7;padding:4px 8px;position:absolute;right:8px;top:8px;transition:opacity .2s}.geo-warning-close:hover{opacity:1}.map-empty{background:var(--bg-secondary);border-radius:12px;box-shadow:0 4px 12px var(--shadow);left:50%;padding:40px;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);transition:all .3s;z-index:1000}.map-empty-close{align-items:center;background:#0000;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;line-height:1;padding:0;position:absolute;right:12px;top:12px;transition:all .2s ease;width:32px}.map-empty-close:hover{background:var(--bg-tertiary);color:var(--text-primary);transform:scale(1.1)}.map-empty h2{color:var(--text-primary);margin-bottom:15px;transition:color .3s}.map-empty p{color:var(--text-secondary);transition:color .3s}.user-location-marker{background:#0000!important;border:none!important}.user-marker-dot{animation:pulse 2s ease-in-out infinite;background-color:#00aa9f;border:2.5px solid #fff;border-radius:50%;box-shadow:0 0 8px #00aa9f99,0 0 0 2px #00aa9f4d;height:16px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:16px}.user-marker-dot.route-origin{animation:pulse-orange 2s ease-in-out infinite;background-color:#e1723c;box-shadow:0 0 8px #e1723c99,0 0 0 2px #e1723c4d}@keyframes pulse-orange{0%,to{box-shadow:0 0 8px #e1723c99,0 0 0 2px #e1723c4d}50%{box-shadow:0 0 16px #e1723ccc,0 0 0 4px #e1723c80}}.map-popup{padding:10px;text-align:center}.map-popup h3{color:var(--text-primary);font-size:16px;margin:10px 0 5px;transition:color .3s}.map-popup p{color:var(--text-secondary);font-size:14px;margin:0;transition:color .3s}.popup-photo{border:3px solid var(--accent-primary);border-radius:50%;height:80px;margin-bottom:10px;object-fit:cover;transition:border-color .3s;width:80px}.popup-buttons{gap:10px;margin-top:12px}.popup-buttons,.popup-icon-button{display:flex;justify-content:center}.popup-icon-button{align-items:center;border:none;border-radius:50%;box-shadow:0 2px 6px #0003;cursor:pointer;font-size:22px;height:45px;line-height:1;padding:0;transition:all .3s ease;width:45px}.popup-icon-button:hover{box-shadow:0 4px 12px #0000004d;transform:scale(1.1)}.popup-icon-button:active{transform:scale(.95)}.popup-icon-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.contact-icon{background:linear-gradient(135deg,#00aa9f,#00745e)}.contact-icon:hover:not(:disabled){background:linear-gradient(135deg,#00745e,#005547)}.directions-icon{background:linear-gradient(135deg,#e1723c,#c85a2a)}.directions-icon:hover{background:linear-gradient(135deg,#c85a2a,#b04d22)}.waypoint-icon{background:linear-gradient(135deg,#ff9800,#f57c00);font-size:18px;font-weight:700}.waypoint-icon:hover{background:linear-gradient(135deg,#f57c00,#e65100)}.contact-modal-overlay{align-items:center;animation:fadeIn .3s ease;background-color:#00000080;display:flex;height:calc(100% - 90px);justify-content:center;left:0;position:fixed;top:90px;width:100%;z-index:3000}.contact-modal{animation:slideDown .3s ease;background:var(--bg-secondary);border-radius:12px;box-shadow:0 10px 40px var(--shadow-hover);display:flex;flex-direction:column;height:auto;max-height:90vh;max-width:500px;overflow:hidden;position:relative;transition:background-color .3s;width:90%}.modal-close{font-size:28px;transition:all .2s ease;z-index:10}.modal-close:hover{transform:rotate(90deg)}.modal-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-grow:0;flex-shrink:0;padding:30px 30px 20px;text-align:center;transition:all .3s}.modal-photo{border:4px solid var(--accent-primary);border-radius:50%;height:100px;object-fit:cover;transition:border-color .3s;width:100px}.modal-header h2{align-items:center;color:var(--text-primary);display:flex;flex-direction:column;font-size:24px;gap:10px;margin:0;transition:color .3s}.traveling-badge{border-radius:14px;font-size:12px;padding:6px 12px}.modal-content{-webkit-overflow-scrolling:touch;flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;padding:25px 20px}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:#0000;margin:4px 0}.modal-content::-webkit-scrollbar-thumb{background:#4a90e266;border-radius:10px;-webkit-transition:background .3s;transition:background .3s}.modal-content::-webkit-scrollbar-thumb:hover{background:#4a90e2b3}.contact-info{flex-direction:column;gap:15px}.contact-info,.contact-item-inline{box-sizing:border-box;display:flex;width:100%}.contact-item-inline{align-items:center;flex-wrap:wrap;gap:8px}.contact-item-inline strong{color:#00aa9f;flex-shrink:0;font-size:14px;font-weight:600}.contact-item-inline a,.contact-item-inline span{color:var(--text-primary);font-size:15px;line-height:1.6;transition:color .3s}.contact-item-inline a{color:#00aa9f;text-decoration:none;transition:color .2s ease}.contact-item-inline a:hover{color:#00745e;text-decoration:underline}[data-theme=dark] .contact-item-inline strong{color:#7eb8ff}[data-theme=dark] .contact-item-inline a{color:#e0e0e0}[data-theme=dark] .contact-item-inline a:hover{color:#fff;text-decoration:underline}[data-theme=dark] .contact-item-temp-location{background-color:initial;border-color:#fff}[data-theme=dark] .temp-location-name{color:#fff}[data-theme=dark] .temp-location-dates,[data-theme=dark] .temp-location-description{color:#d0d0d0}[data-theme=dark] .modal-actions{background:#0000;border-top-color:var(--border-color)}.contact-item-address,.contact-item-groups,.contact-item-temp-location{align-items:center;border-top:1px solid var(--border-color);display:flex;gap:10px;margin-top:5px;padding-top:5px;transition:border-color .3s}.contact-item-temp-location{background-color:#e1723c1a;border:1px solid #e1723c;border-radius:8px;padding:10px}.temp-location-name{color:var(--text-primary);font-weight:600;transition:color .3s}.temp-location-description{font-size:14px;font-style:italic}.temp-location-dates,.temp-location-description{color:var(--text-secondary);transition:color .3s}.temp-location-dates{font-size:13px;font-weight:500}.friend-groups-badges-inline{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:6px}.no-group-text{color:#999;font-size:14px;font-style:italic}.btn-add-to-group-inline,.btn-directions-inline{align-items:center;background-color:#00aa9f;border:none;border-radius:50%;box-shadow:0 2px 4px #4a90e24d;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;font-weight:700;height:28px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:28px}.btn-directions-inline{background-color:#28a745;box-shadow:0 2px 4px #28a7454d}.btn-add-to-group-inline:hover{background-color:#00745e;box-shadow:0 3px 6px #4a90e266;transform:scale(1.1)}.btn-directions-inline:hover{background-color:#218838;box-shadow:0 3px 6px #28a74566;transform:scale(1.1)}.btn-add-to-group-inline:active,.btn-directions-inline:active{transform:scale(.95)}.modal-actions{background:#fff;border-top:1px solid #e0e0e0;flex-grow:0;flex-shrink:0;justify-content:center}.directions-button{align-items:center;background-color:#28a745;border:none;border-radius:8px;box-shadow:0 2px 8px #28a7454d;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:10px;justify-content:center;max-width:300px;padding:12px 24px;transition:all .3s ease;width:100%}.directions-button:hover{background-color:#218838;box-shadow:0 4px 12px #28a74566;transform:translateY(-2px)}.directions-button:active{transform:translateY(0)}.button-icon{font-size:20px}.center-position-button{align-items:center;background-color:#fff;border:2px solid #0003;border-radius:25px;bottom:20px;box-shadow:0 2px 6px #0000004d;cursor:pointer;display:flex;height:50px;justify-content:center;overflow:hidden;padding:0;position:absolute;right:20px;transition:all .3s ease;white-space:nowrap;width:50px;z-index:1000}.center-button-text{color:#333;font-size:.95rem;font-weight:500;opacity:0;pointer-events:none;position:absolute;right:50px;transform:translateX(10px);transition:all .3s ease}.add-temp-location-button{align-items:center;background-color:#fff;border:2px solid #0003;border-radius:25px;bottom:80px;box-shadow:0 2px 6px #0000004d;cursor:pointer;display:flex;height:50px;justify-content:center;overflow:hidden;padding:0;position:absolute;right:20px;transition:all .3s ease;white-space:nowrap;width:50px;z-index:1000}.temp-location-button-text{color:#333;font-size:.95rem;font-weight:500;opacity:0;pointer-events:none;position:absolute;right:50px;transform:translateX(10px);transition:all .3s ease}.center-position-button:hover{background-color:#00aa9f;border-color:#00aa9f;box-shadow:0 6px 20px #4a90e280;justify-content:flex-end;padding:0 16px;transform:translateY(-2px);width:250px}.center-position-button:hover .center-button-text{color:#fff;opacity:1;pointer-events:auto;transform:translateX(0)}.center-position-button:active{transform:scale(.95)}.location-icon{align-items:center;display:flex;font-size:24px;justify-content:center;line-height:1;position:relative;transition:filter .3s ease}.center-position-button:hover .location-icon{filter:brightness(0) invert(1)}.add-temp-location-button:hover{background-color:#e74c3c;border-color:#e74c3c;box-shadow:0 6px 20px #e74c3c80;justify-content:flex-end;padding:0 16px;transform:translateY(-2px);width:260px}.add-temp-location-button:hover .temp-location-button-text{color:#fff;opacity:1;pointer-events:auto;transform:translateX(0)}.add-temp-location-button:active{transform:scale(.95)}.add-temp-location-button:hover .location-icon{filter:brightness(0) invert(1)}.add-temp-location-button.active{animation:pulse-button 1.5s infinite;background-color:#e74c3c;border-color:#e74c3c}@keyframes pulse-button{0%,to{box-shadow:0 2px 6px #e74c3c4d}50%{box-shadow:0 4px 16px #e74c3c99}}.preview-location-marker{background:#0000!important;border:none!important}.preview-marker-dot{animation:bounce 1s ease-in-out infinite;background-color:#e74c3c;border:3px solid #fff;border-radius:50% 50% 50% 0;box-shadow:0 0 15px #e74c3c99,0 0 0 3px #e74c3c4d;height:30px;left:50%;position:absolute;top:50%;transform:translate(-50%,-100%) rotate(-45deg);width:30px}@keyframes bounce{0%,to{transform:translate(-50%,-100%) rotate(-45deg)}50%{transform:translate(-50%,-110%) rotate(-45deg)}}.selection-mode-overlay{align-items:flex-start;bottom:0;display:flex;justify-content:center;left:0;padding-top:20px;pointer-events:none;position:absolute;right:0;top:0;z-index:1500}.selection-instructions{animation:slideDown .3s ease;background:#fff;border-radius:12px;box-shadow:0 6px 20px #0000004d;padding:20px 30px;pointer-events:all;text-align:center}.selection-instructions h3{color:#e74c3c;font-size:20px;margin:0 0 10px}.selection-instructions p{color:#666;font-size:15px;margin:0 0 15px}.selection-actions{display:flex;gap:15px;justify-content:center;margin-top:15px}.btn-confirm-location{background-color:#28a745;border:none;border-radius:8px;box-shadow:0 2px 6px #28a7454d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:10px 20px;transition:all .3s ease}.btn-confirm-location:hover{background-color:#218838;box-shadow:0 4px 12px #28a74566;transform:translateY(-2px)}.btn-cancel-location{background-color:#6c757d;border:none;border-radius:8px;box-shadow:0 2px 6px #6c757d4d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:10px 20px;transition:all .3s ease}.btn-cancel-location:hover{background-color:#5a6268;box-shadow:0 4px 12px #6c757d66;transform:translateY(-2px)}.temp-location-form{gap:20px}.form-group,.temp-location-form{display:flex;flex-direction:column;width:100%}.form-group{gap:8px}.form-group label{color:var(--accent-primary);font-size:13px;letter-spacing:.5px;text-transform:uppercase}.form-input,.form-textarea{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-family:inherit;font-size:15px;padding:10px 12px;transition:all .2s ease}.form-input:focus,.form-textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #4a90e21a;outline:none}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-tertiary)}.form-textarea{min-height:60px;resize:vertical}.form-row{grid-gap:15px;gap:15px}.coordinates-toggle-link{color:#00aa9f;cursor:pointer;display:inline-block;font-size:14px;margin:8px 0;text-decoration:none;transition:all .2s ease}.coordinates-toggle-link:hover{color:#00745e;text-decoration:underline}.address-coordinates-row{align-items:center;display:flex;gap:15px;justify-content:flex-end;margin-bottom:15px;margin-top:-8px}.coordinates-toggle-link-right{color:var(--text-tertiary);cursor:pointer;font-size:12px;text-decoration:none;transition:all .2s ease}.coordinates-toggle-link-right:hover{color:var(--accent-primary);text-decoration:underline}.coordinates-display{color:#666;display:flex;font-family:monospace;font-size:11px;gap:12px}.coordinate-label{background:#f5f5f5;border-radius:4px;padding:4px 8px}.coordinates-edit-container{align-items:center;display:flex;gap:8px}.coordinates-inputs{display:flex;gap:8px}.coordinate-input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-family:monospace;font-size:12px;padding:6px 8px;transition:border-color .2s ease;width:110px}.coordinate-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px #4a90e21a;outline:none}.coordinate-input::placeholder{color:var(--text-tertiary);font-size:11px}.copy-coordinates-btn{align-items:center;background:#f5f5f5;border:1px solid #ddd;border-radius:6px;cursor:pointer;display:flex;font-size:16px;justify-content:center;padding:6px 10px;transition:all .2s ease}.copy-coordinates-btn:hover{background:#00aa9f;border-color:#00aa9f;transform:scale(1.1)}.copy-coordinates-btn:active{transform:scale(.95)}.form-section-separator{align-items:center;display:flex;gap:15px;margin:25px 0 20px}.separator-line{background:linear-gradient(90deg,#0000,#ddd,#0000);flex:1 1;height:1px}.separator-text{color:#00aa9f;font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap}.toggle-switch-container{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-top:8px}.toggle-switch-label{color:var(--text-primary);font-size:14px;font-weight:500;transition:color .3s}.toggle-switch{background-color:#ddd;border-radius:13px;cursor:pointer;height:26px;transition:background-color .3s ease;width:50px}.toggle-switch:hover{background-color:#ccc}.toggle-switch.active{background-color:#00aa9f}.toggle-switch.active:hover{background-color:#3a7bc8}.toggle-switch-slider{background-color:#fff;border-radius:50%;box-shadow:0 2px 4px #0003;height:20px;left:3px;position:absolute;top:3px;transition:transform .3s ease;width:20px}.toggle-switch.active .toggle-switch-slider{transform:translateX(24px)}.dates-with-prefill-container{align-items:flex-start;display:flex;gap:15px}.dates-inputs-column{display:flex;flex:1 1;flex-direction:column;gap:15px}.prefill-buttons-mobile-only{display:flex;gap:6px;margin-bottom:8px;margin-top:12px;width:100%}.prefill-button-mobile{flex:1 1;font-size:11px;justify-content:center;min-width:0;padding:7px 10px}.prefill-buttons-column{display:none;flex-direction:column;flex-shrink:0;gap:8px;width:140px}.prefill-label{color:#999;display:block;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.prefill-button{align-items:center;background:#0000;border:2px solid var(--border-color);border-radius:20px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 14px;transition:all .2s ease;white-space:nowrap}.prefill-button:hover{background:var(--bg-tertiary);border-color:var(--accent-primary);box-shadow:0 3px 8px var(--shadow);color:var(--text-primary);transform:scale(1.05)}.template-hint{font-size:12px;margin:0}@media (max-width:768px){.map-page{height:calc(100vh - 70px);height:calc(100dvh - 70px)}.map-empty{max-width:90%;padding:30px 20px}.map-empty h2{font-size:20px}.leaflet-control-zoom{display:none!important}.contact-modal-overlay{align-items:flex-end;padding:0}.contact-modal{animation:slideUp .3s ease;border-radius:20px 20px 0 0;max-height:92vh;max-width:100%;width:100%}.modal-header{padding:25px 20px 20px}.modal-photo{height:80px;width:80px}.modal-header h2{font-size:20px}.modal-content{flex:1 1;min-height:0;overflow-y:auto;padding:20px}.contact-item-inline{font-size:14px}.contact-item-inline strong{font-size:13px}.contact-item-address,.contact-item-groups,.contact-item-temp-location{flex-wrap:wrap}.temp-location-dates,.temp-location-description,.temp-location-name{font-size:13px}.btn-add-to-group-inline,.btn-directions-inline{font-size:16px;height:26px;width:26px}.modal-close{right:10px;top:10px}.modal-actions{padding:0 20px 25px}.directions-button{font-size:15px;padding:14px 20px}.center-position-button{bottom:20px;width:45px}.add-temp-location-button,.center-position-button{-webkit-tap-highlight-color:transparent;height:45px;right:15px}.add-temp-location-button{border-radius:50%;bottom:75px}.add-temp-location-button,.add-temp-location-button:hover{justify-content:center!important;padding:0!important;width:45px!important}.add-temp-location-button:hover{background-color:#fff;border-color:#0003;box-shadow:0 2px 6px #0000004d;transform:none}.add-temp-location-button:hover .location-icon{filter:none}.temp-location-button-text{display:none!important}.location-icon{font-size:22px}.center-position-button:hover{background-color:#fff;border-color:#0003;box-shadow:0 2px 6px #0000004d;transform:none}.center-position-button:hover .location-icon{filter:none}.map-geo-warning{font-size:13px;max-width:90%;top:90px}}.modal-overlay{z-index:3000}.modal-content-groups{animation:slideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;display:flex;flex-direction:column;max-height:80vh;max-width:600px;overflow:hidden;position:relative;width:90%}.modal-content-groups h2{border-bottom:1px solid #e8ecf0;color:#333;font-size:24px;margin:0;padding:30px 30px 20px}.group-select-card:hover{background-color:#f0f7ff}.group-select-card.selected{background-color:#e3f2fd}.group-select-card span{color:#333}.modal-actions-groups{border-top:1px solid #e8ecf0;display:flex;gap:15px;padding:20px 30px}.modal-actions-groups button{flex:1 1}.btn-primary{transition:all .3s ease}.btn-primary:hover:not(:disabled){transform:translateY(-2px)}.btn-primary:disabled{opacity:.5}.btn-secondary{border:2px solid #e0e0e0;color:#666;transition:all .3s ease}.btn-secondary:hover:not(:disabled){background-color:#f5f5f5;border-color:#ccc}.btn-secondary:disabled{cursor:not-allowed;opacity:.5}.empty-message{font-size:14px;padding:20px}.friend-select-card{border:2px solid var(--border-color)}.friend-select-card:hover{background-color:var(--bg-tertiary)}.friend-select-card.selected,.friend-select-card:hover{border-color:var(--accent-primary)}.friend-select-card input[type=checkbox]{accent-color:var(--accent-primary)}.friend-photo-placeholder-small,.friend-photo-small{border:2px solid var(--accent-primary);height:44px;width:44px}.friend-photo-placeholder-small{background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-hover) 100%)}.time-templates{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr);margin-top:8px}.template-button{background:linear-gradient(135deg,#00aa9f,#00745e);border:none;border-radius:8px;box-shadow:0 2px 8px #667eea4d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 16px;transition:all .3s ease}.template-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.template-button:active{transform:translateY(0)}.template-hint{color:#999;font-size:13px;font-style:italic;margin-top:10px}@media (min-width:769px){.prefill-buttons-mobile-only{display:none}.prefill-buttons-column{display:flex}}.address-search-container{position:relative;width:100%}.search-spinner{animation:spin 1s linear infinite;font-size:18px;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.address-suggestions{-webkit-overflow-scrolling:touch;background:#fff;border:2px solid #00aa9f;border-radius:8px;box-shadow:0 6px 16px #4a90e233;left:0;max-height:180px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 5px);z-index:100}.address-suggestions::-webkit-scrollbar{width:6px}.address-suggestions::-webkit-scrollbar-track{background:#f5f5f5}.address-suggestions::-webkit-scrollbar-thumb{background:#00aa9f;border-radius:3px}.address-suggestion-item{align-items:flex-start;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;gap:12px;padding:12px 15px;transition:background-color .2s ease}.address-suggestion-item:last-child{border-bottom:none}.address-suggestion-item:hover{background-color:#f0f7ff}.suggestion-icon{font-size:18px;margin-top:2px}.suggestion-content{flex:1 1;min-width:0}.suggestion-name{color:var(--text-primary);font-weight:600;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;transition:color .3s;white-space:nowrap}.suggestion-address{color:var(--text-secondary);font-size:13px;line-height:1.4;transition:color .3s}.btn-use-current-position{background:linear-gradient(135deg,#00aa9f,#00745e);border:none;border-radius:8px;box-shadow:0 2px 8px #4a90e24d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-top:10px;padding:12px 16px;transition:all .3s ease;width:100%}.btn-use-current-position:hover{box-shadow:0 4px 12px #4a90e266;transform:translateY(-2px)}.btn-use-current-position:active{transform:translateY(0)}.location-type-selector{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr);margin-top:8px}.location-type-button{align-items:center;background:#0000;border:2px solid;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;font-size:13px;font-weight:600;gap:6px;padding:12px 8px;transition:all .3s ease}.location-type-button.selected{box-shadow:0 4px 12px #00000026;transform:scale(1.05)}.location-type-button:hover:not(.selected){box-shadow:0 2px 8px #0000001a;transform:translateY(-2px)}.location-type-icon{font-size:24px}.location-type-label{text-align:center}@media (max-width:768px){.location-type-selector{grid-template-columns:repeat(2,1fr);justify-content:center;margin-left:auto;margin-right:auto}}.location-type-selector-inline{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.location-type-button-inline{align-items:center;background:#0000;border:2px solid;border-radius:20px;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 14px;transition:all .2s ease;white-space:nowrap}.location-type-button-inline.selected{box-shadow:0 3px 8px #00000026;transform:scale(1.05)}.location-type-button-inline:hover:not(.selected){box-shadow:0 2px 6px #0000001a;transform:translateY(-1px)}.location-type-button-inline .location-type-icon{font-size:16px}.location-type-button-inline .location-type-label{font-size:13px}@media (max-width:768px){.location-type-selector-inline{flex-wrap:wrap;justify-content:center}.location-type-button-inline{font-size:12px;padding:7px 12px}}.visibility-selector{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr);margin-top:8px}.visibility-button{align-items:center;background:#0000;border:2px solid #00aa9f;border-radius:10px;color:#00aa9f;cursor:pointer;display:flex;flex-direction:column;font-size:13px;font-weight:600;gap:6px;padding:14px 10px;transition:all .3s ease}.visibility-button.selected{background-color:#00aa9f;box-shadow:0 4px 12px #4a90e24d;color:#fff;transform:scale(1.05)}.visibility-button:hover:not(.selected){background-color:#f0f7ff;box-shadow:0 2px 8px #4a90e233;transform:translateY(-2px)}.visibility-icon{font-size:22px}.visibility-label{text-align:center}.segmented-control{background:#e8ecf0;border-radius:10px;display:flex;gap:4px;margin-top:8px;padding:4px}.segmented-control-button{-webkit-tap-highlight-color:transparent;background:#0000;border:none;border-radius:8px;color:#666;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:10px 16px;transition:all .3s ease;user-select:none;-webkit-user-select:none;white-space:nowrap}.segmented-control-button:hover:not(.active){background:#4a90e21a;color:var(--accent-primary)}.segmented-control-button.active{background:var(--bg-secondary);box-shadow:0 2px 6px var(--shadow);color:var(--text-primary);font-weight:700}.groups-selector{background-color:var(--bg-tertiary);border-radius:8px;margin-top:15px;padding:15px;transition:background-color .3s}.selector-hint{color:var(--text-secondary);font-size:14px;font-weight:500;margin:0 0 12px;transition:color .3s}.groups-list{gap:10px}.group-checkbox-item{background:var(--bg-secondary);border:2px solid var(--border-light);gap:25px;padding:10px;transition:all .2s ease}.group-checkbox-item:hover{border-color:var(--accent-primary);transform:translateX(4px)}.group-checkbox-item input[type=checkbox]{flex-shrink:0;margin-right:15px}.group-name{flex:1 1;font-size:14px;font-weight:600;transition:color .3s}.group-member-count{color:var(--text-tertiary);font-size:12px;margin-left:15px;transition:color .3s}.no-groups-message{background:var(--bg-secondary);border-radius:8px;font-size:14px;margin:0;padding:15px;transition:all .3s}.btn-create-group-inline{background-color:var(--bg-secondary);border:2px dashed var(--accent-primary);border-radius:8px;color:var(--accent-primary);cursor:pointer;font-size:14px;font-weight:600;margin-top:12px;padding:10px 16px;transition:all .3s;width:100%}.btn-create-group-inline:hover{background-color:var(--accent-light);border-style:solid}.inline-group-create-form{align-items:center;background:var(--bg-primary);border:2px solid var(--accent-primary);border-radius:8px;display:flex;gap:10px;margin-top:12px;padding:12px}.inline-group-name-input{background:var(--bg-secondary);border:2px solid var(--border-light);color:var(--text-primary)}.inline-group-name-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #4a90e21a}.inline-group-name-input::placeholder{color:var(--text-secondary)}.temp-location-marker{background:#0000!important;border:none!important}.temp-marker-container{animation:tempMarkerBounce 1.5s ease-in-out infinite;border:3px solid #fff;border-radius:50% 50% 50% 0;box-shadow:0 3px 8px #0000004d;height:32px;position:relative;transform:rotate(-45deg);width:32px}.temp-marker-container,.temp-marker-container:before{align-items:center;display:flex;justify-content:center}.temp-marker-container:before{background:#fff;border-radius:50%;box-shadow:0 2px 6px #0000004d;content:"⏰";font-size:10px;height:18px;position:absolute;right:-8px;top:-8px;transform:rotate(45deg);width:18px;z-index:10}.temp-marker-icon{font-size:18px;transform:rotate(45deg)}@keyframes tempMarkerBounce{0%,to{transform:rotate(-45deg) translateY(0)}50%{transform:rotate(-45deg) translateY(-5px)}}@keyframes photoMarkerBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.temp-location-type-badge{border-radius:12px;color:#fff;display:inline-block;font-size:11px;font-weight:600;margin-top:5px;padding:4px 10px}.my-temp-location-marker{background:#0000!important;border:none!important}.my-temp-marker-container{align-items:center;animation:myTempMarkerPulse 2s ease-in-out infinite;border:3px solid #fff;border-radius:50% 50% 50% 0;box-shadow:0 0 0 3px #e1723ccc,0 3px 10px #0006;display:flex;height:36px;justify-content:center;position:relative;transform:rotate(-45deg);width:36px}.my-temp-marker-container:before{align-items:center;background:linear-gradient(135deg,#e1723c,#f5945a);border:2px solid #fff;border-radius:50%;box-shadow:0 2px 8px #e1723c80;content:"⏰";display:flex;font-size:11px;height:20px;justify-content:center;position:absolute;right:-10px;top:-10px;transform:rotate(45deg);width:20px;z-index:10}@keyframes myTempMarkerPulse{0%,to{box-shadow:0 0 0 3px #e1723ccc,0 3px 10px #0006;transform:rotate(-45deg) scale(1)}50%{box-shadow:0 0 0 6px #e1723c66,0 4px 15px #00000080;transform:rotate(-45deg) scale(1.1)}}.search-toggle-button{align-items:center;background:#fff;border:none;border-radius:50%;box-shadow:0 2px 8px #0003;cursor:pointer;display:flex;font-size:20px;height:50px;justify-content:center;position:absolute;right:20px;top:20px;transition:all .3s ease;width:50px;z-index:2200}.search-toggle-button:hover{box-shadow:0 4px 12px #0000004d;transform:scale(1.1)}.search-icon-svg{color:#333;height:20px;width:20px}[data-theme=dark] .search-icon-svg{color:#fff}.main-search-bar,[data-theme=dark] .search-toggle-button{background:var(--bg-secondary)}.main-search-bar{border-radius:28px;box-shadow:0 2px 8px #00000026;left:90px;overflow:hidden;position:absolute;top:20px;width:380px;z-index:3100}.main-search-bar.routing-mode{align-items:center;display:flex;gap:8px;max-width:500px;min-width:380px;padding:12px;width:auto}.routing-input-row{align-items:center;display:flex;flex:1 1;gap:8px;position:relative}.routing-marker{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:28px;justify-content:center;width:28px}.routing-marker.origin{background:#4caf50}.routing-marker.destination{background:#f44336}.routing-input-wrapper{flex:1 1;min-width:140px;position:relative}.routing-input-wrapper .search-input{font-size:13px;padding:10px 14px}.routing-input-wrapper .search-results{border-radius:8px;box-shadow:0 4px 12px var(--shadow-hover);left:0;margin-top:4px;max-height:250px;position:absolute;right:0;top:100%;z-index:10}.routing-swap-btn{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:32px;justify-content:center;transition:all .2s;width:32px}.routing-swap-btn:hover{background:#e8f5f4;background:var(--accent-light,#e8f5f4);border-color:#00aa9f;border-color:var(--accent-primary,#00aa9f);color:#00aa9f;color:var(--accent-primary,#00aa9f)}.routing-close-btn{align-items:center;background:var(--bg-tertiary);border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:14px;height:32px;justify-content:center;transition:all .2s;width:32px}.routing-close-btn:hover{background:#ffebee;color:#f44336}@media (max-width:768px){.main-search-bar.routing-mode{flex-wrap:wrap;gap:8px;left:10px;max-width:none;min-width:auto;right:10px;width:auto}.routing-input-row{flex-basis:calc(50% - 20px);flex-grow:1;flex-shrink:1;min-width:120px}.routing-input-wrapper{min-width:80px}.routing-input-wrapper .search-input{font-size:12px;padding:8px 10px}.routing-marker{font-size:11px;height:24px;width:24px}.routing-close-btn,.routing-swap-btn{font-size:14px;height:28px;width:28px}}[data-theme=dark] .routing-swap-btn:hover{background:#1a2e2d;background:var(--accent-light,#1a2e2d)}[data-theme=dark] .routing-close-btn:hover{background:#4a1a1a}@media (min-width:769px){.main-search-bar{left:35px}.leaflet-top.leaflet-left{left:430px;top:20px}}.search-tabs{border-bottom:2px solid var(--border-color);display:flex}.search-tab{background:none;border:none;color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:12px 20px;position:relative;transition:all .3s ease}.search-tab.active{color:var(--primary-color);font-weight:600}.search-tab.active:after{background:var(--primary-color);bottom:-2px;content:"";height:3px;left:0;position:absolute;right:0}.search-tab:hover{background:var(--bg-tertiary)}.search-input-container{align-items:center;display:flex;gap:0;height:50px;padding:0 4px}.search-back-button{align-items:center;animation:fadeSlideIn .2s ease-out;background:#0000;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;height:44px;justify-content:center;transition:all .2s ease;width:44px}@keyframes fadeSlideIn{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}.search-back-button:hover{background:var(--bg-tertiary);color:var(--text-primary)}.search-back-button svg{height:20px;width:20px}.search-separator{background:var(--border-color);flex-shrink:0;height:24px;margin:0 4px;width:1px}.main-search-bar .search-input,.main-search-bar .search-input-container .search-input,.main-search-bar .search-input-container input.search-input,.main-search-bar input.search-input{-webkit-appearance:none;appearance:none;background:#0000!important;border:0 #0000!important;box-shadow:none!important;color:var(--text-primary);flex:1 1;font-size:15px;height:auto;min-width:0;outline:0!important;outline-style:none!important;padding:12px}.main-search-bar .search-input::placeholder{color:var(--text-tertiary)}.main-search-bar .search-input-container .search-input:focus,.main-search-bar .search-input:active,.main-search-bar .search-input:focus,.main-search-bar .search-input:hover,.main-search-bar input.search-input:focus{background:#0000!important;border:0!important;border-style:none!important;box-shadow:none!important;outline:0!important;outline-style:none!important}.main-search-bar .search-input:focus-visible{outline:0!important;outline-style:none!important}.search-buttons{align-items:center;display:flex;flex-shrink:0;gap:0}.search-icon-button{align-items:center;background:#0000;border:none;border-radius:50%;color:var(--text-secondary);cursor:default;display:flex;height:44px;justify-content:center;transition:all .2s ease;width:44px}.search-icon-button svg{height:20px;width:20px}.search-loading{font-size:18px}.search-close-button{align-items:center;animation:fadeSlideIn .2s ease-out;background:#0000;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;height:44px;justify-content:center;transition:all .2s ease;width:44px}.search-close-button:hover{background:#dc35451a;color:#dc3545}.search-close-button svg{height:20px;width:20px}@media (max-width:768px){.search-back-button,.search-close-button{display:none}}.search-close-panel-button,.search-submit-button{display:none}.search-results{background:var(--bg-secondary);border-top:1px solid var(--border-color);max-height:400px;overflow-y:auto;position:relative;z-index:2001}.search-result-item{align-items:center;border-bottom:1px solid #f5f5f5;border-bottom:1px solid var(--border-light,#f5f5f5);cursor:pointer;display:flex;padding:12px 16px;transition:background .2s ease}.search-result-item:last-child{border-bottom:none}.search-result-item.selected,.search-result-item:hover{background:#f8f9fa;background:var(--bg-hover,#f8f9fa)}.search-result-item.selected{background:#e8f5f4;background:var(--bg-tertiary,#e8f5f4)}.result-icon{font-size:24px;margin-right:12px}.result-avatar{align-items:center;background:linear-gradient(135deg,#00aa9f,#00745e);border-radius:50%;display:flex;flex-shrink:0;height:40px;justify-content:center;margin-right:12px;overflow:hidden;width:40px}.result-avatar .avatar-img{height:100%;object-fit:cover;width:100%}.result-avatar .avatar-initials{color:#fff;font-size:16px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.result-info{flex:1 1}.result-name{color:#333;color:var(--text-primary,#333);font-weight:600;margin-bottom:4px}.result-address{color:#666;color:var(--text-secondary,#666);font-size:12px}.search-no-results{color:#999;color:var(--text-tertiary,#999);font-size:14px;padding:20px;text-align:center}.results-section-header{background-color:#f0f7ff;background-color:var(--bg-tertiary,#f0f7ff);border-top:1px solid #e0e0e0;border-top:1px solid var(--border-light,#e0e0e0);color:#00aa9f;color:var(--accent-primary,#00aa9f);font-size:13px;font-weight:600;letter-spacing:.5px;padding:10px 16px;position:-webkit-sticky;position:sticky;text-transform:uppercase;top:0;z-index:10}@media (max-width:768px){.search-toggle-button{display:flex}.main-search-bar{display:flex;flex-direction:column;height:auto;left:50%;max-width:calc(100% - 20px);min-height:50px;min-width:auto;right:auto;top:20px;transform:translateX(-50%);width:calc(100% - 20px);z-index:2100}.search-tabs{display:none}.search-input-container{align-items:center;display:flex;flex:1 1;height:50px;padding:0 4px}.main-search-bar .search-input{background:#0000!important;border:0!important;box-shadow:none!important;flex:1 1;font-size:14px;height:auto;min-width:0;outline:0!important;padding:8px}.main-search-bar{border-radius:24px}.search-icon-button{height:40px;width:40px}.search-icon-button svg{height:18px;width:18px}.search-results{background:var(--bg-secondary);border-radius:0 0 12px 12px;left:0;max-height:300px;position:relative;right:0;top:0;z-index:2101}}@media (min-width:769px){.search-toggle-button{display:none}}.selected-place-marker{background:#0000!important;border:none!important}.selected-place-marker-dot{align-items:center;animation:placeMarkerBounce 1s ease-in-out infinite;background:linear-gradient(135deg,#00aa9f,#00745e);border:3px solid #fff;border-radius:50% 50% 50% 0;box-shadow:0 0 20px #667eeacc,0 0 0 4px #667eea4d;display:flex;font-size:20px;height:36px;justify-content:center;left:50%;position:absolute;top:50%;transform:translate(-50%,-100%) rotate(-45deg);width:36px}.selected-place-marker-dot:before{content:attr(data-icon);transform:rotate(45deg)}@keyframes placeMarkerBounce{0%,to{transform:translate(-50%,-100%) rotate(-45deg)}50%{transform:translate(-50%,-110%) rotate(-45deg)}}.place-info-panel{animation:slideInLeft .3s ease;background:#fff;border-radius:16px;bottom:20px;box-shadow:0 8px 24px #00000040;left:20px;max-height:calc(100vh - 140px);overflow-y:auto;position:absolute;width:380px;z-index:1500}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-100%)}to{opacity:1;transform:translateX(0)}}.panel-close{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;line-height:1;padding:5px;position:absolute;right:15px;top:15px;transition:all .2s ease;width:32px;z-index:10}.panel-close:hover{background-color:#f0f0f0;color:#333}.place-info-header{border-bottom:2px solid #f0f0f0;padding:25px 25px 20px}.place-info-header h3{color:#333;font-size:20px;font-weight:600;line-height:1.4;margin:0;padding-right:30px}.place-info-content{display:flex;flex-direction:column;gap:20px;padding:20px 25px}.place-address{border-bottom:1px solid #f0f0f0;padding-bottom:15px}.place-address strong{color:#00aa9f;display:block;font-size:13px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.place-address p{color:#666;font-size:14px;line-height:1.6;margin:0}.place-details{display:flex;flex-direction:column;gap:10px}.place-detail-item{align-items:center;background-color:#f8f9fa;border-radius:8px;display:flex;gap:10px;padding:8px 12px;transition:background-color .2s ease}.place-detail-item:hover{background-color:#e9ecef}.detail-icon{flex-shrink:0;font-size:18px}.place-detail-item span:last-child{color:#333;font-size:14px;font-weight:500}.place-coordinates{background-color:#f8f9fa;border-left:4px solid #00aa9f;border-radius:8px;padding:12px}.place-coordinates p{margin:0}.place-coordinates strong{color:#00aa9f;display:block;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:5px;text-transform:uppercase}.coords-text{color:#666;font-family:Courier New,monospace;font-size:13px;font-weight:500}.place-info-actions{display:flex;justify-content:center;padding:0 25px 25px}.btn-add-as-temp-location{align-items:center;background:linear-gradient(135deg,#00aa9f,#00745e);border:none;border-radius:10px;box-shadow:0 4px 12px #667eea66;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:10px;justify-content:center;padding:14px 24px;transition:all .3s ease;width:100%}.btn-add-as-temp-location:hover{box-shadow:0 6px 20px #667eea80;transform:translateY(-2px)}.btn-add-as-temp-location:active{transform:translateY(0)}@media (max-width:768px){.place-info-panel{bottom:10px;display:block!important;left:10px;max-height:40vh;max-width:none;right:10px;visibility:visible!important;width:auto;z-index:2000!important}.place-info-header h3{font-size:18px}.place-info-content{padding:15px 20px}.place-info-actions{padding:0 20px 20px}.btn-add-as-temp-location{font-size:14px;padding:12px 20px}.selection-instructions{margin:0 10px;max-width:calc(100% - 20px);padding:12px 20px}.selection-instructions h3{font-size:16px;margin:0 0 6px}.selection-instructions p{font-size:13px;margin:0 0 10px}.selection-actions{gap:10px;margin-top:10px}}[data-theme=dark] .place-info-panel{background:#1e1e1e;box-shadow:0 8px 24px #00000080}[data-theme=dark] .panel-close{color:#e0e0e0}[data-theme=dark] .panel-close:hover{background-color:#333;color:#fff}[data-theme=dark] .place-info-header{border-bottom-color:#333}[data-theme=dark] .place-info-header h3{color:#fff}[data-theme=dark] .place-address{border-bottom-color:#333}[data-theme=dark] .place-address strong{color:#7eb8ff}[data-theme=dark] .place-address p{color:#e0e0e0}[data-theme=dark] .place-detail-item{background-color:#2a2a2a}[data-theme=dark] .place-detail-item:hover{background-color:#333}[data-theme=dark] .place-detail-item span:last-child{color:#e0e0e0}[data-theme=dark] .place-coordinates{background-color:#2a2a2a;border-left-color:#7eb8ff}[data-theme=dark] .place-coordinates strong{color:#7eb8ff}[data-theme=dark] .coords-text,[data-theme=dark] .place-info-section p{color:#e0e0e0}[data-theme=dark] .place-info-section strong{color:#fff}.friend-photo-marker{background:#0000!important;border:none!important}.friend-photo-marker-container{align-items:center;background:#fff;border:3px solid #00aa9f;border-radius:50%;box-shadow:0 4px 12px #00aa9f80;display:flex;height:40px;justify-content:center;overflow:visible;position:relative;width:40px}.friend-photo-marker-container:before{align-items:center;background:linear-gradient(135deg,#00aa9f,#00745e);border:2px solid #fff;border-radius:50%;bottom:-3px;box-shadow:0 2px 6px #00aa9f99;content:"🏠";display:flex;font-size:9px;height:16px;justify-content:center;position:absolute;right:-3px;width:16px;z-index:100}.friend-photo-marker-img{-webkit-clip-path:circle(50% at 50% 50%);clip-path:circle(50% at 50% 50%);display:block;height:100%;min-height:100%;min-width:100%;object-fit:cover;object-position:center center;width:100%}.friend-default-marker{background:#0000!important;border:none!important}.friend-default-marker-container{border:3px solid #fff;border-radius:50%;box-shadow:0 4px 12px #00aa9f80;height:40px;overflow:visible;position:relative;width:40px}.friend-default-marker-container,.friend-default-marker-container:before{align-items:center;background:linear-gradient(135deg,#00aa9f,#00745e);display:flex;justify-content:center}.friend-default-marker-container:before{border:2px solid #fff;border-radius:50%;bottom:-3px;box-shadow:0 2px 6px #00aa9f99;content:"🏠";font-size:9px;height:16px;position:absolute;right:-3px;width:16px;z-index:100}.friend-initials{color:#fff;font-size:14px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.friend-photo-marker-container.route-point{border-color:#e1723c;box-shadow:0 4px 12px #e1723c80}.friend-photo-marker-container.route-point:before{background:linear-gradient(135deg,#e1723c,#c45a2a);box-shadow:0 2px 6px #e1723c99}.friend-default-marker-container.route-point{border-color:#e1723c;box-shadow:0 4px 12px #e1723c80}.friend-default-marker-container.route-point:before{background:linear-gradient(135deg,#e1723c,#c45a2a);box-shadow:0 2px 6px #e1723c99}.friend-photo-marker-container.custom-border{border-width:4px;box-shadow:0 4px 12px #e1723c80}.friend-photo-marker-container.custom-border:before{background:linear-gradient(135deg,#e1723c,#c45a2a);box-shadow:0 2px 6px #e1723c99}.friend-default-marker-container.custom-border{border-width:4px;box-shadow:0 4px 12px #e1723c80}.friend-default-marker-container.custom-border:before{background:linear-gradient(135deg,#e1723c,#c45a2a);box-shadow:0 2px 6px #e1723c99}.friend-default-marker-container.route-destination:before,.friend-photo-marker-container.route-destination:before{content:"🏁"}.route-step-badge{align-items:center;background:#e1723c;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0000004d;color:#fff;display:flex;font-size:11px;font-weight:700;height:18px;justify-content:center;min-width:18px;position:absolute;right:-6px;top:-6px;z-index:10}.temp-location-marker-with-photo{background:#0000!important;border:none!important}.temp-marker-photo-container{animation:photoMarkerBounce 1.5s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3));height:40px;position:relative;width:40px}.temp-marker-photo-img{border:3px solid #fff;border-radius:50%;box-shadow:0 2px 6px #0003;height:100%;object-fit:cover;width:100%}.temp-marker-type-badge{align-items:center;border:2px solid #fff;border-radius:50%;bottom:-3px;box-shadow:0 2px 4px #0003;display:flex;font-size:9px;height:16px;justify-content:center;position:absolute;right:-3px;width:16px;z-index:10}.temp-marker-initials{color:#fff;font-size:14px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%) rotate(45deg)}.temp-marker-type-badge-small{align-items:center;background:#fff;border-radius:50%;bottom:-6px;box-shadow:0 2px 4px #0003;display:flex;font-size:10px;height:16px;justify-content:center;position:absolute;right:-6px;transform:rotate(45deg);width:16px;z-index:10}.map-filters-panel{background:var(--bg-secondary);border-radius:12px;box-shadow:0 4px 16px var(--shadow-hover);max-height:0;min-width:280px;opacity:0;overflow:hidden;padding:0;pointer-events:none;position:absolute;right:20px;top:80px;transition:max-height .3s ease,opacity .3s ease,background-color .3s,box-shadow .3s;z-index:999}.map-filters-panel.open{max-height:600px;opacity:1;overflow-y:auto;padding:15px;pointer-events:auto}.filters-toggle-header{align-items:center;background:none;border:none;border-radius:12px;color:var(--text-primary);cursor:pointer;display:none;font-size:14px;font-weight:600;gap:8px;padding:12px 15px;transition:all .3s ease;width:100%}.filters-toggle-header:hover{background-color:var(--bg-tertiary)}.filters-triangle{display:inline-block;transition:transform .3s ease}.filters-triangle.expanded{transform:rotate(180deg)}.filters-content{animation:slideDown .3s ease;padding:0}.filter-options{display:flex;flex-direction:column;gap:8px}.filter-section{border:2px solid var(--accent-light);border-radius:10px;margin-bottom:10px;padding:12px;position:relative;transition:border-color .3s}.filter-section-label{background:var(--bg-secondary);color:var(--accent-primary);font-size:12px;font-weight:600;left:12px;letter-spacing:.5px;padding:0 8px;position:absolute;text-transform:uppercase;top:-10px;transition:all .3s}.filter-section-label-with-checkbox{background:#0000!important;margin-bottom:8px;padding:4px 8px!important}.filter-section-label-with-checkbox .filter-section-label{background:#0000;padding:0;position:static}.filter-section-label-with-checkbox input[type=checkbox]{height:18px;width:18px}.filter-sub-item{margin-left:20px}.filter-checkbox-item{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:10px;padding:8px;transition:background-color .2s ease}.filter-checkbox-item:hover{background-color:var(--bg-tertiary)}.filter-checkbox-item input[type=checkbox]{cursor:pointer;flex-shrink:0;height:18px;width:18px}.filter-label{color:var(--text-primary);flex:1 1;font-size:14px;transition:color .3s;-webkit-user-select:none;user-select:none}.toggle-filters-button{align-items:center;background-color:#fff;border:2px solid #0003;border-radius:25px;box-shadow:0 2px 6px #0000004d;cursor:pointer;display:flex;height:50px;justify-content:center;overflow:hidden;padding:0;position:absolute;right:20px;top:20px;transition:all .3s ease;white-space:nowrap;width:50px;z-index:1000}.filters-button-text{color:#333;font-size:.95rem;font-weight:500;opacity:0;pointer-events:none;position:absolute;right:50px;transform:translateX(10px);transition:all .3s ease}.toggle-filters-button:hover{background-color:#00aa9f;border-color:#00aa9f;box-shadow:0 6px 20px #00aa9f80;justify-content:flex-end;padding:0 16px;transform:translateY(-2px);width:220px}.toggle-filters-button:hover .filters-button-text{color:#fff;opacity:1;pointer-events:auto;transform:translateX(0)}.toggle-filters-button:hover .location-icon{filter:brightness(0) invert(1)}.toggle-filters-button:active{transform:scale(.95)}.friend-filter-badge{align-items:center;animation:slideInBadge .3s ease-out;background:linear-gradient(135deg,#00aa9f,#00745e);border-radius:25px;box-shadow:0 2px 8px #0003;color:#fff;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;position:absolute;right:90px;top:20px;z-index:1000}@keyframes slideInBadge{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.friend-filter-label{white-space:nowrap}.friend-filter-remove{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:20px;justify-content:center;transition:all .2s ease;width:20px}.friend-filter-remove:hover{background:#ffffff4d;transform:scale(1.1)}.friend-filter-remove:active{transform:scale(.95)}@media (max-width:768px){.toggle-filters-button{-webkit-tap-highlight-color:transparent;border-radius:50%;bottom:130px;height:45px;justify-content:center;padding:0;right:15px;top:auto;width:45px}.filters-button-text{display:none}.toggle-filters-button:hover{background-color:#fff;border-color:#0003;box-shadow:0 2px 6px #0000004d;justify-content:center;padding:0;transform:none;width:45px}.toggle-filters-button:hover .filters-button-text{display:none}.toggle-filters-button:hover .location-icon{filter:none}.toggle-filters-button:active{transform:scale(.95)}.map-filters-panel{bottom:20px;left:10px;min-width:220px;padding:12px;position:fixed;right:auto;top:auto}.map-filters-panel.open{max-height:500px}.filters-toggle-header{display:none!important}.friend-filter-badge{font-size:12px;left:15px;max-width:calc(100vw - 90px);padding:8px 12px;right:auto;top:15px}.friend-filter-label{max-width:calc(100vw - 140px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-filter-remove{font-size:12px;height:18px;width:18px}.center-button-text{display:none}.center-position-button{border-radius:50%;height:45px;justify-content:center;padding:0;width:45px}.center-position-button:hover{background-color:#fff;border-color:#0003;box-shadow:0 2px 6px #0000004d;justify-content:center;padding:0;transform:none;width:45px}.center-position-button:hover .center-button-text{display:none}.center-position-button:hover .location-icon{filter:none}.filter-label{font-size:13px}}.date-picker-input{color:#333;cursor:pointer!important;font-size:14px;font-weight:500}.date-picker-input:focus{border-color:#00aa9f;outline:none}.react-datepicker-popper{z-index:9999!important}.react-datepicker{border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #00000026;font-family:inherit}.react-datepicker__header{background-color:#00aa9f;border-bottom:none;border-radius:8px 8px 0 0;padding-top:12px}.react-datepicker__current-month{color:#fff;font-size:16px;font-weight:600;margin-bottom:8px}.react-datepicker__day-name{color:#ffffffe6;font-size:13px;font-weight:500}.react-datepicker__navigation{top:12px}.react-datepicker__navigation-icon:before{border-color:#fff}.react-datepicker__day{border-radius:6px;color:#333;font-weight:500;transition:all .2s ease}.react-datepicker__day:hover{background-color:#f0f7ff;color:#00aa9f}.react-datepicker__day--keyboard-selected,.react-datepicker__day--selected{background-color:#00aa9f;color:#fff;font-weight:600}.react-datepicker__day--today{color:#00aa9f;font-weight:700}.react-datepicker__day--outside-month{color:#ccc}.react-datepicker__time-container{border-left:1px solid #ddd}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:100px}.react-datepicker__time-list-item{transition:background-color .2s ease}.react-datepicker__time-list-item:hover{background-color:#f0f7ff!important;color:#00aa9f}.react-datepicker__time-list-item--selected{background-color:#00aa9f!important;color:#fff!important;font-weight:600}.button-text-mobile{display:none}@media (max-width:768px){.react-datepicker{font-size:14px}.react-datepicker__day{line-height:32px;width:32px}.button-icon-desktop,.button-text-desktop{display:none}.button-text-mobile{display:inline}}.clustered-friend-marker{background:#0000!important;border:none!important;cursor:pointer}.clustered-marker-container{align-items:flex-end;display:flex;height:42px;position:relative;width:56px}.clustered-photos{height:100%;position:relative;width:100%}.clustered-photo{background:#fff;border:3px solid #fff;border-radius:50%;box-shadow:0 3px 8px #0000004d;height:42px;overflow:hidden;position:absolute;transition:transform .2s ease;width:42px}.clustered-photo:hover{transform:scale(1.05);z-index:10!important}.clustered-photo img{height:100%;object-fit:cover;width:100%}.clustered-photo-initials{align-items:center;background:linear-gradient(135deg,#00aa9f,#00745e);color:#fff;display:flex;font-size:15px;font-weight:700;justify-content:center}.cluster-count-badge{background:#e1723c;border:2px solid #fff;border-radius:12px;bottom:-5px;box-shadow:0 2px 6px #e1723c66;color:#fff;font-size:13px;font-weight:700;min-width:24px;padding:4px 8px;position:absolute;right:2px;text-align:center;z-index:20}.clustered-friend-marker:hover .clustered-marker-container{filter:brightness(1.1)}@media (max-width:768px){.clustered-photo{border-width:2px;height:36px;width:36px}.clustered-marker-container{height:36px;width:50px}.cluster-count-badge{bottom:-4px;font-size:11px;padding:3px 6px}.clustered-photo-initials{font-size:13px}}.popup-toggle-button{background-color:#dc3545;border:none;border-radius:11px;cursor:pointer;height:22px;outline:none;padding:0;position:relative;transition:background-color .3s ease;width:40px}.popup-toggle-button.active{background-color:#28a745}.toggle-slider-small{background-color:#fff;border-radius:50%;box-shadow:0 2px 4px #0003;height:18px;left:2px;position:absolute;top:2px;transition:transform .3s ease;width:18px}.popup-toggle-button.active .toggle-slider-small{transform:translateX(18px)}.popup-toggle-button:hover{opacity:.9}.my-temp-location-popup{position:relative}.my-temp-location-popup .popup-photo{height:60px;margin-bottom:4px;width:60px}.my-temp-location-popup h3{font-size:15px;margin:2px 0 4px}.my-temp-location-popup .temp-location-subtitle{color:#666;font-size:12px;margin:0 0 4px}.my-temp-location-popup .temp-location-name{color:var(--text-primary);font-size:14px;font-weight:600;margin:0 0 3px}.my-temp-location-popup .temp-location-description{color:var(--text-secondary);font-size:12px;margin:3px 0}.my-temp-location-popup .temp-location-type-badge{margin:4px 0}.my-temp-location-popup .temp-location-dates{color:#666;font-size:11px;margin:4px 0 0}.my-temp-popup-actions{gap:10px;margin-top:10px}.my-temp-action-btn,.my-temp-popup-actions{align-items:center;display:flex;justify-content:center}.my-temp-action-btn{border:none;border-radius:6px;cursor:pointer;height:26px;transition:opacity .2s,transform .2s;width:40px}.my-temp-action-btn:hover{opacity:.85;transform:scale(1.05)}.my-temp-action-btn.directions-btn{background-color:#00aa9f}.my-temp-action-btn.edit-btn{background-color:#f0f0f0}[data-theme=dark] .my-temp-action-btn.edit-btn{background-color:#4a5568}[data-theme=dark] .my-temp-location-popup .temp-location-subtitle{color:#b0b0b0!important}[data-theme=dark] .my-temp-location-popup .temp-location-name{color:#fff!important}[data-theme=dark] .my-temp-location-popup .temp-location-dates{color:#b0b0b0!important}[data-theme=dark] .map-popup h3,[data-theme=dark] .map-popup p,[data-theme=dark] .map-popup strong{color:#fff!important}[data-theme=dark] .map-popup p{color:#e0e0e0!important}.friend-traveling-indicator{background-color:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-size:13px;margin-bottom:8px;margin-top:8px;padding:8px}.traveling-title{color:#333;font-weight:700;margin-bottom:4px}.traveling-location{color:#666}[data-theme=dark] .friend-traveling-indicator{background-color:initial!important;border-color:#fff!important}[data-theme=dark] .traveling-title{color:#fff!important}[data-theme=dark] .traveling-location{color:#e0e0e0!important}.welcome-modal-overlay{align-items:center;animation:fadeIn .3s ease;background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.welcome-modal{animation:slideUp .4s ease;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:400px;padding:32px;text-align:center;width:100%}.welcome-modal-icon{font-size:56px;margin-bottom:16px}.welcome-modal h2{color:var(--text-primary);font-size:24px;font-weight:700;margin:0 0 12px}.welcome-modal p{color:var(--text-secondary);font-size:15px;line-height:1.5;margin:0 0 24px}.welcome-modal-actions{display:flex;flex-direction:column;gap:12px}.btn-welcome-primary{background:linear-gradient(135deg,#00aa9f,#00745e);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 24px;transition:all .2s ease}.btn-welcome-primary:hover{box-shadow:0 6px 20px #00aa9f66;transform:translateY(-2px)}.btn-welcome-secondary{background:#0000;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px;padding:12px 24px;transition:color .2s ease}.btn-welcome-secondary:hover{color:var(--text-primary)}[data-theme=dark] .welcome-modal{background:var(--bg-secondary)}[data-theme=dark] .welcome-modal h2{color:var(--text-primary)}[data-theme=dark] .welcome-modal p{color:var(--text-secondary)}@media (max-width:480px){.welcome-modal{margin:16px;padding:24px}.welcome-modal-icon{font-size:48px}.welcome-modal h2{font-size:20px}}.modal-overlay{animation:fadeIn .2s ease;padding:90px 20px 20px;z-index:9999}.modal-container{animation:slideIn .3s ease;border-radius:12px;box-shadow:0 20px 60px var(--shadow-hover);flex-direction:column;max-height:90vh;overflow:hidden;position:relative;transition:background-color .3s;width:100%;z-index:10000}.modal-container,.modal-header-section{background:var(--bg-secondary);display:flex}.modal-header-section{align-items:center;border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;padding:25px 30px;transition:all .3s}.modal-title{color:var(--text-primary);font-size:24px;font-weight:600;margin:0;padding-right:40px;transition:color .3s}.modal-close-button{align-items:center;background:var(--bg-tertiary);border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;font-size:28px;height:36px;justify-content:center;line-height:1;padding:0;position:absolute;right:20px;top:20px;transition:all .2s ease;width:36px}.modal-close-button:hover{background:var(--border-color);color:var(--text-primary);transform:rotate(90deg)}.modal-body-section{-webkit-overflow-scrolling:touch;flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;padding:30px}.modal-body-section::-webkit-scrollbar{width:10px}.modal-body-section::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:10px}.modal-body-section::-webkit-scrollbar-thumb{background:var(--accent-primary);border:2px solid var(--bg-tertiary);border-radius:10px}.modal-body-section::-webkit-scrollbar-thumb:hover{background:var(--accent-hover)}.modal-footer-section{background:var(--bg-secondary);border-top:1px solid var(--border-color);display:flex;flex-shrink:0;gap:15px;justify-content:center;padding:20px 30px;transition:all .3s}.modal-header-mobile{display:none}@media (max-width:768px){.modal-overlay{align-items:stretch;padding:0}.modal-container{animation:slideUp .3s ease;border-radius:0;height:100%;max-height:100%}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-footer-desktop,.modal-header-desktop{display:none}.modal-header-mobile{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:15px 20px;transition:border-color .3s}.modal-close-left{margin:0;position:static}.modal-header-right{display:flex;flex:1 1;justify-content:flex-end}.modal-header-right button{background:var(--accent-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:background-color .3s;white-space:nowrap}.modal-header-right button:hover{background:var(--accent-hover)}.modal-body-section{padding:20px}}.visibility-bubble-container{align-items:flex-start;display:inline-flex;flex-direction:column;gap:8px;position:relative}.visibility-bubbles{display:flex;gap:0;overflow:visible;transition:gap .25s ease}.visibility-level-btn{align-items:center;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;font-size:12px;font-weight:600;height:24px;justify-content:center;min-width:24px;padding:0;transition:all .2s ease;width:24px}.visibility-level-btn:hover:not(:disabled){border-color:var(--accent-primary);color:var(--accent-primary)}.visibility-level-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.visibility-level-btn.custom{box-shadow:0 0 0 2px var(--accent-light)}.visibility-level-btn.selected{transform:scale(1.1)}.visibility-level-btn.original:not(.selected),.visibility-level-btn.selected{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.visibility-level-btn:disabled{cursor:not-allowed;opacity:.6}.visibility-bubble-container.expanded .visibility-bubbles{gap:6px}.visibility-bubble-container.expanded .visibility-level-btn{animation:bubbleExpand .25s ease-out forwards;animation-delay:0ms;animation-delay:calc(var(--bubble-index, 0)*30ms)}@keyframes bubbleExpand{0%{opacity:0;transform:scale(.5) translateX(-10px)}to{opacity:1;transform:scale(1) translateX(0)}}.visibility-bubble-container.collapsing .visibility-bubbles{gap:0}.visibility-bubble-container.collapsing .visibility-level-btn{animation:bubbleCollapse .2s ease-in forwards;animation-delay:80ms;animation-delay:calc((4 - var(--bubble-index, 0))*20ms)}@keyframes bubbleCollapse{0%{opacity:1;transform:scale(1) translateX(0)}to{opacity:0;transform:scale(.5) translateX(-10px)}}.visibility-details{align-items:center;animation:slideDown .2s ease-out;background:var(--bg-tertiary);border-radius:8px;display:flex;gap:12px;padding:8px 12px}.visibility-details.collapsing{animation:slideUp .2s ease-in forwards}.visibility-description{color:var(--text-secondary);flex:1 1;font-size:12px;margin:0}.visibility-bubble-container .btn-save-visibility{align-items:center;background:var(--accent-primary);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:12px;font-weight:600;height:28px;justify-content:center;min-width:28px;padding:0;transition:all .2s;width:28px}.visibility-bubble-container .btn-save-visibility svg{height:16px;width:16px}.visibility-bubble-container .btn-save-visibility:hover{background:var(--accent-hover)}.visibility-bubble-container .btn-save-visibility:disabled{cursor:not-allowed;opacity:.6}@media (max-width:480px){.visibility-details{align-items:stretch;flex-direction:column;gap:8px}.visibility-bubble-container .btn-save-visibility{padding:8px;width:100%}}.friend-profile-container{background:#1a1a1a;bottom:0;left:0;overflow:hidden;position:fixed;right:0;top:0;z-index:1000}.friend-profile-map-background{bottom:0;left:0;position:absolute;right:0;top:0;z-index:1}.friend-profile-panel{border-radius:20px 20px 0 0;bottom:0;box-shadow:0 -8px 32px #0000004d;height:100vh;height:100dvh;left:0;overflow:hidden;overscroll-behavior:contain;position:absolute;right:0;touch-action:pan-x;transition:transform .3s cubic-bezier(.4,0,.2,1);will-change:transform;z-index:10}.friend-profile-panel,.panel-swipe-area{background:var(--bg-secondary);display:flex;flex-direction:column}.panel-swipe-area{-webkit-tap-highlight-color:transparent;align-items:center;flex-shrink:0;min-height:80px;padding:0 15px 10px;position:relative;width:100%;z-index:20}.panel-drag-handle{align-items:center;display:flex;justify-content:center;padding:12px 0;width:100%}.handle-indicator{background:var(--text-tertiary);border-radius:3px;height:5px;opacity:.6;transition:opacity .2s,width .2s;width:50px}.panel-swipe-area:active .handle-indicator,.panel-swipe-area:hover .handle-indicator{opacity:1;width:60px}.profile-header-compact{display:flex;flex-direction:column;gap:10px;padding:5px 0;width:100%}.header-row-main{align-items:center;display:flex;gap:12px;width:100%}.profile-phone-compact{color:var(--text-secondary);font-size:13px;margin:2px 0 0}.contact-buttons{display:flex;gap:12px;justify-content:flex-start;padding-left:62px}.contact-btn{align-items:center;border-radius:50%;display:flex;height:40px;justify-content:center;text-decoration:none;transition:transform .2s,box-shadow .2s;width:40px}.contact-btn:active{transform:scale(.95)}.contact-btn svg{height:20px;width:20px}.contact-btn-call{background:#007aff;color:#fff}.contact-btn-sms{background:#34c759;color:#fff}.contact-btn-whatsapp{background:#25d366;color:#fff}.contact-btn-signal{background:#3a76f0;color:#fff}.contact-btn-email{background:var(--accent-orange);color:#fff}.profile-photo-container-small{flex-shrink:0}.profile-photo-small{border:2px solid var(--accent-primary);border-radius:50%;box-shadow:0 2px 8px #0003;height:50px;object-fit:cover;width:50px}.profile-photo-placeholder-small{align-items:center;background:linear-gradient(135deg,var(--accent-primary),var(--accent-hover));border-radius:50%;box-shadow:0 2px 8px #0003;color:#fff;display:flex;font-size:18px;font-weight:700;height:50px;justify-content:center;width:50px}.profile-info-compact{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.profile-name-compact{color:var(--text-primary);font-size:18px;font-weight:700;line-height:1.2;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-details{border-bottom:1px solid var(--border-light);margin-bottom:15px;padding:10px 0 15px}.contact-details .profile-email,.contact-details .profile-phone{color:var(--text-secondary);font-size:14px;margin:4px 0}.btn-back-panel{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#00000080;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:18px;height:36px;justify-content:center;left:15px;position:absolute;top:10px;transition:all .2s ease;width:36px;z-index:30}.btn-back-panel:hover{background:#000000b3;transform:scale(1.1)}.profile-content{-webkit-overflow-scrolling:touch;flex:1 1;overflow-x:hidden;overflow-y:auto;padding:10px 20px 30px;transition:opacity .2s ease}.profile-content.visible{opacity:1;overflow-y:auto;pointer-events:auto}.profile-content.hidden{max-height:0;opacity:0;overflow:hidden;pointer-events:none}.profile-content::-webkit-scrollbar{width:6px}.profile-content::-webkit-scrollbar-track{background:#0000}.profile-content::-webkit-scrollbar-thumb{background:var(--text-tertiary);border-radius:3px;opacity:.5}.profile-content::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.profile-header-horizontal{align-items:center;border-bottom:1px solid var(--border-light);display:flex;gap:16px;margin-bottom:20px;padding:20px 0}.profile-photo-container{flex-shrink:0}.profile-photo-large{border:3px solid var(--accent-primary);border-radius:50%;object-fit:cover}.profile-photo-large,.profile-photo-placeholder{box-shadow:0 4px 12px #0003;height:100px;width:100px}.profile-photo-placeholder{background:linear-gradient(135deg,var(--accent-primary),var(--accent-hover));font-size:36px}.profile-info-container{display:flex;flex:1 1;flex-direction:column;gap:6px;justify-content:center;min-width:0}.profile-name-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.profile-name{color:var(--text-primary);font-size:24px;font-weight:700;line-height:1.2;margin:0}.profile-email,.profile-phone{color:var(--text-secondary);font-size:14px;line-height:1.4;margin:0}.groups-section{margin-bottom:20px}.friend-profile-panel .groups-list{align-items:center;display:flex!important;flex-direction:row!important;flex-wrap:wrap;gap:8px}.friend-profile-panel .group-badge{align-items:center;background-color:var(--accent-primary);border-radius:16px;color:#fff;display:inline-flex;flex-shrink:0;font-size:13px;font-weight:500;padding:6px 12px;transition:transform .15s ease,box-shadow .15s ease;white-space:nowrap}.friend-profile-panel .group-badge.clickable{cursor:pointer}.friend-profile-panel .group-badge.clickable:hover{box-shadow:0 2px 8px #0003;transform:scale(1.05)}.friend-profile-panel .btn-add-to-group,.friend-profile-panel .btn-add-to-group-first{align-items:center;background:var(--bg-tertiary);border:2px dashed var(--border-light);border-radius:16px;color:var(--text-secondary);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:16px;font-weight:600;height:32px;justify-content:center;min-width:36px;padding:6px 12px;transition:all .2s;white-space:nowrap}.btn-add-to-group-first:hover,.btn-add-to-group:hover{background:#4a90e21a;border-color:var(--accent-primary);color:var(--accent-primary)}.btn-add-to-group-first{display:block;padding:10px;width:100%}.btn-add-to-group-simple{background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:500;padding:8px 14px;transition:all .2s}.btn-add-to-group-simple:hover{background:#4a90e20d;border-color:var(--accent-primary);color:var(--accent-primary)}.note-section{margin-bottom:20px}.note-display{background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:8px;cursor:pointer;min-height:60px;padding:12px;transition:all .2s}.note-display:hover{background:#4a90e20d;border-color:var(--accent-primary)}.note-text{color:var(--text-primary);font-size:14px;line-height:1.5;margin:0;white-space:pre-wrap}.note-placeholder{color:var(--text-tertiary);font-size:14px;font-style:italic;margin:0}.note-editor{display:flex;flex-direction:column;gap:10px}.note-textarea{background:var(--bg-tertiary);border:2px solid var(--accent-primary);border-radius:8px;color:var(--text-primary);font-family:inherit;font-size:14px;min-height:100px;padding:12px;resize:vertical;width:100%}.note-textarea:focus{border-color:var(--accent-hover);outline:none}.note-actions{display:flex;gap:8px;justify-content:flex-end}.btn-cancel-note,.btn-save-note{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s}.btn-save-note{background:var(--accent-primary);color:#fff}.btn-save-note:hover:not(:disabled){background:var(--accent-hover)}.btn-save-note:disabled{cursor:not-allowed;opacity:.6}.btn-cancel-note{background:var(--bg-tertiary);border:1px solid var(--border-light);color:var(--text-secondary)}.btn-cancel-note:hover:not(:disabled){background:var(--bg-secondary);color:var(--text-primary)}.section-title{border-bottom:2px solid var(--border-light);color:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 12px;padding-bottom:8px}.address-section,.temp-locations-section{margin-bottom:20px}.address-card-with-button{align-items:stretch;display:flex;gap:8px;margin-bottom:12px}.address-card,.temp-location-card{background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:12px;flex:1 1;padding:14px;transition:all .2s ease}.address-card.clickable,.temp-location-card.clickable{cursor:pointer}.address-card.clickable:hover,.temp-location-card.clickable:hover{border-color:var(--accent-primary);box-shadow:0 4px 12px #4a90e233;transform:translateY(-2px)}.address-card.clickable:active,.temp-location-card.clickable:active{transform:translateY(0)}.btn-directions{align-items:center;align-self:center;background:#0000;border:1px solid var(--border-light);border-radius:50%;color:var(--accent-primary);cursor:pointer;display:flex;flex-shrink:0;font-size:20px;height:44px;justify-content:center;transform:rotate(0deg);transition:all .2s;width:44px}.btn-directions:hover{background:#4a90e21a;border-color:var(--accent-primary);transform:rotate(0deg) scale(1.1)}.btn-directions:active{transform:rotate(0deg) scale(.95)}.address-street{color:var(--text-primary);font-size:15px;font-weight:600;margin:0 0 4px}.address-city{color:var(--text-secondary);font-size:13px;margin:3px 0}.address-country{color:var(--text-tertiary);font-size:12px;margin:3px 0 0}.location-name{color:var(--text-primary);font-size:15px;font-weight:600;margin:0 0 6px}.location-description{color:var(--text-secondary);font-size:12px;line-height:1.4;margin:4px 0}.location-dates{font-style:italic;margin:6px 0 0}.location-address,.location-dates{color:var(--text-tertiary);font-size:11px}.temp-location-visibility{border-top:1px solid var(--border-light);display:flex;flex-wrap:wrap;gap:6px;margin-bottom:0;margin-top:10px;padding-bottom:0;padding-top:20px}.visibility-badge-compact{align-items:center;border-radius:4px;display:inline-flex;font-size:11px;font-weight:400;gap:4px;line-height:1.3;opacity:.8;padding:3px 8px}.visibility-badge-compact.all{background-color:#2e7d321a;color:var(--text-secondary)}.visibility-badge-compact.groups{background-color:#1565c01a;color:var(--text-secondary)}.visibility-badge-compact.friends{background-color:#e651001a;color:var(--text-secondary)}.panel-hint{animation:pulse 2s ease-in-out infinite;color:var(--text-tertiary);font-size:12px;font-style:italic;opacity:.7;padding:12px;text-align:center}@keyframes pulse{0%,to{opacity:.5}50%{opacity:.9}}.error-message,.loading-message{background:var(--bg-secondary);border-radius:12px;box-shadow:0 4px 20px #0000004d;color:var(--text-secondary);font-size:16px;left:50%;min-width:250px;padding:40px 30px;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.error-message{color:var(--danger)}.btn-back{background-color:var(--accent-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;display:block;font-size:15px;font-weight:600;margin:20px auto 0;padding:12px 24px;transition:background-color .2s}.btn-back:hover{background-color:var(--accent-hover)}@media (max-width:768px){.friend-profile-panel.panel-default .profile-content,.friend-profile-panel.panel-expanded .profile-content,.friend-profile-panel.panel-half .profile-content{opacity:1;overflow-y:auto;pointer-events:auto}.friend-profile-panel.panel-minimized .profile-content{max-height:0;opacity:0;overflow:hidden;pointer-events:none}.profile-content{padding:10px 15px 25px}.profile-header-horizontal{gap:12px;padding:15px 0}.profile-photo-large,.profile-photo-placeholder{height:80px;width:80px}.profile-photo-placeholder{font-size:30px}.profile-name{font-size:20px}.profile-email,.profile-phone{font-size:13px}.section-title{font-size:16px;margin-bottom:10px}.address-card,.temp-location-card{padding:12px}.btn-directions{font-size:18px;height:40px;width:40px}}.leaflet-popup-content-wrapper{background:var(--bg-secondary);border-radius:8px;box-shadow:0 4px 12px #0000004d;color:var(--text-primary)}.leaflet-popup-tip{background:var(--bg-secondary)}.leaflet-popup-content{font-size:14px;line-height:1.5;margin:12px}.leaflet-popup-content strong{color:var(--text-primary);font-weight:600}@media (min-width:769px){.friend-profile-panel{border-radius:0;bottom:auto;box-shadow:4px 0 32px #0000004d;height:calc(100vh - 70px);height:calc(100dvh - 70px);left:0;position:fixed;right:auto;top:70px;transform:none!important;transition:none;width:450px;z-index:3000}.profile-content .profile-header-compact{border-bottom:1px solid var(--border-light);margin-bottom:20px;padding-bottom:20px}.panel-hint{display:none}.profile-content{display:block!important;flex:1 1;height:auto;opacity:1!important;overflow-y:auto!important;padding:90px 24px 30px;pointer-events:auto!important}.panel-default,.panel-expanded,.panel-half,.panel-minimized{height:calc(100vh - 70px)!important;height:calc(100dvh - 70px)!important;top:70px!important;transform:none!important}.friend-profile-panel .profile-content{max-height:none!important;opacity:1!important;overflow-y:auto!important;pointer-events:auto!important}.contact-details{margin-bottom:20px;padding:15px 0 20px}.profile-header-compact{gap:16px;padding:20px 0}.profile-photo-small{border-width:3px;height:80px;width:80px}.profile-photo-placeholder-small{font-size:28px;height:80px;width:80px}.profile-name-compact{font-size:24px}}.groups-dropdown{animation:dropdownSlideDown .2s ease-out;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:12px;box-shadow:0 8px 24px #0000004d;display:flex;flex-direction:column;left:0;margin-top:8px;max-height:300px;overflow:hidden;position:absolute;right:0;top:100%;z-index:100}@keyframes dropdownSlideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.groups-dropdown-header{align-items:center;background:var(--bg-tertiary);border-bottom:1px solid var(--border-light);color:var(--text-primary);display:flex;font-size:14px;font-weight:600;justify-content:space-between;padding:12px 16px}.btn-close-dropdown{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-tertiary);cursor:pointer;display:flex;font-size:18px;height:24px;justify-content:center;padding:0;transition:all .2s;width:24px}.btn-close-dropdown:hover{background:#ffffff1a;color:var(--text-primary)}.groups-dropdown-content{flex:1 1;overflow-y:auto;padding:8px}.group-checkbox-item{align-items:center;border-radius:8px;cursor:pointer;display:flex;gap:10px;padding:10px 12px;transition:background .2s}.group-checkbox-item:hover{background:var(--bg-tertiary)}.group-checkbox-item input[type=checkbox]{accent-color:var(--accent-primary);cursor:pointer;height:18px;width:18px}.group-checkbox-label{color:var(--text-primary);cursor:pointer;flex:1 1;font-size:14px}.group-members-count{color:var(--text-tertiary);font-size:12px;font-weight:400}.no-groups-message{color:var(--text-secondary);font-size:13px;font-style:italic;line-height:1.5;padding:20px;text-align:center}.list-panel{background:var(--bg-primary);border-radius:24px 24px 0 0;bottom:0;box-shadow:0 -4px 20px #00000026;display:flex;flex-direction:column;left:0;overflow:hidden;position:fixed;right:0;transition:height .3s cubic-bezier(.4,0,.2,1);z-index:1000}@media (min-width:769px){.list-panel{border-radius:0;bottom:0;box-shadow:4px 0 20px #0000001a;height:calc(100vh - 70px)!important;height:calc(100dvh - 70px)!important;left:0;position:fixed;right:auto;top:70px;width:450px;z-index:3000}}.list-panel.dragging{transition:none}.list-panel .panel-drag-handle{cursor:grab;display:flex;flex-shrink:0;justify-content:center;padding:12px}@media (min-width:769px){.list-panel .panel-drag-handle{display:none}}.list-panel .handle-indicator{background:var(--border-color);border-radius:2px;height:4px;width:40px}.list-panel .btn-close-panel{align-items:center;background:var(--bg-tertiary);border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;font-size:16px;height:32px;justify-content:center;position:absolute;right:16px;top:16px;transition:all .2s;width:32px;z-index:10}.list-panel .btn-close-panel:hover{background:var(--bg-secondary);color:var(--text-primary)}.list-panel .btn-back-panel{align-items:center;background:var(--bg-tertiary);border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;font-size:16px;height:32px;justify-content:center;left:16px;position:absolute;top:16px;transition:all .2s;width:32px;z-index:10}.list-panel .btn-back-panel:hover{background:var(--bg-secondary);color:var(--text-primary)}@media (min-width:769px){.list-panel .btn-back-panel,.list-panel .btn-close-panel{display:none}}.list-panel .panel-content{flex:1 1;overflow:hidden;padding:0 20px 20px}@media (min-width:769px){.list-panel .panel-content{overflow-y:auto;padding-top:80px}}.list-panel .panel-content.scrollable{overflow-y:auto}.list-panel .list-header{align-items:center;display:flex;gap:12px;margin-bottom:16px;padding-right:40px}.list-panel .list-color-indicator{border-radius:50%;flex-shrink:0;height:16px;width:16px}.list-panel .list-title{color:var(--text-primary);flex:1 1;font-size:22px;font-weight:700;margin:0}.list-panel .list-member-count{color:var(--text-secondary);font-size:14px;white-space:nowrap}.list-panel .list-description-section{margin-bottom:20px}.list-panel .description-display{background:var(--bg-tertiary);border-radius:8px;cursor:pointer;padding:12px;transition:background .2s}.list-panel .description-display:hover{background:var(--bg-secondary)}.list-panel .description-text{color:var(--text-primary);font-size:14px;line-height:1.5;margin:0}.list-panel .description-placeholder{color:var(--text-secondary);font-size:14px;font-style:italic;margin:0}.list-panel .description-editor{display:flex;flex-direction:column;gap:10px}.list-panel .description-textarea{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;min-height:80px;padding:12px;resize:vertical;width:100%}.list-panel .description-textarea:focus{border-color:var(--accent-primary);outline:none}.list-panel .description-actions{display:flex;gap:10px}.list-panel .btn-cancel-description,.list-panel .btn-save-description{border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s}.list-panel .btn-save-description{background:var(--accent-primary);border:none;color:#fff}.list-panel .btn-save-description:hover:not(:disabled){background:var(--accent-hover)}.list-panel .btn-cancel-description{background:#0000;border:1px solid var(--border-color);color:var(--text-secondary)}.list-panel .btn-cancel-description:hover:not(:disabled){background:var(--bg-tertiary)}.list-panel .list-members-section{flex:1 1}.list-panel .section-title{color:var(--text-secondary);font-size:14px;font-weight:600;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.list-panel .empty-members{color:var(--text-secondary);padding:24px;text-align:center}.list-panel .members-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.list-panel .member-card{align-items:center;background:var(--bg-tertiary);border-radius:10px;cursor:pointer;display:flex;gap:12px;overflow:hidden;padding:12px;position:relative;transition:all .2s}.list-panel .member-card:hover{background:var(--bg-secondary);transform:translateX(4px)}.list-panel .member-card.newly-added{animation:slideInMember .5s cubic-bezier(.22,1,.36,1) forwards;background:#00aa9f26}@keyframes slideInMember{0%{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.list-panel .member-card.newly-added:after{animation:flashHighlight .8s ease-out forwards;background:linear-gradient(90deg,#0000,#00aa9f4d,#0000);border-radius:inherit;content:"";inset:0;pointer-events:none;position:absolute}@keyframes flashHighlight{0%{opacity:1;transform:translateX(-100%)}50%{transform:translateX(100%)}to{opacity:0;transform:translateX(100%)}}.list-panel .member-photo-container{flex-shrink:0}.list-panel .member-photo{border-radius:50%;height:44px;object-fit:cover;width:44px}.list-panel .member-photo-placeholder{align-items:center;background:var(--accent-light);border-radius:50%;color:var(--accent-primary);display:flex;font-size:16px;font-weight:600;height:44px;justify-content:center;width:44px}.list-panel .member-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.list-panel .member-name{color:var(--text-primary);font-size:15px;font-weight:600}.list-panel .member-address,.list-panel .member-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-panel .member-address{color:var(--text-secondary);font-size:13px}.list-panel .btn-add-member{background:#0000;border:2px dashed var(--accent-primary);border-radius:10px;color:var(--accent-primary);cursor:pointer;font-size:15px;font-weight:600;padding:14px;transition:all .2s;width:100%}.list-panel .btn-add-member:hover{background:#00aa9f0d;border-color:var(--accent-hover);color:var(--accent-hover)}.list-panel .panel-hint{color:var(--text-secondary);font-size:12px;opacity:.6;padding:8px 0;text-align:center}@media (min-width:769px){.list-panel .panel-hint{display:none}}.list-panel .error-message,.list-panel .loading-message{align-items:center;color:var(--text-secondary);display:flex;height:100px;justify-content:center}.list-panel .btn-back{background:var(--bg-tertiary);border:none;border-radius:8px;color:var(--text-primary);cursor:pointer;display:block;margin:0 auto;padding:10px 20px}.add-members-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.add-members-modal{background:var(--bg-primary);border-radius:16px;box-shadow:0 10px 40px #0003;display:flex;flex-direction:column;max-height:80vh;max-width:480px;overflow:hidden;width:100%}.add-members-modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;padding:20px 24px}.add-members-modal-header h2{color:var(--text-primary);font-size:20px;font-weight:600;margin:0}.add-members-modal-close{align-items:center;background:var(--bg-tertiary);border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.add-members-modal-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.add-members-modal-close svg{height:18px;width:18px}.add-members-search{align-items:center;border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;gap:12px;padding:16px 24px}.add-members-search .search-icon{color:var(--text-secondary);flex-shrink:0;height:20px;width:20px}.add-members-search input{background:#0000;border:none;color:var(--text-primary);flex:1 1;font-size:15px;outline:none}.add-members-search input::placeholder{color:var(--text-secondary)}.add-members-search .search-clear{align-items:center;background:var(--bg-tertiary);border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:all .2s;width:28px}.add-members-search .search-clear:hover{background:var(--bg-secondary);color:var(--text-primary)}.add-members-search .search-clear svg{height:14px;width:14px}.add-members-list{flex:1 1;min-height:200px;overflow-y:auto;padding:12px 16px}.add-members-empty{color:var(--text-secondary);font-size:14px;padding:40px 20px;text-align:center}.add-members-item{align-items:center;border-radius:10px;cursor:pointer;display:flex;gap:12px;margin-bottom:4px;padding:10px 12px;transition:all .15s}.add-members-item:hover{background:var(--bg-tertiary)}.add-members-item.selected{background:#00aa9f1a}[data-theme=dark] .add-members-item.selected{background:#00aa9f26}.add-members-checkbox{flex-shrink:0}.add-members-checkbox input[type=checkbox]{accent-color:var(--accent-primary);cursor:pointer;height:18px;width:18px}.add-members-avatar{flex-shrink:0}.add-members-avatar img{border-radius:50%;height:40px;object-fit:cover;width:40px}.add-members-avatar-placeholder{align-items:center;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-hover) 100%);border-radius:50%;color:#fff;display:flex;font-size:14px;font-weight:600;height:40px;justify-content:center;width:40px}.add-members-name{color:var(--text-primary);flex:1 1;font-size:15px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-members-modal-footer{border-top:1px solid var(--border-color);display:flex;flex-shrink:0;gap:12px;padding:16px 24px}.add-members-modal-footer .btn-primary,.add-members-modal-footer .btn-secondary{border-radius:10px;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;padding:12px 20px;transition:all .2s}.add-members-modal-footer .btn-primary{background:var(--accent-primary);border:none;color:#fff}.add-members-modal-footer .btn-primary:hover:not(:disabled){background:var(--accent-hover)}.add-members-modal-footer .btn-primary:disabled{cursor:not-allowed;opacity:.5}.add-members-modal-footer .btn-secondary{background:#0000;border:1px solid var(--border-color);color:var(--text-secondary)}.add-members-modal-footer .btn-secondary:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.add-members-modal-footer .btn-secondary:disabled{cursor:not-allowed;opacity:.5}@media (max-width:480px){.add-members-modal-overlay{align-items:flex-end;padding:0}.add-members-modal{border-radius:20px 20px 0 0;max-height:85vh;max-width:100%}.add-members-modal-header{padding:16px 20px}.add-members-modal-header h2{font-size:18px}.add-members-search{padding:12px 20px}.add-members-list{padding:8px 12px}.add-members-item{gap:10px;padding:8px 10px}.add-members-avatar img,.add-members-avatar-placeholder{height:36px;width:36px}.add-members-name{font-size:14px}.add-members-modal-footer{padding:12px 20px 20px}.add-members-modal-footer .btn-primary,.add-members-modal-footer .btn-secondary{font-size:14px;padding:10px 16px}}.add-members-list::-webkit-scrollbar{width:6px}.add-members-list::-webkit-scrollbar-track{background:#0000}.add-members-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.add-members-list::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.route-panel{background:#fff;background:var(--background-primary,#fff);border-radius:16px 16px 0 0;box-shadow:0 -4px 20px #00000026;display:flex;flex-direction:column;overflow:hidden;transition:height .3s ease,transform .3s ease;z-index:1500}[data-theme=dark] .route-panel{background:#1a1a1a;background:var(--background-primary,#1a1a1a);box-shadow:0 -4px 20px #0006}.route-panel.desktop{border-radius:0;box-shadow:4px 0 32px #0003;height:calc(100vh - 70px);height:calc(100dvh - 70px);left:0;position:fixed;top:70px;width:450px;z-index:2900}[data-theme=dark] .route-panel.desktop{box-shadow:4px 0 32px #00000080}.route-panel.mobile{border-radius:20px 20px 0 0;bottom:0;left:0;position:fixed;right:0}.route-panel.mobile.sheet-collapsed{height:15vh}.route-panel.mobile.sheet-half{height:50vh}.route-panel.mobile.sheet-full{height:90vh}.route-panel-handle{cursor:grab;display:none;justify-content:center;padding:12px 0 8px;touch-action:none}.route-panel.mobile .route-panel-handle{display:flex}.handle-bar{background:#ddd;background:var(--border-color,#ddd);border-radius:2px;height:4px;width:40px}[data-theme=dark] .handle-bar{background:#444;background:var(--border-color,#444)}.route-panel-fixed-header{background:#fff;background:var(--background-primary,#fff);border-bottom:1px solid #eee;border-bottom:1px solid var(--border-color,#eee);flex-shrink:0;z-index:10}[data-theme=dark] .route-panel-fixed-header{background:#1a1a1a;background:var(--background-primary,#1a1a1a);border-bottom-color:#333;border-bottom-color:var(--border-color,#333)}.route-panel-header{align-items:center;display:flex;gap:12px;padding:12px 16px}.route-panel-header h3{color:#333;color:var(--text-primary,#333);font-size:18px;font-weight:600;margin:0;white-space:nowrap}[data-theme=dark] .route-panel-header h3{color:#fff;color:var(--text-primary,#fff)}[data-theme=dark] .route-panel-header{border-bottom-color:#333;border-bottom-color:var(--border-color,#333)}.route-inputs-fixed{display:flex;flex-direction:column;gap:10px;padding:12px 16px}.route-input-row{align-items:center;display:flex;gap:10px}.route-marker{background:#00aa9f;background:var(--accent-primary,#00aa9f);border-radius:50%;flex-shrink:0;height:12px;width:12px}.route-marker.origin{background:#00aa9f}.route-marker.destination{background:#e1723c}.route-marker.waypoint{background:#00745e}.route-input-wrapper{flex:1 1;position:relative}.route-input{background:#fff;background:var(--background-primary,#fff);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:8px;color:#333;color:var(--text-primary,#333);font-size:14px;padding:10px 14px;transition:border-color .2s,box-shadow .2s;width:100%}[data-theme=dark] .route-input{background:#2a2a2a;background:var(--background-secondary,#2a2a2a);border-color:#444;border-color:var(--border-color,#444);color:#fff;color:var(--text-primary,#fff)}.route-input:focus{border-color:#00aa9f;border-color:var(--accent-primary,#00aa9f);box-shadow:0 0 0 2px #00aa9f26;outline:none}.route-input::placeholder{color:#999;color:var(--text-tertiary,#999)}.route-suggestions{background:#fff;background:var(--background-primary,#fff);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:8px;box-shadow:0 4px 12px #00000026;left:0;margin-top:4px;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}[data-theme=dark] .route-suggestions{background:#2a2a2a;background:var(--background-secondary,#2a2a2a);border-color:#444;border-color:var(--border-color,#444)}.route-suggestion-item{align-items:center;cursor:pointer;display:flex;gap:10px;padding:10px 12px;transition:background .2s}.route-suggestion-item:hover{background:#f5f5f5;background:var(--hover-background,#f5f5f5)}[data-theme=dark] .route-suggestion-item:hover{background:#333;background:var(--hover-background,#333)}.suggestion-icon{font-size:16px}.suggestion-text{flex:1 1;min-width:0}.suggestion-name{color:#333;color:var(--text-primary,#333);display:block;font-size:14px;font-weight:500}[data-theme=dark] .suggestion-name{color:#fff;color:var(--text-primary,#fff)}.suggestion-address{color:#666;color:var(--text-secondary,#666);display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-waypoint-btn,.remove-waypoint-btn,.swap-points-btn{align-items:center;background:#f5f5f5;background:var(--background-secondary,#f5f5f5);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:50%;color:#666;color:var(--text-secondary,#666);cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:32px;justify-content:center;transition:all .2s;width:32px}[data-theme=dark] .add-waypoint-btn,[data-theme=dark] .remove-waypoint-btn,[data-theme=dark] .swap-points-btn{background:#2a2a2a;background:var(--background-secondary,#2a2a2a);border-color:#444;border-color:var(--border-color,#444)}.add-waypoint-btn:hover,.swap-points-btn:hover{background:#e8f5f4;background:var(--accent-light,#e8f5f4);border-color:#00aa9f;border-color:var(--accent-primary,#00aa9f);color:#00aa9f;color:var(--accent-primary,#00aa9f)}.add-waypoint-btn.active{background:#00aa9f;background:var(--accent-primary,#00aa9f);border-color:#00aa9f;border-color:var(--accent-primary,#00aa9f);color:#fff}.remove-waypoint-btn:hover{background:#ffebee;border-color:#f44336;color:#f44336}.route-row-actions{align-items:center;display:flex;flex-shrink:0;gap:4px}.reorder-btn{align-items:center;background:#f5f5f5;background:var(--background-secondary,#f5f5f5);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:4px;color:#666;color:var(--text-secondary,#666);cursor:pointer;display:flex;font-size:10px;height:24px;justify-content:center;padding:0;transition:all .2s;width:24px}[data-theme=dark] .reorder-btn{background:#2a2a2a;background:var(--background-secondary,#2a2a2a);border-color:#444;border-color:var(--border-color,#444)}.reorder-btn:hover:not(:disabled){background:#e8f5f4;background:var(--accent-light,#e8f5f4);border-color:#00aa9f;border-color:var(--accent-primary,#00aa9f);color:#00aa9f;color:var(--accent-primary,#00aa9f)}.reorder-btn:disabled{cursor:not-allowed;opacity:.3}.drag-handle{color:#999;color:var(--text-tertiary,#999);cursor:grab;font-size:14px;letter-spacing:-2px;padding:4px;transition:color .2s;-webkit-user-select:none;user-select:none}.drag-handle:hover{color:#333;color:var(--text-primary,#333)}[data-theme=dark] .drag-handle:hover{color:#fff;color:var(--text-primary,#fff)}.drag-handle:active{cursor:grabbing}.drag-handle.drag-handle-disabled{cursor:default;opacity:.4}.drag-handle.drag-handle-disabled:hover{color:#999;color:var(--text-tertiary,#999);cursor:default}.route-input-row.drag-over{background:#e8f5f4;background:var(--accent-light,#e8f5f4);border-radius:8px;box-shadow:inset 0 0 0 2px #00aa9f;box-shadow:inset 0 0 0 2px var(--accent-primary,#00aa9f)}[data-theme=dark] .route-input-row.drag-over{background:#1a2e2d;background:var(--accent-light,#1a2e2d)}.waypoint-draggable{transition:transform .15s ease,opacity .15s ease,background .15s ease}.waypoint-draggable.dragging{background:#e8f5f4;background:var(--accent-light,#e8f5f4);opacity:.5}.waypoint-draggable.drag-over{background:#e8f5f4;background:var(--accent-light,#e8f5f4);border-radius:8px;box-shadow:inset 0 0 0 2px #00aa9f;box-shadow:inset 0 0 0 2px var(--accent-primary,#00aa9f)}[data-theme=dark] .waypoint-draggable.drag-over,[data-theme=dark] .waypoint-draggable.dragging{background:#1a2e2d;background:var(--accent-light,#1a2e2d)}.route-panel-content{flex:1 1;overflow-y:auto;padding:0}.route-panel-close{background:none;border:none;border-radius:8px;color:#666;color:var(--text-secondary,#666);cursor:pointer;font-size:20px;padding:4px 8px;transition:background .2s}.route-panel-close:hover{background:#f0f0f0;background:var(--hover-background,#f0f0f0)}[data-theme=dark] .route-panel-close:hover{background:#333;background:var(--hover-background,#333)}.transport-mode-selector{display:flex;flex:1 1;justify-content:space-evenly}.transport-mode-btn{align-items:center;background:#f5f5f5;background:var(--background-secondary,#f5f5f5);border:2px solid #0000;border-radius:10px;cursor:pointer;display:flex;font-size:18px;height:36px;justify-content:center;padding:0;transition:all .2s;width:36px}[data-theme=dark] .transport-mode-btn{background:#2a2a2a;background:var(--background-secondary,#2a2a2a)}.transport-mode-btn:hover{background:#e8e8e8;background:var(--hover-background,#e8e8e8);transform:scale(1.1)}[data-theme=dark] .transport-mode-btn:hover{background:#3a3a3a;background:var(--hover-background,#3a3a3a)}.transport-mode-btn.active{background:#e8f5f4;background:var(--accent-light,#e8f5f4);border-color:#00aa9f;border-color:var(--accent-primary,#00aa9f)}[data-theme=dark] .transport-mode-btn.active{background:#1a2e2d;background:var(--accent-light,#1a2e2d);border-color:#00cbbf;border-color:var(--accent-primary,#00cbbf)}.route-loading{align-items:center;color:#666;color:var(--text-secondary,#666);display:flex;gap:12px;justify-content:center;padding:20px}.route-spinner{animation:spin 1s linear infinite;border:3px solid #ddd;border-top-color:#00aa9f;border:3px solid var(--border-color,#ddd);border-radius:50%;border-top-color:var(--accent-primary,#00aa9f);height:24px;width:24px}.route-error{align-items:center;background:#ffebee;border-radius:10px;color:#c62828;display:flex;font-size:14px;gap:8px;margin:0 16px;padding:12px 16px}[data-theme=dark] .route-error{background:#4a1a1a;color:#ef9a9a}.route-results{flex:1 1;overflow-y:auto;padding:16px}.route-alternatives{margin-bottom:16px}.alternatives-label{color:#666;color:var(--text-secondary,#666);display:block;font-size:12px;font-weight:600;margin-bottom:8px;text-transform:uppercase}.alternatives-list{display:flex;gap:8px;justify-content:flex-start;overflow-x:auto;padding-bottom:4px}.alternative-btn{align-items:center;background:#f5f5f5;background:var(--background-secondary,#f5f5f5);border:2px solid #0000;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;min-width:80px;padding:10px 16px;transition:all .2s}[data-theme=dark] .alternative-btn{background:#2a2a2a;background:var(--background-secondary,#2a2a2a)}.alternative-btn:hover{background:#e8e8e8;background:var(--hover-background,#e8e8e8)}.alternative-btn.active{background:#e8f5f4;background:var(--accent-light,#e8f5f4);border-color:#00aa9f;border-color:var(--accent-primary,#00aa9f)}[data-theme=dark] .alternative-btn.active{background:#1a2e2d;background:var(--accent-light,#1a2e2d);border-color:#00cbbf;border-color:var(--accent-primary,#00cbbf)}.alt-duration{color:#333;color:var(--text-primary,#333);font-size:14px;font-weight:600}[data-theme=dark] .alt-duration{color:#fff;color:var(--text-primary,#fff)}.alt-distance{color:#666;color:var(--text-secondary,#666);font-size:12px}.route-info{background:#f9f9f9;background:var(--background-secondary,#f9f9f9);border-radius:12px;padding:16px}[data-theme=dark] .route-info{background:#2a2a2a;background:var(--background-secondary,#2a2a2a)}.route-summary{flex-wrap:wrap;gap:20px}.route-stat,.route-summary{align-items:center;display:flex}.route-stat{gap:6px}.stat-icon,.stat-value{font-size:16px}.stat-value{color:#333;color:var(--text-primary,#333);font-weight:600}[data-theme=dark] .stat-value{color:#fff;color:var(--text-primary,#fff)}.route-stat.provider{margin-left:auto}.stat-label{color:#999;color:var(--text-tertiary,#999)}.route-steps{margin-top:16px}.route-steps summary{color:#00aa9f;color:var(--accent-primary,#00aa9f);cursor:pointer;font-size:14px;font-weight:600;padding:8px 0}.steps-list{list-style:decimal;margin:0;padding:0 0 0 20px}.step-item{align-items:flex-start;border-bottom:1px solid #eee;border-bottom:1px solid var(--border-color,#eee);display:flex;gap:12px;justify-content:space-between;padding:8px 0}[data-theme=dark] .step-item{border-bottom-color:#333;border-bottom-color:var(--border-color,#333)}.step-instruction{color:#333;color:var(--text-primary,#333);flex:1 1;font-size:13px}[data-theme=dark] .step-instruction{color:#ddd;color:var(--text-primary,#ddd)}.step-distance{color:#666;color:var(--text-secondary,#666);font-size:12px;white-space:nowrap}.route-external-apps{align-items:center;display:flex;flex-direction:column;gap:12px;margin-top:16px}.external-apps-label{color:#666;color:var(--text-secondary,#666);font-size:12px;font-weight:600;text-transform:uppercase}.external-apps-buttons{display:flex;gap:16px;justify-content:center}.external-app-btn{align-items:center;background:#fff;background:var(--background-primary,#fff);border:2px solid #ddd;border:2px solid var(--border-color,#ddd);border-radius:50%;box-shadow:0 2px 8px #00000014;cursor:pointer;display:flex;height:56px;justify-content:center;text-decoration:none;transition:all .2s ease;width:56px}[data-theme=dark] .external-app-btn{background:#2a2a2a;background:var(--background-secondary,#2a2a2a);border-color:#444;border-color:var(--border-color,#444)}.external-app-btn:hover{border-color:#00aa9f;border-color:var(--accent-primary,#00aa9f);box-shadow:0 4px 12px #00aa9f40;transform:scale(1.1)}.external-app-logo{border-radius:4px;height:32px;object-fit:contain;width:32px}@media (max-width:768px){.route-panel-header{gap:8px;padding:8px 12px}.route-panel-header h3{font-size:14px}.transport-mode-selector{justify-content:space-evenly}.transport-mode-btn{border-radius:8px;font-size:16px;height:32px;width:32px}.route-alternatives{text-align:center}.alternatives-list{flex-wrap:wrap;justify-content:center}.route-inputs-fixed{gap:8px;padding:8px 12px}.route-input{font-size:14px;padding:10px 14px}.route-marker{height:10px;width:10px}.drag-handle{font-size:12px}.reorder-btn{font-size:9px;height:22px;width:22px}.route-results{padding:12px}.route-summary{gap:12px}.stat-value{font-size:14px}}.list-color-picker{display:inline-flex;position:relative}.list-color-picker .color-trigger{border:2px solid var(--border-color);cursor:pointer;padding:0;transition:all .2s ease}.list-color-picker.medium .color-trigger{border-radius:50%;height:40px;width:40px}.list-color-picker.small .color-trigger{border-radius:50%;height:32px;width:32px}.list-color-picker .color-trigger:hover{border-color:var(--accent-primary);transform:scale(1.05)}.list-color-picker.open .color-trigger{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-light)}.list-color-picker .color-palette{animation:paletteSlideIn .2s ease-out;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 24px #00000026;left:50%;padding:12px;position:absolute;top:calc(100% + 8px);transform:translateX(-50%);z-index:1000}@keyframes paletteSlideIn{0%{opacity:0;transform:translateX(-50%) translateY(-8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.list-color-picker .color-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(7,1fr);width:-webkit-max-content;width:max-content}.list-color-picker .color-pastille{align-items:center;border:2px solid #0000;border-radius:50%;cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;transition:all .15s ease;width:28px}.list-color-picker .color-pastille:hover{border-color:var(--text-primary);transform:scale(1.15)}.list-color-picker .color-pastille.selected{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--bg-primary),0 0 0 4px var(--text-primary)}.list-color-picker .color-pastille.custom-color{background:linear-gradient(135deg,#ff6b6b,#feca57 25%,#48dbfb 50%,#ff9ff3 75%,#ff6b6b);border:2px dashed var(--border-color)}.list-color-picker .color-pastille.custom-color:hover{border-color:var(--text-primary);border-style:solid}.list-color-picker .color-pastille.custom-color svg{color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5));height:14px;width:14px}.list-color-picker .native-color-input{height:0;opacity:0;pointer-events:none;position:absolute;width:0}@media (max-width:480px){.list-color-picker .color-palette{left:0;transform:translateX(0)}.list-color-picker .color-grid{grid-template-columns:repeat(6,1fr)}.list-color-picker .color-pastille{height:32px;width:32px}}.add-to-lists-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.add-to-lists-modal{background:var(--bg-primary);border-radius:16px;box-shadow:0 10px 40px #0003;display:flex;flex-direction:column;max-height:80vh;max-width:420px;overflow:hidden;width:100%}.add-to-lists-modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;padding:20px 24px}.add-to-lists-modal-header h2{color:var(--text-primary);flex:1 1;font-size:18px;font-weight:600;margin:0;padding-right:16px}.add-to-lists-modal-close{align-items:center;background:var(--bg-tertiary);border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;transition:all .2s;width:36px}.add-to-lists-modal-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.add-to-lists-modal-close svg{height:18px;width:18px}.add-to-lists-search{align-items:center;border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;gap:12px;padding:16px 24px}.add-to-lists-search .search-icon{color:var(--text-secondary);flex-shrink:0;height:20px;width:20px}.add-to-lists-search input{background:#0000;border:none;color:var(--text-primary);flex:1 1;font-size:15px;outline:none}.add-to-lists-search input::placeholder{color:var(--text-secondary)}.add-to-lists-search .search-clear{align-items:center;background:var(--bg-tertiary);border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:all .2s;width:28px}.add-to-lists-search .search-clear:hover{background:var(--bg-secondary);color:var(--text-primary)}.add-to-lists-search .search-clear svg{height:14px;width:14px}.add-to-lists-list{flex:1 1;min-height:150px;overflow-y:auto;padding:12px 16px}.add-to-lists-empty{color:var(--text-secondary);font-size:14px;padding:40px 20px;text-align:center}.add-to-lists-item{align-items:center;border-radius:10px;cursor:pointer;display:flex;gap:12px;margin-bottom:4px;padding:10px 12px;transition:all .15s}.add-to-lists-item:hover{background:var(--bg-tertiary)}.add-to-lists-item.selected{background:#00aa9f1a}[data-theme=dark] .add-to-lists-item.selected{background:#00aa9f26}.add-to-lists-checkbox{flex-shrink:0}.add-to-lists-checkbox input[type=checkbox]{accent-color:var(--accent-primary);cursor:pointer;height:18px;width:18px}.add-to-lists-color{border-radius:50%;flex-shrink:0;height:16px;width:16px}.add-to-lists-name{color:var(--text-primary);flex:1 1;font-size:15px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-to-lists-create-form{align-items:center;background:var(--bg-secondary);border-top:1px solid var(--border-color);display:flex;gap:10px;padding:12px 24px}.add-to-lists-create-form .create-group-input{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);flex:1 1;font-size:14px;outline:none;padding:10px 14px;transition:border-color .2s}.add-to-lists-create-form .create-group-input:focus{border-color:var(--accent-primary)}.add-to-lists-create-form .btn-create-cancel,.add-to-lists-create-form .btn-create-confirm{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;transition:all .2s;width:36px}.add-to-lists-create-form .btn-create-confirm{background:var(--accent-primary);color:#fff}.add-to-lists-create-form .btn-create-confirm:hover:not(:disabled){background:var(--accent-hover)}.add-to-lists-create-form .btn-create-confirm:disabled{cursor:not-allowed;opacity:.5}.add-to-lists-create-form .btn-create-confirm svg{height:18px;width:18px}.add-to-lists-create-form .btn-create-cancel{background:var(--bg-tertiary);color:var(--text-secondary)}.add-to-lists-create-form .btn-create-cancel:hover:not(:disabled){background:var(--bg-primary);color:var(--text-primary)}.add-to-lists-create-form .btn-create-cancel svg{height:16px;width:16px}.add-to-lists-modal-footer{border-top:1px solid var(--border-color);display:flex;flex-shrink:0;gap:12px;padding:16px 24px}.add-to-lists-modal-footer .btn-primary,.add-to-lists-modal-footer .btn-secondary{border-radius:10px;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;padding:12px 20px;transition:all .2s}.add-to-lists-modal-footer .btn-primary{background:var(--accent-primary);border:none;color:#fff}.add-to-lists-modal-footer .btn-primary:hover:not(:disabled){background:var(--accent-hover)}.add-to-lists-modal-footer .btn-primary:disabled{cursor:not-allowed;opacity:.5}.add-to-lists-modal-footer .btn-secondary{background:#0000;border:1px solid var(--border-color);color:var(--text-secondary)}.add-to-lists-modal-footer .btn-secondary:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.add-to-lists-modal-footer .btn-secondary:disabled{cursor:not-allowed;opacity:.5}@media (max-width:480px){.add-to-lists-modal-overlay{align-items:flex-end;padding:0}.add-to-lists-modal{border-radius:20px 20px 0 0;max-height:85vh;max-width:100%}.add-to-lists-modal-header{padding:16px 20px}.add-to-lists-modal-header h2{font-size:16px}.add-to-lists-search{padding:12px 20px}.add-to-lists-list{padding:8px 12px}.add-to-lists-item{gap:10px;padding:8px 10px}.add-to-lists-name{font-size:14px}.add-to-lists-create-form{gap:8px;padding:12px 16px}.add-to-lists-modal-footer{padding:12px 20px 20px}.add-to-lists-modal-footer .btn-primary,.add-to-lists-modal-footer .btn-secondary{font-size:14px;padding:10px 16px}}.add-to-lists-list::-webkit-scrollbar{width:6px}.add-to-lists-list::-webkit-scrollbar-track{background:#0000}.add-to-lists-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.add-to-lists-list::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.friends-page{background-color:var(--bg-primary);display:flex;flex-direction:column;min-height:calc(100vh - 70px);padding:40px 20px;transition:background-color .3s}.friends-container{display:flex;flex:1 1;flex-direction:column;margin:0 auto;max-width:900px;width:100%}.friends-container h1{color:var(--text-primary);font-size:36px;margin-bottom:30px;text-align:center;transition:color .3s}.tabs{border-bottom:2px solid var(--border-color);display:flex;gap:10px;justify-content:center;margin-bottom:30px;transition:border-color .3s}.tab{background:none;border:none;border-bottom:3px solid #0000;color:var(--text-secondary);cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .3s}.tab.active,.tab:hover{color:var(--accent-primary)}.tab.active{border-bottom-color:var(--accent-primary)}.friends-content{flex:1 1;min-height:0;touch-action:pan-y pinch-zoom}.friends-list{gap:15px}.friend-card,.friends-list{display:flex;flex-direction:column}.friend-card{background:var(--bg-secondary);border-radius:12px;box-shadow:0 2px 8px var(--shadow);padding:20px;position:relative;transition:all .3s;z-index:1}.friend-card:hover{box-shadow:0 4px 12px var(--shadow-hover);transform:translateY(-2px)}.friend-card.menu-open{z-index:1001}.friend-card-content{align-items:center;display:flex;gap:15px;width:100%}.friend-groups{align-items:center;display:flex;flex-wrap:wrap;gap:8px}@media (max-width:768px){.friend-info{flex:0 0 auto}.friend-groups{flex:1 1;justify-content:center}.friend-menu-container{flex:0 0 auto}.group-header-item{grid-column-gap:12px;grid-row-gap:8px;column-gap:12px;display:grid!important;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;padding:16px 20px;row-gap:8px}.group-color-indicator{align-self:center;grid-column:1;grid-row:1/3}.group-info{grid-column:2;grid-row:1}.group-info h3{font-size:18px;margin:0}.group-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;grid-column:2;grid-row:2}.group-menu-container{align-self:center;grid-column:3;grid-row:1/3}}.group-color-indicator{border:2px solid #fff;border-radius:50%;box-shadow:0 2px 6px #0003;flex-shrink:0;height:20px;width:20px}.group-info h3{color:var(--text-primary);font-size:20px;margin:0}.member-count{background-color:var(--bg-tertiary);border-radius:12px;color:var(--text-primary);font-size:14px;padding:4px 12px;white-space:nowrap}.group-menu-container{display:inline-block;position:relative}.btn-group-menu{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:24px;height:36px;justify-content:center;line-height:1;padding:4px 8px;transition:all .2s ease;width:36px}.btn-group-menu:hover:not(:disabled){background-color:#0000000d;color:#00aa9f}.btn-group-menu:disabled{cursor:not-allowed;opacity:.5}.group-menu-dropdown{animation:fadeInDropdown .2s ease;background:var(--bg-secondary);border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #00000026;margin-top:4px;min-width:150px;position:absolute;right:0;top:100%;z-index:1000}@keyframes fadeInDropdown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.group-menu-dropdown button{background:none;border:none;color:var(--text-primary);cursor:pointer;display:block;font-size:14px;padding:10px 16px;text-align:left;transition:background-color .2s ease;width:100%}.group-menu-dropdown button:first-child{border-radius:8px 8px 0 0}.group-menu-dropdown button:last-child{border-radius:0 0 8px 8px}.group-menu-dropdown button:hover:not(:disabled){background-color:var(--bg-tertiary)}.group-menu-dropdown button:disabled{cursor:not-allowed;opacity:.5}@media (min-width:769px){.friend-card{align-items:center;flex-direction:row;gap:20px}.friend-info{flex:1 1}.friend-groups{flex:0 0 auto;margin-left:auto}.friend-menu-container{flex:0 0 auto}.btn-cancel-request{margin-left:auto}.btn-primary{flex-shrink:0}}.friend-info{align-items:center;display:flex;gap:15px}.friend-details{flex:0 1 auto;min-width:0}.friend-name-container{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:5px}.traveling-badge{align-items:center;animation:travelingPulse 2s ease-in-out infinite;background:linear-gradient(135deg,#ff6b6b,#ee5a6f);border-radius:12px;box-shadow:0 2px 6px #ff6b6b4d;color:#fff;cursor:help;display:inline-flex;font-size:11px;font-weight:600;gap:4px;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}@keyframes travelingPulse{0%,to{box-shadow:0 2px 6px #ff6b6b4d}50%{box-shadow:0 3px 10px #ff6b6b80}}.friend-photo{border:3px solid #00aa9f;border-radius:50%;height:60px;object-fit:cover;width:60px}.friend-info h3{color:var(--text-primary);font-size:18px;margin:0}.friend-email{color:var(--text-secondary);font-size:14px;margin:0}.friend-location{color:#00aa9f;font-size:14px;margin:5px 0 0}.request-pending-text,.request-status{color:#f39c12;font-size:13px;margin:5px 0 0}.request-pending-text{font-weight:600}.request-pending-badge{background-color:#f39c12;border-radius:12px;color:#fff;display:inline-block;font-size:12px;font-weight:600;margin-left:10px;padding:4px 10px;vertical-align:middle}.btn-cancel-request{align-items:center;background-color:#e74c3c;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:20px;font-weight:700;height:36px;justify-content:center;line-height:1;padding:0;transition:all .3s ease;width:36px}.btn-cancel-request:hover{background-color:#c0392b;transform:scale(1.1)}.request-actions{display:flex;gap:10px}.search-section{margin-bottom:30px}.search-form{align-items:stretch;display:flex;gap:10px;margin-bottom:20px}.search-input{border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;flex:1 1;font-size:16px;height:46px;min-width:0;padding:0 16px}.search-form .btn-primary{align-items:center;align-self:flex-start;box-sizing:border-box;display:flex;flex-shrink:0;height:46px;justify-content:center;max-width:140px;padding:0 20px;white-space:nowrap}.search-input:focus{border-color:#00aa9f;outline:none}.pending-requests-section h2,.requests-section h2{color:var(--text-primary);font-size:24px;margin:0 0 20px}.my-contacts-title{color:var(--text-primary);font-size:24px;margin:30px 0 20px;transition:color .3s}.empty-message{color:#999;font-size:16px;padding:40px 20px;text-align:center}@media (max-width:768px){.friends-page{padding:20px 15px}.friends-container h1{font-size:28px}.tabs{overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{font-size:14px;padding:10px 16px;white-space:nowrap}.friend-card{align-items:center;flex-direction:row;gap:10px;padding:15px}.friend-info{flex:1 1;max-width:none;min-width:0}.friend-groups-badges{margin-left:75px;margin-top:10px;padding-left:0;width:auto}.friend-actions,.request-actions,.request-actions button{flex-shrink:0}.search-form{flex-direction:column}.search-form button,.search-input{width:100%}.members-grid{grid-template-columns:1fr}.modal-content{max-height:90vh}.modal-content h2{font-size:20px;padding:25px 20px 15px}.friends-selection,.modal-actions{padding:15px 20px}.modal-actions{flex-direction:column}}.groups-section{max-width:100%}.groups-header{display:flex;justify-content:flex-end;margin-bottom:20px}.create-group-form{background:var(--bg-secondary);border-radius:16px;box-shadow:0 2px 12px #0000001a;margin-bottom:30px;padding:25px}.modal-content .create-group-form{background:#0000;border-radius:0;box-shadow:none;margin-bottom:0;padding:0}.create-group-form h3{color:var(--text-primary);font-size:20px;margin:0 0 20px}.form-row-inline{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr auto;margin-bottom:20px}.form-group-color,.form-group-flex{display:flex;flex-direction:column;gap:8px;margin-bottom:0!important}.form-group-color{align-items:flex-start}.form-group input[type=text]{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:16px;padding:12px 16px;transition:border-color .3s;width:100%}.form-group input[type=text]:focus{border-color:#00aa9f;outline:none}.color-input-inline{-webkit-appearance:none;appearance:none;border:3px solid var(--border-light);border-radius:50%;box-sizing:border-box;cursor:pointer;flex-shrink:0;height:50px!important;margin:0;max-width:50px!important;min-width:50px!important;overflow:hidden;padding:0!important;transition:all .2s ease;width:50px!important}.color-input-inline:hover{border-color:var(--accent-primary);transform:scale(1.05)}.color-input-inline::-webkit-color-swatch-wrapper{border:0!important;border-radius:50%;height:100%;margin:0;padding:0!important;width:100%}.color-input-inline::-webkit-color-swatch{border:none!important;border-radius:50%;height:100%;margin:0;padding:0!important;width:100%}.color-input-inline::-moz-color-swatch{border:none!important;border-radius:50%;height:100%;margin:0;padding:0!important;width:100%}.color-picker-container{align-items:center;display:flex;gap:12px}.color-input{-webkit-appearance:none;appearance:none;border:3px solid var(--border-light);border-radius:50%;box-shadow:0 2px 4px #0000001a;box-sizing:border-box;cursor:pointer;flex-grow:0;flex-shrink:0;height:50px!important;margin:0;max-width:50px!important;min-width:50px!important;overflow:hidden;padding:0!important;transition:all .2s ease;width:50px!important}.color-input:hover{border-color:var(--accent-primary);box-shadow:0 4px 8px #00000026;transform:scale(1.05)}.color-input::-webkit-color-swatch-wrapper{border:0!important;border-radius:50%;height:100%;margin:0;padding:0!important;width:100%}.color-input::-webkit-color-swatch{border:none!important;border-radius:50%;height:100%;margin:0;padding:0!important;width:100%}.color-input::-moz-color-swatch{border:none!important;border-radius:50%;height:100%;margin:0;padding:0!important;width:100%}.color-preview{display:none}.color-label{color:var(--text-secondary);font-family:monospace;font-size:14px}.btn-edit-group{background:none;border:none;border-radius:4px;color:#999;cursor:pointer;font-size:16px;line-height:1;margin-left:8px;opacity:.6;padding:2px 6px;transition:all .2s ease}.btn-edit-group:hover:not(:disabled){background:#00aa9f1a;color:#00aa9f;opacity:1}.btn-edit-group:disabled{cursor:not-allowed;opacity:.3}.group-edit-inline{align-items:center;background:#f8f9fa;border:2px solid #00aa9f;border-radius:12px;display:flex;gap:10px;padding:20px 45px 20px 20px;position:relative}.group-edit-inline .inline-group-name-input{flex:1 1;margin-bottom:0}.group-edit-inline .inline-color-input{-webkit-appearance:none;appearance:none;border:2px solid var(--border-light);border-radius:8px;cursor:pointer;height:40px;margin:0;overflow:hidden;padding:0;width:40px}.btn-inline-close{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:18px;height:24px;justify-content:center;line-height:1;padding:4px;position:absolute;right:8px;top:8px;transition:all .2s ease;width:24px}.btn-inline-close:hover:not(:disabled){background-color:#0000000d;color:var(--text-primary)}.btn-inline-close:disabled{cursor:not-allowed;opacity:.3}.btn-inline-delete{background-color:#e74c3c;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s ease}.btn-inline-delete:hover:not(:disabled){background-color:#c0392b;box-shadow:0 4px 8px #e74c3c4d;transform:translateY(-1px)}.btn-inline-delete:disabled{cursor:not-allowed;opacity:.5}.inline-create-group-form{animation:slideDown .3s ease;background:#f8f9fa;border:2px dashed #00aa9f;border-radius:12px;margin-bottom:0;margin-top:15px;padding:15px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.inline-form-row{align-items:center;display:flex;gap:10px}.inline-group-name-input{border:2px solid #e0e0e0;border-radius:8px;flex:1 1;font-family:inherit;font-size:14px;padding:10px 14px;transition:all .2s ease}.inline-group-name-input:focus{border-color:#00aa9f;box-shadow:0 0 0 3px #00aa9f1a;outline:none}.inline-group-name-input::placeholder{color:#999}.inline-color-input{-webkit-appearance:none;appearance:none;border:3px solid var(--border-light);border-radius:50%;box-sizing:border-box;cursor:pointer;flex-grow:0;flex-shrink:0;height:40px!important;margin:0;max-width:40px!important;min-width:40px!important;overflow:hidden;padding:0!important;transition:all .2s ease;width:40px!important}.inline-color-input:hover{border-color:var(--accent-primary);transform:scale(1.05)}.inline-color-input::-webkit-color-swatch-wrapper{border:0!important;border-radius:50%;height:100%;margin:0;padding:0!important;width:100%}.inline-color-input::-webkit-color-swatch{border:none!important;border-radius:50%;height:100%;margin:0;padding:0!important;width:100%}.inline-color-input::-moz-color-swatch{border:none!important;border-radius:50%;height:100%;margin:0;padding:0!important;width:100%}.inline-color-input::-moz-focus-inner{border:0;padding:0}.btn-inline-create{align-items:center;background-color:var(--accent-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;font-weight:700;height:38px;justify-content:center;transition:all .2s ease;width:38px}.btn-inline-create:hover:not(:disabled){background-color:#00745e;transform:scale(1.05)}.btn-inline-create:disabled{cursor:not-allowed;opacity:.5}.btn-inline-cancel{align-items:center;background-color:#e74c3c;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;font-weight:700;height:38px;justify-content:center;line-height:1;transition:all .2s ease;width:38px}.btn-inline-cancel:hover:not(:disabled){background-color:#c0392b;transform:scale(1.05)}.btn-inline-cancel:disabled{cursor:not-allowed;opacity:.5}.btn-create-new-group{background:#0000;border:2px dashed #00aa9f;border-radius:12px;color:#00aa9f;cursor:pointer;display:inline-block;font-size:15px;font-weight:600;margin-bottom:0;margin-top:15px;padding:12px 24px;transition:all .3s ease;width:auto}.btn-create-new-group:hover{background:#00aa9f0d;border-color:#00745e;color:#00745e;transform:translateY(-2px)}.group-name-input{border:2px solid #e0e0e0;border-radius:10px;box-sizing:border-box;font-family:inherit;font-size:15px;margin-bottom:20px;padding:14px 16px;transition:all .3s ease;width:100%}.group-name-input:focus{border-color:#00aa9f;box-shadow:0 0 0 3px #00aa9f1a;outline:none}.group-name-input::placeholder{color:#999}.color-picker{align-items:center;display:flex;gap:15px;margin-bottom:25px;padding:12px 0}.color-picker label{color:var(--text-primary);font-size:15px;font-weight:600;min-width:60px}.color-picker input[type=color]{border:2px solid #e0e0e0;border-radius:10px;cursor:pointer;height:45px;padding:4px;transition:all .3s ease;width:60px}.color-picker input[type=color]:hover{border-color:#00aa9f;transform:scale(1.05)}.color-picker input[type=color]::-webkit-color-swatch-wrapper{padding:0}.color-picker input[type=color]::-webkit-color-swatch{border:none;border-radius:7px}.create-group-form .modal-actions{display:flex;gap:12px;margin-top:20px}.create-group-form .modal-actions button{border-radius:10px;flex:1 1;font-size:15px;font-weight:600;padding:12px 20px;transition:all .3s ease}.groups-list{display:flex;flex-direction:column;gap:20px}.group-card{background:var(--bg-secondary);border-radius:16px;box-shadow:0 2px 12px #0000001a;overflow:visible;transition:all .3s ease}.group-card:hover{box-shadow:0 4px 20px #00000026}.group-header-item{cursor:pointer;transition:background-color .2s ease}.group-header-item:hover{background-color:#0000000d}[data-theme=dark] .group-header-item:hover{background-color:#ffffff0d}@media (min-width:769px){.group-header-item{padding:20px 25px}.group-header-item,.group-info{align-items:center;display:flex;gap:15px}.group-info{flex:1 1}.group-actions{align-items:center;display:flex;gap:10px}.group-menu-container{display:inline-block;position:relative}.btn-icon{background:none;border:none;border-radius:8px;cursor:pointer;font-size:20px;line-height:1;padding:8px;transition:all .2s ease}.btn-icon:hover{transform:scale(1.1)}.btn-icon:active{transform:scale(.95)}.btn-icon:disabled{cursor:not-allowed;opacity:.5}.btn-add:hover{background-color:#e8f5e9}.btn-delete:hover{background-color:#ffe5e5}.expand-icon{color:var(--text-secondary);font-size:14px;margin-left:10px;transition:transform .3s ease}.group-members{animation:slideDown .3s ease;border-top:1px solid #e8ecf0;padding:0 25px 25px}@keyframes slideDown{0%{max-height:0;opacity:0}to{max-height:1000px;opacity:1}}.members-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:20px}.member-card{align-items:center;border:2px solid #e8ecf0;border-radius:12px;display:flex;gap:12px;padding:12px;position:relative;transition:all .2s ease}.member-card:hover{background-color:#0000000d;border-color:#00aa9f}[data-theme=dark] .member-card:hover{background-color:#ffffff0d}.member-photo{object-fit:cover}.member-photo,.member-photo-placeholder{border:2px solid #00aa9f;border-radius:50%;flex-shrink:0;height:50px;width:50px}.member-photo-placeholder{align-items:center;background:linear-gradient(135deg,#00aa9f,#00745e);color:#fff;display:flex;font-size:18px;font-weight:700;justify-content:center}.member-info{flex:1 1;min-width:0}.member-name{color:var(--text-primary);font-size:14px;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-remove-member{align-items:center;background:#f44;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:14px;height:24px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:24px}.btn-remove-member:hover{background:#c00;transform:scale(1.1)}.btn-remove-member:active{transform:scale(.9)}.btn-remove-member:disabled{cursor:not-allowed;opacity:.5}}.modal-overlay{animation:fadeIn .3s ease;background-color:#00000080;z-index:6000}.modal-content{animation:slideUp .3s ease;background:var(--bg-secondary);border-radius:16px;box-shadow:0 10px 40px #0003;max-height:80vh;max-width:600px;overflow:hidden;position:relative;width:90%}@media (max-width:768px){.modal-content{border-radius:0;height:100%;max-height:100vh;max-width:100%;width:100%}}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.modal-close{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;font-size:32px;height:32px;justify-content:center;line-height:1;padding:0;position:absolute;right:15px;top:15px;transition:background-color .2s ease;width:32px;z-index:1}.modal-close:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.modal-content h2{border-bottom:1px solid #e8ecf0;color:var(--text-primary);font-size:24px;margin:0;padding:30px 30px 20px}.friends-selection{flex:1 1;overflow-y:auto;padding:20px 30px}.friend-select-card{align-items:center;border:2px solid #e8ecf0;border-radius:12px;cursor:pointer;display:flex;gap:15px;margin-bottom:12px;padding:15px;transition:all .2s ease}.friend-select-card:hover{background-color:#0000000d;border-color:#00aa9f}[data-theme=dark] .friend-select-card:hover{background-color:#ffffff0d}.friend-select-card.selected{background-color:#00aa9f26;border-color:#00aa9f}[data-theme=dark] .friend-select-card.selected{background-color:#00aa9f33}.friend-select-card input[type=checkbox]{accent-color:#00aa9f;cursor:pointer;height:20px;width:20px}.friend-photo-small{object-fit:cover}.friend-photo-placeholder-small,.friend-photo-small{border:2px solid #00aa9f;border-radius:50%;height:45px;width:45px}.friend-photo-placeholder-small{align-items:center;background:linear-gradient(135deg,#00aa9f,#00745e);color:#fff;display:flex;font-size:16px;font-weight:700;justify-content:center}.friend-select-card span{color:var(--text-primary);flex:1 1;font-weight:600}.groups-selection{flex:1 1;overflow-y:auto;padding:20px 30px}.group-select-card{align-items:center;border:2px solid #e8ecf0;border-radius:12px;cursor:pointer;display:flex;gap:15px;margin-bottom:12px;padding:15px;transition:all .2s ease}.group-select-card:hover{background-color:#e8f5f4;border-color:#00aa9f}.group-select-card.selected{background-color:#00aa9f26;border-color:#00aa9f}.group-select-card input[type=checkbox]{accent-color:#00aa9f;cursor:pointer;height:20px;width:20px}.group-select-card span{color:var(--text-primary);font-weight:600}.modal-actions{border-top:1px solid #e8ecf0;gap:15px;padding:20px 30px}.modal-actions button{flex:1 1}.modal-add-to-lists{padding-bottom:20px}.modal-add-to-lists h2{border-bottom:none;margin:0;padding:20px 30px 12px}.modal-add-to-lists .groups-selection{flex:1 1;max-height:350px;min-height:100px;overflow-y:auto;padding-top:10px}.modal-actions-row{display:flex;gap:12px;margin-top:auto;padding:10px 30px 0}.modal-actions-row .btn-create-list{background:#0000;border:2px dashed var(--accent-primary);border-radius:8px;color:var(--accent-primary);cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px 16px;transition:all .2s ease}.modal-actions-row .btn-create-list:hover{background:#00aa9f0d;border-color:var(--accent-hover);color:var(--accent-hover)}.modal-actions-row .btn-save-lists{background:var(--accent-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px 16px;transition:all .2s ease}.modal-actions-row .btn-save-lists:hover:not(:disabled){background:var(--accent-hover)}.modal-actions-row .btn-save-lists:disabled{cursor:not-allowed;opacity:.5}.group-badge{border-radius:12px;color:#fff;cursor:default;font-size:12px;font-weight:600;padding:4px 10px;text-shadow:0 1px 2px #0003}.btn-add-to-group-circle,.group-badge{display:inline-block;white-space:nowrap}.btn-add-to-group-circle{background-color:#f5f6f8;border:none;border-radius:8px;color:#5a6c7d;cursor:pointer;flex-shrink:0;font-size:14px;font-weight:500;line-height:1;padding:4px 8px;transition:all .2s ease}.btn-add-to-group-circle:hover{background-color:#e8eaed;box-shadow:0 1px 3px #0000001a;transform:translateY(-1px)}.friend-actions{align-items:center;display:flex;gap:10px}.friend-menu-container{display:inline-block;flex-shrink:0;position:relative}.btn-friend-menu{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:24px;height:36px;justify-content:center;line-height:1;padding:4px 8px;transition:all .2s ease;width:36px}.btn-friend-menu:hover{background-color:#0000000d;color:#00aa9f}.friend-menu-dropdown{animation:fadeInDropdown .2s ease;background:var(--bg-secondary);border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #00000026;margin-top:4px;min-width:180px;position:absolute;right:0;top:100%;z-index:1000}.friend-menu-dropdown button{background:none;border:none;color:var(--text-primary);cursor:pointer;display:block;font-size:14px;padding:12px 16px;text-align:left;transition:background-color .2s ease;width:100%}.friend-menu-dropdown button:first-child{border-radius:8px 8px 0 0}.friend-menu-dropdown button:last-child{border-radius:0 0 8px 8px}.friend-menu-dropdown button:hover{background-color:var(--bg-tertiary)}.friend-menu-dropdown button.danger-option{color:#e74c3c}.friend-menu-dropdown button.danger-option:hover{background-color:#ffe5e5}.friend-menu-dropdown button:disabled{color:#999;cursor:not-allowed;opacity:.6}.friend-menu-dropdown button:disabled:hover{background-color:initial}.btn-add-to-group{background-color:#f5f6f8;border:none;border-radius:8px;color:#5a6c7d;cursor:pointer;display:inline-block;flex-shrink:0;font-size:13px;font-weight:500;line-height:1;padding:6px 12px;transition:all .2s ease;white-space:nowrap}.btn-add-to-group:hover{background-color:#e8eaed;box-shadow:0 1px 3px #0000001a;transform:translateY(-1px)}.btn-add-to-group:active{transform:scale(.95)}.btn-remove-friend{align-items:center;background-color:#f44;border:none;border-radius:50%;box-shadow:0 2px 4px #ff44444d;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:20px;font-weight:700;height:32px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:32px}.btn-remove-friend:hover{background-color:#c00;box-shadow:0 3px 6px #f446;transform:scale(1.1)}.btn-remove-friend:active{transform:scale(.95)}.find-friends-layout{align-items:flex-start;display:flex;gap:30px}.find-friends-main{flex:1 1;min-width:0}.suggestions-section{margin-top:40px}.suggestions-section h2{color:var(--text-primary);font-size:24px;font-weight:600;margin-bottom:20px}.suggestions-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-bottom:20px}.suggestion-card{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 4px #0000000d;display:flex;flex-direction:row;gap:15px;min-height:70px;padding:15px;position:relative;transition:all .2s ease}.suggestion-card:hover{border-color:var(--accent-primary);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.suggestion-photo{background:var(--bg-tertiary);border-radius:50%;flex-shrink:0;height:50px;overflow:hidden;position:relative;width:50px}.suggestion-photo img{height:100%;object-fit:cover;width:100%}.initials-fallback{align-items:center;background:linear-gradient(135deg,var(--accent-primary),#00745e);background:linear-gradient(135deg,var(--accent-primary),var(--accent-hover,#00745e));color:#fff;display:flex;font-size:20px;font-weight:600;height:100%;justify-content:center;width:100%}.initials-fallback.hidden{display:none}.suggestion-info{display:flex;flex:1 1;flex-direction:column;gap:6px;min-width:0}.suggestion-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.suggestion-info h3{color:var(--text-primary);font-size:15px;font-weight:600;margin:0;white-space:nowrap}.suggestion-location{color:var(--text-secondary);font-size:13px;margin:0;white-space:nowrap}.suggestion-details{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.suggestion-badges{display:contents}.badge{align-items:center;border-radius:12px;display:inline-flex;font-size:12px;font-weight:500;gap:4px;padding:4px 10px}.badge-mutual{background-color:#e3f2fd;color:#1976d2}.badge-location{background-color:#f3e5f5;color:#7b1fa2}.badge-contact{background-color:#e8f5e9;color:#2e7d32}.badge-temp{background-color:#fff3e0;color:#e65100}.mutual-names{color:var(--text-secondary);font-size:12px;line-height:1.4;margin:0}.btn-add-friend{background-color:var(--accent-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;flex-shrink:0;font-size:14px;font-weight:600;padding:8px 18px;transition:all .2s ease;white-space:nowrap}.btn-add-friend:hover{background-color:#00745e;transform:translateY(-1px)}.btn-add-friend:active{transform:translateY(0)}.load-more-suggestions{padding:20px 0;text-align:center}.btn-load-more{background:none;border:2px solid var(--accent-primary);border-radius:25px;color:var(--accent-primary);cursor:pointer;font-size:14px;font-weight:600;padding:12px 30px;transition:all .2s ease}.btn-load-more:hover{background-color:var(--accent-primary);color:#fff;transform:scale(1.05)}.search-form-section{margin-bottom:20px}.sent-requests-sidebar{align-self:flex-start;display:flex;flex-direction:column;flex-shrink:0;max-height:calc(100vh - 120px);padding:20px;position:-webkit-sticky;position:sticky;top:20px;width:320px}.sent-requests-sidebar h2{color:var(--text-primary);font-size:18px;font-weight:600;margin-bottom:16px}.sidebar-list{display:flex;flex:1 1;flex-direction:column;gap:12px;overflow-y:auto}.sidebar-empty-message{color:var(--text-secondary);font-size:13px;font-style:italic;margin:0;padding:20px 10px;text-align:center}.sidebar-success-message{animation:fadeInSlide .3s ease-out;background-color:#e8f5f4;background-color:var(--accent-light,#e8f5f4);border:1px solid #00aa9f;border:1px solid var(--accent-primary,#00aa9f);border-radius:8px;color:#00aa9f;color:var(--accent-primary,#00aa9f);font-size:13px;font-weight:500;margin:0 0 12px;padding:10px 12px;text-align:center}@keyframes fadeInSlide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.sidebar-card{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 4px #0000000a;display:flex;flex-direction:row;gap:12px;padding:14px;transition:all .2s ease}.sidebar-card:hover{border-color:var(--accent-primary);box-shadow:0 4px 8px #00aa9f1a;transform:translateY(-1px)}.sidebar-photo{border:2px solid var(--accent-primary);border-radius:50%;flex-shrink:0;height:44px;object-fit:cover;width:44px}.sidebar-photo-placeholder{align-items:center;background:linear-gradient(135deg,var(--accent-primary) 0,#00745e 100%);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:44px;justify-content:center;width:44px}.sidebar-info{flex:1 1;min-width:0}.sidebar-info h4{color:var(--text-primary);font-size:14px;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pending-badge{align-items:center;background:#f59e0b1a;border-radius:10px;color:#f59e0b;display:inline-flex;font-size:11px;font-weight:600;gap:4px;margin:4px 0 0;padding:3px 8px}.pending-badge:before{content:"⏳";font-size:10px}.btn-sidebar-action{background-color:var(--accent-primary);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:6px 16px;transition:all .2s ease}.btn-sidebar-action:hover{background-color:#00745e}.btn-cancel-sidebar{align-items:center;background-color:#f44336;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:16px;font-weight:700;height:28px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:28px}.btn-cancel-sidebar:hover{background-color:#d32f2f;transform:scale(1.1)}@media (max-width:1024px){.suggestions-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.sent-requests-sidebar{width:280px}}@media (max-width:768px){.find-friends-layout{flex-direction:column}.find-friends-main{width:100%}.sent-requests-sidebar{max-height:none;padding:20px 0;position:static;width:100%}.suggestions-grid{grid-template-columns:1fr}.suggestion-card{align-items:center;flex-direction:row;text-align:left}.suggestion-photo{height:60px;width:60px}.suggestion-info{flex:1 1;text-align:left}.btn-add-friend{padding:8px 16px;width:auto}}.search-input-container{flex:1 1;min-width:0;position:relative}.autocomplete-dropdown{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:0 0 8px 8px;border-top:none;box-shadow:0 4px 12px #00000026;left:0;max-height:350px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.autocomplete-empty,.autocomplete-loading{color:var(--text-secondary);font-size:14px;padding:15px 20px;text-align:center}.autocomplete-item{align-items:center;border-bottom:1px solid var(--border-light);cursor:pointer;display:flex;justify-content:space-between;padding:12px 16px;transition:background-color .2s ease}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item.selected,.autocomplete-item:hover{background-color:var(--bg-tertiary)}.autocomplete-item-left{align-items:center;display:flex;flex:1 1;gap:12px;min-width:0}.autocomplete-photo{border:2px solid var(--accent-primary);border-radius:50%;flex-shrink:0;height:40px;object-fit:cover;width:40px}.autocomplete-photo-placeholder{align-items:center;background:linear-gradient(135deg,var(--accent-primary) 0,#00745e 100%);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:40px;justify-content:center;width:40px}.autocomplete-info{display:flex;flex-direction:column;gap:2px;min-width:0}.autocomplete-name{color:var(--text-primary);font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.autocomplete-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.autocomplete-location{color:var(--text-secondary);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.autocomplete-match-type{background:var(--accent-light);border-radius:4px;color:var(--accent-primary);font-size:11px;padding:2px 6px;white-space:nowrap}.autocomplete-status{flex-shrink:0;margin-left:10px}.autocomplete-status .status-friend{color:#27ae60;font-size:13px;font-weight:600}.autocomplete-status .status-pending{color:#f39c12;font-size:12px;font-weight:500}.autocomplete-status .status-pending-received{color:#3498db;font-size:12px;font-weight:500}.autocomplete-status .status-mutual{color:#9b59b6;font-size:12px;font-weight:500}.search-results-list{margin-top:20px;scroll-margin-top:90px}.search-result-card{position:relative}.search-result-info{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.search-result-header{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.search-result-name{color:var(--text-primary);font-size:15px;font-weight:600;white-space:nowrap}.search-result-location{color:var(--text-secondary);font-size:13px;margin:0}.search-result-mutual{color:#9b59b6;font-size:13px;font-weight:500}.search-result-mutual-names{color:var(--text-secondary);font-size:12px;font-style:italic;margin:0}.search-result-card .btn-primary,.search-result-card .btn-view-profile{border-radius:8px;box-sizing:border-box;font-size:14px;height:auto;line-height:1.4;max-width:120px;min-width:120px;padding:8px 16px;text-align:center;width:120px}.friend-badge{align-items:center;background-color:#e8f5e9;border-radius:12px;color:#27ae60;display:inline-flex;font-size:12px;font-weight:600;margin-left:10px;padding:3px 10px;vertical-align:middle}.friend-photo-placeholder{align-items:center;background:linear-gradient(135deg,var(--accent-primary) 0,#00745e 100%);border:3px solid var(--accent-primary);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:20px;font-weight:700;height:60px;justify-content:center;min-height:60px;min-width:60px;width:60px}.mutual-friends-info{align-items:center;background-color:#9b59b61a;border-radius:6px;display:inline-flex;flex-wrap:wrap;gap:4px;margin-top:6px;padding:6px 10px}.mutual-friends-info .mutual-count{color:#9b59b6;font-size:13px;font-weight:600}.mutual-friends-info .mutual-names{color:var(--text-secondary);font-size:12px}.mutual-friends-line{color:#9b59b6;margin:4px 0 0}.request-received-text{color:#3498db;font-size:13px;font-weight:600;margin:5px 0 0}.btn-view-profile{background-color:var(--accent-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;min-width:120px;padding:8px 18px;text-align:center;transition:all .2s ease;white-space:nowrap}.btn-view-profile:hover{background-color:#00745e;transform:translateY(-1px)}@media (max-width:768px){.search-form{flex-direction:column}.search-form .btn-primary{font-size:14px;font-weight:600;height:auto;max-width:none;padding:12px 18px;width:100%}.search-input-container{width:100%}.autocomplete-dropdown{border:1px solid var(--border-color);border-radius:8px;margin-top:4px}.autocomplete-item{padding:10px 12px}.autocomplete-photo,.autocomplete-photo-placeholder{font-size:12px;height:36px;width:36px}.autocomplete-name{font-size:13px}.autocomplete-status .status-friend,.autocomplete-status .status-mutual,.autocomplete-status .status-pending,.autocomplete-status .status-pending-received{font-size:11px}}.friend-card.expanded-invitation,.suggestion-card.expanded-invitation{flex-wrap:wrap}.btn-cancel-request-text{background:#0000;border:1px solid #dc2626;border-radius:8px;color:#dc2626;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:background-color .2s,color .2s;white-space:nowrap}.btn-cancel-request-text:hover{background:#dc2626;color:#fff}.sidebar-card-clickable{align-items:center;display:flex;flex:1 1;gap:10px;min-width:0}.sidebar-card-clickable:hover h4{color:var(--accent-primary)}.invitation-form-content{border-top:1px solid var(--border-color);flex-basis:100%;margin-top:12px;padding:12px 0 0;width:100%}.invitation-row-visibility{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.visibility-label{color:var(--text-secondary);font-size:12px;font-weight:500}.visibility-buttons{display:flex;gap:3px}.visibility-btn{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;font-size:11px;font-weight:600;height:22px;justify-content:center;padding:0;transition:all .2s;width:22px}.visibility-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.visibility-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.visibility-description-compact{color:var(--text-secondary);font-size:11px;font-style:italic}.btn-save-visibility{align-items:center;background:#0000;border:none;border-radius:4px;color:var(--accent-primary);cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;margin-left:auto;padding:2px;transition:color .2s,transform .2s;width:28px}.btn-save-visibility svg{height:16px;width:16px}.btn-save-visibility:hover{color:var(--accent-hover);transform:scale(1.15)}.btn-save-visibility:disabled{color:var(--text-secondary);cursor:not-allowed;transform:none}.btn-save-visibility.saved,.btn-save-visibility.saved:disabled{background-color:var(--accent-primary);border-radius:50%;color:#fff;cursor:default}.btn-save-visibility.saved:hover{color:#fff;transform:none}.invitation-row-message{display:flex;flex-direction:column;gap:4px}.message-label{color:var(--text-secondary);font-size:11px}.message-input-group{align-items:flex-end;display:flex;gap:8px}.message-input-group input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);flex:1 1;font-size:13px;padding:8px 10px;transition:border-color .2s}.message-input-group input:focus{border-color:var(--accent-primary);outline:none}.message-input-group input::placeholder{color:var(--text-secondary);font-size:12px}.btn-send-message{align-items:center;background:var(--accent-primary);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:14px;height:36px;justify-content:center;transition:all .2s;width:36px}.btn-send-message:hover{background:var(--accent-hover);transform:scale(1.05)}.btn-send-message:disabled{background:var(--text-secondary);cursor:not-allowed;transform:none}.btn-send-message.sent{cursor:default}.btn-send-message.sent,.btn-send-message.sent:disabled{background:var(--accent-primary)}.btn-edit-message{align-items:center;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;transition:all .2s;width:36px}.btn-edit-message svg{height:16px;width:16px}.btn-edit-message:hover{background:var(--accent-light);border-color:var(--accent-primary);color:var(--accent-primary)}.btn-cancel-edit{align-items:center;background:#0000;border:2px solid var(--border-color);border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:36px;justify-content:center;transition:all .2s;width:36px}.btn-cancel-edit:hover{background:#fee2e2;border-color:#ef4444;color:#ef4444}.message-input-group input.readonly{background:var(--bg-tertiary);color:var(--text-primary);cursor:default}.pending-request-card{align-items:stretch;border-left:4px solid var(--accent-primary);flex-direction:column}.pending-request-content{align-items:center;display:flex;gap:16px;width:100%}.pending-request-card .friend-info{flex:1 1;margin-bottom:0}.pending-request-info{flex:1 1}.pending-request-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.pending-request-header h3{align-items:baseline;display:flex;flex-wrap:wrap;gap:0;margin:0}.header-location{color:var(--accent-primary);font-size:14px;font-weight:400}.mutual-friends-line{align-items:center;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:13px;gap:6px;margin:6px 0 0}.mutual-friends-line .mutual-count{align-items:center;background:var(--accent-light);border-radius:12px;color:var(--accent-primary);display:inline-flex;font-size:12px;font-weight:500;padding:2px 10px}.mutual-friends-line .mutual-names,.request-message{color:var(--text-primary)}.request-message{background:var(--bg-tertiary);border-radius:8px;font-size:13px;font-style:italic;line-height:1.4;margin-top:8px;padding:10px 12px}.request-message .message-icon{margin-right:6px}.request-actions-compact{display:flex;flex-shrink:0;gap:8px}.btn-accept{align-items:center;background-color:var(--accent-primary);border:none;border-radius:20px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:4px;padding:8px 16px;transition:all .2s ease}.btn-accept:hover{background-color:var(--accent-hover);transform:translateY(-1px)}.btn-reject{align-items:center;background-color:initial;border:2px solid var(--border-color);border-radius:50%;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:16px;height:36px;justify-content:center;padding:0;transition:all .2s ease;width:36px}.btn-reject:hover{background-color:#fee2e2;border-color:#ef4444;color:#ef4444}@media (max-width:600px){.pending-request-content{align-items:stretch;flex-direction:column}.request-actions-compact{justify-content:flex-end;margin-top:12px}.btn-accept{flex:1 1;justify-content:center}}.pending-request-card .request-actions{justify-content:flex-start;margin-top:12px}.accepted-requests-section{margin-bottom:20px}.accepted-requests-section h2{margin-bottom:15px}.accepted-request-card{align-items:stretch;background:linear-gradient(135deg,var(--accent-light) 0,#0000 100%);border-left:4px solid var(--accent-primary);flex-direction:column}.accepted-request-content{display:flex;flex-direction:column;gap:12px;width:100%}.accepted-request-card .friend-info{align-items:center;display:flex;gap:12px}.accepted-request-info{flex:1 1}.accepted-request-header{align-items:center;display:flex;gap:10px;justify-content:space-between}.accepted-request-header h3{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin:0}.accepted-badge{align-items:center;background:var(--accent-primary);border-radius:12px;color:#fff;display:inline-flex;font-size:11px;font-weight:600;gap:4px;padding:3px 10px}.btn-close-accepted{align-items:center;background:#0000;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:28px;justify-content:center;transition:all .2s;width:28px}.btn-close-accepted:hover{background:var(--bg-tertiary);color:var(--text-primary)}.accepted-request-card .invitation-form-content{border-top:1px solid var(--border-color);padding-top:8px}@media (max-width:480px){.visibility-btn{height:26px;width:26px}.message-input-group input{font-size:16px}.message-input-group{align-items:stretch;flex-direction:column}.message-input-group .btn-primary{width:100%}.btn-cancel-request-text{font-size:13px;padding:7px 12px}}.contact-sync-prompt{align-items:center;background-color:var(--accent-light);border:1px solid var(--border-color);border-radius:12px;display:flex;gap:16px;margin-bottom:20px;padding:16px 20px}.contact-sync-icon{flex-shrink:0;font-size:32px}.contact-sync-content{flex:1 1}.contact-sync-content h3{color:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 4px}.contact-sync-content p{color:var(--text-secondary);font-size:14px;margin:0}.contact-sync-error{color:#e65100!important;font-size:13px!important;margin-top:8px!important}.contact-sync-instructions{color:var(--text-primary);font-size:14px;line-height:1.6;margin:0}.contact-sync-instructions strong{color:var(--accent-primary);display:block;font-size:13px;margin-top:8px}.btn-sync-contacts{background-color:var(--accent-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;flex-shrink:0;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease;white-space:nowrap}.btn-sync-contacts:hover{background-color:var(--accent-hover);transform:translateY(-1px)}.btn-sync-contacts:disabled{cursor:not-allowed;opacity:.6;transform:none}.contact-sync-status{align-items:flex-start;background-color:var(--accent-light);border-radius:8px;display:flex;gap:12px;justify-content:space-between;margin-bottom:16px;padding:12px 16px;position:relative}.sync-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.sync-badge{color:var(--accent-primary);font-size:14px;font-weight:500}.sync-matches{color:var(--text-secondary);font-size:13px}.btn-close-sync-status{background:#0000;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:18px;line-height:1;padding:2px 6px;position:absolute;right:8px;top:8px;transition:all .2s}.btn-close-sync-status:hover{background-color:#0000001a;color:var(--text-primary)}.contact-sync-disabled-hint{align-items:center;background-color:var(--bg-secondary);border:1px dashed var(--border-color);border-radius:8px;color:var(--text-secondary);display:flex;font-size:14px;gap:8px;justify-content:center;margin-bottom:16px;padding:12px 16px}.contact-sync-disabled-hint a{color:var(--accent-primary);text-decoration:none}.contact-sync-disabled-hint a:hover{text-decoration:underline}.btn-clear-contacts{background:#0000;border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:12px;padding:6px 12px;transition:all .2s ease}.btn-clear-contacts:hover{background-color:#f443361a;border-color:#f44336;color:#f44336}@media (max-width:600px){.contact-sync-prompt{flex-direction:column;gap:12px;text-align:center}.btn-sync-contacts{width:100%}.contact-sync-status{flex-direction:column;gap:8px}}.invite-prompt{align-items:center;background:linear-gradient(135deg,#fff3e0,#ffe0b2);border:1px solid #e1723c33;border-radius:10px;display:flex;gap:16px;justify-content:space-between;margin:16px 0;padding:14px 18px}.invite-prompt-content{align-items:center;display:flex;gap:12px}.invite-icon{flex-shrink:0;font-size:24px}.invite-text{display:flex;flex-direction:column;gap:2px}.invite-text strong{color:var(--text-primary);font-size:14px}.invite-text span{color:var(--text-secondary);font-size:13px}.btn-invite{background-color:#e1723c;border:none;border-radius:8px;color:#fff;cursor:pointer;flex-shrink:0;font-size:14px;font-weight:600;padding:8px 18px;transition:all .2s ease;white-space:nowrap}.btn-invite:hover{background-color:#c75f30;transform:translateY(-1px)}@media (max-width:480px){.invite-prompt{flex-direction:column;gap:12px}.btn-invite{width:100%}}.profile-page{background-color:var(--bg-primary);min-height:calc(100vh - 70px);padding:40px 20px;transition:background-color .3s}.profile-container{background:var(--bg-secondary);border-radius:16px;box-shadow:0 2px 12px var(--shadow);margin:0 auto;max-width:700px;padding:40px;position:relative;transition:background-color .3s,box-shadow .3s}.profile-container h1{color:var(--text-primary);font-size:32px;margin-bottom:30px;text-align:center}.view-mode-corner-toggle{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:20px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:12px;gap:6px;padding:6px 12px;position:absolute;right:15px;top:15px;transition:all .3s ease}.view-mode-corner-toggle:hover{background:var(--bg-secondary);border-color:var(--accent-primary);color:var(--accent-primary)}.view-mode-corner-toggle.public{background:#9b59b61a;border-color:#9b59b6;color:#9b59b6}.view-mode-corner-label{font-weight:500}.view-mode-banner{background:#9b59b61a;border-radius:8px;color:#9b59b6;font-size:13px;font-weight:500;margin-bottom:20px;padding:10px 16px;text-align:center}.address-visibility-section{margin:10px 0 20px}.my-full-address{margin:8px 0 12px}.address-line-main{color:var(--text-primary);font-size:15px;font-weight:500;margin:0 0 4px}.address-line-complement{color:var(--text-secondary);font-size:13px;font-style:italic;margin:0}.visibility-control-section{border-top:1px solid var(--border-color);margin:20px 0 16px;padding-top:16px}.visibility-control-title{color:var(--text-secondary);display:block;font-size:13px;margin-bottom:8px;text-align:center}.visibility-slider-container{align-items:center;background:var(--bg-tertiary);border-radius:20px;display:flex;gap:10px;padding:10px 14px}.visibility-icon{font-size:14px;opacity:.6}.visibility-slider-mini{-webkit-appearance:none;appearance:none;background:var(--accent-primary);border-radius:3px;cursor:pointer;flex:1 1;height:6px;outline:none}.visibility-slider-mini::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#fff;border:3px solid var(--accent-primary);border-radius:50%;box-shadow:0 2px 6px #0000004d;cursor:pointer;height:18px;-webkit-transition:transform .2s ease;transition:transform .2s ease;width:18px}.visibility-slider-mini::-webkit-slider-thumb:hover{transform:scale(1.1)}.visibility-slider-mini::-moz-range-thumb{background:#fff;border:3px solid var(--accent-primary);border-radius:50%;box-shadow:0 2px 6px #0000004d;cursor:pointer;height:18px;width:18px}.profile-page .address-preview{background:none;border:none;display:flex;flex-direction:column;gap:4px;margin-top:0;padding:10px 0}.profile-page .address-preview.public-view{align-items:center;text-align:center}.preview-label{color:var(--text-secondary);font-size:11px;letter-spacing:.5px;text-transform:uppercase}.preview-address{color:var(--text-primary);font-size:14px;line-height:1.4}.profile-photo-section{align-items:center;display:flex;flex-direction:column;margin-bottom:15px}.photo-wrapper-container{display:inline-block;position:relative}.photo-wrapper{margin-bottom:20px;position:relative}.profile-photo{border:4px solid var(--accent-primary);border-radius:50%;height:150px;object-fit:cover;transition:all .3s ease;width:150px}.profile-photo:hover{border-color:var(--accent-hover);box-shadow:0 4px 12px var(--shadow-hover);cursor:pointer;transform:scale(1.05)}.profile-photo-placeholder{align-items:center;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-hover) 100%);border:4px solid var(--accent-primary);border-radius:50%;color:#fff;display:flex;font-size:48px;font-weight:700;height:150px;justify-content:center;width:150px}.photo-menu-dropdown{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px var(--shadow-hover);left:50%;min-width:220px;overflow:hidden;position:absolute;top:160px;transform:translateX(-50%);z-index:10}.photo-menu-dropdown button{background:none;border:none;color:var(--text-primary);cursor:pointer;display:block;font-size:14px;padding:12px 16px;text-align:left;transition:background-color .2s;width:100%}.photo-menu-dropdown button:hover{background-color:var(--bg-tertiary)}.photo-menu-dropdown button:not(:last-child){border-bottom:1px solid var(--border-color)}.photo-menu-dropdown button.delete-option{color:#e74c3c}.photo-menu-dropdown button.delete-option:hover{background-color:#ffe5e5}.photo-modal-overlay{align-items:center;animation:fadeIn .2s ease;background-color:#000000d9;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.photo-modal-content{animation:zoomIn .3s ease;max-height:90vh;max-width:90%;position:relative}@keyframes zoomIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.photo-modal-close{background:none;border:none;color:#fff;cursor:pointer;font-size:32px;line-height:1;padding:8px;position:absolute;right:0;top:-40px;transition:transform .2s}.photo-modal-close:hover{transform:scale(1.2)}.photo-modal-img{border-radius:12px;box-shadow:0 8px 32px #00000080;max-height:90vh;max-width:100%}.profile-info{width:100%}.profile-header{align-items:center;display:flex;justify-content:center;margin-bottom:25px;margin-top:25px}.profile-header .btn-primary{background-color:#95a5a6;border:2px solid #7f8c8d;font-size:.95rem;padding:12px 24px;width:auto}.profile-header .btn-primary:hover{background-color:#7f8c8d;border-color:#6c7a7b}.profile-header h2{color:var(--text-primary);font-size:24px}.user-name{color:var(--text-primary);cursor:default;font-size:28px;font-weight:700;margin:20px 0 10px;text-align:center;-webkit-user-select:text;user-select:text}.user-name:active,.user-name:focus,.user-name:hover{background-color:initial!important;color:var(--text-primary);outline:none!important}.user-contact-info{margin:0 0 20px;text-align:center}.contact-info-text{color:var(--text-secondary);font-size:16px;font-weight:400;line-height:1.4;margin:4px 0}.profile-info h3{color:var(--text-primary);font-size:20px;margin:30px 0 10px}.profile-display{margin-top:20px;text-align:center}.info-item{align-items:baseline;gap:15px;justify-content:center;margin-bottom:15px}.info-label{font-weight:600;min-width:100px}.info-value{font-size:16px}.info-section-title{color:var(--text-primary);font-size:18px;font-weight:700;margin-bottom:15px;margin-top:30px;text-align:center}.address-note{font-size:14px;margin-bottom:20px}.address-note,.complement-hint{color:var(--text-secondary);font-style:italic}.complement-hint{font-size:13px;margin-bottom:15px;text-align:center}.form-group{margin-bottom:20px}.form-group label{font-size:14px;font-weight:600}.form-group input,.form-group textarea{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:16px;padding:12px 16px;transition:border-color .3s;width:100%}.form-group input:disabled,.form-group textarea:disabled{background-color:#f5f7fa;cursor:not-allowed}.input-disabled{background-color:#f5f7fa!important;cursor:not-allowed}.form-group input:not(:disabled):focus,.form-group textarea:not(:disabled):focus{border-color:#00aa9f;outline:none}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.profile-actions{display:flex;gap:15px;margin-top:30px}.profile-actions button{flex:1 1}@media (max-width:768px){.profile-page{padding:20px 15px}.profile-container{padding:30px 20px}.profile-container h1{font-size:24px}.profile-photo,.profile-photo-placeholder{height:120px;width:120px}.profile-photo-placeholder{font-size:36px}.profile-header{align-items:center;flex-direction:column;gap:15px}.profile-header .btn-primary{width:auto}.form-row{grid-template-columns:1fr}.profile-actions{flex-direction:column}}.active-badge{background-color:#28a745;border-radius:12px;color:#fff;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.btn-delete{background:none;border:none;border-radius:8px;cursor:pointer;font-size:24px;line-height:1;padding:8px;transition:all .2s ease}.btn-delete:hover{background-color:#ffe5e5;transform:scale(1.1)}.btn-delete:active{transform:scale(.95)}.btn-delete:disabled{cursor:not-allowed;opacity:.5}.temp-locations-section{margin-top:40px}.temp-locations-section .profile-header{border-bottom:none;padding-bottom:0}.temp-locations-list{margin-top:20px}.no-temp-locations{color:#999;font-style:italic;padding:30px;text-align:center}.temp-location-card{background-color:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;margin-bottom:15px;padding:20px;position:relative;transition:all .3s ease}.temp-location-card.active{background-color:var(--accent-light);border-color:var(--accent-primary)}.temp-location-card.inactive{opacity:.6}.temp-location-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.card-header-row{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.location-title{color:var(--text-primary);flex:1 1;font-size:20px;font-weight:600;margin:0}.card-menu{position:relative}.menu-button{background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:24px;padding:4px 8px;transition:all .2s}.menu-button:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.menu-dropdown{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px var(--shadow-hover);margin-top:4px;min-width:180px;position:absolute;right:0;top:100%;z-index:10}.menu-dropdown button{background:none;border:none;color:var(--text-primary);cursor:pointer;display:block;font-size:14px;padding:12px 16px;text-align:left;transition:background-color .2s;width:100%}.menu-dropdown button:hover{background-color:var(--bg-tertiary)}.menu-dropdown button.delete-option{color:#e74c3c}.menu-dropdown button.delete-option:hover{background-color:#ffe5e5}.location-address{color:#333;font-size:13px;margin:4px 0 0}[data-theme=dark] .location-address{color:#fff}.location-description{color:#333;font-size:15px;line-height:1.5;margin:12px 0}[data-theme=dark] .location-description{color:#fff}.location-dates{color:#333;font-size:14px;font-weight:500;margin:12px 0}[data-theme=dark] .location-dates{color:#fff}.location-visibility{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.visibility-badge{align-items:center;border-radius:16px;display:inline-flex;font-size:13px;font-weight:500;gap:4px;padding:6px 12px}.visibility-badge.all{background-color:#e8f5e9;color:#2e7d32}.visibility-badge.group{background-color:#e3f2fd;color:#1565c0}.visibility-badge.friends{background-color:#fff3e0;color:#e65100}.add-temp-location-container{margin-top:20px;text-align:center}@media (max-width:768px){.temp-location-header{align-items:flex-start;flex-direction:column}.temp-location-title{width:100%}.location-type-badge{align-self:flex-start}.temp-location-actions{justify-content:space-between;width:100%}}.temp-location-toggle{-webkit-appearance:none;appearance:none;background-color:#dc3545;border:none;border-radius:13px;bottom:10px;cursor:pointer;height:26px;outline:none;padding:0;position:absolute;right:10px;transition:background-color .3s ease;width:50px;z-index:10}.temp-location-toggle:after,.temp-location-toggle:before{content:none;display:none}.temp-location-toggle.active{background-color:#28a745}.temp-location-toggle .toggle-slider{background-color:#fff;border-radius:50%;box-shadow:0 2px 4px #0003;height:20px;left:3px;position:absolute;top:3px;transition:transform .3s ease;width:20px}.temp-location-toggle .toggle-slider:before{content:none;display:none}.temp-location-toggle.active .toggle-slider{transform:translateX(24px)}.temp-location-toggle:hover{opacity:.9}.notification-settings{margin:0 auto;max-width:800px;width:100%}.notification-settings-loading{color:var(--text-secondary);font-size:18px;padding:40px;text-align:center}.save-message{animation:slideIn .3s ease-out;border-radius:8px;font-weight:500;padding:12px 24px;position:fixed;right:20px;top:80px;z-index:1000}.save-message.success{background:#27ae60;background:var(--success-text,#27ae60);color:#fff}.save-message.error{background:#e74c3c;background:var(--danger,#e74c3c);color:#fff}@keyframes slideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.notification-settings-tabs{border-bottom:2px solid var(--border-light);display:flex;gap:10px;margin-bottom:30px;overflow-x:auto}.notification-settings-tabs button{background:none;border:none;border-bottom:3px solid #0000;color:var(--text-secondary);cursor:pointer;font-size:16px;font-weight:500;padding:12px 20px;transition:all .3s ease;white-space:nowrap}.notification-settings-tabs button:hover{color:var(--accent-primary)}.notification-settings-tabs button.active{border-bottom-color:var(--accent-primary);color:var(--accent-primary)}.notification-settings-content{touch-action:pan-y pinch-zoom}.notification-settings .settings-section{background:#0000;border-radius:0;box-shadow:none;padding:0}.notification-settings .settings-section h3{color:var(--text-primary);font-size:20px;margin:0 0 10px;transition:color .3s}.notification-settings .section-description{color:var(--text-secondary);font-size:14px;margin-bottom:20px;transition:color .3s}.notification-settings .setting-item{align-items:center;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:12px;display:flex;flex-wrap:nowrap;gap:15px;justify-content:space-between;margin-bottom:12px;padding:16px 20px;transition:all .3s}.notification-settings .setting-item:last-child{margin-bottom:0}.notification-settings .setting-info{flex:1 1;margin-right:0;min-width:0}.notification-settings .setting-info label{color:var(--text-primary);display:block;font-size:15px;font-weight:600;margin-bottom:4px;transition:color .3s}.notification-settings .setting-info p{color:var(--text-secondary);font-size:13px;margin:0;transition:color .3s}.notification-settings .toggle-switch{display:inline-block;flex-shrink:0;height:26px;position:relative;width:50px}.notification-settings .toggle-switch input{height:0;opacity:0;width:0}.notification-settings .toggle-slider{background-color:#ccc;background-color:var(--border-color,#ccc);border-radius:34px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.4s}.notification-settings .toggle-slider:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:20px;left:3px;position:absolute;transition:.4s;width:20px}.notification-settings .toggle-switch input:checked+.toggle-slider{background-color:var(--accent-primary)}.notification-settings .toggle-switch input:checked+.toggle-slider:before{transform:translateX(24px)}.notification-settings .setting-select{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:6px;color:var(--text-primary);cursor:pointer;flex-shrink:0;font-size:14px;min-width:150px;padding:8px 12px;transition:all .3s}.notification-settings .setting-select:focus{border-color:var(--accent-primary);outline:none}.notification-settings .setting-item-inline{align-items:center;border-bottom:1px solid var(--border-light);display:flex;gap:10px;padding:20px 0;transition:border-color .3s}.notification-settings .setting-item-inline label{color:var(--text-primary);font-weight:600;transition:color .3s}.notification-settings .setting-item-inline select{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:14px;padding:6px 10px;transition:all .3s}.notification-settings .setting-item-inline span{color:var(--text-secondary);transition:color .3s}.notification-settings .setting-slider{background:#ddd;background:var(--border-color,#ddd);border-radius:3px;cursor:pointer;height:6px;max-width:300px;outline:none;width:100%}.notification-settings .setting-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--accent-primary);border-radius:50%;cursor:pointer;height:20px;width:20px}.notification-settings .setting-slider::-moz-range-thumb{background:var(--accent-primary);border:none;border-radius:50%;cursor:pointer;height:20px;width:20px}.notification-settings .notification-type-setting{border:1px solid var(--border-light);border-radius:8px;margin-bottom:15px;padding:15px;transition:all .3s ease}.notification-settings .notification-type-setting:hover{border-color:var(--accent-primary);box-shadow:0 2px 8px var(--shadow)}.notification-settings .notification-type-header{align-items:center;display:flex;justify-content:space-between}.notification-settings .notification-type-info{align-items:center;display:flex;flex:1 1;gap:12px}.notification-settings .notification-type-icon{flex-shrink:0;font-size:32px}.notification-settings .notification-type-info h4{color:var(--text-primary);font-size:16px;margin:0 0 5px;transition:color .3s}.notification-settings .notification-type-info p{color:var(--text-secondary);font-size:13px;margin:0;transition:color .3s}.notification-settings .notification-type-details{border-top:1px solid var(--border-light);display:flex;gap:20px;margin-top:15px;padding-top:15px;transition:border-color .3s}.notification-settings .notification-type-option{align-items:center;display:flex;gap:10px}.notification-settings .notification-type-option label{color:var(--text-secondary);font-size:14px;font-weight:500;transition:color .3s}.notification-settings .notification-type-option select{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:13px;padding:6px 10px;transition:all .3s}.notification-settings .proximity-slider-inline{padding:10px 0;width:100%}.notification-settings .proximity-slider-inline label{color:var(--text-secondary);display:block;font-size:14px;font-weight:500;margin-bottom:10px;transition:color .3s}.notification-settings .proximity-slider-inline .setting-slider{max-width:none;width:100%}.notification-settings .proximity-info-box{background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-hover) 100%);border-radius:12px;color:#fff;margin-top:20px;padding:20px}.notification-settings .proximity-info-box h4{font-size:16px;font-weight:600;margin:0 0 15px}.notification-settings .proximity-info-box p{font-size:14px;line-height:1.6;margin:0 0 10px}.notification-settings .proximity-info-box ul{list-style:none;margin:10px 0;padding-left:20px}.notification-settings .proximity-info-box li{font-size:14px;line-height:1.5;margin:8px 0;padding-left:20px;position:relative}.notification-settings .proximity-info-box li:before{color:#a0f1ea;content:"✓";font-weight:700;left:0;position:absolute}.notification-settings .proximity-info-box .info-note{border-top:1px solid #fff3;font-size:13px;font-style:italic;margin-top:15px;opacity:.9;padding-top:15px}.notification-settings .privacy-notice{background:var(--bg-primary);background:var(--bg-tertiary,var(--bg-primary));border-left:4px solid var(--accent-primary);border-radius:4px;margin-top:20px;padding:15px;transition:all .3s}.notification-settings .privacy-notice strong{color:var(--text-primary);display:block;margin-bottom:8px;transition:color .3s}.notification-settings .privacy-notice p{color:var(--text-secondary);font-size:14px;line-height:1.6;margin:0;transition:color .3s}@media (max-width:768px){.notification-settings-tabs{margin-bottom:20px}.notification-settings-tabs button{font-size:14px;padding:10px 15px}.notification-settings .settings-section{padding:15px}.notification-settings .settings-section h3{font-size:20px}.notification-settings .setting-item{align-items:center;flex-direction:row;gap:10px;padding:12px 16px}.notification-settings .setting-item:has(.setting-select){align-items:stretch;flex-direction:column;gap:12px}.notification-settings .setting-item:has(.setting-select) .setting-info{width:100%}.notification-settings .setting-item:has(.setting-select) .setting-select{width:100%}.notification-settings .setting-item:has(.setting-slider){align-items:stretch;flex-direction:column;gap:12px}.notification-settings .setting-item:has(.setting-slider) .setting-slider{width:100%}.notification-settings .setting-info{flex:1 1;min-width:0}.notification-settings .setting-item .toggle-switch{flex-shrink:0}.notification-settings .setting-info label{font-size:14px}.notification-settings .setting-info p{word-wrap:break-word;font-size:13px}.notification-settings .notification-type-details{flex-direction:column;gap:15px}.notification-settings .setting-slider{margin-top:5px;max-width:none;width:100%}.notification-settings .setting-select{min-width:120px}.save-message{left:10px;right:10px;text-align:center}.notification-settings .proximity-info-box{padding:15px}.notification-settings .proximity-info-box h4{font-size:15px}.notification-settings .proximity-info-box li{font-size:13px}}.settings-page{background-color:var(--bg-primary);min-height:calc(100vh - 70px);padding:40px 20px;transition:background-color .3s}.settings-container{margin:0 auto;max-width:800px}.settings-container h1{color:var(--text-primary);font-size:36px;margin-bottom:30px;text-align:center;transition:color .3s}.success-message{border-radius:8px;font-weight:500;margin-bottom:20px;padding:12px 20px;text-align:center;transition:all .3s}.settings-sections{display:flex;flex-direction:column;gap:25px}.settings-section{background:var(--bg-secondary);border-radius:16px;box-shadow:0 2px 12px var(--shadow);padding:30px;transition:all .3s}.settings-section h2{color:var(--text-primary);font-size:24px;margin:0 0 10px;transition:color .3s}.section-description{font-size:14px;line-height:1.5;margin:0 0 20px}.setting-item{align-items:center;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:12px;display:flex;flex-wrap:nowrap;gap:15px;justify-content:space-between;margin-bottom:15px;padding:20px;transition:all .3s}.setting-item:hover{border-color:var(--accent-primary);box-shadow:0 2px 8px var(--shadow)}.setting-info{flex:1 1;min-width:0}.setting-label{color:var(--text-primary);display:block;font-size:16px;font-weight:600;margin-bottom:5px;transition:color .3s}.setting-description{color:var(--text-secondary);font-size:14px;margin:0;transition:color .3s}.btn-secondary,.btn-toggle-theme{background:var(--accent-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;flex-shrink:0;font-size:14px;font-weight:600;min-width:-webkit-fit-content;min-width:fit-content;padding:10px 24px;transition:all .3s;white-space:nowrap}.btn-secondary:hover,.btn-toggle-theme:hover{background:var(--accent-hover);box-shadow:0 4px 12px var(--shadow);transform:translateY(-2px)}.btn-danger{background:#f44336;flex-shrink:0;padding:10px 24px;white-space:nowrap}.btn-danger:hover{background:#d32f2f;box-shadow:0 4px 12px #f443364d;transform:translateY(-2px)}.btn-danger:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.settings-page{padding:20px 15px}.settings-container h1{font-size:28px}.settings-section{padding:20px}.settings-section h2{font-size:20px}.setting-item:has(.btn-secondary),.setting-item:has(.btn-toggle-theme){align-items:stretch;flex-direction:column;gap:12px}.setting-item:has(.btn-secondary) .setting-info,.setting-item:has(.btn-toggle-theme) .setting-info{width:100%}.setting-item:has(.btn-secondary) .btn-secondary,.setting-item:has(.btn-toggle-theme) .btn-toggle-theme{text-align:center;width:100%}}.notifications-page{margin:80px auto 40px;max-width:800px;min-height:calc(100vh - 120px);padding:0 20px}.notifications-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:30px}.notifications-header h1{color:var(--text-primary);font-size:32px;font-weight:700;margin:0}.notifications-actions{display:flex;flex-wrap:wrap;gap:10px}.btn-danger,.btn-secondary{background-color:initial;font-size:14px;padding:10px 20px}.btn-danger{border:2px solid #e74c3c;color:#e74c3c;transition:all .3s}.btn-danger:hover{background-color:#e74c3c;color:#fff}.btn-settings{align-items:center;background-color:var(--accent-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:10px 20px;transition:all .3s}.btn-settings:hover{background-color:var(--accent-hover);box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.notifications-filters{border-bottom:2px solid var(--border-color);display:flex;gap:10px;margin-bottom:20px;padding-bottom:0}.filter-btn{background-color:initial;border:none;border-bottom:3px solid #0000;color:var(--text-secondary);cursor:pointer;font-size:15px;font-weight:600;margin-bottom:-2px;padding:12px 20px;transition:all .3s}.filter-btn:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.filter-btn.active{border-bottom-color:var(--accent-primary);color:var(--accent-primary)}.notifications-list{background-color:var(--bg-primary);border-radius:12px;box-shadow:0 2px 8px var(--shadow);overflow:hidden}.notifications-loading{font-size:16px;padding:60px 20px}.notifications-empty,.notifications-loading{color:var(--text-secondary);text-align:center}.notifications-empty{padding:80px 20px}.empty-icon{display:block;font-size:64px;margin-bottom:20px;opacity:.5}.notifications-empty p{font-size:18px;font-weight:500;margin:0}.notification-item-wrapper{border-bottom:1px solid var(--border-color);overflow:hidden;position:relative}.notification-item-wrapper:last-child{border-bottom:none}.notification-item{align-items:flex-start;background-color:var(--bg-primary);cursor:pointer;display:flex;padding:18px 20px 24px;position:relative;width:100%;z-index:2}.notification-item:hover{background-color:var(--accent-light)}.notification-item.unread{background-color:#4a90e20d}.notification-item.unread:hover{background-color:#4a90e226}.notification-icon{align-items:center;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-hover) 100%);border-radius:50%;display:flex;flex-shrink:0;height:50px;justify-content:center;margin-right:15px;overflow:hidden;width:50px}.notification-user-photo{height:100%;object-fit:cover;width:100%}.notification-type-icon{font-size:24px}.notification-content{flex:1 1;min-width:0}.notification-title{color:var(--text-primary);font-size:16px;font-weight:700;margin-bottom:6px}.notification-message{color:var(--text-secondary);font-size:14px;line-height:1.5;margin-bottom:8px}.notification-time{color:var(--text-tertiary);font-size:12px;font-weight:500}.notification-unread-dot{background-color:var(--accent-primary)}.notification-read-dot,.notification-unread-dot{border-radius:50%;bottom:10px;height:10px;position:absolute;right:12px;transition:all .2s;width:10px}.notification-read-dot{background-color:#bbb}.desktop-clickable{cursor:pointer}.desktop-clickable:hover{transform:scale(1.3)}.notification-delete-btn{align-items:center;background-color:initial;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:20px;height:28px;justify-content:center;opacity:0;position:absolute;right:8px;top:8px;transition:all .2s;width:28px;z-index:10}.notification-item:hover .notification-delete-btn{opacity:1}.notification-delete-btn:hover{background-color:#0000001a;color:#000}.swipe-hint{align-items:center;bottom:0;display:flex;font-size:14px;font-weight:600;position:absolute;top:0;z-index:1}.swipe-hint-delete{color:#e74c3c;padding-right:20px;right:0}.swipe-hint-toggle{color:#00aa9f;left:0;padding-left:20px}.desktop-only{display:flex}.mobile-only{display:none}@media (max-width:768px){.notifications-page{margin:70px auto 20px;padding:0 10px}.notifications-header{margin-bottom:20px}.notifications-header h1{font-size:24px;width:100%}.notifications-actions{width:100%}.btn-danger,.btn-secondary{flex:1 1;font-size:13px;padding:8px 15px}.filter-btn{flex:1 1;font-size:13px;padding:10px 12px}.notification-icon{height:45px;width:45px}.notification-title{font-size:15px}.notification-message{font-size:13px}.desktop-only{display:none!important}.desktop-clickable{cursor:default;pointer-events:none}.desktop-clickable:hover{transform:none}}.legal-container{align-items:flex-start;background:var(--bg-primary);display:flex;justify-content:center;min-height:100vh;padding:40px 20px;transition:background-color .3s}.legal-content{background:var(--bg-secondary);border-radius:12px;box-shadow:0 10px 40px var(--shadow);margin:20px 0;max-width:900px;padding:48px;transition:all .3s;width:100%}.legal-content h1{color:var(--text-primary);font-size:36px;font-weight:700;margin-bottom:8px;transition:color .3s}.last-updated{color:var(--text-secondary);font-size:14px;font-style:italic;margin-bottom:32px;transition:color .3s}.legal-content section{margin-bottom:40px}.legal-content h2{border-bottom:2px solid var(--border-light);color:var(--text-primary);font-size:24px;font-weight:600;margin-bottom:16px;margin-top:32px;padding-bottom:8px;transition:all .3s}.legal-content h3{font-size:18px;font-weight:600;margin-bottom:12px;margin-top:24px}.legal-content h3,.legal-content p{color:var(--text-secondary);transition:color .3s}.legal-content p,.legal-content ul{font-size:16px;line-height:1.8;margin-bottom:16px}.legal-content ul{color:var(--text-secondary);padding-left:32px;transition:color .3s}.legal-content li{margin-bottom:8px}.legal-content a{color:var(--accent-primary);font-weight:500;text-decoration:none;transition:color .2s}.legal-content a:hover{color:var(--accent-hover);text-decoration:underline}.legal-content strong{color:var(--text-primary);font-weight:600;transition:color .3s}.legal-footer{border-top:2px solid var(--border-light);display:flex;flex-wrap:wrap;gap:24px;justify-content:center;margin-top:48px;padding-top:32px;transition:border-color .3s}.legal-link{border:2px solid var(--accent-primary);border-radius:8px;color:var(--accent-primary);font-size:15px;font-weight:600;padding:10px 20px;text-decoration:none;transition:all .2s}.legal-link:hover{background:var(--accent-primary);color:#fff;text-decoration:none}@media (max-width:768px){.legal-container{padding:20px 10px}.legal-content{padding:32px 24px}.legal-content h1{font-size:28px}.legal-content h2{font-size:20px}.legal-content h3{font-size:16px}.legal-content p,.legal-content ul{font-size:15px}.legal-footer{flex-direction:column;gap:12px}.legal-link{text-align:center;width:100%}}.my-data-container{background:var(--bg-primary);min-height:100vh;padding:40px 20px;transition:background-color .3s}.my-data-content{margin:0 auto;max-width:1000px}.my-data-content h1{color:var(--text-primary);font-size:36px;margin-bottom:8px}.my-data-content h1,.subtitle{text-align:center;transition:color .3s}.subtitle{color:var(--text-secondary);font-size:16px;margin-bottom:32px}.my-data-container .error-message,.my-data-container .success-message{background:var(--bg-secondary);border-radius:8px;font-weight:500;margin-bottom:24px;padding:16px;text-align:center;transition:all .3s}.my-data-container .error-message{border-left:4px solid #e53e3e;border-left:4px solid var(--error-text,#e53e3e);color:#e53e3e;color:var(--error-text,#e53e3e)}.my-data-container .success-message{border-left:4px solid #38a169;border-left:4px solid var(--success-text,#38a169);color:#38a169;color:var(--success-text,#38a169)}.data-section{background:var(--bg-secondary);border-radius:12px;box-shadow:0 4px 12px var(--shadow);margin-bottom:24px;padding:32px;transition:all .3s}.data-section h2{color:var(--text-primary);font-size:24px;margin-bottom:16px;transition:color .3s}.section-header{align-items:flex-start;gap:24px;margin-bottom:24px}.section-description{color:var(--text-secondary);font-size:15px;line-height:1.6;margin-top:8px;transition:color .3s}.section-description.danger{color:#e53e3e;color:var(--error-text,#e53e3e);font-weight:500}.user-info p{color:var(--text-secondary);font-size:16px;margin-bottom:8px;transition:color .3s}.user-info strong{color:var(--text-primary);transition:color .3s}.btn-delete,.btn-export{border:none;border-radius:8px;cursor:pointer;font-size:15px;font-weight:600;padding:12px 24px;transition:all .2s;white-space:nowrap}.btn-export{background:var(--accent-primary);color:#fff}.btn-export:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 4px 12px var(--shadow);transform:translateY(-2px)}.btn-delete{background:#e53e3e;background:var(--error-text,#e53e3e)}.btn-delete:hover:not(:disabled){background:#c53030;box-shadow:0 4px 12px #e53e3e66;transform:translateY(-2px)}.btn-delete:disabled,.btn-export:disabled{cursor:not-allowed;opacity:.5}.data-included{background:var(--bg-primary);background:var(--bg-tertiary,var(--bg-primary));border:1px solid var(--border-light);border-radius:8px;margin-top:16px;padding:20px;transition:all .3s}.data-included h3{color:var(--text-primary);font-size:16px;margin-bottom:12px;transition:color .3s}.data-included ul{font-size:15px;line-height:1.8;margin-bottom:16px;padding-left:24px}.data-included .note,.data-included ul{color:var(--text-secondary);transition:color .3s}.data-included .note{font-size:14px;font-style:italic;margin:0}.delete-section{background:var(--bg-secondary);border:2px solid #e53e3e4d}.delete-confirm-modal{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.my-data-container .modal-content{background:var(--bg-secondary);border-radius:12px;max-height:90vh;max-width:500px;overflow-y:auto;padding:32px;transition:background-color .3s;width:100%}.my-data-container .modal-content h3{color:#e53e3e;color:var(--error-text,#e53e3e);font-size:24px;margin-bottom:16px}.warning-text{line-height:1.6}.delete-list,.warning-text{color:var(--text-secondary);font-size:15px;margin-bottom:16px;transition:color .3s}.delete-list{line-height:1.8;padding-left:24px}.delete-list li{margin-bottom:8px}.confirmation-input{margin:24px 0}.confirmation-input label{color:var(--text-primary);display:block;font-size:15px;margin-bottom:8px;transition:color .3s}.confirmation-input input{background:var(--bg-primary);border:2px solid var(--border-light);border-radius:6px;color:var(--text-primary);font-family:monospace;font-size:15px;padding:12px;transition:all .3s;width:100%}.confirmation-input input:focus{border-color:#e53e3e;border-color:var(--error-text,#e53e3e);outline:none}.modal-actions{display:flex;gap:12px;margin-top:24px}.btn-cancel,.btn-confirm-delete{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;padding:12px 24px;transition:all .2s}.btn-cancel{background:var(--bg-primary);background:var(--bg-tertiary,var(--bg-primary));border:1px solid var(--border-light);color:var(--text-primary)}.btn-cancel:hover:not(:disabled){background:var(--bg-primary)}.btn-confirm-delete{background:#e53e3e;background:var(--error-text,#e53e3e);color:#fff}.btn-confirm-delete:hover:not(:disabled){background:#c53030}.btn-confirm-delete:disabled{cursor:not-allowed;opacity:.5}.links-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:16px}.legal-card{background:var(--bg-primary);background:var(--bg-tertiary,var(--bg-primary));border:2px solid var(--border-light);border-radius:8px;color:inherit;padding:20px;text-decoration:none;transition:all .2s}.legal-card:hover{background:var(--bg-primary);border-color:var(--accent-primary);box-shadow:0 4px 12px var(--shadow);transform:translateY(-2px)}.legal-card h3{color:var(--text-primary);font-size:16px;margin-bottom:8px;transition:color .3s}.legal-card p{color:var(--text-secondary);font-size:14px;margin:0;transition:color .3s}.rights-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:16px}.right-card{background:var(--bg-primary);background:var(--bg-tertiary,var(--bg-primary));border-left:4px solid var(--accent-primary);border-radius:8px;padding:20px;transition:all .3s}.right-card h3{color:var(--text-primary);font-size:15px;margin-bottom:8px;transition:color .3s}.right-card p{color:var(--text-secondary);font-size:14px;line-height:1.6;margin:0;transition:color .3s}.right-card a{color:var(--accent-primary);text-decoration:underline}.contact-section{background:var(--bg-secondary);background:var(--bg-tertiary,var(--bg-secondary))}.contact-info{color:var(--text-secondary);font-size:15px;line-height:1.8;transition:color .3s}.contact-info a{color:var(--accent-primary);text-decoration:none}.contact-info a:hover{text-decoration:underline}.contacts-section h2{margin-bottom:20px}.setting-row{align-items:center;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;padding:16px 0;transition:border-color .3s}.setting-row:last-child{border-bottom:none}.setting-row .setting-info h3{color:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 4px;transition:color .3s}.setting-row .setting-description{color:var(--text-secondary);font-size:14px;margin:0;transition:color .3s}.toggle-switch{display:inline-block;flex-shrink:0;height:28px;position:relative;width:52px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background-color:#cbd5e0;background-color:var(--toggle-bg,#cbd5e0);border-radius:28px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.3s}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:3px;box-shadow:0 2px 4px #0003;content:"";height:22px;left:3px;position:absolute;transition:.3s;width:22px}.toggle-switch input:checked+.toggle-slider{background-color:var(--accent-primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(24px)}.btn-delete-contacts{background:#f44336;border:none;border-radius:6px;color:#fff;cursor:pointer;flex-shrink:0;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s}.btn-delete-contacts:hover{background:#d32f2f}.btn-delete-contacts:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.my-data-container{padding:20px 10px}.data-section{padding:24px}.section-header{flex-direction:column;gap:16px}.btn-delete,.btn-export{width:100%}.my-data-content h1{font-size:28px}.data-section h2{font-size:20px}.links-grid,.rights-grid{grid-template-columns:1fr}.my-data-container .modal-content{padding:24px}.modal-actions{flex-direction:column}}.bug-reports-page{margin:0 auto;max-width:1200px;padding:20px}.bug-reports-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.bug-reports-header h1{color:#333;font-size:2rem;margin:0}.bug-reports-stats{display:flex;gap:20px}.stat{background:#f5f5f5;border-radius:8px;font-weight:500;padding:8px 16px}.bug-reports-filters{margin-bottom:20px}.bug-reports-filters label{align-items:center;display:flex;font-weight:500;gap:10px}.bug-reports-filters select{border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:1rem;padding:8px 12px}.bug-reports-list{display:flex;flex-direction:column;gap:16px}.bug-report-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:20px;transition:all .2s}.bug-report-card:hover{border-color:#6200ea;box-shadow:0 4px 12px #0000001a}.report-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.report-id{color:#666;font-size:1.1rem;font-weight:700}.report-status{border-radius:20px;color:#fff;font-size:.85rem;font-weight:500;padding:4px 12px}.report-user{align-items:center;color:#333;display:flex;gap:10px;margin-bottom:12px}.report-email{color:#666;font-size:.9rem}.anonymous{color:#999;font-style:italic}.report-description{background:#f9f9f9;border-radius:8px;color:#333;line-height:1.6;margin-bottom:12px;padding:12px}.report-meta{color:#666;font-size:.9rem;margin-bottom:8px;word-break:break-all}.report-screenshot{background:#f9f9f9;border-radius:8px;margin:12px 0;padding:12px}.report-screenshot strong{color:#333;display:block;margin-bottom:8px}.report-screenshot a{display:block;max-width:100%}.report-screenshot img{border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;height:auto;max-height:400px;object-fit:contain;transition:all .2s;width:100%}.report-screenshot img:hover{border-color:#6200ea;transform:scale(1.02)}.report-admin-notes{background:#fff3e0;border-left:4px solid #ff9800;border-radius:8px;font-size:.9rem;margin-top:12px;padding:12px}.report-date,.report-resolved{color:#999;font-size:.85rem;margin-top:8px}.report-resolved{color:#4caf50;font-weight:500}.report-actions{border-top:1px solid #e0e0e0;display:flex;gap:10px;margin-top:16px;padding-top:16px}.btn-delete,.btn-edit{border:none;border-radius:8px;cursor:pointer;font-weight:500;padding:8px 16px;transition:all .2s}.btn-edit{background:#6200ea;color:#fff}.btn-edit:hover{background:#5600d4}.btn-delete{background:#f44336;color:#fff}.btn-delete:hover{background:#d32f2f}.btn-claude{background:linear-gradient(135deg,#d97706,#ea580c);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:8px 16px;transition:all .2s}.btn-claude:hover{background:linear-gradient(135deg,#b45309,#c2410c);transform:translateY(-1px)}.btn-claude.copied{background:#4caf50}.prompt-modal{max-width:700px}.prompt-instructions{color:#666;font-size:14px;margin:0 0 12px}.prompt-textarea{background:#fafafa;border:2px solid #e0e0e0;border-radius:8px;color:#333;font-family:Consolas,Monaco,monospace;font-size:13px;line-height:1.5;padding:14px;resize:vertical;width:100%}.prompt-textarea:focus{background:#fff;border-color:#d97706;outline:none}.prompt-actions{display:flex;gap:12px;margin-top:16px}.btn-copy{background:linear-gradient(135deg,#d97706,#ea580c);border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;padding:12px 24px;transition:all .2s}.btn-copy:hover{background:linear-gradient(135deg,#b45309,#c2410c);transform:translateY(-1px)}.btn-copy.copied{background:#4caf50}.loading,.no-reports{color:#666;font-size:1.1rem;padding:60px 20px;text-align:center}.error-message{background:#ffebee;border-left:4px solid #c62828;border-radius:8px;color:#c62828;margin-bottom:20px;padding:12px 16px}.modal-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.modal{background:#fff;border-radius:12px;max-height:90vh;max-width:500px;overflow-y:auto;padding:24px;width:100%}.modal h2{color:#333;margin:0 0 20px}.modal-content{display:flex;flex-direction:column;gap:20px}.form-group label{color:var(--text-primary);display:block;font-weight:500;margin-bottom:8px}.form-group textarea{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:.95rem;padding:12px;resize:vertical;width:100%}.status-buttons{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}.status-btn{border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:12px;transition:all .2s}.status-btn:disabled{cursor:not-allowed;opacity:.6}.status-new{background:#f44336}.status-new:hover:not(:disabled){background:#d32f2f}.status-in-progress{background:#ff9800}.status-in-progress:hover:not(:disabled){background:#f57c00}.status-resolved{background:#4caf50}.status-resolved:hover:not(:disabled){background:#388e3c}.status-closed{background:#9e9e9e}.status-closed:hover:not(:disabled){background:#757575}.btn-cancel{background:#f5f5f5;border:none;border-radius:8px;cursor:pointer;font-weight:500;padding:12px;transition:all .2s}.btn-cancel:hover:not(:disabled){background:#e0e0e0}.btn-cancel:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.bug-reports-page{padding:10px}.bug-reports-header{align-items:flex-start;flex-direction:column;gap:16px}.bug-reports-header h1{font-size:1.5rem}.bug-report-card{padding:16px}.report-actions{flex-direction:column}.btn-claude,.btn-delete,.btn-edit{width:100%}.status-buttons{grid-template-columns:1fr}}.admin-page{margin:0 auto;max-width:1200px;padding:80px 20px 20px}.admin-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.admin-header h1{color:var(--text-primary);font-size:28px;font-weight:700;margin:0}.btn-refresh{background:var(--accent-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:background .2s}.btn-refresh:hover{background:var(--accent-hover)}.admin-loading{align-items:center;color:var(--text-secondary);display:flex;justify-content:center;min-height:200px}.admin-error{background:#ffebee;border-radius:8px;color:#c62828;margin-bottom:20px;padding:12px 16px}.admin-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.admin-section{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px #00000014;padding:20px}.admin-section h2{color:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 16px}.admin-section h2,.section-header{border-bottom:1px solid var(--border-color);padding-bottom:12px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.section-header h2{border:none;margin:0;padding:0}.btn-view-all{background:var(--bg-tertiary);border-radius:6px;color:var(--accent-primary);font-size:13px;font-weight:500;padding:6px 12px;text-decoration:none;transition:all .2s}.btn-view-all:hover{background:var(--accent-light)}.usage-date{color:var(--text-secondary);font-size:13px;margin-bottom:16px}.usage-cards{display:flex;flex-direction:column;gap:12px}.usage-card{background:var(--bg-tertiary);border-radius:10px;padding:16px}.usage-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.provider-name{color:var(--text-primary);font-weight:600}.usage-badge{border-radius:12px;color:#fff;font-size:12px;font-weight:600;padding:3px 8px}.usage-badge.unlimited{background:#9e9e9e}.usage-count{color:var(--text-primary);font-size:28px;font-weight:700}.usage-limit{font-size:16px;font-weight:400}.usage-label,.usage-limit{color:var(--text-secondary)}.usage-label{font-size:13px;margin-bottom:8px}.usage-bar{background:var(--border-color);border-radius:3px;height:6px;margin-bottom:8px;overflow:hidden}.usage-bar-fill{border-radius:3px;height:100%;transition:width .3s ease}.usage-note{color:var(--text-secondary);font-size:12px}.alert-sent-notice{align-items:center;background:#fff3e0;border-radius:8px;color:#e65100;display:flex;font-size:13px;gap:8px;margin-top:16px;padding:10px 14px}.alert-sent-notice:before{content:""}.services-list{display:flex;flex-direction:column;gap:10px}.service-item{grid-gap:12px;align-items:center;background:var(--bg-tertiary);border-left:4px solid;border-radius:8px;display:grid;gap:12px;grid-template-columns:100px 1fr auto;padding:12px}.service-item.enabled{border-left-color:#4caf50}.service-item.disabled{border-left-color:#9e9e9e}.service-name{color:var(--text-primary);font-weight:600}.service-status{color:var(--text-secondary);font-size:13px}.service-profiles{color:var(--text-secondary);font-size:12px;text-align:right}.bug-stats{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(5,1fr)}.bug-stat-card{align-items:center;background:var(--bg-tertiary);border-radius:8px;border-top:3px solid;display:flex;flex-direction:column;padding:12px 8px}.bug-stat-card.total{border-top-color:var(--accent-primary)}.bug-stat-card.new{border-top-color:#f44336}.bug-stat-card.in-progress{border-top-color:#ff9800}.bug-stat-card.resolved{border-top-color:#4caf50}.bug-stat-card.closed{border-top-color:#9e9e9e}.stat-value{color:var(--text-primary);font-size:24px;font-weight:700}.stat-label{color:var(--text-secondary);font-size:11px;margin-top:4px;text-transform:uppercase}.bug-alert{background:#ffebee;border-radius:8px;color:#c62828;font-size:13px;font-weight:500;margin-top:16px;padding:10px 14px}.info-list{display:flex;flex-direction:column;gap:12px}.info-item{background:var(--bg-tertiary);border-radius:8px;display:flex;justify-content:space-between;padding:10px 12px}.info-label{color:var(--text-secondary);font-size:14px}.info-value{color:var(--text-primary);font-family:monospace;font-size:14px;font-weight:500}@media (max-width:768px){.admin-page{padding:76px 16px 16px}.admin-header{align-items:flex-start;flex-direction:column;gap:16px}.admin-grid{grid-template-columns:1fr}.bug-stats{grid-template-columns:repeat(3,1fr)}.bug-stat-card:nth-child(4),.bug-stat-card:nth-child(5){grid-column:span 1}.service-item{gap:4px;grid-template-columns:1fr}.service-profiles{text-align:left}}.history-section{grid-column:1/-1}.history-chart{display:flex;flex-direction:column;gap:16px}.chart-legend{display:flex;gap:20px;justify-content:center}.legend-item{align-items:center;color:var(--text-secondary);display:flex;font-size:13px;gap:6px}.legend-item .legend-color{border-radius:3px;height:12px;width:12px}.legend-item.osrm .legend-color{background:#9e9e9e}.legend-item.graphhopper .legend-color{background:#00aa9f}.legend-item.ors .legend-color{background:#e1723c}.chart-container{align-items:flex-end;background:var(--bg-tertiary);border-radius:10px;display:flex;gap:4px;height:150px;overflow-x:auto;padding:10px}.chart-day{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:8px;min-width:50px}.chart-bars{align-items:flex-end;display:flex;gap:2px;height:100px}.chart-bar{border-radius:2px 2px 0 0;cursor:help;min-height:2px;transition:height .3s ease;width:12px}.chart-bar.osrm{background:#9e9e9e}.chart-bar.graphhopper{background:#00aa9f}.chart-bar.ors{background:#e1723c}.chart-label{color:var(--text-secondary);font-size:10px;white-space:nowrap}.chart-limits{font-size:12px}.chart-limits,.no-history-data{color:var(--text-secondary);text-align:center}.no-history-data{background:var(--bg-tertiary);border-radius:10px;padding:40px 20px}.no-history-data p{margin:0 0 8px}.no-history-data .hint{font-size:13px;opacity:.7}.infrastructure-section{grid-column:1/-1}.infrastructure-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.infrastructure-card{align-items:center;background:var(--bg-tertiary);border:1px solid #0000;border-radius:10px;color:inherit;display:flex;gap:12px;padding:14px 16px;text-decoration:none;transition:all .2s}.infrastructure-card:hover{background:var(--accent-light);border-color:var(--accent-primary);transform:translateY(-2px)}.infra-icon{align-items:center;background:var(--bg-primary);border-radius:8px;display:flex;font-size:24px;height:40px;justify-content:center;width:40px}.infra-info{display:flex;flex:1 1;flex-direction:column;min-width:0}.infra-name{color:var(--text-primary);font-size:14px;font-weight:600}.infra-description{color:var(--text-secondary);font-size:12px}.infra-arrow{color:var(--text-secondary);font-size:18px;transition:transform .2s}.infrastructure-card:hover .infra-arrow{color:var(--accent-primary);transform:translateX(4px)}@media (max-width:768px){.chart-container{height:120px}.chart-day{min-width:40px}.chart-bar{width:8px}.infrastructure-grid{grid-template-columns:1fr}}:root,[data-theme=light]{--bg-primary:#f5f7fa;--bg-secondary:#fff;--bg-tertiary:#e8f5f4;--bg-hover:#f0f2f5;--text-primary:#333;--text-secondary:#666;--text-tertiary:#999;--border-color:#e0e0e0;--border-light:#e8ecf0;--accent-primary:#00aa9f;--accent-hover:#00745e;--accent-light:#e8f5f4;--accent-orange:#e1723c;--accent-orange-hover:#c85a2a;--neutral-beige:#bca79d;--neutral-brown:#55433b;--danger:#e74c3c;--danger-hover:#c0392b;--danger-bg:#ffe5e5;--success-bg:#d4edda;--success-text:#155724;--success-border:#c3e6cb;--error-bg:#f8d7da;--error-text:#721c24;--error-border:#f5c6cb;--shadow:#0000001a;--shadow-hover:#00000026;color-scheme:light}[data-theme=dark]{--bg-primary:#121212;--bg-secondary:#1e1e1e;--bg-tertiary:#1a2e2d;--bg-hover:#2a2a2a;--text-primary:#fff;--text-secondary:#e0e0e0;--text-tertiary:#b8b8b8;--border-color:#404040;--border-light:#353535;--accent-primary:#00cbbf;--accent-hover:#00aa9f;--accent-light:#1a2e2d;--accent-orange:#ff8a50;--accent-orange-hover:#e1723c;--neutral-beige:#8a7b72;--neutral-brown:#d4c4bb;--danger:#ff6b6b;--danger-hover:#ff5252;--danger-bg:#4a2020;--success-bg:#1e3a1e;--success-text:#8fc98f;--success-border:#2d4a2d;--error-bg:#3a1e1e;--error-text:#f99;--error-border:#4a2d2d;--shadow:#0000004d;--shadow-hover:#00000080;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f7fa;background-color:var(--bg-primary);color:#333;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;transition:background-color .3s,color .3s}.app{display:flex;flex-direction:column;min-height:100vh}.app-content{flex:1 1}.app-content,.loading-screen{display:flex;flex-direction:column}.loading-screen{align-items:center;background-color:#f5f7fa;background-color:var(--bg-primary);justify-content:center;min-height:100vh}.spinner{animation:spin 1s linear infinite;border:4px solid #e0e0e0;border-top:4px solid #00aa9f;border:4px solid var(--border-color);border-radius:50%;border-top-color:var(--accent-primary);height:50px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-screen p{color:#666;color:var(--text-secondary);font-size:16px;margin-top:20px}.btn-primary{background-color:#00aa9f;background-color:var(--accent-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:background-color .3s}.btn-primary:hover:not(:disabled){background-color:#00745e;background-color:var(--accent-hover)}.btn-primary:disabled{background-color:#e0e0e0;background-color:var(--border-color);cursor:not-allowed}.btn-secondary{background-color:#fff;background-color:var(--bg-secondary);border:2px solid #00aa9f;border:2px solid var(--accent-primary);border-radius:8px;color:#00aa9f;color:var(--accent-primary);cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .3s}.btn-secondary:hover{background-color:#00aa9f;background-color:var(--accent-primary);color:#fff}.btn-danger{background-color:#e74c3c;background-color:var(--danger);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:background-color .3s}.btn-danger:hover{background-color:#c0392b;background-color:var(--danger-hover)}.error-message,.success-message{border-radius:8px;font-weight:500;margin-bottom:20px;padding:12px 20px}.success-message{background-color:#d4edda;background-color:var(--success-bg);border:1px solid #c3e6cb;border:1px solid var(--success-border);color:#155724;color:var(--success-text)}.error-message{background-color:#f8d7da;background-color:var(--error-bg);border:1px solid #f5c6cb;border:1px solid var(--error-border);color:#721c24;color:var(--error-text)}@media (max-width:768px){.btn-danger,.btn-primary,.btn-secondary{font-size:14px;padding:10px 20px}}
/*# sourceMappingURL=main.9e3224ea.css.map*/