.account-control{align-items:center;display:flex;position:relative}.account-toggle{color:#f3f6fb;cursor:pointer;background-color:#1e2637;border:1px solid #233149;border-radius:12px;align-items:center;gap:.35rem;max-width:180px;padding:.5rem .75rem;font-family:Archivo,sans-serif;font-size:.875rem;font-weight:600;transition:background-color .2s,border-color .2s;display:flex}.account-toggle:hover{background-color:#233149;border-color:#334155}.account-toggle .account-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.account-panel{color:#f3f6fb;z-index:1200;background:#101827;border:1px solid #233149;border-radius:12px;width:320px;max-width:calc(100vw - 24px);max-height:70vh;padding:1rem;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 12px 32px #00000073}.account-panel h4{margin:0 0 .5rem;font-size:1rem}.account-hint{color:#9aa8bf;margin:.5rem 0;font-size:.8rem;line-height:1.4}.account-hint a,.account-upgrade a{color:#7fb5ff}.account-signin label{color:#c7d2e4;flex-direction:column;gap:.25rem;margin-bottom:.6rem;font-size:.8rem;display:flex}.account-signin input{color:#f3f6fb;background:#1e2637;border:1px solid #334155;border-radius:8px;padding:.5rem .6rem;font-size:.9rem}.account-signin input:focus{outline-offset:1px;outline:2px solid #7fb5ff}.account-primary{color:#fff;cursor:pointer;background:#e5281b;border:none;border-radius:8px;width:100%;padding:.6rem;font-size:.9rem;font-weight:600}.account-primary:disabled{opacity:.6;cursor:default}.account-error{color:#ffb4ae;background:#e5281b26;border:1px solid #e5281b80;border-radius:8px;margin-bottom:.6rem;padding:.45rem .6rem;font-size:.8rem}.account-identity{color:#c7d2e4;flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.75rem;font-size:.85rem;display:flex}.account-plan-badge{text-transform:uppercase;letter-spacing:.04em;background:#233149;border-radius:999px;padding:.1rem .55rem;font-size:.7rem}.account-plans-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.account-plan-list{flex-direction:column;gap:.35rem;margin:.4rem 0 0;padding:0;list-style:none;display:flex}.account-plan-list li{background:#1e2637;border:1px solid #233149;border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;padding:.45rem .6rem;display:flex}.account-plan-meta{flex-direction:column;min-width:0;display:flex}.account-plan-name{white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.account-plan-date{color:#9aa8bf;font-size:.7rem}.account-plan-actions{flex-shrink:0;gap:.25rem;display:flex}.account-icon-btn{color:#c7d2e4;cursor:pointer;background:0 0;border:1px solid #334155;border-radius:8px;justify-content:center;align-items:center;min-width:32px;min-height:32px;padding:.35rem;display:inline-flex}.account-icon-btn:hover{background:#233149}.account-icon-btn.account-danger:hover{color:#ffb4ae;border-color:#e5281b99}.account-upgrade p{color:#c7d2e4;margin:0 0 .75rem;font-size:.82rem;line-height:1.45}.account-signout{color:#c7d2e4;cursor:pointer;background:0 0;border:1px solid #334155;border-radius:8px;justify-content:center;align-items:center;gap:.4rem;width:100%;margin-top:.9rem;padding:.5rem;font-size:.85rem;display:inline-flex}.account-signout:hover{background:#233149}@media (width<=640px){.account-toggle .account-label{display:none}.account-panel{width:auto;position:fixed;top:64px;left:12px;right:12px}}:root{--rfs-core-red:#d8232a;--rfs-core-red-dark:#b01620;--rfs-core-red-light:#e0555a;--accent-amber:#f6a609;--accent-amber-dark:#d98a00;--accent-amber-ink:#241a00;--rfs-lime:var(--accent-amber);--rfs-lime-dark:var(--accent-amber-dark);--rfs-black:#0c1220;--rfs-white:#fff;--rfs-dark-grey:#55607a;--rfs-light-grey:#d3dae6;--rfs-neutral-light:#f4f6f9;--rfs-neutral-medium:#e6eaf1;--rfs-neutral-dark:#1e2637;--ui-green:#1e9e62;--ui-amber:#f6a609;--ui-blue:#2563eb;--surface-success:#e4f5ec;--text-success-strong:#0b5c3b;--surface-warning:#fdf0d6;--text-warning-strong:#9a6800;--surface-info:#e8f0fe;--text-info-strong:#1b4f8f;--surface-error:#fcebeb;--text-error-strong:#b01620;--color-bg-primary:#0f1115;--color-bg-secondary:#1e293b;--color-bg-tertiary:#1e2937;--color-bg-elevated:#233040;--color-bg-overlay:#000000b3;--color-text-primary:#f5f7fa;--color-text-secondary:#cbd5e1;--color-text-tertiary:#94a3b8;--color-text-muted:#64748b;--color-text-inverse:#0f1115;--color-border-primary:#334155;--color-border-secondary:#475569;--color-border-subtle:#1f2937;--color-border-focus:#2563eb;--color-accent-primary:#2563eb;--color-accent-secondary:#1e40af;--color-accent-hover:#2563eb1a;--color-accent-active:#2563eb33;--color-success:#1e9e62;--color-success-hover:#16a34a;--color-success-light:#1e9e621a;--color-warning:#f6a609;--color-warning-hover:#d98a00;--color-warning-light:#f6a6091a;--color-danger:#d8232a;--color-danger-hover:#b01620;--color-danger-light:#d8232a1a;--color-info:#2563eb;--color-info-hover:#1e40af;--color-info-light:#2563eb1a;--color-terrain-flat:#10b981;--color-terrain-medium:#f59e0b;--color-terrain-steep:#ef4444;--color-terrain-very-steep:#7c2d12;--color-veg-grassland:#84cc16;--color-veg-lightshrub:#f59e0b;--color-veg-mediumscrub:#ea580c;--color-veg-heavyforest:#166534;--font-family-base:"Public Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-family-mono:"JetBrains Mono", ui-monospace, monospace;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:clamp(1.25rem, 2vw, 1.75rem);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--letter-spacing-tight:-.025em;--letter-spacing-normal:0;--letter-spacing-wide:.025em;--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--shadow-sm:0 1px 2px #10182814;--shadow-md:0 2px 6px -2px #1018281a, 0 6px 16px -6px #1018281f;--shadow-lg:0 12px 30px -10px #10182829;--shadow-xl:0 12px 24px #0009;--shadow-focus:0 0 0 3px var(--color-accent-hover);--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s ease;--transition-all:all .2s ease;--z-base:1;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--z-toast:9999;--touch-target-min:44px;--input-height-sm:36px;--input-height-base:44px;--input-height-lg:52px;--panel-width-narrow:320px;--panel-width-default:480px;--panel-width-wide:640px;--breakpoint-sm:480px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px}h1,h2,h3,h4,h5,h6{letter-spacing:-.4px;font-family:Archivo,Public Sans,sans-serif;font-weight:800}code,.mono,.slug,.category-code{font-family:JetBrains Mono,ui-monospace,monospace}[data-theme=light]{--color-bg-primary:#fff;--color-bg-secondary:#f5f7fa;--color-bg-tertiary:#e2e8f0;--color-bg-elevated:#fff;--color-bg-overlay:#00000080;--color-text-primary:#0f1115;--color-text-secondary:#475569;--color-text-tertiary:#64748b;--color-text-muted:#94a3b8;--color-text-inverse:#fff;--color-border-primary:#cbd5e1;--color-border-secondary:#94a3b8;--color-border-subtle:#e2e8f0;--shadow-sm:0 1px 2px #0000001a;--shadow-md:0 2px 6px -2px #0000001a, 0 6px 16px -6px #0000001f;--shadow-lg:0 12px 30px -10px #00000029;--shadow-xl:0 12px 24px #00000040}[data-theme=dark]{--rfs-core-red:#e5484d;--rfs-core-red-dark:#f26a6e;--rfs-core-red-text:#ff8085;--accent-amber:#f6a609;--accent-amber-text:#ffc759;--surface-success:#0f2a1f;--text-success-strong:#8be4b5;--surface-warning:#2a2008;--text-warning-strong:#ffc759;--surface-info:#12233d;--text-info-strong:#9ec5ff;--surface-error:#2a1315;--text-error-strong:#ff8085;--shadow-sm:0 1px 2px #0006;--shadow-md:0 2px 6px #00000080;--shadow-lg:0 14px 34px -12px #000000a6}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.user-location-marker,.pulse,.spinner{animation:none!important}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px;border-radius:var(--radius-sm)}.skip-to-main{background:var(--color-bg-elevated);color:var(--color-text-primary);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);z-index:var(--z-tooltip);transition:top var(--transition-fast);text-decoration:none;position:absolute;top:-100px;left:0}.skip-to-main:focus{top:var(--space-2)}.integrated-config-panel,.integrated-config-pane{z-index:1000;box-sizing:border-box;width:480px;height:100dvh;max-height:100dvh;padding-bottom:env(safe-area-inset-bottom,0px);background:#111827;border-left:1px solid #1f2937;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden;box-shadow:-4px 0 12px #00000080}.config-header{background:#0f172acc;border-bottom:1px solid #334155;flex:none;justify-content:space-between;align-items:center;min-height:40px;max-height:50px;padding:.25rem .75rem;display:flex}.close-button{color:#cbd5e1;cursor:pointer;background:#4755694d;border:1px solid #475569;border-radius:4px;padding:.25rem;font-size:.875rem;line-height:1;transition:all .2s}.close-button:hover{color:#fff;background:#47556980}.shared-config-notice{color:#fef3c7;background:linear-gradient(135deg,#f59e0b2e,#f59e0b1a);border-top:1px solid #f59e0b59;border-left:4px solid #f59e0b;flex:none;align-items:flex-start;gap:.375rem;min-height:28px;max-height:40px;padding:.375rem .75rem;font-size:.625rem;line-height:1.25;display:flex}.notice-icon{flex-shrink:0;margin-top:.05rem;font-size:.875rem}.notice-content{flex:1;line-height:1.5}.notice-content strong{color:#fbbf24;font-weight:600}.integrated-config-panel .main-tabs{background:#181f2999;border-bottom:1px solid #334155;flex:none;padding:0;display:flex}.integrated-config-panel .tab-button{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-right:0;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;position:relative}.integrated-config-panel .tab-button:hover{color:#e2e8f0;background:#3b82f60d}.integrated-config-panel .tab-button.active{color:#fff;background:#3b82f61a;border-bottom-color:#3b82f6}.config-tabs.sub-tabs{z-index:4;background:#0f172a66;border-bottom:1px solid #233040;flex:none;margin-bottom:0;padding:0;display:flex;position:sticky;top:0}.sub-tabs-container{justify-content:space-between;align-items:center;width:100%;padding:.5rem .75rem;display:flex}.sub-tabs-buttons{gap:.25rem;display:flex}.config-tabs.sub-tabs .tab-button{text-align:center;color:#cbd5e1;background:#1e293b4d;border:1px solid #334155;border-radius:4px;flex:none;padding:.375rem .75rem;font-size:.75rem;transition:all .2s}.config-tabs.sub-tabs .tab-button:hover{color:#e2e8f0;background:#1e293b80}.config-tabs.sub-tabs .tab-button.active{color:#fff;background:#3b82f6;border-color:#3b82f6}.add-equipment-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#059669;border:none;border-radius:4px;padding:.375rem .75rem;font-size:.75rem;font-weight:500;transition:all .2s}.add-equipment-btn:hover{background:#047857}.add-equipment-btn:disabled{opacity:.6;cursor:not-allowed;background:#6b7280}.config-content{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.panel-guidance{background:#0f172a66;border-bottom:1px solid #334155;flex-direction:column;flex:none;gap:.5rem;min-height:80px;max-height:120px;padding:.75rem;display:flex}.panel-guidance h4{color:#e2e8f0;text-transform:uppercase;letter-spacing:.025em;margin:0;font-size:.75rem;font-weight:600}.panel-guidance-content{justify-content:space-between;align-items:center;gap:1rem;display:flex}.panel-guidance-left{flex:1;align-items:center;gap:.75rem;display:flex}.panel-guidance-right{align-items:center;gap:.5rem;display:flex}.equipment-type-tabs{gap:.25rem;display:flex}.equipment-type-tab{color:#cbd5e1;cursor:pointer;background:#1e293b4d;border:1px solid #334155;border-radius:4px;padding:.375rem .75rem;font-size:.75rem;transition:all .2s}.equipment-type-tab:hover{color:#e2e8f0;background:#1e293b80}.equipment-type-tab.active{color:#fff;background:#3b82f6;border-color:#3b82f6}.equipment-filter{color:#e2e8f0;background:#1e293b4d;border:1px solid #334155;border-radius:4px;min-width:120px;padding:.375rem .75rem;font-size:.75rem}.equipment-filter::placeholder{color:#64748b}.panel-content{scroll-behavior:smooth;flex:auto;min-height:0;padding:.75rem;overflow-y:auto}.equipment-section,.vegetation-section{flex-direction:column;flex:auto;min-height:0;padding:0;display:flex;position:relative;overflow:hidden}.equipment-rows-container{flex-direction:column;gap:.25rem;display:flex}.equipment-row{background:#1e293b4d;border:1px solid #334155;border-radius:4px;grid-template-columns:1fr auto auto 1fr 1fr auto;align-items:center;gap:.5rem;min-height:48px;padding:.5rem;transition:all .2s;display:grid}@media (width<=768px){.integrated-config-panel{width:100%;left:0;right:0}.panel-guidance{min-height:60px;max-height:80px;padding:.5rem}.panel-guidance h4{font-size:.7rem}.panel-guidance-content{flex-direction:column;align-items:stretch;gap:.5rem}.equipment-type-tabs{justify-content:space-between;width:100%}.equipment-type-tab{text-align:center;flex:1;padding:.25rem .5rem;font-size:.65rem}.equipment-filter{flex:1;min-width:auto}.equipment-config-panel.compact .equip-list{gap:.375rem}.equipment-config-panel.compact .equip-row{flex-direction:column;gap:.5rem;min-height:0;padding:.75rem;display:flex}.equipment-card-header{justify-content:space-between;align-items:center;display:flex}.equipment-card-stats{color:#94a3b8;gap:1rem;font-size:.75rem;display:flex}.equipment-card-tags{flex-direction:column;gap:.25rem;display:flex}.equipment-card-tag-group{flex-wrap:wrap;gap:.25rem;display:flex}.equipment-config-panel.compact .eq-actions{justify-content:flex-end}}@media (width<=480px){.panel-guidance{min-height:80px;max-height:100px}.equipment-type-tabs{flex-direction:column;gap:.25rem}.equipment-type-tab{padding:.125rem .25rem;font-size:.6rem}}.equipment-config-panel.compact .equip-list{flex-direction:column;gap:.125rem;display:flex}.equipment-config-panel.compact .equip-row{background:#1e293b4d;border:1px solid #334155;border-radius:3px;grid-template-columns:1.5fr auto auto 1fr 1fr auto;align-items:center;gap:.375rem;min-height:36px;padding:.375rem .5rem;font-size:.75rem;transition:all .2s;display:grid}.equipment-config-panel.compact .equip-row:hover{background:#1e293b80;border-color:#475569}.equipment-config-panel.compact .eq-name{color:#e2e8f0;font-size:.8rem;font-weight:600}.equipment-config-panel.compact .eq-small{color:#94a3b8;font-size:.7rem}.equipment-config-panel.compact .eq-tags{flex-wrap:wrap;gap:.125rem;display:flex}.equipment-config-panel.compact .tag{text-transform:uppercase;letter-spacing:.02em;cursor:pointer;border:none;border-radius:2px;padding:.125rem .3rem;font-size:.6rem;font-weight:500}.equipment-config-panel.compact .tag.on.terrain-flat{color:#fff;background:#10b981}.equipment-config-panel.compact .tag.on.terrain-medium{color:#fff;background:#f59e0b}.equipment-config-panel.compact .tag.on.terrain-steep{color:#fff;background:#ef4444}.equipment-config-panel.compact .tag.on.terrain-very_steep{color:#fff;background:#7c2d12}.equipment-config-panel.compact .tag.on.veg-grassland{color:#fff;background:#22c55e}.equipment-config-panel.compact .tag.on.veg-lightshrub{color:#fff;background:#eab308}.equipment-config-panel.compact .tag.on.veg-mediumscrub{color:#fff;background:#f97316}.equipment-config-panel.compact .tag.on.veg-heavyforest{color:#fff;background:#15803d}.equipment-config-panel.compact .eq-actions{gap:.125rem;display:flex}.equipment-config-panel.compact .btn{color:#cbd5e1;cursor:pointer;background:#4755694d;border:1px solid #475569;border-radius:2px;padding:.125rem .375rem;font-size:.65rem;transition:all .2s}.equipment-config-panel.compact .btn:hover{color:#fff;background:#47556980}.equipment-config-panel.compact .btn.del{color:#fca5a5;background:#dc26264d;border-color:#dc2626}.equipment-config-panel.compact .btn.del:hover{color:#fff;background:#dc262680}.equipment-scroll-area{scroll-behavior:smooth;flex-direction:column;flex:auto;gap:.25rem;min-height:0;padding:0 .75rem 1rem;display:flex;overflow-y:auto}.vegetation-guidance-controls{background:#0f172a66;border-bottom:1px solid #334155;flex-direction:column;flex:none;gap:.5rem;padding:.75rem;display:flex}.vegetation-guidance-controls .search-toolbar{background:#1e293b4d;border:1px solid #334155;border-radius:4px;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;padding:.5rem;display:flex}.vegetation-guidance-controls .search-box{flex:1;min-width:120px;padding:.375rem .5rem;font-size:.75rem}.vegetation-guidance-controls .view-controls{gap:.25rem}.vegetation-guidance-controls .view-control-btn,.vegetation-guidance-controls .add-mapping-btn{padding:.375rem .75rem;font-size:.75rem}.vegetation-guidance-controls .mapping-stats{background:#0f172a4d;border:1px solid #1e293b;border-radius:4px;margin:0;padding:.375rem .5rem;font-size:.6rem}.vegetation-guidance-controls .error-message{margin:0;padding:.5rem;font-size:.65rem}.vegetation-section>.vegetation-config-panel{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.vegetation-config-panel{flex-direction:column;flex:1;padding:0;display:flex;overflow:hidden}.vegetation-scroll-area{scroll-behavior:smooth;scroll-behavior:smooth;flex-direction:column;flex:auto;gap:.25rem;min-height:0;padding:.5rem .75rem 1rem;display:flex;overflow-y:auto}.vegetation-scroll-area .mappings-container{background:#0f172a4d;border:1px solid #1e293b;border-radius:6px;flex:1;margin:0;padding:.5rem;overflow:visible}.vegetation-scroll-area .hierarchical-mappings,.vegetation-scroll-area .flat-mappings{flex-direction:column;gap:.25rem;padding:0;display:flex}.formation-header{cursor:pointer;align-items:center;gap:.375rem;padding:.5rem .75rem;transition:background .15s;display:flex}.formation-actions button,.class-actions button,.type-actions button{color:#93c5fd;cursor:pointer;background:#3b82f626;border:1px solid #3b82f6;border-radius:3px;padding:.25rem .5rem;font-size:.75rem;transition:all .2s}.formation-actions button:hover,.class-actions button:hover,.type-actions button:hover{color:#fff;background:#3b82f6}.equipment-scroll-area,.vegetation-scroll-area{padding-bottom:1rem}.panel-description{background:linear-gradient(135deg,#3b82f614,#3b82f608);border:1px solid #3b82f626;border-radius:4px;margin:.25rem .75rem;padding:.375rem .75rem;font-size:.65rem;line-height:1.2}.panel-description h3{color:#e2e8f0;margin:0 0 .25rem;font-size:.8rem;font-weight:600}.panel-description p{color:#cbd5e1;margin-bottom:.25rem;font-size:.6rem;line-height:1.3}.tab-guide{background:linear-gradient(135deg,#ffffff04,#ffffff01);border:1px solid #ffffff08;border-radius:4px;margin:.25rem .75rem;padding:.25rem .5rem;font-size:.6rem;line-height:1.2}.tab-guide .guide-line{gap:3px;margin-bottom:.125rem}.tab-guide .muted{font-size:.55rem}.search-toolbar{gap:.375rem;margin:.25rem .75rem;padding:.375rem .5rem}.search-box{padding:.375rem .5rem;font-size:.7rem}.view-control-btn{padding:.25rem .5rem;font-size:.65rem}.add-mapping-btn{padding:.375rem .6rem;font-size:.65rem}.mapping-stats{margin:.25rem .75rem;padding:.375rem .5rem;font-size:.6rem}.equip-row{min-height:32px;padding:.25rem .5rem}.equip-row input{padding:3px 5px;font-size:.7rem}.eq-actions .btn{padding:2px 5px!important;font-size:.5rem!important}.tag{padding:1px 4px;font-size:.5rem}.formation-header{padding:4px 6px}.class-header{padding:3px 6px}.type-item{padding:2px 6px 2px 10px}.integrated-config-panel{padding-bottom:0}.integrated-config-panel .shared-config-notice{z-index:20;position:sticky;bottom:0}.integrated-config-panel.compact .config-content{padding:0 .25rem}.compact-header{background:#0f172a;border:1px solid #233040;border-radius:6px;flex:none;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.25rem;padding:.25rem .5rem;display:flex}.compact-header .panel-title{color:#e2e8f0;letter-spacing:.5px;margin:0 .5rem 0 0;font-size:.75rem;font-weight:600}.compact-header .main-tabs{gap:.25rem;display:flex}.compact-header .tab-button{background:#1e293b;border:1px solid #334155;border-radius:4px;padding:.35rem .6rem;font-size:.65rem;line-height:1}.compact-header .tab-button.active{color:#fff;background:#3b82f6;border-color:#3b82f6}.equip-inline-tabs{align-items:center;gap:.25rem;display:flex}.equip-inline-tabs .mini-tab{color:#bcd0e0;cursor:pointer;background:#1e293b;border:1px solid #334155;border-radius:4px;padding:.25rem .45rem;font-size:.55rem}.equip-inline-tabs .mini-tab.active{color:#fff;background:#2563eb;border-color:#2563eb}.equip-inline-tabs .add-equipment-btn.mini{padding:.25rem .4rem;font-size:.6rem;line-height:1}.integrated-config-panel.compact #equipment-panels-container{flex:auto;min-height:0;display:flex}.integrated-config-panel.compact .equipment-config-panel{flex:auto}.integrated-config-panel.compact .equipment-config-panel .panel-description,.integrated-config-panel.compact .equipment-config-panel .tab-guide{display:none}.integrated-config-panel.compact .equipment-scroll-area{flex:auto;min-height:0}.shared-config-notice.compact{margin:.25rem .25rem 0;padding:.35rem .5rem;font-size:.55rem}.shared-config-notice.compact .notice-icon{font-size:.7rem}.shared-config-notice.compact .notice-content{font-size:.55rem;line-height:1.2}.header-center{flex:1;justify-content:center;max-width:600px;margin:0 auto;display:flex}.header-right{flex:none}.search-control{width:100%;max-width:520px;position:relative}.header-search-control{width:100%;max-width:640px}.search-modes-above{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1001;--search-modes-offset:44px;background:#0f172af2;border:1px solid #334155;border-radius:8px;margin-top:8px;display:flex;position:absolute;top:100%;left:0;overflow:hidden;transform:none;box-shadow:0 8px 32px #0000004d}@keyframes slide-down-fade{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.search-modes-above{animation:.18s ease-out slide-down-fade}@media (width<=760px){.search-modes-above{border-radius:8px;width:100%;margin-top:8px;top:100%;bottom:auto;left:0;transform:none;box-shadow:0 6px 18px #0003}.search-modes-above .search-mode-btn{flex:auto;padding:8px 10px;font-size:13px}}.search-input-container{position:relative}.search-input-wrapper{align-items:center;display:flex;position:relative}.search-icon{color:#64748b;z-index:2;pointer-events:none;flex:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-control .search-input{color:#e2e8f0;background:#1e293bcc;border:1px solid #475569;border-radius:24px;outline:none;width:100%;padding:10px 40px 10px 34px;font-size:14px;transition:all .3s}.search-input.collapsed{background:#1e293b99;border-color:#334155}.search-input.expanded{background:#1e293bf2;border-color:#3b82f6;border-radius:8px;box-shadow:0 0 0 3px #3b82f61a}.search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.search-input::placeholder{color:#64748b}.search-collapse-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;font-size:18px;transition:all .2s;position:absolute;right:12px}.search-collapse-btn:hover{color:#e2e8f0;background:#3b82f61a}.search-loading{font-size:14px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.search-error{color:#fff;z-index:1002;background:#ef4444e6;border:1px solid #dc2626;border-radius:4px;margin-top:4px;padding:8px 12px;font-size:12px;position:absolute;top:100%;left:0;right:0}.search-results{top:calc(100% + var(--search-modes-offset,44px));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1002;background:#0f172af2;border:1px solid #334155;border-radius:8px;max-height:300px;margin-top:4px;animation:.22s ease-out slide-down-fade;position:absolute;left:0;right:0;overflow-y:auto;box-shadow:0 8px 32px #0000004d}.search-mode-btn{color:#94a3b8;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-right:1px solid #334155;flex:1;padding:8px 12px;font-size:11px;transition:all .2s}.search-mode-btn:last-child{border-right:none}.search-mode-btn:hover{color:#e2e8f0;background:#3b82f61a}.search-mode-btn.active{color:#fff;background:#3b82f6}.search-result-item{color:#e2e8f0;text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #33415580;width:100%;padding:10px 12px;transition:all .2s}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:#3b82f61a}.result-main{margin-bottom:2px;font-size:13px;font-weight:500}.result-sub{color:#94a3b8;margin-bottom:2px;font-size:11px}.result-confidence{color:#64748b;font-size:10px}.search-location-marker{text-shadow:0 0 4px #00000080;cursor:pointer;font-size:20px}.equipment-config-panel{flex-direction:column;flex:1;padding:0;display:flex}.equipment-toolbar{background:#1e293b4d;border-bottom:1px solid #334155;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:1rem;display:flex}.equipment-toolbar-title{align-items:center;gap:.5rem;display:flex}.current-tab-name{color:#e2e8f0;font-size:1.1rem;font-weight:600}.equipment-count{color:#94a3b8;background:#3b82f633;border-radius:12px;padding:.25rem .5rem;font-size:.875rem}.panel-description{color:#e2e8f0;background:linear-gradient(135deg,#3b82f61a,#3b82f60d);border:1px solid #3b82f633;border-radius:8px;margin:1rem;padding:1.5rem;font-size:.9rem;line-height:1.6}.panel-description h3{color:#fff;margin-top:0;margin-bottom:.75rem;font-size:1.2rem;font-weight:600}.panel-description p{color:#cbd5e1;margin:0 0 .5rem}.panel-description p:last-child{margin:0}.vegetation-config-panel{color:#f5f7fa;flex-direction:column;width:100%;height:100%;padding:0;display:flex;overflow-y:auto}.search-toolbar{background:#1e293b4d;border:1px solid #334155;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.75rem;margin:1rem;padding:1rem;display:flex}.search-box{color:#e2e8f0;background:#0f172acc;border:1px solid #475569;border-radius:6px;flex:1;min-width:200px;padding:.625rem;font-size:.875rem;transition:all .2s}.search-box:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.search-box::placeholder{color:#64748b}.view-controls{background:#0f172a80;border:1px solid #334155;border-radius:6px;gap:.25rem;padding:.25rem;display:flex}.view-control-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.5rem .75rem;font-size:.875rem;font-weight:500;transition:all .2s}.view-control-btn:hover{color:#e2e8f0;background:#3b82f61a}.view-control-btn.active{color:#fff;background:#3b82f6}.add-mapping-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#059669;border:none;border-radius:6px;padding:.625rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s}.add-mapping-btn:hover{background:#047857}.mapping-stats{color:#94a3b8;background:#0f172a4d;border:1px solid #1e293b;border-radius:6px;margin:0 1rem;padding:.75rem 1rem;font-size:.875rem}.vegetation-mappings-list{flex-direction:column;gap:.375rem;margin:.5rem;padding:0;list-style:none;display:flex}.vegetation-mapping-item{background:#1e293b80;border:1px solid #334155;border-radius:6px;flex-direction:column;gap:.375rem;padding:.5rem;transition:all .2s;display:flex}.vegetation-mapping-item:hover{background:#1e293bb3;border-color:#475569}.mapping-header{justify-content:space-between;align-items:center;display:flex}.mapping-name{color:#e2e8f0;font-size:1rem;font-weight:500}.mappings-container{background:#0f172a4d;border:1px solid #1e293b;border-radius:6px;flex:1;margin:0 .75rem .5rem;overflow-y:auto}.vegetation-type-tag,.vegetation-type-badge{text-transform:uppercase;letter-spacing:.025em;border:1px solid #0000;border-radius:999px;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.vegetation-type-tag.grassland,.vegetation-type-badge.grassland{color:#1a2e05;background-color:#84cc16;border-color:#65a30d}.vegetation-type-tag.lightshrub,.vegetation-type-badge.lightshrub{color:#451a03;background-color:#f59e0b;border-color:#d97706}.vegetation-type-tag.mediumscrub,.vegetation-type-badge.mediumscrub{color:#1c1917;background-color:#ea580c;border-color:#c2410c}.vegetation-type-tag.heavyforest,.vegetation-type-badge.heavyforest{color:#dcfce7;background-color:#166534;border-color:#15803d}.action-btn{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:.25rem;padding:.375rem .75rem;font-size:.75rem;font-weight:500;transition:all .2s;display:inline-flex}.edit-btn,.edit-button{color:#fff;background:#3b82f6}.edit-btn:hover,.edit-button:hover{background:#2563eb;transform:translateY(-1px)}.delete-btn,.delete-button{color:#fff;background:#ef4444}.delete-btn:hover,.delete-button:hover{background:#dc2626;transform:translateY(-1px)}.error-message,.equip-error{color:#fecaca;background:linear-gradient(135deg,#ef444426,#ef44441a);border:1px solid #ef44444d;border-left:4px solid #ef4444;border-radius:6px;margin:1rem;padding:1rem;font-size:.875rem}.loading,.equip-loading{text-align:center;color:#94a3b8;padding:1rem;font-size:.875rem;font-style:italic}.equip-list{flex-direction:column;gap:.25rem;padding:.5rem;display:flex}.empty,.no-mappings{text-align:center;color:#64748b;padding:2rem;font-size:.875rem;font-style:italic}.tab-guide{color:#cbd5e1;background:linear-gradient(135deg,#ffffff05,#ffffff03);border:1px solid #ffffff0d;border-radius:6px;flex-direction:column;gap:.375rem;margin:0 1rem 1rem;padding:1rem;font-size:.8125rem;display:flex}.tab-guide .guide-line{align-items:center;gap:.5rem;display:flex}.tab-guide .guide-line strong{color:#e2e8f0;font-weight:600}.tab-guide .muted{color:#94a3b8;font-size:.75rem;font-style:italic}.equip-hint{color:#64748b;text-align:center;margin:.25rem .75rem;font-size:.6rem;font-style:italic;line-height:1.2}.equip-row{background:#1e293b73;border:1px solid #334155;border-radius:4px;align-items:center;gap:.375rem;min-height:32px;padding:.25rem .5rem;transition:background .15s,border-color .15s;display:flex}.equip-row:hover{background:#1e293ba6;border-color:#475569}.equip-row.editing,.equip-row.adding{background:#3b82f61f;border-color:#3b82f6}.eq-name{color:#e2e8f0;flex:160px;min-width:140px;font-size:.85rem;font-weight:500}.eq-small{width:80px;font-size:.75rem}.eq-xsmall{width:60px;font-size:.75rem}.eq-name.text,.eq-small.text{color:#e2e8f0;font-size:.8rem}.inline-sub{opacity:.75;font-size:.65rem}.equip-row input.eq-name{color:#f1f5f9;background:#0f172aa6;border:1px solid #475569;border-radius:3px;padding:4px 6px;font-size:.7rem}.equip-row input.eq-small,.equip-row input.eq-xsmall{color:#f1f5f9;background:#0f172aa6;border:1px solid #475569;border-radius:3px;padding:4px 3px;font-size:.65rem}.equip-row input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 1px #3b82f640}.tag{color:#cbd5e1;cursor:pointer;letter-spacing:.5px;background:#47556959;border:1px solid #475569;border-radius:10px;padding:1px 4px;font-size:.5rem;font-weight:500;line-height:1;transition:all .15s}.tag:hover{background:#4755698c}.tag.on{color:#fff;background:#3b82f6;border-color:#3b82f6}.tag.on:hover{background:#2563eb}.eq-actions{gap:2px;margin-left:auto;display:flex}.eq-actions .btn{color:#cbd5e1;cursor:pointer;letter-spacing:.5px;background:#1e293b;border:1px solid #334155;border-radius:3px;padding:2px 5px;font-size:.5rem;font-weight:500;transition:all .15s}.eq-actions .btn:hover{color:#fff;background:#334155}.eq-actions .btn.save,.eq-actions .btn.edit{color:#fff;background:#3b82f6;border-color:#3b82f6}.eq-actions .btn.save:hover,.eq-actions .btn.edit:hover{background:#2563eb}.eq-actions .btn.del,.eq-actions .btn.cancel{color:#fff;background:#ef4444;border-color:#ef4444}.eq-actions .btn.del:hover,.eq-actions .btn.cancel:hover{background:#dc2626}.equip-list{max-height:100%;overflow-y:auto}.formation-group{background:#1e293b59;border:1px solid #334155;border-radius:4px;margin-bottom:3px}.formation-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;padding:4px 6px;transition:background .15s,border-color .15s;display:flex}.formation-header:hover{background:#3b82f614}.formation-header.selected{background:#3b82f626;border-left:2px solid #3b82f6}.formation-expand-icon{text-align:center;opacity:.8;width:12px;font-size:8px}.formation-title{color:#e2e8f0;flex:1;align-items:center;gap:4px;font-size:.7rem;font-weight:600;display:flex}.formation-actions{gap:2px;display:flex}.formation-actions button{color:#93c5fd;cursor:pointer;background:#3b82f626;border:1px solid #3b82f6;border-radius:3px;padding:1px 4px;font-size:.55rem}.formation-actions button:hover{color:#fff;background:#3b82f6}.class-group{border-left:1px dashed #334155;margin-left:14px}.class-header{cursor:pointer;background:#0f172a59;align-items:center;gap:4px;padding:3px 6px;font-size:.65rem;font-weight:500;transition:background .15s;display:flex}.class-header:hover{background:#3b82f61a}.type-item{color:#cbd5e1;border-left:1px dotted #334155;align-items:center;gap:6px;margin-left:28px;padding:2px 6px 2px 10px;font-size:.6rem;display:flex}.type-item .vegetation-type-tag{text-transform:none;padding:1px 4px;font-size:.5rem}.selection-checkbox{accent-color:#3b82f6;margin-right:4px}.bulk-vegetation-editor,.bulk-editor{margin:0 .75rem .5rem}.mappings-container{padding-bottom:60px}:root{--app-bg:#0f1115;--app-text:#f5f7fa;--muted-text:#94a3b8;--map-attrib-bg:#00000059;--map-attrib-text:#ffffffd9;--map-attrib-padding:6px 8px;--map-attrib-font-size:11px}@keyframes pulse{0%{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.5)}to{opacity:0;transform:scale(1)}}html,body,#root,.app-shell{color:#f5f7fa;background:#0f1115;width:100%;height:100dvh;margin:0;padding:0;font-family:Public Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}html,body{overscroll-behavior:none;overflow:hidden}.app-shell{flex-direction:column;display:flex}.vegetation-credit{color:var(--muted-text);opacity:.9;background:0 0;border-radius:0;margin-top:8px;padding:0;font-size:12px;line-height:1.2;display:block}.theme-light{--app-bg:#fff;--app-text:#0b1220;--muted-text:#475569;--map-attrib-bg:#ffffffd9;--map-attrib-text:#000c}.app-header{z-index:10;background-color:#1e293b;border-bottom:1px solid #2a3442;justify-content:space-between;align-items:center;gap:1rem;padding:.5rem 1rem;display:flex;position:relative;box-shadow:0 2px 10px #00000059}.app-header .header-left,.app-header .header-center,.app-header .header-right{position:static!important;transform:none!important}.header-left{flex:none;align-items:center;gap:.75rem;display:flex}.header-center{flex:auto;justify-content:center;align-items:center;min-width:0;display:flex}.header-right{flex:none;align-items:center;display:flex}@media (width<=760px){.header-titles{display:none}.header-center{justify-content:flex-start;padding-left:8px}}@media (width<=420px){.config-panel-toggle{padding:6px 8px;font-size:16px}.config-panel-toggle:after{content:""}.config-panel-toggle{white-space:nowrap;justify-content:center;align-items:center;min-width:40px;display:inline-flex;overflow:hidden}.config-panel-toggle .config-label{display:none!important}.config-panel-toggle:before,.config-panel-toggle:after{content:none!important}.config-panel-toggle .config-icon{align-items:center;display:flex}.header-center .header-search-control{max-width:calc(100% - 56px)}}.app-logo{object-fit:contain;width:44px;height:44px;display:block}.header-titles{flex-direction:column;display:flex}.user-location-marker{justify-content:center;align-items:center;width:18px;height:18px;display:flex;position:relative}.user-location-marker .user-location-pulse{background:#4fc3f7e6;border-radius:50%;width:10px;height:10px;animation:1.8s ease-out infinite user-pulse;box-shadow:0 0 0 4px #4fc3f740}@keyframes user-pulse{0%{opacity:.9;transform:scale(.9)}70%{opacity:0;transform:scale(2.6)}to{opacity:0;transform:scale(2.6)}}.mapbox-geolocate-btn{cursor:pointer;background:0 0;border:none;padding:8px;font-size:16px}.geolocate-control{margin-left:4px}.app-title{margin:0;font-size:1.5rem}.app-subtitle{color:#94a3b8;font-size:1rem}.config-buttons{gap:.5rem;display:flex}.config-panel-toggle{color:#f3f6fb;cursor:pointer;background-color:#1e2637;border:1px solid #233149;border-radius:12px;align-items:center;gap:.25rem;padding:.5rem .75rem;font-family:Archivo,sans-serif;font-size:.875rem;font-weight:600;transition:background-color .2s,border-color .2s;display:flex}.config-panel-toggle:hover{background-color:#233149;border-color:#334155}.integrated-config-panel{z-index:1000;background-color:#1e293b;flex-direction:column;width:100%;height:100%;padding:1.5rem;display:flex;position:fixed;inset:0;overflow:hidden;box-shadow:-2px 0 10px #0000004d}.integrated-config-panel.compact{padding:.5rem .5rem .25rem}.integrated-config-panel.compact .config-content{height:auto;overflow:hidden}.integrated-config-panel.compact .config-content>.equipment-section,.integrated-config-panel.compact .config-content>.vegetation-section{flex:auto;min-height:0}.integrated-config-panel.compact .config-header{border:none;margin:0 0 .25rem;padding:0}.integrated-config-panel.compact .config-header h3{font-size:.75rem}.integrated-config-panel.compact .config-header .close-button{padding:.15rem .35rem;font-size:.9rem}.integrated-config-panel.compact .shared-config-notice{margin-top:.2rem}.integrated-config-panel.compact .tab-button{padding:.35rem .6rem;font-size:.65rem}.integrated-config-panel.compact .config-tabs{margin-bottom:.25rem}.config-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.config-header h3{color:#fff;margin:0;font-size:1.5rem;font-weight:600}.config-header .close-button{color:#cbd5e1;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem .5rem;font-size:1.5rem;transition:all .2s}.config-header .close-button:hover{color:#fff;background-color:#ffffff1a}.integrated-config-panel .config-tabs{border-bottom:1px solid #334155;margin-bottom:1rem;display:flex}.integrated-config-panel .tab-button{color:#cbd5e1;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-right:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:all .2s}.integrated-config-panel .tab-button:hover{color:#fff}.integrated-config-panel .tab-button.active{color:#fff;border-bottom-color:#3b82f6}.integrated-config-panel .config-content{flex:1;min-height:0;padding-right:.5rem;overflow-y:auto}.shared-config-notice{background-color:#ffc1071a;border:1px solid #ffc1074d;border-radius:6px;align-items:center;margin-top:1rem;padding:1rem;display:flex}.notice-icon{margin-right:1rem;font-size:1.25rem}.notice-content{color:#e2e8f0;font-size:.875rem}.notice-content strong{color:#fff}.override-badge{color:#fff;background-color:#9333ea;border-radius:3px;margin-left:.5rem;padding:.1rem .3rem;font-size:.7rem;display:inline-block}.veg-pct{color:#94a3b8;margin-left:6px;font-size:12px}.veg-meter{background:#94a3b8;border-radius:6px;height:10px}.veg-meter[data-color=\#00aa00]{background:#0a0}.veg-meter[data-color=\#c8c800]{background:#c8c800}.veg-meter[data-color=\#ff8800]{background:#f80}.veg-meter[data-color=\#006400]{background:#006400}.dist-bar,.dist-bar-compact{background:#f1f5f9;border-radius:6px;width:100%;height:16px;margin:6px 0;display:flex;overflow:hidden}.dist-bar-compact{height:10px}.overlap-section{margin-top:1rem}.overlap-title{letter-spacing:.5px;text-transform:uppercase;color:#f5f7fa;margin:0 0 .5rem;font-size:.8rem}.analysis-panel-permanent .overlap-matrix,.overlap-matrix{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1e243359;border:1px solid #2a3442;border-radius:6px;gap:2px;padding:6px;font-size:.65rem;flex-direction:column!important;display:flex!important}.analysis-panel-permanent .overlap-header-row,.analysis-panel-permanent .overlap-row,.overlap-header-row,.overlap-row{gap:2px;grid-template-columns:92px repeat(4,1fr) 44px!important;align-items:stretch!important;display:grid!important}.analysis-panel-permanent .overlap-corner,.analysis-panel-permanent .overlap-col-header,.analysis-panel-permanent .overlap-row-header,.analysis-panel-permanent .overlap-row-total,.overlap-corner,.overlap-col-header,.overlap-row-header,.overlap-row-total{text-align:center;padding:4px 6px;font-weight:600}.analysis-panel-permanent .overlap-col-header,.overlap-col-header{background:#2d36468c;border-radius:4px}.analysis-panel-permanent .overlap-row-header,.overlap-row-header{text-align:left;background:#2d364673;border-radius:4px}.analysis-panel-permanent .overlap-row,.overlap-row{min-height:28px}.analysis-panel-permanent .overlap-cell,.overlap-cell{background:#ffffff08;border-radius:3px;position:relative;overflow:hidden;justify-content:center!important;align-items:center!important;display:flex!important}.analysis-panel-permanent .overlap-cell.max-in-row,.overlap-cell.max-in-row{outline:1px solid #ffffff59}.analysis-panel-permanent .overlap-row.dominant-row .overlap-row-header,.overlap-row.dominant-row .overlap-row-header{border-left:3px solid #10b981;padding-left:4px}.analysis-panel-permanent .overlap-cell .cell-label,.overlap-cell .cell-label{z-index:2;color:#f1f5f9;text-shadow:0 1px 2px #0009;font-weight:600;position:absolute}.analysis-panel-permanent .overlap-row-total,.overlap-row-total{background:#2d36468c;border-radius:4px;justify-content:center;align-items:center;font-size:.65rem;display:flex}.analysis-panel-permanent .cell-bar,.cell-bar{background:#ffffff1a;position:absolute;top:0;bottom:0;left:0}.cell-bar[data-color=\#00aa00]{background:linear-gradient(90deg,#0a0,#028a02)}.cell-bar[data-color=\#c8c800]{background:linear-gradient(90deg,#c8c800,#a8a800)}.cell-bar[data-color=\#ff8800]{background:linear-gradient(90deg,#f80,#e06c00)}.cell-bar[data-color=\#006400]{background:linear-gradient(90deg,#006400,#004d00)}.bottom-buttons-container{flex-direction:column;flex:none;align-items:center;padding:8px 0;display:flex}.buttons-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.bmc-fallback{color:#fff;background:linear-gradient(90deg,#ff6b35,#ff8a4d);border-radius:999px;padding:6px 12px;font-weight:600;text-decoration:none;display:inline-block;box-shadow:0 2px 6px #00000040}.bmc-fallback:hover{opacity:.95}.feature-suggestion-button{color:#fff;background:linear-gradient(90deg,#4c63d2,#5f73e0);border-radius:999px;padding:6px 12px;font-weight:600;text-decoration:none;transition:opacity .2s;display:inline-block;box-shadow:0 2px 6px #00000040}.feature-suggestion-button:hover{opacity:.95}.cell-bar[data-color=\#ff0000]{background:linear-gradient(90deg,red,#c00)}.flaticon-credit{text-align:center;color:#94a3b8;margin-top:6px;font-size:.75rem}.flaticon-credit a{color:inherit;text-decoration:underline}#root>div>main .analysis-section .analysis-content .slope-analysis-section .overlap-section .overlap-matrix,#root .analysis-section .analysis-content .slope-analysis-section .overlap-section .overlap-matrix{flex-direction:column!important;gap:4px!important;display:flex!important}#root>div>main .analysis-section .analysis-content .slope-analysis-section .overlap-section .overlap-header-row,#root .analysis-section .analysis-content .slope-analysis-section .overlap-section .overlap-row{grid-template-columns:92px repeat(4,1fr) 44px!important;align-items:center!important;gap:6px!important;display:grid!important}#root>div>main .analysis-section .analysis-content .slope-analysis-section .overlap-section .overlap-cell{justify-content:center!important;align-items:center!important;min-height:28px!important;display:flex!important;position:relative!important}#root>div>main .analysis-section .analysis-content .slope-analysis-section .overlap-section .overlap-cell .cell-bar{position:absolute!important;top:0!important;bottom:0!important;left:0!important}.dist-seg{color:#0f1115;text-shadow:0 1px 2px #ffffffb3;justify-content:center;align-items:center;height:100%;font-size:10px;font-weight:600;display:flex;position:relative}.dist-seg:not(:last-child){box-shadow:inset -1px 0 #ffffff8c}.dist-inner-label{pointer-events:none;padding:0 2px;line-height:1}.dist-seg[data-color=\#00aa00]{background:linear-gradient(135deg,#0a0,#028a02)}.dist-seg[data-color=\#c8c800]{background:linear-gradient(135deg,#c8c800,#a8a800)}.dist-seg[data-color=\#ff8800]{background:linear-gradient(135deg,#f80,#e06c00)}.dist-seg[data-color=\#006400]{background:linear-gradient(135deg,#006400,#004d00)}.dist-seg[data-color=\#ff0000]{background:linear-gradient(135deg,red,#c00)}.dist-seg[data-color=\#FFF380]{background:linear-gradient(135deg,#fff380,#ffec7a)}.dist-seg[data-color=\#B4DFAF]{background:linear-gradient(135deg,#b4dfaf,#9fd89a)}.dist-seg[data-color=\#4CAF50]{background:linear-gradient(135deg,#4caf50,#388e3c)}.dist-seg[data-color=\#003300]{background:linear-gradient(135deg,#030,#020)}.dist-legend{flex-wrap:wrap;gap:12px;margin-top:6px;font-size:12px;display:flex}.dist-legend-item{align-items:center;gap:4px;display:flex}.dist-swatch{background:#94a3b8;border-radius:3px;width:12px;height:12px;display:inline-block}.dist-swatch[data-color=\#00aa00],.dist-seg[data-color=\#00aa00]{background:#0a0}.dist-swatch[data-color=\#c8c800],.dist-seg[data-color=\#c8c800]{background:#c8c800}.dist-swatch[data-color=\#ff8800],.dist-seg[data-color=\#ff8800]{background:#f80}.dist-swatch[data-color=\#006400],.dist-seg[data-color=\#006400]{background:#006400}.dist-swatch[data-color=\#ff0000],.dist-seg[data-color=\#ff0000]{background:red}.dist-swatch[data-color=\#FFF380],.dist-seg[data-color=\#FFF380]{background:#fff380}.dist-swatch[data-color=\#B4DFAF],.dist-seg[data-color=\#B4DFAF]{background:#b4dfaf}.dist-swatch[data-color=\#4CAF50],.dist-seg[data-color=\#4CAF50]{background:#4caf50}.dist-swatch[data-color=\#003300],.dist-seg[data-color=\#003300]{background:#030}.dist-legend-pct{color:#64748b;font-weight:500}.popup-analysis{min-width:260px}.popup-title{font-weight:700}.popup-summary{color:#334155;margin-bottom:6px;font-size:12px}.popup-section-title{margin-top:6px;font-weight:600}.popup-section-sub{color:#475569;margin-bottom:6px;font-size:11px}.popup-bar-row{align-items:center;gap:8px;margin:4px 0;font-size:11px;display:flex}.popup-bar-label{width:60px}.popup-bar-track{background:#eee;border-radius:4px;flex:1;height:8px;position:relative;overflow:hidden}.popup-bar-fill{height:100%;position:absolute;top:0;left:0}.popup-bar-value{text-align:right;width:55px}.popup-bar-fill[data-color=\#00aa00]{background:#0a0}.popup-bar-fill[data-color=\#c8c800]{background:#c8c800}.popup-bar-fill[data-color=\#ff8800]{background:#f80}.popup-bar-fill[data-color=\#ff0000]{background:red}.equipment-config-panel.sidebar{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:900;background:#141922fa;border-left:1px solid #1e2732;flex-direction:column;width:min(860px,100%);max-width:100%;height:90dvh;display:flex;position:fixed;top:10dvh;right:0;box-shadow:-4px 0 12px -2px #00000080}.equipment-config-panel.sidebar .config-header{border-bottom:1px solid #233040;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.equip-tabs{background:#16202b;border-bottom:1px solid #233040;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;display:flex}.equip-tab-spacer{flex:1}.equip-content{flex-direction:column;flex:1;gap:10px;padding:12px 14px 40px;display:flex;overflow:auto}.equipment-config-panel.sidebar .tab-guide{color:#cfe8ff;background:linear-gradient(#ffffff05,#ffffff03);border-bottom:1px solid #ffffff08;flex-direction:column;gap:6px;max-height:72px;padding:10px 12px;font-size:13px;display:flex;overflow:auto}.equipment-config-panel.sidebar .tab-guide .guide-line{align-items:center;gap:8px;display:flex}.equipment-config-panel.sidebar .tab-guide .guide-line strong{color:#e6f7ff;font-weight:600}.equipment-config-panel.sidebar .tab-guide .muted{color:#94a3b8;font-size:12px}.equip-list{flex-direction:column;gap:4px;display:flex}.equipment-config-panel.sidebar .equip-row{box-sizing:border-box;background:#1d2732;border:1px solid #233040;border-radius:6px;grid-template-columns:minmax(140px,1.2fr) repeat(4,minmax(70px,110px)) minmax(70px,110px) minmax(120px,1fr) minmax(120px,1fr) 90px;align-items:center;gap:6px;padding:6px 8px;font-size:13px;display:grid}.equipment-config-panel.sidebar .equip-row.editing{background:#223547}.equipment-config-panel.sidebar .equip-row.adding{background:#1f3444;border-style:dashed}.eq-name{box-sizing:border-box;color:#e2e8f0;width:100%;min-width:0;font-size:13px;font-weight:500}.eq-small,.eq-xsmall{box-sizing:border-box;color:#cbd5e1;width:100%;min-width:0}.eq-tags{flex-wrap:wrap;gap:4px;max-width:100%;display:flex}.eq-tags.readonly{opacity:.8}.tag{color:#bcd0e0;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:#2b3b4a;border:none;border-radius:4px;padding:2px 6px;font-size:11px;line-height:1.2;overflow:hidden}.tag.on{color:#fff;background:#0d6efd}.tag.mini{cursor:default}.inline-sub{opacity:.75;margin-left:4px;font-size:10px}.cycle-hint{color:#8aa9bf;grid-column:1/-1;margin-top:2px;font-size:11px}.eq-actions{justify-content:flex-end;gap:4px;display:flex}.btn{color:#d0d8e0;cursor:pointer;background:#2e3c4b;border:1px solid #3c4c5d;border-radius:4px;padding:4px 8px;font-size:12px}.btn:hover:not(:disabled){background:#375168}.btn.save{background:#0d8045;border-color:#0d8045}.btn.save:hover{background:#0b6a39}.btn.del{background:#7a1d1d;border-color:#7a1d1d}.btn.del:hover{background:#641717}.btn.cancel{background:#444f5a}.btn.edit{background:#315170}.quick-add{color:#fff;cursor:pointer;background:#0d6efd;border:1px solid #0d6efd;border-radius:4px;padding:6px 10px;font-size:12px}.quick-add:disabled{opacity:.5;cursor:not-allowed}.equip-error{background:#872626;border-radius:4px;padding:6px 10px;font-size:12px}.equip-loading{color:#94a3b8;font-size:12px}.equip-hint{color:#6f8394;margin:4px 0 0;font-size:11px}.close-button{color:#d5dde4;cursor:pointer;background:#2d3a48;border:1px solid #3b4a59;border-radius:4px;padding:4px 8px}.close-button:hover{background:#3b4a59}.tab-button.active{color:#fff;background:#0d6efd}.tab-button{color:#c1ced8;cursor:pointer;background:#243240;border:1px solid #2f4152;border-radius:4px;padding:6px 12px;font-size:12px}.tab-button:hover{background:#2e4153}.empty{opacity:.7;padding:8px;font-size:12px}@media (width<=760px){.equipment-config-panel.sidebar{width:100%;height:92dvh;top:8dvh;left:0;right:0}.equip-row{flex-direction:column;grid-template-columns:none;align-items:stretch;gap:8px;display:flex}.eq-actions,.eq-tags{justify-content:flex-start}.tab-guide{max-height:none}}.app-header{z-index:500;background:linear-gradient(135deg,#1e2633,#19202a);border-bottom:1px solid #222b36;flex-direction:row;justify-content:space-between;align-items:center;min-height:56px;padding:0 1.25rem;display:flex;position:relative;box-shadow:0 2px 4px #0006}.app-header .header-left{flex:none;align-items:center;gap:.75rem;display:flex}.app-header .header-right{gap:.5rem}.app-header .config-panel-toggle{position:static;transform:none}.app-header .header-center{flex:auto;justify-content:center;align-items:center;min-width:0;display:flex}.app-header .header-right{flex:none;justify-content:flex-end;align-items:center;display:flex}@media (width<=760px){.app-header{padding:0 .75rem}.app-header .header-titles{display:none}.app-header .header-center{justify-content:flex-start;padding-left:8px}}.app-title{letter-spacing:.5px;margin:0;font-size:clamp(1.1rem,2vw,1.6rem)}.formation-summary{margin-top:8px}.formation-summary .formation-title{color:#cbd5e1;margin-bottom:6px;font-size:12px}.formation-list{flex-direction:column;gap:6px;display:flex}.formation-row{align-items:center;gap:8px;display:flex}.formation-swatch{background:#7b8794;border-radius:2px;flex:0 0 8px;width:8px;height:8px;margin-right:6px}.formation-label{color:#e6eef8;white-space:nowrap;text-overflow:ellipsis;flex:0 0 160px;font-size:12px;overflow:hidden}.formation-bar{background:#1f2a33;border-radius:6px;flex:1;height:10px;margin-left:8px;margin-right:8px;overflow:hidden}.formation-bar-fill{background:#5aa04a;height:100%}.formation-pct{color:#9fb0bf;text-align:right;width:48px;font-size:11px}.formation-supporting{color:#9fb0bf;margin-top:8px;font-size:11px}.formation-supporting .example{background:#0f1720;border-radius:4px;margin-right:6px;padding:2px 6px;display:inline-block}.overlap-aux{flex-direction:column;gap:8px;margin-top:10px;display:flex}.overlap-legend{margin-top:8px}.overlap-legend .legend-title{color:#cbd5e1;margin-bottom:6px;font-size:12px}.overlap-legend .legend-items{gap:8px;display:flex}.app-subtitle{opacity:.7;font-size:.75rem}.app-main{flex-direction:column;flex:auto;min-height:0;display:flex;position:relative}.map-section{flex:auto;min-height:0}.analysis-section{height:auto;min-height:200px;max-height:50dvh;padding-bottom:env(safe-area-inset-bottom,0px);flex-direction:column;flex:none;display:flex}.analysis-section.collapsed{flex:none;min-height:auto;max-height:fit-content}.analysis-section.expanded{max-height:70dvh}@media (width>=1024px){.app-main{flex-direction:row}.map-section{flex:auto;min-width:0}.analysis-section,.analysis-section.expanded,.analysis-section.collapsed{flex:0 0 400px;height:auto;min-height:0;max-height:none;padding:10px 10px 10px 4px;transition:flex-basis .25s}.analysis-section.expanded{flex:0 0 600px}}@media (width<=1023px){.analysis-header{padding:.5rem .75rem}.analysis-section.collapsed{min-height:0;max-height:22dvh}.analysis-section.collapsed .header-info{display:none}.analysis-section.collapsed .analysis-header{padding:.4rem .75rem}.analysis-section.collapsed .expand-button{min-width:36px;min-height:36px;padding:.3rem .5rem}.analysis-section.collapsed .analysis-content{display:none}.analysis-section.collapsed .mobile-compact-summary{display:flex}.analysis-section.collapsed .bottom-buttons-container{display:none}}.mobile-compact-summary{border-bottom:1px solid #2a3442;flex-direction:column;flex:none;gap:4px;padding:6px .75rem 8px;display:none}.mcs-meta-row{align-items:baseline;gap:8px;font-size:.72rem;line-height:1.2;display:flex}.mcs-distance{color:#ff6b35;font-weight:700}.mcs-slope-text{color:#94a3b8}.mcs-slope-bar{width:100%}.mcs-chips-row{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:6px;display:flex;overflow-x:auto}.mcs-chips-row::-webkit-scrollbar{display:none}.mcs-chip{color:#f5f7fa;white-space:nowrap;background:#1e2433d9;border:1px solid #2a3442;border-radius:999px;flex:none;align-items:center;gap:4px;padding:3px 8px;font-size:.68rem;line-height:1.3;display:flex}.mcs-chip-icon{font-size:.8rem;line-height:1}.mcs-chip-text{text-overflow:ellipsis;color:#cbd5e1;max-width:96px;overflow:hidden}.mcs-chip-value{color:#4fc3f7;font-weight:700}.mcs-chip-sub{color:#94a3b8;font-size:.62rem}.mcs-chip-empty{opacity:.55}.map-wrapper,.map-container,.map-section .map-wrapper,.map-section .map-container{width:100%;height:100%}.map-container{outline:none}.map-error{color:#fff;z-index:800;background:#b00020;border-radius:4px;padding:.6rem 1rem;font-size:.85rem;position:absolute;top:.75rem;left:50%;transform:translate(-50%);box-shadow:0 2px 6px #0006}.map-info{color:#d0d6dd;z-index:800;background:#1e2433f2;border:1px solid #2a3442;border-radius:4px;padding:.6rem 1rem;font-size:.85rem;position:absolute;top:.75rem;right:.75rem;box-shadow:0 2px 6px #0006}.map-analyzing-badge{color:#d0f0ff;z-index:900;background:#0f1115d9;border:1px solid #4fc3f71f;border-radius:999px;align-items:center;gap:.5rem;padding:.35rem .6rem;font-size:.85rem;display:inline-flex;position:absolute;bottom:.9rem;left:.9rem;box-shadow:0 4px 12px #00000059}.map-analyzing-badge .map-analyzing-text{color:#cbefff;font-weight:600}.mapboxgl-ctrl-group{background:#1e2433fa!important;border:1px solid #2a3442!important;border-radius:4px!important;box-shadow:0 2px 8px #0000004d!important}.mapboxgl-ctrl-group button{color:#f5f7fa!important;cursor:pointer!important;background:0 0!important;border:none!important;min-width:36px!important;min-height:36px!important;padding:8px!important}.mapboxgl-ctrl-group button:hover{background:#4fc3f71f!important}.mapboxgl-ctrl-group button.active{background:#4fc3f733!important}@media (width<=768px){.mapboxgl-ctrl-group button{min-width:44px!important;min-height:44px!important;padding:10px!important}}:focus{outline-offset:2px;outline:2px solid #4fc3f7}.skip-link{color:#1e2633;z-index:1000;background:#4fc3f7;border-radius:4px;padding:8px;font-weight:600;text-decoration:none;position:absolute;top:-40px;left:6px}.skip-link:focus,.skip-link:focus-visible{top:6px}.panel-guidance-note{color:#94a3b8;font-size:.75rem}.clarity-consent-banner{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:10000;color:#f5f7fa;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1e2433fa;border:1px solid #2a3442;border-radius:8px;max-width:560px;margin-left:auto;padding:10px 12px;font-family:inherit;font-size:13px;position:fixed;box-shadow:0 2px 8px #0006}.clarity-consent-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.clarity-consent-text{color:#f5f7fa;flex:260px;line-height:1.4}.clarity-consent-actions{flex:none;gap:8px;margin-left:auto;display:flex}.clarity-consent-accept{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:6px;padding:8px 14px;font-weight:600;transition:background .2s}.clarity-consent-accept:hover{background:#059669}.clarity-consent-reject{color:#94a3b8;cursor:pointer;background:#6b728033;border:1px solid #374151;border-radius:6px;padding:8px 14px;font-weight:600;transition:all .2s}.clarity-consent-reject:hover{background:#6b72804d;border-color:#4b5563}.clarity-consent-banner button:focus{outline-offset:2px;outline:2px solid #4fc3f7}.mapboxgl-ctrl-group{box-shadow:0 2px 8px #0000004d!important}.mapboxgl-ctrl-group label:hover{background:#ffffff0d;border-radius:2px;margin:-2px -4px;padding:2px 4px;transition:background .15s}.mapboxgl-ctrl-group input[type=radio]:focus,.mapboxgl-ctrl-group input[type=checkbox]:focus{outline-offset:1px;outline:2px solid #4fc3f7}button:focus{outline-offset:2px!important;outline:2px solid #4fc3f7!important}.analysis-spinner{color:#4fc3f7;align-items:center;gap:.5rem;font-size:.85rem;display:inline-flex}.spinner{border:2px solid #4fc3f733;border-top-color:#4fc3f7;border-radius:50%;width:16px;height:16px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.analysis-loading-overlay{position:relative}.analysis-loading-overlay:after{content:"";-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1;background:#0f1115b3;border-radius:4px;position:absolute;inset:0}.analysis-loading-content{z-index:2;color:#4fc3f7;flex-direction:column;align-items:center;gap:.75rem;font-size:.9rem;font-weight:500;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.analysis-loading-content .spinner{border-width:3px;width:24px;height:24px}.analysis-panel-permanent{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f1115f2;border:1px solid #2a3442;border-radius:12px;flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden;box-shadow:0 4px 12px #0000004d}.analysis-header{cursor:pointer;background:#1e2433cc;border-bottom:1px solid #2a3442;flex:none;justify-content:space-between;align-items:center;padding:1rem;display:flex}.analysis-header h3{color:#f5f7fa;margin:0;font-size:1rem;font-weight:600}.distance-display{color:#ff6b35;font-size:.9rem;font-weight:600}.expand-button{color:#ff6b35;cursor:pointer;background:#ff6b351a;border:1px solid #ff6b35;border-radius:4px;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:.4rem .6rem;font-size:1rem;font-weight:600;transition:all .2s;display:flex}.expand-button:hover{background:#ff6b3533;transform:translateY(-1px)}.expand-button:focus{outline-offset:2px;outline:2px solid #ff6b35}.analysis-section.expanded .expand-button{background:#ff6b3526;border-color:#ff8c61}.analysis-content{flex-direction:column;flex:auto;gap:1rem;padding:1rem;display:flex;overflow-y:auto}.analysis-content,.config-content,.search-results,.live-feeds-panel,.equip-content{scrollbar-width:thin;scrollbar-color:#3a4559 transparent}.analysis-content::-webkit-scrollbar{width:8px}.config-content::-webkit-scrollbar{width:8px}.search-results::-webkit-scrollbar{width:8px}.live-feeds-panel::-webkit-scrollbar{width:8px}.equip-content::-webkit-scrollbar{width:8px}.analysis-content::-webkit-scrollbar-thumb{background:#3a4559;border-radius:4px}.config-content::-webkit-scrollbar-thumb{background:#3a4559;border-radius:4px}.search-results::-webkit-scrollbar-thumb{background:#3a4559;border-radius:4px}.live-feeds-panel::-webkit-scrollbar-thumb{background:#3a4559;border-radius:4px}.equip-content::-webkit-scrollbar-thumb{background:#3a4559;border-radius:4px}.analysis-content::-webkit-scrollbar-track{background:0 0}.config-content::-webkit-scrollbar-track{background:0 0}.search-results::-webkit-scrollbar-track{background:0 0}.live-feeds-panel::-webkit-scrollbar-track{background:0 0}.equip-content::-webkit-scrollbar-track{background:0 0}.best-options-summary{margin-bottom:1rem}.best-options-summary h4{color:#f5f7fa;text-transform:uppercase;letter-spacing:.5px;margin:0 0 .75rem;font-size:.9rem;font-weight:600}.best-options-grid{grid-template-columns:1fr;gap:.75rem;display:grid}@media (width>=1024px){.best-options-grid{grid-template-columns:1fr}}.option-category{background:#1e243399;border:1px solid #2a3442;border-radius:6px;flex-direction:column;gap:.5rem;padding:.5rem .75rem;transition:all .2s;display:flex}.option-category:hover{background:#1e2433cc;border-color:#3a4452}.category-header{align-items:center;gap:.5rem;display:flex}.category-icon{align-items:center;font-size:1rem;line-height:1;display:flex}.category-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;font-size:.8rem;font-weight:600}.option-details{justify-content:space-between;align-items:center;display:flex}.option-with-select{gap:.5rem}.option-with-select,.option-main-line{align-items:center;display:flex}.quick-select{color:#f5f7fa;letter-spacing:.3px;cursor:pointer;appearance:none;background:linear-gradient(145deg,#1e2433f2,#161b25f2);border:1px solid #2a3442;border-radius:6px;outline:none;min-width:150px;padding:.4rem 1.75rem .4rem .65rem;font-family:inherit;font-size:.85rem;font-weight:500;line-height:1.2;transition:border-color .15s,box-shadow .15s,background .25s;position:relative}.quick-select:hover{background:linear-gradient(145deg,#242c3af2,#1a202af2);border-color:#3a4452}.quick-select:focus{border-color:#4fc3f7;box-shadow:0 0 0 2px #4fc3f759}.quick-select option[disabled]{color:#6b7280}.quick-select option[data-incompatible=true]{color:#9aa4ad}.analysis-panel-permanent select,.analysis-panel-permanent .quick-select,.equipment-edit-form select,.condition-controls select{color:#f5f7fa;background:linear-gradient(145deg,#1e2433fa,#12161cfa)}.analysis-panel-permanent select option,.analysis-panel-permanent .quick-select option,.equipment-edit-form select option,.condition-controls select option{color:#f5f7fa;background:#161a20fa}.quick-select::-ms-expand{display:none}.quick-select{background-image:linear-gradient(145deg,#1e2433f2,#161b25f2),url("data:image/svg+xml,%3Csvg width='10' height='8' viewBox='0 0 10 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 5 4-5' stroke='%23cbd5e1' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:0 0,right 8px center;background-repeat:no-repeat,no-repeat;background-size:auto,10px 8px}.option-name{color:#f5f7fa;font-size:.85rem;font-weight:500}.option-time{color:#4fc3f7;font-size:.85rem;font-weight:600}.drop-preview-toggle{align-items:center;gap:.5rem;display:flex;position:relative}.drop-toggle-button{color:#c2e9fb;cursor:pointer;background:#1e2433d9;border:1px solid #4fc3f740;border-radius:8px;flex:none;justify-content:center;align-items:center;width:32px;height:32px;margin-left:.4rem;transition:background .15s,border-color .15s,transform .15s,box-shadow .2s;display:inline-flex;position:relative}.drop-toggle-button:hover{background:#282e3df2;border-color:#4fc3f7}.drop-toggle-button:active{transform:translateY(1px)}.drop-toggle-button.active{color:#4fc3f7;background:linear-gradient(135deg,#4fc3f72e,#4fc3f747);border-color:#4fc3f7;box-shadow:0 0 0 2px #4fc3f740}.aircraft-selection-row{align-items:center;gap:.5rem;display:flex}.aircraft-selection-row .quick-select{flex:1;min-width:120px}.table-row{position:relative}.row-drop-toggle-button{color:#94a3b8;cursor:pointer;z-index:10;background:0 0;border:none;border-radius:6px;padding:4px;position:absolute;top:10px;right:8px}.row-drop-toggle-button.active{color:#4fc3f7}.drop-preview-text,.drop-preview-text-small{color:#94a3b8;font-size:.85rem}.no-option{color:#6b7280;font-size:.8rem;font-style:italic}.no-line-message{text-align:center;color:#94a3b8;padding:2rem 1rem;font-style:italic}.analysis-panel{display:none}.conditions-section,.equipment-summary{margin-bottom:1.5rem}.breaks-list{background:#1e243399;border:1px solid #2a3442;border-radius:6px;padding:.75rem}.breaks-list .break-item{border-top:1px solid #2a34424d;padding:.5rem 0}.breaks-list .break-item:first-child{border-top:none}.break-header{justify-content:space-between;align-items:center;margin-bottom:.25rem;display:flex}.break-recommendations{color:#d0d6dd;flex-wrap:wrap;gap:.75rem;font-size:.85rem;display:flex}.break-distance{color:#ff6b35;font-weight:600}.conditions-section h4,.equipment-summary h4{color:#f5f7fa;text-transform:uppercase;letter-spacing:.5px;margin:0 0 .75rem;font-size:.9rem;font-weight:600}.condition-controls{flex-wrap:wrap;gap:1rem;display:flex}.condition-controls label{color:#d0d6dd;flex-direction:column;flex:1;gap:.25rem;min-width:140px;font-size:.8rem;display:flex}.condition-controls select{color:#d0d6dd;background:#1e2433cc;border:1px solid #2a3442;border-radius:4px;padding:.5rem;font-size:.8rem}.equipment-categories{flex-direction:column;gap:1.5rem;display:flex}.equipment-category-section{background:#1e243366;border:1px solid #2a3442;border-radius:8px;overflow:hidden}.category-section-header{color:#f5f7fa;background:#1e2433cc;border-bottom:1px solid #2a3442;align-items:center;gap:.5rem;margin:0;padding:.75rem 1rem;font-size:.9rem;font-weight:600;display:flex}.category-section-icon{align-items:center;margin-right:.5rem;font-size:1.1rem;line-height:1;display:flex}.equipment-table{border:none;border-radius:0;overflow:hidden}.table-header{color:#f5f7fa;text-transform:uppercase;letter-spacing:.5px;background:#1e243399;border-bottom:1px solid #2a3442;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:1rem;padding:.75rem;font-size:.8rem;font-weight:600;display:grid}.table-row{border-bottom:1px solid #2a34424d;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:1rem;padding:.75rem;transition:background-color .2s;display:grid}.table-row:hover{background:#1e24334d}.table-row:last-child{border-bottom:none}.table-row.incompatible{opacity:.5;background:#b446461a}.equipment-info{align-items:center;gap:.5rem;display:flex}.equipment-icon{text-align:center;justify-content:center;align-items:center;min-width:1.5rem;font-size:1.2rem;line-height:1;display:flex}.equipment-details{flex-direction:column;gap:.2rem;min-width:0;display:flex}.equipment-name{color:#f5f7fa;font-size:.85rem;font-weight:500}.equipment-type{color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;font-size:.7rem}.time-info{flex-direction:column;align-items:flex-end;display:flex}.time-value{color:#4fc3f7;font-size:.9rem;font-weight:600}.time-unit{color:#94a3b8;font-size:.7rem}.cost-info{justify-content:flex-end;align-items:center;display:flex}.cost-value{color:#81c784;font-size:.85rem;font-weight:600}.no-cost{color:#6b7280;font-size:.8rem}.status-info{align-items:center;font-size:.8rem;display:flex}.compatible{color:#1e9e62;font-weight:500}.partial-status{color:#f6a609;font-weight:500}.incompatible-status{color:#d8232a;font-weight:500}.incompatible-text{color:#6b7280;font-style:italic}@media (width<=768px){.best-options-grid{gap:.5rem}.option-category{padding:.5rem}.category-header{gap:.4rem}.category-icon{font-size:.9rem}.category-label{font-size:.75rem}.option-name,.option-time{font-size:.8rem}.equipment-categories{gap:1rem}.category-section-header{padding:.6rem .8rem;font-size:.85rem}.category-section-icon{font-size:1rem}.table-header{grid-template-columns:1.5fr 1fr 1fr;gap:.5rem;padding:.6rem;font-size:.75rem}.table-row{grid-template-columns:1.5fr 1fr 1fr;gap:.5rem;padding:.6rem}.equipment-icon{min-width:1.2rem;font-size:1rem}.equipment-name{font-size:.8rem}.equipment-type{font-size:.65rem}.status-info{border-top:1px solid #2a34424d;grid-column:1/-1;margin-top:.5rem;padding-top:.5rem}}.analysis-content::-webkit-scrollbar{width:6px}.analysis-content::-webkit-scrollbar-track{background:#1e24334d;border-radius:3px}.analysis-content::-webkit-scrollbar-thumb{background:#a0aec066;border-radius:3px}.analysis-content::-webkit-scrollbar-thumb:hover{background:#a0aec099}.vertex-marker-icon{background:#ff6b35;border:2px solid #00000059;border-radius:50%;width:14px;height:14px;box-shadow:0 1px 3px #0006}.midpoint-marker-icon{background:#fff0;border:2px solid #ff6b35e6;border-radius:50%;width:14px;height:14px;box-shadow:0 1px 2px #00000040}.config-panel-toggle{color:#fff;cursor:pointer;z-index:600;background:#ff6b35f2;border:none;border-radius:6px;padding:.5rem .9rem;font-size:.9rem;font-weight:600;position:absolute;top:50%;right:1rem;transform:translateY(-50%);box-shadow:0 2px 8px #0000004d}.veg-stat-row{align-items:center;gap:8px;margin:6px 0;font-size:12px;display:flex}.veg-label{color:#d0d6dd;width:70px}.veg-bar{background:#eee;border-radius:5px;flex:1;height:10px;position:relative;overflow:hidden}.veg-meter{background:#0a0;height:100%;position:absolute;top:0;left:0}.veg-meta{text-align:right;color:#d0d6dd;width:72px;font-size:12px}.config-panel-toggle:hover{background:#ff6b35;transform:translateY(-52%);box-shadow:0 4px 12px #0006}.equipment-config-panel.fullscreen{z-index:1200;background:#0f1115fa;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.equipment-config-panel.fullscreen .config-header{background:#1e2433cc;border-bottom:1px solid #2a3442;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.equipment-config-panel.fullscreen .config-header h3{color:#f5f7fa;margin:0;font-size:1.25rem}.shared-config-notice{color:#f8f9fa;background:linear-gradient(135deg,#ffc10726,#ffc10714);border:1px solid #ffc1074d;border-left:4px solid #ffc107;align-items:center;gap:12px;margin:0;padding:12px 20px;font-size:14px;line-height:1.4;display:flex}.shared-config-notice .notice-icon{flex-shrink:0;font-size:18px}.shared-config-notice .notice-content{flex:1}.shared-config-notice strong{color:#ffc107;font-weight:600}.equipment-config-panel.fullscreen .equip-tabs{background:#16202b;border-bottom:1px solid #233040;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 20px;display:flex}.equipment-config-panel.fullscreen .equip-content{flex-direction:column;flex:1;gap:12px;padding:16px 20px 40px;display:flex;overflow:auto}.equipment-config-panel.fullscreen .equip-row{box-sizing:border-box;background:#1d2732;border:1px solid #233040;border-radius:6px;grid-template-columns:minmax(180px,1.5fr) repeat(4,minmax(80px,120px)) minmax(140px,1.2fr) minmax(140px,1.2fr) 110px;align-items:center;gap:8px;min-height:48px;padding:8px 12px;font-size:13px;display:grid}.equipment-config-panel.fullscreen .equip-row.editing{background:#223547;gap:10px;padding:12px}.equipment-config-panel.fullscreen .equip-row.adding{background:#1f3444;border-style:dashed;gap:10px;padding:12px}.equipment-config-panel.fullscreen .tab-guide{color:#cfe8ff;background:linear-gradient(#ffffff05,#ffffff03);border-bottom:1px solid #ffffff08;flex-direction:column;gap:6px;margin:0 0 8px;padding:12px 20px;font-size:13px;display:flex}.equipment-config-panel.fullscreen .tab-guide .guide-line{align-items:center;gap:8px;margin:0;padding:0;display:flex}.equipment-config-panel.fullscreen .tab-guide .guide-line strong{color:#e6f7ff;font-weight:600}.equipment-config-panel.fullscreen .tab-guide .muted{color:#94a3b8;font-size:12px}@media (width<=1200px){.equipment-config-panel.fullscreen .equip-row{grid-template-columns:minmax(160px,1.3fr) repeat(3,minmax(75px,110px)) minmax(120px,1fr) minmax(120px,1fr) 100px}}@media (width<=900px){.equipment-config-panel.fullscreen .equip-row{flex-direction:column;grid-template-columns:none;align-items:stretch;gap:10px;display:flex}.equipment-config-panel.fullscreen .eq-actions,.equipment-config-panel.fullscreen .eq-tags{justify-content:flex-start}}.config-header{background:#1e2433cc;border-bottom:1px solid #2a3442;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.config-header h3{color:#f5f7fa;margin:0;font-size:1.25rem}.close-button{color:#ff6b35;cursor:pointer;background:0 0;border:1px solid #ff6b35;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;transition:all .2s;display:flex}.close-button:hover{background:#ff6b351a;transform:scale(1.1)}.config-tabs{background:#1e243399;border-bottom:1px solid #2a3442;display:flex}.tab-button{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;padding:1rem 1.5rem;font-size:.9rem;font-weight:500;transition:all .2s}.tab-button:hover{color:#d0d6dd;background:#2d36464d}.tab-button.active{color:#ff6b35;background:#ff6b351a;border-bottom-color:#ff6b35}.config-content{flex:1;padding:1.5rem;overflow-y:auto}.equipment-list{gap:1.5rem;max-width:1200px;margin:0 auto;display:grid}.equipment-item{background:#1e243399;border:1px solid #2a3442;border-radius:8px;padding:1.5rem}.equipment-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.equipment-header h5{color:#f5f7fa;margin:0;font-size:1.1rem}.edit-button{color:#4fc3f7;cursor:pointer;background:#4fc3f733;border:1px solid #4fc3f7;border-radius:4px;padding:.5rem 1rem;font-size:.85rem;transition:all .2s}.edit-button:hover{background:#4fc3f74d;transform:translateY(-1px)}.equipment-details{color:#94a3b8;font-size:.9rem;line-height:1.5}.equipment-details p{margin:.5rem 0}.equipment-edit-form{background:#2d3646cc;border-radius:6px;padding:1.5rem}.equipment-edit-form h5{color:#f5f7fa;border-bottom:1px solid #2a3442;margin:0 0 1.5rem;padding-bottom:.75rem;font-size:1.1rem}.form-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.form-grid label{color:#d0d6dd;flex-direction:column;gap:.5rem;font-size:.9rem;font-weight:500;display:flex}.form-grid input,.form-grid textarea{color:#f5f7fa;background:#0f1115cc;border:1px solid #2a3442;border-radius:4px;padding:.75rem;font-size:.9rem}.form-grid input:focus,.form-grid textarea:focus{background:#0f1115e6;border-color:#ff6b35;outline:none}.form-grid textarea{resize:vertical;min-height:80px}.constraints-section{margin-bottom:1.5rem}.constraints-section h6{color:#f5f7fa;text-transform:uppercase;letter-spacing:.5px;margin:1rem 0 .75rem;font-size:.9rem;font-weight:600}.checkbox-group{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;display:grid}.checkbox-label{color:#94a3b8;cursor:pointer;border-radius:4px;align-items:center;gap:.5rem;padding:.5rem;font-size:.85rem;transition:background-color .2s;display:flex}.checkbox-label:hover{background:#2d36464d}.checkbox-label input[type=checkbox]{accent-color:#ff6b35;width:16px;height:16px}.form-actions{border-top:1px solid #2a3442;justify-content:flex-end;gap:1rem;padding-top:1rem;display:flex}.save-button{color:#10b981;cursor:pointer;background:#10b98133;border:1px solid #10b981;border-radius:4px;padding:.75rem 1.5rem;font-weight:600;transition:all .2s}.save-button:hover{background:#10b9814d;transform:translateY(-1px)}.cancel-button{color:#6b7280;cursor:pointer;background:#6b728033;border:1px solid #6b7280;border-radius:4px;padding:.75rem 1.5rem;font-weight:600;transition:all .2s}.cancel-button:hover{background:#6b72804d}.header-info{flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}.slope-display{color:#94a3b8;font-weight:500}.analysis-loading{color:#ff6b35;font-size:.8rem;font-style:italic}.slope-summary{color:#94a3b8;font-size:.8rem}.slope-analysis-section{background:#1e243366;border-radius:6px;margin-bottom:1rem;padding:1rem}.slope-analysis-section h4{color:#e1e7ef;margin:0 0 .75rem;font-size:.95rem}.slope-stats{gap:1rem;margin-bottom:.75rem;display:flex}.slope-stats span{color:#94a3b8;font-size:.85rem}.slope-distribution{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.slope-category{border-radius:4px;justify-content:space-between;padding:.4rem .6rem;font-size:.8rem;display:flex}.slope-category.flat{color:#4ade80;background:#00ff001a}.slope-category.medium{color:#fbbf24;background:#ffff001a}.slope-category.steep{color:#f97316;background:#ff88001a}.slope-category.very-steep{color:#ef4444;background:#ff00001a}.incompatible-details{flex-direction:column;gap:.25rem;display:flex}.slope-warning{color:#f97316;font-size:.75rem;font-style:italic}.auto-detected-vegetation{background:#1e243366;border-left:3px solid #10b981;border-radius:6px;margin-bottom:.75rem;padding:1rem}.auto-detected-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.auto-detected-label{color:#e1e7ef;font-size:.9rem}.confidence-badge{color:#10b981;background:#10b98133;border-radius:12px;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.vegetation-toggle{align-items:center;display:flex}.vegetation-toggle label{color:#94a3b8;cursor:pointer;align-items:center;gap:.5rem;margin:0;font-size:.85rem;display:flex}.vegetation-toggle input[type=checkbox]{accent-color:#10b981;width:16px;height:16px}.effective-vegetation{color:#94a3b8;text-align:center;background:#2d36464d;border-radius:4px;margin-top:.5rem;padding:.5rem;font-size:.8rem}.effective-vegetation strong{color:#e1e7ef}.mapbox-map-container{width:100%;height:100%;position:relative}.mapbox-map{width:100%;height:100%}.map-error-overlay{color:#fff;z-index:1000;text-align:center;background:#dc2626e6;border-radius:8px;max-width:80%;padding:16px 20px;font-size:14px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.map-error-overlay strong{margin-bottom:8px;font-size:16px;display:block}.touch-hint-overlay{color:#fff;z-index:1000;background:#000c;border-radius:6px;justify-content:space-between;align-items:center;max-width:200px;padding:12px;font-size:14px;display:flex;position:absolute;top:20px;right:20px}.touch-hint-overlay button{color:#fff;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin-left:8px;font-size:18px;display:flex}.analyzing-badge{color:#fff;z-index:990;background:#0284c7cc;border-radius:4px;padding:6px 12px;font-size:14px;position:absolute;bottom:20px;right:20px}.distance-badge{color:#fff;z-index:990;background:#000000b3;border-radius:4px;width:auto;max-width:200px;height:auto;padding:6px 12px;font-size:14px;font-weight:500;display:inline-block;position:absolute;bottom:20px;left:20px}.area-recon-toggle-btn{z-index:990;color:#e2e8f0;cursor:pointer;transition:all var(--transition-fast);background:#0f172ad9;border:1px solid #94a3b859;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;position:absolute;top:20px;left:20px}.area-recon-toggle-btn:hover{color:#fff;border-color:#38bdf8}.area-recon-toggle-btn.active{color:#7dd3fc;background:#38bdf833;border-color:#38bdf8}.area-recon-badge{z-index:990;color:#04121c;background:#38bdf8d9;border-radius:4px;padding:6px 12px;font-size:13px;font-weight:600;position:absolute;top:68px;left:20px}.area-recon-badge.error{color:#fff;background:#d8232ad9}.area-recon-clear-btn{z-index:990;color:#7dd3fc;cursor:pointer;background:#0f172ad9;border:1px solid #38bdf880;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:600;position:absolute;top:68px;left:20px}.area-recon-clear-btn:hover{color:#fff;border-color:#38bdf8}.live-feeds-control{z-index:980;font-size:13px;position:absolute;top:120px;right:20px}.live-layers-tab-content .live-feeds-control{z-index:auto;position:static;top:auto;right:auto}.live-feeds-toggle-btn{color:#e2e8f0;cursor:pointer;white-space:nowrap;background:#0f172ad9;border:1px solid #94a3b859;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;box-shadow:0 2px 6px #00000059}.live-feeds-toggle-btn:hover{color:#fff;border-color:#f6a609}.live-feeds-control.open .live-feeds-toggle-btn{border-color:#f6a609}.live-layers-tab-content .live-feeds-toggle-btn{width:100%;box-shadow:none;background:#1f293799;justify-content:flex-start;padding:10px 12px}.live-feeds-panel{color:#e8ecf1;background:#0a0e14f0;border:1px solid #ffffff26;border-radius:8px;width:280px;max-width:calc(100vw - 40px);max-height:60dvh;margin-top:8px;padding:12px;overflow-y:auto;box-shadow:0 4px 16px #00000080}.live-layers-tab-content .live-feeds-panel{width:100%;max-width:100%;max-height:calc(100dvh - 300px);box-shadow:none;background:0 0;border:none;margin-top:0}.live-feeds-caveat{color:#f5a623;background:#f5a6231f;border:1px solid #f5a6234d;border-radius:4px;margin-bottom:10px;padding:6px 8px;font-size:11px;line-height:1.4}.livefeed-row{margin-bottom:12px}.livefeed-row:last-child{margin-bottom:0}.livefeed-toggle{cursor:pointer;align-items:center;gap:6px;font-weight:600;display:flex}.livefeed-toggle input{cursor:pointer}.livefeed-spinner{opacity:.7;font-size:11px}.livefeed-detail{color:#b8c2cf;flex-direction:column;gap:2px;margin-top:4px;margin-left:22px;font-size:11.5px;display:flex}.livefeed-error{color:#ff8a80;margin-top:4px;margin-left:22px;font-size:11.5px}.livefeed-attr{color:#7d8a99;font-size:10.5px;line-height:1.3}.livefeed-sources{flex-wrap:wrap;gap:6px;display:flex}.livefeed-sources .src-ok{color:#6fd88a}.livefeed-sources .src-fail{color:#ff8a80}.livefeed-popup{max-width:280px;font-size:12.5px;line-height:1.5}.livefeed-popup div{margin-bottom:2px}.aircraft-drop-marker{background:#ff4500;border:2px solid #fff;border-radius:50%;width:12px;height:12px;box-shadow:0 0 0 2px #ff45004d}.mapbox-gl-draw_ctrl-draw-btn{background-color:#3773b3!important;border-color:#aaa!important;box-shadow:0 1px 4px #0000004d!important}.mapbox-gl-draw_ctrl-draw-btn.active{background-color:#2c5d91!important;border-color:#fff!important}.mapbox-gl-draw_ctrl-draw-btn svg{fill:#fff!important;stroke:#fff!important;stroke-width:.5px!important}.mapbox-gl-draw_line{border-left:3px solid #fff!important}.mapbox-gl-draw_trash{background-color:#b92d2b!important;border-left:3px solid #fff!important}.mapboxgl-ctrl-group{background-color:#fff!important;border:1px solid #ccc!important;margin-bottom:10px!important;box-shadow:0 2px 6px #0006!important}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{margin:10px 0 0 10px!important}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{margin:10px 10px 0 0!important}.mapboxgl-ctrl-group.mapboxgl-ctrl-group-draw{background-color:#0000001a!important;border:2px solid #fff!important;padding:2px!important}.mapboxgl-ctrl button{background-color:#fff!important;border-bottom:1px solid #e0e0e0!important}.mapbox-gl-draw_ctrl-draw-btn{justify-content:center!important;align-items:center!important;width:30px!important;height:30px!important;display:flex!important;position:relative!important}.mapbox-gl-draw_line:after{content:"✏️";text-shadow:0 0 2px #00000080;font-size:16px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mapbox-gl-draw_trash:after{content:"🗑️";text-shadow:0 0 2px #00000080;font-size:16px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mapboxgl-ctrl button:hover{background-color:#f0f0f0!important}.mapbox-gl-draw_ctrl-draw-btn:hover{cursor:pointer!important;background-color:#4a8bc5!important}.mapbox-gl-draw_trash:hover{cursor:pointer!important;background-color:#d13438!important}.draw-button-label{color:#fff;white-space:nowrap;pointer-events:none;background:#000;border-radius:3px;padding:3px 5px;font-size:10px;font-weight:700;display:none;position:absolute;top:31px;left:50%;transform:translate(-50%)}.mapbox-gl-draw_ctrl-draw-btn:hover .draw-button-label{display:block}.drawing-controls{z-index:1001;background:#f5f7faf2;border:1px solid #d0d6dd;border-radius:6px;padding:8px;position:absolute;top:10px;left:10px;box-shadow:0 2px 8px #00000026}.finish-line-button{color:#fff;cursor:pointer;background:#28a745;border:none;border-radius:4px;justify-content:center;align-items:center;gap:6px;min-width:120px;min-height:44px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.finish-line-button:hover{background:#218838;transform:translateY(-1px);box-shadow:0 2px 4px #0003}.finish-line-button:active{background:#1e7e34;transform:translateY(0);box-shadow:0 1px 2px #0003}.finish-line-button:focus{outline-offset:2px;outline:2px solid #4fc3f7}@media (width<=768px){.drawing-controls{text-align:left;top:8px;left:8px;right:auto;transform:none}.finish-line-button{width:auto;min-width:120px;min-height:48px}}.touch-drawing-hint{color:#e2f1ff;background:#141922f2;border:1px solid #314152;border-radius:6px;align-items:flex-start;gap:8px;max-width:260px;margin-top:8px;padding:8px 10px 8px 12px;font-size:12px;line-height:1.3;display:flex;position:relative;box-shadow:0 4px 10px -2px #00000080}.touch-drawing-hint strong{color:#fff}.touch-drawing-hint-text{flex:1}.touch-drawing-hint-dismiss{color:#93aac2;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:16px;line-height:1}.touch-drawing-hint-dismiss:hover{color:#fff}@media (width<=640px){.touch-drawing-hint{max-width:70vw}}.vegetation-zoom-hint{color:#e2f1ff;z-index:1002;background:#141922f2;border:1px solid #314152;border-left:3px solid #10b981;border-radius:6px;max-width:300px;padding:10px 12px;font-size:13px;line-height:1.4;position:absolute;top:10px;right:10px;box-shadow:0 4px 10px -2px #00000080}.vegetation-zoom-hint-content{align-items:flex-start;gap:8px;display:flex}.vegetation-zoom-hint strong{color:#10b981}.vegetation-zoom-hint-dismiss{color:#93aac2;cursor:pointer;background:0 0;border:none;flex-shrink:0;margin-left:auto;padding:0 4px;font-size:16px;line-height:1}.vegetation-zoom-hint-dismiss:hover{color:#fff}.contour-overlay{opacity:1;pointer-events:none}.contour-overlay svg{shape-rendering:geometricprecision}.contour-overlay path{stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;fill:none;vector-effect:non-scaling-stroke}@media (width<=640px){.vegetation-zoom-hint{max-width:80vw;top:8px;right:8px}}.vegetation-config-panel{color:#f5f7fa;flex-direction:column;width:100%;height:100%;display:flex;overflow-y:auto}.vegetation-config-toggle{margin:1rem 0}.vegetation-mapping-form{background:#1e293b;border:1px solid #334155;border-radius:8px;margin-top:1rem;padding:1.5rem}.vegetation-mapping-form .form-group{margin-bottom:1rem}.vegetation-mapping-form label{margin-bottom:.5rem;font-weight:500;display:block}.vegetation-mapping-form input,.vegetation-mapping-form select,.vegetation-mapping-form textarea{color:#f5f7fa;background:#1a2332;border:1px solid #3a4559;border-radius:4px;width:100%;margin-top:.25rem;padding:.75rem}.vegetation-mapping-form .checkbox-group{align-items:center;display:flex}.vegetation-mapping-form .checkbox-group input[type=checkbox]{width:auto;margin-right:.5rem}.vegetation-mapping-form .checkbox-group label{align-items:center;margin:0;display:flex}.vegetation-mapping-form .form-actions{gap:1rem;margin-top:1.5rem;display:flex}.vegetation-mapping-form button{cursor:pointer;border:none;border-radius:4px;padding:.75rem 1.5rem;font-weight:500}.vegetation-mapping-form button[type=submit]{color:#fff;background-color:#0d6efd}.vegetation-mapping-form button[type=button]{color:#f5f7fa;background-color:#3a4559}.mappings-container{background:#1e293b;border:1px solid #334155;border-radius:8px;margin-top:1rem;overflow:hidden}.hierarchical-mappings,.flat-mappings{padding:1rem}.formation-group,.class-group{margin-bottom:.75rem}.formation-header,.class-header{cursor:pointer;background:#263244;border-bottom:1px solid #334155;align-items:center;padding:.75rem 1rem;transition:background-color .2s;display:flex}.formation-header:hover,.class-header:hover{background:#2d3a4d}.formation-expand-icon,.class-expand-icon{width:16px;margin-right:.5rem}.formation-title,.class-title{flex:1;justify-content:space-between;align-items:center;display:flex}.formation-classes,.class-types{margin-top:.5rem;padding-left:1.5rem}.type-item{background:#263244;border-radius:4px;align-items:center;margin-bottom:.5rem;padding:.5rem;display:flex}.vegetation-type-badge{border-radius:12px;margin-left:.5rem;padding:.25rem .5rem;font-size:.75rem}.vegetation-type-badge.grassland{color:#1a2332;background:#8bc34a}.vegetation-type-badge.lightshrub{color:#1a2332;background:#ffc107}.vegetation-type-badge.mediumscrub{color:#1a2332;background:#ff9800}.vegetation-type-badge.heavyforest{color:#fff;background:#f44336}.override-badge{color:#fff;background:#9c27b0;border-radius:8px;margin-left:.5rem;padding:.15rem .3rem;font-size:.7rem}.mapping-row{background:#1a2332;border-radius:4px;align-items:center;margin-bottom:.5rem;padding:.75rem;display:flex}.mapping-name{flex:1}.mapping-type{align-items:center;margin:0 1rem;display:flex}.mapping-actions{gap:.5rem;display:flex}.mapping-actions button,.formation-actions button,.class-actions button,.type-actions button{cursor:pointer;border:none;border-radius:4px;padding:.25rem .5rem;font-size:.75rem}.edit-button{color:#fff;background-color:#0d6efd}.delete-button{color:#fff;background-color:#dc3545}.panel-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.search-container{flex:1;position:relative}.search-input{color:#f5f7fa;background:#1a2332;border:1px solid #3a4559;border-radius:4px;width:100%;padding:.5rem 2rem .5rem .75rem}.clear-search{color:#6c757d;cursor:pointer;background:0 0;border:none;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.view-toggles{gap:.5rem;display:flex}.create-button{color:#fff;cursor:pointer;background-color:#28a745;border:none;border-radius:4px;padding:.5rem 1rem}.bulk-vegetation-editor{background:#263244;border-radius:8px;margin-bottom:1rem;padding:1rem}.editor-controls{align-items:center;gap:1rem;display:flex}.bulk-type-select{color:#f5f7fa;background:#1a2332;border:1px solid #3a4559;border-radius:4px;padding:.5rem}.apply-button{color:#fff;cursor:pointer;background-color:#0d6efd;border:none;border-radius:4px;padding:.5rem 1rem}.editor-help{color:#adb5bd;margin-top:.5rem}.selection-checkbox{margin-right:.5rem}.selected{outline:2px solid #0d6efd}.no-mappings{text-align:center;color:#6c757d;padding:2rem}.loading{text-align:center;color:#f5f7fa;padding:2rem}.error-message{color:#fff;background:#dc3545;border-radius:4px;margin-bottom:1rem;padding:1rem}.mapping-stats{color:#adb5bd;margin-bottom:1rem}.panel-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.panel-description{color:#e2e8f0;margin-bottom:1.5rem}.panel-description h3{color:#fff;margin-top:0;margin-bottom:1rem;font-weight:600}.panel-description p{margin-top:0;font-size:.9rem;line-height:1.5}.help-content{color:#f5f7fa;background:#1e243366;border:1px solid #2a3442;border-radius:6px;height:100%;margin:0;padding:1rem;font-size:.9rem;line-height:1.6;overflow-y:auto}.help-header{text-align:center;border-bottom:1px solid #2a3442;margin-bottom:1.5rem;padding-bottom:1rem}.help-header h4{color:#ff6b35;justify-content:center;align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:1.1rem;font-weight:600;display:flex}.help-subtitle{color:#94a3b8;margin:0;font-size:.85rem;font-style:italic}.help-sections{flex-direction:column;gap:1.25rem;display:flex}.help-section{background:#2d36464d;border:1px solid #ffffff1a;border-radius:6px;padding:1rem;transition:all .2s}.help-section:hover{background:#2d364666;border-color:#ffffff26}.help-section h5{color:#4fc3f7;align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:.95rem;font-weight:600;display:flex}.help-steps ol{color:#e2e8f0;margin:0 0 1rem;padding-left:1.25rem}.help-steps li{margin-bottom:.5rem}.help-steps li strong{color:#f5f7fa;font-weight:600}.help-tip{background:#ff6b351a;border:1px solid #ff6b354d;border-left:3px solid #ff6b35;border-radius:4px;margin-top:1rem;padding:.75rem}.help-tip strong{color:#ff6b35;margin-bottom:.5rem;display:block}.help-tip ul{margin:0;padding-left:1.25rem}.help-tip li{color:#e2e8f0;margin-bottom:.25rem}.help-controls{flex-direction:column;gap:1rem;display:flex}.control-group{background:#1e243366;border-radius:4px;padding:.75rem}.control-group h6{color:#4fc3f7;align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:.85rem;font-weight:600;display:flex}.control-group ul{margin:0;padding-left:1.25rem}.control-group li{color:#e2e8f0;margin-bottom:.25rem}.control-group li strong{color:#f5f7fa;font-weight:600}.help-tips{flex-direction:column;gap:.5rem;display:flex}.tip-item{background:#1e243366;border-radius:4px;align-items:center;gap:.75rem;padding:.5rem;transition:background .2s;display:flex}.tip-item:hover{background:#1e243399}.tip-icon{text-align:center;flex-shrink:0;width:1.5rem;font-size:1.1rem}.help-description{color:#e2e8f0;margin:0 0 .75rem}.help-features{color:#e2e8f0;margin:0;padding-left:1.25rem}.help-features li{margin-bottom:.5rem}.help-footer{text-align:center;border-top:1px solid #2a3442;margin-top:1.5rem;padding-top:1rem}.help-footer-text{color:#94a3b8;margin:0;font-size:.9rem}.help-footer-text strong{color:#4fc3f7;font-weight:600}@media (width<=768px){.help-content{padding:.75rem;font-size:.85rem}.help-header h4{font-size:1rem}.help-subtitle{font-size:.8rem}.help-section{padding:.75rem}.help-section h5{font-size:.9rem}.help-controls{gap:.75rem}.control-group{padding:.6rem}.control-group h6{font-size:.8rem}.tip-item{gap:.6rem;padding:.4rem}.tip-icon{width:1.25rem;font-size:1rem}}.bottom-buttons-container{flex:none;padding:6px 8px}.bottom-buttons-container .buttons-row{justify-content:flex-end;align-items:center;gap:8px;display:flex}.bottom-buttons-container .btn,.bottom-buttons-container .bmc-fallback,.bottom-buttons-container .feature-suggestion-button{color:#cbd5e1;box-shadow:none;opacity:.92;background:#ffffff08;border:1px solid #ffffff0f;border-radius:6px;padding:4px 8px;font-size:11px;line-height:1;transition:background .14s,transform .12s,opacity .12s}.bottom-buttons-container .btn:hover,.bottom-buttons-container .bmc-fallback:hover,.bottom-buttons-container .feature-suggestion-button:hover{opacity:1;background:#ffffff0f;transform:translateY(-1px)}.bottom-buttons-container .btn:disabled,.bottom-buttons-container .quick-add:disabled{opacity:.6;cursor:not-allowed}.bottom-buttons-container .bmc-fallback{color:#bcd0e0;background:0 0;border:1px solid #ffffff0a;border-radius:5px;padding:3px 7px;font-size:11px}.bottom-buttons-container .feature-suggestion-button{color:#bcd0e0;background:#0d6efd0f;border-color:#0d6efd1a;padding:4px 8px;font-size:11px}@media (width<=480px){.bottom-buttons-container .buttons-row{gap:6px}.bottom-buttons-container .btn,.bottom-buttons-container .bmc-fallback,.bottom-buttons-container .feature-suggestion-button{padding:3px 6px;font-size:10px}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (width<=480px){.confirm-dialog{max-width:calc(100vw - var(--space-8))}.confirm-dialog-footer{flex-direction:column}.confirm-dialog-footer .btn{width:100%}}@keyframes button-spin{to{transform:rotate(360deg)}}.confirm-dialog-overlay{background:var(--color-bg-overlay);z-index:var(--z-modal-backdrop);padding:var(--space-4);animation:fade-in var(--transition-base);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-dialog{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:480px;z-index:var(--z-modal);animation:slide-up var(--transition-slow)}.confirm-dialog-header{padding:var(--space-6) var(--space-6) var(--space-4);border-bottom:1px solid var(--color-border-subtle)}.confirm-dialog-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-tight);margin:0}.confirm-dialog-body{padding:var(--space-6)}.confirm-dialog-message{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-normal);margin:0}.confirm-dialog-footer{padding:var(--space-4) var(--space-6) var(--space-6);gap:var(--space-3);justify-content:flex-end;display:flex}.confirm-dialog-danger .confirm-dialog-title{color:var(--color-danger)}.confirm-dialog-danger{border-top:3px solid var(--color-danger)}.confirm-dialog-warning .confirm-dialog-title{color:var(--color-warning)}.confirm-dialog-warning{border-top:3px solid var(--color-warning)}.confirm-dialog-info .confirm-dialog-title{color:var(--color-info)}.confirm-dialog-info{border-top:3px solid var(--color-info)}@media (width<=480px){.confirm-dialog{max-width:calc(100vw - var(--space-8))}.confirm-dialog-footer{flex-direction:column}.confirm-dialog-footer .btn{width:100%}}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:var(--font-family-base);line-height:var(--line-height-tight);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-all);min-height:var(--touch-target-min);white-space:nowrap;border:1px solid #0000;text-decoration:none;display:inline-flex}.btn:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.btn-primary{background:var(--color-accent-primary);color:#fff;border-color:var(--color-accent-primary)}.btn-primary:hover:not(:disabled){background:var(--color-accent-secondary);border-color:var(--color-accent-secondary);transform:translateY(-2px);box-shadow:0 4px 8px #3b82f64d}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #3b82f633}.btn-success{background:var(--color-success);color:#fff;border-color:var(--color-success)}.btn-success:hover:not(:disabled){background:var(--color-success-hover);border-color:var(--color-success-hover);transform:translateY(-2px);box-shadow:0 4px 8px #10b9814d}.btn-danger{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.btn-danger:hover:not(:disabled){background:var(--color-danger-hover);border-color:var(--color-danger-hover);transform:translateY(-2px);box-shadow:0 4px 8px #ef44444d}.btn-warning{background:var(--color-warning);color:#fff;border-color:var(--color-warning)}.btn-warning:hover:not(:disabled){background:var(--color-warning-hover);border-color:var(--color-warning-hover);transform:translateY(-2px);box-shadow:0 4px 8px #f59e0b4d}.btn-secondary{background:var(--color-bg-elevated);color:var(--color-text-secondary);border-color:var(--color-border-primary)}.btn-secondary:hover:not(:disabled){background:var(--color-border-primary);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.btn-ghost{color:var(--color-text-secondary);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--color-accent-hover);color:var(--color-accent-primary)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs);min-height:36px}.btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--font-size-base);min-height:52px}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none!important;transform:none!important}.btn-loading{color:#0000;position:relative}.btn-loading:after{content:"";border:2px solid;border-top-color:#0000;border-radius:50%;width:16px;height:16px;margin-top:-8px;margin-left:-8px;animation:.6s linear infinite button-spin;position:absolute;top:50%;left:50%}.map-empty-state{z-index:500;pointer-events:none;max-width:280px;animation:.4s ease-out slideInRight;position:absolute;top:80px;right:16px}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.map-empty-state-content{border:2px solid var(--color-accent-primary,#10b981);padding:var(--space-4,16px);pointer-events:auto;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f1115f2;border-radius:8px;box-shadow:0 4px 12px #0006,0 2px 8px #10b98126}.map-empty-state-header{align-items:center;gap:var(--space-2,8px);margin-bottom:var(--space-2,8px);display:flex}.map-empty-state-icon{font-size:24px;line-height:1;animation:2s ease-in-out infinite gentlePulse}@keyframes gentlePulse{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.map-empty-state-title{font-size:var(--font-size-base,14px);font-weight:var(--font-weight-semibold,600);color:var(--color-text-primary,#f5f7fa);margin:0;line-height:1.3}.map-empty-state-message{font-size:var(--font-size-sm,13px);color:var(--color-text-secondary,#94a3b8);margin:0;line-height:1.5}.map-empty-state-message strong{color:var(--color-accent-primary,#10b981);font-weight:var(--font-weight-semibold,500)}@media (width<=768px){.map-empty-state{max-width:240px;top:70px;right:12px}.map-empty-state-content{padding:var(--space-3,12px)}.map-empty-state-icon{font-size:20px}.map-empty-state-title{font-size:var(--font-size-sm,13px)}.map-empty-state-message{font-size:var(--font-size-xs,12px)}}@media (prefers-contrast:high){.map-empty-state-content{background:#000000fa;border-width:3px}}@media (prefers-reduced-motion:reduce){.map-empty-state,.map-empty-state-icon{animation:none}}.data-quality-warning{color:#7b5312;background:#b7791f1f;border:1px solid #b7791f;border-left-width:4px;border-radius:6px;align-items:flex-start;gap:.5rem;margin:.5rem 0 .75rem;padding:.6rem .75rem;font-size:.8rem;line-height:1.35;display:flex}.data-quality-warning strong{color:#7b5312}.data-quality-icon{font-size:1rem;line-height:1.2}.break-width-group{margin-bottom:.75rem}.break-width-group select{border-radius:6px;width:100%;min-height:44px;padding:.4rem .5rem}.break-width-hint{opacity:.75;margin-top:.25rem;font-size:.72rem}@media (prefers-color-scheme:dark){.data-quality-warning{color:#f5d59b;background:#b7791f2e;border-color:#d69e2e}.data-quality-warning strong{color:#f8e3bd}}.plan-export-toolbar{flex-wrap:wrap;gap:.4rem;margin:.5rem 0 .75rem;display:flex}.plan-export-btn{min-width:90px;min-height:44px;color:inherit;cursor:pointer;background:#d8431514;border:1px solid #d8431580;border-radius:6px;flex:auto;padding:.4rem .6rem;font-size:.8rem;transition:background .15s,border-color .15s}.plan-export-btn:hover:not(:disabled){background:#d8431529;border-color:#d84315cc}.plan-export-btn:disabled{opacity:.45;cursor:not-allowed}.analysis-tabs{background:#1e243399;border-bottom:1px solid #2a3442;flex:none;gap:2px;padding:.4rem .75rem 0;display:flex}.analysis-tab{color:#94a3b8;cursor:pointer;min-height:40px;transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:1px solid #0000;border-bottom:none;border-radius:8px 8px 0 0;align-items:center;gap:.35rem;padding:.5rem .8rem;font-size:.8rem;font-weight:600;display:inline-flex}.analysis-tab:hover{color:#e2e8f0;background:#ffffff0a}.analysis-tab.active{color:#f5f7fa;background:#0f1115f2;border-color:#2a3442;position:relative}.analysis-tab.active:after{content:"";background:#ff6b35;border-radius:2px;height:2px;position:absolute;top:0;left:.6rem;right:.6rem}.tab-badge{background:var(--rfs-core-red,#d8232a);color:#fff;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.68rem;font-weight:700;display:inline-flex}.stat-tiles{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.5rem;display:grid}.stat-tile{background:#1e24338c;border:1px solid #2a3442;border-radius:8px;flex-direction:column;gap:.15rem;padding:.6rem .7rem;display:flex}.stat-tile-value{color:#f5f7fa;font-size:1.15rem;font-weight:700;line-height:1.15}.stat-tile-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;font-size:.68rem}.stat-tile.difficulty-low .stat-tile-value{color:#34d399}.stat-tile.difficulty-moderate .stat-tile-value{color:#fbbf24}.stat-tile.difficulty-high .stat-tile-value{color:#fb923c}.stat-tile.difficulty-extreme .stat-tile-value{color:#f87171}.attention-strip{color:#fbd38d;text-align:left;cursor:pointer;width:100%;min-height:44px;transition:background var(--transition-fast);background:#f6a6091a;border:1px solid #f6a60973;border-left-width:4px;border-radius:8px;align-items:center;gap:.5rem;padding:.55rem .75rem;font-size:.8rem;display:flex}.attention-strip:hover{background:#f6a6092e}.attention-strip span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.attention-strip-cta{color:#f6a609;flex:none;font-weight:700}.terrain-tab{flex-direction:column;gap:1rem;display:flex}.terrain-section h4{color:#f5f7fa;margin:0 0 .5rem;font-size:.85rem}.elevation-profile{background:#1e243373;border:1px solid #2a3442;border-radius:8px;padding:.5rem .5rem .25rem}.elevation-profile svg{touch-action:none;cursor:crosshair;width:100%;height:auto;display:block}.ep-grid{stroke:#94a3b826;stroke-width:1px}.ep-axis-label{fill:#94a3b8;font-size:9px;font-family:var(--font-family-mono)}.ep-area{fill:#ff6b3514;stroke:none}.ep-line{fill:none;stroke-width:2.25px;stroke-linecap:round}.ep-crosshair{stroke:#f6a609d9;stroke-width:1px;stroke-dasharray:3 2}.ep-crosshair-dot{fill:#f6a609;stroke:#fff;stroke-width:1.5px}.ep-readout{color:#cbd5e1;flex-wrap:wrap;gap:.35rem 1rem;min-height:1.6rem;padding:.35rem .25rem .3rem;font-size:.75rem;display:flex}.ep-readout-item strong{color:#f6a609}.ep-readout-hint{color:#64748b;font-size:.72rem}.elevation-profile-empty,.segment-breakdown-empty{color:#94a3b8;background:#1e243366;border:1px dashed #2a3442;border-radius:8px;padding:.75rem;font-size:.8rem}.segment-breakdown{flex-direction:column;gap:.4rem;display:flex}.segment-table{border:1px solid #2a3442;border-radius:8px;font-size:.78rem;overflow:hidden}.segment-table-header,.segment-table-row{grid-template-columns:28px 1.6fr .8fr .7fr 1.2fr 36px;align-items:center;gap:.4rem;padding:.4rem .6rem;display:grid}.segment-table-header{color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;background:#2d36468c;font-size:.7rem;font-weight:600}.segment-table-row{color:#e2e8f0;transition:background var(--transition-fast);border-top:1px solid #2a344299}.segment-table-row:hover{background:#ffffff09}.segment-table-row.active{background:#f6a6091f;box-shadow:inset 3px 0 #f6a609}.segment-table-row.estimated{opacity:.85}.segment-index{color:#64748b;font-family:var(--font-family-mono)}.segment-chainage{font-family:var(--font-family-mono);color:#cbd5e1;font-size:.72rem}.segment-grade,.segment-fuel{align-items:center;gap:.35rem;display:inline-flex}.segment-swatch{border-radius:3px;flex:none;width:10px;height:10px;box-shadow:0 0 0 1px #0006}.segment-confidence{color:#64748b;font-size:.68rem}.segment-estimated-flag{color:#f6a609;cursor:help;margin-left:.15rem;font-weight:700}.segment-locate-col{text-align:right}.segment-locate-btn{color:#94a3b8;cursor:pointer;width:30px;height:30px;transition:all var(--transition-fast);background:#1e243399;border:1px solid #2a3442;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.segment-locate-btn:hover{color:#f6a609;border-color:#f6a60980}.segment-breakdown-hint{color:#64748b;font-size:.7rem}.advisor-panel{flex-direction:column;gap:.75rem;display:flex}.advisor-empty{color:#94a3b8;text-align:center;flex-direction:column;align-items:center;gap:.6rem;padding:1.5rem 1rem;font-size:.85rem;display:flex}.advisor-empty svg{color:#64748b}.advisor-empty-insights{color:#94a3b8;padding:.5rem .25rem;font-size:.8rem}.insight-list{flex-direction:column;gap:.5rem;display:flex}.insight-card{background:#1e243380;border:1px solid #2a3442;border-left-width:4px;border-radius:8px;padding:.6rem .75rem}.insight-card.severity-critical{border-left-color:#f87171}.insight-card.severity-warning{border-left-color:#f6a609}.insight-card.severity-advice{border-left-color:#60a5fa}.insight-card.severity-info{border-left-color:#34d399}.insight-card-header{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.insight-icon{display:inline-flex}.severity-critical .insight-icon{color:#f87171}.severity-warning .insight-icon{color:#f6a609}.severity-advice .insight-icon{color:#60a5fa}.severity-info .insight-icon{color:#34d399}.insight-severity{text-transform:uppercase;letter-spacing:.06em;color:#cbd5e1;background:#ffffff12;border-radius:4px;padding:.1rem .4rem;font-size:.62rem;font-weight:700}.insight-title{color:#f5f7fa;flex:100%;margin-top:.15rem;font-size:.82rem;font-weight:600}.insight-detail{color:#cbd5e1;margin:.35rem 0 0;font-size:.78rem;line-height:1.45}.insight-actions{gap:.4rem;margin-top:.45rem;display:flex}.insight-actions:empty{display:none}.insight-action-btn{color:#cbd5e1;cursor:pointer;min-height:30px;transition:all var(--transition-fast);background:#0f111599;border:1px solid #2a3442;border-radius:6px;align-items:center;gap:.3rem;padding:.3rem .6rem;font-size:.72rem;font-weight:600;display:inline-flex}.insight-action-btn:hover{color:#f6a609;border-color:#f6a60980}.optimizer-card{background:linear-gradient(160deg,#f6a60914,#1e243380 55%);border:1px solid #f6a60959;border-radius:10px;flex-direction:column;gap:.6rem;padding:.75rem;display:flex}.optimizer-card-header{color:#f6a609;align-items:flex-start;gap:.55rem;display:flex}.optimizer-card-header h5{color:#f5f7fa;margin:0;font-size:.85rem}.optimizer-caption{color:#94a3b8;margin:.15rem 0 0;font-size:.73rem;line-height:1.4}.optimizer-run-btn{color:#241a00;cursor:pointer;min-height:40px;transition:background var(--transition-fast);background:#f6a609;border:none;border-radius:8px;align-self:flex-start;padding:.5rem 1rem;font-size:.8rem;font-weight:700}.optimizer-run-btn:hover{background:#ffb82e}.optimizer-progress{color:#cbd5e1;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.78rem;display:flex}.optimizer-cancel-btn{color:#94a3b8;cursor:pointer;transition:all var(--transition-fast);background:0 0;border:1px solid #2a3442;border-radius:6px;align-items:center;gap:.3rem;margin-left:auto;padding:.3rem .6rem;font-size:.72rem;font-weight:600;display:inline-flex}.optimizer-cancel-btn:hover{color:#e2e8f0;border-color:#475569}.optimizer-spinner{color:#f6a609;animation:1s linear infinite optimizer-spin}@keyframes optimizer-spin{to{transform:rotate(360deg)}}.optimizer-error{color:#fca5a5;flex-direction:column;align-items:flex-start;gap:.5rem;font-size:.78rem;display:flex}.optimizer-result{flex-direction:column;gap:.55rem;display:flex}.optimizer-verdict{color:#cbd5e1;font-size:.82rem;font-weight:600}.optimizer-verdict.positive{color:#6ee7b7}.optimizer-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.4rem;display:grid}.optimizer-stat{background:#0f11158c;border:1px solid #2a3442;border-radius:6px;flex-direction:column;gap:.15rem;padding:.4rem .55rem;font-size:.75rem;display:flex}.optimizer-stat-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;font-size:.66rem}.optimizer-stat-values{color:#e2e8f0;font-family:var(--font-family-mono);align-items:baseline;gap:.35rem;display:flex}.optimizer-stat-before{color:#94a3b8}.optimizer-stat-arrow{color:#64748b}.optimizer-stat.better .optimizer-stat-after{color:#6ee7b7;font-weight:700}.optimizer-stat.worse .optimizer-stat-after{color:#fca5a5;font-weight:700}.optimizer-estimated-note{color:#fbd38d;background:#f6a6091a;border:1px solid #f6a60959;border-radius:6px;padding:.4rem .55rem;font-size:.73rem}.optimizer-actions{flex-wrap:wrap;gap:.5rem;display:flex}.optimizer-apply-btn,.optimizer-dismiss-btn{cursor:pointer;min-height:40px;transition:all var(--transition-fast);border-radius:8px;align-items:center;gap:.35rem;padding:.45rem .85rem;font-size:.78rem;font-weight:700;display:inline-flex}.optimizer-apply-btn{color:#fff;background:#1e9e62;border:none}.optimizer-apply-btn:hover{background:#16a34a}.optimizer-dismiss-btn{color:#94a3b8;background:0 0;border:1px solid #2a3442}.optimizer-dismiss-btn:hover{color:#e2e8f0;border-color:#475569}.optimizer-hint{color:#64748b;margin:0;font-size:.7rem}@media (width<=640px){.analysis-tabs{padding:.3rem .4rem 0;overflow-x:auto}.analysis-tab{padding:.45rem .6rem;font-size:.74rem}.segment-table-header,.segment-table-row{grid-template-columns:22px 1.5fr .8fr .7fr 1fr 32px;padding:.35rem .4rem}.stat-tiles{grid-template-columns:repeat(2,1fr)}}@media (prefers-reduced-motion:reduce){.optimizer-spinner{animation:none}}.export-menu-wrap{flex:auto;display:flex;position:relative}.export-menu-wrap .plan-export-btn{flex:auto;justify-content:center;align-items:center;gap:.3rem;display:inline-flex}.export-menu{min-width:230px;z-index:var(--z-dropdown);background:#0f1115fa;border:1px solid #2a3442;border-radius:10px;flex-direction:column;padding:.3rem;display:flex;position:absolute;bottom:calc(100% + 6px);left:0;box-shadow:0 12px 30px #00000080}.export-menu-item{color:#e2e8f0;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:baseline;gap:.75rem;width:100%;min-height:38px;padding:.5rem .6rem;font-size:.8rem;display:flex}.export-menu-item:hover{background:#ffffff12}.export-menu-label{font-weight:600}.export-menu-hint{color:#64748b;font-size:.68rem}.export-menu-note{color:#64748b;border-top:1px solid #2a3442b3;margin-top:.2rem;padding:.35rem .6rem .25rem;font-size:.66rem}.overlay-clear-btn{border-color:#d8232a80}.overlay-clear-btn:hover{background:#d8232a1f;border-color:#d8232ae6}.import-error{color:#fca5a5;background:#d8232a1a;border:1px solid #d8232a80;border-radius:6px;flex:100%;justify-content:space-between;align-items:center;gap:.5rem;padding:.45rem .6rem;font-size:.75rem;display:flex}.import-error button{color:inherit;cursor:pointer;background:0 0;border:none;min-width:28px;min-height:28px;font-size:1rem}.import-dialog{background:#f6a6090f;border:1px solid #f6a60966;border-radius:8px;flex-direction:column;flex:100%;gap:.5rem;padding:.6rem .7rem;display:flex}.import-dialog-title{color:#f5f7fa;flex-wrap:wrap;justify-content:space-between;gap:.5rem;font-size:.8rem;display:flex}.import-dialog-counts{color:#94a3b8;font-size:.74rem}.import-dialog select{border-radius:6px;width:100%;min-height:38px}.import-dialog-actions{flex-wrap:wrap;gap:.4rem;display:flex}.import-plan-btn,.import-overlay-btn,.import-cancel-btn{cursor:pointer;min-height:38px;transition:all var(--transition-fast);border-radius:7px;padding:.4rem .7rem;font-size:.76rem;font-weight:700}.import-plan-btn{color:#241a00;background:#f6a609;border:none}.import-plan-btn:hover{background:#ffb82e}.import-overlay-btn{color:#e2e8f0;background:#0f111599;border:1px solid #2a3442}.import-overlay-btn:hover{border-color:#475569}.import-cancel-btn{color:#94a3b8;background:0 0;border:1px solid #0000}.import-cancel-btn:hover{color:#e2e8f0}.import-dialog-hint{color:#64748b;font-size:.68rem}.heatmap-legend{color:#94a3b8;align-items:center;gap:.5rem;padding:.35rem .1rem;font-size:.7rem;display:flex}.heatmap-legend-title{color:#cbd5e1;white-space:nowrap;font-weight:600}.heatmap-legend-gradient{background:linear-gradient(90deg,#1e9e62,#f6a609,#d8232a);border-radius:4px;flex:auto;min-width:60px;height:8px}.heatmap-legend-labels{white-space:nowrap;flex:none;justify-content:space-between;gap:.5rem;display:flex}.ai-assistant-card{background:linear-gradient(160deg,#2563eb14,#1e243380 55%);border:1px solid #2563eb59;border-radius:10px;flex-direction:column;gap:.6rem;padding:.75rem;display:flex}.ai-assistant-header{color:#60a5fa;align-items:flex-start;gap:.55rem;display:flex}.ai-assistant-header h5{color:#f5f7fa;margin:0;font-size:.85rem}.ai-assistant-caption{color:#94a3b8;margin:.15rem 0 0;font-size:.73rem;line-height:1.4}.ai-briefing-btn{color:#fff;cursor:pointer;min-height:40px;transition:background var(--transition-fast);background:#2563eb;border:none;border-radius:8px;align-self:flex-start;align-items:center;gap:.35rem;padding:.5rem 1rem;font-size:.8rem;font-weight:700;display:inline-flex}.ai-briefing-btn:hover{background:#1e40af}.ai-loading{color:#cbd5e1;align-items:center;gap:.5rem;font-size:.78rem;display:flex}.ai-spinner{color:#60a5fa;animation:1s linear infinite optimizer-spin}.ai-briefing-result{flex-direction:column;gap:.4rem;display:flex}.ai-briefing-text{color:#e2e8f0;white-space:pre-line;margin:0;font-size:.82rem;line-height:1.55}.ai-source-badge{text-transform:uppercase;letter-spacing:.05em;color:#cbd5e1;background:#ffffff12;border-radius:999px;align-self:flex-start;padding:.15rem .5rem;font-size:.62rem;font-weight:700}.ai-source-ai{color:#93c5fd;background:#2563eb2e}.ai-source-template{color:#cbd5e1;background:#94a3b826}.ai-source-unavailable{color:#94a3b8;background:#94a3b81a}.ai-citations{flex-wrap:wrap;gap:.3rem;display:flex}.ai-citation-chip{color:#93c5fd;cursor:help;background:#60a5fa14;border:1px solid #60a5fa4d;border-radius:6px;padding:.15rem .45rem;font-size:.66rem}.ai-briefing-regenerate{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #2a3442;border-radius:6px;align-self:flex-start;min-height:30px;padding:.3rem .6rem;font-size:.72rem}.ai-briefing-regenerate:hover{color:#e2e8f0;border-color:#475569}.ai-chat{border-top:1px solid #2a344299;flex-direction:column;gap:.55rem;padding-top:.55rem;display:flex}.ai-chat-turn{flex-direction:column;gap:.3rem;display:flex}.ai-chat-question{color:#e2e8f0;background:#2563eb26;border-radius:10px 10px 2px;align-self:flex-end;max-width:85%;padding:.4rem .65rem;font-size:.78rem}.ai-chat-answer{background:#0f111580;border:1px solid #2a3442;border-radius:10px 10px 10px 2px;flex-direction:column;gap:.3rem;max-width:92%;padding:.45rem .65rem;display:flex}.ai-chat-answer p{color:#e2e8f0;margin:0;font-size:.79rem;line-height:1.5}.ai-chat-input-row{gap:.4rem;display:flex}.ai-chat-input{color:#f5f7fa;background:#0f111599;border:1px solid #2a3442;border-radius:8px;flex:auto;min-height:40px;padding:.4rem .65rem;font-size:.8rem}.ai-chat-input:focus{border-color:#2563eb;outline:none}.ai-chat-send{color:#fff;cursor:pointer;width:40px;height:40px;transition:background var(--transition-fast);background:#2563eb;border:none;border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.ai-chat-send:hover:not(:disabled){background:#1e40af}.ai-chat-send:disabled{opacity:.5;cursor:not-allowed}.ai-chat-error{color:#fca5a5;font-size:.75rem}
