@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-cyrillic-ext-400-normal.BQZuk6qB.woff2) format("woff2"),url(./inter-cyrillic-ext-400-normal.DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-cyrillic-400-normal.obahsSVq.woff2) format("woff2"),url(./inter-cyrillic-400-normal.HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-greek-ext-400-normal.DGGRlc-M.woff2) format("woff2"),url(./inter-greek-ext-400-normal.KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-greek-400-normal.B4URO6DV.woff2) format("woff2"),url(./inter-greek-400-normal.q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-vietnamese-400-normal.DMkecbls.woff2) format("woff2"),url(./inter-vietnamese-400-normal.Bbgyi5SW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-latin-ext-400-normal.C1nco2VV.woff2) format("woff2"),url(./inter-latin-ext-400-normal.77YHD8bZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-latin-400-normal.C38fXH4l.woff2) format("woff2"),url(./inter-latin-400-normal.CyCys3Eg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-cyrillic-ext-500-normal.B0yAr1jD.woff2) format("woff2"),url(./inter-cyrillic-ext-500-normal.BmqWE9Dz.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-cyrillic-500-normal.BasfLYem.woff2) format("woff2"),url(./inter-cyrillic-500-normal.CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-greek-ext-500-normal.C4iEst2y.woff2) format("woff2"),url(./inter-greek-ext-500-normal.2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-greek-500-normal.BIZE56-Y.woff2) format("woff2"),url(./inter-greek-500-normal.Xzm54t5V.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-vietnamese-500-normal.DOriooB6.woff2) format("woff2"),url(./inter-vietnamese-500-normal.mJboJaSs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-latin-ext-500-normal.CV4jyFjo.woff2) format("woff2"),url(./inter-latin-ext-500-normal.BxGbmqWO.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-latin-500-normal.Cerq10X2.woff2) format("woff2"),url(./inter-latin-500-normal.BL9OpVg8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-cyrillic-ext-600-normal.Dfes3d0z.woff2) format("woff2"),url(./inter-cyrillic-ext-600-normal.Bcila6Z-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-cyrillic-600-normal.CWCymEST.woff2) format("woff2"),url(./inter-cyrillic-600-normal.4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-greek-ext-600-normal.DRtmH8MT.woff2) format("woff2"),url(./inter-greek-ext-600-normal.B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-greek-600-normal.plRanbMR.woff2) format("woff2"),url(./inter-greek-600-normal.BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-vietnamese-600-normal.Cc8MFFhd.woff2) format("woff2"),url(./inter-vietnamese-600-normal.BuLX-rYi.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-latin-ext-600-normal.D2bJ5OIk.woff2) format("woff2"),url(./inter-latin-ext-600-normal.CIVaiw4L.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-latin-600-normal.LgqL8muc.woff2) format("woff2"),url(./inter-latin-600-normal.CiBQ2DWP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(./inter-cyrillic-ext-700-normal.BjwYoWNd.woff2) format("woff2"),url(./inter-cyrillic-ext-700-normal.LO58E6JB.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(./inter-cyrillic-700-normal.CjBOestx.woff2) format("woff2"),url(./inter-cyrillic-700-normal.DrXBdSj3.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(./inter-greek-ext-700-normal.qfdV9bQt.woff2) format("woff2"),url(./inter-greek-ext-700-normal.BoQ6DsYi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(./inter-greek-700-normal.C3JjAnD8.woff2) format("woff2"),url(./inter-greek-700-normal.BUv2fZ6O.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(./inter-vietnamese-700-normal.DlLaEgI2.woff2) format("woff2"),url(./inter-vietnamese-700-normal.BZaoP0fm.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(./inter-latin-ext-700-normal.Ca8adRJv.woff2) format("woff2"),url(./inter-latin-ext-700-normal.TidjK2hL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(./inter-latin-700-normal.Yt3aPRUw.woff2) format("woff2"),url(./inter-latin-700-normal.BLAVimhd.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--primitive-color-amber-100: #FDF3E3;--primitive-color-amber-200: #F0D8AD;--primitive-color-amber-600: #D97706;--primitive-color-amber-700: #B45309;--primitive-color-basin-1: #B62B2B;--primitive-color-basin-10: #28D292;--primitive-color-basin-11: #AA2BB6;--primitive-color-basin-12: #AED228;--primitive-color-basin-13: #2B70B6;--primitive-color-basin-14: #D2284B;--primitive-color-basin-15: #2BB636;--primitive-color-basin-16: #6828D2;--primitive-color-basin-17: #B6882B;--primitive-color-basin-18: #28D2CB;--primitive-color-basin-19: #B62B93;--primitive-color-basin-2: #28D25A;--primitive-color-basin-20: #75D228;--primitive-color-basin-21: #2B41B6;--primitive-color-basin-22: #D23E28;--primitive-color-basin-23: #2BB665;--primitive-color-basin-24: #A128D2;--primitive-color-basin-3: #7C2BB6;--primitive-color-basin-4: #D2BD28;--primitive-color-basin-5: #2B9FB6;--primitive-color-basin-6: #D22884;--primitive-color-basin-7: #4DB62B;--primitive-color-basin-8: #2F28D2;--primitive-color-basin-9: #B6592B;--primitive-color-blue-100: #EAF1FF;--primitive-color-blue-200: #C9DEFB;--primitive-color-blue-600: #2563EB;--primitive-color-gray-100: #F4F5F7;--primitive-color-gray-150: #EEF0F4;--primitive-color-gray-200: #E5E8ED;--primitive-color-gray-300: #D5DAE2;--primitive-color-gray-50: #F8F9FB;--primitive-color-gray-500: #8A93A3;--primitive-color-gray-600: #5B6472;--primitive-color-gray-700: #444C5A;--primitive-color-green-100: #EAF7EE;--primitive-color-green-200: #BFE6CB;--primitive-color-green-600: #16A34A;--primitive-color-green-700: #15803D;--primitive-color-ink-800: #1F2937;--primitive-color-ink-900: #111827;--primitive-color-ink-950: #0B1220;--primitive-color-red-100: #FCEEEE;--primitive-color-red-200: #F3C9C9;--primitive-color-red-600: #DC2626;--primitive-color-red-700: #B91C1C;--primitive-color-white: #FFFFFF;--primitive-duration-fast: .15s;--primitive-duration-normal: .2s;--primitive-duration-slow: .3s;--primitive-fontFamily-sans: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;--primitive-fontSize-2xl: 1.875rem;--primitive-fontSize-base: .9375rem;--primitive-fontSize-lg: 1.1875rem;--primitive-fontSize-md: .875rem;--primitive-fontSize-sm: .8125rem;--primitive-fontSize-xl: 1.5rem;--primitive-fontSize-xs: .6875rem;--primitive-layout-breakpoint-md: 900px;--primitive-layout-breakpoint-sm: 640px;--primitive-layout-content-max: 1200px;--primitive-layout-form-max: 400px;--primitive-layout-map-min-height: 420px;--primitive-layout-overlay-inset: 1.25rem;--primitive-layout-panel-width: 364px;--primitive-layout-sheet-height: 60%;--primitive-layout-toolbar-band: 84px;--primitive-letterSpacing-label: .12em;--primitive-letterSpacing-normal: 0;--primitive-letterSpacing-tight: -.02em;--primitive-lineHeight-normal: 1.55;--primitive-lineHeight-relaxed: 1.65;--primitive-lineHeight-tight: 1.15;--primitive-radius-2xl: 1.5rem;--primitive-radius-full: 9999px;--primitive-radius-lg: .875rem;--primitive-radius-md: .625rem;--primitive-radius-none: 0;--primitive-radius-sm: .5rem;--primitive-radius-xl: 1.125rem;--primitive-shadow-default: 0 2px 6px -2px rgba(16, 24, 40, .1), 0 1px 2px rgba(16, 24, 40, .05);--primitive-shadow-md: 0 14px 34px -16px rgba(16, 24, 40, .22), 0 3px 8px -3px rgba(16, 24, 40, .08);--primitive-shadow-none: none;--primitive-shadow-sm: 0 1px 2px rgba(16, 24, 40, .05);--primitive-size-border-hairline: 1px;--primitive-size-control-min: 44px;--primitive-size-focus-ring: 2px;--primitive-size-icon-lg: 22px;--primitive-size-icon-md: 18px;--primitive-size-icon-sm: 14px;--primitive-size-swatch: 10px;--primitive-spacing-0: 0;--primitive-spacing-1: .25rem;--primitive-spacing-10: 2.5rem;--primitive-spacing-12: 3rem;--primitive-spacing-16: 4rem;--primitive-spacing-2: .5rem;--primitive-spacing-3: .75rem;--primitive-spacing-4: 1rem;--primitive-spacing-5: 1.25rem;--primitive-spacing-6: 1.5rem;--primitive-spacing-8: 2rem}:root{--color-accent: #16A34A;--color-accent-subtle: #EAF7EE;--color-accent-text: #15803D;--color-background: #F4F5F7;--color-border: #E5E8ED;--color-border-strong: #D5DAE2;--color-destructive: #DC2626;--color-destructive-border: #F3C9C9;--color-destructive-foreground: #FFFFFF;--color-destructive-strong: #B91C1C;--color-destructive-subtle: #FCEEEE;--color-foreground: #0B1220;--color-muted-foreground: #5B6472;--color-primary: #111827;--color-primary-active: #0B1220;--color-primary-foreground: #FFFFFF;--color-primary-hover: #1F2937;--color-primary-subtle: #F4F5F7;--color-ring: #2563EB;--color-secondary: #2563EB;--color-secondary-subtle: #EAF1FF;--color-subtle-foreground: #8A93A3;--color-surface: #FFFFFF;--color-surface-container: #EEF0F4;--color-surface-container-high: #E5E8ED;--color-surface-container-highest: #D5DAE2;--color-surface-container-low: #F8F9FB;--color-surface-container-lowest: #FFFFFF;--color-surface-muted: #F8F9FB;--color-surface-tint: #16A34A;--color-warning: #D97706;--color-warning-border: #F0D8AD;--color-warning-subtle: #FDF3E3;--color-warning-text: #B45309;--spacing-component: 1rem;--spacing-section: 2rem;--typography-body-font: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;--typography-heading-font: Inter, system-ui, -apple-system, "Segoe UI", sans-serif}:root{--button-active-bg: #0B1220;--button-bg: #111827;--button-fg: #FFFFFF;--button-font-size: .875rem;--button-hover-bg: #1F2937;--button-icon-gap: .5rem;--button-min-height: 44px;--button-padding-x: 1.25rem;--button-padding-y: .75rem;--button-radius: 9999px;--card-bg: #FFFFFF;--card-border: #E5E8ED;--card-padding: 1.5rem;--card-radius: 1.125rem;--card-shadow: 0 1px 2px rgba(16, 24, 40, .05);--header-bg: #FFFFFF;--header-border: #E5E8ED;--header-height: 64px;--hydrography-basin-fallback: #8A93A3;--hydrography-basin-fill-opacity: .26;--hydrography-basin-outline-color: #5B6472;--hydrography-basin-outline-width: .9px;--hydrography-palette-1: #B62B2B;--hydrography-palette-10: #28D292;--hydrography-palette-11: #AA2BB6;--hydrography-palette-12: #AED228;--hydrography-palette-13: #2B70B6;--hydrography-palette-14: #D2284B;--hydrography-palette-15: #2BB636;--hydrography-palette-16: #6828D2;--hydrography-palette-17: #B6882B;--hydrography-palette-18: #28D2CB;--hydrography-palette-19: #B62B93;--hydrography-palette-2: #28D25A;--hydrography-palette-20: #75D228;--hydrography-palette-21: #2B41B6;--hydrography-palette-22: #D23E28;--hydrography-palette-23: #2BB665;--hydrography-palette-24: #A128D2;--hydrography-palette-3: #7C2BB6;--hydrography-palette-4: #D2BD28;--hydrography-palette-5: #2B9FB6;--hydrography-palette-6: #D22884;--hydrography-palette-7: #4DB62B;--hydrography-palette-8: #2F28D2;--hydrography-palette-9: #B6592B;--hydrography-river-opacity: .9;--hydrography-river-width-far: .6px;--hydrography-river-width-near: 5.2px;--hydrography-river-zoom-far: 3;--hydrography-river-zoom-near: 9;--input-bg: #FFFFFF;--input-border: #D5DAE2;--input-fg: #0B1220;--input-focus-border: #2563EB;--input-min-height: 46px;--input-padding-x: .75rem;--input-padding-y: .75rem;--input-placeholder: #8A93A3;--input-radius: .625rem;--location-accuracy-fill-opacity: .12;--location-accuracy-line-width: 1.5px;--location-cone-angle: 55;--location-cone-length: 22px;--location-dot: 16px;--location-fill: #111827;--location-gap: 2px;--location-ring: 3px;--marker-bg: #16A34A;--marker-bg-draft: #111827;--marker-bg-foreign: #2563EB;--marker-bg-hidden: #8A93A3;--marker-border: #FFFFFF;--marker-dot: 5px;--marker-gap: 2px;--marker-ring: 2px;--marker-ring-foreign-rounded: #DC2626;--marker-size: 18px;--nav-icon-gap: .5rem;--offline-region-color: #5B6472;--offline-region-dash: 4 3;--offline-region-fill-opacity: .12;--offline-region-line-width: 1.5px;--reticle-dot: 6px;--reticle-gap: 8px;--reticle-pulse: 30px;--reticle-span: 30px;--reticle-stroke: 2px;--ruler-casing-color: #FFFFFF;--ruler-casing-extra: 2px;--ruler-label-bg: #111827;--ruler-label-fg: #FFFFFF;--ruler-label-padding-x: .5rem;--ruler-label-padding-y: .25rem;--ruler-label-radius: 9999px;--ruler-line-color: #111827;--ruler-line-dash: 6 3;--ruler-line-width: 3px;--ruler-vertex-border: #FFFFFF;--ruler-vertex-fill: #111827;--ruler-vertex-gap: 2px;--ruler-vertex-ring: 2px;--ruler-vertex-selected-fill: #16A34A;--ruler-vertex-selected-ring: 3px;--ruler-vertex-selected-size: 20px;--ruler-vertex-size: 16px;--table-bg: #FFFFFF;--table-border: #E5E8ED;--table-cell-padding-x: 1rem;--table-cell-padding-y: .75rem;--table-header-bg: #EEF0F4;--table-header-fg: #5B6472;--table-radius: .875rem;--table-row-hover-bg: #F8F9FB;--track-card-elevation-fill-opacity: .12;--track-card-elevation-height: 72px;--track-card-elevation-stroke-width: 2px;--track-card-metric-divider: #E5E8ED;--track-card-metric-label-fg: #5B6472;--track-card-metric-value-fg: #0B1220;--track-casing-color: #111827;--track-casing-extra: 2.5px;--track-color-foreign: #2563EB;--track-color-live: #16A34A;--track-color-own: #16A34A;--track-live-extra: 1.5px;--track-width-far: 7px;--track-width-near: 2px;--track-zoom-far: 6;--track-zoom-near: 15;--uncertainty-dash: 3 2;--uncertainty-fill: #D97706;--uncertainty-fill-opacity: .1;--uncertainty-line-width: 1.5px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--color-background);color:var(--color-foreground);font-family:var(--typography-body-font);font-size:var(--primitive-fontSize-base);line-height:var(--primitive-lineHeight-normal);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--typography-heading-font);line-height:var(--primitive-lineHeight-tight);letter-spacing:var(--primitive-letterSpacing-tight);margin:0 0 var(--primitive-spacing-4);color:var(--color-foreground)}h1{font-size:var(--primitive-fontSize-xl);font-weight:600}h2,h3{font-size:var(--primitive-fontSize-lg);font-weight:600}h4{font-size:var(--primitive-fontSize-sm);font-weight:600}p{margin:0 0 var(--primitive-spacing-4)}a{color:var(--color-secondary);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:var(--primitive-size-focus-ring) solid var(--color-ring);outline-offset:2px;border-radius:var(--primitive-radius-sm)}.fp-icon{display:block;flex:none}.app-header{display:flex;align-items:center;gap:var(--primitive-spacing-5);height:calc(var(--header-height) + env(safe-area-inset-top));padding:env(safe-area-inset-top) var(--primitive-spacing-5) 0;background:var(--header-bg);border-bottom:var(--primitive-size-border-hairline) solid var(--header-border)}.brand{display:flex;align-items:center;gap:var(--primitive-spacing-2);font-family:var(--typography-heading-font);font-weight:700;font-size:var(--primitive-fontSize-base);letter-spacing:var(--primitive-letterSpacing-tight);color:var(--color-foreground);text-decoration:none}.brand:hover{text-decoration:none}.brand .pin{display:grid;place-items:center;width:28px;height:28px;border-radius:var(--primitive-radius-sm);background:var(--color-primary);color:var(--color-primary-foreground)}.app-header nav{display:flex;align-items:center;gap:var(--primitive-spacing-1);margin-left:auto;font-size:var(--primitive-fontSize-md)}.app-header nav a{display:inline-flex;align-items:center;gap:var(--nav-icon-gap);min-height:36px;padding:0 var(--primitive-spacing-4);border-radius:var(--primitive-radius-full);color:var(--color-muted-foreground);font-weight:500}.app-header nav a:hover{background:var(--color-surface-muted);color:var(--color-foreground);text-decoration:none}.app-header nav a.active{background:var(--color-primary);color:var(--color-primary-foreground)}@media(max-width:640px){.app-header nav .nav-label{display:none}.app-header nav a,.app-header nav button{gap:0;padding:0 var(--primitive-spacing-2)}}.user-label{color:var(--color-muted-foreground);font-size:var(--primitive-fontSize-md)}.avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:var(--primitive-radius-full);background:var(--color-surface-container);border:var(--primitive-size-border-hairline) solid var(--color-border);color:var(--color-muted-foreground);font-size:var(--primitive-fontSize-xs);font-weight:600;text-transform:uppercase}.app-header nav a.avatar{display:grid;place-items:center;flex:none;width:36px;height:36px;padding:0;gap:0}.app-header nav a.avatar:hover{background:var(--color-surface-muted);color:var(--color-foreground);text-decoration:none}.avatar-stack{display:flex}.avatar-stack .avatar{margin-left:-8px;border:2px solid var(--color-surface)}.avatar-stack .avatar:first-child{margin-left:0}main{padding:var(--primitive-spacing-6) var(--primitive-spacing-5);max-width:var(--primitive-layout-content-max);margin:0 auto}main.map-fullbleed{padding:0;max-width:none;margin:0}.card{background:var(--card-bg);border:var(--primitive-size-border-hairline) solid var(--card-border);border-radius:var(--card-radius);padding:var(--card-padding);box-shadow:var(--card-shadow)}label,.group-label{display:block;font-size:var(--primitive-fontSize-sm);font-weight:600;color:var(--color-muted-foreground);margin-bottom:var(--primitive-spacing-1)}.field-hint{font-size:var(--primitive-fontSize-sm);color:var(--color-muted-foreground);margin-bottom:var(--primitive-spacing-4)}input,textarea,select{width:100%;min-height:var(--input-min-height);padding:var(--input-padding-y) var(--input-padding-x);border:var(--primitive-size-border-hairline) solid var(--input-border);border-radius:var(--input-radius);background:var(--input-bg);color:var(--input-fg);font-family:inherit;font-size:var(--primitive-fontSize-md);margin-bottom:var(--primitive-spacing-4);transition:border-color var(--primitive-duration-fast) ease,box-shadow var(--primitive-duration-fast) ease}input::placeholder,textarea::placeholder{color:var(--input-placeholder)}input:hover,textarea:hover,select:hover{border-color:var(--color-muted-foreground)}input:focus,textarea:focus,select:focus{border-color:var(--input-focus-border);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-ring) 16%,transparent);outline:none}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--color-destructive)}.field-error{color:var(--color-destructive-strong);font-size:var(--primitive-fontSize-sm);margin:calc(-1 * var(--primitive-spacing-3)) 0 var(--primitive-spacing-4)}button{min-height:var(--button-min-height);padding:var(--button-padding-y) var(--button-padding-x);border:var(--primitive-size-border-hairline) solid transparent;border-radius:var(--button-radius);background:var(--button-bg);color:var(--button-fg);font-family:inherit;font-size:var(--button-font-size);font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--button-icon-gap);transition:background-color var(--primitive-duration-fast) ease,border-color var(--primitive-duration-fast) ease,transform var(--primitive-duration-fast) ease}button:hover:not(:disabled){background:var(--button-hover-bg)}button:active:not(:disabled){background:var(--button-active-bg);transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}button.ghost{background:transparent;color:var(--color-foreground);border-color:var(--color-border-strong)}button.ghost:hover:not(:disabled){background:var(--color-surface-muted)}button.icon{min-width:var(--button-min-height);padding:0}button.ghost.icon{min-width:34px;min-height:34px;padding:0;border-radius:var(--primitive-radius-sm);font-size:var(--primitive-fontSize-lg);line-height:1}.icon-btn{display:grid;place-items:center;width:38px;height:38px;min-height:38px;padding:0;border-radius:var(--primitive-radius-sm);border:var(--primitive-size-border-hairline) solid var(--color-border-strong);background:var(--color-surface);color:var(--color-muted-foreground)}.icon-btn:hover:not(:disabled){background:var(--color-surface-muted);color:var(--color-foreground)}.icon-btn.danger:hover:not(:disabled){background:var(--color-destructive-subtle);border-color:var(--color-destructive-border);color:var(--color-destructive)}.select{position:relative}button.select-trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--primitive-spacing-2);width:100%;min-height:var(--input-min-height);padding:var(--input-padding-y) var(--input-padding-x);border:var(--primitive-size-border-hairline) solid var(--input-border);border-radius:var(--input-radius);background:var(--input-bg);color:var(--input-fg);font-family:inherit;font-size:var(--primitive-fontSize-md);font-weight:400;text-align:left;cursor:pointer}button.select-trigger:hover:not(:disabled){background:var(--input-bg);border-color:var(--color-muted-foreground)}button.select-trigger[aria-expanded=true]{border-color:var(--input-focus-border);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-ring) 16%,transparent)}.select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-caret{display:inline-flex;flex:none;color:var(--color-muted-foreground);transition:transform var(--primitive-duration-fast) ease}button.select-trigger[aria-expanded=true] .select-caret{transform:rotate(180deg)}.select-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:6;margin:0;padding:var(--primitive-spacing-1);list-style:none;min-width:100%;max-height:260px;overflow:auto;background:var(--card-bg);border:var(--primitive-size-border-hairline) solid var(--card-border);border-radius:var(--input-radius);box-shadow:var(--primitive-shadow-md)}.select-option{display:flex;align-items:center;gap:var(--primitive-spacing-2);padding:var(--primitive-spacing-2) var(--primitive-spacing-3);border-radius:var(--primitive-radius-sm);color:var(--color-foreground);font-size:var(--primitive-fontSize-md);cursor:pointer}.select-option.active{background:var(--color-surface-muted)}.select-option[aria-selected=true]{font-weight:600}.select-check{width:1em;flex:none;color:var(--color-primary)}.row-panel .select,.row-fields .select{margin-bottom:0}.notice{padding:var(--primitive-spacing-3) var(--primitive-spacing-4);border-radius:var(--primitive-radius-md);margin-bottom:var(--primitive-spacing-4);font-size:var(--primitive-fontSize-sm);line-height:1.45}.notice.error{background:var(--color-destructive-subtle);color:var(--color-destructive-strong);border:var(--primitive-size-border-hairline) solid var(--color-destructive-border)}.notice.ok{background:var(--color-accent-subtle);color:var(--color-accent-text);border:var(--primitive-size-border-hairline) solid var(--color-border)}.notice.hint{background:var(--color-secondary-subtle);color:var(--color-secondary);border:var(--primitive-size-border-hairline) solid color-mix(in srgb,var(--color-secondary) 25%,transparent)}.notice.warn{background:var(--color-warning-subtle);color:var(--color-warning-text);border:var(--primitive-size-border-hairline) solid var(--color-warning-border)}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--primitive-radius-full);background:var(--color-surface-muted);border:var(--primitive-size-border-hairline) solid var(--color-border);font-size:var(--primitive-fontSize-sm);color:var(--color-muted-foreground);font-weight:500;white-space:nowrap}.chip.green{background:var(--color-accent-subtle);border-color:var(--color-accent);color:var(--color-accent-text)}.chip.blue{background:var(--color-secondary-subtle);border-color:var(--color-secondary);color:var(--color-secondary)}.chip.amber{background:var(--color-warning-subtle);border-color:var(--color-warning);color:var(--color-warning-text)}.chips{display:flex;flex-wrap:wrap;gap:var(--primitive-spacing-2);margin-bottom:var(--primitive-spacing-3)}.seg{display:flex;gap:2px;padding:3px;border-radius:var(--primitive-radius-full);background:var(--color-surface-container);border:var(--primitive-size-border-hairline) solid var(--color-border)}.seg button{flex:1;min-height:32px;padding:0 var(--primitive-spacing-3);border:0;border-radius:var(--primitive-radius-full);background:transparent;color:var(--color-muted-foreground);font-size:var(--primitive-fontSize-sm);font-weight:600}.seg button:hover:not(:disabled){background:transparent;color:var(--color-foreground)}.seg button[aria-pressed=true]{background:var(--color-surface);color:var(--color-foreground);box-shadow:var(--primitive-shadow-sm)}.seg .count{margin-left:6px;color:var(--color-subtle-foreground);font-variant-numeric:tabular-nums}.auth-shell{max-width:var(--primitive-layout-form-max);margin:var(--primitive-spacing-16) auto}.form-footer{font-size:var(--primitive-fontSize-sm);color:var(--color-muted-foreground);margin:var(--primitive-spacing-4) 0 0}.map-shell{position:relative;height:calc(100dvh - var(--header-height) - env(safe-area-inset-top));width:100%;overflow:hidden;background:var(--color-surface-container)}.map-shell .map-canvas{width:100%;height:100%}.map-shell .maplibregl-ctrl-bottom-left{left:env(safe-area-inset-left);bottom:env(safe-area-inset-bottom)}@media(max-width:640px){.map-shell .maplibregl-ctrl-bottom-left{bottom:calc(var(--primitive-layout-sheet-height) + var(--primitive-layout-overlay-inset) + env(safe-area-inset-bottom))}}.map-menu{position:absolute;top:var(--primitive-layout-overlay-inset);right:calc(var(--primitive-layout-overlay-inset) + env(safe-area-inset-right));display:flex;flex-direction:column;align-items:flex-end;gap:var(--primitive-spacing-2);z-index:3}.menu-trigger{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:0;border:var(--primitive-size-border-hairline) solid var(--color-border);border-radius:var(--primitive-radius-full);background:color-mix(in srgb,var(--color-surface) 94%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--primitive-shadow-md);color:var(--color-foreground)}.menu-trigger:hover:not(:disabled),.menu-trigger:active:not(:disabled){background:var(--color-surface);color:var(--color-foreground)}.menu-groups{display:none;flex-direction:column;gap:var(--primitive-spacing-1);width:244px;max-width:calc(100vw - 2 * var(--primitive-layout-overlay-inset));max-height:calc(100dvh - var(--header-height) - env(safe-area-inset-top) - 320px);overflow:auto;padding:var(--primitive-spacing-2);border-radius:var(--card-radius);background:var(--card-bg);border:var(--primitive-size-border-hairline) solid var(--card-border);box-shadow:var(--primitive-shadow-md)}.map-menu.open .menu-groups{display:flex}.menu-group{display:flex;flex-direction:column;gap:2px}.menu-title{font-size:var(--primitive-fontSize-xs);font-weight:700;letter-spacing:var(--primitive-letterSpacing-label);text-transform:uppercase;color:var(--color-subtle-foreground);margin:var(--primitive-spacing-2) var(--primitive-spacing-3) var(--primitive-spacing-1)}.menu-btn{display:flex;align-items:center;gap:var(--primitive-spacing-3);width:100%;min-height:40px;padding:0 var(--primitive-spacing-3);border:0;border-radius:var(--primitive-radius-md);background:transparent;color:var(--color-foreground);font-size:var(--primitive-fontSize-sm);font-weight:500;text-align:left}.menu-btn:not([aria-pressed=true]):hover:not(:disabled),.menu-btn:not([aria-pressed=true]):active:not(:disabled){background:var(--color-surface-muted)}.menu-btn[aria-pressed=true]{background:var(--color-primary);color:var(--color-primary-foreground)}.menu-btn.green[aria-pressed=true]{background:var(--color-accent)}.menu-btn.amber[aria-pressed=true]{background:var(--color-warning)}.menu-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-count{font-variant-numeric:tabular-nums;font-weight:600;color:var(--color-subtle-foreground)}.menu-btn[aria-pressed=true] .menu-count{color:color-mix(in srgb,var(--color-primary-foreground) 82%,transparent)}.menu-end{display:inline-flex;color:transparent}.menu-btn[aria-pressed=true] .menu-end{color:currentColor}@media(max-width:640px){.menu-groups{margin-right:calc(var(--primitive-size-control-min) + var(--primitive-spacing-2));max-height:calc((100dvh - var(--header-height) - env(safe-area-inset-top)) * .4 - 160px)}}.map-panel{position:absolute;top:var(--primitive-layout-toolbar-band);left:calc(var(--primitive-layout-overlay-inset) + env(safe-area-inset-left));width:var(--primitive-layout-panel-width);max-height:calc(100% - var(--primitive-layout-toolbar-band) - var(--primitive-spacing-12));display:flex;flex-direction:column;border-radius:var(--card-radius);background:var(--card-bg);border:var(--primitive-size-border-hairline) solid var(--card-border);box-shadow:var(--primitive-shadow-md);overflow:hidden;z-index:2}.panel-head{padding:var(--primitive-spacing-4) var(--primitive-spacing-5);border-bottom:var(--primitive-size-border-hairline) solid var(--color-border)}.panel-body{padding:var(--primitive-spacing-4) var(--primitive-spacing-5);overflow:auto;flex:1}.panel-foot{padding:var(--primitive-spacing-3) var(--primitive-spacing-5) var(--primitive-spacing-4);border-top:var(--primitive-size-border-hairline) solid var(--color-border);background:var(--card-bg)}.panel-title-row{display:flex;align-items:flex-start;gap:var(--primitive-spacing-3)}.panel-title-row h3{flex:1;margin-bottom:0}.eyebrow{font-size:var(--primitive-fontSize-xs);font-weight:600;letter-spacing:var(--primitive-letterSpacing-label);text-transform:uppercase;color:var(--color-subtle-foreground);margin:0 0 6px}.coords{font-family:var(--typography-body-font);font-size:var(--primitive-fontSize-sm);color:var(--color-muted-foreground);font-variant-numeric:tabular-nums;margin-bottom:var(--primitive-spacing-3)}.map-actions{display:flex;gap:var(--primitive-spacing-2)}.map-actions button{flex:1}.fabcluster{position:absolute;right:calc(var(--primitive-layout-overlay-inset) + env(safe-area-inset-right));bottom:calc(var(--primitive-layout-overlay-inset) + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:flex-end;gap:var(--primitive-spacing-2);z-index:3}.fab{width:44px;height:44px;min-height:44px;padding:0;border-radius:var(--primitive-radius-lg);border:var(--primitive-size-border-hairline) solid var(--color-border);background:color-mix(in srgb,var(--color-surface) 95%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--color-foreground);font-size:var(--primitive-fontSize-lg)}.fab:hover:not(:disabled){background:var(--color-surface)}.map-legend{position:absolute;left:50%;bottom:calc(var(--primitive-layout-overlay-inset) + env(safe-area-inset-bottom));transform:translate(-50%);display:flex;gap:var(--primitive-spacing-4);padding:var(--primitive-spacing-2) var(--primitive-spacing-4);border-radius:var(--primitive-radius-full);background:color-mix(in srgb,var(--color-surface) 95%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:var(--primitive-size-border-hairline) solid var(--color-border);box-shadow:var(--primitive-shadow-sm);font-size:var(--primitive-fontSize-sm);color:var(--color-muted-foreground);margin:0;z-index:2}.map-legend .it{display:inline-flex;align-items:center;gap:7px}.fp-track{display:inline-block;width:20px;height:var(--track-width-near, 2px);border-radius:var(--primitive-radius-full);background:var(--track-color-own);box-shadow:0 0 0 var(--track-casing-extra, 2.5px) var(--track-casing-color, #111827)}.fp-track-foreign{background:var(--track-color-foreign)}.fp-hydro-river{display:inline-block;width:20px;height:var(--hydrography-river-width-near, 3px);border-radius:var(--primitive-radius-full);background:var(--hydrography-palette-1, #4c7c8f)}.fp-hydro-basin{display:inline-block;width:14px;height:14px;border-radius:var(--primitive-radius-sm);border:var(--primitive-size-border-hairline) solid var(--hydrography-basin-outline-color, #d5dae2);background:linear-gradient(135deg,var(--hydrography-palette-1, #4c7c8f) 0 33%,var(--hydrography-palette-2, #6b8e5a) 33% 66%,var(--hydrography-palette-3, #8c7a5b) 66% 100%)}.fp-marker{box-sizing:border-box;--marker-fill: var(--marker-bg);--marker-ring-color: var(--marker-fill);width:calc(var(--marker-size) - 2 * var(--marker-ring));height:calc(var(--marker-size) - 2 * var(--marker-ring));border-radius:var(--primitive-radius-full);background:var(--marker-fill);border:var(--marker-gap) solid var(--marker-border);box-shadow:0 0 0 var(--marker-ring) var(--marker-ring-color),var(--primitive-shadow-sm)}.fp-marker-foreign{--marker-fill: var(--marker-bg-foreign)}.fp-marker-rounded{--marker-fill: var(--marker-bg-foreign);--marker-ring-color: var(--marker-ring-foreign-rounded)}.fp-marker-hidden{--marker-fill: var(--marker-bg-hidden)}.fp-marker-dot{position:absolute;top:50%;left:50%;width:var(--marker-dot);height:var(--marker-dot);margin:calc(var(--marker-dot) / -2) 0 0 calc(var(--marker-dot) / -2);border-radius:var(--primitive-radius-full);background:var(--marker-border)}.fp-marker-pill{position:absolute;top:calc(100% + 3px);left:50%;transform:translate(-50%);white-space:nowrap;font-size:var(--primitive-fontSize-xs);font-weight:600;line-height:1.4;color:var(--color-warning-text);background:var(--color-surface);border:var(--primitive-size-border-hairline) solid var(--color-warning);border-radius:var(--primitive-radius-full);padding:0 var(--primitive-spacing-2);box-shadow:var(--primitive-shadow-sm)}.map-legend .fp-marker{position:relative;box-shadow:0 0 0 var(--marker-ring) var(--marker-ring-color)}.fp-reticle{width:var(--reticle-span);height:var(--reticle-span);color:var(--color-primary);filter:drop-shadow(0 0 1px var(--marker-border))}.fp-reticle-left,.fp-reticle-right,.fp-reticle-top,.fp-reticle-bottom{position:absolute;background:currentColor}.fp-reticle-left,.fp-reticle-right{top:50%;height:var(--reticle-stroke);width:calc(50% - var(--reticle-gap) / 2);margin-top:calc(var(--reticle-stroke) / -2)}.fp-reticle-left{left:0}.fp-reticle-right{right:0}.fp-reticle-top,.fp-reticle-bottom{left:50%;width:var(--reticle-stroke);height:calc(50% - var(--reticle-gap) / 2);margin-left:calc(var(--reticle-stroke) / -2)}.fp-reticle-top{top:0}.fp-reticle-bottom{bottom:0}.fp-reticle-dot{position:absolute;top:50%;left:50%;width:var(--reticle-dot);height:var(--reticle-dot);margin:calc(var(--reticle-dot) / -2) 0 0 calc(var(--reticle-dot) / -2);border-radius:var(--primitive-radius-full);background:currentColor;box-shadow:0 0 0 2px var(--marker-border)}.fp-reticle-pulse{position:absolute;top:50%;left:50%;width:var(--reticle-pulse);height:var(--reticle-pulse);margin:calc(var(--reticle-pulse) / -2) 0 0 calc(var(--reticle-pulse) / -2);border:var(--reticle-stroke) solid currentColor;border-radius:var(--primitive-radius-full);animation:fp-reticle-pulse 1.8s ease-out infinite}@keyframes fp-reticle-pulse{0%{transform:scale(.4);opacity:.55}to{transform:scale(1.25);opacity:0}}@media(prefers-reduced-motion:reduce){.fp-reticle-pulse{animation:none;opacity:.35}}.fp-ruler-vertex{box-sizing:border-box;width:var(--ruler-vertex-size);height:var(--ruler-vertex-size);border-radius:var(--primitive-radius-full);background:var(--ruler-vertex-fill);border:var(--ruler-vertex-gap) solid var(--ruler-vertex-border);box-shadow:0 0 0 var(--ruler-vertex-ring) var(--ruler-vertex-fill),var(--primitive-shadow-sm);cursor:grab}.fp-ruler-vertex-selected{width:var(--ruler-vertex-selected-size);height:var(--ruler-vertex-selected-size);background:var(--ruler-vertex-selected-fill);box-shadow:0 0 0 var(--ruler-vertex-selected-ring) var(--ruler-vertex-selected-fill),var(--primitive-shadow-md);cursor:grabbing}.fp-ruler-label{padding:var(--ruler-label-padding-y) var(--ruler-label-padding-x);border-radius:var(--ruler-label-radius);background:var(--ruler-label-bg);color:var(--ruler-label-fg);font-size:var(--primitive-fontSize-xs);font-weight:600;line-height:1.2;white-space:nowrap;font-variant-numeric:tabular-nums;pointer-events:none;box-shadow:var(--primitive-shadow-sm)}.ruler-card{display:flex;align-items:center;gap:var(--primitive-spacing-2);padding:var(--primitive-spacing-1) var(--primitive-spacing-2) var(--primitive-spacing-1) var(--primitive-spacing-3);border-radius:var(--primitive-radius-full);background:color-mix(in srgb,var(--card-bg) 95%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:var(--primitive-size-border-hairline) solid var(--card-border);box-shadow:var(--primitive-shadow-md)}.ruler-label{font-size:var(--primitive-fontSize-xs);font-weight:600;letter-spacing:var(--primitive-letterSpacing-label);text-transform:uppercase;color:var(--color-subtle-foreground)}.ruler-total{font-size:var(--primitive-fontSize-md);font-variant-numeric:tabular-nums;color:var(--color-foreground);margin-right:var(--primitive-spacing-1)}.ruler-action{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:var(--primitive-radius-full);background:transparent;color:var(--color-foreground)}.ruler-action:hover:not(:disabled){background:var(--color-surface-muted)}.ruler-action:disabled{color:var(--color-subtle-foreground);opacity:.5}.fp-location{position:relative;width:var(--location-dot);height:var(--location-dot);border-radius:var(--primitive-radius-full);background:var(--location-fill);box-shadow:0 0 0 var(--location-gap) var(--marker-border),0 0 0 calc(var(--location-gap) + var(--location-ring)) var(--location-fill),var(--primitive-shadow-sm);pointer-events:none}.fp-location-cone{position:absolute;left:50%;bottom:50%;width:var(--location-cone-length);height:var(--location-cone-length);transform-origin:50% 100%;transform:translate(-50%) rotate(var(--location-heading, 0deg));background:var(--location-fill);clip-path:polygon(50% 0%,100% 100%,0% 100%);opacity:.6;display:none}.fp-location-moving .fp-location-cone{display:block}.skeleton{height:12px;border-radius:6px;background:linear-gradient(90deg,var(--color-surface-container) 25%,var(--color-surface-container-high) 37%,var(--color-surface-container) 63%);background-size:400% 100%;animation:fp-shimmer 1.4s ease infinite;margin-bottom:var(--primitive-spacing-3)}@keyframes fp-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.empty-state{padding:var(--primitive-spacing-6) var(--primitive-spacing-5)}.empty-state .empty-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:var(--primitive-radius-lg);background:var(--color-accent-subtle);color:var(--color-accent-text);margin-bottom:var(--primitive-spacing-4)}.empty-state h3{margin-bottom:var(--primitive-spacing-1)}.empty-state p{font-size:var(--primitive-fontSize-sm);color:var(--color-muted-foreground);margin-bottom:var(--primitive-spacing-4)}.empty-state button{width:100%}.toast{position:absolute;left:50%;bottom:var(--primitive-spacing-5);transform:translate(-50%);display:flex;align-items:center;gap:var(--primitive-spacing-2);padding:var(--primitive-spacing-3) var(--primitive-spacing-4);border-radius:var(--primitive-radius-full);background:var(--color-foreground);color:var(--color-surface);font-size:var(--primitive-fontSize-sm);box-shadow:var(--primitive-shadow-md);z-index:4;margin:0}.access-list{list-style:none;margin:0 0 var(--primitive-spacing-4);padding:0;font-size:var(--primitive-fontSize-sm)}.access-list li{display:flex;align-items:center;gap:var(--primitive-spacing-3);padding:var(--primitive-spacing-3) 0;border-bottom:var(--primitive-size-border-hairline) solid var(--color-border)}.access-list li:last-child{border-bottom:0}.access-list .who{flex:1;min-width:0}.access-list .who .name{font-size:var(--primitive-fontSize-md);font-weight:600}.access-list .who .sub{font-size:var(--primitive-fontSize-sm);color:var(--color-muted-foreground)}.inline-form{display:flex;gap:var(--primitive-spacing-2);align-items:flex-start}.inline-form input,.inline-form select{flex:1;margin-bottom:var(--primitive-spacing-4)}.inline-form button{flex:0 0 auto}.list-items{list-style:none;margin:var(--primitive-spacing-4) 0 0;padding:0}.list-items>li{padding:var(--primitive-spacing-4) 0;border-top:var(--primitive-size-border-hairline) solid var(--color-border)}.list-row{display:flex;align-items:center;gap:var(--primitive-spacing-3)}.list-row .name{flex:1;font-size:var(--primitive-fontSize-base);font-weight:600}.members{padding:var(--primitive-spacing-2) 0 var(--primitive-spacing-2) var(--primitive-spacing-4);border-left:2px solid var(--color-surface-container);margin:var(--primitive-spacing-2) 0 0 var(--primitive-spacing-1)}.admin-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--primitive-spacing-4);margin-bottom:var(--primitive-spacing-5)}.admin-head h1{margin:0}.admin-nav{display:flex;gap:2px;padding:3px;border-radius:var(--primitive-radius-full);background:var(--color-surface-container);border:var(--primitive-size-border-hairline) solid var(--color-border)}.admin-nav a{display:inline-flex;align-items:center;gap:var(--nav-icon-gap);min-height:32px;padding:0 var(--primitive-spacing-4);border-radius:var(--primitive-radius-full);color:var(--color-muted-foreground);font-size:var(--primitive-fontSize-sm);font-weight:600}.admin-nav a:hover{color:var(--color-foreground);text-decoration:none}.admin-nav a.active{background:var(--color-surface);color:var(--color-foreground);box-shadow:var(--primitive-shadow-sm)}.admin-status{display:flex;align-items:center;gap:var(--primitive-spacing-2);color:var(--color-muted-foreground);font-size:var(--primitive-fontSize-sm)}.admin-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--primitive-spacing-3);margin-bottom:var(--primitive-spacing-4)}.admin-search{flex:1;min-width:220px;margin:0}.admin-search input{margin-bottom:0}.table-wrap{background:var(--table-bg);border:var(--primitive-size-border-hairline) solid var(--table-border);border-radius:var(--table-radius);overflow:hidden}.fp-table{width:100%;border-collapse:collapse;font-size:var(--primitive-fontSize-md)}.fp-table th{text-align:left;background:var(--table-header-bg);color:var(--table-header-fg);font-size:var(--primitive-fontSize-xs);font-weight:600;letter-spacing:var(--primitive-letterSpacing-label);text-transform:uppercase;padding:var(--table-cell-padding-y) var(--table-cell-padding-x)}.fp-table td{padding:var(--table-cell-padding-y) var(--table-cell-padding-x);border-top:var(--primitive-size-border-hairline) solid var(--table-border);color:var(--color-foreground)}.fp-table tbody tr:hover{background:var(--table-row-hover-bg)}.fp-table .email{color:var(--color-muted-foreground)}.fp-table .date{font-variant-numeric:tabular-nums;white-space:nowrap}.fp-table td.actions{text-align:right}.fp-table td.actions button{min-height:32px;padding:0 var(--primitive-spacing-4);font-size:var(--primitive-fontSize-sm)}.fp-table td.actions .hint{display:block;margin-bottom:var(--primitive-spacing-1);font-size:var(--primitive-fontSize-xs);color:var(--color-muted-foreground)}.admin-pager{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--primitive-spacing-3);margin-top:var(--primitive-spacing-4);font-size:var(--primitive-fontSize-sm);color:var(--color-muted-foreground)}.admin-pager .range{font-variant-numeric:tabular-nums}.admin-pager .controls{display:flex;align-items:center;gap:var(--primitive-spacing-3)}.admin-pager .controls button{min-height:34px;padding:0 var(--primitive-spacing-4);font-size:var(--primitive-fontSize-sm)}.notice.error button{margin-top:var(--primitive-spacing-2)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.legend{display:flex;align-items:center;gap:var(--primitive-spacing-2);font-size:var(--primitive-fontSize-sm);color:var(--color-muted-foreground);margin:var(--primitive-spacing-4) 0 0}.legend-swatch{width:var(--primitive-size-swatch);height:var(--primitive-size-swatch);border-radius:var(--primitive-radius-full);border:var(--primitive-size-focus-ring) solid var(--marker-border);background:var(--marker-bg);box-shadow:var(--primitive-shadow-sm)}.legend-swatch.draft{background:var(--marker-bg-draft)}.spinner{display:inline-block;width:var(--primitive-size-icon-sm);height:var(--primitive-size-icon-sm);border:var(--primitive-size-focus-ring) solid color-mix(in srgb,var(--color-primary) 25%,transparent);border-top-color:var(--color-primary);border-radius:var(--primitive-radius-full);animation:fp-spin .7s linear infinite;vertical-align:-2px;margin-right:var(--primitive-spacing-2)}@keyframes fp-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}button:active:not(:disabled){transform:none}}.cabinet{display:grid;grid-template-columns:264px minmax(0,1fr);gap:var(--primitive-spacing-5);align-items:start}.cabinet-side{position:sticky;top:var(--primitive-spacing-5)}.side-id{display:flex;align-items:center;gap:var(--primitive-spacing-3);margin-bottom:var(--primitive-spacing-4)}.side-avatar{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:var(--primitive-radius-full);background:var(--color-surface-container);border:var(--primitive-size-border-hairline) solid var(--color-border);font-weight:700;color:var(--color-muted-foreground);text-transform:uppercase}.side-who{min-width:0}.side-name{font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-mail{color:var(--color-muted-foreground);font-size:var(--primitive-fontSize-xs);margin:1px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-nav{display:flex;flex-direction:column;gap:var(--primitive-spacing-1)}.side-nav button,.side-disabled{display:flex;align-items:center;width:100%;gap:var(--primitive-spacing-3);min-height:42px;padding:var(--primitive-spacing-2) var(--primitive-spacing-3);border:0;border-radius:var(--primitive-radius-md);background:transparent;color:var(--color-muted-foreground);font:inherit;font-weight:500;text-align:left}.side-nav button:hover:not(:disabled){background:var(--color-surface-muted);color:var(--color-foreground)}.side-nav button.active{background:var(--color-primary);color:var(--color-primary-foreground)}.side-nav button .count{margin-left:auto;font-variant-numeric:tabular-nums;opacity:.75}.side-disabled{opacity:.5;cursor:default}.side-sep{height:1px;background:var(--color-border);margin:var(--primitive-spacing-2) var(--primitive-spacing-2)}.side-label{font-size:var(--primitive-fontSize-xs);font-weight:700;letter-spacing:var(--primitive-letterSpacing-label);text-transform:uppercase;color:var(--color-subtle-foreground);margin:var(--primitive-spacing-3) var(--primitive-spacing-3) var(--primitive-spacing-1)}.cabinet-main{display:flex;flex-direction:column;gap:var(--primitive-spacing-4);min-width:0}.cabinet-section{scroll-margin-top:var(--primitive-spacing-5)}.cabinet-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--primitive-spacing-3);margin-top:var(--primitive-spacing-4)}.tile{padding:var(--primitive-spacing-4);border:var(--primitive-size-border-hairline) solid var(--color-border);border-radius:var(--primitive-radius-lg);background:var(--color-surface)}.tile-num{display:block;font-size:var(--primitive-fontSize-xl);font-weight:600;font-variant-numeric:tabular-nums}.tile-lab{display:block;color:var(--color-muted-foreground);font-size:var(--primitive-fontSize-sm)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--primitive-spacing-3);margin-bottom:var(--primitive-spacing-4)}.section-head h2{margin:0}.profile-list{list-style:none;margin:0;padding:0}.profile-list>li{border-top:var(--primitive-size-border-hairline) solid var(--color-border)}.profile-list>li:first-child{border-top:0}.profile-item{display:flex;align-items:center;gap:var(--primitive-spacing-3);padding:var(--primitive-spacing-3) 0;color:var(--color-foreground)}.profile-item:hover{text-decoration:none}.profile-item .num{flex:none;min-width:1.5em;text-align:right;color:var(--color-subtle-foreground);font-size:var(--primitive-fontSize-sm);font-variant-numeric:tabular-nums}.profile-item .title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.profile-item .meta{color:var(--color-muted-foreground);font-size:var(--primitive-fontSize-sm);font-variant-numeric:tabular-nums;white-space:nowrap}.profile-item .fp-icon{color:var(--color-subtle-foreground)}.profile-empty{color:var(--color-muted-foreground);font-size:var(--primitive-fontSize-sm);margin:0}.profile-more{margin-top:var(--primitive-spacing-4)}.profile-more button{width:100%}.profile-row-head{display:flex;align-items:center;gap:var(--primitive-spacing-2)}.profile-row-head .profile-item{flex:1;min-width:0}.row-panel{margin:var(--primitive-spacing-2) 0 var(--primitive-spacing-4);padding:var(--primitive-spacing-4);border:var(--primitive-size-border-hairline) solid var(--color-border);border-radius:var(--primitive-radius-lg);background:var(--color-surface-muted)}.row-panel input,.row-panel select,.row-panel textarea{margin-bottom:var(--primitive-spacing-3)}.row-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--primitive-spacing-3)}.row-actions{display:flex;flex-wrap:wrap;gap:var(--primitive-spacing-2);margin-top:var(--primitive-spacing-3)}button.ghost.danger{color:var(--color-destructive);border-color:var(--color-destructive-border)}button.ghost.danger:hover:not(:disabled){background:var(--color-destructive-subtle)}.access-block{margin-top:var(--primitive-spacing-4);padding-top:var(--primitive-spacing-4);border-top:var(--primitive-size-border-hairline) solid var(--color-border)}.access-block h4{margin-bottom:var(--primitive-spacing-3)}@media(max-width:760px){.cabinet{grid-template-columns:1fr}.cabinet-side{position:static}.side-nav{flex-direction:row;overflow-x:auto}.side-nav a{flex:0 0 auto}.side-nav a .count{margin-left:var(--primitive-spacing-2)}.side-sep,.side-label,.side-disabled{display:none}}@media(max-width:640px){main{padding:var(--primitive-spacing-4) var(--primitive-spacing-4)}.map-panel{top:auto;bottom:0;left:0;right:0;width:auto;height:var(--primitive-layout-sheet-height);max-height:none;border-radius:var(--primitive-radius-2xl) var(--primitive-radius-2xl) 0 0}.fabcluster{right:calc(var(--primitive-layout-overlay-inset) + env(safe-area-inset-right));bottom:calc(var(--primitive-layout-sheet-height) + var(--primitive-layout-overlay-inset) + env(safe-area-inset-bottom))}.map-legend{bottom:calc(var(--primitive-layout-sheet-height) + var(--primitive-layout-overlay-inset) + env(safe-area-inset-bottom))}}
