*{box-sizing:border-box;margin:0;padding:0}body{width:100vw;height:100vh;overflow:hidden}#map{z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.logo{align-items:center;margin-right:20px;display:flex}.logo h1{color:var(--accent);font-size:1.5rem;font-weight:600}.logo span{color:#888;margin-left:10px;font-size:.9rem}.control-panel{background:var(--surface-strong);border-radius:var(--radius-md);width:300px;box-shadow:none;z-index:1000;max-height:calc(100vh - 90px);padding:15px;transition:all .3s;position:absolute;top:70px;left:20px;overflow-y:auto}.panel-collapsed{width:50px;overflow:hidden}.panel-collapsed .panel-content{display:none}.toggle-panel{cursor:pointer;z-index:1010;background:#f0f0f0;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:16px;display:flex;position:absolute;top:10px;right:10px}.panel-section{border-bottom:1px solid #eee;margin-bottom:20px;padding-bottom:15px}.panel-section:last-child{border-bottom:none}.panel-section h3{color:#333;align-items:center;margin-bottom:12px;font-size:1rem;display:flex}.panel-section h3 i{color:var(--accent);margin-right:8px}.btn-group{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:10px;display:grid}button{border-radius:var(--radius-lg);cursor:pointer;color:var(--accent);background:#f0f6ff;border:1px solid #d0e2ff;justify-content:center;align-items:center;padding:8px 12px;font-size:.9rem;transition:all .2s;display:flex}button:hover{background:#e1efff}button.active{background:var(--accent);color:#fff;border-color:var(--accent)}button i{margin-right:5px}.saved-items{max-height:200px;overflow-y:auto}.saved-item{border-radius:var(--radius-md);background:#f9f9f9;justify-content:space-between;align-items:center;margin-bottom:8px;padding:8px 10px;font-size:.9rem;display:flex}.saved-item:hover{background:#f0f0f0}.saved-item .actions{gap:5px;display:flex}.saved-item .actions button{padding:4px 8px;font-size:.8rem}.info-bar{background:var(--surface-strong);border-radius:var(--radius-lg);z-index:1000;color:#555;align-items:center;padding:8px 15px;font-size:.9rem;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 2px 10px #0000001a}.info-bar i{color:var(--accent);margin-right:5px}@media (width<=768px){.control-panel{width:90%;top:70px;left:5%}.panel-collapsed{width:50px;left:calc(100% - 70px)}.btn-group{grid-template-columns:1fr}}.loader{z-index:1001;background:var(--surface-strong);border-radius:var(--radius-md);flex-direction:column;align-items:center;padding:20px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 10px #0000001a}.spinner{border:4px solid #f3f3f3;border-top:4px solid var(--accent);border-radius:50%;width:40px;height:40px;margin-bottom:10px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.user-location-marker{background:0 0}