:root{--bg-color: #0f172a;--bg-panel: rgba(30, 41, 59, .7);--bg-card: rgba(30, 41, 59, .9);--text-main: #f8fafc;--text-muted: #94a3b8;--accent-primary: #3b82f6;--accent-secondary: #10b981;--border-color: rgba(255, 255, 255, .1);--danger: #ef4444;--glass-bg: rgba(15, 23, 42, .6);--glass-border: rgba(255, 255, 255, .08);--glass-blur: blur(12px);--font-family: "Inter", system-ui, -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-main);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea,select{font-family:inherit}h1,h2,h3,h4{font-weight:600;line-height:1.2}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.glass-panel{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:16px}#root{display:flex;flex-direction:column;min-height:100vh}.search-wrapper{flex:1;max-width:500px;position:relative;display:flex;align-items:center}.search-input-container{width:100%;position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:1rem;color:var(--text-muted)}.search-input{width:100%;padding:.75rem 1rem;border-radius:99px;border:1px solid var(--glass-border);background:var(--glass-bg);color:var(--text-main);outline:none;transition:all .2s ease}.search-input:focus{border-color:var(--accent-primary);background:#0000004d}.search-dropdown{position:absolute;top:calc(100% + .5rem);left:0;right:0;border-radius:12px;max-height:400px;overflow-y:auto;z-index:1050;box-shadow:0 10px 25px #00000080;border:1px solid var(--glass-border)}.search-status{padding:1rem;text-align:center;color:var(--text-muted);font-size:.9rem}.search-results-list{list-style:none;padding:0;margin:0}.search-result-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;cursor:pointer;border-bottom:1px solid var(--glass-border);transition:background .2s ease}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:#ffffff0d}.search-result-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#ffffff0d}.search-result-content{flex:1;overflow:hidden}.search-result-name{font-weight:500;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-address{font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-action{flex-shrink:0}.badge-local{font-size:.7rem;background:#3b82f633;color:#60a5fa;padding:2px 6px;border-radius:4px;font-weight:600}.text-accent{color:var(--accent-primary)}.direct-add-btn{background:#ffffff1a;border:1px solid var(--glass-border);color:var(--text-muted);width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.direct-add-btn:hover{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;transform:scale(1.1)}.top-bar{padding:.75rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;background-color:var(--bg-panel);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--glass-border);position:sticky;top:0;z-index:1000}.top-bar-logo{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.logo-icon{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));padding:.5rem;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #6366f14d}.top-bar-logo h1{font-size:1.25rem;margin:0;font-weight:700;letter-spacing:-.5px;background:linear-gradient(to right,var(--text-main),var(--text-muted));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.desktop-nav{display:none;align-items:center;gap:1.25rem}@media(min-width:768px){.desktop-nav{display:flex}}.top-nav-link{display:flex;align-items:center;gap:.5rem;color:var(--text-muted);text-decoration:none;font-weight:500;font-size:.9rem;transition:all .2s ease;padding:.4rem .75rem;border-radius:8px}.top-nav-link:hover{color:var(--text-main);background:#ffffff0d}.top-nav-link.active{color:var(--accent-primary);background:#6366f11a}.top-nav-add{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-main)}.top-nav-add:hover{border-color:var(--accent-primary);transform:translateY(-1px)}.top-nav-add.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.auth-section{margin-left:auto;padding-left:1rem;display:flex;align-items:center}@media(min-width:768px){.auth-section{margin-left:.5rem;padding-left:1.25rem;border-left:1px solid var(--glass-border)}}.user-profile{display:flex;align-items:center;gap:.75rem}.sharing-controls{display:flex;align-items:center;gap:12px}.user-filter-wrapper{position:relative;display:flex;align-items:center}.filter-icon{position:absolute;left:10px;color:var(--text-muted);pointer-events:none}.user-filter-select{background:var(--bg-panel);border:1px solid var(--glass-border);border-radius:10px;padding:6px 12px 6px 30px;color:var(--text-main);font-size:.85rem;cursor:pointer;outline:none;transition:all .2s;appearance:none;-webkit-appearance:none;min-width:140px}.user-filter-select:hover{border-color:var(--accent-primary)}.share-btn{display:flex;align-items:center;gap:8px;background:#ffffff0d;color:var(--text-main);border:1px solid var(--glass-border);padding:6px 12px;border-radius:10px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.share-btn:hover{background:#ffffff1a;border-color:var(--accent-primary);transform:translateY(-1px)}@media(max-width:600px){.share-btn span,.user-filter-select,.user-filter-wrapper{display:none}}.user-avatar{width:32px;height:32px;border-radius:50%;border:2px solid var(--glass-border);object-fit:cover}.auth-btn{display:flex;align-items:center;gap:.5rem;padding:.4rem 1rem;border-radius:99px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.login-btn{background:var(--accent-primary);color:#fff}.login-btn:hover{background:#4f46e5;transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}@media(max-width:480px){.login-btn span{display:none}.login-btn{padding:.5rem;width:36px;height:36px;justify-content:center}}@media(max-width:767px){.top-bar-logo{display:none}.top-bar{gap:.5rem;padding:.75rem}.auth-section{padding-left:.5rem}}.logout-btn{background:transparent;border-color:var(--glass-border);color:var(--text-muted)}.logout-btn:hover{background:#ef44441a;border-color:#ef444466;color:#ef4444}.logout-btn span{display:none}@media(min-width:1024px){.logout-btn span{display:inline}}.bottom-nav{display:flex;justify-content:space-around;align-items:center;padding:.5rem 1rem;padding-bottom:calc(.5rem + env(safe-area-inset-bottom));background-color:var(--bg-panel);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-top:1px solid var(--glass-border);position:fixed;bottom:0;left:0;right:0;z-index:1000}@media(min-width:768px){.bottom-nav{display:none}}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--text-muted);font-size:.75rem;font-weight:500;text-decoration:none;transition:all .2s ease;min-width:44px}.nav-item:hover{color:var(--text-main)}.nav-item.active{color:var(--accent-primary)}.nav-item.add-btn{transform:none}.nav-item.add-btn span{margin-top:4px}.add-btn-inner{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #10b9814d;border:3px solid var(--bg-color);transition:transform .2s cubic-bezier(.175,.885,.32,1.275)}.nav-item.add-btn:active .add-btn-inner{transform:scale(.95)}@media(max-width:480px){.nav-item.add-btn{transform:none}.add-btn-inner{width:40px;height:40px}.add-btn-inner svg{width:20px!important;height:20px!important}.nav-item.add-btn span{margin-top:4px}}
