@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}}@media (prefers-color-scheme:dark){.app-footer{background:linear-gradient(135deg,#4a5568,#2d3748)}}.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:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.bug-report-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px 24px}.bug-report-header h2{color:#333;font-size:1.5rem;margin:0}.bug-report-close{background:none;border:none;color:#666;cursor:pointer;font-size:1.5rem;line-height:1;padding:4px 8px;transition:color .2s}.bug-report-close:hover{color:#d32f2f}.bug-report-close:disabled{cursor:not-allowed;opacity:.5}.bug-report-form{padding:24px}.bug-report-info{background:#f5f5f5;border-radius:8px;margin-bottom:20px;padding:12px 16px}.bug-report-info p{color:#555;font-size:.9rem;margin:0}.form-group label{font-size:.95rem}.form-group textarea{transition:border-color .2s}.form-group textarea:focus{border-color:#00aa9f;outline:none}.form-group textarea:disabled{background:#f5f5f5;cursor:not-allowed}.char-count{color:#999;font-size:.85rem;margin-top:4px;text-align:right}.bug-report-error{background:#ffebee;border-left:4px solid #c62828;border-radius:8px;color:#c62828;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:#333;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{color:#666}.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 #e0e0e0;margin-top:20px;padding-top:16px}.bug-report-privacy small{color:#999;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 #e0e0e0;border-radius:8px;overflow:hidden;position:relative}.screenshot-preview img{background:#f5f5f5;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:#f5f5f5;border:2px dashed #ccc;border-radius:8px;padding:20px;text-align:center}.no-screenshot-text{color:#666;font-size:.9rem;margin:0 0 12px}.floating-bug-button.capturing{animation:capturingPulse 1s ease-in-out infinite;background:#ff9800}.floating-bug-button.capturing:hover{background:#f57c00;width:150px}@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}}.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-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-icon{align-items:center;display:flex;left:12px;position:absolute;z-index:1}.search-icon-img{height:18px;width:18px}.search-input{background-color:var(--bg-primary);font-size:15px;padding:12px 45px 12px 12px;transition:all .3s;width:100%}.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}.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-size:14px;padding:10px 12px;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}}@media (prefers-color-scheme:dark){.btn-geolocation{background-color:var(--bg-secondary);color:var(--text-primary)}.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:#e74c3c;color:var(--error-color,#e74c3c)}.simple-address-input input{border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:6px;font-size:15px;padding:12px;transition:border-color .2s;width:100%}.simple-address-input input:focus{border-color:#4285f4;border-color:var(--primary-color,#4285f4);box-shadow:0 0 0 3px #4285f41a;outline:none}.validation-error{background-color:#fee;border-left:4px solid #e74c3c;border-left:4px solid var(--error-color,#e74c3c);color:#c33}.validating-message,.validation-error{border-radius:4px;font-size:14px;padding:12px}.validating-message{background-color:#f5f5f5;border-left:4px solid #4285f4;border-left:4px solid var(--primary-color,#4285f4)}.address-mode-toggle{background-color:#fff8e6;border:1px solid #ffd966;border-radius:8px;margin-top:24px;padding:16px;text-align:center}.toggle-hint{color:#856404;font-size:14px;font-weight:500;margin:0 0 12px}.btn-toggle-advanced{background:none;border:none;color:#4285f4;color:var(--primary-color,#4285f4);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{color:var(--text-secondary);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-explanation{color:var(--text-secondary);font-size:14px;line-height:1.5;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,#e74c3c 0,#f39c12 25%,#f1c40f 50%,#2ecc71 75%,#27ae60);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{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;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}.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}.footer-note{background-color:var(--accent-light);border-left:3px solid var(--accent-primary);border-radius:8px;color:var(--text-primary);font-size:13px;line-height:1.6;margin-top:20px;padding:15px}@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-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;top:20px}.map-error,.map-geo-warning{border-radius:8px;box-shadow:0 4px 12px #00000026;left:50%;padding:12px 24px;position:absolute;transform:translateX(-50%);z-index:1000}.map-geo-warning{background-color:#fff3cd;color:#856404;font-size:14px;top:80px}.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}.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;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:#00aa9f;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;transition:background-color .3s ease}.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}.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-img{height:20px;width:20px}.search-icon-light{display:block}.search-icon-dark,[data-theme=dark] .search-icon-light{display:none}[data-theme=dark] .search-icon-dark{display:block}.main-search-bar,[data-theme=dark] .search-toggle-button{background:var(--bg-secondary)}.main-search-bar{border-radius:12px;box-shadow:0 4px 16px var(--shadow-hover);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{display:flex;gap:8px;padding:12px}.search-input{background:var(--bg-secondary);border:2px solid var(--border-color);color:var(--text-primary);font-size:14px;outline:none;transition:border-color .3s ease}.search-input::placeholder{color:var(--text-tertiary)}.search-input:focus{border-color:var(--primary-color)}.search-submit-button{background:var(--primary-color);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;padding:12px 20px;transition:all .3s ease}.search-submit-button:hover:not(:disabled){background:var(--secondary-color);transform:scale(1.05)}.search-submit-button:disabled{cursor:not-allowed;opacity:.6}.search-buttons{align-items:center;display:flex;gap:4px}.search-close-panel-button{background:var(--bg-tertiary);border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:16px;padding:12px 14px;transition:all .3s ease}.search-close-panel-button:hover{background:#dc3545;color:#fff;transform:scale(1.05)}@media (max-width:768px){.search-close-panel-button{display:none}}.search-results{background:#fff;border-top:1px solid #f0f0f0;max-height:400px;overflow-y:auto;position:relative;z-index:2001}.search-result-item{align-items:center;border-bottom:1px solid #f5f5f5;cursor:pointer;display:flex;padding:12px 16px;transition:background .2s ease}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:#f8f9fa}.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;font-weight:600;margin-bottom:4px}.result-address{color:#666;font-size:12px}.search-no-results{color:#999;font-size:14px;padding:20px;text-align:center}.results-section-header{background-color:#f0f7ff;border-top:1px solid #e0e0e0;color:#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;position:relative}.search-input{border:none;flex:1 1;font-size:14px;height:50px;padding:8px 50px 8px 12px}.search-submit-button{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;font-size:20px;height:50px;justify-content:center;position:absolute;right:0;top:0;width:50px;z-index:10}.search-results{background:#fff;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:48px;justify-content:center;overflow:visible;position:relative;width:48px}.friend-photo-marker-container:before{align-items:center;background:linear-gradient(135deg,#00aa9f,#00745e);border:2px solid #fff;border-radius:50%;bottom:-8px;box-shadow:0 2px 8px #00aa9f99;content:"🏠";display:flex;font-size:12px;height:22px;justify-content:center;position:absolute;right:-8px;width:22px;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:-6px;box-shadow:0 2px 8px #00aa9f99;content:"🏠";font-size:11px;height:20px;position:absolute;right:-6px;width:20px;z-index:100}.friend-initials{color:#fff;font-size:14px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.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:-4px;box-shadow:0 2px 4px #0003;display:flex;font-size:11px;height:20px;justify-content:center;position:absolute;right:-4px;width:20px;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}.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}}.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{background:var(--bg-secondary);border-radius:20px 20px 0 0;bottom:0;box-shadow:0 -8px 32px #0000004d;display:flex;flex-direction:column;left:0;overflow:hidden;position:absolute;right:0;z-index:10}.friend-profile-panel.dragging{-webkit-user-select:none;user-select:none}.panel-drag-handle{align-items:center;background:var(--bg-secondary);cursor:grab;display:flex;flex-shrink:0;height:40px;justify-content:center;position:relative;width:100%;z-index:20}.panel-drag-handle:active{cursor:grabbing}.handle-indicator{background:var(--text-tertiary);border-radius:2px;height:4px;opacity:.5;transition:opacity .2s;width:40px}.panel-drag-handle:hover .handle-indicator{opacity:.8}.btn-close-profile{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:20px;height:40px;justify-content:center;position:absolute;right:20px;top:50px;transition:all .2s ease;width:40px;z-index:30}.btn-close-profile: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}.profile-content.scrollable{overflow-y:auto}.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{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;white-space:nowrap}.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}.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)}.panel-minimized .profile-content{overflow:hidden}.panel-default .profile-content,.panel-expanded .profile-content{overflow-y:auto}@media (max-width:768px){.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}.btn-close-profile{font-size:18px;height:36px;right:15px;top:45px;width:36px}.address-card,.temp-location-card{padding:12px}.btn-directions{font-size:18px;height:40px;width:40px}}.friend-profile-panel{will-change:height}.friend-profile-panel.dragging *{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.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;transition:transform .3s cubic-bezier(.4,0,.2,1);width:450px;z-index:3000}.btn-close-profile,.panel-drag-handle,.panel-hint{display:none}.profile-content{height:100%;padding:70px 24px 30px}.panel-default,.panel-expanded,.panel-minimized{height:calc(100vh - 70px)!important;height:calc(100dvh - 70px)!important;top:70px!important}.profile-header-horizontal{padding:24px 0}.profile-photo-large,.profile-photo-placeholder{height:110px;width:110px}.profile-photo-placeholder{font-size:40px}.profile-name{font-size:26px}.profile-email,.profile-phone{font-size:15px}}.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}.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);font-size:11px;text-transform:uppercase}.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}}.friends-page{background-color:var(--bg-primary);min-height:calc(100vh - 70px);padding:40px 20px;transition:background-color .3s}.friends-container{margin:0 auto;max-width:900px}.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-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}}@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{display:flex;gap:10px;margin-bottom:20px}.search-input{border:2px solid #e0e0e0;border-radius:8px;flex:1 1;font-size:16px;min-width:0;padding:12px 16px}.search-form .btn-primary{flex-shrink:0;max-width:140px;padding:12px 20px;white-space:nowrap}.search-input:focus{border-color:#00aa9f;outline:none}.requests-section h2{margin:30px 0 15px}.my-contacts-title,.requests-section h2{color:var(--text-primary);font-size:24px}.my-contacts-title{margin:40px 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}.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{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:20px 25px;transition:background-color .2s ease}.group-header-item:hover{background-color:#0000000d}[data-theme=dark] .group-header-item:hover{background-color:#ffffff0d}.group-info{align-items:center;display:flex;flex:1 1;gap:15px}.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-actions{align-items:center;display:flex;gap:10px}.group-actions .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;padding:6px 12px;transition:all .2s ease;white-space:nowrap}.group-actions .btn-add-to-group:hover{background-color:#e8eaed;box-shadow:0 1px 3px #0000001a;transform:translateY(-1px)}.group-actions .btn-add-to-group:active{transform:scale(.95)}.group-actions .btn-cancel-request{height:36px;width:36px}.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}.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}.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}.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-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-card{align-items:center;border:1px solid var(--border-color);border-radius:8px;display:flex;flex-direction:row;gap:10px;padding:12px;transition:all .2s ease}.sidebar-card:hover{border-color:var(--accent-primary)}.sidebar-photo{border-radius:50%;flex-shrink:0;height:40px;object-fit:cover;width:40px}.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{color:#ff9800;font-size:12px;font-weight:500;margin:4px 0 0}.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:flex-start;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}}.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;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}.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;display:flex;gap:15px;justify-content:center;margin-bottom:15px}.info-label{color:var(--text-secondary);font-size:14px;font-weight:600;min-width:100px}.info-value{color:var(--text-primary);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{color:var(--text-primary);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 20px 50px;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:#666;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;color:#fff}.save-message.error{background:#e74c3c;color:#fff}@keyframes slideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.notification-settings-tabs{border-bottom:2px solid #eee;display:flex;gap:10px;margin-bottom:30px;overflow-x:auto}.notification-settings-tabs button{background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;font-size:16px;font-weight:500;padding:12px 20px;transition:all .3s ease;white-space:nowrap}.notification-settings-tabs button:hover{color:#00aa9f}.notification-settings-tabs button.active{border-bottom-color:#00aa9f;color:#00aa9f}.settings-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px}.settings-section h3{color:#2c3e50;font-size:24px;margin:0 0 10px}.section-description{color:#7f8c8d;margin-bottom:30px}.setting-item{border-bottom:1px solid #eee;padding:20px 0}.setting-item:last-child{border-bottom:none}.setting-info{margin-right:0}.setting-info label{color:#2c3e50;display:block;font-size:16px;font-weight:600;margin-bottom:5px}.setting-info p{color:#7f8c8d;font-size:14px;margin:0}.toggle-switch{display:inline-block;flex-shrink:0;height:26px;position:relative;width:50px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background-color:#ccc;border-radius:34px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.4s}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:20px;left:3px;position:absolute;transition:.4s;width:20px}.toggle-switch input:checked+.toggle-slider{background-color:#00aa9f}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(24px)}.setting-select{background:#fff;border:1px solid #ddd;border-radius:6px;color:#2c3e50;cursor:pointer;flex-shrink:0;font-size:14px;min-width:150px;padding:8px 12px}.setting-select:focus{border-color:#00aa9f;outline:none}.setting-item-inline{align-items:center;border-bottom:1px solid #eee;display:flex;gap:10px;padding:20px 0}.setting-item-inline label{color:#2c3e50;font-weight:600}.setting-item-inline select{background:#fff;border:1px solid #ddd;border-radius:6px;color:#2c3e50;cursor:pointer;font-size:14px;padding:6px 10px}.setting-item-inline span{color:#7f8c8d}.setting-slider{background:#ddd;border-radius:3px;cursor:pointer;height:6px;max-width:300px;outline:none;width:100%}.setting-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#00aa9f;border-radius:50%;cursor:pointer;height:20px;width:20px}.setting-slider::-moz-range-thumb{background:#00aa9f;border:none;border-radius:50%;cursor:pointer;height:20px;width:20px}.notification-type-setting{border:1px solid #eee;border-radius:8px;margin-bottom:15px;padding:15px;transition:all .3s ease}.notification-type-setting:hover{border-color:#00aa9f;box-shadow:0 2px 8px #4a90e21a}.notification-type-header{align-items:center;display:flex;justify-content:space-between}.notification-type-info{align-items:center;display:flex;flex:1 1;gap:12px}.notification-type-icon{flex-shrink:0;font-size:32px}.notification-type-info h4{color:#2c3e50;font-size:16px;margin:0 0 5px}.notification-type-info p{color:#7f8c8d;font-size:13px;margin:0}.notification-type-details{border-top:1px solid #f0f0f0;display:flex;gap:20px;margin-top:15px;padding-top:15px}.notification-type-option{align-items:center;display:flex;gap:10px}.notification-type-option label{color:#7f8c8d;font-size:14px;font-weight:500}.notification-type-option select{background:#fff;border:1px solid #ddd;border-radius:6px;color:#2c3e50;cursor:pointer;font-size:13px;padding:6px 10px}.proximity-slider-inline{padding:10px 0;width:100%}.proximity-slider-inline label{color:#7f8c8d;display:block;font-size:14px;font-weight:500;margin-bottom:10px}.proximity-slider-inline .setting-slider{max-width:none;width:100%}.proximity-info-box{background:linear-gradient(135deg,#00aa9f,#00745e);border-radius:12px;color:#fff;margin-top:20px;padding:20px}.proximity-info-box h4{font-size:16px;font-weight:600;margin:0 0 15px}.proximity-info-box p{font-size:14px;line-height:1.6;margin:0 0 10px}.proximity-info-box ul{list-style:none;margin:10px 0;padding-left:20px}.proximity-info-box li{font-size:14px;line-height:1.5;margin:8px 0;padding-left:20px;position:relative}.proximity-info-box li:before{color:#a0f1ea;content:"✓";font-weight:700;left:0;position:absolute}.proximity-info-box .info-note{border-top:1px solid #fff3;font-size:13px;font-style:italic;margin-top:15px;opacity:.9;padding-top:15px}.privacy-notice{background:#f8f9fa;border-left:4px solid #00aa9f;border-radius:4px;margin-top:20px;padding:15px}.privacy-notice strong{color:#2c3e50;display:block;margin-bottom:8px}.privacy-notice p{color:#666;font-size:14px;line-height:1.6;margin:0}@media (max-width:768px){.notification-settings-tabs{margin-bottom:20px}.notification-settings-tabs button{font-size:14px;padding:10px 15px}.settings-section{padding:15px}.settings-section h3{font-size:20px}.setting-item{align-items:center;flex-direction:row;gap:10px;padding:15px 0}.setting-info{flex:1 1;min-width:0}.setting-item .setting-select,.setting-item .toggle-switch{flex-shrink:0}.setting-info label{font-size:14px}.setting-info p{word-wrap:break-word;font-size:13px}.notification-type-details{flex-direction:column;gap:15px}.setting-slider{margin-top:5px;max-width:none;width:100%}.setting-select{min-width:120px}.save-message{left:10px;right:10px;text-align:center}.proximity-info-box{padding:15px}.proximity-info-box h4{font-size:15px}.proximity-info-box li{font-size:13px}}@media (prefers-color-scheme:dark){.settings-section{background:#2c3e50}.notification-type-info h4,.setting-info label,.settings-section h3{color:#ecf0f1}.notification-type-info p,.section-description,.setting-info p{color:#95a5a6}.notification-type-setting,.setting-item,.setting-item-inline{border-color:#34495e}.notification-type-option select,.setting-select{background:#34495e;border-color:#34495e;color:#ecf0f1}.privacy-notice{background:#34495e;border-color:#00aa9f}.privacy-notice strong{color:#ecf0f1}.privacy-notice p{color:#95a5a6}}.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{color:var(--text-secondary);font-size:14px;line-height:1.5;margin:0 0 20px;transition:color .3s}.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)}@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}}.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:linear-gradient(135deg,#00aa9f,#00745e);display:flex;justify-content:center;min-height:100vh;padding:40px 20px}.legal-content{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a;margin:20px 0;max-width:900px;padding:48px;width:100%}.legal-content h1{color:#2d3748;font-size:36px;font-weight:700;margin-bottom:8px}.last-updated{color:#718096;font-size:14px;font-style:italic;margin-bottom:32px}.legal-content section{margin-bottom:40px}.legal-content h2{border-bottom:2px solid #e2e8f0;color:#2d3748;font-size:24px;font-weight:600;margin-bottom:16px;margin-top:32px;padding-bottom:8px}.legal-content h3{color:#4a5568;font-size:18px;font-weight:600;margin-bottom:12px;margin-top:24px}.legal-content p,.legal-content ul{color:#4a5568;font-size:16px;line-height:1.8;margin-bottom:16px}.legal-content ul{padding-left:32px}.legal-content li{margin-bottom:8px}.legal-content a{color:#00aa9f;font-weight:500;text-decoration:none;transition:color .2s}.legal-content a:hover{color:#00745e;text-decoration:underline}.legal-content strong{color:#2d3748;font-weight:600}.legal-footer{border-top:2px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:24px;justify-content:center;margin-top:48px;padding-top:32px}.legal-link{border:2px solid #00aa9f;border-radius:8px;color:#00aa9f;font-size:15px;font-weight:600;padding:10px 20px;text-decoration:none;transition:all .2s}.legal-link:hover{background:#00aa9f;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:linear-gradient(135deg,#00aa9f,#00745e);min-height:100vh;padding:40px 20px}.my-data-content{margin:0 auto;max-width:1000px}.my-data-content h1{color:#fff;font-size:36px;margin-bottom:8px;text-align:center}.subtitle{color:#ffffffe6;font-size:16px;margin-bottom:32px;text-align:center}.error-message,.success-message{background:#fff;margin-bottom:24px;padding:16px;text-align:center}.error-message{border-left:4px solid #e53e3e;color:#e53e3e}.success-message{border-left:4px solid #38a169;color:#38a169}.data-section{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;margin-bottom:24px;padding:32px}.data-section h2{color:#2d3748;font-size:24px;margin-bottom:16px}.section-header{align-items:flex-start;display:flex;gap:24px;justify-content:space-between;margin-bottom:24px}.section-description{color:#4a5568;font-size:15px;line-height:1.6;margin-top:8px}.section-description.danger{color:#e53e3e;font-weight:500}.user-info p{color:#4a5568;font-size:16px;margin-bottom:8px}.user-info strong{color:#2d3748}.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:#00aa9f;color:#fff}.btn-export:hover:not(:disabled){background:#5a67d8;box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.btn-delete{background:#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:#f7fafc;border-radius:8px;margin-top:16px;padding:20px}.data-included h3{color:#2d3748;font-size:16px;margin-bottom:12px}.data-included ul{color:#4a5568;font-size:15px;line-height:1.8;margin-bottom:16px;padding-left:24px}.data-included .note{color:#4a5568;font-size:14px;font-style:italic;margin:0}.delete-section{background:#fff5f5;border:2px solid #fed7d7}.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}.modal-content{background:#fff;border-radius:12px;max-height:90vh;max-width:500px;overflow-y:auto;padding:32px;width:100%}.modal-content h3{color:#e53e3e;font-size:24px;margin-bottom:16px}.warning-text{line-height:1.6}.delete-list,.warning-text{color:#4a5568;font-size:15px;margin-bottom:16px}.delete-list{line-height:1.8;padding-left:24px}.delete-list li{margin-bottom:8px}.confirmation-input{margin:24px 0}.confirmation-input label{color:#2d3748;display:block;font-size:15px;margin-bottom:8px}.confirmation-input input{border:2px solid #e2e8f0;border-radius:6px;font-family:monospace;font-size:15px;padding:12px;width:100%}.confirmation-input input:focus{border-color:#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:#e2e8f0;color:#2d3748}.btn-cancel:hover:not(:disabled){background:#cbd5e0}.btn-confirm-delete{background:#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:#f7fafc;border:2px solid #e2e8f0;border-radius:8px;color:inherit;padding:20px;text-decoration:none;transition:all .2s}.legal-card:hover{background:#edf2f7;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.legal-card h3{color:#2d3748;font-size:16px;margin-bottom:8px}.legal-card p{color:#4a5568;font-size:14px;margin:0}.rights-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:16px}.right-card{background:#f7fafc;border-left:4px solid #00aa9f;border-radius:8px;padding:20px}.right-card h3{color:#2d3748;font-size:15px;margin-bottom:8px}.right-card p{color:#4a5568;font-size:14px;line-height:1.6;margin:0}.right-card a{color:#00aa9f;text-decoration:underline}.contact-section{background:#edf2f7}.contact-info{color:#4a5568;font-size:15px;line-height:1.8}.contact-info a{color:#00aa9f;text-decoration:none}.contact-info a:hover{text-decoration:underline}@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}.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}.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:#333;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-delete,.btn-edit{width:100%}.status-buttons{grid-template-columns:1fr}}:root{--bg-primary:#f5f7fa;--bg-secondary:#fff;--bg-tertiary:#e8f5f4;--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}[data-theme=dark]{--bg-primary:#121212;--bg-secondary:#1e1e1e;--bg-tertiary:#1a2e2d;--text-primary:#e0e0e0;--text-secondary:#b0b0b0;--text-tertiary:grey;--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}*{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.920ee073.css.map*/