.admin-layout[data-v-b9e8d5cd]{width:100vw;height:100vh;display:flex;overflow:hidden}.sidebar[data-v-b9e8d5cd]{z-index:1300;background:#001529;flex-direction:column;flex-shrink:0;width:220px;transition:width .3s;display:flex;overflow:hidden}.sidebar.collapsed[data-v-b9e8d5cd]{width:64px}.sidebar-logo[data-v-b9e8d5cd]{cursor:pointer;white-space:nowrap;border-bottom:1px solid #ffffff14;align-items:center;gap:10px;height:56px;padding:16px;display:flex;overflow:hidden}.logo-icon[data-v-b9e8d5cd]{color:#4da6ff;flex-shrink:0}.logo-text[data-v-b9e8d5cd]{color:#fff;letter-spacing:.5px;font-size:15px;font-weight:700}.sidebar-menu[data-v-b9e8d5cd]{flex:1;padding:8px 0;overflow-y:auto}.sidebar-menu[data-v-b9e8d5cd]::-webkit-scrollbar{width:4px}.sidebar-menu[data-v-b9e8d5cd]::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.menu-group[data-v-b9e8d5cd]{margin-bottom:2px}.menu-header[data-v-b9e8d5cd]{cursor:pointer;color:#ffffffa6;white-space:nowrap;border-radius:8px;align-items:center;gap:12px;margin:2px 8px;padding:12px 20px;transition:all .2s;display:flex;overflow:hidden}.menu-header[data-v-b9e8d5cd]:hover{color:#fff;background:#ffffff14}.menu-header.active[data-v-b9e8d5cd]{color:#fff;background:#1a73e8}.menu-icon[data-v-b9e8d5cd]{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.menu-label[data-v-b9e8d5cd]{flex:1;font-size:14px;font-weight:500}.expand-arrow[data-v-b9e8d5cd]{color:#fff6;flex-shrink:0;transition:transform .25s}.expand-arrow.expanded[data-v-b9e8d5cd]{transform:rotate(90deg)}.submenu[data-v-b9e8d5cd]{overflow:hidden}.submenu-item[data-v-b9e8d5cd]{color:#ffffff80;cursor:pointer;white-space:nowrap;padding:8px 20px 8px 56px;font-size:13px;transition:all .15s}.submenu-item[data-v-b9e8d5cd]:hover{color:#fff;background:#ffffff0d}.submenu-item.active[data-v-b9e8d5cd]{color:#4da6ff}.submenu-enter-active[data-v-b9e8d5cd],.submenu-leave-active[data-v-b9e8d5cd]{max-height:200px;transition:all .25s}.submenu-enter-from[data-v-b9e8d5cd],.submenu-leave-to[data-v-b9e8d5cd]{opacity:0;max-height:0}.sidebar-footer[data-v-b9e8d5cd]{border-top:1px solid #ffffff14;padding:12px}.collapse-btn[data-v-b9e8d5cd]{color:#ffffff73;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:100%;padding:8px;transition:all .2s;display:flex}.collapse-btn[data-v-b9e8d5cd]:hover{color:#fff;background:#ffffff14}.admin-main[data-v-b9e8d5cd]{flex:1;min-width:0;position:relative;overflow:hidden}@media (width<=768px){.admin-layout[data-v-b9e8d5cd]{flex-direction:column-reverse;height:100dvh}.sidebar[data-v-b9e8d5cd],.sidebar.collapsed[data-v-b9e8d5cd]{flex-direction:row;align-items:center;width:100%;height:58px;overflow:visible}.sidebar-logo[data-v-b9e8d5cd],.sidebar-footer[data-v-b9e8d5cd],.expand-arrow[data-v-b9e8d5cd],.submenu[data-v-b9e8d5cd]{display:none}.sidebar-menu[data-v-b9e8d5cd]{flex:1;justify-content:space-around;align-items:center;padding:6px 8px;display:flex;overflow:visible}.menu-group[data-v-b9e8d5cd]{flex:1;margin:0}.menu-header[data-v-b9e8d5cd]{border-radius:10px;flex-direction:column;justify-content:center;gap:3px;height:46px;margin:0 4px;padding:5px 8px}.menu-icon[data-v-b9e8d5cd]{width:20px;height:20px}.menu-label[data-v-b9e8d5cd]{flex:none;font-size:11px;line-height:1;display:inline!important}.admin-main[data-v-b9e8d5cd]{flex:none;height:calc(100dvh - 58px)}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans SC,sans-serif;overflow:hidden}:root{--bg:#f5f5f5;--surface:#fff;--text:#1a1a1a;--text-secondary:#666;--border:#e0e0e0;--primary:#1a73e8;--primary-hover:#1557b0;--danger:#e53935}[data-theme=dark]{--bg:#121212;--surface:#1e1e1e;--text:#e0e0e0;--text-secondary:#aaa;--border:#333;--primary:#4da6ff;--primary-hover:#1a73e8;--danger:#e57373}body{background:var(--bg);color:var(--text)}.leaflet-container{font-family:inherit}.leaflet-pm-toolbar .leaflet-pm-icon-delete{background-image:none}.leaflet-pm-toolbar .button-container{border-radius:6px!important}
